Stromausfall Regel
Mit „Opferlampe“ nach Stromausfall alle Leuchtmittel wieder abschalten
Philips Hue Leuchtmittel sind nach dem anschalten der Stromversorgung immer an, bzw. leuchte in einer definierten Farbe und Helligkeit. Dies hat Vor- und Nachteile. Ein großer Nachteil macht sich zum Beispiel nach einem Stromausfall bemerkbar, denn dann leuchten alle Installierten Leuchtmittel, auch wenn es gerade mitten in der Nacht ist oder man für ein paar Wochen im Urlaub ist. Mit einer einfachen Regel lassen sich jedoch alle Leuchtmittel des Systems nach einem Stromausfall wieder abschalten. Benötigt wird dazu lediglich eine „Opferlampe“.
Die Funktionsweise ist recht einfach. Man installiert irgendwo eine sogenannte Opferlampe, welche ein ganz normales Philips Hue Leuchtmittel ist (Color, White, E14 oder E27 spielt dabei keine Rolle). Opfern daher, weil man sie für nichts anderes verwenden kann. Diese Lampe wird also in keine Szene eingebunden und auch nie an geschaltet. Nur nach einem Stromausfall wird sie angehen, bedingt durch die Tatsache das Leuchtmittel nach einschalten der Spannung eben immer angehen. Überwacht man (respektive eine Regel) nun genau diese Lampe, kann eine Aktion ausgelöst werden.
Wenn die eigene favorisierte App keine Möglichkeit bietet individuelle Regeln anzulegen und man auch deswegen nicht eine andere App verwenden möchte kann die Regel händisch angelegt werden. Dazu bedarf es nur den auf der Bridge integrierten API Debugger (Clip Debugger). Mithilfe dessen man vollen Zugriff auf die Programmierschnitstelle (API) der Bridge hat.
Inhalt / Vorgehensweise
IP der Bridge ermitteln
Clip API Debugger aufrufen
Anlegen eines Bridge-Users
ID der Opferlampe ermitteln
Regel erstellen
1. IP der Bridge ermitteln
Die IP der eigenen Bridge wird in den verschiedenen Apps (iConnectHue, all4hue, etc.) angezeigt. Oder man liest sie direkt am eigenen Router aus.
2. Clip API Debugger aufrufen
Der API Debugger lässt sich direkt über die IP der Bridge im Browser über folgende URL aufrufen. Der Platzhalter <IP der Bridge> ist durch die in Schritt 1 ermittelte IP der eigenen Bridge zu ersetzen.
http://<IP der Bridge>/debug/clip.html
Dies sollte man der Einfachheit halber am besten mit einem Computer machen. Ein Smartphone würde sicherlich auch gehen, nur wäre die Eingabe der nachfolgenden Befehle dann unter Umständen nicht so einfach möglich. Wichtig ist nur, dass sich der Computer im selben Netzwerk wie die Bridge befindet und ein aktueller Internetbrowser verwendet wird.
3. Anlegen eines Bridge-Users
Um Änderungen auf der Bridge vornehmen zu können bedarf es eines authentifizieren Users. Ein neuer User lässt sich mit folgenden Kommando anlegen. Zu spezifizieren ist ein Gerätename und ein „App-Name“. Als „App-Name“ kann zum Beispiel mein_clip_user gewählt werden, wichtig ist das der Name keine Sonder- und/oder Leerzeichen enthält. Beim Gerätename kann zum Beispiel der Name des verwendeten Computer angegeben werden (ist aber nicht zwingend), im Beispiel unten ist Mein Computer angegeben. Der resultierende String („mein_clip_user#Mein Computer“) setzt sich aus beiden Angaben zusammen, die Trennung erfolgt mit dem #-Zeichen, dieses Schema ist dringend einzuhalten.
URL (CLIP)
/api
Body
{„devicetype“:“mein_clip_user#Mein Computer“}
Method
POST
Als Antwort bekommt man zuerst eine Fehlermeldung mit dem Hinweis „link button not pressed“. Betätigt man nun den Bridge-Button und sendet die Anfrage POST erneut, bekommt man einen Username zugewisen. Diesen Username sollte man sich notieren, er kann auch für zukünftige Bridge-Zugriffe verwendet werden.
4. ID der Opferlampe ermitteln
Mit folgenden Kommando kann man eine Liste aller Leuchtmittel abrufen. Der Platzhalter <Username> ist durch den in Schritt 3 zugewiesenen Username zu ersetzen.
URL (CLIP)
/api/<Username>/lights
Body
Method
GET
In der Antwort auf das /lights Kommando sucht man nun nach der ID der Opferlampe. Die ID steht je vor dem Datenblock der entsprechenden Leuchtmittel. Im Datenblock selbst findet man den vergebenen Name. Die Antwort könnte beispielhaft wie folgt aussehen:
{
„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“: „Meine hue Lampe“,
„modelid“: „LCT001“,
„swversion“: „66009461“
},
„2“: {
„state“: {
„on“: false,
„bri“: 0,
„hue“: 0,
„sat“: 0,
„xy“: [0,0],
„ct“: 0,
„alert“: „none“,
„effect“: „none“,
„colormode“: „hs“,
„reachable“: true
},
„type“: „Extended color light“,
„name“: „Opferlampe“,
„modelid“: „LCT001“,
„swversion“: „66009461“
}
}
Im Beispiel oben hat das Leuchtmittel mit dem Name „Opferlampe“ („name“: „Opferlampe“,) also die ID 2.
5. Regel erstellen
Nun muss noch die eigentliche Regel angelegt werden. Eine Regel besteht immer aus Bedingungen und auszuführenden Aktionen. Bedingung ist in unserem Fall die eingeschaltete Opferlampe. Dazu wird der „On-State“ abgefragt und auf „true“ geprüft. Aktion wäre – alle Leuchtmittel im System ausschalten. Für den einfachen Zugriff auf alle Leuchtmittel im System gibt es auf der Bridge eine Gruppe mit der ID 0, diese ist immer vorhanden und muss nicht explizit angelegt werden, für diese Gruppe wird in der Regel-Aktion der „On-State“ auf „false“ gesetzt.
URL (CLIP)
/api/<Username>/rules
Body
Siehe unten
Method
POST
Der Body der anzulegenden Regel sieht wie folgt aus. Die ID der Opferlampe muss entsprechend angepasst werden. Im Code unten ist 42 als ID angegeben.
{
„name“:“Stromausfall“,
„conditions“:
[
{„address“:“/lights/42/state/on“,“operator“:“eq“,“value“:“true“}
],
„actions“:
[
{„address“:“/groups/0/action“,“method“:“PUT“, „body“:{„on“: false}}
]
}
Wenn die Regel erfolgreich angelegt wurde erhält man eine Bestätigung mit der ID der neuen Regel.
Weiterführende Links
Facebook-Gruppe über das Philips Hue System sowie kompatible Soft- und Hardware.
Umfangreiche Anleitung zur Verwendung des integrierten CLIP API Debuggers der Hue Bridge