Vor wenigen Tagen wurden die Version 3 der beliebten und freien Hausautomatisierungslösung veröffentlicht. Ich habe diese schon seit dem Release Candidate 1 im Einsatz und viele Eindrücke gesammelt.
Der Systemstart
Der Systemstart verläuft deutlich schlanker und schneller als ich dies von OH2 gewohnt bin. Nach nur wenigen Sekunde stand das System und die neue Oberfläche zur Verfügung. Besonders gefällt mir daran, dass die Verbindung zur Datenbank vor dem Laden der Rules und Skripte durchgeführt wird.
Aktuell habe ich etwa 20% meiner Umfänge in OH3 abgebildet. Der Systemstart dauert ca. 10 Sekunden.
[INFO ] [.core.internal.i18n.I18nProviderImpl] - Time zone set to 'Europe/Berlin'.
[INFO ] [.core.internal.i18n.I18nProviderImpl] - Location set to '49.xxx,8.xxx'.
[INFO ] [.core.internal.i18n.I18nProviderImpl] - Locale set to 'de_DE'.
[INFO ] [.core.model.lsp.internal.ModelServer] - Started Language Server Protocol (LSP) service on port 5007
[INFO ] [org.openhab.ui.internal.UIService ] - Started UI on port 8080
[INFO ] [nding.http.internal.HttpThingHandler] - Using the secure client for thing 'http:url:4XXXXX07df'.
[INFO ] [ternal.dhcp.DHCPPacketListenerServer] - DHCP request packet listener online
[INFO ] [o.internal.handler.AstroThingHandler] - Scheduled Positional job astro:sun:local every 300 seconds
[INFO ] [.transport.mqtt.MqttBrokerConnection] - Starting MQTT broker connection to 'mqttserver' with clientid XXX
[INFO ] [persistence.jdbc.internal.JdbcMapper] - JDBC::openConnection: Driver is available::Yank setupDataSource
[INFO ] [e.automation.internal.RuleEngineImpl] - Rule engine started.
[INFO ] [ab.ui.habpanel.internal.HABPanelTile] - Started HABPanel at /habpanel
Die neue Oberfläche
Die gefühlt größte Neuerung ist zweifelsohne die Oberfläche Main-UI. Dabei handelt es sich tatsächlich um eine komplette und reife Neuimplementierung. Auf mich wirkt diese nach kurzer Einarbeitungszeit durchdacht, intuitive und was ich sehr begrüße: vollständig!
Einstellungen
Alle Einstellung auf einer Seite. Neu hinzugekommen sind:
Model
Modellierung / Strukturierung des zu automatisierenden Objekts. Ebenen, Räume, Bereiche, Equipment, Points … hier hat sich richtig viel getant
Pages
Erstellung von verschiedenen Seiten welche innerhalb der neuen UI verwendet werden können.
Mit dieser Funktion habe ich mich noch nicht intensiv auseinandergesetzt.
Scripts & Rules
Dies war optional bei OH 2.5 schon möglich. Hier gibt es ebenfalls enorme Fortschritte und – da bin ich ganz sicher – wird sich im Laufe des Jahres 2021 noch einiges tun.
Schedules
Erstellung von Zeitplänen zur zeitgesteuerten Automatisierung. So ganz sicher bin ich noch nicht, wie ich diese Funktionen werde anwenden können. Mal sehen 🙂
Die Architektur wurde extrem verschlankt
OpenHAB 2 unterstützt Bindings der Version 1 und 2, benötigt dafür aber einen komplexen und umfangreichen Kompatibilitätslayers. Zudem gibt es viele Oberflächen, die sich funktional überschnitten, zB. Paper-UI und HABmin, aber auch Classic-UI und Basic-UI. Der Core basiert auf „Eclipse SmartHome“, eine Weiterentwicklung und Veröffentlichung mit dem Ziel den Core für andere Projekte nutzbar zu machen.
Ein Ziel der dritten Version war es, die Dinge zu vereinfachen
- Unterstützung für Version 1 Bindings wurde entfernt. Damit entfallen ist natürlich auch der Kompatibilitätslayer
- Die Main-UI ersetzt Paper-UI und HABmin
- Classic-UI und Home Builder entfallen
- JSR223 wird die neue Standard-Rule-Engine, DSL wird weiter vollständig unterstützt
- Der Core wird wieder zurückgebaut, zu einem eigenständigen und speziell für OpenHAB einsetzbaren Core. Dies wurde nach meinem Verständnis durchgeführt, da die Mehrwerte eines universellen Cores die höhere Komplexität (vor allem bei der Entwicklung neuer Bindings) nicht rechtfertigen
Schaut euch die neue Architektur an. Wirkt auf mich sauber und schlank, was sich mit meinen ersten Erfahrungen deckt.
Scriptdesign mit Blockly
Beim erstellen neuer Scripte kann man zwischen DSL (bisheriger Standard), ECMAScript (neuer Standard) und Blockly wählen.
Blockly ist ein Framework von google (https://developers.google.com/blockly/) welches es ermöglicht, grafisch zu programmieren.
Ich habe das mal ausprobiert. Die folgende Funktion errechnet den Gesamtstromverbrauch meines Hauses, je nach Verbrauchsituation.
Für Einsteiger sicher gut geeignet. Für Leute mit Erfahrung im Programmieren ist dies vermutlich zu viel Aufwand, da sich Code immer noch schneller schreiben als klicken lässt. Ein ganz klarer Vorteil ist jedoch die Unabhängigkeit der Script-Engine. Mit dieser Methode geschrieben Scripte sind universell, d.h. können in jede beliebige Sprache gewandelt werden. Und das ist der Punkt der mir daran wirklich gut gefällt. Deswegen werde ich mir dies noch genauer ansehen.
Fazit: Umsteigen! Jetzt!
Mein Fazit könnte besser nicht ausfallen. Ich bin total begeistert. Vielleicht stolpere ich noch über die ein oder andere Hürde, aber bis jetzt habe ich richtig Lust meine Automatisierung komplett neu aufzubauen und hierfür die neuen möglichen Strukturen und Möglichkeiten zu nutzen.
Der Wegfall der 1er Bindings trifft mich schmerzlich bei meiner Wärmepumpe … aber da fällt mir sicher noch etwas ein. Zur Not übe ich mich eben in der Binding-Programmierung!
Wie ist euer Eindruck? Schreibt in die Kommentare 🙂
2 Responses
Hallo Andre. Ich habe deine Seite zwar erst gestern entdeckt, bin aber total begeistert. die Erklärungen sind toll und für anfänger sehr holfreich. Weiter so. Schade dass ich mir ein teures Buch gekauft habe, beovr ich deine Seiten entdeckte. Und dazu noch ein Buch für openHAB2. Es gibt aber wie du schreibst gravierende Unterschiede. Soll man sich noch mit dem Buch befassen?
Auf jeden Fall, super, mach weiter so, du hast den Typ Lehrer in dir, wo wie dur schreibst und berichtest.
Hey Danke, freut mich 🙂 Mit dem OH2 Buch würde ich mich nur noch beschäftigen, um Fragen zu Bindings, Channels, Items und Things nachzulesen. Konzeptionelle Kapitel „Wie man eine HA strukturiert“ würde ich nicht mehr lesen, falls das Buch solche Inhalte abdeckt. Grüße, André