MQTT-SN heat-meter integration
Production collection and integration of NB-IoT heat-meter data over MQTT-SN into the Zonos metering head-end system.
The problem
Öresundskraft needed to collect heat-meter data from NB-IoT meters speaking MQTT-SN and deliver the readings into Zonos.
What Henrik owned
Henrik updated the internal MQTT-SN gateway product, built the downstream meter-data integration into Zonos, set up the runtime environment and got the system running end to end.
Work delivered
- Updated the MQTT-SN gateway for load balancing and retained state
- Removed deprecated asynchronous Python dependencies
- Used Valkey as topic and device store
- Removed the need for a separate MQTT broker by aggregating MQTT-SN traffic over AMQP
- Built parsers for SenML/CBOR and M-Bus encoded meter payloads
- Built a meter-data consumer that extracts values and writes to Zonos over REST API
- Added a caching layer for faster integration and discrete alarm-status events
- Delivered the system as containers
- Set up the runtime environment and helped resolve network-related issues during rollout
Technical approach
The gateway handles MQTT-SN collection and aggregation over AMQP, while a separate integration service parses SenML/CBOR and M-Bus encoded meter data, extracts values, caches integration state and writes to the Zonos REST API.
Where it stands
Runs in production with almost 15,000 heat meters.