openHAB :: Infrarotgesteuerte Geräte einbinden (LED-Band)

30In diesem Artikel zeigte ich, wie wir Endgeräte mit dem Raspberry via Infrarot steuern können. Nach dem Artikel waren wir in der Lage, Steuerbefehle mittels einer Linux-Konsole abzusetzen und gezielte Aktionen an Endgeräten (bspw. das gezeigte RGB-LED-Lichtband) auszulösen. Leider erlauben es die Umstände nicht, dass ich jederzeit ein handliches Gerät mit einer offenen SSH-Sitzung mit mir führe. Zudem wäre die ständige Eingabe des jeweiligen LIRC-Kommandos doch eher umständlich. Daher zeige ich in diesem Beitrag, wie infrarotgesteuerte Endgeräte, hier als Beispiel wieder der LED-Lichtstreifen, mittels openHAB gesteuert werden können.

Verfügbare Artikel zu openHAB

little_blue_dot Einleitunglittle_blue_dot Einbinden der Internetgeschwindigkeitlittle_blue_dot RFID-Lesegerät einbinden
little_blue_dot Installationlittle_blue_dot Präsenzerkennung via Bluetooth und Pinglittle_blue_dot Einbinden von DS18B20-Sensoren
little_blue_dot Konfigurationlittle_blue_dot Kleines Netzwerkmonitoringlittle_blue_dot ical-Abfallkalender einbinden
little_blue_dot Reverse-Proxy für OpenHABlittle_blue_dot Einbinden von LG-Fernsehern [Update]little_blue_dot openHAB als Wecker
little_blue_dot Datenspeicherung und Statistikenlittle_blue_dot Einbinden Schaltern und Kontaktenlittle_blue_dot Einbinden von Bewegungssensoren
little_blue_dot Regeln planen und konfigurierenlittle_blue_dot Einbinden von Funksteckdosen (433 MHz)little_blue_dot Einbinden einer FritzBox
little_blue_dot Einbinden von USB-Steckdosenleisten (SIS-PMS)little_blue_dot Infrarotgesteuerte Geräte einbindenlittle_blue_dot Sprachausgabe auf einem Raspberry
little_blue_dot Einbinden von Temperatursensorenlittle_blue_dot Steuerung mit NFC-Tagslittle_blue_dot Schaltbare Steckdosenleiste mit Relais
little_blue_dot Externer Zugriff mit my.openhab

 

 

 

Bash-Script erstellen

Für die Umsetzung unserer Ziele müssen wir zunächst sicherstellen, dass sich der openHAB-Server ohne Passwort und sonstiger Abfragen via SSH mit der Himbeere verbinden kann, auf welcher wir den Infrarotsender anschlossen und konfigurierten. Wie die passwortlose Anmeldung via SSH möglich ist, zeigt dieser Artikel detailiert. Wenn die dort aufgeführten Schritte umgesetzt wurden, können wir an dieser Stelle mit der Erstellung eines Bash-Scriptes fortsetzen, welches aus openHAB heraus die Steuerbefehle an den jeweiligen Raspberry sendet.

Dazu erstellen wir beispielsweise die Datei „/scripts/ledband.sh“ mit folgendem Inhalt:

 

Wir erlauben die Ausführung des Scripts durch

und übertragen den Besitz an „openhab“ durch

 

In diesem kleinen Script müssen die ersten drei Oktette der IP-Adresse natürlich an die eigenen Gegebenheiten angepasst werden. Zur weiteren Erklärung sei erwähnt, dass das Script drei Parameter erwartet:

  1. das letzte Oktett des Raspberry, so können verschiedene Himbeeren via openHAB angesprochen werden
  2. der Name der konfigurierten Fernbedienung, in unserem Beispiel so wie auch im letzten Artikel verwenden wir den Namen „ledband_SZ
  3. der Name der auszuführenden Taste

 

 

openHAB-Addon installieren

Die Umsetzung unserer Infrarotsteuerung realisieren wir in diesem Artikel mit dem openHAB-Addon „exec„, welches wir mittels apt-Paketverwaltung wie folgt installieren:

 

Item(s) konfigurieren

ir_controller

Da unsere LED-Lichtleiste nicht mit einem bereits für openHAB verfügbares Addon gesteuert werden kann, ist es notwendig, für nahezu jeden Schaltbefehl ein seperates Item zu definieren. Für alle Funktionen des hier gezeigten LED-Lichtbandes würden die Definitionen wie folgt aussehen:

 Zur Erklärung der einzelnen Spalten der jeweiligen Item-Definition:

  1. Wir definieren das Item als Schalter
  2. Wir benennen die Schalter einheitlich mit „LED_SZ_$FUNKTION
  3. Wir beschrieben in kurzen Worten die Funktion des Schalters
  4. Wir konfiguieren das anzuzeigende Icon, welches sich als „.png„-Datei im Ordner „/usr/share/openhab/webapp/images“ befinden muss.
  5. Wir verwenden das Addon „exec„, um die Schaltbefehle via SSH auf dem Raspberry auszuführen. Dazu wird unser vorher erstelltes Script „/scripts/ledband.sh“ ausgeführt und als Parameter das letzte Oktett der IP-Adresse des Raspberry, der Name der konfigurierten LIRC-Fernbedienung sowie die zu schaltende Taste angegeben. Die meisten Items werden später nur als Button angezeigt, daher benötigen wir für die Funktionen und Farben keine Einstellung für „OFF„. Zudem konfigurieren wir mit „autoupdate=“false“„, dass der Status des jeweiligen Buttons nicht aktualisiert und auch nicht gespeichert wird. Unsere Knöpfe in der Sitemap werden nur gedrückt, nicht „umgeschaltet“.

 

Farbsymbole zum herunterladen

Hier möchte ich zumindest die Symbole der einzelnen Farben zum herunterladen anbieten, damit sich diese Arbeit gespart werden kann.

[ddownload id=“7621″ style=“button“ button=“blue“]
Icons LED-Band

 

 

Gerät in Sitemap einbinden

Nachdem alle notwendigen Items definiert wurden und die item-Datei in openHAB eingelesen wurde, erstellen wir nun die entsprechende Konfiguration für die Sitemap. Grafisch habe ich mir das so vorgestellt, dass im jeweiligen Raum zunächst nur eine einzelne Zeile für das LED-Band angezeigt wird. Wenn diese ausgewählt wird, gelangt man in ein umfangreicheres Untermenü, in welchem sämtliche Funktionen geschaltet werden können. Dabei wird zwischen „Allgemeinen Schaltungen“ wie der Betriebszustand oder die Helligkeit und der „Farbauswahl“ unterschieden. Diese beiden Bereiche erscheinen mit leichten Abstand untereinander.

 

Das Ergebnis zeigt sich in unserem Browser oder in unserer openHAB-App in gekürzter Form wie folgt:

3

 

 

Regeln erstellen

Der eigenen Kreativität kann an dieser Stelle freien Lauf gelassen werden, wenn es darum geht, Regeln für unsere LED-Lichtleiste zu erstellen. Ich habe mich beispielsweise dazu entschieden, dass die Lichtleiste nach einer Stunde Aktivität automatisch wieder ausgeschaltet wird. Dazu benötigen wir zunächst ein Java-Modul sowie eine Variablendefinitionen:

 

Anschließend erstellen wir für diesen Zweck zwei neue Regeln:

 

Möglich wäre auch, die Lichtleiste einfach nur morgens um sieben Uhr einschalten zu lassen:

 

 

Demonstrationsvideo

Hier ein kurzes Video für die, die nicht glauben wollen, dass das günstige Baumarkt-LED-Lichtband mit openHAB gesteuert werden kann: