klein0r / fhem-docker

Just a template for a preconfigured fhem with mysql, mqtt and some other features in a docker environment
https://haus-automatisierung.com/
71 stars 55 forks source link

Migration von MQTT 1.x auf 2.x #26

Open hankman13 opened 3 years ago

hankman13 commented 3 years ago

Hallo Matthias,

es ist schon eine Weile her, als mit deinem Setup erst über einen Raspberry mit Docker auf einen Mini-PC mit Proxmox und Docker-LXC Container umgestiegen bin. Grundlage für mein SmartHome ist allerdings immer noch dein Repo. Ich habe zwar die meisten Komponenten auf HomeAssistant migriert aber ein paar Sachen gehen in FHEM ganz gut.

Wie du im Titel schon siehst, bin ich überfordert mit der Migration von MQTT auf 1.x auf 2.x

Ich würde mich riesig freuen, wenn du zeigen könntest, wie die Konfiguration anzupassen wäre damit MQTT 2.x funktioniert.

Danke und beste Grüße

Gerrit-KMeier commented 1 year ago

Ich hatte das gleiche Problem und bin auf diese Lösung gekommen: Mosquitto V2 benötigt nun in der Config Datei ein Eintrag, damit anonyme Verbindung zulässig sind. Daher an das Ende der Datei von mqtt/config/mosquitto.conf

noch diese Zeile ergänzen:

allow_anonymous true

und wenn man schonmal dabei ist, könnte man auch gleich noch diese zwei Zeilen ergänzen, damit die Logdatei den Zeitstempel nicht im Unix, sondern leichter leserlich Y-m-dHH:mm:ss darstellt

2023-01-14T10:59:46: mosquitto version 2.0.15 starting 2023-01-14T10:59:46: Config loaded from /mosquitto/config/mosquitto.conf. 2023-01-14T10:59:46: Opening websockets listen socket on port 9001. 2023-01-14T10:59:46: Opening ipv4 listen socket on port 1883. 2023-01-14T10:59:46: Opening ipv6 listen socket on port 1883. 2023-01-14T10:59:46: mosquitto version 2.0.15 running

log_timestamp true
log_timestamp_format %Y-%m-%dT%H:%M:%S

/!\ Der Zeitstempel ist allerdings in Greenwich Zeit.

Das alles kann man dann auch mal testen, wenn man den MQTT-V1 Container mal kurz stoppt und den MQTT-V2 Container testweise mal von der Konsole aus interaktiv startet:

docker run -it --rm --name mqttv2 --network fhem-docker_fhem-network -p 1883:1883 --network-alias mqtt -v ~/fhem-docker/mqtt/config/:/mosquitto/config/ -v ~/fhem-docker/mqtt/data:/mosquitto/data  eclipse-mosquitto:latest

FHEM aktualisieren

Es ist auch wichtig, dass das MQTT Plugin in fhem aktuell ist. Daher nach der Erstinbetriebnahme einmal eine Aktualisierung durchführen

update

und danach

shutdown restart

Es sollte dann mindestens diese Version oder neuer sein

00_MQTT.pm 24981 2021-09-16 16:06:15Z hexenmeister