[Modul] Philips Hue Sync Box

Philips Hue Sync Box

Dokumention zum Modul

Ermöglicht das Senden von Befehlen an eine Philips Hue Sync Box und das Anzeigen des Status in IP-Symcon.

Funktionsumfang:

Mit der Philips Hue Sync Box ist es möglich Philips Hue Lampen mit einem anliegenden Video oder Audio Signal zu sychronisieren. Das Modul erlaubt die fernsteuerung der Philips Hue Sync Box aus IP-Symcon und das anzeigen der aktuellen Werte der Philips Hue Sync Box in IP-Symcon.

Setzen von:

[ul]
[li] Synchronisierungsmodus
[/li][li] Intensität
[/li][li] Helligkeit
[/li][li] HDMI Input
[/li][li] ein- / ausschalten
[/li][li] Erweiterte Einstellungen
[/li][/ul]

Auslesen der aktuellen Einstellungen der Hue Sync Box.

Voraussetzungen

[ul]
[li] IP-Symcon > 5.1
[/li][li] Philips Hue Sync Box
[/li][/ul]

Installation

Im Modul Store
Philips Hue Sync Box
eingeben und installieren.

Die Discovery Instanz das Gerät suchen lassen und dann eine Instanz anlegen. Anschließend muss die Hue Sync Box initial gepairt werden indem der Knopf an der Hue Sync Box gedrückt gehalten wird bis die LED grün leuchtet, dann in der Instanz im Konfiguartionsformular auf Registrieren drücken.
Nach erfolgreicher Registrierung kann die Hue Sync Box abgefragt und angesteuert werden.

Webfront Ansicht:

Beispiel mögliche Visualisierung NEO:

die Box lasst sich nicht registrieren ?? es blinkt kurz grün auf dann klicke ich auf den Button aber es kommt eine Fehlermeldung.

aber es steht was mit Token ??

Dann sollte die Registrierung auch geklappt haben wenn das so im Debug Fenster steht.

Kannst Du zum Test mal mit einem Skript mit


$token = HUESYNC_GetAccessToken(30659); // ObjektID Hue Sync Box
var_dump($token);

prüfen ob der Token übernommen worden ist?

Falls das leer sein sollte, dann kopiere den kompletten Token aus dem Debug Fenster und speichere diesen mit


HUESYNC_WriteAccessToken(30659, 'xxxxx', 13); // ObjektID der Hue Sync Box Instanz, xxx entspricht dem Token aus dem Debug Fenster

in der Instanz.

Danach sollte sich das Gerät abfragen und steuern lassen.

Bei mir leutet die Lampe auf der Box kurz grün, dann rot, ich klicke auf „registrieren“ aber es gibt immer eine Fehlermeldung „invalid state“ und im Symcon gibt es auch eine Fehlermeldung. Seltsam. Kann ich was tun?

Muss ich wohl bei Gelegenheit noch etwas anpassen. das da invalid state kommt ist zunächst normal. Du musst mehrmals hinter einander Registrieren drücken dann sollte es wohl funktionieren.

Danke für den Tipp - das hat super geholfen. Nach 3-4 mal „registieren“ kam das Token im Debug-Fenster und ich konnte es nach der o.g. Anleitung eintragen. Jetzt läufts :slight_smile:

Hallo Zusammen,
wir haben das selbe Problem, dass es nur ganz ganz kurz grün leuchtet und auch das mehrmalige drücken des „Koppen“-Knopfes bringt keinen Erfolg.

<br />
<b>Fatal error</b>: Uncaught TypeError: json_decode() expects parameter 1 to be string, array given in C:\ProgramData\Symcon\modules.store\fonzo.philipshuesyncbox\Hue Sync Box\module.php:462
Stack trace:
#0 C:\ProgramData\Symcon\modules.store\fonzo.philipshuesyncbox\Hue Sync Box\module.php(462): json_decode(Array, true)
#1 C:\ProgramData\Symcon\scripts__generated.inc.php(6455): HueSyncBox->Registration()
#2 C:\Windows\System32-(3): HUESYNC_Registration(22015)
#3 {main}
thrown in <b>C:\ProgramData\Symcon\modules.store\fonzo.philipshuesyncbox\Hue Sync Box\module.php</b> on line <b>462</b><br />

Das Registrieren ist ein wenig tricky. Ich habe mal auch eine neue Debug Message ergänzt.

Am besten mal wie folgt vorgehen:

[ul]
[li]Instanz der Hue Sync Box öffnen und dort das Debug Fenster öffnen[/li][li]Die Hue Sync Box einschalten, so das die LED weiß leuchtet[/li][li]Jetzt wird zunächst eine initiale Anfrage an die Hue Sync Box geschickt indem Du auf Registrieren drückst[/li][li]Die Hue Sync Box quittiert diese Anfrage zunächst mal mit ‚{„code“:16,„message“:„Invalid State“}‘, das bedeutet so viel das der Knopf noch nicht gedrückt wurde[/li][li]Jetzt hast Du nach dem Erhalten dieser Nachricht 5 Sekunden Zeit den Button an der Hue Sync Box so lange zu halten bis die LED kurz grün leuchtet und lässt den Button dann wieder los[/li][li]Jetzt hast Du nachdem es grün geleuchtet hat erneut 5 Sekunden Zeit wieder auf Registrieren zu drücken[/li][li]Jetzt solltest Du als Antwort im Debug Fenster sehen können das die Registrierung abgeschlossen wurde und Du einen ein Token zugewiesen bekommen hast[/li][/ul]

Alternativ zum drücken von dem Knopf kannst Du auch ein Skript erstellen mit


<?php
$response = HUESYNC_Registration(12345); // 12345 ist die Instanz ID der Hue Sync Box Instanz
var_dump($response);

Als Response solltest Du bei erfolgreicher Registrierung eine Antwort in der Form von


{"registrationId":"4","accessToken":"abcdefg"}

erhalten haben.

@Fonzo ich liebäugle mit der Anschaffung der Box und wollte Dich mal fragen (oder alle anderen) wie das mit der Verkabelung ist.

Derzeit hängt mein Fernseher an einem AVR (Pioneer VSX922) welcher das Videosignal von Apple TV usw. schaltet. Wie ist das dann mit der Box?

Würde auch gern auf den AVR verzichten und dann alles über die BOX schalten lassen, geht das? Speziell die automatische Erkennung von welchem Mediengerät das Signal kommt?

Danke schonmal
Heiko

Hallo Fonzo,

vielen Dank für die Erstellung des Moduls.
Leider erscheint beim Erstellen der Instanz folgende Fehlermeldung:

Konnte Instanz nicht erstellen
<br />
<b>Notice</b>:  Undefined property: stdClass::$lastCheckedUpdate in <b>/var/lib/symcon/modules/.store/fonzo.philipshuesyncbox/Hue Sync Box/module.php</b> on line <b>431</b><br />
<br />
<b>Notice</b>:  Undefined property: stdClass::$updatableBuildNumber in <b>/var/lib/symcon/modules/.store/fonzo.philipshuesyncbox/Hue Sync Box/module.php</b> on line <b>433</b><br />
<br />
<b>Notice</b>:  Undefined property: stdClass::$updatableFirmwareVersion in <b>/var/lib/symcon/modules/.store/fonzo.philipshuesyncbox/Hue Sync Box/module.php</b> on line <b>435</b><br />
<br />
<b>Notice</b>:  Undefined property: stdClass::$update in <b>/var/lib/symcon/modules/.store/fonzo.philipshuesyncbox/Hue Sync Box/module.php</b> on line <b>437</b><br />
<br />
<b>Notice</b>:  Trying to get property 'autoUpdateEnabled' of non-object in <b>/var/lib/symcon/modules/.store/fonzo.philipshuesyncbox/Hue Sync Box/module.php</b> on line <b>437</b><br />
<br />
<b>Notice</b>:  Undefined property: stdClass::$update in <b>/var/lib/symcon/modules/.store/fonzo.philipshuesyncbox/Hue Sync Box/module.php</b> on line <b>439</b><br />
<br />
<b>Notice</b>:  Trying to get property 'autoUpdateTime' of non-object in <b>/var/lib/symcon/modules/.store/fonzo.philipshuesyncbox/Hue Sync Box/module.php</b> on line <b>439</b><br />
<br />
<b>Notice</b>:  Undefined property: stdClass::$ledMode in <b>/var/lib/symcon/modules/.store/fonzo.philipshuesyncbox/Hue Sync Box/module.php</b> on line <b>441</b><br />
<br />
<b>Notice</b>:  Undefined property: stdClass::$lastCheckedUpdate in <b>/var/lib/symcon/modules/.store/fonzo.philipshuesyncbox/Hue Sync Box/module.php</b> on line <b>446</b><br />
 (Code: -32603

Ich verwende Symcon 5.5 (04.12.2020) unter Ubuntu.

Das gleiche Problem habe ich auch… konnte das schon jemand lösen?

Fehlerbild genau gleich

Das hängt davon ab da gibt es unterschiedliche Wege. EIner Wäre die Geräte an die Hue Sync Box zu hängen und dann mit dem Ausgang in einen HDMI Input zu gehen. Die zweite Möglichkeit wäre die Hue HDMi Sync Box hinter den Ausgang des AVR und den TV zu hängen. Was in welchem Fall Sinn macht hängt von der gesamten Konstalltion ab, z.B. ob ein Beamer benutzt wird oder nicht.

Ich habe bvei mir die Geräte wie Apple TV usw. an der Hue Sync Box hängen und gehe dann am Ausgang der Hue Sync Box auf einen EIngang des AVR.

Ja geht schon nur dann hast Du ja nur noch Ton vom TV und nicht mher vom AVR. Wenn Dir das reicht.
Vielleicht mahlst Du mal ein Skizze von Deinen Geräten dann kann man sich beser vorstellen wie man das verkabelt.
[

Ich habe mal ein Update hochgeladen, kannst Du mal schauen ob der Fehler jetzt weg ist? Anscheinend haben sich die Rückgabewerte der Box geändert.

Hallo Fonzo,

vielen Dank - der Fehler scheint damit behoben zu sein.
Sogar die Registrierung hat nach ein paar Versuchen geklappt!

Morgen Abend teste ich mal die Funktionen.

Hallo Fonzo
Update gerade getestet läuft alles musste aber deinstallieren und danach alles neu installieren aber jetzt alles prima . Super
Gruß aus Stuttgart

Morgen Fonzo,

ich hab seit ein paar Tagen immer mal wieder Fehlermeldungen im Log.
Modul hab ich auch schon erneut installiert.

19.03.2021, 19:29:02 | TimerPool            | Philips Hue Sync Box (Update): <br />
<b>Notice</b>:  Error:Failed to connect to 192.168.11.75 port 443: Verbindungsaufbau abgelehnt in <b>/var/lib/symcon/modules/.store/fonzo.philipshuesyncbox/Hue Sync Box/module.php</b> on line <b>1708</b><br />
<br />
<b>Fatal error</b>:  Uncaught TypeError: Argument 2 passed to HueSyncBox::getReturnValues() must be of the type string, bool given, called in /var/lib/symcon/modules/.store/fonzo.philipshuesyncbox/Hue Sync Box/module.php on line 1715 and defined in /var/lib/symcon/modules/.store/fonzo.philipshuesyncbox/Hue Sync Box/module.php:1718
Stack trace:
#0 /var/lib/symcon/modules/.store/fonzo.philipshuesyncbox/Hue Sync Box/module.php(1715): HueSyncBox-&gt;getReturnValues(Array, false)
#1 /var/lib/symcon/modules/.store/fonzo.philipshuesyncbox/Hue Sync Box/module.php(525): HueSyncBox-&gt;SendCommand('/api/v1', 'GET')
#2 /var/lib/symcon/modules/.store/fonzo.philipshuesyncbox/Hue Sync Box/module.php(405): HueSyncBox-&gt;GetCurrentState()
#3 /var/lib/symcon/scripts/__generated.inc.php(8263): HueSyncBox-&gt;Update()
#4 /-(1): HUESYNC_Update(13729)
#5 {main}
  thrown in <b>/var/lib/symcon/modules/.store/fonzo.philipshuesyncbox/Hue Sync Box/module.php</b> on line <b>1718</b><br />

Hast du eine Idee woran es liegen könnte?

Gruß
Oli

Servus, echt cooles Modul! ich bin wieder zurück zur stable da die beta zyklisch ausnahmen wirft. screenshots im anhang