Hallo zusammen,
ich benötige ein Script, wodurch einzelne Hue Lampen blinken und anschließend zu ihrem alten Zustand (Status an/aus, Farbe, Helligkeit) zurückkehren. @KaiS hatte den Vorschlag gemacht, bevor der Befehl für den Effekt abgeschickt wird, ein GetValue auf die Variablen Farbe, Helligkeit und Status zu machen und diese Werte dann in Variablen im Script zwischenzuspeichern und diese Variablen dann wieder zu benutzen, um die Werte zu setzen.
In der iConnectHue App lässt sich das Blinken in zwei Varianten darstellen (kurz/lang).
bei kurz: 1x blinken
bei lang: 15x blinken
Vielleicht lässt sich diese Unterscheidung auch im Script vornehmen.
Die Idee von Kai habe ich verstanden, scheitere jedoch kläglich in der Umsetzung. Ich würde mich über Hilfe/Lösungen freuen, da ich leider keine Kenntnisse in dem Bereich habe.
Hallo Kai,
danke für dein Script. Ich bekomme es nicht zum Laufen. Ich weiß auch nicht, ob meine Variablenzuodnung stimmt. Wie werden denn die aktuellen Daten in die neuen Variablen geschrieben? Das ist mir aus deinem Script noch nicht klar. Ich habe verschiedene Varianten probiert, aber die Werte werden nicht in meine neuen Variablen „Farbe zwischenspeichern“ etc. übernommen. Line 8 wirft einen Fehler aus.
Anbei ein paar Screenshots:
Es ändert sich leider nichts. Das einzige was passiert ist, dass sich bei Ausführung des Scripts die Hue Leuchte ausschaltet. Dies war auch schon beim vorherigen Script von dir so. Hm
Hier noch einmal die Übersicht. Rechts sieht man, dass nach Ausführung des Skriptes die Werte nicht übernommen werden. Ich habe jetzt auch den Grund, wieso die Lampe nach Ausführung des Skriptes ausgehen. In den „Zwischenspeicher-Variablen“ sind keine Werte bzw. der Wert „0“. Somit nehmen die HUE Lampen diese Werte an. Bei 0 gehen sie natürlich aus.
In den „Zwischenspeicher-Variablen“ habe ich die Profile ausgewählt, die auch die original Variablen in der Instanz haben.
Ich denke das Hauptproblem ist die fehlende Übertragung in die Zwischenwerte.
Daaaaaanke. Das funktioniert jetzt schon einmal
Er spuckt jetzt noch den Fehler aus :
„Notice: Undefined variable: color in /var/lib/symcon/scripts/58239.ips.php on line 10“
Gut, ich habe auch oben in den Variablen keine Color angegeben. Das lässt sich aber noch einbauen, analog zu den Variablen oben, oder? Derzeit nutze ich am Schreibtisch nur eine White Ambiance. Für spätere Projekte jedoch sicherlich hilfreich.
Auch noch eine interessante Beobachtung ist, dass wenn die HUE Leuchte an ist, sie 15x blinkt. Wenn sie aus ist, blinkt sie nur entsprechend dem IPS_Sleep Wert. Ist eine Anpassung auch bei der bereits leuchtenden Lampe möglich?
Hallo,
habe das auch mal getestet und kann das so bestätigen. Wenn die Leuchte an ist, blinkt sie 15x. Anfangs in Bunt und dann in weiß, halt der Anfangszustand.
Wenn die Lampe aus ist und ich das Skript ausführe blinkt sie bunt in verschiedenen Farben und die 2 Sekunden.
Bekomme auch die Meldung:
„Notice: Undefined variable: color in /var/lib/symcon/scripts/58239.ips.php on line 10“
@KaiS Dein letztes Script wirft jetzt bei mir den Fehler aus:
Notice: Undefined variable: array in /var/lib/symcon/scripts/58239.ips.php on line 10
Fatal error: Uncaught TypeError: Argument 1 passed to HUEDevice::Request() must be of the type array, null given, called in /var/lib/symcon/scripts/__generated.inc.php on line 1795 and defined in /var/lib/symcon/modules/.store/info.schnittcher.ips.philipshue/HUEDevice/module.php:368
Stack trace:
#0 /var/lib/symcon/scripts/__generated.inc.php(1795): HUEDevice->Request(NULL)
#1 /var/lib/symcon/scripts/58239.ips.php(10): PHUE_Request(56168, NULL)
#2 {main}
thrown in /var/lib/symcon/modules/.store/info.schnittcher.ips.philipshue/HUEDevice/module.php on line 368
Das alte Script darüber funktionierte.
Ich habe gerade einen Workaround herausgefunden.
Wenn man die Lampe nur einmal blinken lassen möchte, muss man „l“ weglassen:
$opt =['alert' => 'select'];
Die Funktion nennt sich dann „one breathe cycle“, mit eine „l“ (keines L) nennt sie sich „breathe cycles for 15 seconds“.
Jetzt kann man beispielsweise das Skript so abändern, dass man 2x einen Breath durchläuft. So kann man dann mit den Lichtsignalen spielen und je nach Bedarf eine Information zuordnen.
Bei mir kommen dann lauter Fehler:
Notice: Undefined variable: array in /var/lib/symcon/scripts/16654.ips.php on line 27
Fatal error: Uncaught TypeError: Argument 1 passed to HUEDevice::Request() must be of the type array, null given, called in /var/lib/symcon/scripts/__generated.inc.php on line 9107 and defined in /var/lib/symcon/modules/.store/info.schnittcher.ips.philipshue/HUEDevice/module.php:383
Stack trace: #0 /var/lib/symcon/scripts/__generated.inc.php(9107): HUEDevice->Request(NULL) #1 /var/lib/symcon/scripts/16654.ips.php(27): PHUE_Request(31806, NULL) #2 {main}
thrown in /var/lib/symcon/modules/.store/info.schnittcher.ips.philipshue/HUEDevice/module.php on line 383
Abort Processing during Fatal-Error: Uncaught TypeError: Argument 1 passed to HUEDevice::Request() must be of the type array, null given, called in /var/lib/symcon/scripts/__generated.inc.php on line 9107 and defined in /var/lib/symcon/modules/.store/info.schnittcher.ips.philipshue/HUEDevice/module.php:383
Stack trace: #0 /var/lib/symcon/scripts/__generated.inc.php(9107): HUEDevice->Request(NULL) #1 /var/lib/symcon/scripts/16654.ips.php(27): PHUE_Request(31806, NULL) #2 {main}
thrown
Error in Script /var/lib/symcon/modules/.store/info.schnittcher.ips.philipshue/HUEDevice/module.php on Line 383
Hier die Lösung für Helden mit keiner Zeile Skript:
Was wird gebraucht:
Module Store - Szenensteuerung
Ablaufplan
In der Szenensteuerung Anzahl 1 Szene einstellen und die gewünschte Hue Lampe hinzufügen.
Ablaufplan einrichten. PseudoCode mässig:
Szenensteuerung „Speichern“ abrufen // speichert den vollständigen Zustand der Hue Lampe
Hue Licht an
Warten in Sekunden/Millisekunden
Hue Licht aus
… // beliebig oft wiederholen
Szenensteuerung „Aufrufen“ abrufen // stellt Zustand der Hue Lampe wieder her
Ich weiß das ist nicht schön - aber erspart euch den gekrebse mit dem Skript.
Ihr müsst euch nicht um die Zustände der Lampe kümmern - lasst das doch Symcon machen - dafür ist es da.