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?

Steuerbare LED Strips für zu Hause

In unsere LED-Magnettafel sollten auch steuerbare LED Strips eingebaut werden.

Ein komplettes Set mit LED, Controller und Netzteil habe ich für ca. 30 Euro von Simfonio bei Amazon gefunden (es gibt aber diverse LED Strips die man verwenden kann).

Hardwareaufbau

Der Zusammenbau der LED’s ist recht einfach. Der LED-Controller wird einfach mit dem LED-Strip und dem Strom verbunden.

Es ist nur wichtig zu prüfen, dass der Pfeil der beiden Elemente in die gleiche Richtung zeigt.

Danach kann man auch schon die richtige Reihenfolge der Farbkanäle testen / prüfen.

Erstkonfiguration

Für die Integration in das Netzwerk / WLAN verwendet man die Magic Home App (in meinem Fall aus dem Play Store von Google).

Für die Ersteinrichtung ist ein Account beim Hersteller notwendig. Hier solltet Ihr am besten eine E-Mail-Adresse anstatt der vorgegebenen Handynummer verwenden.

Danach findet Ihr in der App ein offenes WLAN z.B. „LEDxxx“ mit dem Ihr euch verbinden könnt.

Im nächsten Schritt wird der LED-Controller in euer WLAN-Netz integriert. Nun kann man die LED’s schon direkt per SmartPhone steuern.

Fazit

Mit der Magic Home App und kompatiblen LED’s hat man recht schnell und günstig eine steuerbare LED-Einheit für das Haus aufgebaut.

Ich habe zwei gleiche LED-Controller. Einen Controller konnte ich total einfach in das Netzwerk integrieren. Den zweiten Controller bekomme ich einfach nicht in das WLAN eingebunden.

Die gängigen „Fehlerchen“ habe ich aber bereits kontrolliert und getestet: Passwort ist richtig, alle Geräte neu gestartet, 2,4 GHz WLAN vorhanden, WLAN-Kanäle richtig eingestellt etc.

Kennt jemand ein ähnliches Problem?

Stückliste für die LED-Magnettafel

Für die LED-Magnettafel haben wir folgende Bauteile verwendet:

Das Zusammenbauen und Lackieren hat mein Sohn / Schwiegervater übernommen. Der Elektronik / SmartHome Teil wurde von mir umgesetzt.

Ich schreibe noch zwei Artikel über generell über die LED’s und einen Artikel über die Einbindung in openHAB.

LED-Magnettafel in Aktion

Hier sieht man in einem kurzen Video wie die fertige LED-Magnettafel verwendet werden kann:

LED-Magnettafel ist fertig

Veröffentlichung openHAB 2.4

Am 17.12.2018 wurde die neue Version 2.4 von openHAB veröffentlicht. Die Ankündigungsinformation zur Version findet Ihr hier.

Folgende Funktionen werden in der Ankündigung als „Highlights“ benannt:

  • Profile
  • Neue text-to-speech / Sprachfunktionen
  • HABot
  • Weitere Integrationen von Geräten z.B. Smart Meter, OwnTracks, MQTT etc.

Die gesamten Release Notes findet Ihr hier.

Habt Ihr schon auf openHAB 2.4 aktualisiert? Welche neuen Funktionen nutzt Ihr?

„Objektivfehler“ bei der Canon S100

Ich war die letzten Jahre (eigentlich vor unserer Canon S100) bei den digitalen Kameras immer ein Fan von der Marke Canon.

Anfang 2012 haben wir uns dann als Nachfolgegerät eine Kompaktkamera Canon S100 zugelegt. Es war eine der ersten Kameras mit GPS und dazu noch recht handlich.

Die ersten Probleme hatten wir dann im Dezember 2012 mit der Kamera: „Objektivfehler. Wird automatisch ausgeschaltet. Kamera neu starten.“ steht nur noch im Display.

Man hat aber schon zu lesen bekommen, dass die Kamera sehr empfindlich auf Hitze und Kälte reagiert. Das erste Mal ist das Problem tatsächlich bei ca. -5 Grad am Weihnachtsmarkt aufgetreten. Man macht ein Foto und dann fährt das Objektiv nicht mehr in das Gehäuse zurück.

Damals wurde die Kamera recht kulant auf Garantie / Gewährleistung repariert.

Jetzt waren wir dieses Wochenende auf dem Weihnachtsmarkt in Wasserburg bei ca. -2 Grad und das gleiche Problem ist wieder aufgetreten.

Das ist ein sehr ärgerliches Verhalten bei einer Kamera die in der 500 Euro Preisklasse liegt. Man kann online auch immer noch diverse Artikel sehen, bei Anwendern die ähnliche Probleme haben.

Auf dieser Seite des Canon Support kann man die betroffenen Produkte sehen (natürlich ist meine Seriennummer genau dabei). Leider wurde die Reparatur-Aktion am 30.09.2017 von Canon eingestellt d.h. unsere Kamera ist nach ca. 6 Jahren nicht mehr zu gebrauchen.

Ich werde jetzt noch einmal den Canon Support kontaktieren mit dem Verweis warum man denn bei der ersten Aktion nicht bereits die notwendigen Teile bei Canon getauscht hat. Dieses Vorgehen finde ich sehr kundenunfreundlich. So kommt mir kein Gerät von Canon mehr in das Haus.

Hier findet Ihr ein paar weiterführende Informationen:

Habt Ihr mit Canon ähnliche Erfahrungen gemacht?

Update 18.12.2018

Folgende Information habe ich von Canon über den Defekt der Kamera erhalten:

Sehr geehrter Herr Eidelsburger,

vielen Dank für Ihre Anfrage.

Bedauerlicher Weise sind für die PowerShot S100 keine Ersatzteile mehr verfügbar, sodass eine erneute Reparatur nicht mehr möglich ist.

Bei der Reparatur im Dezember 2012 wurde der bekanntgemachte Fehler durch den Austausch der modifizierten Blendeneinheit behoben.

Wenn die Probleme dauerhaft und gehäuft auftraten, so hatten Sie bis zum 30.09.2017 Zeit diese Probleme zu reklamieren.

Leider ist kein weiterer Service an Ihrer Kamera mehr möglich.

Das finde ich eine sehr unschöne Information wie man mit Kunden umgeht. Etwas komisch finde ich das bei einer doch nicht ganz günstigen Kamera nach bereits 6 Jahren keine Ersatzteile mehr zur Verfügung stehen.

Ich werde dann mal nach einer Alternative Ausschau halten. Meine nächste Kamera wird auf alle Fälle kein Gerät mehr von Canon!

Update 21.12.2018

Nach der negativen Rückmeldung von Canon habe ich mich nach Alternativen für die Reparatur der Kamera umgeschaut.

Fündig bin ich bei diesem Ebay-Angebot geworden: https://www.ebay.de/itm/232995481385. Der Verkäufer „handy-foto-wiki“ übernimmt die Reparatur des Objektivs. Es sind in dem Preis alle Kosten incl. Teilen (die ja bei Canon nicht mehr lieferbar sind) integriert.

Es gab mit dem Verkäufer einen sehr freundlichen Kontakt. Die Kamera konnte vor Ort in Hamburg abgegeben werden und ich habe sie am nächsten Tag wieder voll funktionsfähig bekommen. Scheinbar ist das Problem mit dem Objekt ein bekannter Fehler und betrifft mehrere Modelle von Canon. Es lösen sich bestimmte Kabel am Objekt und sind „morsch“ bzw. oxidiert. Diese müssen dann getauscht / repariert werden.

Jetzt kann ich meine Kamera weiterverwenden, aber die nächste Kamera wird auf keinen Fall mehr einen Canon werden!