17-09-2016, 16:20:50
(Dieser Beitrag wurde zuletzt bearbeitet: 24-09-2016, 21:15:44 von trinitus01.)
Edit: Ich habe eine Lösung für das Problem des Flackerns gefunden.
Das Szenario muss geändert werden.
Ich habe das neue Szenario in dieser Anleitung abgeändert.
Wie mittlerweile bekannt sein dürfte ist die Funktion "Zeitverzögertes Ausschalten" mit Philips Hue nicht nutzbar.
In Verbindung mit einem Bewegungsmelder wird der Timer zum Ausschalten der Hue offensichtlich nicht zurück gesetzt sondern mehrfach gestartet so das diese sich überschlagen und der Eindruck entsteht das die Hue nach einer zufälligen Zeit ausgeschaltet wird.
Da meine Frau berechtigterweise etwas genervt von dem abendlichen Lichtspektakel ist und innogy dieses Problem bisher nicht behoben hat, habe ich viel Zeit investiert um für dieses Problem eine Lösung zu finden. Leider führten Versuche dies mit Zustandsvariablen zu lösen nicht zum Erfolg sondern vielmehr zu noch mehr Chaos da die Hue sich dann gar nicht mehr ausschaltet. Da ich neugierig war was innogy denn genau an die Hue Bridge sendet und selbst als Entwickler arbeite habe ich dann beschlossen mich mal mit der Hue Api zu beschäftigen.
Hierzu habe ich fogende Links gefunden:
API: http://www.developers.meethue.com/philips-hue-api
API Debug Tool: http://<ip der hue bridge>/debug/clip.html
Vorlage: http://www.developers.meethue.com/conten...ts-autooff
Ziel war es nun in der Hue Bridge einen Schedule zu setzen der nach 1 Minute die Hue abschaltet und eine Rule welche beim Einschalten der Hue den Schedule ausführt. Dabei ist mir aufgefallen das innogy SmartHome keinen Schedule setzt und auch keine Rule setzt. Daher die Annahme das die Timer für die Hue direkt in der SmartHome Zentrale läuft und nicht über die Hue Bridge.
Ich habe also über das Debug Tool einen Request zum Erstellen eines Schedules mit folgendem Body an die Hue Bridge gesendet:
{
"name": "turn off light 4 timer",
"description": "turn off light 4 timer",
"command": {
"address": "/api/<username>/lights/4/state",
"body": {
"on": false,
"transitiontime": 10
},
"method": "PUT"
},
"localtime": "PT00:01:00",
"autodelete": false
}
Im Anschluss habe ich ich mit folgendem Body eine Rule erstellt:
{ "name":"turn on schedule 4 timer",
"conditions":[ {"address":"/lights/4/state/on","operator":"eq","value":"true"}
],
"actions":[{"address":"/schedules/1","method":"PUT", "body":{"status":"enabled"}}
]}
Da der erstellte Schedule leider ebenfalls nicht überschrieben wird, habe ich noch eine weitere Rule zum ausschalten der Schedule erzeugt die ausgeführt wird wenn die Hue ausgeschaltet wird:
{ "name":"turn off schedule 4 timer",
"conditions":[ {"address":"/lights/4/state/on","operator":"eq","value":"false"}
],
"actions":[{"address":"/schedules/1","method":"PUT", "body":{"status":"disabled"}}
]}
Somit wird der Timer beim Einschalten der Hue aktiviert und beim Ausschalten der Hue deaktiviert
und wenn der Timer ausläuft wird die Hue ausgeschaltet.
Soweit so gut, nun war es nötig im innogy SmartHome ein Szenaria zu definieren welches bei jeder Bewegung die Hue so lange abblendet (1 Minute) und wieder anschaltet damit der Schedule zurück gesetzt wird und damit die Rule im Falle einer erneuten Bewegung bei bereits eingeschalteter Hue erneut ausgeführt wird und die Hue auch eingeschaltet bleibt.
Hierzu habe ich folgendes Szenario erstellt:
Rule 1: Bewegung -> Hue wechsel (nicht ausschalten!) auf 0%, Abblenddauer auf 1 Minute!
Rule2: Bewegung -> Hue einschalten, Aufblenddauer auf 1 Sekunde
(Info: Keine Zeitverzögerung mehr wie in dem Szenario zuvor!!!)
Das manuelle Schalten der Hue ist damit nichtmehr möglich da die Hue sich auch bei manueller Schaltung nach 1 Minute abschaltet.
Falls jemand Probleme bei der Umsetzung dieser Lösung hat, einfach bescheid sagen, dann helfe ich gerne.
Das Szenario muss geändert werden.
Ich habe das neue Szenario in dieser Anleitung abgeändert.
Wie mittlerweile bekannt sein dürfte ist die Funktion "Zeitverzögertes Ausschalten" mit Philips Hue nicht nutzbar.
In Verbindung mit einem Bewegungsmelder wird der Timer zum Ausschalten der Hue offensichtlich nicht zurück gesetzt sondern mehrfach gestartet so das diese sich überschlagen und der Eindruck entsteht das die Hue nach einer zufälligen Zeit ausgeschaltet wird.
Da meine Frau berechtigterweise etwas genervt von dem abendlichen Lichtspektakel ist und innogy dieses Problem bisher nicht behoben hat, habe ich viel Zeit investiert um für dieses Problem eine Lösung zu finden. Leider führten Versuche dies mit Zustandsvariablen zu lösen nicht zum Erfolg sondern vielmehr zu noch mehr Chaos da die Hue sich dann gar nicht mehr ausschaltet. Da ich neugierig war was innogy denn genau an die Hue Bridge sendet und selbst als Entwickler arbeite habe ich dann beschlossen mich mal mit der Hue Api zu beschäftigen.
Hierzu habe ich fogende Links gefunden:
API: http://www.developers.meethue.com/philips-hue-api
API Debug Tool: http://<ip der hue bridge>/debug/clip.html
Vorlage: http://www.developers.meethue.com/conten...ts-autooff
Ziel war es nun in der Hue Bridge einen Schedule zu setzen der nach 1 Minute die Hue abschaltet und eine Rule welche beim Einschalten der Hue den Schedule ausführt. Dabei ist mir aufgefallen das innogy SmartHome keinen Schedule setzt und auch keine Rule setzt. Daher die Annahme das die Timer für die Hue direkt in der SmartHome Zentrale läuft und nicht über die Hue Bridge.
Ich habe also über das Debug Tool einen Request zum Erstellen eines Schedules mit folgendem Body an die Hue Bridge gesendet:
{
"name": "turn off light 4 timer",
"description": "turn off light 4 timer",
"command": {
"address": "/api/<username>/lights/4/state",
"body": {
"on": false,
"transitiontime": 10
},
"method": "PUT"
},
"localtime": "PT00:01:00",
"autodelete": false
}
Im Anschluss habe ich ich mit folgendem Body eine Rule erstellt:
{ "name":"turn on schedule 4 timer",
"conditions":[ {"address":"/lights/4/state/on","operator":"eq","value":"true"}
],
"actions":[{"address":"/schedules/1","method":"PUT", "body":{"status":"enabled"}}
]}
Da der erstellte Schedule leider ebenfalls nicht überschrieben wird, habe ich noch eine weitere Rule zum ausschalten der Schedule erzeugt die ausgeführt wird wenn die Hue ausgeschaltet wird:
{ "name":"turn off schedule 4 timer",
"conditions":[ {"address":"/lights/4/state/on","operator":"eq","value":"false"}
],
"actions":[{"address":"/schedules/1","method":"PUT", "body":{"status":"disabled"}}
]}
Somit wird der Timer beim Einschalten der Hue aktiviert und beim Ausschalten der Hue deaktiviert
und wenn der Timer ausläuft wird die Hue ausgeschaltet.
Soweit so gut, nun war es nötig im innogy SmartHome ein Szenaria zu definieren welches bei jeder Bewegung die Hue so lange abblendet (1 Minute) und wieder anschaltet damit der Schedule zurück gesetzt wird und damit die Rule im Falle einer erneuten Bewegung bei bereits eingeschalteter Hue erneut ausgeführt wird und die Hue auch eingeschaltet bleibt.
Hierzu habe ich folgendes Szenario erstellt:
Rule 1: Bewegung -> Hue wechsel (nicht ausschalten!) auf 0%, Abblenddauer auf 1 Minute!
Rule2: Bewegung -> Hue einschalten, Aufblenddauer auf 1 Sekunde
(Info: Keine Zeitverzögerung mehr wie in dem Szenario zuvor!!!)
Das manuelle Schalten der Hue ist damit nichtmehr möglich da die Hue sich auch bei manueller Schaltung nach 1 Minute abschaltet.
Falls jemand Probleme bei der Umsetzung dieser Lösung hat, einfach bescheid sagen, dann helfe ich gerne.