Configuration options
Below table list all settings that can be made using the Elvaco OTC App. If the device is locked, and the app user does not have access to the PAK key, available settings are only readable.
Table 218. All configuration options
Field name (Abbr.) |
Description |
Default value |
Locked device & correct PAK or open device |
Locked device & no PAK |
Downlink |
---|---|---|---|---|---|
Meter ID |
Meter identification number of the meter. Not configurable. |
N/A |
Readable |
Readable |
N/A |
Power mode |
Used to activate/deactivate the module. |
Inactive |
Readable / Writeable |
Readable |
N/A |
Message format |
The message format determines the structure and payload of the telegram sent from the module. |
0x15 (Standard) |
Readable / Writeable |
Readable |
Writeable |
EcoMode |
When activated, 11+1 years of battery-life is guaranteed by adapting the transmit interval of the module to current signal conditions. |
On |
Readable / Writeable |
Readable |
Writeable |
Transmit interval |
Sets the number of minutes between each transmission from the module |
60 min |
Readable / Writeable |
Readable |
Writeable |
Date & Time |
Date and time set for the meter. |
N/A |
Readable |
Readable |
N/A |
Set absolute time |
Sets the time of the meter. |
N/A |
Writeable |
N/A |
N/A |
Set Time Relative |
Adjusts the time of the meter relative to the current time |
N/A |
N/A |
N/A |
Writeable |
Set UTC offset |
Sets the UTC offset of the meter. |
N/A |
Readable / Writeable |
Readable |
Writeable |
Configuration Lock |
Locks the module to prevent unauthorized access. |
Open |
Readable / Writeable |
Readable |
Writeable |
LoRaWAN® settings |
|||||
Device EUI |
Unique module identification number. Not configurable. |
Device-unique 64-bit number |
Readable |
Readable |
N/A |
Activation type |
Sets the way the device joins the LoRaWAN® network. |
OTAA |
Readable / Writeable |
Readable |
N/A |
Network join |
Displays whether the module has joined the LoRaWAN® network or not. |
N/A |
Readable |
Readable |
N/A |
JoinEUI |
Application ID that determines where data ends up. |
0x 94 19 3A 03 0B 00 00 01 |
Readable / Writeable |
Readable |
N/A |
Device address |
32-bit address used by the module to identify itself on the LoRaWAN® network. |
N/A |
Readable / Writeable |
N/A |
N/A |
Current data rate |
The current data rate used for the module. |
N/A |
Readable |
Readable |
N/A |
Below table list what settings that can be made using the LoRaWAN® downlink commands.
Table 219. Downlink commands
Field name |
TLV |
Number of bytes in configuration |
Configuration |
Example |
---|---|---|---|---|
Configuration lock |
0x05 |
0x01 |
0x00 = Locked 0x01 = Open |
0x00050101 (Enables configuration lock) |
Transmit interval |
0x06 |
0x02 |
0xNumber of minutes between transmission (lsByte -> msByte) |
0x0006021E00 (Sets the Tx interval to 30 minutes) |
Message format |
0x07 |
0x01 |
0x15 = Message format Standard 0x16 = Message format Compact 0x17 = Message format JSON 0x18 = Message format Scheduled-daily redundant 0x19 = Message format Scheduled-Extended 0x1A = Message format Combined heat/cooling 0x1B = Message format Heat Intelligence 0x3B* = Message format Scheduled Extended+ 0x1C* = Message format Pulse 0x4D* = Message format Pulse Extended Note*message formats built up by 2 telegrams. only the first Message ID should be included in the downlink command) |
0x00070116 (Sets the message format to compact) |
EcoMode |
0x0F |
0x01 |
0x00 = Disable EcoMode 0x01 = Enable EcoMode |
0x000F0100 (Disables EcoMode) |
Set Time Relative |
0x13 |
0x04 |
0xNumber of seconds* (lsByte -> msByte) *Negative numbers supported. |
0x0013043C000000 (Adds 60 seconds to the current time) 0x0013043C000080 (Subtracts 60 seconds from the current time) |
UTC offset |
0x17 |
0x02 |
0xNumber of minutes* (lsByte -> msByte) *Negative numbers supported. |
0x17023C00 (Sets the UTC offset to +60 minutes) 0x17023C80 (Sets the UTC offset to -60 minutes) |
Reboot |
0x22 |
0x02 |
0x759E is used to reboot device (note endianness, LSB first). |
0x0022029E75 (Reboots the device) |
To allow a flexible output from the device, CMi4140 has several message formats. Some of them are scheduled, meaning the meter is read on top of every hour, and sending a clock message once per day, see Scheduled message formats.
Table 220. CMi4140 message formats
Message format name |
Message ID |
Scheduled |
Introduced in FW |
---|---|---|---|
Standard |
|
No |
1.0.1 |
Compact |
|
No |
1.0.1 |
JSON |
|
No |
1.0.1 |
Scheduled Daily Redundant |
|
Yes |
1.0.1 |
Scheduled Extended |
|
Yes |
1.0.1 |
Combined heating/cooling |
|
Yes |
1.0.1 |
Heat Intelligence |
|
Yes |
1.0.1 |
Scheduled Extended+ |
|
Yes |
1.0.3 |
Pulse |
|
Yes |
1.0.4 |
Pulse Extended |
|
Yes |
1.0.4 |
Note
Message formats with more than one message ID, such as Pulse Extended, have been divided into several telegrams due to size limitations.
Table 221. Payload, message format Standard [0x15]
Field |
Size |
Data type |
Description |
---|---|---|---|
Message format identifier |
1 byte |
- |
0x15 (Standard) |
Heat energy E1 / Cooling energy E3 |
6-7 bytes |
INT32 |
Energy consumption (Wh, J, Cal) 0400xxxxxxxx = xxxxxxxx,xxx Wh 0401xxxxxxxx = xxxxxxxx,xx Wh 0402xxxxxxxx = xxxxxxxx,x Wh 0403xxxxxxxx = xxxxxxxx Wh 0404xxxxxxxx = xxxxxxxx * 10 Wh 0405xxxxxxxx = xxxxxxxx * 100 Wh 0406xxxxxxxx = xxxxxxxx kWh 0407xxxxxxxx = xxxxxxxx * 10 kWh 040Exxxxxxxx = xxxxxxxx MJ 040Fxxxxxxxx = xxxxxxxx * 10 MJ 04FB0Dxxxxxxxx = xxxxxxxx MCal 04FB0Exxxxxxxx = xxxxxxxx * 10 MCal 04FB0Fxxxxxxxx = xxxxxxxx * 100 MCal |
Volume |
6 bytes |
INT32 |
Volume ( m³ ) 0411xxxxxxxx = xxxxxxxx * 0.00001 m³ 0412xxxxxxxx = xxxxxxxx * 0.0001 m³ 0413xxxxxxxx = xxxxxxxx * 0.001 m³ 0414xxxxxxxx = xxxxxxxx * 0.01 m³ 0415xxxxxxxx = xxxxxxxx * 0.1 m³ 0416xxxxxxxx = xxxxxxxx m³ 0417xxxxxxxx = xxxxxxxx * 10 m³ |
Power |
4 bytes |
INT16 |
Power (W) 022Bxxxx = xxxx W 022Cxxxx = xxxx * 10 W 022Dxxxx = xxxx * 100 W 022Exxxx = xxxx kW 022Fxxxx = xxxx * 10 kW |
Flow |
4 bytes |
INT16 |
Flow ( m³/h) 023Bxxxx = xxxx * 0.001 m³/h 023Cxxxx = xxxx * 0.01 m³/h 023Dxxxx = xxxx * 0.1 m³/h 023Exxxx = xxxx m³/h 023Fxxxx = xxxx * 10 m³/h |
Fw temp |
4 bytes |
INT16 |
Forward temperature (°C) 0258xxxx = xxxx * 0.001 °C 0259xxxx = xxxx * 0.01 °C 025Axxxx = xxxx * 0.1 °C 025Bxxxx = xxxx °C |
Rt temp |
4 bytes |
INT16 |
Return temperature (°C) 025Cxxxx = xxxx * 0.001 °C 025Dxxxx = xxxx * 0.01 °C 025Exxxx = xxxx * 0.1 °C 025Fxxxx = xxxx °C |
Meter ID |
6 bytes |
According to M-Bus EN13757-3 identification field |
Meter ID 0C78xxxxxxxx |
Info bits |
7 bytes |
INT32 |
Error and warning flags 04FD17xxxxxxxx For further information about Info bits please refer to the meter’s manual |
Table 222. Payload, message format Compact [0x16]
Field |
Size |
Data type |
Description |
---|---|---|---|
Message format identifier |
1 byte |
- |
0x16 (Compact) |
Heat energy E1 / Cooling energy E3 |
6-7 bytes |
INT32 |
Energy consumption (Wh, J, Cal) 0400xxxxxxxx = xxxxxxxx,xxx Wh 0401xxxxxxxx = xxxxxxxx,xx Wh 0402xxxxxxxx = xxxxxxxx,x Wh 0403xxxxxxxx = xxxxxxxx Wh 0404xxxxxxxx = xxxxxxxx * 10 Wh 0405xxxxxxxx = xxxxxxxx * 100 Wh 0406xxxxxxxx = xxxxxxxx kWh 0407xxxxxxxx = xxxxxxxx * 10 kWh 040Exxxxxxxx = xxxxxxxx MJ 040Fxxxxxxxx = xxxxxxxx * 10 MJ 04FB0Dxxxxxxxx = xxxxxxxx MCal 04FB0Exxxxxxxx = xxxxxxxx * 10 MCal 04FB0Fxxxxxxxx = xxxxxxxx * 100 MCal |
Meter ID |
6 bytes |
According to M-Bus EN13757-3 identification field |
Meter ID 0C78xxxxxxxx |
Info bits |
7 bytes |
INT32 |
Error and warning flags 04FD17xxxxxxxx For further information about Info bits please refer to the meter’s manual |
For message format JSON, the data is presented in a plain text format, instead of M-Bus, as the other message formats. Below table contains a description of all fields included in the JSON telegram.
Table 223. Payload, message format JSON [0x17]
Field |
Description |
---|---|
Message format identifier |
0x17 (Message format JSON) |
Energy |
Energy consumption |
Unit |
Unit of energy consumption (Wh, kWh, MWh, GWh, J, kJ, MJ, GJ, Cal, kCal, MCal or GCal) |
Meter ID |
Identification number of the meter in which the module is mounted. |
See the following example of a telegram for message format JSON:
{"E":12345678,"U":"kWh","ID":87654321}
For message scheduled formats, such as Scheduled Daily Redundant Pulse Extended, two types of messages will be transmitted from the module - a clock message and a data message. Scheduled message formats will read the meter on top of the hour, allowing a predictability of the received telegrams. The difference between a clock message and a data message is described in the following table.
Table 224. Clock message and data message
Message |
Time interval |
Description |
---|---|---|
Clock message |
Once per day |
The clock message presents the current time of the meter. It can be used to verify that the clock is correct and has not drifted more than accepted. |
Data message |
Determined by Transmit interval parameter |
The actual meter data collected from the meter. |
The following table contains a detailed description of the payload of the clock message.
Table 225. Payload, clock message
Field |
Size |
Data type |
Description |
---|---|---|---|
Message format identifier |
1 byte |
- |
0xFA (=Clock message) |
Data/Time |
6 bytes |
32 bit binary integer M-Bus type F |
046Dxxxxxx = Valid date/time message 346Dxxxxxx = Invalid date/time message |
The clock message will be transmitted once every day and the data message at least (regulated by transmit interval parameter or EcoMode) once every day. The transmit interval can only be set the values listed in Table 226, “Transmit interval options ”.
Although the meter readout will occur on top-of-the-hour, the data message will not necessarily be transmitted at that exact time. The LoRaWAN® transmission will occur after a random delay of 0-15 minutes to decrease the risk of collisions. The readout for the clock message occurs at a random hour (00:00- 23:00) at a random minute in the 35-45 interval and will be transmitted immediately after the readout.
Note
When using scheduled message formats, the transmit interval cannot not be set to higher than 1440 (24 hours).
Table 226. Transmit interval options
Parameter |
Values |
Unit |
---|---|---|
Transmit interval |
60, 120, 180, 240, 360, 480, 720, 1440 |
Minutes |
Message format Scheduled Daily Redundant contains an accumulated daily energy field, which is updated at 24:00 each day. In other words, depending on transmit interval settings and data rate, the field will be included in between 1-24 telegrams per day. This will increase the probability of the value being received. For example, if the transmit interval is set to “2”, the accumulated energy read at 24:00 will be transmitted 12 times during the 24 next coming hours (every 2nd hour).
Table 227. Payload, message format Scheduled Daily Redundant [0x18]
Field |
Size |
Data type |
Description |
---|---|---|---|
Message format identifier |
1 byte |
- |
0x18 (Scheduled-daily redundant) |
Heat energy E1 / Cooling Energy E3 |
6-7 bytes |
INT32 |
Energy consumption (Wh, J, Cal) 0400xxxxxxxx = xxxxxxxx,xxx Wh 0401xxxxxxxx = xxxxxxxx,xx Wh 0402xxxxxxxx = xxxxxxxx,x Wh 0403xxxxxxxx = xxxxxxxx Wh 0404xxxxxxxx = xxxxxxxx * 10 Wh 0405xxxxxxxx = xxxxxxxx * 100 Wh 0406xxxxxxxx = xxxxxxxx kWh 0407xxxxxxxx = xxxxxxxx * 10 kWh 040Exxxxxxxx = xxxxxxxx MJ 040Fxxxxxxxx = xxxxxxxx * 10 MJ 04FB0Dxxxxxxxx = xxxxxxxx MCal 04FB0Exxxxxxxx = xxxxxxxx * 10 MCal 04FB0Fxxxxxxxx = xxxxxxxx * 100 MCal |
Volume |
6 bytes |
INT32 |
Volume ( m³ ) 0411xxxxxxxx = xxxxxxxx * 0.00001 m³ 0412xxxxxxxx = xxxxxxxx * 0.0001 m³ 0413xxxxxxxx = xxxxxxxx * 0.001 m³ 0414xxxxxxxx = xxxxxxxx * 0.01 m³ 0415xxxxxxxx = xxxxxxxx * 0.1 m³ 0416xxxxxxxx = xxxxxxxx m³ 0417xxxxxxxx = xxxxxxxx * 10 m³ |
Meter ID |
6 bytes |
According to M-Bus EN13757-3 identification field |
Meter ID 0C78xxxxxxxx |
Info bits |
7 bytes |
INT32 |
Error and warning flags 04FD17xxxxxxxx For further information about Info bits please refer to the meter’s manual |
Meter date/time |
6 bytes |
INT32 |
Meter date and time (YY-MM-DD HH:MM) 046Dxxxxxxxx Bit 31-28 = Year-high* Bit 27-24 = Month Bit 23-21 = Year-low* Bit 20-16 = Day Bit 15 = Summertime flag** Bit 12-8 = Hour Bit 7 = Error flag*** Bit 6 = Reserved for future use*** Bit 5-0 = Minute *The year is read by combining the year-high and year-low field. For example, year-high = 0010 and year-low = 010 => year = 0010010 **0 = standard time, 1= daylight-saving time ***0 = timestamp is valid, 1 = timestamp is not valid |
Accumulated heat / cooling energy at 24:00 |
6-7 bytes |
INT32 |
Energy consumption (Wh, J, Cal) 4400xxxxxxxx = xxxxxxxx,xxx Wh 4401xxxxxxxx = xxxxxxxx,xx Wh 4402xxxxxxxx = xxxxxxxx,x Wh 4403xxxxxxxx = xxxxxxxx Wh 4404xxxxxxxx = xxxxxxxx *10 Wh 4405xxxxxxxx = xxxxxxxx *100 Wh 4406xxxxxxxx = xxxxxxxx kWh 4407xxxxxxxx = xxxxxxxx * 10 kWh 440Exxxxxxxx = xxxxxxxx MJ 440Fxxxxxxxx = xxxxxxxx * 10 MJ 44FB0Dxxxxxxxx = xxxxxxxx MCal 44FB0Exxxxxxxx = xxxxxxxx * 10 MCal 44FB0Fxxxxxxxx = xxxxxxxx * 100 MCal Note: Before a midnight reading has been performed the Function field of the DIF is set to “value during error state” to indicate that the value is not valid. |
The data message format Scheduled Extended contains all the data fields from message format Standard. In addition to these, it also includes the meter date/time to transmit messages on the full hour. As for all scheduled message formats, the transmit interval can only be set to the values included in Table 176, “Transmit interval options ”
The following tables contains a detailed description of the payload of message format Scheduled Extended.
Table 228. Payload, message format Scheduled Extended [0x19]
Field |
Size |
Data type |
Description |
---|---|---|---|
Message format identifier |
1 byte |
- |
0x19 (Scheduled-Extended) |
Heat energy E1 / Cooling Energy E3 |
6-7 bytes |
INT32 |
Energy consumption (Wh, J, Cal) 0400xxxxxxxx = xxxxxxxx,xxx Wh 0401xxxxxxxx = xxxxxxxx,xx Wh 0402xxxxxxxx = xxxxxxxx,x Wh 0403xxxxxxxx = xxxxxxxx Wh 0404xxxxxxxx = xxxxxxxx * 10 Wh 0405xxxxxxxx = xxxxxxxx * 100 Wh 0406xxxxxxxx = xxxxxxxx kWh 0407xxxxxxxx = xxxxxxxx * 10 kWh 040Exxxxxxxx = xxxxxxxx MJ 040Fxxxxxxxx = xxxxxxxx * 10 MJ 04FB0Dxxxxxxxx = xxxxxxxx MCal 04FB0Exxxxxxxx = xxxxxxxx * 10 MCal 04FB0Fxxxxxxxx = xxxxxxxx * 100 MCal |
Volume |
6 bytes |
INT32 |
Volume ( m³ ) 0411xxxxxxxx = xxxxxxxx * 0.00001 m³ 0412xxxxxxxx = xxxxxxxx * 0.0001 m³ 0413xxxxxxxx = xxxxxxxx * 0.001 m³ 0414xxxxxxxx = xxxxxxxx * 0.01 m³ 0415xxxxxxxx = xxxxxxxx * 0.1 m³ 0416xxxxxxxx = xxxxxxxx m³ 0417xxxxxxxx = xxxxxxxx * 10 m³ |
Power / Flow / Fw temp / Rt temp |
12 bytes |
INT64 |
Byte 0-2 = DIF/VIF codes, 0x07FFA0 Byte 3 = VIFE defining scaling of Power/Flow -Bit 6.4 (n), 10n-3 W, n = 0..7 -Bit 2..0 (m), 10m-3 m³/h, m = 0..7 Byte 4-5 = Fw temp (lsByte -> msByte), °C, 2 decimals Byte 6-7 = Rt temp (lsByte -> msByte), °C, 2 decimals Byte 8-9 = Flow (lsByte -> msByte), 10m-6 m³/h Byte 10-11 = Power (lsByte -> msByte), 10n-3 W |
Meter ID / Info bits |
11 bytes |
INT96 |
Byte 0-2 = DIF/VIF codes, 0x07FF21 Byte 3-6 = Info bits (lsByte -> msByte) Byte 7-10 = Meter ID (lsByte -> msByte)* *Sent in binary format |
Meter date/time |
6 bytes |
INT32 |
Meter date and time (YY-MM-DD HH:MM) 046Dxxxxxxxx Bit 31-28 = Year-high* Bit 27-24 = Month Bit 23-21 = Year-low* Bit 20-16 = Day Bit 15 = Summertime flag** Bit 12-8 = Hour Bit 7 = Error flag*** Bit 6 = Reserved for future use*** Bit 5-0 = Minute *The year is read by combining the year-high and yearlow field. For example, year-high = 0010 and year-low = 010 => year = 0010010 **0 = standard time, 1= daylight-saving time ***0 = timestamp is valid, 1 = timestamp is not valid |
Table 229. Payload, message format Combined heat/cooling [0x1A]
Field |
Size |
Data type |
Description |
---|---|---|---|
Message format identifier |
1 byte |
- |
0x1A (Combined heat/cooling) |
Heat energy E1 |
6-7 bytes |
INT32 |
Energy consumption (Wh, J, Cal) 0400xxxxxxxx = xxxxxxxx,xxx Wh 0401xxxxxxxx = xxxxxxxx,xx Wh 0402xxxxxxxx = xxxxxxxx,x Wh 0403xxxxxxxx = xxxxxxxx Wh 0404xxxxxxxx = xxxxxxxx * 10 Wh 0405xxxxxxxx = xxxxxxxx * 100 Wh 0406xxxxxxxx = xxxxxxxx kWh 0407xxxxxxxx = xxxxxxxx * 10 kWh 040Exxxxxxxx = xxxxxxxx MJ 040Fxxxxxxxx = xxxxxxxx * 10 MJ 04FB0Dxxxxxxxx = xxxxxxxx MCal 04FB0Exxxxxxxx = xxxxxxxx * 10 MCal 04FB0Fxxxxxxxx = xxxxxxxx * 100 MCal |
Cooling Energy E3 |
8-9 bytes |
INT32 |
Energy consumption (Wh, J, Cal) 0483FF02xxxxxxxx = xxxxxxxx Wh 0484FF02xxxxxxxx = xxxxxxxx * 10 Wh 0485FF02xxxxxxxx = xxxxxxxx * 100 Wh 0486FF02xxxxxxxx = xxxxxxxx kWh 0487FF02xxxxxxxx = xxxxxxxx * 10 kWh 048EFF02xxxxxxxx = xxxxxxxx MJ 048FFF02xxxxxxxx = xxxxxxxx * 10 MJ 04FB8DFF02xxxxxxxx = xxxxxxxx MCal 04FB8EFF02xxxxxxxx = xxxxxxxx * 10 MCal 04FB8FFF02xxxxxxxx = xxxxxxxx * 100 MCal |
Volume |
6 bytes |
INT32 |
Volume ( m³ ) 0411xxxxxxxx = xxxxxxxx * 0.00001 m³ 0412xxxxxxxx = xxxxxxxx * 0.0001 m³ 0413xxxxxxxx = xxxxxxxx * 0.001 m³ 0414xxxxxxxx = xxxxxxxx * 0.01 m³ 0415xxxxxxxx = xxxxxxxx * 0.1 m³ 0416xxxxxxxx = xxxxxxxx m³ 0417xxxxxxxx = xxxxxxxx * 10 m³ |
Fw temp |
4 bytes |
INT16 |
Forward temperature (°C) 0258xxxx = xxxx * 0.001 °C 0259xxxx = xxxx * 0.01 °C 025Axxxx = xxxx * 0.1 °C 025Bxxxx = xxxx °C |
Rt temp |
4 bytes |
INT16 |
Return temperature (°C) 025Cxxxx = xxxx * 0.001 °C 025Dxxxx = xxxx * 0.01 °C 025Exxxx = xxxx * 0.1 °C 025Fxxxx = xxxx °C |
Meter ID |
6 bytes |
According to M-Bus EN13757-3 identification field |
Meter ID 0C78xxxxxxxx |
Info bits |
7 bytes |
Unit32 |
Error and warning flags 04FD17xxxxxxxx For further information about Info bits please refer to the meter’s manual |
This telegram will be adapted to the type of meter in which the module is mounted. That means that it will look slightly different depending on whether the module is mounted in a heat meter, a cooling meter or a combined heat/cooling meter. Please note for instance that DIB 2 in below table is only included in combined heat/cooling meters, i.e. not in pure heat meters or pure cooling meters.
Table 230. Payload, message format Heat Intelligence [0x1B]
Field |
Size |
Data type |
Description |
---|---|---|---|
Message format identifier |
1 byte |
- |
0x1B (Heat intelligence) |
Heat energy E1 |
6-7 bytes |
INT32 |
Energy consumption (Wh, J, Cal) 0400xxxxxxxx = xxxxxxxx,xxx Wh 0401xxxxxxxx = xxxxxxxx,xx Wh 0402xxxxxxxx = xxxxxxxx,x Wh 0403xxxxxxxx = xxxxxxxx Wh 0404xxxxxxxx = xxxxxxxx * 10 Wh 0405xxxxxxxx = xxxxxxxx * 100 Wh 0406xxxxxxxx = xxxxxxxx kWh 0407xxxxxxxx = xxxxxxxx * 10 kWh 040Exxxxxxxx = xxxxxxxx MJ 040Fxxxxxxxx = xxxxxxxx * 10 MJ 04FB0Dxxxxxxxx = xxxxxxxx MCal 04FB0Exxxxxxxx = xxxxxxxx * 10 MCal 04FB0Fxxxxxxxx = xxxxxxxx * 100 MCal |
Cooling energy E3 |
8-9 bytes |
INT32 |
Energy consumption (Wh, J, Cal) 0480 FF02xxxxxxxx = xxxxxxxx,xxx Wh 0481 FF02xxxxxxxx = xxxxxxxx,xx Wh 0482 FF02xxxxxxxx = xxxxxxxx,x Wh 0483FF02xxxxxxxx = xxxxxxxx Wh 0484FF02xxxxxxxx = xxxxxxxx * 10 Wh 0485FF02xxxxxxxx = xxxxxxxx * 100 Wh 0486FF02xxxxxxxx = xxxxxxxx kWh 0487FF02xxxxxxxx = xxxxxxxx * 10 kWh 048EFF02xxxxxxxx = xxxxxxxx MJ 048FFF02xxxxxxxx = xxxxxxxx * 10 MJ 04FB8DFF02xxxxxxxx = xxxxxxxx MCal 04FB8EFF02xxxxxxxx = xxxxxxxx * 10 MCal 04FB8FFF02xxxxxxxx = xxxxxxxx * 100 MCal |
Volume |
6 bytes |
INT32 |
Volume ( m³ ) 0411xxxxxxxx = xxxxxxxx * 0.00001 m³ 0412xxxxxxxx = xxxxxxxx * 0.0001 m³ 0413xxxxxxxx = xxxxxxxx * 0.001 m³ 0414xxxxxxxx = xxxxxxxx * 0.01 m³ 0415xxxxxxxx = xxxxxxxx * 0.1 m³ 0416xxxxxxxx = xxxxxxxx m³ 0417xxxxxxxx = xxxxxxxx * 10 m³ |
Meter ID / Info bits |
16 bytes |
INT96 |
Byte 0-2 = DIF/VIF codes, 0x07FF21 Byte 3-6 = Info bits (lsByte -> msByte) Byte 7-10 = Meter ID (lsByte -> msByte)* *Sent in binary format |
Energy E8 |
7 bytes |
INT32 |
Energy ( m³ * °C) 04FF07xxxxxxxx = xxxxxxxx m³ * °C |
Energy E9 |
7 bytes |
INT32 |
Energy ( m³ * °C) 04FF08xxxxxxxx = xxxxxxxx m³ * °C |
The data message of message format Scheduled mode-extended+ contains three tariffs and all the meter data included in the Standard telegram. In addition to these, a timestamp from the meter (meter date/time) is included in each telegram. It is divided into two telegrams for keeping each telegram below 45 bytes.
Table 231. Telegram 1 - Payload, message format Scheduled – Extended + [0x3B]
Field |
Size |
Data type |
Description |
---|---|---|---|
Message format identifier |
1 byte |
- |
0x3B (Scheduled-Extended +, telegram 1) |
Heat energy E1 / Cooling energy E3 |
6-7 bytes |
INT32 |
Energy consumption (Wh, J, Cal) 0400xxxxxxxx = xxxxxxxx,xxx Wh 0401xxxxxxxx = xxxxxxxx,xx Wh 0402xxxxxxxx = xxxxxxxx,x Wh 0403xxxxxxxx = xxxxxxxx Wh 0404xxxxxxxx = xxxxxxxx * 10 Wh 0405xxxxxxxx = xxxxxxxx * 100 Wh 0406xxxxxxxx = xxxxxxxx kWh 0407xxxxxxxx = xxxxxxxx * 10 kWh 040Exxxxxxxx = xxxxxxxx MJ 040Fxxxxxxxx = xxxxxxxx * 10 MJ 04FB0Dxxxxxxxx = xxxxxxxx MCal 04FB0Exxxxxxxx = xxxxxxxx * 10 MCal 04FB0Fxxxxxxxx = xxxxxxxx * 100 MCal |
Energy Tariff 2 |
8 |
INT32 |
840203xxxxxxxx = xxxxxxxx Wh |
Energy Tariff 3 |
8 |
INT32 |
840303xxxxxxxx = xxxxxxxx Wh |
Meter ID |
6 bytes |
According to M-Bus EN13757-3 identification field |
Meter ID 0C78xxxxxxxx |
Meter date/time |
6 bytes |
INT32 |
Meter date and time (YY-MM-DD HH:MM) 046Dxxxxxxxx Bit 31-28 = Year-high* Bit 27-24 = Month Bit 23-21 = Year-low* Bit 20-16 = Day Bit 15 = Summertime flag** Bit 12-8 = Hour Bit 7 = Error flag*** Bit 6 = Reserved for future use*** Bit 5-0 = Minute *The year is read by combining the year-high and year-low field. For example, year-high = 0010 and year-low = 010 => year = 0010010 **0 = standard time, 1= daylight-saving time ***0 = timestamp is valid, 1 = timestamp is not valid |
Table 232. Telegram 2 - Payload, message format Scheduled – Extended +
Field |
Size |
Data type |
Description |
---|---|---|---|
Message format identifier |
1 byte |
- |
0x3C (Scheduled-Extended +) |
Volume |
6 bytes |
INT32 |
Volume ( m³ ) 0411xxxxxxxx = xxxxxxxx * 0.00001 m³ 0412xxxxxxxx = xxxxxxxx * 0.0001 m³ 0413xxxxxxxx = xxxxxxxx * 0.001 m³ 0414xxxxxxxx = xxxxxxxx * 0.01 m³ 0415xxxxxxxx = xxxxxxxx * 0.1 m³ 0416xxxxxxxx = xxxxxxxx m³ 0417xxxxxxxx = xxxxxxxx * 10 m³ |
Power |
4 bytes |
INT16 |
Power (W) 022Bxxxx = xxxx W 022Cxxxx = xxxx * 10 W 022Dxxxx = xxxx * 100 W 022Exxxx = xxxx kW 022Fxxxx = xxxx * 10 kW |
Flow |
4 bytes |
INT16 |
Flow ( m³/h) 023Bxxxx = xxxx * 0.001 m³/h 023Cxxxx = xxxx * 0.01 m³/h 023Dxxxx = xxxx * 0.1 m³/h 023Exxxx = xxxx m³/h 023Fxxxx = xxxx * 10 m³/h |
Fw temp |
4 bytes |
INT16 |
Forward temperature (°C) 0258xxxx = xxxx * 0.001 °C 0259xxxx = xxxx * 0.01 °C 025Axxxx = xxxx * 0.1 °C 025Bxxxx = xxxx °C |
Rt temp |
4 bytes |
INT16 |
Return temperature (°C) 025Cxxxx = xxxx * 0.001 °C 025Dxxxx = xxxx * 0.01 °C 025Exxxx = xxxx * 0.1 °C 025Fxxxx = xxxx °C |
Meter ID |
6 bytes |
According to M-Bus EN13757-3 identification field |
Meter ID 0C78xxxxxxxx |
Meter date/time |
6 bytes |
INT32 |
Meter date and time (YY-MM-DD HH:MM) 046Dxxxxxxxx Bit 31-28 = Year-high* Bit 27-24 = Month Bit 23-21 = Year-low* Bit 20-16 = Day Bit 15 = Summertime flag** Bit 12-8 = Hour Bit 7 = Error flag*** Bit 6 = Reserved for future use*** Bit 5-0 = Minute *The year is read by combining the year-high and year-low field. For example, year-high = 0010 and year-low = 010 => year = 0010010 **0 = standard time, 1= daylight-saving time ***0 = timestamp is valid, 1 = timestamp is not valid |
Info bits |
7 bytes |
INT32 |
Error and warning flags 04FD17xxxxxxxx For further information about Info bits please refer to the meter’s manual |
Message format Pulse includes data from the pulse inputs In A and In B of the module. How the pulses should be interpreted can be configured in the meter interface. Depending on configuration, the pulses can represent either volume or energy. Due to size, the message format is divided in two telegrams.
The following table contains a detailed description of the payload of message format Pulse.
Table 233. Telegram 1 - Payload, message format Pulse [0x1C]
Field |
Size (bytes) |
Data type |
Description |
---|---|---|---|
Message ID |
1 |
UINT8 |
Always 0x1C |
Date and time |
6 |
INT32 |
Date and Time (M-Bus Type F) Example: 046Dxxxxxxxx |
Meter ID |
6 |
BCD8 |
According to M-Bus EN13757-3 identification field Example: 0C78xxxxxxxx |
Energy |
6-7 |
INT32 |
Example: 0406xxxxxxxx, 040Fxxxxxxxx |
Volume |
6 |
INT32 |
Example: 0413xxxxxxxx |
Power |
4 |
INT16 |
Example: 022Bxxxx |
Flow |
4 |
INT16 |
Example: 023Bxxxx |
Fw temp |
4 |
INT16 |
Example: 025Axxxx |
Rt temp |
4 |
INT16 |
Example: 025Exxxx |
Table 234. Telegram 2 - Payload, message format Pulse [0x1D]
Field |
Size (bytes) |
Data type |
Description |
---|---|---|---|
Message ID |
1 |
UINT8 |
Always 0x1C |
Date and time |
6 |
INT32 |
Date and Time (M-Bus Type F) Example: 046Dxxxxxxxx |
Meter ID |
6 |
BCD8 |
According to M-Bus EN13757-3 identification field Example: 0C78xxxxxxxx |
Pulse In A |
7 |
INT32 |
Reads the registers corresponding to the In A connector on the module. Sub-unit 1 is used in DIFE for In A. Examples: Volume: 844014B1EB0100 = 1258,73 m3 Energy: 84400725120000 = 46450 kWh |
Pulse In B |
8 |
INT32 |
Reads the registers corresponding to the In B connector on the module Sub-unit 2 is used in DIFE for In B Examples: Volume: 848040144E1E0100 = 732,94 m3 Energy: 8480400601230000 = 8961 kWh |
Operating hours |
6 |
INT32 |
Reads the Operating Hours register of the meter. Examples: 042238220000 = 8 760h (~1 year) 042280230200 = 140 160h (~16 years) |
Info codes |
7 |
INT32 |
Error and warning flags. Example: 04FD17xxxx Note that this field is always 32 bits, even when using MultiCal 403 which only reports 16 bits. |
Message format Pulse Extended is similar to message format Pulse and includes data from the pulse inputs In A and In B of the module. Besides other data points, this message format also include energy tariffs. How the pulses should be interpreted can be configured in the meter interface. Depending on configuration, the pulses can represent either volume or energy. Due to size, the message format is divided in two telegrams.
The following table contains a detailed description of the payload of message format Pulse Extended.
Table 235. Telegram 1 - Payload, message format Pulse [0x1C]
Field |
Size (bytes) |
Data type |
Description |
---|---|---|---|
Message ID |
1 |
UINT8 |
Always 0x1C |
Date and time |
6 |
INT32 |
Date and Time (M-Bus Type F) Example: 046Dxxxxxxxx |
Meter ID |
6 |
BCD8 |
According to M-Bus EN13757-3 identification field Example: 0C78xxxxxxxx |
Energy |
6-7 |
INT32 |
Example: 0406xxxxxxxx, 040Fxxxxxxxx |
Volume |
6 |
INT32 |
Example: 0413xxxxxxxx |
Power |
4 |
INT16 |
Example: 022Bxxxx |
Fw temp |
4 |
INT16 |
Example: 025Axxxx |
Rt temp |
4 |
INT16 |
Example: 025Exxxx |
Info codes |
7 |
INT32 |
Error and warning flags Example: 04FD17xxxx Note that this field is always 32 bits, even when using MultiCal 403 which only reports 16 bits. |
Table 236. Telegram 2 - Payload, message format Pulse [0x1D]
Field |
Size (bytes) |
Data type |
Description |
---|---|---|---|
Message ID |
1 |
UINT8 |
Always 0x1C |
Date and time |
6 |
INT32 |
Date and Time (M-Bus Type F) Example: 046Dxxxxxxxx |
Meter ID |
6 |
BCD8 |
According to M-Bus EN13757-3 identification field Example: 0C78xxxxxxxx |
Energy Tariff 2 |
7-8 |
INT32 |
842003xxxxxxxx |
Energy Tariff 3 |
7-8 |
INT32 |
843003xxxxxxxx |
Pulse In A |
7 |
INT32 |
Reads the registers corresponding to the In A connector on the module. Sub-unit 1 is used in DIFE for In A. Examples: Volume: 844014B1EB0100 = 1258,73 m3 Energy: 84400725120000 = 46450 kWh |
Pulse In B |
8 |
INT32 |
Reads the registers corresponding to the In B connector on the module Sub-unit 2 is used in DIFE for In B Examples: Volume: 848040144E1E0100 = 732,94 m3 Energy: 8480400601230000 = 8961 kWh |
Comments (0 comments)