Repository navigation
Home
BHAM (BACS Help Auto Mapper) is an asynchronous network discovery and telemetry daemon built specifically for system integrators and Building & Industrial Automation professionals. The project was created to provide a zero-friction tool that can be used directly on-site, capable of instantly mapping networks without requiring complex configurations.
This software is distributed freely as open-source with the goal of drastically reducing diagnostic times on serial buses and IP networks. Powered by a Python engine and utilizing targeted brute-force scanning techniques with a custom "Early Exit" algorithm, BHAM identifies Modbus, BACnet, and KNX nodes in fractions of a second. It autonomously deduces critical parameters like the baud rate, effectively minimizing unnecessary network traffic.
To facilitate learning and encourage code contributions, the technical material is divided into thematic sections accessible from the sidebar menu:
Installation & Startup: Instructions on how to get the standalone executables via WinGet on Windows or through the quick install script on Linux, including commands to start the daemon and access the web UI.
User Manual: A comprehensive guide to using the diagnostic interface. This covers passive ARP sniffing settings, serial timeout management, and the logic behind physical register translation using JSON dictionaries.
Architecture & Development: The structural map for those looking to explore the source code or contribute to the project. This section analyzes the FastAPI backend, the WebSockets communication system, and the integration of low-level libraries for industrial protocols.
Devlog: A track record of engineering decisions, performance optimizations, and the future roadmap of the software.