Help triggering a Low Water Alert for Boiler based on temperature change

Throughout the winter my boiler periodically needs to be refilled. The only indication we get for this is that the house feels surprisingly cold. I’ll look at my thermostat which thinks it’s heating, but the boiler is not firing because of it’s low water cutoff.

I’d like to use HA to notify me of this condition, but I can’t seem to trigger an alert. Anyone know why this automation won’t trigger? I check my history and the current_temperature attribute correctly indicates changes.

Thank you.

alias: Low Water Alert
trigger:
  - platform: state
    entity_id:
      - climate.heat
    attribute: current_temperature
    to: "65"
    from: "65.5"
  - platform: state
    entity_id:
      - climate.heat
    attribute: current_temperature
    to: "65"
    from: "66"
  - platform: state
    entity_id:
      - climate.heat
    attribute: current_temperature
    to: "65"
condition:
  - alias: Heat is Heating
    condition: state
    entity_id: climate.heat
    attribute: hvac_action
    state: heating
action:
  - service: script.mobile_notification
    data:
      message: Looks like the boiler might need a refill.
mode: single

Try numeric state, not state.

2 Likes

There are simpler ways to do this.

Fundamentally if the temperature is below X you want to send an alert?

Yes that’s it. Particularly while heat hvac_mode is heating.

1 Like

The simple approach is to trigger using a template (or better yet, define the template as a binary_sensor so you can log it, graph it, etc.)

Test the expression on developer tools / template.

This example will become true if the thermo is set to heat mode and the target temperature is more than 1 degree above the current temperature. Now if you have automations / thermo programs that change the setpoint then this will become true whenever the target is set higher or if you adjust it directly on the thermo. To solve that I’d just add a delay_on and set it to 60 minutes.

{{ 
(state_attr("climate.thermo","temperature")|float(0) - state_attr("climate.thermo","current_temperature")) > 1.0 
and state("climate.thermo") == "heat"
}}

An alternative approach could be to alert if the hvac_action is heating for more than an hour (or whatever you empirically determine it should be).

1 Like

Thank you for sharing! I’ll give this a whirl.