Server configuration

There are two different activation types for LoRaWAN - Over-the-air activation (OTAA) and Activation by personalization (ABP). Elvaco strongly recommends using OTAA, where all network keys are generated each time the module joins the LoRaWAN network. In contrast, for ABP, all keys are set manually and stay constant over time.

In OTAA mode

Before the module is able to transmit messages via the LoRaWAN network, device information needs to be added to the network server. More specifically, the following parameters needs to be registered in order to enable the network server to receive messages from the module:

Device EUI

The device EUI is a 16 digit module unique identification number. It is not configurable.

Application key

The application key of each device is generated by Elvaco and used in OTAA mode to generate network keys when the module joins the LoRaWAN network. Keys are managed in a secure way using Elvaco’s OTC (One Touch Commissioning) solution which includes the mobile application for configuration.

Join EUI

The Join EUI sets the identification number of the application server where data from the module shall be delivered. The identification number is set to a default value in all devices. The default value is presented in Elvaco OTC configuration options.

In ABP mode

If the activation mode is set to ABP, the application key does not need to be added to the network server. Instead the following information will be needed:

  • Network session key

  • Application session key

  • Device address


Via Elvaco OTC app


The module is mounted at the top of the meter. The NFC field is easiest accessible if placing your phone in the middle of the higher part of the front side.

Via downlink

Transmit interval

The transmit interval is used to set how frequently the module should transmit data on the LoRaWAN network. The parameter can be set to a value between 5 and 1440 minutes (i.e. between 5-minute and daily values).


The following table shows the transmit intervals that the module will use for different data rates in order to achieve a 11-year battery-life.

Table 107. Transmit interval for different data rates in EcoMode

Data rate

Transmit interval


120 minutes


60 minutes

DR2 - DR3

30 minutes

DR4 - DR5

15 minutes


If EcoMode has been disabled, guarantees about battery-life no longer apply, even if EcoMode is activated later on.

Time handling

The module relies on the meter’s clock for keeping time. Time in the meter is assumed to be in standard local time (no DST). When synchronizing time in the meter using the OTC App, local standard time is always used, even if DST is in effect. The timestamped meter data sent from the module can be adjusted to be sent in UTC by specifying the “UTC offset” configuration parameter. The UTC offset will be subtracted from the timestamp prior to transmission. If the meter is in Sweden, which uses CET (Central European Time), it should have UTC offset set to +60 (+1h). In this case at time 12.00 a telegram is sent with timestamp 11.00 as this is the corresponding UTC time. A meter in New York (USA) should have a UTC offset of -300 (-5h) etc. A UTC offset of 0 means the meter time is used as-is.

If the meter is set to used DST this is ignored by the module and the standard time is used. Thus, the time on the meter’s display may not match the time in the telegram or in the OTC App.

Adaptive data rate (ADR)

ADR is part of the LoRaWAN standard where the network server determines the optimal rate of communication for the module based on current signal conditions. In the best radio conditions, the module will use its highest data rate (DR5) in order to be as energy-efficient as possible. When signal conditions are poor, the network server will incrementally lower the data rate until it is able to receive the message. When the data rate is low, the energy consumption per telegram will increase.

Message encoding

All message formats encoded to M-bus standard will have the following structure. Each telegram begins with one byte specifying the message format. Then follows a sequence of data information blocks (DIBs). The data and structure of the DIBs depends on the message type set. Each DIB contains a data information field (DIF), a value information field (VIF) and a data field (DATA), where the actual payload is stored.


M-Bus message structure

For message type JSON, the data is presented as plain text.

Security and access control

The product has a configuration lock feature, which prevents unauthorized access to the module. When configuration lock has been enabled, a device-specific Product Access Key (PAK) will be needed to access the device. Keys are managed in a secure way using Elvaco’s OTC solution which includes the mobile application for configuration.


For more information about security and access control for the product, refer to the One-touch commissioning (OTC) documentation, available on the Elvaco website.

Meter communication error messages

The payloads using M-Bus encoded data uses the Function field of the DIF to indicate errors. In this case it is set to “value during error state” (M-Bus standard EN 13757-3:2013) and the value sent should not be used. A typical case for this is when the module is unable to communicate with the meter and retrieve meter values, in which case all the fields in the payload have the DIF indicating “value during error state”. In case of erroneous data or if the module is unable to communicate with meter, bit 4-5 of the bit of the DIF code (first byte of each index field) will be set to 11b.

Example 12. Example

A DIF code of 0x02 will be set to 0x32 in case of error. (This applies to all message format except JSON.) For message format JSON, the actual value will be replaced with “null” in case of error state. If no meter communication is possible at all, all fields have this error indication set.

Was this article helpful?

0 out of 0 found this helpful
Have more questions? Submit a request

Comments (0 comments)

Article is closed for comments.