Beschreibung
Logikbaustein, der beliebig viele Topics auf einem MQTT-Broker über eine einzige Verbindung abonniert. 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.
Wichtig: In der Simulation im GPA muss vor dem Beenden zuerst die Verbindung getrennt werden, also der Eingang „Verbinden“ auf 0 gesetzt werden. Wird die Simulation mit bestehender Verbindung gestoppt, stürzt der GPA ab.
- Gerät
- Gira X1
- Version
- 1.0.0
- Lizenz
- Ein Schlüssel je X1 (MAC-Adresse), dauerhaft nutzbar
- Thema
- Kommunikation
Anleitung
Einrichtung
- Broker, Port und bei Bedarf Benutzername und Passwort eintragen. Bleibt der Benutzername leer, meldet sich der Baustein anonym an.
- Anzahl Topics einstellen. Für jedes Topic erscheinen ein Parameter „Topic n“ und die Ausgänge „Topic n Text“ und „Topic n Zahl“.
- Die Topics eintragen. Platzhalter (Wildcards) sind erlaubt:
+steht für genau eine Ebene,#am Ende für beliebig viele. - Den Eingang Verbinden (1 = verbinden, 0 = trennen) mit dem Datenpunkt „Bereit“ des X1 verbinden.
Eingänge
| Eingang | Wirkung |
|---|---|
| Verbinden (1 = verbinden, 0 = trennen) | 1 baut die Verbindung auf und abonniert alle Topics, 0 trennt sie |
| Neu verbinden (1 = jetzt neu verbinden) (ausgeblendet) | Bei 1 wird die Verbindung sofort neu aufgebaut, z. B. nach geänderten Parametern. Wirkt nur, wenn „Verbinden“ auf 1 steht |
Parameter
| Parameter | Bedeutung |
|---|---|
| Broker (IP-Adresse oder Name) | Adresse des MQTT-Brokers, z. B. 192.168.1.10 |
| Port | Vorgabe 1883 |
| Benutzername (leer = anonym), Passwort | Ein leeres Passwort ist mit Benutzername erlaubt |
| 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. (ausgeblendet) |
| QoS (0-2) | Zustellgarantie für alle Abonnements: 0 = höchstens einmal, 1 = mindestens einmal, 2 = genau einmal. Vorgabe 0 (ausgeblendet) |
| Wiederverbinden nach s (0 = aus) | Wartezeit vor einem neuen Versuch nach Abbruch oder Fehler, mindestens 5 s, 0 schaltet das automatische Wiederverbinden ab. Vorgabe 30 (ausgeblendet) |
| Anzahl Topics | 1 bis 50, Vorgabe 1 |
| Topic n | Topic oder Filter mit +/# |
| Topic n JSON-Pfad (leer = ganze Nachricht) | Sonst der Pfad zum Wert, z. B. temperature, ENERGY.Power oder sensors[0].value (ausgeblendet) |
| Lizenzschlüssel | Schlüssel für diesen X1, siehe „Lizenz“ |
Ausgänge
| Ausgang | Inhalt |
|---|---|
| Verbunden | 1, solange die Verbindung zum Broker steht |
| Letztes Topic, Letzte Nachricht | Topic und Inhalt der zuletzt empfangenen Nachricht, nützlich bei Wildcards (ausgeblendet) |
| Topic n Text | Nachricht bzw. Wert am JSON-Pfad als Text |
| Topic n Zahl | Derselbe Wert als Zahl, wenn er eine ist. Punkt und Komma gelten als Dezimaltrennzeichen, true/ON ergibt 1 und false/OFF ergibt 0. Ist der Wert keine Zahl, bleibt der Ausgang unverändert. |
| Lizenzstatus | Ergebnis der Lizenzprüfung |
| Debug | Verbindungsstatus und Fehler (ausgeblendet) |
Ausgeblendete Eingänge, Parameter und Ausgänge lassen sich im GPA (Gira Projekt Assistent) am Baustein einblenden.
Eine Nachricht geht an alle passenden Topics. Wer also haus/+/temp und haus/# einträgt, bekommt eine Nachricht auf haus/bad/temp an beiden Ausgängen. Die Ausgänge werden bei jeder Nachricht gesetzt, auch wenn sich der Inhalt nicht ändert. So kommen auch wiederholte Ereignisse an, z. B. mehrmals single von einem Taster.
Beispiele
| Gerät | Topic | JSON-Pfad | Nachricht | Text / Zahl |
|---|---|---|---|---|
| Tasmota-Steckdose | tele/steckdose/SENSOR |
ENERGY.Power |
{"ENERGY":{"Power":123.4}} |
123.4 / 123,4 |
| Tasmota-Schaltzustand | stat/steckdose/POWER |
ON |
ON / 1 |
|
| Zigbee2MQTT-Thermometer | zigbee2mqtt/bad |
temperature |
{"temperature":21.5,"humidity":60} |
21.5 / 21,5 |
| Zigbee2MQTT-Fensterkontakt | zigbee2mqtt/fenster |
contact |
{"contact":false} |
false / 0 |
| Shelly Plus | shellyplus1pm/status/switch:0 |
apower |
{"id":0,"apower":7.3} |
7.3 / 7,3 |
Verbindung und Wiederverbinden
- Es gibt genau eine Verbindung je Baustein. Ein erneutes
1am Eingang „Verbinden“ trennt die alte Verbindung, bevor es eine neue aufbaut. - Fällt der Broker aus oder bricht das Netzwerk ab, meldet „Debug“ „Verbindung verloren, neuer Versuch in … s“. Der Baustein versucht es so lange erneut, bis der Broker wieder da ist oder „Verbinden“ auf
0geht. Steht „Wiederverbinden nach s“ auf0, verbindet er nicht von selbst neu. - Ist der Broker beim Start nicht erreichbar, gilt dasselbe. Der Baustein muss nicht neu gestartet werden.
- Gehaltene Nachrichten (Retain, der Broker merkt sich den letzten Wert eines Topics) liefert der Broker direkt nach dem Abonnieren aus. Nach einem Neustart stehen dann sofort die letzten Werte an.
- Unterstützt wird MQTT 3.1.1 ohne Verschlüsselung (TLS).
Fehlerverhalten
| Debug | Ursache |
|---|---|
| Kein Topic eingetragen | Alle Topic-Parameter sind leer, es wird nicht verbunden |
| Ungültiger Topic-Filter: … | # steht nicht am Ende oder +/# ist nicht die ganze Ebene. Das GPA meldet das schon bei der Projektprüfung. |
| Verbindung zu … fehlgeschlagen | Broker nicht erreichbar, falsche Adresse oder falscher Port |
| Verbindung zu … abgelehnt | Benutzername, Passwort oder Client-ID wurden vom Broker abgelehnt |
| Topic n (…): JSON-Pfad ‚…‘ nicht gefunden | Die Nachricht enthält den Pfad nicht, die Ausgänge bleiben unverändert |
| Topic n (…): kein gültiges JSON … | Die Nachricht ist kein JSON, obwohl ein JSON-Pfad eingetragen ist, oder der JSON-Pfad selbst ist ungültig |
Lizenz
Der Lizenzschlüssel wird im GPA im Parameter „Lizenzschlüssel“ eingetragen. Der Baustein prüft ihn beim Start auf dem X1, offline und gebunden an die MAC-Adresse des X1. Der Ausgang „Lizenzstatus“ zeigt das Ergebnis, bei einem Schlüssel für ein anderes Gerät auch die MAC-Adresse dieses X1. Ohne gültigen Schlüssel verbindet sich der Baustein nicht. In der Simulation des GPA am PC läuft er ohne Lizenzprüfung, damit sich Logikblätter testen lassen.
Läuft eine Testlizenz ab, gibt der Baustein empfangene Nachrichten nicht mehr aus, bis ein neuer Schlüssel eingetragen ist. Den Schlüssel erhältst du beim Kauf über smolabs.de.
Changelog
Version 1.0.0
- Erste Version.





Rezensionen
Es gibt noch keine Rezensionen.