Beschreibung
Logikbaustein, der beliebig viele Topics auf einem MQTT-Broker über eine einzige Verbindung abonniert. Er ist die Weiterentwicklung des kostenlosen „MQTT Subscribe“. Je Topic gibt es einen Text- und einen Zahlenausgang. Mit einem optionalen JSON-Pfad lässt sich ein einzelner Wert aus einer JSON-Nachricht holen, z. B. von Zigbee2MQTT, Tasmota oder Shelly. Bricht die Verbindung ab, verbindet der Baustein von selbst neu.
- Gerät
- Gira HomeServer
- Version
- 0.1.0
- Lizenz
- Ein Schlüssel je HomeServer (MAC-Adresse), dauerhaft nutzbar
- Thema
- Kommunikation
Anleitung
Besonderheiten beim HomeServer
- Es gibt 10 Topics statt 50 und keinen Parameter „Anzahl Topics“. Ein Topic ohne Eintrag wird nicht abonniert.
- Der MQTT-Client läuft in einem eigenen Thread des Bausteins (Python-Sockets). Am HomeServer noch nicht geprüft.
- Geänderte Topics oder Einstellungen gelten nach „Neu verbinden“ oder erneutem „Verbinden“.
- Statt Parametern gibt es Eingänge mit Startwert. Auswahllisten des X1 sind Zahlen, Ja/Nein-Werte sind
0und1. - Der Lizenzschlüssel ist der letzte Text-Eingang. Ein neuer Wert an diesem Eingang wird sofort geprüft.
- Eine Prüfung des Schlüssels im Editor und eine Simulation gibt es nicht, der HomeServer prüft immer.
Funktionen und Anschlüsse
Logikbaustein von SMoLabs, der bis zu 10 Topics auf einem MQTT-Broker über eine einzige Verbindung abonniert (MQTT 3.1.1 ohne Verschlüsselung). Je Topic gibt es einen Text- und einen Zahlenausgang. Mit einem JSON-Pfad lässt sich ein einzelner Wert aus einer JSON-Nachricht holen, z. B. von Zigbee2MQTT, Tasmota oder Shelly. Bricht die Verbindung ab, verbindet der Baustein von selbst neu.
Eine Nachricht geht an alle passenden Topics. Die Ausgänge werden bei jeder Nachricht gesetzt, auch wenn sich der Inhalt nicht ändert, so kommen auch wiederholte Ereignisse an. Gehaltene Nachrichten (Retain) liefert der Broker direkt nach dem Abonnieren.
Beispiele: Tasmota-Steckdose tele/steckdose/SENSOR mit Pfad ENERGY.Power und {„ENERGY“:{„Power“:123.4}} ergibt 123.4. Zigbee2MQTT zigbee2mqtt/bad mit Pfad temperature. Shelly Plus shellyplus1pm/status/switch:0 mit Pfad apower.
Fehler zeigt „Debug“: Kein Topic eingetragen, Ungültiger Topic-Filter, Verbindung fehlgeschlagen oder abgelehnt, JSON-Pfad nicht gefunden.
Eingänge
| Nr. | Name | Init | Bedeutung |
|---|---|---|---|
| 1 | E1 Verbinden (1 = verbinden, 0 = trennen) | 0 | 1 baut die Verbindung auf, 0 trennt sie. Mit dem Datenpunkt „Bereit“ des HomeServers verbinden. |
| 2 | E2 Neu verbinden (1 = jetzt neu verbinden) | 0 | 1 baut die Verbindung sofort neu auf, z. B. nach geänderten Einstellungen. Wirkt nur, wenn „Verbinden“ auf 1 steht. |
| 3 | E3 Broker (IP-Adresse oder Name) | „“ | Adresse des MQTT-Brokers, z. B. 192.168.1.10. |
| 4 | E4 Port | 1883 | Vorgabe 1883. |
| 5 | E5 Benutzername (leer = anonym) | „“ | Benutzername, leer = anonym. |
| 6 | E6 Passwort | „“ | Passwort. Ein leeres Passwort ist mit Benutzername erlaubt. |
| 7 | E7 Client-ID (leer = automatisch) | „“ | Name, unter dem sich der Baustein am Broker anmeldet. Leer heißt automatisch (smolabs-…, bleibt bis zum Neustart des Bausteins gleich). Jede Client-ID darf am Broker nur einmal verbunden sein. |
| 8 | E8 QoS (0-2) | 0 | Zustellgarantie für alle Topics: 0 = höchstens einmal (Vorgabe), 1 = mindestens einmal, 2 = genau einmal. |
| 9 | E9 Wiederverbinden nach s (0 = aus) | 30 | Wartezeit in Sekunden vor einem neuen Versuch nach Abbruch oder Fehler, mindestens 5 s, 0 schaltet das automatische Wiederverbinden ab. Vorgabe 30. |
| 10 | E10 Topic 1 | „“ | Topic oder Filter mit + (genau eine Ebene) und # (beliebig viele, nur am Ende) für Eingang 1. |
| 11 | E11 Topic 2 | „“ | Topic oder Filter mit + (genau eine Ebene) und # (beliebig viele, nur am Ende) für Eingang 2. |
| 12 | E12 Topic 3 | „“ | Topic oder Filter mit + (genau eine Ebene) und # (beliebig viele, nur am Ende) für Eingang 3. |
| 13 | E13 Topic 4 | „“ | Topic oder Filter mit + (genau eine Ebene) und # (beliebig viele, nur am Ende) für Eingang 4. |
| 14 | E14 Topic 5 | „“ | Topic oder Filter mit + (genau eine Ebene) und # (beliebig viele, nur am Ende) für Eingang 5. |
| 15 | E15 Topic 6 | „“ | Topic oder Filter mit + (genau eine Ebene) und # (beliebig viele, nur am Ende) für Eingang 6. |
| 16 | E16 Topic 7 | „“ | Topic oder Filter mit + (genau eine Ebene) und # (beliebig viele, nur am Ende) für Eingang 7. |
| 17 | E17 Topic 8 | „“ | Topic oder Filter mit + (genau eine Ebene) und # (beliebig viele, nur am Ende) für Eingang 8. |
| 18 | E18 Topic 9 | „“ | Topic oder Filter mit + (genau eine Ebene) und # (beliebig viele, nur am Ende) für Eingang 9. |
| 19 | E19 Topic 10 | „“ | Topic oder Filter mit + (genau eine Ebene) und # (beliebig viele, nur am Ende) für Eingang 10. |
| 20 | E20 Topic 1 JSON-Pfad (leer = ganze Nachricht) | „“ | Optional. Pfad zum Wert in einer JSON-Nachricht, z. B. temperature, ENERGY.Power oder sensors[0].value. Leer = ganze Nachricht. |
| 21 | E21 Topic 2 JSON-Pfad (leer = ganze Nachricht) | „“ | Optional. Pfad zum Wert in einer JSON-Nachricht, z. B. temperature, ENERGY.Power oder sensors[0].value. Leer = ganze Nachricht. |
| 22 | E22 Topic 3 JSON-Pfad (leer = ganze Nachricht) | „“ | Optional. Pfad zum Wert in einer JSON-Nachricht, z. B. temperature, ENERGY.Power oder sensors[0].value. Leer = ganze Nachricht. |
| 23 | E23 Topic 4 JSON-Pfad (leer = ganze Nachricht) | „“ | Optional. Pfad zum Wert in einer JSON-Nachricht, z. B. temperature, ENERGY.Power oder sensors[0].value. Leer = ganze Nachricht. |
| 24 | E24 Topic 5 JSON-Pfad (leer = ganze Nachricht) | „“ | Optional. Pfad zum Wert in einer JSON-Nachricht, z. B. temperature, ENERGY.Power oder sensors[0].value. Leer = ganze Nachricht. |
| 25 | E25 Topic 6 JSON-Pfad (leer = ganze Nachricht) | „“ | Optional. Pfad zum Wert in einer JSON-Nachricht, z. B. temperature, ENERGY.Power oder sensors[0].value. Leer = ganze Nachricht. |
| 26 | E26 Topic 7 JSON-Pfad (leer = ganze Nachricht) | „“ | Optional. Pfad zum Wert in einer JSON-Nachricht, z. B. temperature, ENERGY.Power oder sensors[0].value. Leer = ganze Nachricht. |
| 27 | E27 Topic 8 JSON-Pfad (leer = ganze Nachricht) | „“ | Optional. Pfad zum Wert in einer JSON-Nachricht, z. B. temperature, ENERGY.Power oder sensors[0].value. Leer = ganze Nachricht. |
| 28 | E28 Topic 9 JSON-Pfad (leer = ganze Nachricht) | „“ | Optional. Pfad zum Wert in einer JSON-Nachricht, z. B. temperature, ENERGY.Power oder sensors[0].value. Leer = ganze Nachricht. |
| 29 | E29 Topic 10 JSON-Pfad (leer = ganze Nachricht) | „“ | Optional. Pfad zum Wert in einer JSON-Nachricht, z. B. temperature, ENERGY.Power oder sensors[0].value. Leer = ganze Nachricht. |
| 30 | E30 Lizenzschlüssel | „“ | Lizenzschlüssel für diesen HomeServer (von smolabs.de). Ohne gültigen Schlüssel verbindet sich der Baustein nicht. |
Ausgänge
| Nr. | Name | Init | Bedeutung |
|---|---|---|---|
| 1 | A1 Verbunden | 0 | 1, solange die Verbindung zum Broker steht. |
| 2 | A2 Letztes Topic | „“ | Topic der zuletzt empfangenen Nachricht, nützlich bei Wildcards. |
| 3 | A3 Letzte Nachricht | „“ | Inhalt der zuletzt empfangenen Nachricht. |
| 4 | A4 Topic 1 Text | „“ | Nachricht bzw. Wert am JSON-Pfad von Topic 1 als Text. |
| 5 | A5 Topic 2 Text | „“ | Nachricht bzw. Wert am JSON-Pfad von Topic 2 als Text. |
| 6 | A6 Topic 3 Text | „“ | Nachricht bzw. Wert am JSON-Pfad von Topic 3 als Text. |
| 7 | A7 Topic 4 Text | „“ | Nachricht bzw. Wert am JSON-Pfad von Topic 4 als Text. |
| 8 | A8 Topic 5 Text | „“ | Nachricht bzw. Wert am JSON-Pfad von Topic 5 als Text. |
| 9 | A9 Topic 6 Text | „“ | Nachricht bzw. Wert am JSON-Pfad von Topic 6 als Text. |
| 10 | A10 Topic 7 Text | „“ | Nachricht bzw. Wert am JSON-Pfad von Topic 7 als Text. |
| 11 | A11 Topic 8 Text | „“ | Nachricht bzw. Wert am JSON-Pfad von Topic 8 als Text. |
| 12 | A12 Topic 9 Text | „“ | Nachricht bzw. Wert am JSON-Pfad von Topic 9 als Text. |
| 13 | A13 Topic 10 Text | „“ | Nachricht bzw. Wert am JSON-Pfad von Topic 10 als Text. |
| 14 | A14 Topic 1 Zahl | 0 | Derselbe Wert als Zahl, wenn er eine ist. Punkt und Komma gelten als Dezimaltrennzeichen, true/ON ergibt 1, false/OFF ergibt 0. Sonst bleibt der Ausgang unverändert. |
| 15 | A15 Topic 2 Zahl | 0 | Derselbe Wert als Zahl, wenn er eine ist. Punkt und Komma gelten als Dezimaltrennzeichen, true/ON ergibt 1, false/OFF ergibt 0. Sonst bleibt der Ausgang unverändert. |
| 16 | A16 Topic 3 Zahl | 0 | Derselbe Wert als Zahl, wenn er eine ist. Punkt und Komma gelten als Dezimaltrennzeichen, true/ON ergibt 1, false/OFF ergibt 0. Sonst bleibt der Ausgang unverändert. |
| 17 | A17 Topic 4 Zahl | 0 | Derselbe Wert als Zahl, wenn er eine ist. Punkt und Komma gelten als Dezimaltrennzeichen, true/ON ergibt 1, false/OFF ergibt 0. Sonst bleibt der Ausgang unverändert. |
| 18 | A18 Topic 5 Zahl | 0 | Derselbe Wert als Zahl, wenn er eine ist. Punkt und Komma gelten als Dezimaltrennzeichen, true/ON ergibt 1, false/OFF ergibt 0. Sonst bleibt der Ausgang unverändert. |
| 19 | A19 Topic 6 Zahl | 0 | Derselbe Wert als Zahl, wenn er eine ist. Punkt und Komma gelten als Dezimaltrennzeichen, true/ON ergibt 1, false/OFF ergibt 0. Sonst bleibt der Ausgang unverändert. |
| 20 | A20 Topic 7 Zahl | 0 | Derselbe Wert als Zahl, wenn er eine ist. Punkt und Komma gelten als Dezimaltrennzeichen, true/ON ergibt 1, false/OFF ergibt 0. Sonst bleibt der Ausgang unverändert. |
| 21 | A21 Topic 8 Zahl | 0 | Derselbe Wert als Zahl, wenn er eine ist. Punkt und Komma gelten als Dezimaltrennzeichen, true/ON ergibt 1, false/OFF ergibt 0. Sonst bleibt der Ausgang unverändert. |
| 22 | A22 Topic 9 Zahl | 0 | Derselbe Wert als Zahl, wenn er eine ist. Punkt und Komma gelten als Dezimaltrennzeichen, true/ON ergibt 1, false/OFF ergibt 0. Sonst bleibt der Ausgang unverändert. |
| 23 | A23 Topic 10 Zahl | 0 | Derselbe Wert als Zahl, wenn er eine ist. Punkt und Komma gelten als Dezimaltrennzeichen, true/ON ergibt 1, false/OFF ergibt 0. Sonst bleibt der Ausgang unverändert. |
| 24 | A24 Lizenzstatus | „“ | Ergebnis der Lizenzprüfung, z. B. „Lizenz gültig (2026-000123)“. |
| 25 | A25 Debug | „“ | Verbindungsstatus und Fehler. |
Lizenz
Der Lizenzschlüssel wird am letzten Text-Eingang des Bausteins eingetragen. Der Baustein prüft ihn auf dem HomeServer, offline und gebunden an die MAC-Adresse des HomeServers. Der Ausgang „Lizenzstatus“ zeigt das Ergebnis, bei einem Schlüssel für ein anderes Gerät auch die MAC-Adresse dieses HomeServers. Ohne gültigen Schlüssel bleibt der Baustein untätig. Den Schlüssel erhältst du beim Kauf über smolabs.de. Ein Schlüssel für den X1 schaltet keinen HomeServer-Baustein frei und umgekehrt.
Changelog
Version 0.1.0
- Erste Version für den HomeServer auf Basis der X1-Bausteine | SMoLabs.




Rezensionen
Es gibt noch keine Rezensionen.