[Modul] Philips HUE V2 (Neue Push API)

Laut API gibt es dort allerdings etwas.
Ich schaue mir das nochmal an.

Grüße,
Kai

Bei mir siehts bei der Lichterkette so aus:

Kann aber sein, das es bei gradient dann doch anders ist

Das ist ja witzig. Jetzt geht es bei mir auch. Die Oberfläche sieht jetzt ganz anders aus. Vorher hatte ich auch keine Effekte zur Auswahl.

Scheinbar hat er ein Softwareupdate gemacht. Habe den Stripe ganz neu und gestern ging es noch nicht.

Dann muss @KaiS das jetzt auf jeden Fall implementieren. :wink: :grin:

In der Doku ist dazu auf jeden Fall etwas zu finden. :slight_smile:

Grüße,
Kai

Hier mal ein Dump der Geräteinstanz vom Ein- und Ausschalten.
Man sieht, dass er nach dem Ausschalten kurz einen anderen Dimmwert bekommt und dann wieder den ursprünglichen Dimmwert. Aber ich schätze das ist einfach eine Eigenheit des Geräts, oder?

dump_hue_lightstrip.txt (2,8 KB)

Was auch nicht geht ist im ausgeschalteten Zustand die Farbe oder Farbtemperatur einzustellen. Bei der Farbe ändert er die Variable, es passiert aber nichts. Bei der Farbtemperatur ändert er die Variable im ausgeschalteten Zustand hingegen nicht.

Ich dachte, dass man vielleicht darüber vor dem Einschalten eine Farbe festlegen könnte, aber wenn man das Gerät dann einschaltet, nimmt er wieder die vorherige Farbe oder irgendeinen Default.

Gibt es eigentlich irgendwo eine Doku der PHP-Funktionen? Auf GitHub sind nur ein oder zwei Funktionen dokumentiert.

Falls die Doku mal noch nicht komplett ist, Rechtsklick auf die Instanz und Befehl Testen.
Das Ergebnis kann man sogar mit STRG+C Kopieren und so direkt in Scripten einsetzen.
Michael

Ja, schon klar. Aber wenn man so gar keinen Schimmer hat, was eine Funktion bewirken soll bzw. welche Werte übergeben werden können/müssen, hilft das auch nur bedingt.

Danke, funktioniert! Wünsche eine schöne Weihnacht und einen guten Rutsch!

Da scheint die Bridge nochmal den alten Wert zurückzusenden.
Stört es dich denn? Diese Eigenheit haben einige Geräte, die Shelly Dimmer zum Beispiel bleiben auch auf dem Dimmwert stehen.

Grüße,
Kai

@christian, @paresy hat geäußert, dass bald wieder etwas mehr Zeit sein wird und das dann ggf. ein neues Profil für diesen Farbraum kommen wird.

Grüße,
Kai

Nicht direkt. Das Verhalten ist halt nur nicht einheitlich zwischen den unterschiedlichen Geräten.
Ich muss mal noch ein Bisschen testen, wie sich das Gerät in welcher Konstellation verhält.

@KaiS Weißt du zufällig, ob die Geräte und die API eine Möglichkeit bieten, „offline“ die Einstellungen zu ändern, quasi als Preset fürs nächste Einschalten?
Und gibt die API irgendwas in Sachen Bildschirm-Synchronisation und Effekte/Szenen her? Das ist auch noch so ein kleiner Makel, dass der Status der Gradient Lampen „an“ mit einem fixen Farbwert ist, auch wenn das Gerät permanent die Farben/Helligkeit ändert, weil es gerade mit einem Bildschirm synchronisiert wird oder eine Szene/Effekte abspielt.

Wäre schön, wenn man das erkennen könnte, um zu entscheiden, ob man im Falle einer laufenden Synchronisation etwas ändert oder nicht. Hatte bisher keine Lust mir einen Developer-Account anzulegen, um zu gucken, was die API so kann.

Versuch mal folgendes:

$InstanzID= 12345; //ID anpassen
$color = 'F6B859';
$opt = ['on' => ['on' => false], 'dimming' => ['brightness' => 150]];
PHUE_setColor($InstanzID, $color, $opt);

Wenn das geht, müsste ja beim nächsten einschalten die Lampe eine Helligkeit von 150 haben und die Farbe F6B859 eingestellt sein.

Es gibt wohl ein gradient Objekt, worüber man zumindest die Punkte ansteuern kann, ob diese auch die einzelnen Punkte zurückgeben können, müsste man testen, aber dafür bemötigte ich definitv ein Gerät, ohne wird das zu kompliziert.

Grüße,
Kai

Das klappt gar nicht. Da bekomme ich immer folgenden Fehler:

Fatal error: Uncaught TypeError: Unsupported operand types: string >> int in C:\ProgramData\Symcon\modules\.store\info.schnittcher.ips.philipshue.v2\Light\module.php(7) : eval()'d code:8
Stack trace:
#0 C:\ProgramData\Symcon\modules\.store\info.schnittcher.ips.philipshue.v2\Light\module.php(82): HUELight->HexToRGB('F6B859')
#1 C:\ProgramData\Symcon\scripts\__generated.inc.php(6771): HUELight->setColor('F6B859', Array)
#2 C:\ProgramData\Symcon\scripts\13181.ips.php(13): PHUE_setColor(12345, 'F6B859', Array)
#3 {main}
  thrown in C:\ProgramData\Symcon\modules\.store\info.schnittcher.ips.philipshue.v2\Light\module.php(7) : eval()'d code on line 8

@KaiS, @paresy, das wäre toll, wenn es hier eine Verbesserung gäbe.

@KaiS: Gibt es eigentlich eine Möglichkeit die aktive Szene auszulesen?
So könnte ich als Workaround zuverlässig eine Farbe über eine Szene wiederherstellen, wenn es zwischenzeitlich eine Änderung gab.
In der Doku habe ich nichts dazu gefunden.

Auch bei mir fällt es „unschön“ bei über die Schnittstelle initierten Farbwechseln auf, dass eine Änderung von Farbe und Helligkeit wohl erst wirksam wird, wenn die Lampe zuvor den Status „On“ bekommen hat. Ich bin da auch sehr an einer Lösung interessiert.

Viele Grüße
Christian

Hallo,
ich hätte nochmal eine Frage zu dem Kontakt Sensor. Ich dachte, dass bisher eine Zustandsänderung direkt in IPS übermittelt und angezeigt wurde. Jetzt muss ich immer update_Values ausführen. Habe ich da irgendwo etwas verstellt? Ich möchte eigentlich die Werte nicht so gerne pollen sondern getriggert darauf Aktionen ausführen.
=> hat sich erledigt. Lag an meinem PC. nachdem ich ihn neu gestartet hatte hat es wieder funktioniert. Muss jetzt doch mal IPS woanders installieren um unabhängig von Windows zu sein.

Das schaue ich mir an.

Grüße,
Kai

Ich muss nochmal genau schauen. Du meinst von einer Gruppe, oder? Ich glaube aktive Szenen kann man nicht erkennen.
Kannst du mal ein Debug erstellen, wenn du eine Szene aktivierst?

Grüße,
Kai

Installiert Philips Hue V2
In der Visualisierung funktioniert alles insbesondere auch die Auswahl der Szenen.

Nun möchte ich gerne ein paar Skripts schreiben.

Ich kann die Lampen ein- und ausschalten .

Aber ich krieg auf keine Art und Weise die Szenen geschaltet. Ich weiss nicht was ich da falsch mache.
Ich habe es mit folgendem Code probiert. Es geht nicht ansatzweise irgend etwas ausser das einschalten.
PHUE erzeugt Fehlermeldungen.

<?php

//RequestAction(58045, true); 
RequestAction(33389, 'Nachtlicht'); 
RequestAction(11398, true); 
PHUE_SceneSet(25398, 'Nordlichter');
PHUE_SceneSet(30565, 'Nordlichter');
RequestAction(30565, 'Nordlichter');
RequestAction(30565, "Nordlichter");
RequestAction(30565, Nordlichter);
RequestAction(30565, 5);
RequestAction(30565, "5"); 
RequestAction(30565, '5');
RequestAction(34709, true);
RequestAction(53889, 'Nordlichter'); 
$InstanzID= 25398; //ID anpassen
$color = 'F6B859';
$opt = ['on' => ['on' => false], 'dimming' => ['brightness' => 150]];
PHUE_setColor($InstanzID, $color, $opt);
?>

Hat mir jemand einen Tip was ich falsch mache?

Danke und Grüsse
Pit

Hallo Kai,

Ich rufe eine in der HUE-App angelegte Szene auf, die dort auf eine Gruppe wirkt.
In IPS ist das ein RequestAction auf die „Scene“-Variable der Szenen-Instanz

case "Medium":
					// Lichtszene 1
					RequestAction(55992,true);
					break;

Die „Scene“-Variable ist vom Typ „String“. Ein RequestAction darauf kommt mir ungewohnt vor, ich habe einfach ein „true“ als Parameter mitgegeben. Das funktioniert nachweislich. Ist das überhaupt richtig so?

Mir ist nicht klar welches Debug Du meinst (hab das bisher noch nicht gemacht). Vermutlich von der HUE-Bridge/SSE-Client?
Ich habe folgendes beigefügt:

(Jeweils beim Ausführen des oben eingefügten Codes)

Viele Grüße und einen „Guten Rutsch“
Christian