RFID-Lesegerät in OpenHAB einbinden

openhabnfcKürzlich stelle ich eine Möglichkeit vor, ein günstiges RFID-Lesegerät an den Raspberry anzuschließen. In diesem Beitrag, der als Fortsetzung gedacht ist, geht es um die Integration in OpenHAB. Wir erstellen entsprechende Items, binden diese in die Sitemap ein und erstellen die ein oder andere Regel.

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

 

Items definieren

Wir beginnen direkt mit der Definition unserer neuen Items. Dazu nutze ich die bereits vorhandene Datei „/etc/openhab/configurations/praesenz.items“ und ergänze diese mit folgenden Zeilen:

 

Hier haben wir zunächst für jeden Benutzer ein Item, dass vom Script auf unserer Himbeere befüllt wird. Zudem habe ich einen weiteren Schalter definiert, um den Anwesenheitszustand manuell in der Sitemap zu übersteuern. Schlussendlich kommen noch Items dazu, die die Zeit der letzten Statusänderung speichern.

 

Einbindung in die Sitemap

Nun binden wir unsere neuen Items an gewünschter Stelle in die Sitemap ein. Ich habe dies so realisiert, dass für jeden Nutzer in Frame dargestellt wird. Zudem wird angezeigt, seit wann der jeweilige Nutzer an- bzw. abwesend ist. Das Icon „present“ ist bereits bei der Installation von OpenHAB dabei.

 

Übersetzungsdatei erstellen

Damit uns die Zustände der Präsenzen in der Sitemap nicht als „ON“ oder „OFF“ dargestellt werden, erstellen wir die Datei „/ect/openhab/configurations/transform/praesenz.map“ mit folgendem Inhalt:

 

Script für manuelles Schalten

Falls ein Bewohner vergessen hat, sich beim Verlassen der Wohnung „auszustempeln“, habe ich in die Sitemap Schalter für das manuelle Übersteuern integriert. Da die Intelligenz jedoch diesmal nicht bei OpenHAB sondern bei der Himbeere liegt, an der das RFID-Lesegerät angeschlossen ist, müssen wir die Himbeere zum Schalten anweisen und dies nicht selbst durchführen. Dazu erstellen wir auf dem OpenHAB-Server ein neues Scripts „/scripts/rfid_manuell.sh“ mit folgendem Inhalt:

 

Dem Script erlauben wir die Ausführung mit

und übertragen den Besitz an OpenHAB mit

 

Regeln erstellen

Nun erstellen wir die benötigten Regeln für die Präsenzerkennung.

 

Zudem erstellen wir Regeln, damit die Uhrzeit der Aktion festgehalten wird:

 

Hier können zudem benutzerdefinierte Aktionen hinzugefügt werden. Beispielsweise schalten meine Monitor ab, wenn ich gehe und wieder ein, wenn ich nach Hause komme. Ein elektrischer Duftspender ist nur aktiv, wenn irgendjemand zuhause ist. Diese Gruppenschaltungen habe ich in der gleichen Datei so realisiert:

 

Wenn alle Bewohner das Haus verlassen, wird für Mitglied der Gruppe „grp_ANBEIABWESEND“ eingeschaltet. Zwischen den Schaltungen wird eine 2-sekündige Pause eingelegt. Für die Gruppen

  • grp_AUSBEIABWESEND
  • grp_ANBEIANWESEND
  • grp_AUSBEIANWESEND

verhält es sich natürlich entsprechend des Gruppennamens. Zudem wird jeweils eine Mail gesendet, wenn niemand mehr anwesend und wenn jemand aus der Gruppe anwesend ist.

 

Abschluss

Wenn wir alles richtig konfiguriert haben, zeigt die Sitemap nun wie folgt die Präsenzen an:

rfid-openhab2