qix67 / comfortzone_heatpump

Arduino library to monitor and control Comfortzone EX50 heatpump
GNU General Public License v3.0
8 stars 5 forks source link

comfortzone heatpump library by Eric PREVOTEAU

1) Quick start

2) Wiring

Comfortzone EX50 heatpump control board comes with 2 RS485 ports connected to RJ11 6P6C. 1 port is connected to the onboard control panel, the other port is free to use.

RJ11 wiring is

(Note: you can check GND location by powering off the heatpump and do a continuity test between pin and led strip GND pad).

Connect GND, A and B pins to RS485 module.

Warning: if A and B pins are inverted on RS485, heatpump control panel will display a "connection lost" message. I don't know if it may break something but I accidentaly misconnect my module during ~2 minutes and everything still works fine.

3) Library configuration

It is possible to configure the library using comfortzone_config.h file.

Defining DEBUG macro will enable the very verbose mode. All debug messages will be printed on the serial console set in OUTSER define.

4) Using library

By default, the library only performs bus snooping assuming a control panel periodically requests heatpump status (roughly every 5 seconds on mine).

The library can send commands on RS485 bus.

Example heatpump_dump.ino is a basic example showing how to use the library. During the first 5 seconds, output variable "comfortzone_status" is not initialized or partially initialized, it is normal.

5) library API

The library exposes few methods to make it easily usable. All methods are inside comfortzone_heatpump object.

6) Library variables

7) Note

This library is a work in progress.

Output variable "comfortzone_status" (see comfortzone_status.h) returns basic status which is avaible on the digital control panel in standard mode.

Few additional status are available when digital control panel is switched to advanced mode.

Heatpump controller sends a huge amount of data and most of them are not displayed by digital control panel, even in advanced mode. To see all outputs, enable library DEBUG mode. You can also take a look at comfortzone_frame.h file.

A bunch of status variables are available. Variable names should be the same as the name shown on digital control panel in advanced mode.

It still remains a great quantity of unknown data (unknown? variables). Some of them should be related to option not enabled on my machine (I have no chimney for example), other are never changing data which make it harder to guess their meaning. Finally some of them should be related to error or warning.