zigbee2MQTT keine verbindung zum MQTT Server

Hallo,

leider habe ich heute meinen Raspberry neu starten müssen. Davor hat zigbee2MQTT munter funktioniert und daten gesendet. Nachdem neustart kommt nur noch die Meldung

Not connected to MQTT Server

Geändert hat sich doch aber nichts. Trotzdem geht es nicht mehr.

Kann mir jemand einen Tipp geben wo man suchen kann.
Habe den Mosquitto MQTT Server installiert. Die Vermutung ist er läuft nicht mehr korrekt aber in den eigentlichen Log Files von Mosquitto steht gar nichts.

Im Homegear err log steht:
Mqtt::connect(): Could not connect to server ::1 on port 1883. Poll failed with error code: 1

Danke mal wieder

Der Doc

Läuft denn mosquitto als Dienst?

service --status-all

Hey,

so wie ich das verstehe läuft er ja:

[ + ]  cron
[ + ]  dbus
[ + ]  dhcpcd
[ + ]  homegear
[ + ]  homegear-management
[ + ]  homegear-webssh
[ - ]  hwclock.sh
[ + ]  kmod
[ + ]  mosquitto
[ + ]  networking
[ + ]  ntp
[ - ]  paxctld
[ - ]  plymouth
[ - ]  plymouth-log
[ + ]  procps
[ + ]  resolvconf
[ - ]  rsync
[ + ]  rsyslog
[ + ]  ssh
[ - ]  sudo
[ + ]  udev

Habe mir noch mal mit systemctl den status der Systmeunits anzeigen lassen:
komisch finde ich da zwei einträge:

systemd-sysctl.service       loaded active exited    Apply Kernel Variables
systemd-tmpfiles-setup-dev.service loaded active exited    Create Static Device Nodes in /de             
● systemd-tmpfiles-setup.service loaded failed failed    Create Volatile Files and Directories
  systemd-udev-trigger.service loaded active exited    udev Coldplug all Devices
 systemd-udevd.service        loaded active running   udev Kernel Device Manager
● systemd-update-utmp.service  loaded failed failed    Update UTMP about System Boot/Shutdown

Hab mich noch ein bisschen weiter durchgekämpft und bekomme nun folgendes Log vom Mosquitto Server:

1569937623: mosquitto version 1.4.10 (build date Wed, 13 Feb 2019 00:45:38 +0000) starting
1569937623: Config loaded from /etc/mosquitto/mosquitto.conf.
1569937623: Opening ipv4 listen socket on port 1883.
1569937623: Opening ipv6 listen socket on port 1883.
1569937624: New connection from 127.0.0.1 on port 1883.
1569937624: New client connected from 127.0.0.1 as mqttjs_c63202a5 (c1, k60, u'user').
1569937629: New connection from ::1 on port 1883.
1569937629: New client connected from ::1 as HomegearNode.76858c82.a1f1f4.B134F0 (c1, k60).
1569937851: mosquitto version 1.4.10 terminating

Warum der Mosquitto sich terminiert verstehe ich nicht und das geht auch nicht aus dem Log hervor.
Kommt eventuell duurch das strg+c?

Zigbee2mqtt hat in dieser kurzen Zeit dann einmal einen Datensatz übermittelt. Heißt für mich wenn der Server mal laufen würde würde di funktion auch gehen.

Hatte sowas schon mal jemand?

Hmm, explizit nicht, nein.

Was sagt /var/log/syslog zum gleichen Zeitpunkt? Wie sieht deine Mosquitto Config aus? Was steht in deiner homegear mqtt.conf?

Der Syslog sagt nichts besonderes zu dieser Zeit

Also hab es jetzt wieder dazu gebracht sich zu verbinden. Das Problem scheint im Systemstart zu sein. Irgendwie wird es beim Boot nicht korrekt gestartet. Haben den mosquitto jetzt per “mosquitto -d” als deamon gestarte und nun läuft es auch wieder.

Was mich wundert in der MQTT.conf datei steht das:

# Set this to "true" to enable MQTT.
# Default: false
enabled = false

Muss das nicht true sein?

Mich wundert das es so überhaupt läuft. Laut Doku braucht er das doch um MQTT überhaupt zu nutzen.

Sehe ich auch so. Vielleicht kann @sathya was dazu sagen.

Ähh. Nein. Die Konfiguration in homegear ist dazu da, dass homegear direkt mit mqtt kommunizieren kann.

Die Konfiguration in node blue ist vollständig unabhängig davon. Man definiert in node blue einen Broker und dieser wird an die node gehängt.

Ich vermute, dass mosquitto entweder nicht beim systemstart gestartet wird oder aber auf Grund eines Fehlers direkt beendet wird.

1 Like

Danke @job, an node-blue hatte ich grad garnicht gedacht.

Gerne @pmayer.:wink:

Ausserdem hat @dr_snuggles ja Probleme mit zigbee2mqtt, das hat nun gar nix mit der homegear mqtt Konfiguration zu tun. :wink:

Was meinst du denn hiermit? Startest du vielleicht mosquitto direkt über die Konsole und beendest es dann mit Strg-c?

Jap war ein Denkfehler.

Beim Zigbee2mqtt konnte ich ja auch den log verlassen mit Strg+C ohne das es den Service selber beendet.

Ist aber ein anderer Ablauf weswegen es nicht vergleichbar ist.

Das Problem herscht immer noch irgendwie kommt mosquitto nicht gestartet während dem Boot vorgang. Erst mit mosquitto -d wird der MQTT Server gestartet. Ich denke das hat was mit dem logs und Dateien zu tun. Habe das gleiche Problem mit Zigbee2Mqtt. Erst wenn ich my System auf read write stelle läuft es.
Hat jemand eine funktionierende zigbee2mqtt mit mosquitto fstab datei?

Hallo @dr_snuggles,

ändere den Logpfad in der Mosquittokonfiguration mal z. B. auf /var/log/mosquitto.log, dann müsste es generell klappen. Mosquitto startet aber trotzdem manchmal beim Hochfahren nicht. Ich weiß nicht genau, warum, das ist aber ein Mosquittoproblem. Ein möglicher Workaround: Ein Cronjob, welcher mosquitto startet, wenn es nicht gestartet wurde oder Mosquitto über eine Node-BLUE-exec-Node starten.

Viele Grüße

Sathya

Das liegt daran, dass nicht jede Software einfach so auf “read only” gestellt werden kann. Das muss auf jede Applikation zugeschnitten werden. Wenn du also noch diverses auf das Homegear read only image installieren willst, ist es weniger aufwändig, Ersatz-SD Karten zu haben und auf read only zu pfeifen.