Howto: Hue Bridge direkt über homee steuern (ohne IFTTT)

Hallo liebe Community,

für alle, die wie ich noch nicht auf Ihre Hue Bridge verzichten wollen, die Lampen aber trotzdem vom homee aus ansteuern möchten und sich über den lästigen Zeitversatz von IFTTT ärgern oder nicht über das Internet gehen wollen.

Nachdem ich im Forum des Öfteren gefragt wurde, hier nun eine kleine Beschreibung wie Ihr Eure Hue Bridge mittels webhooks vom homee steuern könnt.

Vorweg gleich die Nachteile:
Keine Rückmeldung von der Birdge, das heißt Ihr seht nicht den Status der Lampen, könnt nicht auf Variablen (Sensoren) der Bridge reagieren (in homee), die Bewegungsmelder und Schalter (die an der Bridge angemeldet sind) können keine Homeegramme auslösen.

Die Vorteile:

  • Alles auf der Bridge bleibt so wie es ist. Sämtliche Apps funktionieren wie gewohnt im Zusammenspiel mit der Bridge.

  • Die Steuerung der Farben etc. wird von der Bridge vorgenommen. Alle Szenen und Regeln die auf der Bridge liegen bleiben erhalten und funktionieren.

  • Keine Umwege über das Internet (IFTTT etc.)

  • Kein Zeitverlust beim Absetzen des Webhooks

  • Alle Variablen können mittels homee in der Bridge gesetzt und verändert werden (z. B. Sensoren in All4Hue). Alles lokal über WLAN.

Die Voraussetzungen:

  1. Legt einen Useraccount bei https://www.developers.meethue.com an (kostenfrei und Voraussetzung um die API lesen zu dürfen).

  2. Lest die Hue API https://www.developers.meethue.com/documentation/getting-started
    Hier ist genau beschrieben wie man über das WLAN auf die Bridge kommt und was für Kommandos im Webhook stehen müssen.

  3. Legt für die Bridge eine feste IP an. Alle Kommandos beinhalten die IP-Adresse der Bridge, sollte sich die ändern, müsstet Ihr sonst alle Webhooks in homee umschreiben.

Die Umsetzung:

Setzt Euch an das Laptop/den Rechner und startet einen beliebigen Webbrowser innerhalb Eures WLAN. Durch die Eingabe folgender Zeile startet Ihr das Debug-Tool mit dem Ihr schon Kommandos an die Bridge senden könnt.

  • http://(IPderBridge)/debug/clip.html

(IPderBridge) müsst Ihr natürlich durch die IP Eurer Hue Bridge ersetzen.

Dann sollte folgendes erscheinen:

Die Kommandos sind wie die Webhooks im JSON-Format aufgebaut (also Adresse, Methode und Body bzw. Response-Bereich für die Meldung aus der Bridge).

Zuerst muss ein neuer berechtigter Benutzer der Bridge angelegt werden. Ihr kennt das ja, wenn eine App Zugriff auf die Bridge haben soll, dann muss der Button auf der Bridge gedrückt werden, damit diese App autorisiert wird. Genauso muss das mit dem neuen Benutzer gemacht werden.

Der User wird durch folgende Eingaben im Debug-Tool generiert:

  • URL: http://(IPderBridge)/api

  • Body: {“devicetype”:“my_hue_app#irgendeinBenutzername”}

  • Dann klickt Ihr auf den Button „POST“

Ihr sollten dann folgende Rückmeldung der Bridge bekommen:

Bild2

Die Antwort der Bridge ist logisch, weil Ihr ja noch nicht autorisiert seid.
Also nun zur Bridge und auf den runden Button klicken und dann nochmal den „POST“ Button hier im Tool. Dann erscheint:

Bild3

Diese kryptische Kennung (ist bei Euch natürlich anders, wird zufällig generiert) müsst Ihr Euch nun merken, das ist jetzt der User-Name, der Kommandos an die Bridge senden darf.

Jetzt könnt Ihr schon die ersten Kommandos absetzen und Eure Lichter steuern.

Wichtig ist nun zu wissen welche ID die einzelnen Lampen (und ggf. Variablen) haben und welchen Namen die Szenen in der Bridge haben um sie ansprechen zu können. Wie Ihr an diese Info kommt (über das Debug-Tool) ist in der API sehr gut beschrieben z. B. für die Lichter unter
https://www.developers.meethue.com/documentation/lights-api
(Lesen!!!)

Meine Lichter auszulesen geht z. B. mit:

  • URL: http://(IPderBridge)/api/(MeinBenutzerName)/lights

  • Body: (bleibt leer)

  • Dann den Button „GET“ anklicken

Im unteren Bereich des Tools (Command Response) werden alle Lampen aufgelistet, mit ihren Eigenschaften und ID’s. Die Info könnt Ihr Euch dann rauskopieren und in ein Dokument oder eine txt-File schreiben, damit Ihr auf die Informationen später zurückgreifen könnt.

Möglicher Response der Bridge könnte sein:

"1": {
    "state": {
        "on": true,
        "bri": 144,
        "hue": 13088,
        "sat": 212,
        "xy": [0.5128,0.4147],
        "ct": 467,
        "alert": "none",
        "effect": "none",
        "colormode": "xy",
        "reachable": true
    },
    "type": "Extended color light",
    "name": "Hue Lamp 1",
    "modelid": "LCT001",
    "swversion": "66009461"
}

So werden alle Lampen Eures Systems aufgelistet. Anhand der Namen (name: Hue Lamp 1 - hier die dritte Zeile von unten) könnt Ihr die gewünschte Lampe identifizieren.
Das ist dann der Name der Lampe, wie Ihr ihn in der Bridge hinterlegt habt. Jeweils ganz oben steht die ID der Lampe (hier „1“).

Alternativ ist es auch möglich durch Eingabe direkt im Webbrowser folgendes zu bekommen:
z. B alle Sensoren:

Alle Lichter:
(IPderBridge)/api/(MeinBenutzerName)/sensors

Alle Szenen:
(IPderBridge)/api/(MeinBenutzerName)/scenes

Alle Gruppen oder Räume:
(IPderBridge)/api/(MeinBenutzerName)/groups

Alle festgelegten Regeln:
(IPderBridge)/api/(MeinBenutzerName)/rules

(Danke an @sublevel7 für den Tipp!)

Mit dieser Info kann man nun alles mit der Lampe machen. Testweise nochmals im Debug-Tool:
z. B.

  • URL : http://(IPderBridge)/api/(MeinBenutzerName)/lights/1/state

  • und BODY: {“on”:true}

  • Dann „PUT“ klicken

und die erste Lampe sollte sich einschalten.

Fertig (was die Bridge angeht)!

Einbindung in homee:

Mit den Informationen könnt Ihr nun Homeegramme erstellen.
Das was wir gerade am Debug-Tool gemacht haben, würde in einem Homeegramm so aussehen:

EDIT: Die URL des Webhooks im Homeegramm muss mit “http://” beginnen, “https://” funktioniert nicht.

Damit könnt Ihr ohne Zeitversatz und recht gut Eure Szenen aufrufen, Variablen ändern, einzelne Lampen oder Gruppen schalten, dimmen, die Farben ändern, Helligkeit und Sättigung der Farbe beeinflussen.

Ich simuliere hier auch das Anklicken von Dimmern (in der Hue Bridge), da ich viel mit Variablen (Sensoren) arbeite. Z. B. Wenn ich den Dimmerschalter anklicke, dann setze ich in All4Hue eine Variable auf „1“. In einer Regel reagiere ich auf den Inhalt der Variable und setze eine Szene.

Wenn ich nun mittels Homeegramm die Variable auf „1“ setze, dann reagiert meine Regel in der Hue Bridge genauso und schaltet die Szene. Natürlich könnte ich die Szene auch direkt im Homeegramm ansprechen, aber ich habe noch viele andere Abhängigkeiten (Ausschalt-timer wird gestartet, Folgevariablen werden gesetzt die beim Klicken vom Schalter den Bewegungsmelder deaktivieren etc.), alles über All4Hue angelegt. Darauf möchte ich nicht verzichten.

Mir reicht das als Zwischenlösung allemal aus, bis homee soweit ausgereift ist, dass ich die gleichen komplexen Szenen wie in meiner Bridge erstellen kann.

Ich hoffe das hat dem einen oder anderen von Euch geholfen, bzw. Anregungen gegeben. Das ganze ist nicht wirklich schwer, wichtig ist nur sich vorher die ganze API durchzulesen. Dauert maximal 45 Minuten, dann weiß man ziemlich gut, wie die Bridge so „tickt“.

Wenn noch jemand von Euch Ideen hat, etwas ergänzen möchte oder einen Fehler findet…
Bitte posten!

Grüße
Ralf

47 „Gefällt mir“

Gute Beschreibung…

aber das kann man wunderschön mit node-red lösen. Dann hast du die angebundenen Leuchtmittel der Bridge auch als Gerät verfügbar und kannst HG auslösen…

2 „Gefällt mir“

Magst du bitte eine Anleitung dazu schreiben?
Danke!

Wen meinst du?

1 „Gefällt mir“

Und oder hier:

https://himpler.com/blog

2 „Gefällt mir“

Danke für die schnelle Antwort!

Danke für Deinen Hiweis,

werde mir das was Du erstellt hast, mal ansehen. Hab noch einen Raspi rumfliegen.
Stecke halt nicht ganz so tief in der IT wie andere, als sehen ob ich das hinbekomme. Klingt auf jeden Fall interessant.

Ich war schon froh über meine kleine Lösung…

Gruß Ralf

Der Dank geht hier nicht an mich sondern an @stfnhmplr

Gruß madmax

1 „Gefällt mir“

Oh Mann, natürlicht meinte ich @stfnhmplr
Bin wohl heute etwas unkonzentriert…
Sorry

1 „Gefällt mir“

Vielen Dank für die Anleitung.
Habe so einige Lampen auf meine EnOcean Taster legen können.
Die Hue Dimmer musste ich immer mal wieder per vier Tasten wieder zum Leben erwecken.
Mit diesem Tutorial hat sich das Problem aufgelöst.

Danke für die Anleitung!

Hab mir die API Mal durch gelesen. Was mir da aber fehlt ist ein Befehl zum Wechseln des Zustandes.
Ich kann zu state on ja nur true oder false senden aber keinen Wechsel.

Ich will (eine homee zwave bundle mit ein paar (wahrscheinlich) fibaro Switch Relais wird erst nach Weihnachten angeschafft) über meine klassischen Lichtschalter die ich mit switch Relais smart gemacht habe die hues ein und ausschalten. Aber wenn der Würfel den Zustand der Lampe nicht kennt bin ich mir nicht sicher wie ich die hgs schreiben muss. Oder kann ich das über eine Regel in der Bridge abfangen?

Hat da jemand einen Tipp für mich.
Auf einen zusätzlichen rasbery will ich eigentlich verzichten, weil ich den auch erst neu anschaffen müsste.
Danke!

Hi,

also je nachdem was Du für eine App für die Bridge benutzt, kannst Du das über Variablen lösen.
Ich meine Du setzt per Homeegramm die Variable “1-Wechsel” (beispielhaft) auf “1” .

In der Bridge reagierst Du mit zwei Regeln auf die Variable.

  1. Regel: Wenn Variable 1-Wechsel auf “1” steht und Lampe XY ist an, dann schalte diese aus und setze die Variable 1-Wechsel wieder auf “0”

  2. Regel: Wenn Variable 1-Wechsel auf “1” steht und Lampe XY ist aus, dann schalte diese an und setze die Variable 1-Wechsel wieder auf “0”

Geht bestimmt noch schöner, ist mir aber gerade spontan als Lösungsmöglichkeit eingefallen.

Gruß Ralf

1 „Gefällt mir“

Kannst evtl nochmal ein Beispiel Posten, wie der webhook im Hg aussehen muss um eine Variable zu ändern?
Muss ich da direkt die entsprechende Regel adressieren?
Bzw. Wie ist die Adresse des homee in der Bridge bei der Variablen zu hinterlegen?

Apps wie all4hue greifen am Ende ja auch nur auf die Kommandos der Hue API zu, um die Regeln in der Bridge zu integrieren. Sonst würden die ja nicht ohne eine laufende App funktionieren. Also müsste es ja auch theoretisch möglich sein alle notwendigen regeln selbst über das debug tool zu erstellen und zu integrieren, oder?

Hi
Was Du wissen musst, ist die interne ID der Variable, also des Sensors.

Das Homegramm schaut dann so aus:

In diesem Fall wird der Sensor (die Variable) mit der ID 2 auf den Wert “1” gesetzt.

Regeln kannst Du theoretisch auch erstellen (siehe hierzu die API). Sehe das aber selbst nicht als praktisch an.

Gruß Ralf

Moin,

mit dem Hinweis auf den Sensor war bei mir der Groschen dann auch gefallen.
:sweat_smile:

Und aus eigener Erfahrung kann ich nun berichten, wenn man nur einen Schalter smart machen und nicht noch komplizierte Szenarien abbilden möchte lassen sich die Regeln in der Hue Bridge sehr gut selbst erstellen. Man braucht nur einen virtuellen CLIP Sensor und zwei Regeln zu integrieren und schon läuft das Ganze.
Was man aber beachten sollte ist, das in den Regeln als erste Aktion die Variable wieder auf 0 gesetzt werden muss und erst dann die Leuchte aktiviert/deaktiviert wird.
Das hat was mit der Standard Ein-/ Ausschaltzeit von 400 ms der HUEs zu tun. Sonst Schaltet sich die Lampe immer gleich wieder aus, weil für einen ganz kuren Moment beim Einschalten auch die Bedingungen zum Ausschalten erfüllt sind.:frowning:

Danke für die Anleitung. Damit hab´s sogar ich begriffen. Läuft bis jetzt einwandfrei.

Chris

Philips hat ein Update für die Hue-Bridge veröffentlicht, sowohl für die neue Eckige, als auch für die alte Runde (Wider Erwarten): https://www2.meethue.com/en-us/support/release-notes/bridge

Hat jemand schon das Update (FW 01041302 bei der Runden und FW 1801260942 bei der Neuen) installiert und läuft noch alles?

Ich bin traditionell (Wg. meinem RWE-SmartHome) update-Verweigerer bei der Hue-Firmware und für meine 3 Birnen wird es keinen Vorteil bringen. Aber vielleicht binden ja Andere noch Sachen ein, wo es was bringt.

Heute das Update eingespielt und bis jetzt läuft noch alles. Denke auch nicht dass die API stark (wenn überhaupt) verändert wurde sonst würden auch viele dritt Apps auf einmal den Dienst verweigern.
Über das Update wurde die Bridge (zumindest die V2) ZigBee 3.0 kompatibel gemacht.

Kann man eigentlich auch ein toggle Befehl absetzen?
Sprich auf eine Taste an und aus?

Wenn in der Bridge entsprechende Regeln angelegt sind - ja.

Homegramm wie oben

In der Bridge zwei Regeln:

Wenn Licht an und Sensor(ID2) = 1, dann setze Sensor (ID2) auf 0 und schalte Licht aus und
Wenn Licht aus und Sensor(ID2) = 1, dann setze Sensor (ID2) auf 0 und schalte Licht ein

wie von @cru8602 erwähnt, unbedingt erst den Sensor auf 0, dann das Licht schalten!

Gruß Ralf

1 „Gefällt mir“