Überprüfen des Zustands - danach je nach Zustand Tasten drücken

Hi,

ich habe einen Knoten im Gehirn und frag jetzt einfach mal, weil ich nicht auf die Lösung komme.

Ich habe ein Schalter auf einem Dashboard. Hier wird der Zustand angezeigt, also Läuft oder Außer Betrieb (jeweils gelb/blau):

Soweit, so gut. Er verweist auf den Status (siehe unten im Screenshot).

Allerdings kann ich mit dem Status nicht schalten. Allerdings habe ich zwei Drücker, mit dem ich herunterfahren bzw. Starten könnte. Das funktioniert auch:

Jetzt suche ich nach einer Möglichkeit, wenn ich den Schalter im Dashboard (Einfachklick) anklicke, das dann geprüft wird in welchem Zustand sich das Gerät befindet (siehe Status). Anschliessend soll die jeweilig andere Aktion durchgeführt werden.

Also “Außer Betrieb”, dann drücke “Starten”.
Und wenn “Läuft”, dann drücke “Herunterfahren”.

Wie mache ich das?

LG, Mitch

Moin,
Sollte doch mit einer einfachen Automation gehen. Wenn der Schalter (trigger) betätigt wird dann Option 1 prüfe Zustand von „Status“, wenn „Außer Betrieb“ dann Schalter „starten“ auslösen.
Und Option 2 prüfe Zustand von „Status“, wenn „Betrieb“ dann Schalter „herunterfahren“ auslösen.

Das ginge z.B. mit so einem Skript:

alias: QEMU Herunterfahren / Starten
description: "Startet oder stoppt je nach Zustand das Gerät."
sequence:
  - if:
      - condition: state
        entity_id: <Entität die den Zusatnd im Button anzeigt>
        state: "Gestartet"
    then:
      - action: button.press
        metadata: {}
        data: {}
        target:
          entity_id: <Entität des Button Herunterfahren>
    else:
      - action: button.press
        metadata: {}
        data: {}
        target:
          entity_id: <Entität des Button Starten>

Und in der Entety Card im Dashboard kannst du dieses Skript dann über die tap_action aufrufen:

    tap_action:
      action: call-service
      service: <script.Name des Skriptes>

Du musst natürlich alle Entitäten an deine anpassen und bei state: das eintragen, was angezeigt wird, wenn es in Betrieb ist.

1 „Gefällt mir“

Das hat super geklappt. Der Code-Schnipsel hat mir sehr geholfen und endlich habe ich den Unterschied zwsichen Automation und Skript verstanden. Danke für Eure Hilfe.

Ich musste nur bei dem Zustandsabfrage das englische Wort running nutzen. Habe ich hier etwas falsch in HA administriert, oder ist das normal?

Na macht ja nichts - hauptsache es funktioniert.
Zeigt der Button im Betrieb auch Running an? Ansonsten steht da ja “Außer Betrieb”.
Und wenn ich das richtig sehe, gibt es ja zwei Status-Entitäten: “Außer Betrieb” und “Gestoppt”!?

1 „Gefällt mir“

Das ist das witzige: Wenn ich im im Entwicklermodus nachschaue steht im Feld running drin. Und dann funktioniert das Skript. Im Dashboard steht: „In Betrieb“, aber wenn ich das nutze, geht das Skript nicht.

Aber du hast Recht, Hauptsache es funktioniert!

Super Hilfe von Euch!!!