dank des Amazon PrimeDays hab ich jetzt eine Hue Bridge . Vorher war sie mir immer zu teuer.
Warum hab ich sie mir geholt?...ich hab seit ein paar Jahren Philips LivingColors der Gen.2, die wir kaum genutzt haben. Aber jetzt, dank Hue und openHAB sind sie wieder im Einsatz
So, nun aber zum wesentlichen:
Als erstes hab ich die Philips LivingColors mit der Hue Bridge verbunden. Es gibt im Netzt viele Anleitungen dazu, aber die funktioniert.
http://www.housecontrollers.de/lichtste ... verbinden/
Dann ging es auch schon an die Konfig von openHAB.
Items:
Code: Alles auswählen
//Philips Living Colors Gen.2
Group:Switch:OR(ON, OFF) gEGWohnzimmerLivingColors "Wandlicht" <light> (gEGWohnzimmer)
Color EGWohnzimmerColorLCrechts <colorwheel> (gEGWohnzimmerLivingColors)
{hue="2"}
Color EGWohnzimmerColorLClinks <colorwheel> (gEGWohnzimmerLivingColors)
{hue="1"}
Number EGWohnzimmer_Scene_Lighting <hue_scene>
Jetzt stellte sich mir relativ schnell die Frage, welche Farbe ist die richtige für welche "Szene"...ganz einfach..gebt die Fernbedienung eurer Frau oder Freundin (steigert auf jeden Fall der WAF- Woman Acceptance Factor) und lasst sie die Farben einstellen .
Sobald die Lampen die richtige Farbe hatten, habe ich mir über die REST Api (openhabip:8080/rest/items) die entsprechenden Farbwerte geholt und dann in die Rule eingebaut.
Man beachte in der Rule "Scene 2 - Farbenspiel". Hier ändert sich die Farbe, Sättigung und Helligkeit ZUFÄLLIG alle 30 Sekunden und fällt am Ende auf einen definierten Wert zurück.
Rule:
Code: Alles auswählen
rule "Wohnzimmer - Hue Scene"
when
Item EGWohnzimmer_Scene_Lighting received update
then
if(EGWohnzimmer_Scene_Lighting.state == 0){
logInfo("SceneRules:EGWohnzimmer Scene", "Scene Normal gewählt")
EGWohnzimmerColorLCrechts.sendCommand("70.6868131868131825967793702147901058197021484375,20,100");
EGWohnzimmerColorLClinks.sendCommand("70.6868131868131825967793702147901058197021484375,20,100");
}
if(EGWohnzimmer_Scene_Lighting.state == 1){
logInfo("SceneRules:EGWohnzimmer Scene", "Scene Nordlichter gewählt")
EGWohnzimmerColorLCrechts.sendCommand("201.521978021978014794513001106679439544677734375,100,100");
EGWohnzimmerColorLClinks.sendCommand("223.423076923076934008349780924618244171142578125,100,100");
}
if(EGWohnzimmer_Scene_Lighting.state == 2){
logInfo("SceneRules:EGWohnzimmer Scene", "Scene Farbenspiel gewählt")
var Number changeCounter //Anzahl der Farbänderungen
changeCounter=0
while(changeCounter<100 && EGWohnzimmer_Scene_Lighting.state == 2 && gEGWohnzimmerLivingColors.state == ON) {
changeCounter=changeCounter+1
gEGWohnzimmerLivingColors?.members.forEach(light|light.sendCommand((((Math::random * 360).intValue)) + "," + (((Math::random * 100).intValue)) + "," + (((Math::random * 100).intValue))))
Thread::sleep(30000) //30 Sekunden warten
}
EGWohnzimmerColorLCrechts.sendCommand("201.521978021978014794513001106679439544677734375,100,100");
EGWohnzimmerColorLClinks.sendCommand("223.423076923076934008349780924618244171142578125,100,100");
}
if(EGWohnzimmer_Scene_Lighting.state == 3){
logInfo("SceneRules:EGWohnzimmer Scene", "Scene Sonnenuntergang gewählt")
EGWohnzimmerColorLCrechts.sendCommand("20.879120879120879550328027107752859592437744140625,86,100");
EGWohnzimmerColorLClinks.sendCommand("20.879120879120879550328027107752859592437744140625,86,100");
}
end
Sitemap:
Code: Alles auswählen
Frame item=gEGWohnzimmerLicht label="Licht" {
Switch item=EGWohnzimmerLichtEsstisch mappings=[ON="An", OFF="Aus"]
Switch item=gEGWohnzimmerLivingColors mappings=[ON="An", OFF="Aus"]
Colorpicker item=EGWohnzimmerColorLCrechts visibility=[gEGWohnzimmerLivingColors==ON] label="Farbe rechts"
Colorpicker item=EGWohnzimmerColorLClinks visibility=[gEGWohnzimmerLivingColors==ON] label="Farbe links"
}
Frame item=EGWohnzimmer_Scene_Lighting label="Scene" {
Selection item=EGWohnzimmer_Scene_Lighting label="Scene" mappings=[0=Normal, 1=Nordlichter, 2=Farbenspiel, 3=Sonnenuntergang]
}
Wie immer bin ich für Anmerkungen und Verbesserungsvorschläge offen.
CYA
Cyrelian