Generelle Frage zur Automation

Hallo,

ich würde gerne Fragen stellen. Ich habe eine Automation für einen Wassertank gebastelt, der mittels eines Schwimmschalters einen Wasserverteiler steuert (Klappe im Fallrohr mit Klappenmotor).

Die Automation sieht aktuell so aus:

alias: Tank 2000l Befüllung steuern
description: ""
triggers:
  - trigger: state
    entity_id:
      - binary_sensor.schwimmerschalter_tank_schwimmer
    to: "on"
    id: Befüllung stoppen auf Kanalisation schalten
    from: null
  - trigger: state
    entity_id:
      - binary_sensor.schwimmerschalter_tank_schwimmer
    to: "off"
    id: Befüllung auf Tanks schalten
    from: null
conditions: []
actions:
  - choose:
      - conditions:
          - condition: trigger
            id:
              - Befüllung stoppen auf Kanalisation schalten
        sequence:
          - device_id: 5ae99e8ed93d9156ff8eeaddfe8164a9
            domain: cover
            entity_id: 80f145f11ca0bdb591afa3cf084cb634
            type: open
      - conditions:
          - condition: trigger
            id:
              - Befüllung auf Tanks schalten
        sequence:
          - device_id: 5ae99e8ed93d9156ff8eeaddfe8164a9
            domain: cover
            entity_id: 80f145f11ca0bdb591afa3cf084cb634
            type: close
mode: single

Die Klappe ändert sich aber nicht. Trotz das der Schwimmerschalter einwandfrei funktioniert. Aktuell steht er laut Zustand auf “off”, also geschlossen (Vorgabe der Automation). Sodass der Klappenmotor laut Automation auf “close” stehen sollt.

Korrekt?

  1. Was mache ich falsch?
  2. Wie verhält sich eine Automation, wenn der Trigger zwischendurch manuell geändert wurde (habe mit Shelly mal den Motor direkt angesteuert und geändert)

UPDATE: Nachdem ich mal die Zustände manuell im Entwickler geändert habe, läuft die Automation (komischerweise)?

Bleibt aber dennoch die Frage über, was mit der Automation passiert, wenn zwischendurch mit der Shelly z.B. die Klappe manuell geöffnet oder geschlossen wird?? Wann würde die Automation wieder übernehmen oder gar nicht?

Da würde ich an deiner Stelle als Erstes mal in die trace schauen.

Vorsichtig wäre ich bei leerem from:, da deine Automation dann auch bei unavailable/unknown/none triggert (es sei denn, das ist durchaus so gewollt).

OK. Automation läuft soweit. Meine Frage aber noch:

Wenn ich den Schwimmer mal im Entwickler auf on gestellt habe, fährt der Klappenmotor in die richtige Stellung.

Szenario: Ich lasse ihn auf on und starte neu. Nach dem Neustart steht der Schwimmer wieder auf off (Wasser ist ja nicht so hoch), was korrekt ist, aber die Automation wird nicht überprüft, bzw. die Klappe wird dahingehend korrigiert, wie der Schwimmer steht?

Mache ich da was falsch?

In den Entwicklerwerkzeugen simulierst du Zustandswechsel nur. Dein eigentliches Problem ist doch, dass die Automation keine Aktionen ausführt. Normalerweise sollte bei einem Wechsel von off zu on und umgekehrt die Automation getriggert werden. Ob das überhaupt der Fall ist, hast du noch nicht verraten (—> trace).

Doch im ersten Satz. Automation läuft sowe

Damit meinte ich, dass sie auch korrekt ausgelöst wird

Nun zu meiner Frage, was passiert wenn ich jetzt diesen schwimmerschalter einfach auf ON setze obwohl das Wasser gar nicht hoch ist und dann einem Neustart mache nach dem Neustart ist der Schwimmer ja wieder auf OFF was passiert dann mit einer Automation bzw mit dieser automation

Du schriebst:

Daraus habe ich geschlossen, dass die Aktion nicht ausgeführt wird.

Wieso ist der Binärsensor nach einem Neustart wieder aus? Falls du den simulierten Zustandswechsel meinen solltest: Natürlich ist der getürkte Status dann wieder weg, eben weil er ja nichts mit dem tatsächlichen Status des Binärsensors zu tun hat. Wenn es ein physischer Sensor ist (kein einfacher Template-Sensor), dürfte er nicht triggern, weil er bereits aus ist.

Kann man das denn nicht irgendwie anders machen?

Das heißt dass bei Neustart z.b überprüft wird ob der Schwimmer auf OFF oder on ist und je nachdem dann die klappensteuerung angesteuert wird

Klar: Home Assistant trigger

Aber irgendwie hab ich das Gefühl, dass wir aneinander vorbeireden.

Denke ich auch fast. Ich habe mir Deinen link mal genau angeschaut.

Die Automation bei mir wurde ja mit “state” erstellt. Also den Status überwachen. Demnach müsste doch bei einem Neustart der aktuelle Status in dieser Automation überprüft werden, oder verstehe ich das falsch?

Das heißt doch, wenn ich hier zum Beispiel den Schwimmerschalter im Entwickler anders setze als der reale Zustand des Schwimmers ist. Wann erkennt das die Automation? Beim Neustart oder nur beim Zustandswechsel des Schwimmers?

Ich würde eben gern etwas haben, wo ständig, oder in gewissen Abständen (beim Neustart auf jeden Fall) der Zustand des Triggers in einer Automation überprüft wird. Machbar?

Noch mal: Das ist KEIN realer Zustand. Lass die Entwicklerwerkzeuge mal ganz außen vor.

Und poste bitte die trace.