Mit openHAB Philips hue zum Leuchten bringen

Zum Einstieg in die Smarthome-Welt habe ich mir das Philips „Hue lux Starter Set“ mit zwei Reflektorlampen beschafft. Die Installation und Einbindung in openHAB ist recht einfach und führt schnell zu Ergebnissen. Spannend wird es, wenn die Hues mit Regeln automatisiert werden. Dazu später mehr!

Installation:

Vorab solltest du die IP-Adresse der Hue-Bridge kennen. Nach Einstecken des Netzkabels und Verbindung mit deinem Netzwerk wird in den meisten Fällen von deinem Router der Bridge eine IP-Adresse zugewiesen. Diese kannst du auf der Admin-Oberfläche des Routern nachsehen. In meinem Fall ist es die “192.168.178.21”.

 

1. openhab.cfg anpassen
Wie du im Screenshots siehst, sind nur zwei Angaben in der openhab.cfg unter dem Absatz “Philips Hue Binding” vorzunehmen:

  • IP-Adresse der Bridge eintragen (Route vor der Zeile entfernen!)
  • Gemeinsame “Geheimnis” anpassen (Länge 10-40 Zeichen)
    UPDATE 14.09.2016: Zuvor muss ein User in der Bridge angelegt werden, der hier als „Geheimnis“ hinterlegt wird. Auf der Seite http://www.developers.meethue.com/documentation/getting-started findest du eine ausführliche Anleitung!

Bildschirmfoto 2015-06-17 um 22.16.44

Einfach im Editor nach “hue” suchen und schon hast du die richtige Stelle in der openhab.cfg gefunden.

2. Binding installieren
Das Binding ist notwendig, damit openHAB und die Hue-Lampen miteinander kommunizieren können. Das Binding installierst du mit:

Das neu installierte Binding erkennt openHAB innerhab von ein paar Sekunden automatisch. Ein Neustart etc. ist nicht notwendig.

3. Pairing über die Hue-Bridge
Damit Hue und openHAB sich kennenlernen, drückst du nach Installation des Bindings auf den blauen Knopf in der Mitte der Bridge. Dies muss innerhalb von 100 Sekunden passieren.
Hue Bridges

4. Items festlegen

Die Items werden immer in der z. B. „demo.items“ nach dem gleichen Schema erstellt:

Type – Name – “Beschreibung” – – (Gruppe) – {Binding}

Wichtig ist, dass du die Reihenfolge sowie die Anführungszeichen, (eckigen) Klammern etc. einhältst!

Zuerst definierst du den Typen eines Items. Grundsätzlich stehen dir die folgendes Typen von Items zur Verfügung ohne ein Binding installiert zu haben (Klick hier für ein Beispiel-Bild):

Number zeigt Zahlen an, z.B. die Temperatur
Contact zeigt den Kontakt an, z. B. Fenster auf/zu
Switch schaltet ein Item, z.B. die Lampe an/aus
Dimmer legt prozentual, z. B. die Lichthelligkeit fest
String zeigt Text an, z.B. das Datum
Color definiert einen Farbwert
Rollershutter legt prozentual den Rolladenstand fest
Group fasst Items als Gruppe zusamen, z. B. alle Lampen im Haus ein-/ausschalten zu können

Der Name legt fest, wie du dein Item in anderen Definitionen wie in der Sitemap oder in Regeln ansprechen kannst, z. B. „hue1“. Dann folgt die Beschreibung. Diese wird bei der Darstellung in der Sitemap benutzt. Es handelt sich um einen sprechende Beschreibung “Lampe im Büro”.

Das Icon des Items wird in den eckigen Klammern definiert. Eine Übersicht der installierten Symbole findest du im Ordner “webapps/images”.
openHAB-Icons1 openHAB-Icons3 openHAB-Icons2

<switch> <network>
<hue> <socket>
<slider> <settings>
<termperature> <contact>
<clock> <sun>
<calender>  …und viele mehr!

Darauf folgt die Einbindung des Items in Gruppen. So ordnest du mehrere Items in Gruppen, um z. B. eine Etage oder ein Raum abbilden zu können. Es ist auch möglich, dass du alle Lampen im Haus in einer Gruppe vereint, um mit einem Schalter (Item) alles an- oder ausschalten kannst.

Zum Schluss kommt die eigentliche Verbindung mit dem Aktor oder Sensor. Das hue-Binding ist einfach gestaltet, so dass du mit {hue=”1″} deine erste Lampe ansprichst. Mit der Erweiterung um {hue=”3;brightness;20″} gibst du die Schrittweite an, um die Helligkeit zu steuern. Wenn kein Wert definiert ist, liegt der Standardwert bei 25. In unserem Fall gibt es fünf Stufen zum Dimmen der Lampe.

Für die Hue-Einbindung kannst du diese Items-Beispiele nutzen:

und hier die demo.items-Datei:

 

5. Items in Sitemap einbinden

Schon mehrmals habe ich von der Sitemap gesprochen. Sie ist für die Darstellung der Items in einer sinnvollen Art und Weise zuständig. Damit du etwas nach dem Aufruf im Browser oder in der App siehst, ist die Definition der demo.sitemap notwendig.

Nun sollte dein openhab in etwa so aussehen – Aufruf im Browser per:

  1. Ansicht:

Sitemap

Nach Klick auf “Büro”:

items1

Alternativ als Dimmer statt als Switch:
items2

 

6. Regeln

Eine LED-Lampe an- und auszuschalten ist es nicht wirklich innovativ! Aber mit passenden Regeln alá “Wenn das, dann mache jenes” bekommt Hausautomation den richtigen Stellenwert:

Die erste Regel habe ich für ein Nachtlicht erstellt. Zuvor die passende Item-Definition:

Der Switch schaltet über die Regel die Hue1 an, während über den Dimmer die Helligkeit des Nachtlichts geregelt wird. Der Dimmer wird dazu nur über die Regel gesteuert. Das hat den Vorteil, dass in der Regel schnell die Wunschhelligkeit definiert werden kann. Daher habe ich ihn in der Gruppe „Admin“ hinterlegt.

Und hier nun die nachtlicht.rules – Datei, die in das Unterverzeichnis „rules“ kopiert wird:

Jedesmal wenn der Schalter „nachtlicht“ auf „on“ verändert wird, wird ein Timer erzeugt, der nach 15 Minuten den Befehl „ausschalten“ sendet.

Fazit:

Da du die Lampen eingebunden hast, sind nun deiner Fantasie keine Grenzen gesetzt. Mit dem Hue-Binding kannst du schnell und einfach deine Wohnung smart werden lassen 😉

Links:

openHAB – https://github.com/openhab/openhab/wiki/Hue-Binding

Trouble-Shooting:

  • Binding klappt nicht:
    • Du hast nicht innerhalb der 100 Sek. den blauen Knopf an der Hue-Bridges gedrückt? – Einfach das Hue-Binding löschen und erneut installieren. Und diesmal rennen 😉
    • Steht in der openhab.cfg vor der Zeile zur IP-Adresse oder dem Hue-Geheimnis noch eine Route “#” ?
  • Es ist nichts zu sehen:
    • Stimmen die Namen der Datei?
    • Hast du die Items richtig definiert?
    • Ist die Reihenfolge der Items-Definition richtig?
    • Sind die Anführungszeichen „gerade“ Anführungszeichen und keine typografischen?
      (Je nach Editor wird es gerne mal automatisch geändert!)

10 Gedanken zu „Mit openHAB Philips hue zum Leuchten bringen“

  1. Hallo Marc, super Anleitungen auf deiner Seite. Ich bin openhab Einsteiger und möchte auch mit einer Philips hue und einer Bridge beginnen. Kannst du die Lampe weiterhin paralell mit der Philips Fernbedienung steuern?

    1. Ja, das geht. Allerdings weiß ich gerade nicht, ob openHAB den jeweils aktuellen Status der Hue darstellt. Also Hue angeschaltet durch Fernbedienung, openHAB zeigt noch aus?! Das probiere ich mal aus..
      Update: Wenn der Status der Hue-Lampen z.B. durch die Philips-Hue-App geändert wird, bekommt openHAB keine Rückmeldung!

      1. Habe mich auch etwas mit OpenHAB und den Hue-Lampen rumgeschlagen. Es gibt einen Eintrag im openhab.cfg (hue:refresh=) der verwendet werden kann, damit OpenHAB die aktuellen Werte der HUE Lampen regelmässig abfragt. Nähere Details hierzu waren bei meiner Installation (1.8) im CFG angeführt.

        Funktioniert bei mir soweit ganz gut…

  2. Hallo Marc,

    ich habe vor einer Woche mit einem Raspberry und openHAB angefangen und inzwischen
    -knx
    -HUE
    -homematic
    -sonos
    verheiratet. Es macht echt Spass, aber HUE ist nicht mein Ding. Ich kriege es nicht hin, Szenen zu setzen. Im Wohnzimmer habe ich u.a. zwei HUE-Spots. Sie als Gruppe zu schalten ist kein Problem, aber ich möchte z.B. über Selection versch. Szenen ablegen. Dazu müsste ich den HUE alle Werte (wie Helligkeit, Farbtemperatur, Farbe) übergeben. Über rules (Übergabe hintereinander hat nicht wirklich das richtige Ergebniss gebracht). Hast du da auch eine Idee?
    VG Hans-Gerd

    1. …habe mal über Realisierung von Szenen nachgedacht. Ich komme auch nur auf eine Lösung per Regel, die zeitgleich mehrere Hues aktiviert und Helligkeit und/oder Farbe mitgibt.

      Was stört dich denn an die Lösung per Regel?

  3. Falls jemand ebenfalls eine leere Anzeige (Sitemap) bekommt, muss man in der Sitemap-Konfiguration die folgenden beiden Keys anpassen:

    Framelabel ändern zu Frame label
    Grouplabel ändern zu Group label

    Wir haben mit der OpenHab Runtime 1.8.3 gearbeitet.
    Alles andere hat aber auf Anhieb geklappt. Danke!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.