Configuration of Modbus Meters

Standard Meter Model

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

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

Several Modbus meter models are registered on 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 meters and other Modbus 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 like the Inepro PRO380 and the Polier MTR80LMOD have a different default parity configuration:

  • Parity: EVEN

If these default values are kept, they must be entered into the additional parameters of the meter 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 read can be manually configured, specifying what type of data they represent.

Select the model generic_modbus 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 (e.g. 'L1_v').

size <int>: size of data (1, 2, 4, 8). Default value is 1 for Int16 or Float16.

factor <float>: multiplies the data by the factor (e.g. 0.001 to convert Wh to kWh) (float). Default value is 1.

pause <float>: wait time after reading 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 >: swaps the order of the registers 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 read. Refer to the meter or device documentation.

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

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) where only the imported energy register is read in kWh.

reg

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

How Did We Do?

Display Screen Configuration

Counting Data Processing

Contact