Seite 1 von 2

Nach Reboot kein MQTT mehr

Verfasst: 29. Jul 2020 11:52
von Blui
Gestern abend habe ich bei mir mosquitto eingerichtet, das lief auch alles ganz gut in der PaperUI nachdem ich den Dreh raus hatte. Eigentlich wollte ich das ja komplett in Visual Studio Code machen aber die Einrichtung des MQTT-Brokers dort ist irgendwie nirgends vernünftig beschrieben. Und die Suche hier im Forum hilft einem da ja auch nicht weiter da MQTT ein zu häufig gesuchter Begriff ist.

Na, dann eben über PaperUI, dann schön noch ein paar Buttons im HABPanel eingerichtet, alles lief soweit wie gewünscht.

Heute morgen musste ich dann des Raspberry mal kurz vom Strom nehmen. Seitdem bekomme ich keine MQTT-Verbindung mehr zu meinen Schaltsteckdosen.

Also den Raspi nochmal neu gebootet, weiterhin nur langweiliges blinken der Steckdosen. Witzigerweise geben die Schalter in PaperUI-Controll keine Meldungen aus und auch die Icons in HABPanel reagieren. Nur die Dosen selber nicht.

Zwischendurch zeigte mir die Control beim schalten einer Steckdose mal ein "jersey is not ready yet", das hat aber soweit ich das gefunden habe nichts mit MQTT selber zu tun.

Keine Ahnung warum das jetzt wieder spinnt, hat jemand eine Idee?

Re: Nach Reboot kein MQTT mehr

Verfasst: 29. Jul 2020 22:35
von udo1toni
Wie hast Du mosquitto eingerichtet? Für mich klingt es danach, dass der Dienst nicht gestartet ist (das geht einfach mit

Code: Alles auswählen

sudo systemctl start mosquitto.service
)
Falls es das ist, schiebst Du bitte noch ein

Code: Alles auswählen

sudo systemctl enable mosquitto.service
hinterher, damit der Dienst beim nächsten Bootvorgang gleich mit startet.

In openHAB kannst Du nur erkennen, ob mqtt läuft, wenn Du einen Blick in Paper UI wirfst (alternativ auch in VSCode?) und dort schaust, ob die mqtt Bridge online ist.

Was die Konfiguration per *.things Datei angeht, so hat der Entwickler des mqtt2 Bindings das aus der Doku ausgelagert, weil er der Meinung ist, dass das nicht da rein gehört... Na ja...
Du kannst es aber mit diesem Link finden: https://github.com/openhab/openhab-addo ... xamples.md

Achte bitte darauf, die Schreibweisen in demo1.things und demo2.things nicht miteinander zu vermischen, das geht gerne schief...

Re: Nach Reboot kein MQTT mehr

Verfasst: 29. Jul 2020 23:52
von Blui
udo1toni hat geschrieben: 29. Jul 2020 22:35 Wie hast Du mosquitto eingerichtet? Für mich klingt es danach, dass der Dienst nicht gestartet ist (das geht einfach mit

Code: Alles auswählen

sudo systemctl start mosquitto.service
Falls es das ist, schiebst Du bitte noch ein

Code: Alles auswählen

sudo systemctl enable mosquitto.service
hinterher, damit der Dienst beim nächsten Bootvorgang gleich mit startet.
Ich habe es ganz normal wie bei tutorials-raspberry.de beschrieben eingerichtet mit

Code: Alles auswählen

sudo apt-get install -y mosquitto mosquitto-clients
Ich hatte es ja auch gestern abend noch lauffähig, erst heute nach dem Neustart ging nichts mehr
Die Eingaben der beiden Zeilen oben haben leider auch nichts daran geändert.
In openHAB kannst Du nur erkennen, ob mqtt läuft, wenn Du einen Blick in Paper UI wirfst (alternativ auch in VSCode?) und dort schaust, ob die mqtt Bridge online ist.
Das ist ja das komische, PaperUI zeigt mir die ganze Zeit alles Online an. Aber die Schalter schalten einfach nichts.
Was die Konfiguration per *.things Datei angeht, so hat der Entwickler des mqtt2 Bindings das aus der Doku ausgelagert, weil er der Meinung ist, dass das nicht da rein gehört... Na ja...
Du kannst es aber mit diesem Link finden: https://github.com/openhab/openhab-addo ... xamples.md
Achte bitte darauf, die Schreibweisen in demo1.things und demo2.things nicht miteinander zu vermischen, das geht gerne schief...
Oh, mal wieder was neues zum einlesen.

Übrigens, obwohl ich Mosquitto eingerichtet habe und auch in der PaperUI einen Broker dazu angelegt habe findet die Inbox immer noch weitere Broker. Ich hatte dann irgendwann 3 Stück gleichzeitig die auch alle 3 als Online angezeigt wurden. Einer mit mqtt:broker:<name>, einer mit mqtt:systemBroker:<name> und einer mit mqtt:broker:<anderername>. Deaktivieren und löschen hat auch nicht wirklich geholfen, sobald ich was in der Inbox einrichten wollte tauchten die wieder auf. Vorzugsweise schon mit den Einstellungen die sie hatten bevor sie gelöscht wurden.

Naja, und dann hatte ich zwischendurch beim einrichten und löschen zwischendurch auch mal Error 409 oder Error 500 je nachdem was ich gemacht habe. Das habe ich dann irgendwann ignoriert und die nervenden Broker deaktiviert. Weil löschen gab dann wieder einen der Errorcodes.

Re: Nach Reboot kein MQTT mehr

Verfasst: 30. Jul 2020 00:25
von udo1toni
Das hört sich danach an, als wäre da etwas gehörig durcheinander geraten. Der Systembroker kann eigentlich nur kommen, wenn Du ihn auch angelegt hast (Es gibt da in Paper UI eine Stelle, wo man den konfigurieren kann). Den brauchst Du aber nicht ;)

Wenn die Steckdosen keinen Kontakt zum Broker bekommen (ich gehe mal davon aus, dass das Blinken diese Bedeutung hat), dann hat mosquitto ein Problem. Hast Du evtl. Moquette als addon aktiviert?

Re: Nach Reboot kein MQTT mehr

Verfasst: 31. Jul 2020 00:03
von Blui
udo1toni hat geschrieben: 30. Jul 2020 00:25 Das hört sich danach an, als wäre da etwas gehörig durcheinander geraten. Der Systembroker kann eigentlich nur kommen, wenn Du ihn auch angelegt hast (Es gibt da in Paper UI eine Stelle, wo man den konfigurieren kann). Den brauchst Du aber nicht ;)

Wenn die Steckdosen keinen Kontakt zum Broker bekommen (ich gehe mal davon aus, dass das Blinken diese Bedeutung hat), dann hat mosquitto ein Problem. Hast Du evtl. Moquette als addon aktiviert?
Nein, Moquette habe ich nicht aktiviert, eben extra nochmal nachgesehen:
moquette_Install.jpg
Das einzige was ich gemacht habe ist MQTT als Binding zu installieren:
MQTT_Install.jpg
Aber das muss ja wohl sein, oder?

Ich habe jetzt den System MQTT Broker und den andersnamigen Broker mal deaktiviert. Geändert hat sich nichts.
Anschließend versucht den System Broker zu löschen, das geht, allerdings nur wenn er aktiviert ist. Beim löschen des zweiten "Normalen" MQTT Broker bekomme ich nur ein "Error 409: - Conflict".
*ein paar Versuche später*....
Nun habe ich nur noch einen MQTT Broker, der zweite konnte nicht gelöscht werden weil der in noch in einer Things-Datei aktiviert war. Schnell auskommentiert und weg ist er. Immerhin ein Problem weniger.

Trotz allem bekommen die Steckdosen immer noch keine Verbindungen auf den übrig gebliebenen. Neu verknüpfen hilt auch nicht.

Re: Nach Reboot kein MQTT mehr

Verfasst: 31. Jul 2020 10:31
von udo1toni
Kannst Du mit einem mqtt Sniffer wie mqtt.fx oder mqtt spy auf den Broker zugreifen?


Gesendet von iPad mit Tapatalk

Re: Nach Reboot kein MQTT mehr

Verfasst: 1. Aug 2020 10:12
von Blui
Ja, kann ich. Aber seltsamerweise bekomme ich dort von Octoprint diverse Topics geliefert, von den Schaltsteckdosen allerdings nichts in MQTT.fx.
Immerhin ein gutes Zeichen.

...

Ok, jetzt habe ich in der Lampe mal die MQTT-Daten eingetragen, jetzt funktioniert es wieder. :shock: :?

Das muss ich jetzt aber nicht verstehen, vorher ging es doch auch ohne Eintrag.

Das einzige was mich jetzt etwas stört ist das ich nach dem Einrichten der Things in der PaperUI jetzt immer nach der Meldung "Thing updatet" noch einen "Error:500 - Internal Server Error" bekomme.

Re: Nach Reboot kein MQTT mehr

Verfasst: 1. Aug 2020 16:52
von udo1toni
Da wird etwas in der jsondb korrupt sein. openHAB speichert alles, was über Paper U konfiguriert wird (also Things, Channel und Items betreffend) in einer jsondb.
Wenn Du tief in der Materie bist, kannst Du versuchen, den Fehler in der jsnodb zu finden und manuell zu beseitigen, aber das ist eine Operation am offenen Herzen! openHAB muss dazu beendet sein. Du solltest auf jeden Fall ein Tool benutzen, welches die Korrektheit des json Objekts prüfen kann (z.B. VSCode mit entsprechendem Plugin)
Alternativ (kommt ja auch drauf an, wie viel Du schon konfiguriert hast), kannst Du die jsondb killen und von vorn anfangen. Das ist übrigens einer der Gründe, warum erfahrene openHABler gerne zur Textkonfiguration greifen - da sind Fehler wesentlich leichter einzugrenzen und zu reparieren.

openHAB bietet auch einen Backup-Mechanismus der jsondb, die letzten (default ) 5 Versionen werden aufgehoben. Das Blöde ist, dass Du mit an Sicherheit grenzender Wahrscheinlichkeit schon beim Erstellen des Ausgangspostings alle diese Backups "verhunzt" hattest :) die Kopien nützen Dir also bei Deinem konkreten Problem nichts, wohl aber in zukünftigen Fällen. Wenn ein Problem auftritt, erstmal einen Schritt zurück machen und das letzte Backup zurückspielen (wie gesagt, das ist eine automatisches Backup, das hat nichts mit einem gewöhnlichen openHAB Backup zu tun).

Re: Nach Reboot kein MQTT mehr

Verfasst: 1. Aug 2020 18:31
von Blui
Das klingt interessant. Das heisst jedes mal wenn ich ein neues Thing anlege wird ein Backup der jsonDB erstellt oder wie muss ich mir das vorstellen?
Diverse CLI-Backups habe ich ja die letzten Tage gemacht, erstaunlicherweise ist das Backup von heute etwa 4 mal so groß wie das Backup von gestern.

Ich denke ich werde OpenHAB dann dochmal neu konfigurieren und dann nach Möglichkeit nur über Textdateien.
Allerdings verstehe ich da die Sache mit dem MQTT immer noch nicht so ganz. In der PaperUI ordnet man ja die Things der Bridge einzeln zu, bei einer Textdatei wird das eher für alle Things in einer Datei gemacht? Oder verstehe ich das falsch?

Re: Nach Reboot kein MQTT mehr

Verfasst: 1. Aug 2020 19:18
von udo1toni
Also, wie gesagt ist das backup der jsondb ein internes backup, welches Du im Normalfall nicht zu Gesicht bekommst. Wenn Du openHAB beendest, kannst Du die entsprechende Datei mit einem der Backups ersetzen.
Dein cli-Backup ist davon unabhängig, enthält aber meines Wissens auch die Backups, die openHAB intern gemacht hat.
wenn das Backup plötzlich stark anwächst, kann das daran liegen, dass Du aus Versehen ein Backup im Pfad liegen hast, das wird dann ebenfalls mit gesichert. Ansonsten kann es natürlich auch sein, dass Persistence Services stark gewachsen sind.