Hue Lampen blinken lassen - alter Lampenstatus

@KaiS
jetzt funktioniert es. Anfang bis Ende blinken jetzt die Leuchten in Weiß. Das mit dem Unterschied wenn die Leuchten an sind bleibt aber bestehen.

Das kann ich mir iwie nicht erklären und kann es leider auch nicht testen, da müsst ihr selbst mal suchen.
Zur Zeit habe ich keine HUE Birdge eingerichtet.

Grüße,
Kai

Das muss was mit ‚ISelect‘ zu tun haben. Wenn ich wie marvus beschrieben das Skript ändere in ‚Select‘, dann leuchtet die Lampe immer nur einmal auf, ob der Status vorher An oder Aus ist.

Edit:
marvus hatte es ja schon beschrieben „breathe cycles for 15 seconds“

Das hatte ich eben überlesen.
Dann könnte ihr damit ja ein wenig spielen. :slight_smile:

Grüße,
Kai

Mit dem Skript von marvus, muss man dann wieder die Zeile 10 und 17 ändern von PHUE_ColorSetOpt in PHUE_Request ?

Bekomme dabei wieder die Fehler wie oben mit Zeile 10 und 17.

Brauche persönlich diese Blinkfunktion nicht, war mir mir nur reine Neugierde.

Genau, das musst du wieder anpassen.

Grüße,
Kai

Was mich jetzt noch rein informativ interessieren würde wie man einzelne Farben blinken lassen könnte. Z.B. Rot 1x blinken, 2 Sek. warten, Blau 1x blinken usw.

Wahrscheinlich so:

$opt =['alert' => 'select'];
$Value['hex'] = '#ff0000';
PHUE_ColorSetOpt(56168,$Value,$opt);

Grüße,
Kai

Hab ich mal versucht und bekomme folgende Meldung:
Warning: Illegal string offset ‚hex‘ in /var/lib/symcon/modules/.store/info.schnittcher.ips.philipshue/HUEDevice/module.php on line 458

Die Leuchten werden dann zwar geschaltet, aber auch wieder wahllose Farben anschließend.

Hier mein skript:

//alte Werte merken
$status = GetValue(43972); //Status Variable
$helligkeit = GetValue(48479); //Helligkeit Variable
$farbtemperatur = GetValue(30285); //Farbtemperatur Variable

//Blinken lassen
$array=['alert' => 'select'];//nur 'select' dann leuchtet die Lampe nur einmal auf
PHUE_Request(31806,$array); //ID der Instanz der gewünschten Lampe

//Zwei Sekunden warten
IPS_Sleep(2000); //2 Sekunden warten (Wert ist in Millisekunden)

//Blinken lassen
$opt =['alert' => 'select'];//nur 'select' dann leuchtet die Lampe nur einmal auf
PHUE_ColorSetOpt(31806,'#ff0000',$opt); //ID der Instanz der gewünschten Lampe

//Zwei Sekunden warten
IPS_Sleep(2000); //2 Sekunden warten (Wert ist in Millisekunden)

//Blinken lassen
$array=['alert' => 'select'];//nur 'select' dann leuchtet die Lampe nur einmal auf
PHUE_Request(31806,$array); //ID der Instanz der gewünschten Lampe

//Zwei Sekunden warten
IPS_Sleep(2000); //2 Sekunden warten (Wert ist in Millisekunden)

//Alten Stand wiederherstellen
$array =['bri' => $helligkeit, 'on' => $status, 'ct' => $farbtemperatur];
PHUE_Request(31806,$array); //ID der Instanz der gewünschten Lampe

Sorry, habe das Script nochmal angepasst.
Ich habe da irgendwie nen Fehler im Modul, guck mal ob das so geht.

Grüße,
Kai

Jetzt kommen die Meldungen:

Notice: Array to string conversion in /var/lib/symcon/modules/.store/info.schnittcher.ips.philipshue/HUEDevice/module.php on line 457

Warning: Cannot auto-convert value for parameter Data in /var/lib/symcon/modules/.store/info.schnittcher.ips.philipshue/HUEDevice/module.php on line 462

Farben bleiben gleich, das erste Blinken ist Weiß, das zweite ist Grün und dann kommt Blau

Ich erzähle hier gerade auch nen Mist. :smiley:
Das ist gerade einfach kaputt im Modul. :smiley:

Grüße,
Kai

Kein Problem, ist nicht so wichtig.

:sunglasses: :smiley: :smiley: :smiley:

@KaiS Vielen Dank für deine Unterstützung. Das Skript klappt jetzt für meine Zwecke sehr gut :slight_smile:

@Pio Lass mich ein Held sein :wink:

  • Szene 01 ist mit allen Variablen der HUE Instanz „Schreibtisch M“ angelegt.
  • Ablaufplan ist eingerichtet und funktioniert.

Doch wie kann ich beispielsweise auf die Farbtemperatur beim Blinken Einfluss nehmen? Wenn ich dich richtig verstanden habe, merkt sich der Ablaufplan mit „Szenensteuerung speichern“ den vorherigen vollständigen Zustand. Wenn ich im Ablaufplan dann jedoch beispielsweise die Farbtemperatur auf 153 Mired setze und am Ende des Ablaufplanes wieder „Szenensteuerung aufrufen“ implementiere, bleibt die Farbtemperatur auf 153 Mired. Wo ist mein Denkfehler?

@marvus

Ich sehe da keinen Denkfehler.
Speichert die Szenensteuerung denn korrekt den Wert?
Kannst du das testen indem du die Szene mal speicherst, die Farbtemperatur änderst und dann die Szene wieder aufrufst?

Hallo Pio,
es funktioniert jetzt. Irgendwo war der Wurm drin. Ich habe keine Ahnung. Nachdem ich es 5x hin und her probiert habe und die Werte neu gespeichert habe, läuft es jetzt.

Danke für diese Idee. Das ist neben Kais Skript, bei anderen Projekten, definitiv eine Alternative :slight_smile:

Ich wollte dies auch mal mit dem Ablaufplan probieren, aber scheitere an dem Ereignis → Bei bestimmtem Wert → True.

Wobei ich sagen muss ich wollte das mit einer Bool Variable probieren und die Variable auf True setzten. Aber er legt mir dieses Ereignis nicht an sondern nimmt nur das Ereignis → Bei Änderung

Was mache ich falsch?

Wenn ich den Ablaufplan ausführe, blinken die Leuchten.

Ich habe bis heute den Ablaufplan noch nie benutzt und muss sagen das die Funktion ziemlich genial ist.

Das ist mein Ablaufplan. Vielleicht hilft dir das ja weiter.
Mit der Boolvariable müsste das doch auch problemlos gehen. Hast du beim Auslöser „Bei bestimmtem Wert“ → „Wert true“ ausgewählt?

Hi marvus,
das ist ja das Problem. Ich kann nur „Bei Änderung“ auswählen. Wenn ich " Bei bestimmten Wert" auswähle, kommt eine Fehlermeldung das er das Ereignis nicht anlegen kann.

LG
Stefan

@Stefan71
Ich sehe oben rechts, dass der Ablaufplan nicht gespeichert wurde.
Kann dies vielleicht schon zu einem Fehler führen.

Bitte zeig uns doch einmal die Fehlermeldung.