Metainformationen zur Seite
MQTT - Schritt für Schritt: Loxone -> MQTT
Gerne dürfen weitere Beispiele, auch mit Screenshots, unten mit aufgenommen werden.
Voraussetzungen
- Das MQTT-Gerät ist fertig eingerichtet: Einrichtung am MQTT-Device
Einrichtung der UDP-Verbindung vom Miniserver zum MQTT-Gateway
Virtueller Ausgang
Adresse: /dev/udp/<LoxBerry-Hostname>/<udpinport>
<LoxBerry-Hostname>
ist z.B. loxberry, oder du verwendest ggf. die IP-Adresse.<udpinport>
ist der Port, den du bei den Plugin-Einstellungen unten als LoxBerry-Eingangsport eingestellt hast (nicht der Miniserver-UDP-Port). Standard ist 11884.
Virtueller Ausgang Befehl
Bezeichnung ist beliebig. Darf aber nicht einem abonniertem Topic entsprechen. Bei Befehl bei EIN bzw. (wenn erforderlich) Befehl bei AUS wird das Kommando an das MQTT Gateway eingetragen:
publish <topic> <value>
retain <topic> <value>
Als Kurzform ist auch Folgendes möglich, und es entspricht einem publish:
<topic> <value>
Beispiel:
publish send/to/this/topic on
publish send/to/this/topic <v>
Die Schlüsselwörter publish/retain, das Topic und der Wert sind jeweils mit einem Leerzeichen getrennt. Das Topic darf kein Leerzeichen enthalten! Der Value selbst darf Leerzeichen enthalten, die vollständig übertragen werden, z.B.
publish send/to/this/topic Dieser Text wird komplett übertragen.
Das Loxone-Schlüsselwort <v>
überträgt den Analogwert des Virtuellen Ausgang Befehls.
Den Haken bei "Als Digitalausgang verwenden" dann setzen, wenn ein Digitalwert übertragen wird (z.B on oder Off). Wird ein Analogwert übertragen (z.B. Dimmstufe 70 als <v>), den Haken nicht setzen. Hier ein Screenshot für den Ausgang eines Shelly1 als Digitalausgang:
Ausserdem ist auf diesem Screenshot noch die Variante mit dem vollen Befehl (also inkl. publish) zu sehen. Die Kurzform reicht aber in der Regel aus.
Das <Topic>
ist exakt der Befehl, der vom Anbieter dokumentiert ist, in diesem Fall z.B. shellies/shellyswitch-32BA7F/relay/1/command
und der <Value>
ist der Befehl, der der Anbieter erwartet (bei Shelly on
oder off
).
Beispiel: Shelly2-Switch im Relay Mode
MQTT-Topics zum Senden von Befehlen beim Hersteller herausfinden: http://shelly-api-docs.shelly.cloud/#shelly-switch-mqtt
shellies/shellyswitch-<deviceid>/relay/<i>/command accepts on and off and applies accordingly
→ Schalten bei Shelly2-Relay Mode mit: shellies/shellyswitch-123abc/relay/1/command und Wert on oder off
Beispiel: Analogwert übermitteln
Im Befehl bei EIN kann, wie bei allen virtuellen Ausgängen, das Loxone-Schlüsselwort <v>
verwendet werden, bzw. deren Derivate (z.B. <v.1>
für eine Nachkommastelle usw.)
Befehl bei EIN: publish /statistic/temperature/Wohnzimmer <v.2>
Beispiel: Nach einem Miniserver-Neustart das Übermitteln der aktuellen Daten forcieren
Loxone bietet über seine Schnittstellen keinen Wert an, wann der Miniserver zuletzt neu gestartet wurde, daher weiß das MQTT-Gateway von sich aus nicht, ob die Daten neu übermittelt werden sollen. Mit einem UDP-Befehl kann dem MQTT-Gateway mitgeteilt werden, dass der Miniserver neu gestartet wurde.
Virtueller Ausgangsbefehl
Befehl bei EIN: reconnect
Aus den Loxone-Zeiten die Zeit "Startimpuls" ziehen, und mit dem "Reconnect"-Ausgang verbinden. Damit werden automatisch bei Miniserver-Neustart die Daten neu übertragen. Der Reconnect-Aufruf deaktiviert auch den Datencache, womit tatsächlich einmalig alle Daten neu übermittelt werden (danach ist der Cache wieder aktiv).