Hi,
I have standalone HAVC system in my house, which is not supported as an integration.
The brand is Futura made by JablotronLT:
The device communicates via Modbus TCP protocol and I have received the registry map from the manufacturer.
So now, I am able to read Input registers as sensors and display them in HA. There are also Holding registers available, which I can read too and possibly write to control the HVAC system (didn’t try it yet but it should work).
Right now, I would like to step a bit further and control and monitor the full HVAC system from my HA.
By control, I mean sending the target temperature, humidity, fan mode and speed, heating or cooling mode, bypass mode, night mode, party mode, away mode, boost ventilation mode, turn on/off HVAC, activate schedule mode, etc. by writing to holding registers.
By monitor I mean reading all available temperatures (wall sensors, floor sensors), humidity sensors, CO2 sensors, all fan rpm, power consumption, etc.
This is very complex device, however all control can be achieved by writing to Holding registers and all monitoring can be achieved ba reading Input registers, both by Modbus TCP.
I need some help which way to go, when I would like to create user interface in HA instead of using a standalone android app provided by manufacturer, which relies on control via cloud (different method).
First I briefly looked at generic-thermostat card, but I realized this is not a way to go as it is designed to control simple devices by reading input and switching defined output. I don’t want to replace HVAC algorithms by HA, I just want to use HA to read and send commands to HVAC.
I am completely lost where to start. I thing it has something to do with the climate entity but I don’t know how to create climate entity from individual sensors (input registers) and controls (holding registers).
I also found reference to Modbus Climate Entity which I think should be close to what I need:
However the documentation is poor and I can’t find any useful examples.
Sorry for long post, I hope someone can point me to the right direction.
Thanks Ondrej
Hello, thank you very much for the sample code.
May I ask how do you incorporate the target humidity (dry, normal, wet)?
This is holding register 11.
Also, for heating mode and cooling mode, there are separate registers 15 and 16. Do I have to implement them as standalone modbus switches or is there any way to implement it in the climate entry? I don’t know how to do it as the climate entry requires having only 1 modbus address (0) while Futura has fan modes on address 0 but heating and cooling on address 15 and 16.
Thank you.
AFAIK there’s no target humidity paramter in the Modbus Climate entity, also the cooling and heating modes are supported if a single register is used for both.
There are 2 ways to have all the parameters (Input/Output), the simper one is to read values via modbus sensors and write values from custom helpers via automation using modbus.write_register or modbus.write_coil services.
The more complex one is to write a custom integration that does the hard work and expose native HA entities.