How to ignore automation if value is set manually?

Hello,

is there a way to ignore an automation f some value is set manually by (especially a certrain user?)

ive got my heating all automated between 18C and 21.5C (thermostat reading value), i just want the automation to be off when its set higher than 21.5C (setpoint, not actual temperature readings). so that wont last long if i just set it to 23C. how do i do that the best way?

i cant seem to find a way to integrate it like : if setpoint value is lower than 21.5C then… that climate entity is not available ?

or just if setpoint value is set to higher than 21.5C (or was last set manually) disable/pause automation yxz? (which would be my prefered way, just auto re-enable it after like 8 hours.) is this possible?

Thanks in advance.

Why don’t you just check if the temperature is below 21.5 in the automation with a condition?

when the actual thermostate reading is below 21.5 it works as it should. but im not talking about the thermostat readings, im talking about the setpoint value.

i also have various triggers for it to enable climate control, so not just off that one thermostate. which is why im asking, there are many reason why i want to set temperature manually. i just dont want to disable those automations every time i set the temperature by myself.

I don’t think I understand what you want to accomplish.

You can check if the temperature was set manually as follows:


trigger:
  - platform: state
    entity_id:
      - climate.t9_thermostat
    attribute: temperature
    for:
      hours: 0
      minutes: 0
      seconds: 5
    not_from:
      - unavailable
      - unknown
    not_to:
      - unavailable
      - unknown
condition:
  - condition: template
    value_template: "{{ trigger.to_state.context.id != none }}"
  - condition: template
    value_template: "{{ trigger.to_state.context.parent_id == none }}"
  - condition: template
    value_template: "{{ trigger.to_state.context.user_id == none }}"
  - condition: template
    value_template: "{{ state_attr('climate.t9_thermostat','temperature') != None }}"

Context is available from a trigger. See this post for a detailed explanation and available data.

So your automation can do (this is pseudocode to show you the logic):

IF set_point <= 21.5:
   run_your_existing_logic
ELSE:
   do_nothing

So as soon as you set the set point above 21.5, the automation won’t be doing anything, even if it triggers. As soon as you set the set point back below 21.5, the automation will start working again. If you know that that won’t work, it would be helpful if you explained why (e.g., does your automation logic ever raise the set point above 21.5?).

To me, that’s a lot easier than trying to figure out if the set point was changed “manually,” since that information is only available the instant that the set point changes–especially since it’s not clear to me how that would fit into your current automations (though, admittedly, you haven’t posted them, so I don’t know).

Disabling and re-enabling automations is usually not the best way to approach things in HA. There is usually an easier way.

Note that if the above approach can work for your automations, an even simpler way is to use a condition in your current automation, which I and many people here can help you do as well.