MQTT integration (optional) — Open-FDD + diy-bacnet-server
Open-FDD does not require MQTT for core FDD, BACnet scraping, or the web UI. MQTT is optional and aimed at future edge/automation patterns and generic brokers (typically Mosquitto), not a specific cloud vendor.
What the stack can do today
-
Mosquitto (compose profile)
Run./scripts/bootstrap.sh --with-mqtt-bridgeto start a broker onlocalhost:1883(see Getting started and Quick reference). -
BACnet2MQTT (diy-bacnet-server)
WhenBACNET2MQTT_ENABLED=trueandMQTT_BROKER_URLpoint at that broker, diy-bacnet-server publishes per-point state underMQTT_BASE_TOPIC(defaultbacnet2mqtt) and can publish Home Assistant discovery underHA_DISCOVERY_TOPIC. This is documented in the diy-bacnet-server repo (README andHOME_ASSISTANT_MQTT_CHEATSHEET.md). -
MQTT RPC gateway (experimental, diy-bacnet-server)
WhenMQTT_RPC_GATEWAY_ENABLED=true, the same gateway process can subscribe to{MQTT_RPC_TOPIC_PREFIX}/cmdand publish structured acks on.../ack, using the same method names as HTTP JSON-RPC (server_hello,client_whois_range,client_read_property, etc.). Optional telemetry topics advertise supported methods and periodic metadata.
Configure viastack/.env(variables are passed throughstack/docker-compose.ymlto the bacnet-server service). See the upstream MQTT RPC gateway section for topic layout and security notes (TLS, ACLs).
Open-FDD product scope
- Core data path remains HTTP JSON-RPC from the BACnet scraper and API to diy-bacnet-server.
- MQTT features are additive: monitoring via BACnet2MQTT, command/ack experimentation via the RPC gateway, without replacing the database-backed scraper or auth model (
OFDD_BACNET_SERVER_API_KEY→BACNET_RPC_API_KEYon the gateway).
Related docs
- Getting started —
--with-mqtt-bridge - Quick reference — broker port and status checks
- BACnet overview — gateway and scraper roles