Aeion Smart Spaces + BACnet / Modbus
BACnet/IP is wired end-to-end today — a real `node-bacnet` UDP adapter that issues read-property and write-property requests with standard priority-array semantics, plus who-is device discovery, opened straight from the server socket. Modbus is a different story: register-map scaffolding is in place, but there is no wired Modbus control transport yet — a Modbus command returns an honest not-transmitted result today, so treat it as the roadmap leg. Both protocols are LAN-scoped, so reaching devices on a real private building network from cloud Aeion runs through Aeion Bridge. Every command returns an honest `transmittedToDevice` flag — the platform never fakes a device acknowledgement.
What Connects — Live vs. Roadmap
`
BACnet/IP — What's Actually Implemented
The BACnet adapter maps Aeion's three command kinds onto standard BACnet object types:
Bridge Hardware Dependence
BACnet/IP and Modbus are both LAN-scoped protocols — BACnet/IP rides UDP broadcasts on port 47808, and Modbus TCP lives on a plant-floor network. Neither is reachable from the public internet by design. Cloud-hosted Aeion therefore reaches these devices through Aeion Bridge, a gateway you run on the building's own network:
Command Envelope & Honesty Signal
```typescript
What It Does NOT Do
Being precise so you can plan around the gaps rather than discover them:
FAQ
Live. There's a real `node-bacnet` UDP socket service and a registered BACnet control adapter doing read-property / write-property with priority-array semantics and who-is discovery. It is one of exactly three control adapters the module registers at boot (the others are HTTP/REST and MQTT).
Not yet. There is no registered Modbus adapter in the module, so that path returns `transport_not_configured`. The on-prem Aeion Bridge gateway ships a real Modbus transport, but the Smart Spaces → Bridge dispatch for Modbus isn't wired end-to-end, so a Modbus command is recorded honestly as not-transmitted today. Treat Modbus as roadmap. BACnet/IP, meanwhile, is live.
For any real building, yes. BACnet/IP is a LAN-broadcast protocol on UDP 47808 — it isn't internet-routable. Bridge sits on the building network and relays commands. A directly network-reachable device in a lab can be driven by the in-module adapter without Bridge.
You get `transmittedToDevice: false` with a specific reason (`connection_refused`, `timeout`, `auth_failed`, ...). The platform never reports a success it didn't get, and the audit trail records the attempt regardless.
Yes — over BACnet/IP those platforms retain their low-level control loops while Aeion adds the optimization and cross-building analytics layer. Vendor interop happens over whichever standard protocol the hardware speaks; there is no vendor-specific adapter to install.
BACnet control that's real, and honest about the rest.
Live BACnet/IP read/write with priority-array semantics, a candid transmittedToDevice signal on every command, and Aeion Bridge to reach the hardware on your building's own network.