| Name | Modified | Size | Downloads / Week |
|---|---|---|---|
| Parent folder | |||
| HVACNetworkScanner.exe | 2026-11-04 | 13.1 MB | |
| README.md | 2026-11-04 | 2.2 kB | |
| v2.9.0 source code.tar.gz | 2026-11-04 | 405.7 kB | |
| v2.9.0 source code.zip | 2026-11-04 | 442.5 kB | |
| Totals: 4 Items | 14.0 MB | 0 | |
Who gets the building's alarms, and what the routers know about the rest of the network — plus a decoding fix those turned up. Both new reads are metadata only. Full details in CHANGELOG.md (github.com).
Download
HVACNetworkScanner.exe — the GUI as one file, no Python needed. Built by GitHub Actions from the v2.9.0 tag (build log).
SHA-256 B677122346FE2D4C707F8D54A4EFB20E19B9BBBC7E7DEFA12412661928D2ED14
Check it before running:
:::powershell
Get-FileHash .\HVACNetworkScanner.exe -Algorithm SHA256
The executable is not code-signed, so Windows SmartScreen will say "Windows protected your PC" — use More info → Run anyway once the hash matches. If Windows Firewall asks, allow it on the networks you scan: BACnet replies to a broadcast are dropped otherwise.
New
- Alarm routing. Every Notification Class a controller holds: who receives its alarms (a device, or a network address), on which days and hours, for which transitions, confirmed or not, at what priority, and which need acknowledging. In the device details, the renamed Trends, Schedules & Alarms tab, and a new Alarm routing section of the survey report.
- Finding: notification classes with no recipients — alarms routed through them reach no one.
- Finding: alarm recipients the scan did not find — often a workstation that no longer exists, so those alarms go nowhere (or one outside the scanned addresses).
- Router tables. The networks each router reaches through other routers, shown with its network port. For a router on another subnet, those networks are asked with a routed Who-Is too, so MS/TP behind a chain of routers is found.
Fixes
- A six- or seven-byte value inside a structured property was read as the start or end of a nested section. A BACnet/IP address is six bytes, so routing-table entries lost their next hop.
- An empty list (a notification class with no recipients) was dropped as if the device had not answered.
Only scan networks you own or are authorized to assess.