NEWS
MQTT-Adapter sendet keine Daten zu MQTT
-
Hallo zusammen,
ich ziehe gerade mein System auf Unraid um und komme leider mit dem MQTT-Adapter nicht weiter. Wahrscheinlich liegt es an falsch ausgefüllten Feldern, aber ich habe schon viel rumprobiert und bekomme es einfach nicht hin.Mein Problem: Der MQTT-Adapter im iobroker sendet keine Daten zu MQTT. Z.B. wenn ich eine Lampe heller machen möchte über Objekte, wird die eingegebene Zahl rot. Der Adapter ist insgesamt grün und die Werte werden schnell im iobroker empfangen.
Bei diesen Einstellung wird der Log mehrmals in der Sekunde geupdated und auch im Zigbee2MQTT kommen Nachrichten. Es scheint also ein Verbindung zu geben, aber irgendwas ist noch falsch:
Habt ihr vielleicht eine Idee?
Vielen Dank!MQTT - v2.4.0
Hardwaresystem: LENOVO 314D Arbeitsspeicher: 8GB Festplattenart: SSD Betriebssystem: Ubuntu Node-Version: 10.x.x Nodejs-Version: 10.x.x NPM-Version: 6.x.x Installationsart: Skript/Manuell Image genutzt: Ja/Nein Ort/Name der Imagedatei: Link -
@adsfa Meines Erachtens hast Du mit Deinen Einstellungen - ein ziemliches Chaos eingerichtet.
Wo ist denn Dein mqtt-Broker.
Sprich ist der woanders oder arbeitet Dein mqtt Adapter als Server/Broker. Wenn Dein Mqtt Adapter als Broker arbeitet und Du mit ACK=No Nachrichten Probleme hast und Du siehst, dass nach 11 Retries die Nachricht gelöscht wird - dann vergiss den Adapter als Broker. Das ist in meinen Augen ein Bug: s. https://forum.iobroker.net/topic/33772/mqtt-message-xxx-deleted-after-11-retries?_=1635961518096
Falls Du einen externen Broker hast und Du nutzt den Adapter als Client - dann passt schon mal Deine Publishing Mask nicht.
Da wundert es nicht, dass auch nichts rauskommt. Bei dem Publishing State steht nicht mqtt.0. sondern mqtt.0.* - ohne den Stern am Ende wird also auch nichts gepublished und gesendet. Wenn Du Glück hast ist das der einzige Fehler und das Problem ist behoben.
Ich würde aber trotzdem alle Haken in Deinen Einstellungen entfernen - die sind in meinen Augen Nonsens.
Und ein Subscribe Pattern wenn Du mit einem externen mqtt-Broker arbeitest ist auch nicht schlecht, sonst bekommst ja nichts. Wenn Du alles haben willst gibst halt # ein.
-
Hallo adsfa,
zusätzlich zu dem von @mickym schon erwähntem, ein Hinweis.
In deinem gesamten mqtt Universum darf eine client-ID nur einmal vorkommen.
Beispiel wie deine Einstellungen im ioBrocker.mqtt als client aussehen könnten.
ioBroker -> lokal
mosquitto -> extern
zigbee2mqtt -> extern
Gruß, Karsten
-
@hydrotec und @mickym Vielen Dank für eure Antworten. Ich habe noch etwas rumprobiert und die Empfehlung bekommen lieber den Zigbee Adapter im iobroker zu nutzen, da die Werte direkt richtig konvertiert werden.
Mir ist auch nicht richtig klar, welchen Vorteil ich hätte, wenn ich es über einen externen mqtt-Broker machen würde. -
@adsfa sagte in MQTT-Adapter sendet keine Daten zu MQTT:
Gerne doch.
@adsfa sagte ...
... Ich habe noch etwas rumprobiert ...
Für die Nachwelt wäre es sicherlich hilfreich gewesen, ob denn die Hinweise funktioniert hätten.
Primär ging es ja um "MQTT-Adapter sendet keine Daten zu MQTT",
und nicht "Empfehlung - Wie binde ich am Besten zigbee2mqtt an ioBroker an"...., da die Werte direkt richtig konvertiert werden.
Das ist zwischenzeitlich auch mit zigbee2mqtt und mqtt möglich.
... Mir ist auch nicht richtig klar, welchen Vorteil ich hätte, wenn ich es über einen externen mqtt-Broker machen würde.
Das liegt immer im Auge des Betrachters.
Mal ganz vereinfacht,
möchte man seine mqtt Umgebung (gibt ja noch mehr ausser ZigBee)
unabhängig von einer Automatisationssoftware betreiben, liegt der Vorteil bei der externen Lösung.
Hat man nur, in diesem Fall ZigBee, welches man sowiso nur mit einer Automatisationssoftware steuern möchte,
liegt der Vorteil bei einer internen Lösung.Es führen viele Wege nach Rom.
Hauptsache, egal für welchen Weg du dich entscheidest, er führt zu dem von dir gewünschten Ergebnis.Gruß, Karsten