Bedingungen in Automation

Hallo zusammen,

ich habe mal eine Grundsätzliche Frage zu den Bedingungen in Automationen.
Ich hätte erwartet, dass die Action nur ausgeführt wird, wenn der Trigger kommt und die Bedingung erfüllt ist. Das klappt bei mir aber nicht. Die Action wird ausgeführt obwohl die Bedingung “false” ist. Wenn ich aber IF in Action verwende, funktioniert die gleiche Bedingung wie gewünscht.
Ich scheine also das Konzept nicht verstanden zu haben…

Frohe Weihnachten!
Christian

Poste mal den Code deiner Automation, denn das Konzept hast du eigentlich verstanden. Ich vermute ein Problem in der Automation. Die Bedingung kannst du auch in der Automation testen über die 3 Punkte.

So ist es auch.

Die Trigger sind oder. Wenn Du also mehrere Trigger definierst, reicht es, dass ein Trigger ausgelöst wird.

Die Bedingungen sind und. Es müssen also alle angegebenen Bedingungen erfüllt sein.
Wobei man natürlich noch mit or und/oder and arbeiten kann, um zu verschachteln.

Wenn Deine Automation bzw. Bedingungen nicht funktionieren, wäre der yaml Code hilfreich, um es nachvollziehen zu können.

danke für eure Rückmeldungen, hier der Code:

Sinn der Sache ist, ich möchte benachrichtigt werden wenn die Heizung einen Fehler erkennt, aber nur wenn der Fehler nicht 2948 enthält. (das ist eine Überwachung die immer wieder kommt).

Beim Test der Bedingung erhalte ich ein false, die Action wird dennoch ausgeführt wenn ich die Automation manuell triggere.

alias: test
description: ""
trigger:
  - platform: state
    entity_id:
      - sensor.boiler_last_error_code
condition:
  - condition: template
    value_template: >-
      value_template: "{{ not '2948' in states('sensor.boiler_last_error_code')
      }}"
action:
  - service: notify.telegram
    data:
      message: >-
        Achtung: Heizung ist im Fehler! {{
        states('sensor.boiler_last_error_code') }}
mode: single

Ok Problem erkannt. Beim manuellen triggern werden weder Auslöser noch Bedingungen geprüft.

Du könntest, zum Testen, die Bedingung auch raus nehmen und in der Aktion mit wenn- dann arbeiten und dort die Bedingung abfragen.

condition:
  - condition: template
    value_template: >-
      value_template: "{{ not '2948' in states('sensor.boiler_last_error_code')
      }}"

value_template ist doppelt.

1 „Gefällt mir“

Das Problem ist dein manuelles auslösen über die drei Punkte. Dabei werden Trigger und Condition ignoriert und nur der Action Zweig ausgeführt.

Wenn du die Automation mit Bedingung testen willst, gehe in den Entwicklerwerkzeugen auf Dienste → Automatisierung: Auslösen und deaktiviere den Schalter für das überspringen der Condition:

3 „Gefällt mir“

Ihr seid super! Darauf muss man erstmal kommen! :see_no_evil:Danke