LED’s (WiFi LED) in openHAB einbauen
Um die Magnettafel unseres Sohns per Sprache zu steuern und diese in das SmartHome einzubinden, habe ich mich mit dem WiFI LED Binding von OpenHAB beschäftigt.
Ein paar Beispiele und weitere Details könnt Ihr euch hier ansehen.
Grundsätzliche Einrichtung
Die grundsätzliche Einrichtung unterscheidet sich nicht großartig wie bei anderen openHAB-Funktionen.
Wichtig ist, wie im vorherigen Artikel beschrieben, alle LED’s bereits in das Heimnetzwerk zu integrieren.
Binding (WiFi LED)
Das WiFi LED Binding wird über die Paper UI wie folgt konfiguriert:
- Paper UI – Add-ons – BINDINGS – WiFi LED Binding (2.3.0) – INSTALL
- Paper UI – Configuration – Bindings – WiFi LED Binding – nur Kontrolle
Am Binding ist keine weitere Konfiguration notwendig.
Things (WiFi_LED.things)
Der LED WiFi Controller sollte danach automatisch in der Inbox der Paper UI erscheinen. Ich beschreibe hier die manuelle Konfiguration der Elemente.
Die unterstützen Controller und die zugehörigen Treiber incl. Kanäle kann man in der Dokumentation entsprechend nachlesen.
Thing wifiled:wifiled:xxx "NAME" @ "LED" [ip="IP", port=5577, pollingPeriod=3000, protocol="LD382A", driver="CLASSIC", fadeDurationInMs=1000, fadeSteps=100]
Die Platzhalter xxx, NAME und IP müsst Ihr entsprechend ersetzen.
Items (WiFi_LED.items)
Eine etwas detailliertere Konfiguration (anstatt der Dokumentation) könnt Ihr hier sehen:
Group:Switch Magnet_Table_LEDPresets "Licht Magnettafel LED Presets" <colorwheel> (gOG, gOG_Kind, gLicht, gLicht_OG) Switch Magnet_Table_LED_power "Licht Magnettafel" <led_strip> (gOG, gOG_Kind, gLicht, gLicht_OG) ["Lighting"] {channel="wifiled:wifiled:xxx:power"} Dimmer Magnet_Table_LED_white "Licht Magnettafel (Weiß)" (gOG, gOG_Kind, gLicht, gLicht_OG) {channel="wifiled:wifiled:xxx:white"} Color Magnet_Table_LED_color "Licht Magnettafel (Farbe) [%.0f]" <hue> (gOG, gOG_Kind, gLicht, gLicht_OG) ["Lighting"] {channel="wifiled:wifiled:xxx:color"} Dimmer Magnet_Table_LED_programSpeed "Licht Magnettafel (Programm-Geschwindigkeit)" <volume_knob> (gOG, gOG_Kind, gLicht, gLicht_OG) {channel="wifiled:wifiled:xxx:programSpeed"} /////////// MODE Switches String Magnet_Table_LED_program "Licht Magnettafel (Programm) [MAP(WiFi_LED.map):%s]" <menu> (Magnet_Table_LEDPresets, gOG, gOG_Kind, gLicht, gLicht_OG) {channel="wifiled:wifiled:xxx:program"} Switch Magnet_Table_LED_preset_0 "Strobe" <smoke> (Magnet_Table_LEDPresets) // Mode: 48 Switch Magnet_Table_LED_preset_1 "Strobe - Custom 1" <smoke> (Magnet_Table_LEDPresets) // Mode: 96 Switch Magnet_Table_LED_preset_2 "Strobe - Rot" <smoke> (Magnet_Table_LEDPresets) // Mode: 49 Switch Magnet_Table_LED_preset_3 "Strobe - Grün" <smoke> (Magnet_Table_LEDPresets) // Mode: 50 Switch Magnet_Table_LED_preset_4 "Strobe - Blau" <smoke> (Magnet_Table_LEDPresets) // Mode: 51 Switch Magnet_Table_LED_preset_5 "Strobe - Cyan" <smoke> (Magnet_Table_LEDPresets) // Mode: 53 Switch Magnet_Table_LED_preset_6 "Strobe - Lila" <smoke> (Magnet_Table_LEDPresets) // Mode: 54 Switch Magnet_Table_LED_preset_7 "Strobe - Gelb" <smoke> (Magnet_Table_LEDPresets) // Mode: 52 Switch Magnet_Table_LED_preset_8 "Strobe - Weiß" <smoke> (Magnet_Table_LEDPresets) // Mode: 55 Switch Magnet_Table_LED_preset_9 "Strobe - R/G/B" <smoke> (Magnet_Table_LEDPresets) // Mode: 57 Switch Magnet_Table_LED_preset_10 "CrossFade - Rot/Grün" <flow> (Magnet_Table_LEDPresets) // Mode: 45 Switch Magnet_Table_LED_preset_11 "CrossFade - Rot/Blau" <flow> (Magnet_Table_LEDPresets) // Mode: 46 Switch Magnet_Table_LED_preset_12 "CrossFade - Blau/Grün" <flow> (Magnet_Table_LEDPresets) // Mode: 47 Switch Magnet_Table_LED_preset_13 "Fade" <colorlight> (Magnet_Table_LEDPresets) // Mode: 37 Switch Magnet_Table_LED_preset_14 "Fade - Weiß" <colorlight> (Magnet_Table_LEDPresets) // Mode: 44 Switch Magnet_Table_LED_preset_15 "Fade - Grün" <colorlight> (Magnet_Table_LEDPresets) // Mode: 39 Switch Magnet_Table_LED_preset_16 "Fade - Dunkelblau" <colorlight> (Magnet_Table_LEDPresets) // Mode: 40 Switch Magnet_Table_LED_preset_17 "Fade - Gelb" <colorlight> (Magnet_Table_LEDPresets) // Mode: 41 Switch Magnet_Table_LED_preset_18 "Fade - Rot " <colorlight> (Magnet_Table_LEDPresets) // Mode: 38 Switch Magnet_Table_LED_preset_19 "Fade - Hellblau " <colorlight> (Magnet_Table_LEDPresets) // Mode: 42 Switch Magnet_Table_LED_preset_20 "Fade - Lila" <colorlight> (Magnet_Table_LEDPresets) // Mode: 43 Switch Magnet_Table_LED_preset_21 "Fade - R/G/B" <colorlight> (Magnet_Table_LEDPresets) // Mode: 45 Switch Magnet_Table_LED_preset_22 "Jump" <chart> (Magnet_Table_LEDPresets) // Mode: 56 Switch Magnet_Table_LED_preset_23 "Jump - R/G/B" <chart> (Magnet_Table_LEDPresets) // Mode: 99 Switch Magnet_Table_LED_preset_24 "Farbe (kein Preset gewählt)" (Magnet_Table_LEDPresets) // Mode: 97
Der gesamte Teil mit den „preset“ ist optional. Diesen benötigt Ihr nur, wenn Ihr die LED-Programme auf dem Controller entsprechend verwenden wollt.
xxx müsst Ihr wieder entsprechend eurer Konfiguration ersetzen.
Sitemap (Haus.sitemap)
Die Visualisierung in der Web-Oberfläche und der App habe ich wie folgt gestaltet (ein Großteil für die „presets“ ist wieder optional):
Text label="LED" icon="light" { Frame label="LED" { Colorpicker item=Magnet_Table_LED_color Switch item=Magnet_Table_LED_power Slider item=Magnet_Table_LED_white } Frame label="LED-Programm" { Slider item=Magnet_Table_LED_programSpeed Text item=Magnet_Table_LED_program Switch item=Magnet_Table_LED_preset_0 Switch item=Magnet_Table_LED_preset_1 Switch item=Magnet_Table_LED_preset_2 Switch item=Magnet_Table_LED_preset_3 Switch item=Magnet_Table_LED_preset_4 Switch item=Magnet_Table_LED_preset_5 Switch item=Magnet_Table_LED_preset_6 Switch item=Magnet_Table_LED_preset_7 Switch item=Magnet_Table_LED_preset_8 Switch item=Magnet_Table_LED_preset_9 Switch item=Magnet_Table_LED_preset_10 Switch item=Magnet_Table_LED_preset_11 Switch item=Magnet_Table_LED_preset_12 Switch item=Magnet_Table_LED_preset_13 Switch item=Magnet_Table_LED_preset_14 Switch item=Magnet_Table_LED_preset_15 Switch item=Magnet_Table_LED_preset_16 Switch item=Magnet_Table_LED_preset_17 Switch item=Magnet_Table_LED_preset_18 Switch item=Magnet_Table_LED_preset_19 Switch item=Magnet_Table_LED_preset_20 Switch item=Magnet_Table_LED_preset_21 Switch item=Magnet_Table_LED_preset_22 Switch item=Magnet_Table_LED_preset_23 Switch item=Magnet_Table_LED_preset_24 } }
Map (WiFi_LED.map)
Für die Umsetzung der technischen LED-Programme ist noch eine Map notwendig:
// 48=Strobe 96=Strobe - Custom 1 49=Strobe - Rot 50=Strobe - Gruen 51=Strobe - Blau 53=Strobe - Cyan 54=Strobe - Lila 52=Strobe - Gelb 55=Strobe - Weiss 57=Strobe - R/G/B 45=CrossFade - Rot/Gruen 46=CrossFade - Rot/Blau 47=CrossFade - Blau/Gruen 37=Fade 44=Fade - Weiss 39=Fade - Gruen 40=Fade - Dunkelblau 41=Fade - Gelb 38=Fade - Rot 42=Fade - Hellblau 43=Fade - Lila 45=Fade - R/G/B 56=Jump 99=Jump - R/G/B 97=Farbe (kein Preset gewaehlt) NULL=undefiniert -=undefiniert
Da in meiner Installation Umlaute nicht korrekt angezeigt werden, habe ich die Anzeigenamen entsprechend angepasst (das muss ich jetzt „zeitnah“ doch einmal lösen).
Rules (WiFi_LED.items)
Für die LED-Programme sind auch noch folgende Regeln notwendig (das sollte sich mit openHAB 2.4 ggf. etwas eleganter gestalten lassen):
//////////////////////////// // LED PRESET RULES //////////////////////////// rule "Program - Strobe" when Item Magnet_Table_LED_preset_0 received command ON then Magnet_Table_LED_program.sendCommand(48) end rule "Program - Strobe - Custom 1" when Item Magnet_Table_LED_preset_1 received command ON then Magnet_Table_LED_program.sendCommand(96) end rule "Program - Strobe - Rot" when Item Magnet_Table_LED_preset_2 received command ON then Magnet_Table_LED_program.sendCommand(49) end rule "Program - Strobe - Grün" when Item Magnet_Table_LED_preset_3 received command ON then Magnet_Table_LED_program.sendCommand(50) end rule "Program - Strobe - Blau" when Item Magnet_Table_LED_preset_4 received command ON then Magnet_Table_LED_program.sendCommand(51) end rule "Program - Strobe - Cyan" when Item Magnet_Table_LED_preset_5 received command ON then Magnet_Table_LED_program.sendCommand(53) end rule "Program - Strobe - Lila" when Item Magnet_Table_LED_preset_6 received command ON then Magnet_Table_LED_program.sendCommand(54) end rule "Program - Strobe - Gelb" when Item Magnet_Table_LED_preset_7 received command ON then Magnet_Table_LED_program.sendCommand(52) end rule "Program - Strobe - Weiß" when Item Magnet_Table_LED_preset_8 received command ON then Magnet_Table_LED_program.sendCommand(55) end rule "Program - R/G/B" when Item Magnet_Table_LED_preset_9 received command ON then Magnet_Table_LED_program.sendCommand(57) end rule "Program - CrossFade - Rot/Grün" when Item Magnet_Table_LED_preset_10 received command ON then Magnet_Table_LED_program.sendCommand(45) end rule "Program - CrossFade - Rot/Blau" when Item Magnet_Table_LED_preset_11 received command ON then Magnet_Table_LED_program.sendCommand(46) end rule "Program - CrossFade - Blau/Grün" when Item Magnet_Table_LED_preset_12 received command ON then Magnet_Table_LED_program.sendCommand(47) end rule "Program - Fade" when Item Magnet_Table_LED_preset_13 received command ON then Magnet_Table_LED_program.sendCommand(37) end rule "Program - Fade - Weiß" when Item Magnet_Table_LED_preset_14 received command ON then Magnet_Table_LED_program.sendCommand(44) end rule "Program - Fade - Grün" when Item Magnet_Table_LED_preset_15 received command ON then Magnet_Table_LED_program.sendCommand(39) end rule "Program - Fade - Dunkelblau" when Item Magnet_Table_LED_preset_16 received command ON then Magnet_Table_LED_program.sendCommand(40) end rule "Program - Fade - Gelb" when Item Magnet_Table_LED_preset_17 received command ON then Magnet_Table_LED_program.sendCommand(41) end rule "Program - Fade - Rot" when Item Magnet_Table_LED_preset_18 received command ON then Magnet_Table_LED_program.sendCommand(38) end rule "Program - Fade - Hellblau" when Item Magnet_Table_LED_preset_19 received command ON then Magnet_Table_LED_program.sendCommand(42) end rule "Program - Fade - Lila" when Item Magnet_Table_LED_preset_20 received command ON then Magnet_Table_LED_program.sendCommand(43) end rule "Program - Fade - R/G/B" when Item Magnet_Table_LED_preset_21 received command ON then Magnet_Table_LED_program.sendCommand(45) end rule "Program - Jump" when Item Magnet_Table_LED_preset_22 received command ON then Magnet_Table_LED_program.sendCommand(56) end rule "Program - Jump - R/G/B" when Item Magnet_Table_LED_preset_23 received command ON then Magnet_Table_LED_program.sendCommand(99) end rule "Program - Farbe (kein Preset gewählt)" when Item Magnet_Table_LED_preset_24 received command ON then Magnet_Table_LED_program.sendCommand(97) end
Alexa-Anbindung
Jetzt muss noch einmal die Amazon Alexa App gestartet und eine Suche von neuen Geräten durchgeführt werden.
Danach lassen sich die LED’s auch per Echo-Devices entsprechen schalten.
Fazit
Die Integration der LED-Controller und die Anbindung an das Sprachsystem sind wie immer recht einfach möglich.
Die „Spielereien“ für das Kinderzimmer mit den LED-Programmen muss ich noch etwas ausbauen und den Code verbessern (aber erst einmal ist es soweit ausreichend und funktionsfähig).
Mit der gesamten Konfiguration kann man relativ schnell und günstig „smarte LED’s“ in sein zu Hause integrieren.
Einziger Minuspunkt war, dass ich einen LED-Controller nicht in das WLAN integrieren konnte (das muss ich noch einmal im Detail testen).
Für welche Einsatzgebiete verwendet Ihr bei euch diverse LED’s im Haus?
Hinterlasse einen Kommentar
An der Diskussion beteiligen?Hinterlasse uns deinen Kommentar!