ioBroker und OpenHAB gleichzeitig nutzen
Ich glaube in den letzten Tagen geschehen doch noch Wunder. Nach mehr als zwei Jahren habe ich es doch mal wieder gewagt, mit OpenHAB anzusehen. Genauer gesagt die Version 3, welche vor einiger Zeit erschienen ist. Hintergrund dazu war ein neues Gerät im Smart Home, für das es im ioBroker noch keinen Adapter gibt. Und schnell kam die Frage auf, ob man nicht ioBroker und OpenHAB gleichzeitig nutzen kann.
Die kurze Antwort auf die Frage ist: Ja, das geht.
Grundsätzlich kannst du in deinem Zuhause so viele Systeme betreiben, wie du möchtest. Einzig und allein die sinnvolle Aufteilung von Aufgaben spielt dabei dann eine große Rolle. Etwas vereinfacht gesagt musst du eben schauen, dass sich beide Systeme nicht ins Gehege kommen. Ansonsten können die wildesten Dinge passieren, insbesondere wenn Automationen nicht aufeinander abgestimmt sind.
Schauen wir also in diesem Artikel genauer auf das Thema. Ich möchte mir dir klären, wie man OpenHAB und ioBroker parallel betreiben kann. Doch zuerst noch etwas zum Hintergrund.
Inhaltsverzeichnis
Wasser im Smart Home
Tatsächlich ist in meinem Fall der Wasserbrauch schuld daran, dass ich überhaupt erst auf die Idee gekommen bin. Vor einigen Wochen wurde ein neues Gerät im Smart Home verbaut, das im ioBroker keinen eigenen Adapter hat. Dagegen konnte OpenHAB jedoch glänzen, da es hier ein Binding für genau dieses Gerät gibt. Was wäre also nun die Konsequenz daraus?
Im Grunde genommen sah ich mich mit 3 verschiedenen Möglichkeiten konfrontiert. Ich könnte mein komplettes Smart Home auf OpenHAB 3 migrieren, einen eigenen Adapter für ioBroker entwickeln oder beide Systeme in Kombination einsetzen.
Eine komplette Migration scheidet zumindest aktuell schon allein aufgrund der Komplexität aus. Es ist mir momentan meine Zeit nicht wert, alles wieder umzustellen. Zumal ich mit ioBroker sehr zufrieden bin und das System zu schätzen gelernt habe. Die Möglichkeit scheidet demnach aus.
Die Entwicklung eines eigenen Adapters wäre eine Alternative. Zumal ich grundsätzlich schon an einem solchen Projekt interessiert wäre. Zeitmangel machen es aktuell aber schwer, wirklich viel daran zu arbeiten. Und selbst wenn ich die Entwicklung angehe, wie funktioniert das dann mit den Updates? Wer soll sie machen, wenn ich es zeitlich nicht schaffe? Programmieren war also in diesem Fall auch keine Option.
Schlussendlich blieb mir nur übrig, dass ich OpenHAB 3 installiere und meine Geräte dann in ioBroker hole. So hat OpenHAB ergänzende Aufgaben, während die gesamte Logik weiterhin im ioBroker läuft. Es ist also wie ein Subsystem zu verstehen.
Beide Systeme miteinander vernetzen
Wer also nun – genauso wie ich – ioBroker und OpenHAB gleichzeitig nutzen möchte, muss sich direkt zu Beginn die Frage stellen, wie beide Systeme miteinander kommunizieren können. Grundsätzlich kann die Kommunikation entweder über einen Adapter im ioBroker erfolgen (wenn ioBroker dein Hauptsystem ist) oder über MQTT. Im Falle von MQTT gibt es kein Hauptsystem, da hier eine Synchronisierung in beide Richtungen erfolgen kann. Soll heißen, dass du auch Datenpunkte aus dem ioBroker an OpenHAB senden kannst.
Ich habe mich in meinem Fall dazu entschieden, den OpenHAB-Adapter für ioBroker zu verwenden. Die Integration schien damit ziemlich simpel und ohne Probleme umsetzbar. MQTT wäre ein etwas größerer Aufwand, dafür wären beide Systeme stark voneinander entkoppelt. Hat eben alles seine Vor- und Nachteile.
Die Funktionsweise des Adapters an sich ist erstmal recht simpel. OpenHAB bietet eine sogenannte REST-Schnittstelle auf seine Informationen an. Diese Schnittstelle fragt der Adapter ab und legt passend dazu die entsprechenden Datenpunkte an. So können Informationen ausgetauscht werden, die dann wiederum im ioBroker weiterverarbeitet werden können.
Hierbei erkennt man auch sehr gut in meinen Augen, warum Schnittstellen im Smart Home von so großer Bedeutung sind. Sie sind ein wirklich mächtiges Werkzeug und erlauben Integrationen, die ohne Schnittstellen gar nicht möglich sind. Glücklicherweise bietet das System hier entsprechend die Möglichkeiten.
Schwierigkeiten mit dem Adapter
Leider muss man sagen, dass der OpenHAB-Adapter für ioBroker auch eine ganz entscheidende Schwachstelle hat. Jedenfalls bei mir. Die Daten aktualisieren momentan nicht automatisch, was zu fehlerhaften Logiken und Anzeigen führt. Scheinbar trat dieses Problem schon mehrfach auch bei anderen Nutzern auf, verschwand dann allerdings zum Teil wieder. Warum das so ist, habe ich bisher noch nicht genau nachvollzogen.
Allerdings glaube ich, dass ein Bugfix des Adapters hier einige Probleme lösen könnte. Fraglich ist nur, an welcher Stelle man ansetzen müsste und wer den Bugfix dann bereitstellt. Hier fehlt mir noch etwas an Recherche, die ich noch nicht gemacht habe. Zum Zeitpunkt der Erstellung des Artikels ist meine Integration beider Systeme auch noch keine 24 Stunden her. 😉
Die Schwachstellen des Adapters könnte man nun allerdings mit MQTT ausgleichen. Dazu müssten alle Informationen aus OpenHAB in einen MQTT-Server fließen, aus welchem ioBroker dann die Daten abrufen kann. So wäre eine Synchronisierung möglich und die Systeme würden nicht einmal voneinander wissen.
In meinem Fall könnte ich dazu meinen Mosquitto-Server nutzen, der innerhalb meines Proxmox Clusters läuft. Beide Systeme wüssten dann nur, dass sie mit Mosquitto sprechen. Unbekannt wäre für beide Systeme, wer der Abnehmer und Lieferant der entsprechenden Daten ist. Im Fachjargon spricht man dabei auch ganz gerne von Entkopplung.
Vorsicht bei Automationen
Wir sehen also, dass man ioBroker und OpenHAB gleichzeitig betreiben kann. Doch noch immer gibt es einen Stolperstein, der gerne man übersehen werden könnte. Die Rede ist hierbei von Automationen.
Wenn eine Automation ausgeführt wird, werden Daten manipuliert. Zum Beispiel steuert ioBroker auf Basis seiner Skripte einen Datenpunkt an und verändert den Zustand. Das kann beispielsweise das Einschalten einer Lampe oder Steckdose sein.
Gibt es nun auf der anderen Seite (also bei OpenHAB) genau die gleiche Logik, kann das zu Schwierigkeiten führen. Muss aber nicht. Es kommt immer ganz drauf an, wie das genau gehandhabt wird. Allerdings wird dabei schon klar, dass es ziemlich sinnfrei ist, wenn zwei Systeme genau die gleiche Logik behandeln. Gerade wenn es mal zu Schwierigkeiten kommt weiß man eben nicht zuverlässig, wo man mit der Lösung ansetzen soll.
Ich rate also ganz dringend dazu, dass Logiken entsprechend sauber aufgeteilt werden, sofern du ioBroker und OpenHAB gleichzeitig nutzen willst. Besser wäre es sogar, wenn Logiken nur in einem System stattfinden und das andere System nur die entsprechenden Daten liefert. In meinem konkreten Fall lege ich OpenHAB also gewisse Fesseln an, so dass es sich nur als Datenlieferant am Leben erhalten kann.
Der große Vorteil liegt für mich nun auch darin, dass ich jederzeit OpenHAB wieder abschalten kann, ohne dass es dabei zu Problemen kommt. Einzig und allein meine Daten würden im ioBroker nicht mehr aktualisiert werden. Dadurch, dass die Datenpunkte jedoch alle in einem Ordner sind, kann ich diese schnell wieder löschen. Skripte müsste ich dann händisch anpassen oder rausnehmen. Allerdings hält sich der Aufwand hier noch ziemlich in Grenzen.
Fallback-System
Die Geeks unter euch, könnten nun natürlich auch auf ganz andere Ideen kommen. Wer in seinem Smart Home zwei verschiedene Systeme einsetzt, könnte sich eine Art Fallback-Lösung bauen. In meinem Kopf sieht das wie folgt aus.
Mein Hauptsystem ist ioBroker. Dort werden alle Automationen ausgelöst und das Smart Home wird erst durch die einzelnen Skripte zu dem, was es ist. Diese Skript könnte ich theoretisch nun im OpenHAB nachbauen. Ergänzend dazu könnte es einen Aufruf geben, ob ioBroker aktuell erreichbar ist. Sobald ioBroker nicht mehr erreichbar ist, könnte OpenHAB die gesamte Logik des Smart Homes übernehmen und weiterhin Automationen triggern.
Das hätte selbstverständlich einen ganz entscheidenden Vorteil. Während Wartungsarbeiten oder Updates, kann ioBroker nichts steuern. In diesem Fall würde dann automatisch OpenHAB einspringen und die entsprechenden Steuerungen übernehmen. Sobald ioBroker wieder erreichbar ist, würde die Aufgabe der Steuerung wieder dorthin zurück gehen.
Realisierbar wäre das zum Beispiel mit dem Network-Binding. Dieses liefert mir die Information, ob ein bestimmter Server erreichbar ist. Es könnte aber auch eine Abfrage der Schnittstelle von ioBroker geben, die dann im Zweifel einfach nicht mehr antwortet.
Fraglich ist allerdings, ob sich in einem Smart Home ein so großer Aufwand lohnt. Theoretisch denkbar wäre es jedoch.
Zwei Systeme sind eine Herausforderung
Nun müssen wir allerdings auch fairerweise die aktuelle Situation betrachten. Es gibt gerade im Bereich des Smart Homes viele Anwender, die sich selbstständig alle möglichen Kenntnisse beibringen. Und das finde ich großartig.
Gleichzeitig erhöht man sich durch den Einsatz zweier Systeme allerdings enorm den Aufwand. Es müssen zwei Systeme gepflegt werden und auch die Synchronisierung von Informationen muss stimmen. Dazu gehört weit mehr als nur ein einfaches Installieren eines Adapters. Im Idealfall kommunizieren beide Systeme getrennt vom eigentlichen Hausnetz und sichern so ihre Kommunikation ab.
Du siehst also schon, dass der Betrieb ganz neue Herausforderungen mit sich bringt. Daher würde ich gerade Einsteigern dringend dazu raten, sich vorerst auf ein einziges System zu konzentrieren. So nimmt man sich zumindest einen Teil der Komplexität heraus und kann sich voll und ganz einem System widmen.
Gerade bei zwei völlig unterschiedlichen Systemen wie ioBroker und OpenHAB muss man nämlich noch mehr als nur die Vernetzung kennen. Zum Beispiel arbeiten beide Systeme unterschiedlich und auch die Benennung von Erweiterungen ist anders. Während man bei ioBroker von Adaptern spricht, sind es bei OpenHAB Bindings. Das muss man definitiv auseinander halten können.
Trotzdem bleibt es eine spannende Möglichkeit, dass wir ioBroker und OpenHAB gleichzeitig nutzen und zu einem großen Smart Home kombinieren können, um so noch mehr Potenzial auszuschöpfen. Im Grunde sind der Fantasie hier keine Grenzen gesetzt. Und wer es ganz komplex mag, kann sich ja auch noch Home Asssistant dazu holen. 😉
0 Kommentare