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.

In Pocket speichern vorlesen Druckansicht 19 Kommentare lesen
Lesezeit: 4 Min.
Von
  • Rainald Menge-Sonnentag
Inhaltsverzeichnis

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.

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.

Das neue User Interface von openHAB mit der semantisch orientierten Beschreibung.

(Bild: openHAB.org)

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.

Items enthalten im semantischen Modell vier grundlegende Eigenschaften, die zueinander in Beziehung stehen.

(Bild: oepnHAB.org)

Das semantische Modellieren ist mit Version 3 die empfohlene Vorgehensweise für das Erstellen und Verwalten von Smart-Home-Komponenten mit openHAB.

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.

Die einzelnen Seiten lassen sich passend zum Anwendungszweck unterschiedlich gestalten.

(Bild: openHAB.org)

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.

Skripte zur Smart-Home-Automatisierung lassen sich neuerdings mit Blockly erstellen.

(Bild: openHAB.org)

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.

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)