Smart Home: openHAB 3 bringt einen frischen Aufbau fĂĽr die Steuerkonsole
Das Smart-Home-System wirft Altlasten über Bord und führt semantische Modelle sowie Programmierung mit Blockly ein. Außerdem sind verteilte Setups möglich.
Alle Jahre wieder veröffentlicht die openHAB-Community kurz vor Weihnachten ein frisches Release, und dieses Jahr steckt eine neue Hauptversion im Adventskalender. Das 3.0-Release bringt einige Änderungen an der Architektur inklusive einer einheitlichen Benutzerschnittstelle und beendet damit den Spagat zwischen der rein codebasierten Kontrolle von openHAB 1.x und dem UI von openHAB 2.x.
Das Release schneidet den 1.x-Zopf endgültig ab und verzichtet auf die in Version 2 integrierte Kompatibilitätsschicht. Damit kennt openHAB nur noch ein einheitliches Konzept von Bindings. Im Zuge der Umstellung hat die Community jedoch zahlreiche 1.x-Bindings neu implementiert, um einen möglichst reibungslosen Umstieg zu gewährleisten. Eine Tabelle auf GitHub zeigt, welche Add-ons entsprechend migriert sind.
Semantische Modelle
openHAB bringt ein neues User Interface mit, das zum einen zeitgemäßer daherkommt und sich zum anderen für unterschiedliche Nutzergruppen und Endgeräte anpassen lässt. Ein Grundkonzept ist das semantische Modellieren, bei dem die in Version 2 eingeführten, aber im alten Release wenig verwendeten semantischen Tags als Grundlage für die Beschreibung des Smart Home dienen.
Auf der technischen Ebene repräsentieren sogenannte Things Geräte mit ihren Sensoren und Aktoren. Als Abstraktion bietet openHAB das Konzept der Items als verständliche Beschreibung der Einheit. Das Tutorial zum semantischen Modell führt als Beispiel auf, dass das Gerät zwave:1231242:node12:switch
zur "Wohnzimmerlampe" wird.
Jedes Item hat dabei die vier Eigenschaften Location, Equipment, Point und Property, die wiederum untereinander verbunden sind. Erstere beschreibt den Ort wie Wohnzimmer, und das Equipment enthält Informationen über die zugehörige Ausstattung, darunter Batterie, Fernbedienung oder Bewegungsmelder. Point beschreibt die Art oder Funktion wie Alarm oder Messgerät, und Property enthält die dazu zugehörige Information oder den gemessenen beziehungsweise gesteuerten Wert, also beispielsweise die Temperatur.
Das semantische Modellieren ist mit Version 3 die empfohlene Vorgehensweise fĂĽr das Erstellen und Verwalten von Smart-Home-Komponenten mit openHAB.
Seiten und Blöcke
Neu ist zudem das Konzept individueller Seiten fĂĽr die Interaktion mit dem Smart Home. Die jeweiligen Seiten lassen sich beispielsweise als Landkarten, Grundrisse oder Diagramme gestalten, um sie passend fĂĽr den jeweiligen Anwendungszweck zuzuschneiden.
Im Zuge der Angleichung existiert nur noch eine einheitliche Rule Engine, die die in der eigenen Domain Specific Language (DSL) von openHAB verfassten Regeln im User Interface integriert. Daneben lassen sich neuerdings Regeln auch in JavaScript, Groovy und der ehemals als JPython bekannten Java-Implementierung von Python Jython erstellen.
Wer eine visuelle Herangehensweise bevorzugt, kann Skripte für die Hausautomatisierung außerdem neuerdings mit der von Google entwickelten Programmiersprache Blockly erstellen, die wie die vom MIT entwickelte Sprache Scratch das Bauen von Code in einer grafischen Umgebung mit vorgegebenen Blöcken ermöglicht.
Einbindung von AuĂźenposten
Zu den nennenswerten Neuerungen gehört zudem, dass sich verteilte Architekturen nun direkt mit der Software über openHAB Remote Binding umsetzen lassen. Dabei steuert eine zentrale Instanz mehrere openHAB-Außenposten. Bisher benötigte eine verteilte Architektur den Einsatz des im IoT-Umfeld verbreiteten MQTT-Protokolls. Dazu war neben einem MQTT Broker für jede Instanz die Integration des MQTT-Binding erforderlich.
Nennenswert ist zudem, dass das Ökosystem seit der Veröffentlichung von openHAB 2.5 vor einem Jahr deutlich gewachsen ist: Das GitHub-Repository listet 86 neuen Add-ons seit dem letzten Jahr auf.
Fokus auf Java 11 und openHAB 3
Unter der Haube setzt openHAB 3 auf Java 11, während der Vorgänger Java 8 genutzt hatte. Auch hat das Team zahlreiche Libraries aktualisiert und als überholt (deprecated) bezeichnete Methoden entfernt sowie aktuelle OSGi-Features implementiert.
Der weitere Fahrplan sieht laut dem openHAB-Blog Minor Releases im Halbjahrestakt vor, sodass im Sommer openHAB 3.1 geplant ist. FĂĽr Version 2.5.x wird es lediglich Updates geben, um kritische Bugfixes vorzunehmen. Solche wird es ebenso als 3.x.y-Releases fĂĽr die aktuelle Hauptversion geben.
(rme)