openHAB: Die Welt der Dinge in der Hand

Schreibender Zugriff

openHAB unterscheidet zwischen der Aktualisierung eines Status und dem Verarbeiten eines Kommandos [9]. Aus diesem Grund gibt es auch unterschiedliche Wege, um ein Update bzw. ein Kommando auszuführen. Ein Status-Update wird mit dem HTTP-Verb PUT an den URI http:// <host>:<port>/rest/items/Anwesenheit/state geschickt. Der neue Status kann für Testzwecke mittels cURL mit folgender Kommandozeile aktualisiert werden:

curl -X put -H "Content-Type: text/plain" -v -d "ON" http://:/rest/items/Anwesenheit/state

Durch Nutzung des HTTP-Verbs POST lassen sich Commands über den URI http:// <host>:<port>/rest/items/Anwesenheit an ein Item schicken. Die passende Kommandozeile sieht wie folgt aus:

curl -H "Content-Type: text/plain" -v -d "ON" http://:/rest/items/Light_FF_Bath_Ceiling
Was gibt es sonst Neues?

Eine ganze Menge! Neben neuen Bindings für Asterisk (VoIP PBX), MPD (Music Player Daemon), NTP (Network Time Protocol), Novelan (Wärmepumpe), SNMP (Simple Network Management Protocol), VDR (Video Disc Recorder), weiteren Features wie TTS (Text to Speech), die Dropbox-Anbindung und vielen neuen Actions sind vor allem weitere UI-Implementierungen dazugekommen.

Zu der bereits bekannten Webapplikation „Classic UI“, die per CSS und JavaScript eine iPhone-Applikation nachbildet, haben sich eine Reihe neuer UIs gesellt. Zunächst sei das GreenT UI genannt, das auf Sencha Touch, einem auf mobile Anwendungen spezialisierten HTML5-Framework, basiert. Das GreenT-UI erkennt unterschiedliche Endgeräte (auf Wunsch automatisch) und passt daraufhin sein Layout an. Außerdem wurde ein Theme-Mechanismus implementiert, um sogar die Farbgestaltung individuell vornehmen zu können. Neben den genannten Webapplikationen wurden erstmals auch native Clients für Android [10] sowie iOS [11] ausgeliefert. Alle drei neuen UIs kommunizieren über die REST-Schnittstelle mit der openHAB-Runtime.

Zudem wurde die bisherige Implementierung der Rule Engine (JBoss Drools) durch eine wesentlich schlankere Eigenimplementierung ausgetauscht. Auch bei dieser Eigenimplementierung wurde auf bewährte Technologien wie Xtext und Xbase aus dem Eclipse-Modeling-Umfeld zurückgegriffen. Einen detaillierten Einblick gibt [12].

Ausblick und Fazit

Es bleibt spannend, was die Zukunft im IoT-Umfeld bringen wird. Für openHAB sind bereits viele zusätzliche Bindings am Horizont zu sehen, die weiteren „Dingen“ die Teilnahme am IoT ermöglichen werden. Ganz konkret sind hier Bindings für TCP/UDP, Sonos, Plugwise, Homematic, PLC, Modbus, IHC/ELKO und IRTrans zu nennen. Auch der Aufbau und der Support der stetig wachsenden Community werden weiter im Fokus des Projektteams stehen.

Integrationsplattformen sind wichtige Komponenten im IoT-Umfeld. openHAB bietet als eine solche Plattform die richtigen APIs, um sowohl als Datenlieferant wie auch als Datenempfänger einen echten Mehrwert im IoT zu leisten.

Thomas Eichstädt-Engelen arbeitet als Senior Consultant bei innoQ Deutschland, wo er sich mit Entwicklung und Training im Eclipse-, RCP- und OSGi-Umfeld beschäftigt. Seine Freizeit bestimmt die Weiterentwicklung der Integrationsplattform openHAB, wo er seit 2010 aktiver Committer ist.
Kommentare

Schreibe einen Kommentar

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