December 18, 2022

CTC heatpump MODBUS interface

The installation of a CTC heat pump(HP), EcoAir 600, and the indoor module, Eco Zenith i360, was not optimal from the beginning, so to monitor it closely I checked how to retrieve data. 

The newer CTC HP:s are always shipped with a MODBUS TCP interface, without any additional hardware, which solved the issue.

MODBUS was new to me but after some reading and checking I found that there is a NodeRed node which solves the interface dialog.

Intro
The above picture is showing the HP:s temperatures for; In, Out, Difference In/Out and Outside.
As said NodeRed is used, to display the data, and the additional nodes dashboard and modbus are installed.

Solution
Explanation to flow below
  • Different values are retrieved with different frequency using 2 inject nodes.
  • The function nodes, following the inject nodes, are set up to get the respective registers data from the HP.
  • The flex getter node "talks" to the HP via the MODBUS interface
  • The switch node directs the feedback from the HP to respective function node where the data is interpreted

Add on
Current
As can be seen in the flow above not only the HP temperatures are retrieved. A really nice feature is that there is a 3-phase current meter
 built into the system. This is due to that the HP is limiting it's max current to the incoming fuses in the house.

This data is also retrieved and could be used for other equipment where you have to take care of the max load. Could be a car charger with appropriate interface ?

Negative binary values
One problem with the HP data was that the values are binary. Here are some information how you can handle them but my solution, found somewhere at Internet, is coded as below. There should also be said that some of the values, here outdoor temp in Celsius, are to be diveded by 10.

if (msg.payload[0] > 32767){ // Temp below zero
outdoorTemp = (msg.payload[0] - 65536) / 10;
}
else{
outdoorTemp = msg.payload[0] / 10;
}

Heatpump status
If you want to learn more about how the HP is working displaying the status is nice feedback.

Setting values
Some of the registers can also be set, via the MODBUS interface, and this is used for BMS:s. (Building Management Systems).

Try out if you dare !? 😉

One simple test could be using BMS register 61 509 which sets/reads the desired value for indoor room temperature.

No comments:

Post a Comment

Feel free to leave a comment ! ... but due to a lot of spam comments I have to moderate them. Will reply ASAP !