Hubitat (Z-Wave und Zigbee)
Ein Hubitat-Hub bringt Z-Wave-, Zigbee-, Matter-, Thread- und Lutron-Geräte über einen einzigen Connector nach Yggio, in beide Richtungen. Der Hub läuft lokal und braucht kein eigenes Cloud-Abonnement, denn Yggio ist das Cloud-Backend.

Was der Hub hereinbringt
Ein Hubitat-Hub bringt eigene Funkmodule mit, ein angeschlossener Hub holt also jedes Protokoll, das er spricht, auf einmal nach Yggio, als gewöhnliche Geräte:
| Protokoll | Hinweise |
|---|---|
| Z-Wave | Sensoren, Relais, Dimmer, Schlösser |
| Zigbee | Sensoren, Steckdosen, Beleuchtung |
| Matter | Über WLAN und Ethernet |
| Thread | Matter-Geräte in einem Thread-Netz |
| Lutron | Über Hubitats eigene Integration |
| LAN- und Cloud-Geräte | Alles Weitere, das Hubitat erreicht, über eigene oder Community-Treiber |
Yggio braucht weder Funk noch eine Integration je Protokoll: der Hub übernimmt das Protokoll, Yggio die Daten. Ein Z-Wave-Türsensor und eine Zigbee-Steckdose kommen als Geräte an wie jeder LoRaWAN-Sensor, mit denselben Feldern, Ansichten, Regeln und Berichten. Die Verbindung läuft in beide Richtungen, eine Regel in Yggio kann also ein Relais schalten oder einen Dimmwert setzen, und der neue Zustand kommt direkt zurück.
Kein Cloud-Abonnement
Der Hub lässt sich einzeln kaufen und ohne den Cloud-Dienst des Herstellers betreiben, es fallen also keine laufenden Abogebühren für die Cloud-Seite an. Er arbeitet lokal, und Yggio ist das Cloud-Backend: Fernzugriff, Historie, Dashboards, Regeln, Berichte und Zugriffsrechte kommen aus Yggio statt aus einem zweiten Cloud-Konto.
Das hält die Gebäude- oder Hausautomation auch dann am Laufen, wenn das Internet ausfällt, denn der Hub arbeitet lokal weiter und verbindet sich wieder mit Yggio, sobald die Leitung zurück ist.
Die Einrichtung
Die Hubitat-Yggio-Plattformintegration ist eine umfassende Lösung, die die Hubitat-Home-Automation-Plattform mit der Yggio-IoT-Plattform verbindet. Diese Integration, anwendbar für Z-Wave-, Zigbee- und Matter-Geräte, basiert auf mehreren zentralen Komponenten:
-
Connector: Stellt eine Verbindung zwischen Hubitat und Yggios MQTT-Broker her und ermöglicht Echtzeitkommunikation zwischen den beiden Plattformen.
-
Uplink Data-Interpreter: Parst MQTT-Topics von Hubitat und erstellt entsprechende Nodes innerhalb von Yggio, wobei eine Vielzahl von MQTT-Topics verarbeitet wird, darunter Geräteereignisse, Heartbeat-Nachrichten und Initialisierungsnachrichten.
-
Downlink: Hört auf bestimmte MQTT-Topics von Yggio, die Befehle darstellen, die auf Hubitat-Geräten ausgeführt werden sollen, und ermöglicht so eine bidirektionale Synchronisierung zwischen den Plattformen.
-
Gerätesynchronisierung: Stellt sicher, dass Änderungen am Gerätezustand auf Hubitat in Yggio widergespiegelt werden und umgekehrt, was Echtzeitsteuerung und Statusaktualisierungen von Geräten in beiden Systemen ermöglicht.
-
Heartbeat-Verarbeitung: Verwaltet Heartbeat-Nachrichten und erstellt und aktualisiert für jede empfangene Heartbeat-Nachricht eine bestimmte Node.
Diese Integration nutzt Sensatives Hubitat-App und -Treiber und bietet eine robuste Echtzeitsynchronisierung zwischen Hubitat und Yggio, wodurch die Benutzererfahrung und die Systemleistung verbessert werden.
Bitte beachten Sie, dass dieser Leitfaden in zwei Hauptteile unterteilt ist: die Hubitat-Benutzeroberfläche und die Yggio-Benutzeroberfläche. Beide Teile hängen zusammen und werden benötigt, damit die Integration funktioniert.
Hubitat-Benutzeroberfläche
I. Code-Dateien herunterladen und einrichten
In diesem Abschnitt laden wir die benötigten Code-Dateien herunter und öffnen sie in einem Texteditor. So geht's:
-
Laden Sie die App- und Treiber-Code-Dateien aus dem folgenden GitHub-Repository herunter:
https://github.com/Sensative/Hubitat_Strips_700_800_Series_Products
Herunterzuladende Dateien
a. Sensative-Yggio-Hubitat-MQTT-App.groovy b. Sensative-Yggio-Hubitat-MQTT-driver.groovy
Öffnen Sie diese Dateien in einem Texteditor Ihrer Wahl.
II. Den Driver in Hubitat installieren
In diesem Abschnitt installieren wir den Driver in Hubitat. Der Driver ist ein Code-Stück, das es Hubitat ermöglicht, mit der Yggio-Plattform zu kommunizieren. So geht's:
- Gehen Sie in der Hubitat-Benutzeroberfläche links zu Developer Tools -> Drivers Code.
- Klicken Sie oben rechts auf die Schaltfläche New Driver.
- Öffnen Sie die zuvor heruntergeladene Datei
Sensative-Yggio-Hubitat-MQTT-driver.groovy. Kopieren Sie den Code aus dieser Datei und fügen Sie ihn in den Editor in Hubitat ein, klicken Sie dann auf Save. Der Driver wird unter dem Namen "Sensative Yggio MQTT Driver" gespeichert.

III. Den App-Code in Hubitat installieren
In diesem Abschnitt installieren wir die App in Hubitat. Die App ist ein Code-Stück, das es Hubitat ermöglicht, mit der Yggio-Plattform zu interagieren. So geht's:
- Gehen Sie in der Hubitat-Benutzeroberfläche links zu Developer Tools -> Apps Code.
- Klicken Sie oben rechts auf die Schaltfläche New App.
- Öffnen Sie die zuvor heruntergeladene Datei
Sensative-Yggio-Hubitat-MQTT-App.groovy. Kopieren Sie den Code aus dieser Datei und fügen Sie ihn in den Editor in Hubitat ein, klicken Sie dann auf Save. Die App wird unter dem Namen "Sensative Yggio MQTT App" gespeichert.

IV. Das virtuelle Gerät erstellen und konfigurieren
Wichtig: Bevor Sie mit diesem Schritt fortfahren, stellen Sie sicher, dass Sie die Abschnitte VI bis XI abgeschlossen haben. Die in diesem Abschnitt benötigten Angaben werden entweder vom Yggio Admin bereitgestellt oder aus den Schritten in den Abschnitten VI bis XI gewonnen.
In diesem Abschnitt erstellen wir ein virtuelles Gerät in Hubitat und konfigurieren es für die Verbindung mit der Yggio-Plattform. So geht's:
- Gehen Sie in der Hubitat-Benutzeroberfläche links zu Devices.
- Klicken Sie oben rechts auf die Schaltfläche Add Device.
- Klicken Sie auf die Schaltfläche Virtual.
- Geben Sie im Abschnitt Device Information im Dropdown Type "Sensative" ein, um Treiber zu filtern.
- Wählen Sie Sensative Yggio MQTT Driver.
- Geben Sie dem Gerät einen einprägsamen Namen, z. B. "Sensative Hubitat-Yggio App Device".
- Klicken Sie auf Save Device.
- Geben Sie im Abschnitt Preferences die folgenden erforderlichen Zugangsdaten ein:
- Yggio MQTT Broker IP-Adresse
- Yggio MQTT Broker-Port
- Yggio MQTT Broker-Benutzername
- Yggio MQTT Broker-Passwort
- Yggio MQTT Broker Basic Credentials ID
- Klicken Sie auf Save Preferences.
- Falls keine sofortige Verbindung hergestellt wird, klicken Sie in der Benutzeroberfläche auf die Schaltfläche Connect.





V. Die Sensative Yggio MQTT App einrichten
In diesem Abschnitt richten wir die App in Hubitat ein. Die App ermöglicht es Hubitat, mit der Yggio-Plattform zu interagieren. So geht's:
- Gehen Sie in der Hubitat-Benutzeroberfläche links zu Apps.
- Klicken Sie oben rechts auf die Schaltfläche Add user app.
- Klicken Sie auf Sensative Yggio MQTT App.
- Die Konfigurationsseite für die Sensative Yggio MQTT App öffnet sich.
- Wählen Sie auf der Konfigurationsseite das zuvor im Abschnitt Sensative Yggio MQTT Driver erstellte Gerät aus und klicken Sie auf die Schaltfläche Update.
- Wählen Sie die Geräte aus, die Sie mit der Yggio-Plattform verbinden möchten, und klicken Sie auf die Schaltfläche Done. Wenn Sie später neue Geräte hinzufügen und mit der Yggio-Plattform synchronisieren möchten, kehren Sie zu diesem Abschnitt zurück, wählen Sie die neuen Geräte aus und klicken Sie auf Done.




Yggio-Benutzeroberfläche
VI. Bei Yggio anmelden
In diesem Abschnitt melden wir uns bei der Yggio-Plattform an. Die Anmeldung ermöglicht es, Ihre Geräte zu verwalten und mit der Plattform zu interagieren. So geht's:
- Navigieren Sie zur Yggio-Anmeldeseite. Die URL sollte Ihnen vom Yggio Admin bereitgestellt worden sein.
- Geben Sie Ihre Zugangsdaten in die entsprechenden Felder ein.
- Klicken Sie auf die Schaltfläche "Sign In".


VII. Die Swagger-Anwendung für die API-Kommunikation starten
In diesem Abschnitt starten wir die Swagger-Anwendung. Swagger ist ein Werkzeug, das Ihnen hilft, über die API mit der Yggio-Plattform zu kommunizieren. So geht's:
- Navigieren Sie nach der Anmeldung bei Yggio zur Swagger-Anwendung.
- Sie sollten nun die Swagger-Oberfläche sehen. Hier können Sie mit der Yggio-API interagieren.


VIII. Die Yggio-Plattform autorisieren
In diesem Abschnitt stellen wir sicher, dass Yggio weiß, wer Sie sind, und dass Sie berechtigt sind, es zu nutzen. Dies wird "Autorisierung" genannt. So geht's:
- Navigieren Sie zum Abschnitt Authorization auf der Seite der Swagger-Anwendung.
- Klicken Sie auf das Dropdown
POST/auth/localund dann auf die Schaltfläche Try it out. - Ersetzen Sie im Abschnitt Request body die als
"string"markierten Platzhalter durch Ihre tatsächlichen Anmeldedaten. Diese Platzhalter befinden sich in den Feldern"username"und"password". - Klicken Sie auf die Schaltfläche Execute, um die Autorisierung abzuschließen.
- Sie sehen ein Token (eine lange Zeichenfolge aus Buchstaben und Zahlen) in der Antwort. Wählen Sie dieses Token aus und kopieren Sie es. Sie benötigen es später.
- Klicken Sie auf die Schaltfläche Authorize, woraufhin ein Dialog
Available authorizationserscheint. - Fügen Sie das Token in das Wertefeld ein und klicken Sie auf die Schaltfläche Authorize.
- Klicken Sie auf Close, um den Dialog
Available authorizationszu schließen.

Authorization response...



IX. Basic Set Credentials ID erstellen
Der nächste Schritt ist die Erstellung einer Basic Set Credentials ID. Diese ID wird zur Authentifizierung und zur Sicherstellung der Integrität von MQTT-Topics verwendet.
- Navigieren Sie zum Abschnitt BasicCredentialsSets auf der Seite der Swagger-Anwendung.
- Klicken Sie auf das Dropdown
POST/basic-credentials-setsund dann auf die Schaltfläche Try it out. - Ersetzen Sie im Abschnitt Request body die als
"string"markierten Platzhalter durch Ihre Yggio-Anmeldedaten oder einen neuen Satz Zugangsdaten nach Wunsch. Diese Platzhalter befinden sich in den Feldern"username"und"password". Notieren Sie sich die neuen Zugangsdaten, da diese für die Konfiguration von Yggio MQTT Broker Username und Yggio MQTT Broker Password benötigt werden. Weitere Informationen zu dieser Konfiguration finden Sie im Abschnitt IV. Das virtuelle Gerät erstellen und konfigurieren. - Klicken Sie auf die Schaltfläche Execute. Dadurch wird eine Basic credentials sets Id generiert.
- Im Abschnitt Response body sehen Sie eine
_idund Ihrenusername. Speichern Sie die_id, da Sie sie für spätere Schritte und zur Konfiguration der Yggio MQTT Broker Basic Credentials ID benötigen. Weitere Informationen zu dieser Konfiguration finden Sie im Abschnitt IV. Das virtuelle Gerät erstellen und konfigurieren.

BasicCredentialsSets response...

X. Ein Reserved MQTT Topic einrichten
Der nächste Schritt ist die Erstellung eines Reserved MQTT Topic. Dieses Topic wird als Präfix verwendet und setzt sich aus der Yggio-Hubitat-Integrationsversion und der zuvor erstellten Basic credentials sets Id zusammen.
- Navigieren Sie zum Abschnitt ReservedMqttTopics auf der Seite der Swagger-Anwendung.
- Klicken Sie auf das Dropdown
POST/reserved-mqtt-topicsund dann auf die Schaltfläche Try it out. - Ersetzen Sie im Abschnitt Request body die als
"string"markierten Platzhalter:- Ersetzen Sie im Feld
"topic"das"string"durch"yggio/hubitat/v1/<Ihre BasicCredentialsSets _id>"(ersetzen Sie<Ihre BasicCredentialsSets _id>durch die zuvor kopierte tatsächliche_id). - Ersetzen Sie im Feld
"basicCredentialsSetId"das"string"durch Ihre tatsächliche BasicCredentialsSets_id, die Sie beim Erstellen der BasicCredentialsSets Id kopiert haben.
- Ersetzen Sie im Feld
- Klicken Sie auf die Schaltfläche Execute.
- Der Abschnitt Response body bestätigt, ob das Reserved MQTT Topic erfolgreich erstellt wurde.
Template:
{
"topic": "yggio/hubitat/v1/<Replace with the basicCredentialsSetId>",
"basicCredentialsSetId": "Replace with the basicCredentialsSetId"
}

ReservedMqttTopics response...

XI. Einen Hubitat Connector erstellen
Der nächste Schritt ist die Erstellung des Hubitat Connector, der entscheidenden Komponente der Integration.
- Navigieren Sie zum Abschnitt Connectors auf der Seite der Swagger-Anwendung.
- Klicken Sie auf das Dropdown
POST/connectorsund dann auf die Schaltfläche Try it out. - Ersetzen Sie im Abschnitt Request body die als
"string"markierten Platzhalter.- Ersetzen Sie im Feld
"name"das"string"durch einen Namen Ihrer Wahl. - Ersetzen Sie im Feld
"integration"das"string"durch"Hubitat". Achten Sie auf korrekte Schreibweise. - Ersetzen Sie im Feld
"basicCredentialsSetId"das"string"durch Ihre tatsächliche BasicCredentialsSets_id, die Sie beim Erstellen der BasicCredentialsSets Id kopiert haben. - Ersetzen Sie im Feld
"hubId"das"string"durch die Hub UID. Die Hub UID finden Sie in den Einstellungen der Hubitat-Benutzeroberfläche, wie in den beigefügten Bildern unten gezeigt. - Ersetzen Sie im Feld
"topic"das"string"durch"yggio/hubitat/v1/<Ihre BasicCredentialsSets _id>/#"(ersetzen Sie<Ihre BasicCredentialsSets _id>durch die zuvor kopierte tatsächliche_id).
- Ersetzen Sie im Feld
- Klicken Sie auf die Schaltfläche Execute.
- Der Abschnitt Response body bestätigt, ob der Connector erfolgreich erstellt wurde.
- Speichern Sie die Connector
_idzur Verwendung in Downlink-Kommunikation. Hinweis: Dieser Schritt wird nicht mehr nötig sein, sobald die Yggio-Frontend-Unterstützung implementiert ist.
Template:
{
"name": "<Add a name>",
"integration": "Hubitat",
"basicCredentialsSetId": "Replace with the basicCredentialsSetId",
"hubId": "Replace with the hubId",
"topic": "yggio/hubitat/v1/<Replace with the basicCredentialsSetId>/#"
}



Add Connectors response...

XII. Preferences in Hubitat mit Zugangsdaten befüllen
Sobald Sie Ihre Zugangsdaten vom Yggio Admin haben oder die Abschnitte VI bis IX abgeschlossen haben, können Sie die Preferences in Hubitat ausfüllen. Dies ermöglicht Hubitat die Kommunikation mit der Yggio-Plattform. Folgen Sie dazu den Schritten im Abschnitt Das virtuelle Gerät erstellen und konfigurieren.
XIII. IoT-Nodes beanspruchen: In Bearbeitung
Wird noch aktualisiert (...nicht sicher, wie es gemacht wurde... Swagger Claim Nodes scheint gesperrt zu sein)!
XIV. Yggio Dashboard - Hubitat-Geräte anzeigen
Nachdem Sie die vorherigen Schritte abgeschlossen und Ihre Hubitat-Geräte erfolgreich per MQTT-Kommunikation mit Yggio synchronisiert haben, können Sie Ihre Hubitat-Geräte im Yggio-Dashboard anzeigen. Dies bietet eine bequeme Möglichkeit, Ihre Geräte zu überwachen und zu steuern.
Das erste Bild unten zeigt das Yggio-Dashboard mit den Geräten, die vom Hubitat-Hub synchronisiert wurden. Das zweite Bild zeigt eine detaillierte Ansicht der Daten für ein virtuelles Z-Wave-Schaltgerät, wobei der aktuelle Zustand des Schalters als 'on' angezeigt wird.


XV. Uplink-Kommunikation - Beispiel
Uplink-Kommunikation bezeichnet die Kommunikation von Hubitat zu Yggio. Ein Beispiel dafür wäre ein Gerätestatus-Update, das von Hubitat an Yggio gesendet wird.
Die beiden Bilder unten veranschaulichen diese Uplink-Kommunikation. Das erste Bild zeigt das Status-Update, wenn die Schaltfläche 'on' am virtuellen Z-Wave-Switch-Gerät in der Hubitat-Oberfläche angeklickt wird. Diese Aktion wird in den Daten desselben Geräts auf der Yggio-Seite widergespiegelt. Das zweite Bild zeigt ein ähnliches Update, wenn die Schaltfläche 'off' am virtuellen Z-Wave-Switch-Gerät in der Hubitat-Oberfläche angeklickt wird, und wie diese Änderung auf der Yggio-Seite widergespiegelt wird.


XVI. Downlink-Kommunikation - Beispiel
Downlink-Kommunikation bezeichnet die Kommunikation von Yggio zu Hubitat. Ein Beispiel dafür wäre ein Befehl von Yggio, der an ein Gerät auf Hubitat gesendet wird.
Die ersten beiden Bilder unten veranschaulichen, wie die Connector Id aus dem Abschnitt Connectors in der Swagger-Anwendung abgerufen wird. Dies kann nötig sein, wenn Sie sie nicht in Abschnitt XI. Einen Hubitat Connector erstellen Schritt 6 kopiert haben, oder wenn Sie die Connector Id verloren haben. Dazu müssen Sie:
-
Navigieren Sie zum Abschnitt Connectors auf der Seite der Swagger-Anwendung.
-
Klicken Sie auf das Dropdown
GET/connectorsund dann auf die Schaltfläche Try it out. -
Ersetzen Sie im Abschnitt Request body die als
"string"markierten Platzhalter im Feldintegrationdurch"Hubitat". -
Klicken Sie auf die Schaltfläche Execute.
-
Kopieren Sie im Erfolgsfall aus dem Abschnitt Response body die Connector _id und speichern Sie sie zum Senden von Downlink-Befehlen.
-
Das mit '6' markierte Bild zeigt den aktuellen Zustand des virtuellen Z-Wave-Switch-Geräts auf der Hubitat- und der Yggio-Seite. In der Swagger-Anwendung können Sie den Downlink-Befehl im Abschnitt
PUT/connectors/commandeinrichten. So geht's:- Ersetzen Sie im Feld
"command"das"string"durch den Befehl"sendDownlink". - Ersetzen Sie im Feld
"integrationName"das"string"durch"Hubitat". - Ersetzen Sie im Feld
"connectorId"das"string"durch Ihre tatsächliche Connector_id, die Sie beim Erstellen des Hubitat Connector kopiert haben oder indem Sie die Schritte 1 bis 5 in diesem Abschnitt befolgt haben. - Fügen Sie im Feld
"data"das folgende JSON hinzu.
"data": {"mqttTopic": "dp234/off/set","message": ""}wobei
"mqttTopic"normalerweise dem Format"[deviceLabel]/[command name]/set"folgtund
"message"die tatsächliche Payload ist, die Sie senden möchten.Hinweise zur Payload
Hinweis 1: Bei Befehlen, die keine Parameter benötigen (wie 'on' und 'off'), können Sie einen beliebigen Wert für das /set-Topic veröffentlichen. Die Sensative Yggio MQTT App ignoriert diesen Wert.
Hinweis 2: Bei Befehlen, die mehrere Parameter benötigen, sollten Sie jeden Parameter durch ein Komma trennen. Zum Beispiel '80, 25'.
- Ersetzen Sie im Feld

Get Connectors response...

Das Bild unten zeigt den aktuellen 'off'-Zustand des virtuellen Z-Wave-Switch sowohl in Hubitat als auch in Yggio.

Senden des Downlink-Befehls für den 'on'-Zustand aus der Swagger-Anwendung.

Der neue Zustand 'on' des virtuellen Z-Wave-Switch, widergespiegelt in Hubitat und Yggio.

Senden des Downlink-Befehls für den 'off'-Zustand aus der Swagger-Anwendung.

Der neue Zustand 'off' des virtuellen Z-Wave-Switch, widergespiegelt in Hubitat und Yggio.

In diesem Leitfaden haben wir Sie durch den Prozess der Integration von Hubitat mit der Yggio-Plattform per MQTT-Kommunikation geführt. Wir haben mit der Einrichtung des MQTT-Brokers und der Konfiguration der MQTT-Bridge-App in Hubitat begonnen. Anschließend haben wir ein virtuelles Gerät in Hubitat erstellt und für die Kommunikation mit Yggio konfiguriert.
Wir haben außerdem die Konzepte von Uplink- und Downlink-Kommunikation besprochen, mit Beispielen, die zeigen, wie Gerätestatus-Updates und Befehle zwischen Hubitat und Yggio gesendet werden.
Wenn Sie diese Schritte befolgen, sollten Sie nun über eine voll funktionsfähige Integration zwischen Hubitat und Yggio verfügen, mit der Sie Ihre Hubitat-Geräte vom Yggio-Dashboard aus überwachen und steuern können.