Man kann den Zustand eines Elements in eine Variable speichern → sehr gut
Allerdings, wie kann man ein Gerät zu Beginn einer Szene oder am Ende einer Szene wieder in den Zustand der Variable versetzen?
Ich erkläre es mit einem Beispiel:
Ich möchte bestimmte Philips Hue Lampen blau blinken lassen, wenn das Ofen- oder Herdprogramm beendet ist (z. B. im Badezimmer, da man den Ofenton im Obergeschoss nicht hört).
Aber nachdem ich sie zum Blinken gebracht habe, möchte ich, dass die Lampe wieder ihren Zustand vor dem Blinken annimmt. War sie ausgeschaltet? An? Helligkeit 80%? Farbe weiß? usw…
Es ist möglich, ein Gerät zu steuern, aber im Wert fehlt die Möglichkeit, ihm die Variable zuzuweisen…
Ich habe das heute Morgen getestet und leider funktioniert es nicht.
Mein Fall betrifft die Philips Hue Lampen. Bevor ich einen Bug für diese neue Funktion melde, warte ich, bis jemand die bereits vorhandenen Probleme bei Philips Hue behebt. Ich hatte ein Issue auf Github eröffnet (Philips Hue - Issue with state · Issue #1690 · GladysAssistant/Gladys · GitHub), aber leider möchte sich niemand darum kümmern
Dann mache ich mein Ding… Ich schalte auf grün, schalte aus und schließe die Schleife, damit sie blinkt.
Wenn ich fertig bin, sage ich ihr, sie soll den Anfangszustand wiederherstellen → rosa und an.
Und dann bleibt die Lampe grün oder geht aus.
Deshalb warte ich, bis Philips Hue das behoben hat, bevor ich mich zu dieser Funktion äußere.
Das ändert nichts an diesem Anwendungsfall. Das Einzige, was auf der Philips-Hue-Integrationsseite nicht implementiert ist, ist das Aktualisieren der Farbe in Gladys, wenn die Farbe der Lampe durch eine externe Aktion geändert wird (z. B. deine Hue-App), was hier nicht der Fall ist.
Kannst du Logs zu jedem Schritt der Szene hinzufügen, indem du die Aktion „Nachricht senden“ verwendest und deine Variablen einfügst? Das ermöglicht es dir, die Entwicklung der verschiedenen Variablen zu sehen.
Die Lampe ist physisch eingeschaltet, aber manchmal wird der Zustand 0 zurückgegeben.
Bisher wird die Farbe 16711875 (das in Schritt 2 angegebene Rosa) immer korrekt zurückgegeben.
Beim An/Aus-Schalter frage ich mich, ob man nicht länger als eine Minute mit dem Pooling warten muss, um den richtigen Zustand zu erhalten.
Bei der Farbe scheint sie sich nicht zu ändern, sie bleibt immer auf demselben Wert…
Ich hoffe, das hilft, das Problem besser zu verstehen.
In Bezug auf die Farbe habe ich verstanden!
Da es ein Philips Hue-Bug gibt, wenn ich die Farbe manuell in der Philips Hue-App ändere, erhält Gladys die Information nicht und Gladys behält ständig Rosa im Gedächtnis, selbst wenn meine Lampe grün ist.
Wenn ich die Farbe der Lampe über das Gladys-Dashboard ändere, hat die Variable einen anderen Wert und Gladys speichert die richtige Information.
Allerdings scheint die Einfügung der Variablen am Ende meiner Szene unabhängig vom Szenario nicht zu funktionieren.
Und der Wert der Variable ändert sich während der Szene… Meine Lampe, die gut grün war, wird im Bereich der Variable wieder rosa, nach der Nachricht mit dem Wert der Variable.
Kannst du einen Test mit „virtuellen“ Geräten durchführen (du erstellst sie in der MQTT-Integration), nur um zu bestätigen, dass es sich tatsächlich um einen Funktionsfehler der Szenen handelt, und nicht um einen Fehler in der Philips Hue-Integration (ich glaube nicht, dass das etwas damit zu tun hat)?
Der Bug von Philips Hue verursacht ein Problem bei der Wiederherstellung des Anfangswerts.
ABER tatsächlich, wenn ich eine „virtuelle“ Lampe mit dem Ein-/Ausschalter und der Farbe erstelle, verhalte ich mich auf Ebene der Variablen genauso. Das heißt, sie hat nicht denselben Wert am Anfang und am Ende…
Man kann also den Bug von Philips Hue ausschließen, er ist nicht derjenige, der eine Änderung des Variablenwerts während der Ausführung der Szene verursacht.
Danke für die Tests, ich kann das Problem auf meiner Seite reproduzieren und bestätige, dass es sich um einen Bug in den Pollutionsszenen des Szenenvariablenbereichs handelt