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

  • 1:
    IP der Bridge ermitteln
  • 2:
    Clip API Debugger aufrufen
  • 3:
    Anlegen eines Bridge-Users
  • 4:
    ID der Opferlampe ermitteln
  • 5:
    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

Philips Hue – Gruppe

HIER DREHT ES SICH ALLES RUND UM DAS PHILIPS HUE SYSTEM.
Facebook-Gruppe über das Philips Hue System sowie kompatible Soft- und Hardware.

Hue Developer Programm

Offizielle Seite des Hue Developer Programmes
Umfangreiche Anleitung zur Verwendung des integrierten CLIP API Debuggers der Hue Bridge

Copyright © 2024 Elias Ruemmler All Rights Reserved.