Modbus Meter Configuration

Standard Meter Model

The Modbus protocol enables the Gateway to read one or more specific data registers from a compatible meter.

Generally, electric meters are equipped with an RS485-Modbus communication port, while heating and water meters communicate via Mbus.

Several Modbus meter models are registered in the Climkit portal, such as Eastron, Inepro, Schneider, ABB, etc.

By selecting the correct model, the Gateway will automatically read the corresponding registers.

Modbus Parameters

By default, the Gateway reads Modbus meters and other devices with the following parameters:

  • Baudrate: 9600
  • Parity: None
  • Data Size: 8 bit
  • Stop bits: 1 bit

This is also the default configuration for the Eastron SDM630M meters.

The baudrate and parity can be modified directly in the meter via its interface.

Other models such as the Inepro PRO380 and the Polier MTR80LMOD have a different default parity configuration:

  • Parity: EVEN

If these default values are maintained, they must be entered into the additional parameters of the meters on the Climkit online portal:

Enter E for EVEN and N for NONE.

parity

E

Other Models (Advanced Configuration)

In the case of using a meter whose model is not listed, the registers to be read can be manually configured and the type of data specified.

Select the generic_modbus model and edit the additional parameters.

Parameters to Define

Here is the list of parameters to define. Parameters marked with * are mandatory.

*reg <int>: register number to read from the meter.
*unit <str>: unit of the read data (ex. 'L1_v')

size <int>: data size (1, 2, 4, 8). Default is 1 for Int16 or Float16
factor <float>: multiplies the data by the factor (ex. 0.001 to convert Wh to kWh) (float). Default is 1.
pause <float>: sleep time after reading the data from a register. Default 0.3 for TCP meters and 0 for serial meters.
function_code : Modbus Serial function code. Usually 3 or 4. Default 3.
round <int> : Number of digits after the decimal point. Default 2.
swap_words <bool or 1 or 0 >: reverse the registers order if size > 1.
Unit

The unit parameter defines the type of data read.

For an electric meter, the units are en_im (imported energy) and en_ex (exported energy).

For a thermal meter: heat_energy_kwh, cold_energy_kwh, flow_temp, return_temp, diff_temp, power_kw, vol_flow_m3_h, vol_m3

For a water meter: vol_m3

Reg

The reg parameter defines the decimal position of the Modbus register to be read. Refer to the documentation of the meter or device.

Here is an example for a thermal meter where the heat and cold energy indices are read.

reg

[{'unit': 'heat_energy_kwh', 'reg': 2544, 'size': 2, 'factor': 0.001}, {'unit': 'cold_energy_kwh', 'reg': 2546, 'size': 2, 'factor': 0.001}]

Here is an example for an electric meter (type: electricity) for which only the imported energy register in kWh is read.

reg

[{'unit': 'en_im', 'reg': 1050, 'size': 2, 'swap_words': True}]

How Did We Do?

Configuring Display Screens

Data Counting Processing

Contact