Hi,
I’m just starting my journey with HA. It looks like it is flexible enough to cater for my needs, but probably with some code. I’m quite competent with Python, but need guidance with the overall approach.
I have a single RS485 Modbus network which has three types of devices on it:
- Thermostats (4x) which control floor heating, two also control ceiling fans (3 speeds), all via 24VAC relay contacts. These devices have a full 7-day/4-phase calendar, heat and cool modes, set temperatures, time-of-day display, room and floor temperature measurement and external temperature display;
- Reverse cycle air conditioner (2x) with set temp, fan speed, return air temp measurement;
- Awning controller, with position control and position readout.
I want HA to be able to access all these functions, to give me remote control, reprogram the thermostats seasonally, link the aircons with the thermostats, etc. But I don’t want to diminish the interface direct to the thermostats - they and HA should work together.
This question is about how I model the thermostats to expose all their capability into HA. Do I need to write a Python module, obstensibly like https://github.com/home-assistant/core/blob/75615bd92a8380b4d3f25834701d910a6e239663/homeassistant/components/modbus/climate.py, which picks up all the ClimateEntity interfaces, but also inherits from other entities like FanDevice, SwitchEntity, etc. and implements those interfaces? Or is it done some other way?
And I don’t see entities representing things like a clock (for time-of-day setting) or the calendar.
I have full ModBus register descriptions, so there are no issues there. But some code showing the necessary module structure and interfaces that illustrates the overall appreach would be very helpful.
Thanks.