Monitoring Daikin Altherma heat pump

I have been writing in Finnish about my journey on replacing district heating with an air-to-water heat pump. This post will cover technical details about monitoring this Daikin Altherma 3 R W – EHBX-E9W.

Daikin is selling a modbus control box (Daikin DCOM-LT/MB) as add-on for the heat pump. I’m currently using it to read and archive operational values from the heat pump. It should be also possible to control the heat pump but that one I haven’t yet used.

I’m reading the data using Raspberry Pi with RS 485 add-on board and Nodered using node-red-contrib-modbus and node-red-contrib-prometheus-exporter. Data is then passed to the Prometheus database and presented with the Grafana, as I have written before.

Nodered flow used to read modbus register and publish values for the Prometheus

In the above Nodered flow values are read from the modbus registers every 5 seconds and the published for the Prometheus. As an example the input register for domestic hot water temperature is read with the following function.

const buff = Buffer.from(msg.payload.buffer)

msg.payload = {
    "op": "set",
    "val": buff.readInt16BE(44) / 100

return msg;

Resulting data is then enriched with data from electricity meters (one for compressor and another for backup heater). One example of result is shown below. I’m using the data to for example monitor (and alert) for too low flow rate, calculate COP and control defrost of the drip tray (more on that on another post).

All sorts of direct or calculated data from the heat pump

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.