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.




