MQTT Broker Startet nicht

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

Benutzeravatar
PeterA
Beiträge: 1106
Registriert: 8. Feb 2019 12:12
Answers: 13

MQTT Broker Startet nicht

Beitrag von PeterA »

Hallo zusammen.

Nun hat es mich bzw. die SD-Karte auch erwischt. Defekt. Immerhin hat die Karte ca. 5 Jahre gehalten!
Ich hatte eine zweite SD Card im Raspi stecken und habe alle 4 Wochen (zusätzlich zum Backup über die Console)
die SD Karte geklont.

Also, geklonte Karte gesteckt und siehe da OpenHab war wieder am "Start".
Nur bekomme ich im Log folgende Fehlermeldung:

Code: Alles auswählen

2023-05-19 17:05:48.599 [INFO ] [.reconnect.PeriodicReconnectStrategy] - Try to restore connection to 'localhost'. Next attempt in 10000ms

==> /var/log/openhab2/events.log <==

2023-05-19 17:05:48.609 [hingStatusInfoChangedEvent] - 'mqtt:broker:3448a27a' changed from OFFLINE (COMMUNICATION_ERROR): Verbindung zu Server kann nicht hergestellt werden to OFFLINE

==> /var/log/openhab2/openhab.log <==

2023-05-19 17:05:48.619 [INFO ] [.transport.mqtt.MqttBrokerConnection] - Starting MQTT broker connection to 'localhost' with clientid paho1646168798585 and file store '/var/lib/openhab2/mqtt/localhost'

==> /var/log/openhab2/events.log <==

2023-05-19 17:05:48.651 [hingStatusInfoChangedEvent] - 'mqtt:broker:3448a27a' changed from OFFLINE to OFFLINE (COMMUNICATION_ERROR): Verbindung zu Server kann nicht hergestellt werden
Wo muss ich da noch mal nachsehen ?

Gruß
Peter
- OpenHab 2.4
#PWRUP

Benutzeravatar
PeterA
Beiträge: 1106
Registriert: 8. Feb 2019 12:12
Answers: 13

Re: MQTT Broker Startet nicht

Beitrag von PeterA »

Auweia...
Ist ja nun auch schon ne "weile" her :)
Ich habe einfach mit:

Code: Alles auswählen

[17:36:30] openhabian@openHABianPi:~$ mosquitto
Den Broker noch Starten müssen. Kann man den auch Automatisch Starten lassen ?

Gruß Peter
- OpenHab 2.4
#PWRUP

Benutzeravatar
peter-pan
Beiträge: 2758
Registriert: 28. Nov 2018 12:03
Answers: 30
Wohnort: Schwäbisch Gmünd

Re: MQTT Broker Startet nicht

Beitrag von peter-pan »

...geht das nicht mit

Code: Alles auswählen

sudo systemctl enable mosquitto
?
Hab's auch schon länger nicht mehr gemacht.
Pi5/8GB(PiOS Lite 64-bit(bookworm)/SSD 120GB - OH4.3.5 openhabian

Benutzeravatar
udo1toni
Beiträge: 15247
Registriert: 11. Apr 2018 18:05
Answers: 242
Wohnort: Darmstadt

Re: MQTT Broker Startet nicht

Beitrag von udo1toni »

genau. mosquitto sollte als Dienst eingerichtet sein. Das seltsame dabei: Wenn die Karte geklont ist, muss der Dienst ebenso mit geklont worden sein.
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

Benutzeravatar
PeterA
Beiträge: 1106
Registriert: 8. Feb 2019 12:12
Answers: 13

Re: MQTT Broker Startet nicht

Beitrag von PeterA »

Tja wenn ich nur noch wüsste wie ich das Damals gemacht habe.
Da war ich noch blutiger Anfänger :D

Zunächst hatte ich in der Konsole eingegeben:

Code: Alles auswählen

 sudo systemctl enable mosquitto 
Da Starte ein Mosquitto mit Version 3.x. Damit konnte aber
OpenHab nix Anfangen.

Dann habe ich einfach nur "Mosquitto" eingeben.
Hier startete dann ein Broker mit V 1.x. Das war dann der richtige.
Musste aber das Terminal Fenster so wie es war schließen damit der Broker weiter lief.

Viel wichtiger finde ich das es mir der geklonten SD (fast) einfach so weiter ging. Den ich habe noch einen ModBus HAT mit entsprechender Config auf dem Raspi.

Jetzt tut's.

Gruß Peter
- OpenHab 2.4
#PWRUP

Benutzeravatar
peter-pan
Beiträge: 2758
Registriert: 28. Nov 2018 12:03
Answers: 30
Wohnort: Schwäbisch Gmünd

Re: MQTT Broker Startet nicht

Beitrag von peter-pan »

Hallo Peter,
das "enable" bedeutet, wie Udo auch anmerkte, das der Dienst aktiviert wird. Das (erstmalige) Starten sollte dann so passieren wie du es gemacht hast, oder evtl. mit

Code: Alles auswählen

sudo systemctl start mosquitto oder
sudo restart mosquitto
Damit wird m.W. der Dienst immer beim Starten des Systems aktiviert.

oder wenn du den Dienst mal stoppen willst

Code: Alles auswählen

sudo systemctl stop mosquitto
Das gleiche Verfahren nutze ich auch beim Starten/Wiederstarten und Stoppen von "openhab".( Ich hab das jetzt absichlich in Kleinbuchstaben geschrieben). Lediglich der Name ändert sich beim "systemctl-Kommando".

Gruß - Peter
Pi5/8GB(PiOS Lite 64-bit(bookworm)/SSD 120GB - OH4.3.5 openhabian

Benutzeravatar
peter-pan
Beiträge: 2758
Registriert: 28. Nov 2018 12:03
Answers: 30
Wohnort: Schwäbisch Gmünd

Re: MQTT Broker Startet nicht

Beitrag von peter-pan »

Habe gerade noch das mit den Versionen gelesen. Zur Info - mein Mosquitto ist:

Code: Alles auswählen

hab3@oh3ssd:~ $ mosquitto -h
mosquitto version 2.0.11

mosquitto is an MQTT v5.0/v3.1.1/v3.1 broker.

Usage: mosquitto [-c config_file] [-d] [-h] [-p port]

 -c : specify the broker config file.
 -d : put the broker into the background after starting.
 -h : display this help.
 -p : start the broker listening on the specified port.
      Not recommended in conjunction with the -c option.
 -v : verbose mode - enable all logging types. This overrides
      any logging options given in the config file.

See https://mosquitto.org/ for more information.
Pi5/8GB(PiOS Lite 64-bit(bookworm)/SSD 120GB - OH4.3.5 openhabian

Benutzeravatar
udo1toni
Beiträge: 15247
Registriert: 11. Apr 2018 18:05
Answers: 242
Wohnort: Darmstadt

Re: MQTT Broker Startet nicht

Beitrag von udo1toni »

Es gibt kein Mosquitto v3.x (die aktuelle Version laut https://mosquitto.org/ ist 2.0.15)

Deine Aussage war doch, dass Du immer vollständige Klone Deiner SD-Karte gezogen hast, insofern ist es gar nicht möglich, dass sich die beiden Systeme voneinander unterscheiden. Vielleicht ist da schon beim Klonen etwas schief gelaufen.

mosquitto muss als Dienst gestartet werden, der Start über die GNU/Linux Shell ist Quatsch.
Ganz wichtig: wenn Du über die Shell startest, wird mosquitto mutmaßlich andere Startparameter wählen als wenn Du es als Dienst startest.
Wenn openHABian mosquitto einrichtet, wird mosquitto als Dienst mit folgendem Aufruf ausgeführt:

Code: Alles auswählen

/usr/sbin/mosquitto -c /etc/mosquitto/mosquitto.conf
und in der Konfigurationsdatei steht dann zunächst:

Code: Alles auswählen

# Place your local configuration in /etc/mosquitto/conf.d/
#
# A full description of the configuration file is at
# /usr/share/doc/mosquitto/examples/mosquitto.conf.example

pid_file /run/mosquitto/mosquitto.pid

persistence true
persistence_location /var/lib/mosquitto/

log_dest file /var/log/mosquitto/mosquitto.log

include_dir /etc/mosquitto/conf.d

listener 1883
allow_anonymous true
Und hier ist der große Fehler... denn die Zeilen

Code: Alles auswählen

listener 1883
allow_anonymous true
müssen oben in der Datei stehen. Also so:

Code: Alles auswählen

# Place your local configuration in /etc/mosquitto/conf.d/
#
# A full description of the configuration file is at
# /usr/share/doc/mosquitto/examples/mosquitto.conf.example

listener 1883
allow_anonymous true

pid_file /run/mosquitto/mosquitto.pid

persistence true
persistence_location /var/lib/mosquitto/

log_dest file /var/log/mosquitto/mosquitto.log

include_dir /etc/mosquitto/conf.d
und schon wird mosquitto über das Netzwerk erreichbar sein. Falls Du User und Passwort erzwingen willst, musst Du natürlich allow_annonymous auf falste setzen.

Um den Dienst zu starten, reicht ein

Code: Alles auswählen

sudo systemctl start mosquitto.service
wobei das .service auch weggelassen werden kann.
Um den Dienst automatisch beim Systemstart mit zu starten, lautet der korrekte Befehl

Code: Alles auswählen

sudo systemctl enable mosquitto.service
wobei auch hier das .service weggelassen werden kann. Der Dienst wird NICHT automatisch gestartet, er wird nur im Autostart eingetragen (konkret wird ein symbolischer Link in /etc/systemd/system/multi-user.target.wants/ angelegt).
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

Benutzeravatar
PeterA
Beiträge: 1106
Registriert: 8. Feb 2019 12:12
Answers: 13

Re: MQTT Broker Startet nicht

Beitrag von PeterA »

Ok dann wirds mal Zeit das in Ordnung zu Bringen!

Aaalso:
Das läuft wohl hier:

Code: Alles auswählen

[16:05:53] openhabian@openHABianPi:~$ mosquitto -h
mosquitto version 1.4.10 (build date Wed, 13 Feb 2019 00:45:38 +0000)

mosquitto is an MQTT v3.1 broker.

Usage: mosquitto [-c config_file] [-d] [-h] [-p port]

 -c : specify the broker config file.
 -d : put the broker into the background after starting.
 -h : display this help.
 -p : start the broker listening on the specified port.
      Not recommended in conjunction with the -c option.
 -v : verbose mode - enable all logging types. This overrides
      any logging options given in the config file.

See http://mosquitto.org/ for more information.
Wenn ich aber die "mosquitto.conf" bearbeiten möchte denn der "listener" usw Teil fehlt kommt die Meldung das die Datei
Schreibgeschützt ist.

Code: Alles auswählen

-rw-r--r-- 1 root root  348 Apr 27  2019 mosquitto.conf
Edit.... Ich Idiot :) sudo nano usw.... dann gehts. Wenn man das nicht alle Tage macht :)
- OpenHab 2.4
#PWRUP

Benutzeravatar
PeterA
Beiträge: 1106
Registriert: 8. Feb 2019 12:12
Answers: 13

Re: MQTT Broker Startet nicht

Beitrag von PeterA »

udo1toni hat geschrieben: 20. Mai 2023 15:59
Um den Dienst zu starten, reicht ein

Code: Alles auswählen

sudo systemctl start mosquitto.service
wobei das .service auch weggelassen werden kann.
Um den Dienst automatisch beim Systemstart mit zu starten, lautet der korrekte Befehl

Code: Alles auswählen

sudo systemctl enable mosquitto.service
wobei auch hier das .service weggelassen werden kann. Der Dienst wird NICHT automatisch gestartet, er wird nur im Autostart eingetragen (konkret wird ein symbolischer Link in /etc/systemd/system/multi-user.target.wants/ angelegt).
Ok hab ich alles gemacht.

Code: Alles auswählen

[20:17:54] openhabian@openHABianPi:/etc/mosquitto$ sudo systemctl enable mosquitto.service
mosquitto.service is not a native service, redirecting to systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable mosquitto
Dann hoffen wir mal das das jetzt so richtig ist.

Gruß Peter
- OpenHab 2.4
#PWRUP

Antworten