Automation bleibt in mitten des Ablaufs stehen

Hallo zusammen

seit einiger Zeit ist mir aufgefallen, dass einzelne Automationen auf einmal nicht mehr richtig funktionieren. Sie scheitern immer an den Bedingungen. Obwohl alle Bedingungen erfüllt sind, bleibt die Automation dort hängen. Wenn man die Bedingung löscht, bleibt die Automation dennoch dort stehen und läuft nicht weiter. Erst wenn ich Home Assistant neu starte, funktioniert die Automation wieder richtig.

Kennt jemand das Problem?

Kann es sein, dass du die Auswahl deaktiviert hast?

Nein. Nach einem Neustart funktioniert die Automation wie sie soll.

Kannst du mal die Automation posten?

Klar, hier ist der Code:

alias: Bad 2 Licht BM
description: Licht ein/aus inkl. Night Mode
trigger:
  - platform: state
    entity_id:
      - binary_sensor.bewegungsmelder_bad_2_occupancy
    to: "on"
    id: Licht ein
  - platform: state
    entity_id:
      - binary_sensor.bewegungsmelder_bad_2_occupancy
    to: "off"
    for:
      hours: 0
      minutes: "{{ states('input_number.timer_bm_aus_automation_bad_2') | round(0) }}"
      seconds: 0
    id: Licht aus
condition:
  - condition: or
    conditions:
      - condition: and
        conditions:
          - condition: trigger
            id: Licht ein
          - condition: state
            entity_id: input_boolean.bewegungsmelder_bad_2_aus
            state: "off"
          - condition: and
            conditions:
              - condition: state
                entity_id: switch.spiegel_bad_2_3
                state: "off"
              - condition: state
                entity_id: switch.spiegel_bad_2_3
                state: "off"
        alias: "UND\_Licht ein"
      - condition: and
        conditions:
          - condition: trigger
            id: Licht aus
          - condition: state
            entity_id: input_boolean.bewegungsmelder_bad_2_aus
            state: "off"
          - condition: state
            entity_id: input_boolean.switch_vor_bm_bad_2
            state: "on"
          - condition: or
            conditions:
              - condition: state
                entity_id: switch.spiegel_bad_2_3
                state: "on"
              - condition: state
                entity_id: switch.spiegel_bad_2_3
                state: "on"
        alias: "UND\_Licht aus"
action:
  - choose:
      - conditions:
          - condition: state
            entity_id: input_boolean.night_mode
            state: "on"
          - condition: trigger
            id: Licht ein
        sequence:
          - service: input_boolean.turn_on
            data: {}
            target:
              entity_id: input_boolean.switch_vor_bm_bad_2
          - service: scene.turn_on
            target:
              entity_id: scene.bad_2_licht_ein_night_mode
            metadata: {}
      - conditions:
          - condition: state
            entity_id: input_boolean.night_mode
            state: "off"
          - condition: trigger
            id: Licht ein
        sequence:
          - service: input_boolean.turn_on
            data: {}
            target:
              entity_id: input_boolean.switch_vor_bm_bad_2
          - type: turn_on
            device_id: 0fddaebca20ee1ae1bc79f28e30b1a37
            entity_id: light.spot_bad_2_3
            domain: light
            brightness_pct: 100
          - type: turn_on
            device_id: f577270785fa86bc92d636bc7592efc4
            entity_id: switch.spiegel_bad_2_3
            domain: switch
      - conditions:
          - condition: trigger
            id: Licht aus
          - condition: state
            entity_id: binary_sensor.doorsensor_bad_2_contact
            state: "on"
        sequence:
          - service: input_boolean.turn_off
            data: {}
            target:
              entity_id: input_boolean.switch_vor_bm_bad_2
          - service: light.turn_off
            data: {}
            target:
              entity_id:
                - light.spiegel_bad_2
                - light.spot_bad_2_3
mode: single

Wie gesagt, nach dem Neustart funktioniert interessanterweise die Automation wieder einwandfrei.

Korrektur: ich hatte das or übersehen.

Hi,

grundsätzlich solltest Du bei einer Automation mit IDs nur dann allgemeine Bedingungen festlegen, wenn sie für alle Aktionen gelten, wie der “input_boolean.bewegungsmelder_bad_2_aus”. Jede Deiner Optionen hat ja auch eine eigene Bedingungssektion, in der Du alle jeweils speziell gültigen Bedingungen definieren kannst und auch solltest.

Und wenn du schreibst, Du hättest die allgemeinen Bedingungen gelöscht und die Automation hätte trotzdem dort gestoppt: Hast Du denn das Ganze vor dem Test auch abgespeichert? Denn wenn es keine Bedingen gibt, kann dort auch nichts stoppen. Und wenn dann keine Option zuträfe, würde das Ganze am Scheidweg der Optionen den Weg ohne Aktionen nehmen.

Hoi @HeikoBauer

Hoi Heiko

Ich habe die ID in den allgemeinen Bedingungen verwendet, damit ich in der Übersicht sehen kann, wann die Automation zuletzt ausgelöst hat oder nicht. Ansonsten wird jeder Durchlauf angezeigt. Das ist nicht das Problem.

In diesem Beispiel ist die Bedingung eine Überprüfung eines Boolies.
Erfüllt die Automatisierung die Bedingung nicht, wird sie mit (X) vorzeitig beendet:

Wenn die Automation die Bedingung erfolgreich durchläuft, endet diese bis und mit Ende Aktion durch:

Und manchmal bleibt die Automation bei der Bedingung stehen, obwohl sie erfüllt ist. Erst nach einem Neustart von HA läuft die Automation normal weiter.

Dies geschieht egal ob allgemeine Bedingungen vorhanden sind oder nicht.

Die erste Prüfung A/B … was prüft die? Denn da steigt die Automation aus.

Edit:
Hast du es mal mit
mode: restart
versucht?

In dem Beispiel wird nur geprüft, ob Sonos join aktiv ist. Also nichts spannendes.

Was passiert bei der Prüfung wenn Sonos Join an ist?

Dann stoppt die Automation dort.

Hast du das versucht?

Da die Automation zurzeit normal funktioniert, nein. Ich muss warten, bis die Automation mein, nicht mehr seine Task zu erledigen.