Inhalt
Download
Der direkte Download des Releases befindet sich in der Tabelle oben.
Repository: https://github.com/christianTF/LoxBerry-Plugin-MQTT-Gateway
Kommunikationsdiagramm
(Anklicken zum Vergrößern)
Sieh dir links im Navigationsbaum weiterführende Artikel zu MQTT an, um die Funktionsweise besser zu verstehen.
Begriffserklärung
Ein "Broker" ist ein Dienst, der als Vermittler von Nachrichten dient. Der Broker speichert auch den aktuellen Zustand aller angeschlossenen Geräte. Das Plugin installiert automatisch am LoxBerry den Mosquitto MQTT Broker als Vermittler. Über die Konfiguration kann auch ein Broker auf einem anderen Server angegeben werden. Das Plugin unterstützt Authentifizierung, jedoch keine Verschlüsselung zum Broker.
Ein "Server" ist in der Begrifflichkeit von MQTT jedes Gerät, das Daten einliefert. Beispielsweise sind die Shelly's MQTT-Server, die Daten an den Broker übermitteln.
Ein "Client" ist jede Software, die sich mit dem Broker verbindet und dort Stati abfragt, Befehle sendet bzw. auf Statusänderungen lauscht. Dieses Plugin ist so ein Client, der zum Broker verbindet und sich Statusaktualisierungen abonniert (subscribed). Ist vom Client ein MQTT-Topic abonniert, werden Daten dieses Topics vom Broker an diesen Client zur Verarbeitung weitergeleitet.
Funktion des Plugins
Das Plugin installiert zuerst automatisch den Mosquitto MQTT Broker (Hostname "localhost"). Erfahrene Benutzer können auch eine Verbindung zu einem anderen Broker einrichten. Das Plugin unterstützt kein TLS zum MQTT-Broker.
Das Plugin fungiert dann als Client an diesem MQTT-Broker, und leitet MQTT-Nachrichten an den Miniserver weiter, sowie empfängt Nachrichten vom Miniserver und leitet diese an den MQTT-Broker. Über das Webinterface können Topics abonniert werden. Die abonnierten Topics werden wahlweise per UDP, oder per HTTP Webservice an den eingestellten Miniserver übermittelt.
Das Senden von Nachrichten vom Miniserver an MQTT geht am besten per UDP.
Schnell-Konfiguration am Beispiel eines Shelly 2
MQTT an Loxone Miniserver
Einstellungen
Einstellung | Standard | Beschreibung |
---|---|---|
Miniserver | Erster Miniserver | Die abonnierten Daten werden an diesen Miniserver gesendet. |
Miniserver-UDP-Port | 11883 | Ist UDP aktiviert, werden Nachrichten an diesen UDP-Port des Miniservers übermittelt. |
Per REST Webservice übermitteln | Ressourcenschonender als UDP! Die Nachricht wird direkt per HTTP-REST Webservice an den Miniserver übertragen. Dafür müssen selbst entsprechende Virtuelle Eingänge mit exakt dem hier dokumentierten Namen verwendet werden. Das Plugin verwendet die Nachricht als Bezeichnung für den Eingang, wobei / in _ konvertiert werden: shellies/shelly-12345/relay/1 wird zu Schau ins Logfile, dort werden die Bezeichnungen angezeigt. | |
Per UDP übermitteln | Nachrichtenformat (für die Befehlserkennung): MQTT: shellies/shelly-12345/relay/1=off (oder =0) Befehlserkennung: | |
Booleans konvertieren | Ein | In MQTT werden häufig Strings bei der Nachricht verwendet, beispielsweise "off" oder "on". Das Plugin konvertiert als Booleans identifizierte Strings in die Werte 0 oder 1. Strings, die erkannt werden, siehe LoxBerry::System::is_enabled bzw. LoxBerry::System::is_disabled |
JSON expandieren | Werden JSON-Daten übertragen, wird die JSON-Struktur expandiert und an den http-Namen angehängt. Topic/abcde={"action":"on","linkquality":39} wird zu Auch Objekte und Arrays in beliebiger Hierarchie werden aufgelöst. Am besten in der Incoming Overview anschauen, wie die Daten nach der Expandierung aussehen. | |
TAB Subscriptions Abonnierte Topics | Die Angabe erfolgt mit einer Zeile pro Topic. Die Topics müssen vom MQTT-Device dokumentiert sein. Eine # definiert dabei einen "Joker" (wie man sonst den * verwendet), z.B. shellies/# abonniert alle Meldungen innerhalb des Topics shellies/. Siehe unten die Kurzübersicht bekannter MQTT-Geräte und Topics. | |
TAB Conversions Eigene Wert-Zu-Text Konvertierung | Da der Miniserver keine Texte weiterverarbeiten kann, können eingehende Nachrichten von einem String zu einem Wert konvertiert werden. Beispiel:
Sendet ein Device Beispielsweise in einem Status-Baustein kann der Wert weiter verarbeitet werden. | |
TAB Incoming Overview Anzeige der übermittelten Daten | Hier werden die per HTTP und UDP übermittelten Daten angezeigt. Die Aktualisierung erfolgt automatisch im Sekundentakt, ohne dass ein Browser-Refresh notwendig ist. In diesem Fenster können mit Copy&Paste virtuelle Eingänge/Texteingänge, oder für UDP die entsprechenden Befehlserkennungen kopiert werden. |
Den Button zum Speichern ganz unten nicht vergessen. Die neue Konfiguration wird beim Speichern automatisch übernommen.
Siehe auch: MQTT - Schritt für Schritt: MQTT -> Loxone
Miniserver an MQTT
Einstellung | Standard | Beschreibung |
---|---|---|
Gateway UDP IN-Port | 11884 | Eingangsport am LoxBerry für UDP-Nachrichten, die an MQTT-Geräte weitergeleitet werden. Folgende Befehle werden unterstützt:
Beispiel 1: |
Wenn der Miniserver neu startet, empfiehlt es sich, mittels der Loxone-Zeit "Startimpuls" ein reconnect
per UDP-Nachricht an das Gateway zu übermitteln. Beispiel im "Siehe auch"-Link.
Siehe auch: MQTT - Schritt für Schritt: Loxone -> MQTT
MQTT Broker-Einstellungen
Einstellung | Standard | Beschreibung |
---|---|---|
Lokalen Mosquitto-Broker verwenden | Ja | Ist dies aktiviert, prüft das Plugin beim Reboot, ob Mosquitto läuft, und startet diesen gegebenenfalls. Aktiv: Lokale Mosquitto-Inszanz wird vom Plugin verwaltet (inkl. Änderung von Benutzername und Passwort) |
MQTT Broker Adresse | localhost | Hier kann der Hostname angegeben werden, mit dem das Gateway verbinden soll. Wird beim Hostnamen kein Port angegeben, wird der Standardport 1883 verwendet. Eine Portangabe erfolgt per hostname:port |
MQTT Broker Benutzername | loxberry | Der automatisch installierte Mosquitto-Broker wird mit dem Benutzer loxberry und einem generierten Passwort installiert. Diese Informationen kannst du bei der Einrichtung von Devices von hier kopieren. Wenn du Benutzername und Kennwort nachträglich änderst, musst du das auch bei allen bereits konfigurierten Geräten machen! Leerer Benutzer und leeres Kennwort deaktivieren die Authentifizierung am lokalen Broker. Bei externen Brokern wird hier deren Benutzername und Kennwort eingegeben. |
MQTT Broker Passwort | <generiert> |
MQTT Subscriptions
Hier definierst du, welche Daten du abonnieren möchtest. Jede Subscription steht in einer Zeile. Unter welchem Topic die Daten gesendet werden, bestimmt das Absender-Gerät (bzw. das, was du dort einstellst). Siehe dazu den ausführlichen Artikel, wie Subscriptions und Topics funktionieren, unter MQTT Gateway - Subscriptions und Topics.
Beispiel:
shellies/#
nuki/#
Um dir die Einrichtung zu erleichtern, können andere Plugins direkt im MQTT Gateway Subscriptions definieren. Wenn Plugin-Subscriptions vorhanden sind, findest du diese auf der Subscriptions-Seite unten. Du brauchst dann diese Subscriptions nicht nochmals oben eingeben.
Verteilung der Daten an verschiedene Miniserver (ab V1.1)
Wenn du mehrere Miniserver hast (z.B. Gateway-Konzentrator-Betrieb, oder mehrere Wohneinheiten mit unabhängigen Miniservern), möchtest du vielleicht unterschiedliche Daten an unterschiedliche Miniserver senden.
Wenn du eine Subscription ganz normal eingibst (z.B. shellies/#
) , werden deren Daten immer an den Standard-Miniserver gesendet, den du auf der ersten Seite angeben hast.
Mit einer Pipe hinter der Subscription und der oder den Miniserver-Nummern (aus dem Miniserver-Widget) kannst du das Datenziel ändern:
shellies/#|2 shellies/shellyem3-DC4F227649B8/#|3 nuki/#|1,2,3 fhem/#
- Zeile 1: Alle
shellies/
-Daten werden an den Miniserver 2 gesendet (außershellies/shellyem3-DC4F227649B8/
) - Zeile 2:
shellies/shellyem3-DC4F227649B8/
-Daten gehen an Miniserver 3 - Zeile 3: Daten von
nuki/
werden sowohl an MS1, MS2 als auch MS3 gesendet. - Zeile 4: Keine Pipe, daher gehen die Daten von
fhem/#
an den Standard-Miniserver
Dazu noch folgende Hinweise:
- Die Priorisierung der Reihung erfolgt entsprechend der Selektivität des Topics, d.h.
shellies/shellyem3-DC4F227649B8/#
ist spezifischer alsshellies/#
, deswegen "gewinnt" in unserem Beispiel bei Daten vonshellyem3-DC4F227649B8
der selektivere Eintrag (Daten gehen an MS3, die restlichen shellies/# Daten an MS2). Die Reihenfolge im Textfeld hat keinen Einfluss darauf! - Die Topic-Joker
+
und#
werden vollständig unterstützt. - Du kannst eine Plugin-Subscription auch an einen anderen Miniserver senden lassen, indem du die gleiche Subscription oben im Textfeld mit einer Pipe definierst. Hat das Plugin beispielsweise
nuki/#
registriert, kannst du mit einer Zeilenuki/#|2
die Daten an einen anderen Miniserver senden lassen. - Alle Einstellungen auf der Settings-Seite und in der Incoming Overview (z.B. HTTP oder UDP, Boolean Conversion, Reset-After-Send,...) treffen für alle Miniserver zu. Das Datencaching von LoxBerry wird pro Miniserver angewandt.
- Fehler bei der Übertragung zu einem Miniserver führen in der Regel zu einer Warnung oder Fehlermeldung im Log, nicht aber zum Abbruch/Absturz des Programms.
Text-to-Value Conversions
Viele Geräte senden Text für ihren Status, z.B. "up" und "down", oder "open" oder "closed". Loxone ist nicht sehr geschickt, was den Umgang und Weiterverarbeitung von Texten angeht. Um diese Texte in Zahlen umzuwandeln (mit denen der Miniserver mehr anfangen kann), kannst du hier Text-to-Value Conversions, also Konvertierungen durchführen.
In jede Zeile eine Konvertierung.
Dieses Beispiel zeigt den Status von Enocean Fenstergriffen. Sendet der Fenstergriff "open", wird 3 an den Miniserver weitergesendet, ist gekippt ("tilted"), wird 2 weitergeleitet. Mit den Zahlen kann man Logiken abbilden, oder diese mit einem Status-Baustein wieder als Text darstellen lassen.
Diese Konvertierungen gelten für sämtliche Daten, die eingehen (unabhängig vom Topic). Es kann also nur eine Konvertierung pro Text geben. Duplikate werden ausgefiltert und im Log als Warnung angezeigt.
Incoming Overview
In der "Incoming Overview" werden alle eingehenden Daten der letzten 24 Stunden angezeigt. Diese wurden - sofern das Caching die Daten nicht unterdrückt hat - so an den Miniserver weitergeleitet.
Die Übersicht wird automatisch aktualisiert. Wenn du Text markierst, wird die Aktualisierung unterdrückt, damit du Bezeichnungen mit der Zwischenablage kopieren kannst.
Show advanced table information
Damit werden zusätzliche Schaltflächen und Optionen angezeigt.
- Topic: Zeigt bei HTTP die originale Topic-Bezeichnung an, auch bei JSON-extrahierten Daten.
- Disable Cache: Dieser Wert übergeht das Caching von LoxBerry, und sendet den Wert immer, auch wenn er gleich bleibt.
- Reset after send: Nachdem der Wert gesendet wurde, wird automatisch eine 0 nachgesendet. Das eignet sich für Geräte (z.B. Taster), die lediglich einen Wert (Impuls) senden und dann auf diesem Wert "stehen bleiben". Ein weiterer Impuls würde verursachen, dass wieder der gleiche Wert gesendet würde, und der Miniserver erkennt keine Änderung.
- Do not forward: Mit aktivierter Checkbox wird dieser Datensatz nicht an den Miniserver weitergeleitet. Das schont Ressourcen am Miniserver. Die Daten von diesen Topics werden in der Incoming Overview durchgestrichen dargestellt.
- Lösch-Symbol: Damit wird der Wert am Broker und in der Incoming Overview gelöscht.
Bekannte MQTT-Geräte und Subscription-Topics
Liebe Plugin-Benutzer! Bitte pflegt diese Tabelle mit euren eingesetzten Geräten, MQTT-Infos und Links!
Die Liste ist jetzt in diesem Unter-Artikel: MQTT-Gateway - Bekannte MQTT-Geräte und Subscription-Topics
Weitere Hinweise
- Die Deinstallation des MQTT-Gateway Plugins deinstalliert den Mosquitto-Broker. Bei der Deinstallation werden die zuletzt verwendeten Mosquitto-Zugangsdaten als Benachrichtigung in die Plugin-Verwaltung gesendet.
- Das Plugin integriert sich in den LoxBerry Selbsttest / LoxBerry Healthcheck. Geprüft wird, ob das MQTT Gateway Service läuft, ob es Meldungen bei der Öffnung der Netzverbindungen gab, und ob die Broker-Verbindung korrekt funktioniert.
- Neue MQTT-Geräten ausprobieren, etwa weil Befehle weniger gut dokumentiert sind oder man die idealen Werte erst durch ausprobieren finden muss, ist über die Loxone Config schwierig (auf Miniserver laden, Neustart, warten ...) Da bietet es sich an, die Steuerung via MQTT erst einmal mit einer separaten Client Software auszuprobieren, bevor dann die fertigen Befehle in die Loxone Config übernommen werden. Einen Überblick über passende Software bzw. Apps dafür bietet https://www.hivemq.com/blog/seven-best-mqtt-client-tools/
- Wenn du im Plugin ganz rechts oben das "i" klickst, findest du dort den "Quick Publisher". Damit kannst du rasch Werte an MQTT-Topics senden zum Ausprobieren.
Roadmap
- Fehlerkorrekturen
- Gateway: Eigenes Topic zur Steuerung des MS
- Integration in LoxBerry-Core
Fragen stellen und Fehler melden
MQTT Gateway - Troubleshooting Guide
GitHub: https://github.com/christianTF/LoxBerry-Plugin-MQTT-Gateway/issues
Forum: https://www.loxforum.com/forum/projektforen/loxberry/plugins/176025-loxberry-mqtt
Fehlerbeschreibungen
Für jeglichen Kontakt bzw. Probleme immer mitliefern:
- das Logfile
- die MQTT-Spezifikation des angebundenen Devices (z.B. direkter Link zur MQTT-Dokumentation des Geräts)
- Screenshots bzw. Beschreibung der durchgeführten Einstellungen usw.
Siehe auch
- MQTT-Gateway - Bekannte MQTT-Geräte und Subscription-Topics
- MQTT - Schritt für Schritt: MQTT -> Loxone
- MQTT - Schritt für Schritt: Loxone -> MQTT
- MQTT Gateway - HTTP- und UDP-Interface
- MQTT Gateway - UDP Transformers
- MQTT Gateway - Loxone Logger Receiver
- MQTT Gateway - FAQ
- MQTT Gateway for plugin developers
- Informationen und Best Practices zu Topics und Subscrictions: https://www.hivemq.com/blog/mqtt-essentials-part-5-mqtt-topics-best-practices/
- Miele Home MQTT Gateway: https://www.loxforum.com/forum/projektforen/loxberry/plugins/176967-miele-mqtt-loxberry-mqtt
- Verschiedene MQTT-Interfaces von Devices und Diensten: https://github.com/hobbyquaker/awesome-mqtt#interfaces
- Fronius Hybrid und go-eCharger Bridge: https://github.com/akleber/mqtt-connectors
35 Comments
Alex
I need to integrate XIAOMI (Aqara) devices into LOXONE ZigBee.
I have already done the integration of these products through ESP8266 (WittyCloud) over UDP, but using DGNWG02LM. Now I want to get rid of DGNWG02LM.
As a gateway, it is planned to use the MQTT Gateway plugin for Loxberry.
There is CC2531, which I successfully uploaded zigbee2mqtt firmware. To test CC2531 on Raspberry Pi 3B , I installed Rasbian Buster Lite and connected WSDCGQ11LM and WXKG02LM. Everything works great.
When I installed the MQTT Gateway plugin on Loxberry, I ran into a problem. My Aqara devices are not detected.
Help solve this problem. The information in the documentation and on the forum was not enough for me.
Christian Fenzl
Could you post all information you have to a thread in loxforum / LoxBerry Plugins area. Include all output, settings, docu (or docu links).
Sebastian Loidolt
Hallo, ich habe alles soweit sogut installiert, Habe auch eine Tasmota Steckdose, welche Einwandfrei per UDP funktioniert im Einsatz. Nun hab ich mir folgendes Thermostat geholt und geflashed. https://github.com/klausahrenberg/ThermostatBecaWifi
Ich schaffe es die Werte in die Loxone einzulesen und auch via Loxone am MQTT Broker zurückzuschreiben. (Temperatur). jedoch habe ich folgendes Problem. Wenn ich die Temperatur am Thermostat ändere, funktioniert das ohne Probleme in der Loxone. Wenn ich jedoch die Temperatur in der Loxone ändere damit es aufs Thermostat übertragen wird, gelangt es nur zum Broker und nicht auf das Thermostat. D.h. nach spätestens 5 Minuten ist wieder der Wert vom Thermostat eingestellt. Hat jemand eine Idee oder Lösung?
mit freundlichen Grüßen
Sebastian Loidolt
Habe es lösen können.
Christian Fenzl
Interessantes Gerät!
marco pichler
Hallo, ich habe Tasmota 7.1.2 auf ein ESP8266 gespielt.
Nun versuche ich es mit dem MQTT-Gateway am Loxberry zu "verbinden" - schaffe es aber leider nicht.
Beim MQTT-Plugin unter "incoming overview" erscheinen kein zusätzlichen entries.
(habe bereits ein paar shellies erfolgreich verbunden)
Hat jemand eine Idee oder Lösung?
mit freundlichen Grüßen
MQTT2.PNG
MQTT1.PNG
MQTT.PNG
Christian Fenzl
Hat du sonoff/# in der Subscription?
marco pichler
Danke!!! das wars!
AlexAn
Hab es hier beschrieben: ESP8266-01 mit Tasmota Sonoff
dmitry karageur
Hello! How to add broker made on Node.js ?
I need to control several Gree Air Conditioners by mqtt using this broker - link:
https://github.com/arthurkrupa/gree-hvac-mqtt-bridge
Christian Fenzl
This is not an MQTT Broker, but an MQTT Client.
Just set the start options of the node.js program to connect to LoxBerry (user, pass from MQTT Gateway Settings screen) and add a subscription (e.g.
home/greehvac/#
) in the MQTT Gateway.dmitry karageur
I apologize for dump question but do I need separate device for this? or I can run LoxBerry and node.js on a same raspberry pi?
Christian Fenzl
Node.js V12 LTS is included in LoxBerry 2.0+.
Below LB2, you‘ll need to install Node.js by your own.
dmitry karageur
I made mqtt on Loxberry communicate with AirConditioner and it's being controlled.
Please explain how can I automate the process of initiation when Loxberry starts - for communication to begin I must pass this command at once in ssh console.
And what shall I do if I have several AirConditioners - so I have to pass different commands of initiation.
Thank you!
node gree/index.js \
--hvac-host="192.168.1.123" \
--mqtt-broker-url="mqtt://192.168.1.105" \
--mqtt-topic-prefix="home/greehvac" \
--mqtt-username="mqtt" \
--mqtt-password="mqtt"
Christian Fenzl
You can create a cron job for this: Create own cronjob on LoxBerry
On LoxBerry 2.x, use the "Using LoxBerry's own schedules" way by using the cron.reboot folder. Create a file
hvac-host1
(without extension) and put this command into it. Into the first line, put#!/usr/bin/bash
into it (as explained in the article).For multiple Air Conditions simply create multiple files with different hvac-host.
For further questions, it's better to ask directly in this loxforum.com Thread, as I don't monitor LoxWiki comments regularly: https://www.loxforum.com/forum/projektforen/loxberry/plugins/176025-loxberry-mqtt
dmitry karageur
Thank you! I just saw your message but I handled it myself very similar to your solution.
I made for each air conditioner it's index.js with parameters set inside it (ip host, mqtt server, login, pass, and prefix), then I made bash script with pm2 node process manager that starts each instance of node.js separately. I recall each AC with unique prefix name.
Robert Kolar
hallo! ich versuche meine wärempumpe von vaillant mittels ebusd ins system zu übernehmen.
das klappt auch alles super bis auf einige werte die er mir vom raspi überträgt sobald ich sie dort abfrage.
was muss ich da setzen um bestimme befehle abzufragen?
ebusd/# liefert mir viele werte aber nicht alle
lauf john von ebusd muss ich ein get am ende setzen aber das liefert mir dann garkeine werte mehr.
wenn ich es einzeln abfrage kommt auch keine antwort.
ebusd/700/# liefert auch keine werte obwohl es zb den wert ebusd/700/HwcStorageTemp gibt sobald man den extern im raspi anfragt.
geht das mit der software selber oder muss man da ein extra script verwenden?
Christian Fenzl
Zur Referenz, worum es geht: https://github.com/john30/ebusd/wiki/3.3.-MQTT-client
Wie ich das verstehe: Du machst erst mal eine Subscription auf ebusd/# und bekommst alles, was ebusd aktiv published.
Damit ebusd nicht gesendete Werte nachliefert, musst du aktiv eine MQTT-Message an ebusd senden, das geht so: MQTT - Schritt für Schritt: Loxone -> MQTT
Beispielsweise probiere mal vom Miniserver aus (im Virtuellen Ausgangs-Befehl) Folgendes an das MQTT Gateway zu senden:
publish ebusd/700/get
Zum Testen kannst du auch die Shell verwenden:
mosquitto_pub -u loxberry -P <password> -t "ebusd/700/get" -m ""
oder eventuell
mosquitto_pub -u loxberry -P <password> -t "ebusd/700/get" -n
Robert Kolar
danke sehr. werde ich heute mal austesten.
muss ich UDP verwenden um das umsetzten zu können oder klappt das auch mit HTTP mit der aktuellen version?
Robert Kolar
bin einen schritt weiter (hoffe ich zumindest)
mit dem befehl http:iploxberry/admin/plugins/mqttgateway/mqtt.php?topic=ebusd/list bekomme ich alle werte die es gibt.
diese sind jedoch leider alle 0 zumindest die neuen die nicht nicht automatisch abgefragt wurden.
topic: ebusd/list value: retain:
ebusd/list
36 bytes written to udp address udp://127.0.0.1:11884
wie kann ich bestimmte werte gezielt abfragen inkl. deren wert?
kann man mit http überhaupt werte setzen oder muss das alles in udp gemacht werden?
das mit dem virtuellen ausgang auf dem miniserver habe ich probiert - sind aber keine werte angekommen ...
Christian Fenzl
Bezüglich Loxone→MQTT: Du kannst sowohl das mqtt.php als auch UDP verwenden. UDP ist schneller. Wenn du mqtt.php verwendest, sendet dieses selbst als UDP weiter (wie du im Response gesehen hast). Werte setzen kannst du mit beiden Interfaces.
Ich kenne ebusd selbst nicht. Ich lese, dass es da auch noch irgendwelche "Message Poll" Prioritäten gibt. In der ebusd Hilfe ist auch ein Beispiel mit get. Vielleicht musst du gezielt angeben, was du abrufen möchtest (keine Ahnung, z.B. ebusd/700/meinWert/get ).
Ich möchte vorschlagen, dass du die Diskussion ins LoxForum verlegst (mach einen neuen Thread im LoxBerry-Plugins Bereich auf) - hier ist nicht als Forum gedacht. Häng dort auch ein paar Screenshots an, dann sieht man mal, was du womit zurückbekommst.
lg, Christian
Robert Kolar
super - danke! werde ich machen sobald ich zeit habe. mir es es leider nicht gelungen einen befehl abzufragen sondern nur einen zu setzen. auch aus den bekannten werten im mqtt habe ich keinen wert über den browser erhalten. beim nuki zb.: reicht mit die eingabe des namen alleine im loxone und er holt sich die werte ...
Aleš Berka
Amazing plugin, great job. Thank you!
Miroslav Blahút
Hello , please how can I change MQTT Client ID? . For example
from Net::MQTT::Simple[FZBSBBDPZN]
to Net::MQTT::Simple1234
because [ ]
are a problem character.
Thank you
Christian Fenzl
The client id is part of the mqtt Library:
Harry
Hallo,
ich habe die letzten Tage an der implementierung von WLAN Thermostaten gearbeitet. (bestehendes Pythonscript in Loxone eingebunden) Es klappt soweit alles, nur wenn der Zeitplan als JSON geliefert wird meckert MQTT Gateway:
19:58:09.559 INFO: MQTT received: broadlink/9e909b34ea34/weekday: [{"start_hour": 6, "start_minute": 0, "temp": 20.0}, {"start_hour": 8, "start_minute": 0, "temp": 15.0}, {"start_hour": 11, "start_minute": 30, "temp": 15.0}, {"start_hour": 12, "start_minute": 30, "temp": 15.0}, {"start_hour": 17, "start_minute": 0, "temp": 22.0}, {"start_hour": 22, "start_minute": 0, "temp": 15.0}]
19:58:09.560 Expanding json message
19:58:09.560 ERROR: Error on JSON expansion: Inappropriate ioctl for device
19:58:09.562 INFO: MQTT received: broadlink/9e909b34ea34/weekend: [{"start_hour": 8, "start_minute": 0, "temp": 22.0}, {"start_hour": 23, "start_minute": 0, "temp": 15.0}]19:58:09.563 Expanding json message
19:58:09.563 ERROR: Error on JSON expansion: Inappropriate ioctl for device
19:58:09.565 INFO: MQTT received: broadlink/9e909b34ea34/schedule: [[{"start_hour": 6, "start_minute": 0, "temp": 20.0}, {"start_hour": 8, "start_minute": 0, "temp": 15.0}, {"start_hour": 11, "start_minute": 30, "temp": 15.0}, {"start_hour": 12, "start_minute": 30, "temp": 15.0}, {"start_hour": 17, "start_minute": 0, "temp": 22.0}, {"start_hour": 22, "start_minute": 0, "temp": 15.0}], [{"start_hour": 8, "start_minute": 0, "temp": 22.0}, {"start_hour": 23, "start_minute": 0, "temp": 15.0}]]19:58:09.565 Expanding json message
19:58:09.566 ERROR: Error on JSON expansion: Inappropriate ioctl for device
Wenn ich den JSON code im Netz aber prüfe ist er überall gültig.. was ist an dem JSON falsch?
MathiasRegenhardt
kann mir jemand erklären wie ich wie ich die Sensoren bei Loxone einlerne ?bekomme werte per udp übermittelt von mqtt .
AlexAn
MQTT - Schritt für Schritt: MQTT -> Loxone
Dave
Ich nutze MQTT Gateway v1.1.1 auf der aktuellsten Loxberry Version.
Die Message:
zigbee2mqtt/Remote1:"{"linkquality":0,"update_available":false,"battery":21,"action":"arrow_right_click"}"
Landet auf dem Miniserver (trotz angehaktem "Booleans konvertieren") so auf dem Miniserver:
MQTT: zigbee2mqtt/Remote1={"linkquality":0,"update_available":false,"battery":21,"action":"arrow_right_click"}
Sollte er das "false" nicht zu Null (0) machen?
Dave
Expand JSON Data kann ich in dem Falle überhaupt nicht verwenden, weil es mir die halbe Nachricht einfach löscht.Ohne Expand JSON Data: MQTT: zigbee2mqtt/Remote1={"linkquality":34,"update_available":false,"battery":21,"action":"arrow_right_click"}wird zu:Mit Expand JSON Data: MQTT: zigbee2mqtt/Remote1/linkquality=0Kann ich generell Caching deaktivieren?
Christian Fenzl
Bitte folgendermaßen vorgehen: https://www.loxforum.com/forum/projektforen/loxberry/plugins/176025-loxberry-mqtt?p=259842#post259842
In deinem Fall für action.
Caching anderer Eigenschaften macht Sinn, damit du nicht den Miniserver mit immer den gleichen Daten flutest!
lg, Christian
Robert Kolar
hallo!
das teil funktioniert super und ist sehr zuverlässig.
in letzter zeit habe ich einiges umgebaut und dafür alles zusammen vom stromnetz genommen. (miniserver, loxberry, ......)
wenn die teile dann wieder strom haben booten sie natürlich gleich wieder.
nur der mqtt server bekommt dann keine daten mehr rein.
muss dann jedes mal per hand den dienst neu starten und dann läuft es wieder.
war früher sicherlich nicht so.
Christian Fenzl
Servus Robert, kannst du im Forumsthread dazu einen Beitrag machen, und bitte angeben: Laufen beide Dienste, und in welche Richtung geht die Kommunikation nicht? Wie behebst dich das derzeit (welchen Dienst startest du neu)?
Danke und lg, Christian
Dave
I search on the forum and on internet but i cant find a awser to my question.
Is there a overview of external commands for example a restart command? i will restart the mqtt gateway from loxone.
And also i looking for posible output text from "mqttgateway_status"
Christian Fenzl
Could you please ask your questions in the LoxForum thread (linked on the top). Could you add the reason/use-cases you request?
English is fine there, no problem. Thx Christian