app-nrf9160-wmbus
This page describes the Lobaro wireless M-Bus gateway firmware, called app-nrf9160-wmbus
, which is executable on
different hardware variants which are in turn used to build different products. Nevertheless, this common description is
valid for all products independently which hardware it actually runs on.
Firmware Introduction
The Lobaro wireless M-Bus gateways collect consumption values from up to 650(*) commercially available water meters, heat meters, heat cost allocators or similar with 868 MHz wireless M-Bus radio interface, Sensus RF Bubble Up or Müller Funk and forward them encrypted via NB-IoT or LTE-M cellular radio or alternatively LoRaWAN networks for further processing on the Internet.
Additionally, the gateway hardware may be equipped with a sensor addon board which can provide additional sensor measurement values beside the collected metering data. If an addon is present depends on the actual product running this firmware.
Forwarded meter values are transmitted, optionally additionally encrypted via DTLS, to a shared or private instance of the Lobaro IoT platform and can be viewed there or downloaded as a CSV file. Alternatively, standardised APIs such as MQTT, HTTP Push, SFTP or a REST interface are available to connect downstream systems or platforms easily and securely. When using LoRaWAN, the Lobaro Platform is optional. When using NB-IoT or LTE-M, on the other hand, it is mandatory. This requirement is explained in the Lobaro IoT Platform FAQ.
Thanks to the new NB-IoT mobile radio, optimised for sensor data, remote reading even works in places such as basements where smartphones have poor or no reception.
(*) based on average telegram size 75 Bytes. On request, the capacity for meter telegrams can be increased to up to 2,500 by means of an additional built-in memory.
Compatible Metering Protocols
Wireless M-BUS S1, C1 or T1
- Unidirectional 868 MHz modes following DIN EN 13757-4.
- Open metering specification (OMS, Annex O): PHY_A - 868 MHz (uplink only)
- Qundis AMR
Sensus RF Bubble UP
- Manufacturer specific radio protocol for 868 MHz (Xylem Inc.).
- Unidirectional bubble up mode is supported.
- ⚠️ Decoding of Sensus RF telegrams needs the Lobaro telegram parser and unfortunately can't be disclosed.
Sensus RF Brochure |
ME-Funk
- A.k.a. "Müller Funk" - Manufacturer specific radio protocol for 868 MHz (Müller-electronic GmbH).
- ⚠️ Decoding of ME-Funk telegrams needs the Lobaro telegram parser and unfortunately can't be disclosed.
433 MHz variants are available on products equipped with the additional 433 MHz hardware addon for the following specifications:
- Wireless M-Bus, Open metering specification (OMS, Annex O): PHY_B - 433 MHz (uplink only)
- Sensus RF Bubble UP 433 MHz - Manufacturer specific (Xylem Inc.) radio protocol
Working Principle
The firmware remains in power-saving mode while not active most of the time. It leaves the low power sleep mode in the following situations:
CRON based Scans
The firmware is configured by its listenCron
configuration parameter to wake up at regular intervals to collect / scan
for
metering
telegrams over its 868 MHz wireless interface. The following sequence of operations is executed on each cron triggering:
- Wait in deep sleep low power mode for
listenCron
to trigger - Collect metering data in all enabled wireless modes sequentially
- Collect C1-Mode and T1-Mode telegrams (wMBUS) in parallel for
cmodeDurSec
seconds (if not 0) - Collect S1-Mode telegrams (wMBUS) for
smodeDurSec
seconds (if not 0) - Collect X-Mode telegrams (Sensus RF) for
xmodeDurSec
seconds (if not 0) - Collect U-Mode telegrams (Müller Funk) for
umodeDurSec
seconds (if not 0)
- Collect C1-Mode and T1-Mode telegrams (wMBUS) in parallel for
- Optional: Perform sensor measurement using the optional hardware addon (only if any sensor addon installed)
- Upload all stored data via NB-IoT / LTE-CatM1 or LoRaWAN (depends on
WAN
configuration)- Upload all collected metering telegrams, status and sensor data
- When the upload fails the upload is retried every 24h after daily status or until the next
listenCron
triggers.
- Sleep till next
listenCron
triggers or status message upload.
This sequence also will be executed one after any device startup oder manual reset.
All meter telegrams are received "as is", e.g. encrypted or plain over the air. Only the always readable telegram header information is parsed for internal filtering and deduplication. Parsing and decryption of such raw metering data happens in the backend, e.g. in the Lobaro head end system or any other connected system. Lobaro offers a standalone REST API (www.mbus.org) for raw (wireless) M-BUS telegrams parsing which can be licensed.
Daily Status Message
Once a day the firmware sends a status message. This allows for reaching the device, e.g. for changing the configuration, at least once a day independent of the configured regular scan interval (see above). This status message contains information on many vital parameters of the gateway.
- Upload status telegram normally at midnight 0:00h (UTC+0)
- Solar-powered hardware variants: noon 12:00h (UTC+0)
- Upload remaining telegrams in memory, if any failures happened during previous attempts.
- Sleep till next
listenCron
or next days status telegram.