Operation
Before being able to transmit data over a LoRaWAN® network, the module must be personalized and activated. This can be done in two different ways for LoRaWAN®, Over-the-air activation (OTAA) or Activation by Personalization (ABP). For security reasons, 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.
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 |
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. |
JoinEUI |
Sets the identification number of the join server. The identification number is set to a default value in all devices. The default value is presented in Elvaco OTC configuration options. |
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 |
Used by both the module and the network server. |
Application session key |
Used for payload encryption and decryption. |
Device address |
Unique identifier of the module. |
CMi4160 is configured via the Elvaco OTC App. It uses NFC to transfer settings to the module. Downlink may also be used for some applications.
Tip
Depending on smartphone used, it can be difficult to access the NFC field having the meter closed. For better sensitivity, open the meter and put the phone close to the NFC mark on the module.
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 values and daily values). It is possible to fix the transmit interval, but for battery operated devices where battery lifetime is critical, Elvaco recommends using the EcoMode feature, adapting the transmit interval depending on prevailing radio conditions.
Table 241. Transmit intervals for different data rates in EcoMode
Data rate |
Transmit intervals |
---|---|
DR0 |
180 min |
DR1 |
120 min |
DR2-DR3 |
60 min |
DR4 |
30 min |
DR5 |
20 min |
Note
If using message format Scheduled Extended+ (available from FW 1,05), the transmit intervals used in EcoMode will be according to the following table. Since the Scheduled Extended+ is scheduled, the minimal practical limit is always 60 minutes.
Table 242. Transmit intervals for different data rates in EcoMode, when using Scheduled Extended+
Data rate |
Transmit interval |
---|---|
DR0 |
360 min |
DR1 |
240 min |
DR2 |
120 min |
DR3 |
60 min |
DR4-5 |
30 min |
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.
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 Elvaco 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 Elvaco OTC App.
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.
Note
If using message format JSON, the data will be presented as plain text, and not according to the M-Bus structure as presented above.
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.
Note
For more information about security and access control for the product, refer to the One-touch commissioning (OTC) documentation, available on the Elvaco website.
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 17. 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.
-
Press and hold the push button for 5-15 seconds.
-
Release the button when the green LED is lit.
-
Press and hold the push button for 15-20 seconds.
-
Release the button when the red LED is lit.
Comments (0 comments)