openHAB Smart-Home-Integration, kostenlos und Open Source

Brücke zu openHAB: Items (Lampen, Rollläden, Sensoren…) in Gladys importieren und steuern.
Diese Integration verbindet Gladys mit deinem openHAB-Server und bietet seine Items im Reiter Entdecken von Gladys an: Lampen, Schalter und Steckdosen, Rollläden und Vorhänge, Solltemperaturen, Sensoren mit ihren Einheiten, Kontakte, Melder, Player und Schlösser. Sobald ein Gerät hinzugefügt ist, folgen seine Zustände openHAB live, und Gladys steuert es über openHAB, das seine Bindings behält (Zigbee, Z-Wave, KNX, Modbus, Cloud…). Wechsle in deinem Tempo zu Gladys, oder betreibe beide nebeneinander. Alles bleibt in deinem lokalen Netzwerk. Inoffiziell, nicht mit der openHAB Foundation verbunden.
Getestet mit openHAB 5.0.1 in Docker und virtuellen Items (ohne Binding), noch nicht auf vielen echten Installationen: Rückmeldungen sind im GitHub-Repository willkommen.
Voraussetzungen
- openHAB 4.x oder 5.x, von der Gladys-Maschine aus erreichbar (gleiches Netz oder ein VPN).
- Ein API-Token eines openHAB-Benutzers (am besten eines Administrators: Eine Regel aus einer Szene auszuführen braucht das). Nimmt dein openHAB Anfragen ohne Anmeldung an (seine standardmäßige „implizite Benutzerrolle“), ist kein Token nötig.
Konfiguration
Adresse und Token
- Öffne in openHAB (Main UI) dein Profil (unten links), dann Create new API token. Nenne es „Gladys“ und kopiere das Token: openHAB zeigt es nur einmal.
- Öffne in Gladys die Integration, Konfiguration:
- Adresse von openHAB: wie
http://192.168.1.30:8080, oderhttps://openhab.example.orghinter einem Reverse-Proxy. Kein.local-Name, nichtlocalhost: Die Integration läuft in einem eigenen Container. - API-Token: Füge es ein. Benutzername und Passwort gehen auch, nur wenn die Basic-Authentifizierung in openHAB aktiviert ist (Settings → API Security).
- Adresse von openHAB: wie
- Klicke auf Verbindung testen: Die openHAB-Version, die Zahl der angebotenen Geräte und die nicht importierten Item-Typen werden angezeigt.
- Öffne den Reiter Entdecken und füge die gewünschten Geräte hinzu. Die Werte werden gleich beim Hinzufügen gesendet.
Auswählen, was importiert wird
Eine openHAB-Installation hat oft Hunderte von Items. Gladys bietet an:
- nur die Items der aufgeführten Gruppen, falls vorhanden (Gruppennamen oder
Bezeichnungen, durch Kommas getrennt, wie
gGroundFloor, Garten; ein Item zählt, wenn es in einer davon liegt, in jeder Tiefe); - nur die Items mit einem der aufgeführten Tags, falls vorhanden (Tags des
Items oder seines Equipments: semantische Tags wie
Lightbulb,Temperature, oder eigene wieGladys); - nie die Items unter Auszulassende Items (
*_Signal,*steht für beliebigen Text).
Gruppen-Items sind nie selbst Geräte: Das sind die Orte und Equipments des semantischen Modells. Nur die in Gladys hinzugefügten Geräte erhalten Zustände: Die anderen kosten nichts.
Schlösser, Garagentore und Tore
Standardmäßig sind Schlösser (Items mit dem Tag Lock, oder Punkte eines
Lock-Equipments), und jedes Item eines Garagentors, Tors oder einer Tür (Rollladen, Impulsschalter, Türöffner), so getaggt oder Punkt eines solchen Equipments, in
Gladys schreibgeschützt: Du siehst, ob sie verriegelt, offen oder
geschlossen sind, aber weder ein Gerät, noch eine Szene, noch ein mit Gladys
verbundener Sprachassistent kann sie öffnen. Aktiviere Befehle für Schlösser,
Garagentore und Tore erlauben, um sie zu steuern (klicke dann im Reiter
Entdecken bei diesen Geräten auf „Aktualisieren“). Die Szenen-Aktion, die einen
Befehl sendet, lehnt sie ebenfalls ab, und auch eine Gruppe, die eines davon
enthält, solange dieses Feld nicht aktiviert ist.
Optionen
- Mindestabstand zwischen zwei Werten eines Sensors: standardmäßig 10 Sekunden. Ein Zähler, der jede Sekunde meldet, wird in diesem Takt an Gladys gesendet. Schalter, Lampen, Rollläden und Melder werden nie verzögert.
- Sprache der Funktionsnamen: die Wörter, die an die Namen der Nebenfunktionen angehängt werden („Rollladen – Position“). Standardmäßig Französisch.
- Für Szenen beobachtete Items: siehe den Szenen-Auslöser unten.
Was du bekommst
Geräte
Ein Gladys-Gerät pro Equipment des semantischen Modells von openHAB, mit den Funktionen seiner Punkte (eine Lampe mit Schalter, Dimmer und Farbe); ein Item außerhalb jedes Equipments ist ein eigenes Gerät. Der Name ist die openHAB-Bezeichnung, mit ihrem Ort („Deckenlampe (Wohnzimmer)“).
| openHAB-Item | In Gladys |
|---|---|
Switch | ein Schalter, oder eine Lampe (Tag Light, Licht-Equipment) |
Switch mit Tag Alarm/Status + Smoke, Water… | Rauch-, Leck-, CO-, Bewegungs-, Sabotage- oder Vibrationsmelder |
Switch mit Tag Lock | verriegelt oder nicht (schreibgeschützt, außer erlaubt) |
Dimmer | Helligkeit einer Lampe (mit Ein/Aus, wenn allein) |
Dimmer mit Tag SoundVolume | die Lautstärke eines Players |
Color | Farbe und Helligkeit einer Lampe (mit Ein/Aus, wenn allein) |
Rollershutter | ein Rollladen (oder Vorhang): öffnen, schließen, stopp, Position |
Rollershutter Garagentor, Tor, Tür | offen oder geschlossen, Position (schreibgeschützt, außer erlaubt) |
Contact | ein Öffnungsmelder |
Player | Wiedergabestatus, Wiedergabe, Pause, weiter, zurück |
Number:Temperature mit Tag Setpoint | eine Solltemperatur, im Min und Max des Items |
Number:Temperature, Pressure, Illuminance… | Temperatur, Druck, Helligkeit, Leistung, Energie, Spannung |
| Strom, Volumen (Gas, Wasser), Wind, Lärm, Regenintensität | |
Number in % mit Tag Humidity, oder Batterie | Luftfeuchtigkeit, Batteriestand |
Number in ppm mit Tag CO2 | ein CO2-Sensor |
Items vom Typ String, DateTime, Location, Call, Image und Gruppen
werden nicht importiert (der Verbindungstest listet sie auf); ein String kann
trotzdem eine Szene auslösen (Auslöser unten) oder einen Befehl empfangen
(Szenen-Aktion). Eine Number ohne Einheit und ohne Bedeutung wird auch nicht
importiert: Gib ihr eine Dimension (Number:Power) oder einen semantischen
Tag.
Die Position eines Rollladens folgt Gladys: 100 % ist offen (openHAB sagt 0 %).
Eine Number:Dimensionless ohne unit-Metadaten behält ihren Zustand in
openHAB in „one“ (48 % ist 0.48): Die Brücke zeigt sie in der Einheit ihres
Musters, wie openHAB.
Dashboard-Widget
openHAB: die Verbindung, wie die Zustände ankommen (Ereignisstrom oder Abfrage), die openHAB-Version, die angebotenen und hinzugefügten Geräte, die verfolgten Items, und ein Knopf Neu laden, der die Item-Liste neu liest.
Szenen-Auslöser
openHAB-Item geändert: Ein Item unter Für Szenen beobachtete Items hat seinen Zustand geändert, auch wenn es nicht zu Gladys hinzugefügt ist (ein String, ein Alarmmodus, eine Klingel). Filter: das Item, und der neue Zustand (optional). Variablen: Item, Bezeichnung, neuer Zustand, vorheriger Zustand.
Szenen-Aktionen
- Befehl an ein openHAB-Item senden: ein beliebiges Item, ein beliebiger
Befehl (
ON,OFF,50,UP,PLAY, ein Text). Praktisch für Items ohne Funktion in Gladys, oder um eine openHAB-Regel über einen virtuellen Schalter zu starten. - openHAB-Regel ausführen: über ihre Kennung (UID, sichtbar unter Settings → Rules); die Szenen von openHAB sind auch Regeln. Braucht das Token eines Administrators.
Szenenbeispiele
- Wenn das openHAB-Item
Alarm_ModezuARMEDwird (beobachtetes Item), alle Lampen von Gladys ausschalten und eine Nachricht senden. - Bei Sonnenuntergang
DOWNan die openHAB-GruppegShutterssenden (Szenen-Aktion). - Wenn die Anwesenheit in Gladys das Haus verlässt, die openHAB-Regel
away_modeausführen.
Fehlerbehebung
- „openHAB verweigert den Zugriff“: Das Token ist falsch oder wurde gelöscht; erstelle ein neues. Mit einem Benutzernamen muss die Basic-Authentifizierung in openHAB aktiviert sein.
- „openHAB ist nicht erreichbar“: Prüfe die Adresse von der Gladys-Maschine
aus (
curl http://<adresse>:8080/rest/). Ein neuer Versuch folgt nach 5 Sekunden, dann bis zu jede Minute. - Das Widget zeigt „Abfrage“: Der Ereignisstrom (
/rest/events) kommt nicht durch, oft wegen eines Reverse-Proxys, der ihn puffert. Die Zustände kommen trotzdem alle 30 Sekunden an; der Strom wird regelmäßig erneut versucht. - Ein Item fehlt: Starte den Verbindungstest, er listet die nicht importierten Typen. Prüfe Gruppen, Tags und Ausschlüsse der Konfiguration.
- Ein Wert ist 100-mal zu groß oder zu klein: Das Item ist eine
Number:Dimensionless, deren Muster%sagt, während openHAB sie in „one“ speichert, oder umgekehrt; gib ihr in openHABunit-Metadaten. - Protokolle: Setze
LOG_LEVEL=debug, um jeden Zustand und jedes Ereignis zu sehen.
Grenzen
- Entwickelt gegen openHAB 5.0.1 mit virtuellen Items: weder Binding noch echte Hardware. Rückmeldungen willkommen.
- Gruppen sind keine Geräte: Eine Lampengruppe lässt sich trotzdem über die Szenen-Aktion steuern.
- Ein Thermostatmodus, eine Farbtemperatur oder eine Lüftergeschwindigkeit haben keinen eigenen Item-Typ in openHAB: Solche Werte kommen als Number oder Dimmer an und werden als solche importiert, wenn sie eine Einheit haben, sonst gar nicht.
- Ein Item in openHAB umzubenennen erzeugt ein anderes Item: Das Gladys-Gerät muss neu hinzugefügt werden. Ein Item in ein anderes Equipment zu verschieben ändert auch sein Gladys-Gerät.
- Die Namen der Funktionen werden beim Hinzufügen des Geräts in Gladys festgelegt.
Datenschutz
Die Brücke spricht nur mit deinem openHAB-Server, in deinem Netzwerk. Das Token (oder das Passwort) speichert Gladys in seiner Konfiguration, es wird nie in die Protokolle geschrieben. Nichts geht ins Internet.
Konfigurationseinstellungen
Diese Einstellungen fragt openHAB in seinem Konfigurationsbildschirm in Gladys ab.
| Einstellung | Typ | Pflichtfeld | Beschreibung |
|---|---|---|---|
| Deine openHAB-Items in Gladys | section | Nein | Gladys liest die Items deines openHAB-Servers über seine REST-API und verfolgt ihre Änderungen live. Erstelle in openHAB ein API-Token (dein Profil, ganz unten: Create new API token). Nimmt dein openHAB Anfragen ohne Anmeldung an, kann das Token leer bleiben. Die Items erscheinen dann im Reiter Entdecken, nach Equipment des semantischen Modells gruppiert: Füge die gewünschten hinzu. |
| Adresse von openHAB | string | Ja | IP-Adresse und Port, von der Gladys-Maschine aus gesehen. Kein .local-Name, nicht localhost. |
| API-Token | secret | Nein | Leer, wenn dein openHAB Anfragen ohne Anmeldung annimmt. |
| Benutzername (statt eines Tokens) | string | Nein | Nur wenn die Basic-Authentifizierung in openHAB aktiviert ist (Sicherheitseinstellungen der API). Ein Token ist besser. |
| Passwort | secret | Nein | |
| Nur die Items dieser Gruppen | string | Nein | Gruppennamen oder Bezeichnungen, durch Kommas getrennt: Ein Item zählt, wenn es in einer davon liegt, in jeder Tiefe. Leer: alle Items. |
| Nur die Items mit diesen Tags | string | Nein | Tags des Items oder seines Equipments, durch Kommas getrennt (semantische Tags wie Lightbulb oder Temperature, oder eigene). Leer: alle Items. |
| Auszulassende Items | string | Nein | Item-Namen, durch Kommas getrennt; * steht für beliebigen Text. Nie importiert. |
| Befehle für Schlösser, Garagentore und Tore erlauben | boolean | Nein | Aus: Schlösser, Garagentore und Tore zeigen ihren Zustand, aber Gladys kann sie nicht öffnen, über Gerät, Szene oder Sprachassistent. |
| Mindestabstand zwischen zwei Werten eines Sensors (s) | number | Nein | Ein Zähler, der jede Sekunde meldet, wird in diesem Takt an Gladys gesendet. Schalter und Melder werden nie verzögert. |
| Szenen | section | Nein | Hier aufgeführte Items lösen bei jeder Zustandsänderung den Szenen-Auslöser „openHAB-Item geändert“ aus, auch wenn sie nicht zu Gladys hinzugefügt sind (ein String, ein DateTime, ein Alarmmodus…). |
| Für Szenen beobachtete Items | string | Nein | Item-Namen, durch Kommas getrennt; * steht für beliebigen Text. |
| Sprache der Funktionsnamen | select | Nein |
So installierst du openHAB in Gladys
- Öffne in Gladys Integrationen: openHAB erscheint im Katalog neben den nativen Integrationen, mit einem Community-Badge.
- Klicke auf Installieren. Gladys lädt das Docker-Image (
ghcr.io/guim31/gladys-openhab:1.0.0) herunter, startet es in einer vom Kern isolierten Sandbox und erzeugt die Oberfläche der Integration (Geräte, Erkennung und Konfiguration). - Öffne den Bildschirm Konfiguration der Integration, fülle die Einstellungen aus und speichere.
- Du kannst sie auch direkt über die URL ihres Repositorys installieren: https://github.com/guim31/gladys-openhab.
openHAB benötigt Gladys >=5.1.0. Der Katalog in Gladys wird stündlich aktualisiert, eine neue Version ist also spätestens eine Stunde nach ihrer Veröffentlichung verfügbar.
Du nutzt Gladys noch nicht? Es ist kostenlos und Open Source: folge der Installationsanleitung, um loszulegen.
Über externe Integrationen
openHAB ist eine externe Integration: eine Community-Integration, die als Docker-Container verpackt und auf GitHub veröffentlicht wird. Gladys installiert sie mit einem Klick und führt sie in einer vom Kern isolierten Sandbox aus. Sie wird von guim31 veröffentlicht und gepflegt, nicht vom Gladys-Kernteam.
- Alle Integrationen durchsuchen, native und aus der Community
- Deine eigene externe Integration bauen und veröffentlichen
- Quellcode auf GitHub — Quelle dieser Dokumentation