Configuring heating and water meters (MBus)

Nicolas Updated by Nicolas

1. Reading a meter with its secondary address

Unlike meters and other Modbus devices for which the gateway reads a specific data register at a time, MBus meters systematically send back all their registers in a single packet called a telegram.

We must then parse this telegram to keep only the values that interest us, namely the meter index (register of energy or volume consumed visible on the meter dial).

The secondary address corresponds to the serial number reversed in pairs followed by 8 consecutive “F” characters.

On the heating meter below the serial number is 94158192 which secondary address 92811594FFFFFFFF

To obtain the telegram, read the meter via the Gateway configuration web server under Meters > MBus > Read MBus Meter

By default the baudrate is 2400 .

If the meter is correctly connected to the Gateway, we receive the raw telegram after a few seconds.

Analysis of the telegram and recovery of registers

On the first line in blue: the serial number of the meter

In red, the meter index with the desc:ENERGY and function:INST_VAL , value in Wh.

In yellow, other useful registers for heating meters.

In the example above, the counter index (in red) has the following DIB and VIB values:

DIB: 04

VIB: 06

2. Configure the meter on the online portal

We then configure the meter in the online portal to insert its secondary address and the position of the registers.

Connect to the Climkit online portal ( ), select the corresponding site. Under Counters > Heat (or Cold Water or Hot Water), create the counters one by one by clicking on the "+".

Edit the counter with the following parameters:

  • Nom : name according to type, serial number and attribution. For example: "CH - 94158192 - Apartment 203"
  • Adresse : leave blank
  • Gateway : Select the gateway to which the meters are connected. See under Configuration > Hardware .
  • Modèle : generic_mbus
  • Protocole : mbus
  • Baudrate : 2400
  • Mode : consumption

Under additional parameters, we insert the “key-value” pairs:

secondary_ad for secondary address: 92811594FFFFFFFF

reg for registers: [{'unit': 'heat_energy_kwh', 'factor': 0.001, 'dib': '04', 'vib': '06'}]

For a cold meter we use cold_energy_kwh and for a water meter vol_m3.

For the heating meter, here are the complete registers in yellow in the telegram above:

{'unit': 'heat_energy_kwh', 'factor': 0.001, 'dib': '04', 'vib': '06'},
{'unit': 'vol_m3', 'dib': '04', 'vib': '13'},
{'unit': 'power_kw', 'dib': '04', 'vib': '2B'},
{'unit': 'vol_flow_m3_h', 'dib': '04', 'vib': '3B'},
{'unit': 'flow_temp', 'dib': '02', 'vib': '5B'},
{'unit': 'return_temp', 'dib': '02', 'vib': '5F'}
{'unit': 'diff_temp', 'dib': '02', 'vib': '61'}

3. Checking configuration and playback

Once the meter is created and registered on the portal and associated with the correct gateway, it appears on the gateway under Meters > Configured Meters .

Click on READ to test the reading and value of the registers.

The registers can then be used to create counters of the same model on the site.

How Did We Do?

Configuring charging stations

Optimization via Relays and EV Terminals