I have designed a control system for my in floor heat using some ESP sensors and a bunch of other components. It has worked flawlessly for about a year. I did some updates on home assistant yesterday and and woke up with the shop sitting at 5 degrees centigrade this morning. The temperature in the building had been steadily dropping for the last 24 + hours. I have a number of temperature sensors monitoring the various loops and outside temperature. based on the outdoor temperature I vary the cut in temperature for the boiler.
When below the set temperature I have an automation trigger the boiler, the boiler runs for 30 minutes, then the boiler shuts off and I continue circulation the glycol in the floor for 10 minutes then the pump turns off. If the boiler output line temperature is below the set point this should trigger the boiler to turn back on and repeat this cycle until the boiler output line stays above the set point… the set point is currently 15.1 degrees centigrade. by the time the last cycle ended the return line was at 11 degrees centigrade. for some reason the event will not trigger. I suspect it is due to the fact that the temperature is below the set point. All of the rest of the automations seem to be working as designed.
for the automation I have it built as follows.
alias: Turn Shop Boiler On
description: Turns on the Boiler when the shop temperature falls below setpoint degrees Celsius
mode: single
triggers:
- entity_id:
- sensor.esp_tester_sensor_1_boiler_output
below: input_number.start_temperature
trigger: numeric_state
conditions:
- condition: state
entity_id: timer.boiler_idle_timer
state: idle
- condition: state
entity_id: timer.boiler_run_timer
state: idle
actions:
- metadata: {}
data: {}
target:
entity_id: switch.esp_boiler_monitor_boiler_switch
action: switch.turn_on
and the even has only triggered once today. it should have been running in an endless loop (boiler run then boiler idle then boiler run) until the boiler output line temperature sensor was above 15.1 degrees centigrade at the end of the idle time.
You should consider using one or more additional triggers to make the automation more resilient. At a minimum I would suggest a trigger for when HA restarts, since that is a common event that can cause these issues. Beyond that you could add one or more triggers for other points below your threshold to act as a fail safe.
Thank you, I figured it was something along this line but was really not sure how to correct the issue without messing up the other programming. I am trialing some changes and will provide my final code when I verify it is working.
So added the on home assistant start and on completion of the idle timer… I think it runs better than I ever remember… Will keep an eye out on tweaks but here is the YAML
alias: Turn Shop Boiler On
description: Turns on the Boiler when the shop temperature falls below setpoint degrees celsius
triggers:
- entity_id:
- sensor.esp_tester_sensor_1_boiler_output
below: input_number.start_temperature
trigger: numeric_state
- trigger: homeassistant
event: start
- trigger: state
entity_id:
- timer.boiler_idle_timer
to: idle
conditions:
- condition: state
entity_id: timer.boiler_idle_timer
state: idle
- condition: state
entity_id: timer.boiler_run_timer
state: idle
- condition: numeric_state
entity_id: sensor.esp_tester_sensor_1_boiler_output
below: input_number.start_temperature
actions:
- metadata: {}
data: {}
target:
entity_id: switch.esp_boiler_monitor_boiler_switch
action: switch.turn_on
mode: single