Automation is called only one time

Hello community,
I’m facing a strange behavious on HA 0.79.3 (HASS.IO). I have a simple automation to switch off Radiator if temperature reach a specific value:

- id: radiator_off
  alias: Radiator Off
  trigger:
    platform: numeric_state
    entity_id: sensor.living_temperature
    above: 22 
  action:
  - service: climate.set_operation_mode
    data:
      entity_id: climate.living
      operation_mode: Off

When I reload automations, the tado radiator will be switched off since the temperature is now at 23°. The problem is that if I switch on the radiator, using Tado App, Google Home voice commnad, or simply manually using the radiator itself, the automation is not called anymore. I have to reload automation in HA then it works again.
I really don’t understand why HA get this behaviour, it seems that the trigger works only one time, but I don’t know what’s wrong.

Could someone advise?

Thank you
Lucas

A numeric state trigger only triggers when it crosses the threshold. If the number is already above the temperature, it won’t fire.

You could resolve this by adding a secondary time trigger (such as every five minutes), and also a condition that the temperature is above 22, so that the automation fires as soon as the temperature goes above 22, or within 5 minutes of you turning on the radiator manually. You could also add a condition that the radiator is on, so that your log isn’t polluted with the automaton firing every five minutes when the room is cooling off.

Thank you for explanation Dolores, but what do you mean with adding a secondary time trigger ?
Do you mean in the same automation or other one?

EDIT: Do you mean something like:?

  trigger:
    - platform: numeric_state
      entity_id: sensor.living_temperature
      above: 22 
    - platform: time
      minutes: '/5' 
      seconds: 00

In the same automation. Look at the linked example, that automation will fire every five minutes and at sunset. Therefore you will have to add a condition to the automation, so that it only runs every five minutes IF the temperature is above your threshold.

Thank you, it works perfect, I also added a condition to check if radiator is on prior to execute action:

  condition:
    - condition: template
      value_template: "{{ states.climate.living != 'Off' }}"
2 Likes