Open Source · Java · IoT

Kamstrup Integration

A Java library that decrypts and decodes the proprietary data transmitted by Kamstrup MULTICAL 21 ultrasonic water meters over the Sigfox low-power IoT network — turning raw encrypted payloads into usable water consumption readings.

Main.java
String key     = "YOUR_METER_KEY";
String meterRx = "YOUR_SIGFOX_PAYLOAD";

Kamstrup kamstrup = new Kamstrup(key, meterRx);

// Parsed meter readings
System.out.println(kamstrup.packageContent);
// { "volume": 13.433, "maxFlow": 0.427, "infoCode": "3468" }

// Diagnostic alerts
System.out.println(kamstrup.infoCodes);
// { "leakDuration": "169 - 336 Hrs", "dryDuration": "337 - 504 Hrs" }

The problem

Kamstrup meters transmit small encrypted binary payloads over Sigfox — a low-power wide-area network designed for IoT devices. The payload format is proprietary, documented only in Kamstrup's technical datasheets.

Without a library to handle decryption and parsing, developers integrating these meters into water management platforms had to implement this from the raw datasheet themselves — a time-consuming and error-prone process.

Context

This was built during my time at EED Advisory, where we were deploying smart water meters across Africa as part of energy and water monitoring initiatives. Real deployments, real data, real consequences if the numbers were wrong.

The library was later open-sourced so other teams working with Kamstrup hardware wouldn't have to solve the same problem again.

What it does

Encrypted data decoding

Parses and decrypts the proprietary binary data format transmitted by Kamstrup MULTICAL 21 meters over the Sigfox network.

Volume & flow readings

Extracts real water consumption data — current volume, minimum and maximum flow rates — from raw meter payloads.

Info code parsing

Decodes the meter's diagnostic info codes to surface leak detection, burst alerts, reverse flow events, and dry pipe conditions.

Logging configuration

Reads the meter's logging frequency and unit structure so your application knows how to interpret the data correctly.

MyKamstrup compatible

Works with meter keys and data files exported directly from the Kamstrup customer portal — no proprietary tools required.

Java library

Packaged as a Java library installable with Maven. Drop it into any JVM project that needs to process Kamstrup meter data.

Built with

JavaSigfox networkBinary decryptionMavenIoT / LPWAN