DLMS/COSEM gas meter ingestion upgrade
Upgraded the gas meter ingestion platform to support older and newer DLMS/COSEM variants, encrypted payloads and multiple gas meter families.
The problem
The existing DLMS/COSEM UNI/TS 11291 server needed to handle both older and newer standard versions across Fiorentini NB IoT diaphragm gas meters and newer Honeywell NB IoT diaphragm gas meters.
What Henrik owned
Henrik implemented the protocol and payload handling, upgraded secure key management in the platform and added caching for efficient encrypted meter data processing.
Work delivered
- Implemented protocol handling for older and newer DLMS/COSEM and UNI/TS 11291 variants
- Added support for different gas meter payload layouts
- Integrated Fiorentini and Honeywell NB IoT diaphragm gas meters
- Implemented a lightweight KMS in the main platform for encryption-key storage
- Added a Valkey cache for encryption keys to avoid repeated API and KMS lookups during value processing
- Used RabbitMQ and PostgreSQL in the ingestion flow
Technical approach
The upgraded ingestion flow combines protocol-specific parsing, symmetric decryption, key lookup through the platform KMS and Valkey-backed key caching before meter values are normalised for downstream processing.
Where it stands
The platform handles encrypted gas meter readings across older and newer DLMS/COSEM-based devices.