Embedded MTQQ Broker ersetzen

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

Antworten
Harry B.
Beiträge: 8
Registriert: 14. Nov 2020 20:31
Answers: 0

Embedded MTQQ Broker ersetzen

Beitrag von Harry B. »

Hallo zusammen!

Derzeit habe ich ein laufendes System (openHABian auf RPi 4). :D

In Paper UI habe ich u.a. ein Thing „MQTT Broker“ und ein Thing „Shelly Plug“. Dann habe ich auch noch ein Item „shelly:shellyplug:123456:meter#currentWatts“, das den Gesamtverbrauch anzeigt. Außerdem habe ich noch einen Service „MQTT Embedded Broker“ installiert. Letzteren würde ich jetzt gerne auf sichere Art und Weise loswerden.
  1. Zunächst einmal habe ich den Unterschied zwischen den o.g. Komponenten „MQTT Broker“ und „MQTT Embedded Broker“ nicht verstanden. Worin liegt der?
  2. Wie und vor allem wo kann ich in meiner Konfiguration den Broker-Port 1883 gegen einen anderen Port ersetzen. Ist der 1884 noch frei? Wie kann ich das Prüfen?
  3. Dann würde ich prüfen, ob noch immer alles funktioniert.
  4. Dann würde ich gerne (noch einmal) mosquitto installieren. Dieses Mal über openhain-config 20 --> 23 und in der Hoffnung, dass der dann den Port 1883 benutzt, den ich deswegen ja unter 2. freischaufeln wollte.
  5. Wie geht es danach weiter?
  6. Zu guter Letzt würde ich den „MQTT Embedded Broker“ unter Paper UI de-installieren.
Gruß
Harry B.
- Kaum macht man 's richtig, schon funktioniert 's! -
------------------------------------------------------
Raspberry 4B, Rev.1.2, 4GB, OpenHABian-Image

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

Re: Embedded MTQQ Broker ersetzen

Beitrag von udo1toni »

Bitte, bitte nicht! So, wie Du Dir das vorstellst, ist es ziemlich sicher, dass Du Dir was zerschießt.

Aber erst mal: Wenn Du ein Item hast, welches gegn den Channel "shelly:shellyplug:123456:meter#currentWatts" verlinkt ist, dann hat dieses Item nichts mit dem mqtt Binding zu tun. Dieses Item ist gegen das shelly Binding verlinkt. Das Shelly Binding nutzt kein mqtt!
Sollte diesen also das einzige Item sein, bei dem Du davon ausgehst, dass es mit mqtt verlinkt ist, dann kannst Du mqtt einfach komplett entfernen.
Falls Du weitere Items hast, die tatsächlich mit mqtt kommunizieren, ist es das sicherste, Moquette einfach zu deinstallieren und mosquitto einfach zu installieren. Solltest Du User und Passwort für die mqtt Clients vergeben haben, musst Du die gleichen Daten natürlich auch in der mosquitto Konfiguration eintragen.

Wenn Du partout zunächst ohne Deinstallation einen Test machen willst, kannst Du Moquette auch temporär deaktivieren, genau, wie Du mosquitto temporär deaktivieren kannst. Sei Dir aber darüber im Klaren, dass das (was Moquette betrifft) auch schief gehen kann.
Mosquitto ist als daemon zuverlässig steuerbar, mit

Code: Alles auswählen

sudo systemctl stop mosquitto.service && sudo systemctl disable mosquitto.service
kann der Dienst beendet werden und startet danach auch nach einem Reboot nicht automatisch (das ist der zweite Befehl). Moquette kann über die Karaf Konsole mittels

Code: Alles auswählen

bundle:stop org.openhab.io.mqttembeddedbroker
gestoppt werden. bundle:start startet den embedded Broker dann wieder. Das Bundle lässt sich aber nicht "deaktvieren", ein Neustart von openHAB wird also Moquette unverzüglich wieder starten.

Den Port könntest Du über Paper UI -> Configuration -> Services -> MQTT -> Moquette... -> Expert Mode -> Port setzen, aber wie gesagt, damit gewinnst Du nichts, denn zum Ausprobieren müssen die Clients sich ja mit mosquitto verbinden, da ist das temporäre Beenden des Dienstes wesentlich einfacher.
openHAB4.3.5 stable in einem Debian-Container (bookworm) (Proxmox 8.4.1, LXC), mit openHABian eingerichtet

Antworten