Summary: I would like advice about the best way to control a heating water circulation pump based on smart radiator valve positions.
Note: I have already searched these forums for the same topic, and not found my question, but since I am a newcomer I may have overlooked the obvious.
Introduction:
I have a home which is heated using a central furnace/boiler that circulates hot water to radiators in the rooms. I have recently set up a Matter/Thread system in which each radiator has an Eve Thermo Thermostatic Radiator Valve (TRV) mounted to it. The house is divided into two zones, each of which has a separate circulation pump. The temperature of the water in the furnace/boiler is set by the outdoor temperature.
My issue:
I would like some advice about the ``best way’’ to automate the two circulation pumps. One of the entities which is exposed by the TRV is the valve position. I would like to set things up so that if all of the TRVs in a particular zone have valve position 0 (closed) then the circulation pump is off, else it is on.
I am a newcoming to HA, so have only done a “proof of principle” using one TRV valve, and turning on/off an Eve Energy relay. You can see my .yaml automations below.
My question: what is the best way to go about this? Each of the two zones has about 25 TRVs in it. Should I have a single automation per zone that triggers on a state change in any of these? Should I have one automation per TRV? Should I have one script/automation per circulation pump that runs each five minutes and checks the valve states, then flips the circulation pumps on/off as needed?
The goal is that this should be as simple as possible, subject to being robust against failure of any particular TRV. If a TRV does not provide data, I would like to be alerted, and the pump should be turned on.
To simplify matters, perhaps there is a way for me to assign the Eve Thermo to one of two zones, and then to address all of the valve entities in each zone as a single object. As I said, I am a newcomer and don’t know much.
A further complication: I have noticed that sometimes valve data is missing for many hours. This is not because of an unreliable thread network. It is (perhaps) because I first built my system using Apple Home, then added HA as a second Matter hub/ecosystem. So it may be that only Apple Home, as the first Matter controller, gets all data and HA only gets some data. Another explanation is that my system has two Apple Homepods as thread border routers, and I’ve just added a third: an Open Thread Border Router running under HA. I have the impression that this is fairly cutting-edge and there may be some unexpected interactions between them. But I’m not sure about what is behind this problem. If helpful, I can post a plot showing valve position, which illustrates the data dropouts.
Proof of principle automations:
alias: CirculationPumpOn
description: Turns on the circulation pump
triggers:
- trigger: numeric_state
entity_id:
- sensor.eve_thermo_20ebp1701_valve_position
above: 0
conditions: []
actions:
- type: turn_on
device_id: cfd42e085df395de82c2019bccda89af
entity_id: d3bb4a986ca9a6c10f3c661e3ecfb5ff
domain: switch
mode: single
alias: CirculationPumpOff
description: Turns off the circulation pump
triggers:
- value_template: "{{ states('sensor.eve_thermo_20ebp1701_valve_position') == '0' }}"
trigger: template
conditions: []
actions:
- type: turn_off
device_id: cfd42e085df395de82c2019bccda89af
entity_id: d3bb4a986ca9a6c10f3c661e3ecfb5ff
domain: switch
mode: single
Thank you in advance for any advice about this. It may be a standard issue with a standard solution, in which case I apologize in advance for my ignorance.
Thanks,
Bruce