NEWS
UNSOLVED MQTT Problem
-
Hallo ich kann das nur untermauern - ich habe 2 Monate gebraucht und war am verzweifeln. Der Broker als Adapter ist unbrauchbar, da er mit den ACK-States nicht umgehen kann. Entweder published er mit dem Haken gesetzt alles, was aber ja teilweise nicht gewünscht ist und leicht zu Endlosschleifen führt - also bin ich inzwischen auf den mosquitto als Broker ausgewichen und nutze den Adapter als Client - das funktioniert allerdings gut. So kannst Du aus dem iobroker alles sehen und steuern. Ansonsten hatte ich die gleichen Fehlermeldungen und mich hat das wie gesagt noch mehr Zeit gekostet, weil ich auch dachte der Fehler läge an mir und dachte es läge an Retain etc. - Vielleicht liegt es auch an Node-Red - aber wie gesagt seit dem ich Mosquitto nutze, läuft es wie es soll.
-
Danke mickym für die Info. Dann werde ich alles auf den mosquitto Broker umswitchen.
-
Habe das selbe Problem. Habt Ihr ein Issue auf Github angelegt?
-
@iobroker_Alex Ich habe kein Issue angelegt - da ich schnell eine Lösung brauchte und schon ewig mich mit dem Problem rumgeschlagen habe, habe ich nun mosquitto als Broker laufen und nutze den MQTT-Adapter nur als Client/Subscriber.
Ehrlich gesagt, war ich auch erstaunt, das bislang sowenig von dem Problem bekannt war - da es für mich ein fundamentales Problem ist, das den Einsatz als Broker mehr oder weniger unbrauchbar macht.
Der Adapter scheint aber in der Version 2.1.1. seit 9 Monaten nicht mehr geändert worden zu sein, so dass ich auch aus diesen Gründen im Moment nicht daran glaube, dass hier schnell eine Lösung kommt und ich werde sie erst mal nicht testen.
-
@mickym sagte in MQTT Problem:
Der Adapter scheint aber in der Version 2.1.1. seit 9 Monaten nicht mehr geändert worden zu sein, so dass ich auch aus diesen Gründen im Moment nicht daran glaube, dass hier schnell eine Lösung kommt und ich werde sie erst mal nicht testen.
Ohne issue auf git wird das wahrscheinlich auch so bleiben.
-
@mickym ja bitte erstelle einen github issue und poste hier den link
-
@iobroker_Alex warum macht ihr-Du das nicht selbst? - Ich nutze den mqtt Adapter nur noch als client und kann somit auch wenn die Entwickler hier eine Fehlerbehebung machen - dies gar nicht verifizieren.
Ehrlich gesagt habe ich da auch wenig Lust zu, da mich der Adapter als Broker/Server Monate an Kopfzerbrechen gekostet hat -
@leon Ich habe seit iniger Zeit auch das Problem, dass der mqtt Adapter spontan und ohne ersichtlichen Grund crasht und mir den Log vollschreibt. Bin auch schon etwas genervt, weil ich das Problem nicht gelöst bekomme. Bin auch relativ neu mit dem ioBroker unterwegs. Wie hast du das mit dem mosquitto Broker gelöst. Bekomme ich auf meinem Raspi 4 einen mosquitto parallel zum ioBroker installiert? Wäre schön, wenn du einen Link auf eine Beschreibung für "Dummies" hättest.
-
@acme2020 Ja läuft bei mir ohne Probleme auf dem Raspberry 4 zusammen mit iobroker. Den MQTT Adapter nutzt Du dann als MQTT Client und kannst damit auch iobroker als Frontend für Deinen mosquitto Server nutzen:
Installieren ist total easy:
sudo apt update sudo apt upgrade sudo apt install mosquitto
Den Client brauchst Du nicht, da Du da ja den Adapter, den Du bereits installiert hast nur von Broker/Server auf Client umkonfigurierst.
Mit stop, start und status kannst Du den mosquitto Server stoppen und starten bzw. schauen ob er gestartet ist.
sudo systemctl stop mosquitto.service sudo systemctl start mosquitto.service sudo systemctl status mosquitto.service
Um den mqtt-Broker mit Passwort abzusichern erstellst Du mit folgendem Kommonda eine Passwort Datei:
sudo mosquitto_passwd -c /etc/mosquitto/passwd <user_name>
und editierst die Konfigurationsdatei:
sudo nano /etc/mosquitto/mosquitto.conf
Dort hängst Du noch die folgenden Zeilen an:
password_file /etc/mosquitto/passwd allow_anonymous false
-
@mickym sagte in MQTT Problem:
@acme2020 Ja läuft bei mir ohne Probleme auf dem Raspberry 4 zusammen mit iobroker. Den MQTT Adapter nutzt Du dann als MQTT Client und kannst damit auch iobroker als Frontend für Deinen mosquitto Server nutzen:
Installieren ist total easy:
sudo apt update sudo apt upgrade sudo apt install mosquitto
Den Client brauchst Du nicht, da Du da ja den Adapter, den Du bereits installiert hast nur von Broker/Server auf Client umkonfigurierst.
Mit stop, start und status kannst Du den mosquitto Server stoppen und starten bzw. schauen ob er gestartet ist.
sudo systemctl stop mosquitto.service sudo systemctl start mosquitto.service sudo systemctl status mosquitto.service
Um den mqtt-Broker mit Passwort abzusichern erstellst Du mit folgendem Kommonda eine Passwort Datei:
sudo mosquitto_passwd -c /etc/mosquitto/passwd <user_name>
und editierst die Konfigurationsdatei:
sudo nano /etc/mosquitto/mosquitto.conf
Dort hängst Du noch die folgenden Zeilen an:
password_file /etc/mosquitto/passwd allow_anonymous false
Super, danke für die Anleitung. Ich werde mir das mal ansehen. Als Alternative scheint auch der Sonoff Adapter ganz stabil zu funktionieren. Mal sehen, was ich da nehme.
-
@acme2020 sagte in MQTT Problem:
Super, danke für die Anleitung. Ich werde mir das mal ansehen. Als Alternative scheint auch der Sonoff Adapter ganz stabil zu funktionieren. Mal sehen, was ich da nehme.
Das Problem ist oft - das manche Adaptet alle ihren "eigenen MQTT broker" mitbringen. Aber das ist dann wohl Geschmackssache. Mit einem eigenen mqtt-Server bist halt etwas unabhängiger und der mosquitto läuft in meinen Augen super stabil. Ich nutze deshalb auch keinen Sonoff-Adapter für Tasmota, kein Shelly Adapter, kein owntracks Adapter und keinen fhem Adapter, sondern greife auf all die Systeme aus dem iobroker über mqtt zu.
Den teilweise geringeren Funktionsumfang (z. Bsp. weil die mqtt API nicht so umfangreich ist wie die HTTP-API) muss man halt durch eigene HTTP requests ausgleichen (z.Bsp. Firmware Update bei Shelly oder deren Neustart).