We have a fairly strange setup for heating in our house in that we have 12 rooms, 3 heat zones plus one hot water zone, and 2 boilers that heat a common mixer circuit.
The current control is via an inflexible management system that’s completely closed. I’d like to replace it with HA
We have Zigbee temp sensors in each room, plus zigbee TRVs - a mix of Tuya, Hive (Danfoss) and Drayton (schneider). I’ve created generic_thermostats in every room with the temp sensor as target sensor, and an input_boolean as the switch. I’ve then created groups of input booleans for the zones, and automated turning on/off an ESP32 IO connected to a relay for that zone based on the group.
For the boiler, I can create a group of zones that will turn the boiler on when there’s demand, BUT!
I have 2 boilers.
If the flow temp is more than 10 degrees below flow target temperature, both boilers should run.
If flow temp is less than 10 degrees below target, one boiler should run. If the week number is even, use boiler 1. If the week number is odd, use boiler 2.
I can’t think of a way to automate the “boiler house” intelligence with Home Automation so I think I need to write a small component to do this.
Before I go down that route, any ideas on how to achieve what I want to achieve using HA out of the box?
What do you mean by “boiler house” intelligence? What are you trying to achieve exactly?
Do you simply mean what you described here:
You aren’t sharing a lot of details, like what HA entities exist, but you could have a template binary sensor for each boiler that indicates whether it should be on, where the first uses a template like this:
{% set flow_temp = states('sensor.flow_temp')|float %}
{% set target_temp = states('sensor.target_temp')|float %}
{% set delta_temp = target_temp - flow_temp %}
{% week_no_even = now().strftime('%U')|int % 2 == 0 %}
{{ delta_temp > 10 or 10 >= delta_temp > 0 and week_no_even }}
And the template for the second boiler is the same, except the last part would be:
{{ delta_temp > 10 or 10 >= delta_temp > 0 and not week_no_even }}
Thanks Phil, I’ve just been looking at how to get the week number, and came to the conclusion this might be possible using templates, which I hadn’t used before.
Your solution looks to be just what I needed to know. I did miss out that the demand from the zone group needs to be there as the trigger, but I think that’ll be easy to work out now you’ve given me the way forward. That’s the clue I needed, thank you so much! Really appreciate you taking the time to answer.
Regarding “boiler house” - that’s the terminology the current building energy management system (BEMS) uses. It seems to be all running off a PIC chip.