Wireless M-Bus Gateway V2 (NB-IoT)

LOB-GW-WMBUS-NB2

The Lobaro Wireless M-Bus NB-IoT Gateway.

Overview

The Lobaro Wireless M-Bus Gateway (wMBus) is a simple to use, cost and energy efficient device that can receive, cache, and forward meter information from 250 Wireless M-Bus devices, like water meters, electricity meters, heat meters, etc. Wireless M-Bus activated meters use FSK radio modulation to broadcast their information for up to about 50m. The Lobaro Wireless M-Bus Gateway collects this information and uploads it using mobile technology (NB-IoT or LTE-M), that was designed for use with IoT devices. The meter information is sent to the Lobaro Platform, were it is parsed and displayed for each individual meter. Because most Wireless M-Bus telegrams are encrypted, the Platform allows adding decryption keys for individual meters, so that the data is decrypted in the Platform. It is also possible to use the Lobaro Wireless M-Bus Gateway without the Platform and connect it to your own backend, if it is capable of parsing and decrypting wMBus telegrams.

Quick start guide

  • Make sure SIM card and battery are correctly connected.
  • Go to The Lobaro Platform and log into your account.
  • Go to "Devices" and select your "Lobaro NB-IoT wMBus Gateway".
  • If you have several Gateways: the "Address" is printed on the device's case.
  • You should see all wMBus Telegrams the Gateway collected so far.
  • If the data is encrypted (closed lock symbol šŸ”’), you can add keys for your devices under "Organisation".
  • Push the reset button inside the device, if you want to trigger data collection (will take several minutes).

State of this document

This manual is currently a stub. It gives a short description of how to start the device and how to access collected data in the Lobaro Platform. A more thorough manual will be supplied soon.

Setting up the device

  1. RESET Button
  2. SIM Card Holder (Nano SIM, 4FF)
  3. Connector for Lobaro USB-Config Adapter (Config, Logs, Firmware Updates)
  4. 2-Pin JST XH Stecker (3.3 - 5V, e.g. for 3.6V Battery)

SIM card

A SIM card is needed by the Gateway to connect to the mobile network. The drawing on the PCB displays the correct orientation of the SIM. The contacts must face down.

We can recommend 1nce.com for NB-IoT Connectivity. The device supports all Providers on Band 8 and Band 20. 

Power supply

The Gateway is powered by a 3.6V D-Cell battery, that is connected via a XH connector (a white 2 pin socket on the board, labeled "VBat 3V6"). If the battery is initially not connected to the board, you will need to plug in the XH connector. When the device powers up, the on-board LED will blink green once.

Resetting the device

Inside the device on the board is a button labeled "RESET". If you push this button while the device is running, it will stop and reboot. You should see a green flash of the LED when the device starts again. Disconnecting the battery from the device will not be enough to reboot the device! The Gateway buffers enough energy to run for several minutes without a power supply connected (the actutal time is depending on what the Gateway does during that time).

Configuring the device

If you purchased your Lobaro wMBus Gateway with a SIM card included and you are using the Lobaro Platform, you will not need to change any configuration for the device to work. Instructions on how to change the device's configuration using the Lobaro Config Adapter can be found on the Device Configuration on the manual page for our Configuration Tool.

Mobile operator and LTE band configuration

If you are using a different mobile operator than pre-configured, you should change the mobile operator code set in the Config Parameters Operator and (LTE) Band Operator codes are 5 digit codes that indicate country and operator.

Common examples :

NetworkCountryOperatorBand
Deutsche TelekomGermany262018
1nce.comGermany262018
Vodafone DeutschlandGermany2620220
T-Mobile Austria GmbH (Magenta)Austria232038
TDC A/SDenmark2380120 (?)
Telenor DenmarkDenmark2380220 (?)
Telia DKDenmark2382020 (?)
Tele2Sweden2400720 (?)


Other provider codes you can find in a list of mobile operator codes on Wikipedia. Additional information on operators and bands can be found here.

Supported NB-IoT Bands

BandUplink (TX)Downlink (RX)BandwidthDuplex-Mode

B8

880 - 915 MHz

925 - 960 MHz

25 MHz

HD-FDD

B20

832 - 862 MHz

791 - 821 MHz

30 MHz

HD-FDD

The NB-IoT Bands selected for Europe are B3 (1800 MHz), B8 (900 MHz) and B20 (800 MHz). B8 and B20 are supported by the Lobaro Gateway, B3 is available on special sales request.

Configuration

NB-IoT Parameters

namedescriptionvalues
HostHostname / IP of the Lobaro Platform APIDefault: 94.130.20.37 (= backend.lobaro.com) (warning) DNS is not supported yet
PortPort number of the Lobaro Platform APIDefault: 5683
OperatorMobile Operator Code26201 (=Deutsche Telekom), see above.
BandNB-IoT BandDefault: 8, 0 = Auto detect (longer connecting time)
APNMobile operator APNiot.1nce.net
UseNbiotTry to connect with NB-IoTDefault: true
UseLtemTry to fallback to LTE-M when supported by the ModemDefault: false - not supported with all Hardware revisions

wMBUS Parameters

namedescriptionvalues
listenCronCron expressionā€  defining when to rx wMBUS0 0/15 * * * *(every 15 minutes)
cmodeDurSecDuration (Seconds) of C1/T1-mode receive0= Do not collect C1/T1 mode
smodeDurSecDuration (Seconds) of S1-mode receive0= Do not collect S1 mode
mFilterwMBus manufacturer filter sep. by , e.g. dme,itwblank= no filter
typFilterwMBus device type filter e.g. 08,07 for Heat Cost and Waterblank= no filter
devFilterwMBus id filter e.g. 88009035,06198833 (8 digits)blank= no filter

ā€  See also our Introduction to Cron expressions.

The Lobaro Platform

The easiest way to work with the Lobaro wMBus NB-IoT Gateway is the Lobaro Platform. You can find it under https://platform.lobaro.com ā€“ Log in with the credentials provided by Lobaro.

Your Gateways should be listed under "Devices". If you have multiple devices in your account, you can distinguish them by the field "Address". The Address is printed on the box of the Gateway (the Address is the IMEI of the modem used by the device; that is the unique hardware address used for mobile communication).

Displaying wMBus data

Open the tab "Device Data" to see a list of all Wireless M-Bus telegrams that your Gateway uploaded.

Changing configuration

You can see and edit the configuration of the Gateway without physical access to the device from the Lobaro Platform. Open the tab "Config" for your device. The current configuration will be shown. You can edit individual config entries by clicking on the pencil. After you entered all the values you want to change, click the "Update config" button. The new configuration will be sent to the device the next time it uploads data to the platform. After changing the configuration, it will reboot and start working with the new config.


The remaining configuration parameters (Host, Port, APN, Band, ...) are used to configure the way the device connects to the mobile provider and to the Lobaro Platform. There is no need to change these values when using the Gateway with the Lobaro Platform.

wMBus encryption Keys

Many meters are sending encrypted data. In order to get the values out of that encrypted telegrams, you will need to provide the decryption key to the Platform. Go to "Organisation" / "wMBus" to add encryption keys. You will need to set a key for a specific meter (identified by its ID).

Once a key is entered for a device, any telegram received after that will be decrypted and listed in clear text under "Device Data".

Forwarding data to your own system

If you want the received data inside your own system, you can add an Integration inside the Lobaro Platform that forwards all data to your system. We currently supply a REST API that allows you to query data from our platform actively, as well as a HTTP(S) integration, that pushes incoming data to your system when it is received.

Configuration with the Config Adapter

Instead of using the Lobaro Platform, you can use the Lobaro Config Adapter and the Config Tool to change the Configuration directly in your hardware. This can be useful when you want to change configuration while the mobile connection does not work (or if you do not want to use the Lobaro Platform). See Lobaro USB configuration adapter for more information.

Using Raw UDP

In default configuration, the Gateway communicates using CoAP with messages that are designed to work with our Lobaro Platform as a backend. If you want to connect the Gateway directly to your own backend, it can be hard to implement an endpoint.

CBOR messages over UDP

Starting with Firmware version 0.5.0, the Gateway supports a second format, where wMBus telegrams are uploaded without CoAP over UDP. When the configuration Parameters UdpHost and UdpPort are set to a destination (IP address and port number), wMBus telegrams will be sent to that destination instead of the Lobaro Platform. It will be sent as a CBOR object using raw UDP packets without CoAP. CBOR can easily be parsed in most programming languages using existing libraries. It is similar to JSON but uses a binary representation.

Limitations of UDP

Because UDP has no validation mechanism, there will be no retransmission in case of packet loss. You will be able to spot missing packets by gaps in the frame number. When implementing this, please keep in mind, that UDP packets are not guaranteed to arrive in the order they are sent.

Controlling the device

When UdpHost and UdpPort are set while Host and Port are referring to the Lobaro Platform, the Gateway will upload the wMBus telegrams to the UDP destination but will also sent diagnostic messages to the Platform. In this configuration you can still use the features of the Lobaro Platform to control the device for configuration changes or firmware updates, while receiving your wMBus data directly to your own backend.

Format

Schema

The CBOR object contains the following information

{
    "d": {
      "rssi": <int: RSSI>,
      "vbat": <int: Supply voltage in mV>,
      "monitor": <string: human readable diagnostic information>,
      "telegram": <bytes: wmbus telegram>,
      "timestamp": <int: unix timestamp, time of reception>,
      "temperature": <int: device temperature in 1/10Ā°C>
    },
    "i": <string: device's IMEI>,
    "n": <int: frame number>
}


NameExplanation
rssiReceived signal strength indication indicating the quality of the received signal.
vbatSupply voltage to the Gateway, measured in millivolts (mV).
monitorHuman readable diagnostic string. The format of this information subject to change and should not be relied on.
telegramBytes of the received wMBus telegram as a byte string.
timestampTime of reception of the telegram in the gateway, given as a Unix Timestamp.
temperatureTemperature inside the Gateway, measured in tenth of Degree Centigrade (dĀ°C).
iIMEI of the Gateway's Modem, uniquely identifying the Device.
nFrame number. Starts at 1 for the first UDP-upload after boot and is increased for every upload.


Example

The following shows an example message if you display it as JSON. In the CBOR object, the telegram is stored as a byte string. Because JSON does not support binary data, in this example it is encoded using base64.

{
    "d": {
      "rssi": -99,
      "vbat": 3688,
      "monitor": "connected:1, conMode:1, reg:5, tac:D71E, ci:019C1307, psm:11100000, tau:00001100, RSRP:56(2/4), RSRQ:24(3/4), SNR:37(3/4), conTime:3, conFails:0",
      "telegram": "SUSTRHkFAYg0CHgN/181AIJnADXIv1WtPFse1mYcZZQLiPR/aujF9e46meEB6CIkxJmHUEd6xPdAmop3uqIt4yWMgbwEbToKiCc=",
      "timestamp": 1594201536,
      "temperature": 240
    },
    "i": "123456101550542",
    "n": 7
}


Explanation:

UDP-Uplink #7 from Gateway with IMEI 123456101550542
Status of Gateway during upload:
  internal Temperature: 24.0Ā°C
  supply Voltage: 3.688V
  Mobile provider, Cell-ID: 019C1307
Received wMBus Telegram:
  time of recept: 2020-07-08T09:45:36 (UTC)
  telegram (as hex): 49449344790501883408780dff5f350082670035c8bf55ad3c5b1ed6661c65940b88f47f6ae8c5f5ee3a99e101e82224c4998750477ac4f7409a8a77baa22de3258c81bc046d3a0a8827
  rssi: -99

CE Declaration of Conformity

Troubleshooting

I did not get a username/password for the Lobaro Platform.

Please contact contact Lobaro to get your account information.

I do not see my Gateway listed unter "Devices".

It is possible that the purchased device has not been added to your account. Please check if you got an Activation Code with your hardware. If so, you can enter it under "Tools" / "Hardware Activation" in order to claim the device for your account.

I cannot find data for my specific meter.

Make sure your Gateway collected data since you brought it close to the meter (check timestamps on data). With standard configuration, it only collects data every 8 hours. You can press the "RESET" Button inside the device to make it reboot and start collecting data.

Also check the specifications of your wMBus meter. How often does it send data? What mode does it use? Using standard configuration, the wMBus Gateway only collects C-Mode and T-Mode telegrams. If your meter is sending S-Mode, you will need to change the Gateway's configuration.

Data for my meter only shows "Payload encrypted".

Most meters encrypt the data they are sending out (information about water/energy usage is personal data). In order to see values from encrypted wMBus telegrams, your will need to supply the decryption key for your meter (you should be able to get the key where you got the meter). You can add the key in the Lobaro Platform under "Organisation" / "wMBus". You will have to add a key for a specific meter (identified by the meter's ID).

After you supplied the key, new telegrams that are received should be decrypted so that you can see the values inside the telegram.

How can I check the NB-IoT Signal quality?

Signal quality comes from the Modem Monitor string: "RSRP:13(0/4), RSRQ:5(0/4), SNR:19(1/4)"

The monitor string is send together with some uplink messages, the raw values (as integer) are also send inside the status message.

Example Status Uplink
{
    "d": {
      "ci": "00B00A00",
      "psm": "00000000",
      "snr": 25, // <<<<<<<<<<
      "tac": "000",
      "tau": "00000000",
      "rsrp": 32,  // <<<<<<<<<<
      "rsrq": 17,  // <<<<<<<<<<
      "vbat": 3590,
      "temperature": 200
    },
    "i": "111111111111111",
    "n": 3,
    "q": "status"
  }
  • RSRP = Signal Power
  • RSRQ = Signap Quality
  • SNR = Signal to Noise Ratio

Do decode the values please reffer to the nRF9160 Knowledge Base


<rsrp>

  • 0 ā€“ RSRP < āˆ’140 dBm
  • 1 ā€“ When āˆ’140 dBm ā‰¤ RSRP < āˆ’139 dBm
  • 2 ā€“ When āˆ’139 dBm ā‰¤ RSRP < āˆ’138 dBm
  • ...
  • 95 ā€“ When āˆ’46 dBm ā‰¤ RSRP < āˆ’45 dBm
  • 96 ā€“ When āˆ’45 dBm ā‰¤ RSRP < āˆ’44 dBm
  • 97 ā€“ When āˆ’44 dBm ā‰¤ RSRP
  • 255 ā€“ Not known or not detectable

<rsrq>

  • 0 rsrq < āˆ’19.5 dB
  • 1 ā€“ When āˆ’19.5 dB ā‰¤ RSRQ < āˆ’19 dB
  • 2 ā€“ When āˆ’19 dB ā‰¤ RSRQ < āˆ’18.5 dB
  • ...
  • 32 ā€“ When āˆ’4 dB ā‰¤ RSRQ < āˆ’3.5 dB
  • 33 ā€“ When āˆ’3.5 dB ā‰¤ RSRQ < āˆ’3 dB
  • 34 ā€“ When āˆ’3 dB ā‰¤ RSRQ
  • 255 ā€“ Not known or not detectable