ZPmeter Heat Meter 223F Modbus emonHub

I’ve just managed to read data from a ZPmeter Heat Meter 223F via modbus.

This development was due to a customer request, we’re not planning on changing our default heat meter options.

Here’s the emonHub modbus interface:

    [[ZPMETER]]
        Type = EmonHubMinimalModbusInterfacer
        [[[init_settings]]]
            #device = /dev/serial/by-id/usb-1a86_USB_Single_Serial_56D1092300-if00
            device = /dev/ttyACM*
            baud = 9600
            datatype = int
            parity = none
        [[[runtimesettings]]]
            pubchannels = ToEmonCMS,
            read_interval = 10
            nodename = zpmeter
            [[[[meters]]]]
                [[[[[heatmeter]]]]]
                     address = 7     
                      registers = 1,3, 5, 7, 9, 15, 13,11,16,17,21
                      names = Energy, CoolEnergy, FlowT, ReturnT, dT, Power, FlowRate, Volume, 16unknown, runtime, Error
                      scales = 0.01,0.01,0.01,0.01,0.01,10,0.0001,0.01,1,1,1
                      units = kWh,kWh,C,C,C,W,m3/hr,m3

I plumbed in the ZPmeter alongside an Axiom on our test rig:

Here’s how the ZPmeter compares to the Axioma that we’ve previously tested, to be very accurate:

  • The ZPmeter update interval is slower than the Axioma
  • The ZPmeter flow reading is more variable and is 4.7% lower than the Axioma
  • The lower flow rate results in a 3.4% lower power reading, The power reading has more variability compared to the Axioma.
  • The kWh energy reading is reported with two decimal places, this is better than the Axioma, the Axioma only reports whole kWh increments. However, we don’t use the meters kWh reading for our heat pump data logging.


The ZPmeter manufacturer Hangzhou Zhongpei claim Class 2 EN1434 (MID) billing grade accuracy.