openHAB als Integrationsplattform im IoT

openHAB: Die Welt der Dinge in der Hand

Thomas Eichstädt-Engelen

Die Idee des Internet of Things ist, dass die Dinge des Alltags vernetzt sind. Was aber, wenn das liebgewonnene „Ding“ keine IP-Schnittstelle aufweist oder das verwendete Protokoll für den IoT-Service der Wahl unverständlich ist? Was, wenn alle „Dinger“ mit einer einheitlichen Oberfläche bedient, ein gemeinsames Chart mit Daten bestücken oder gemeinsamen Automatisierungsregeln folgen sollen? In diesem Fall können Integrationsplattformen helfen, die für diese Problemstellungen Lösungen anbieten.

Schenkt man Kevin Ashton Glauben, erfand er im Jahre 1999 den Terminus „Internet of Things“, kurz IoT [1]. Motiviert wurde diese Begriffsprägung dadurch, dass immer noch die meisten der etwa 50 Petabyte (Stand 2009) an Informationen im Internet durch Menschen bzw. deren Interaktion gesammelt und bereitgestellt werden. Es wäre doch viel sinnvoller, so Ashton, wenn Computer alles über die Dinge wüssten, was sie bräuchten, um ohne menschliches Zutun selbst aktiv zu werden. So könnten sie für uns zählen, überwachen, melden, dass eine Wartung vollzogen werden muss und daran erinnern, dass noch etwas einzukaufen ist.

Voraussetzung dafür ist schlicht, dass die Dinge vernetzt, also mit dem Internet verbunden sind. Hier sind wir zwar auf einem guten Weg, aber bei Weitem noch nicht am Ziel angelangt. Smartphones und Smart-TVs stehen inzwischen für extrem gute Vernetzung. Auch immer mehr Haushaltsprodukte, wie Spül- und Waschmaschinen, Kühlschränke oder sogar Lampen, werden mit LAN, Powerline oder WLAN-Anschluss ausgeliefert und können so potenziell am IoT teilnehmen. Für alle anderen Dinge, die (bisher) noch keine eigene IP-Schnittstelle besitzen, werden Adapter bzw. Gateways benötigt (und glücklicherweise inzwischen auch immer mehr angeboten). Darauf aufbauend sind Integrationsplattformen gefragt, die diese Schnittstellen und deren unterschiedliche Protokolle adaptieren können. Die Plattformen sollten außerdem anliegende Daten in eine gemeinsame Datenstruktur transformieren können, um einen einheitlichen Zugriff, gemeinsame Mehrwertdienste wie Datenspeicherung und Datenexport sowie Regeln und Visualisierung zu ermöglichen.

openHAB (open Home Automation Bus) [2] ist eine solche Integrationsplattform, deren erstes Major-Release das Projektteam nach zweieinhalb Jahren Entwicklungsarbeit kürzlich vorstellte [3], [4]. Mit an Bord waren neben vielen neuen Features, Erweiterungen und Fixes [5] vor allem auch zwei Funktionalitäten, die openHAB für das IoT rüsten: Der Persistence-Service, mit dem openHAB als Datenlieferant dienen kann, sowie das REST-API, mit dem Kommandos aus dem IoT entgegen genommen und in echte Schaltbefehle umgewandelt werden können.

Architektur-Recap

Die Grundidee der openHAB Runtime basiert auf einem Event Bus nach dem Publish Subscribe Pattern, der technisch durch den OSGi Event Admin Service umgesetzt worden ist. Jedes anzusteuernde Gerät bzw. jeder Sensor wird als abstraktes Item definiert, wobei ein Item beispielsweise einen Schalter, einen Temperaturmesswert oder auch den aktuellen Radiosender repräsentieren kann. Erst so genannte Bindings koppeln Items an konkrete Hardware, Schnittstellen oder Protokolle. Technisch verbirgt sich hinter einem Item im Wesentlichen ein Konfigurationselement mit einem eindeutigen Namen und einem Typ (z. B. Switch, Dimmer, Number etc.). Eine besondere Stellung haben Items des Typs Group. Mit ihnen können mehrere Items entweder logisch (z. B. alle Items eines bestimmten Raums) oder nach Typ (alle Lichter) gruppiert werden. Eine genauere Beschreibung der wichtigsten Konzepte ist im einführenden JAXenter-Artikel zu finden [2].

Geschrieben von
Thomas Eichstädt-Engelen
Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.