In den Logs war nichts Ungewöhnliches. Bis die Szene nicht funktionierte, weil der MQTT-Broker getrennt war.
2025-02-15T18:24:49+0100 <warn> scene.executeActions.js:37 (executeAction) ServiceNotConfiguredError: MQTT ist nicht konfiguriert.
at ZwaveJSUIHandler.publish (/src/server/services/zwavejs-ui/lib/zwaveJSUI.publish.js:12:11)
at ZwaveJSUIHandler.setValue (/src/server/services/zwavejs-ui/lib/zwaveJSUI.setValue.js:97:10)
at DeviceManager.setValue (/src/server/lib/device/device.setValue.js:21:24)
at Object.device.set-value (/src/server/lib/scene/scene.actions.js:66:24)
at executeAction (/src/server/lib/scene/scene.executeActions.js:32:35)
at /src/server/lib/scene/scene.executeActions.js:66:13
at tryCatcher (/src/server/node_modules/bluebird/js/release/util.js:16:23)
at MappingPromiseArray._promiseFulfilled (/src/server/node_modules/bluebird/js/release/map.js:68:38)
at MappingPromiseArray.PromiseArray._iterate (/src/server/node_modules/bluebird/js/release/promise_array.js:115:31)
at MappingPromiseArray.init (/src/server/node_modules/bluebird/js/release/promise_array.js:79:10)
at MappingPromiseArray._asyncInit (/src/server/node_modules/bluebird/js/release/map.js:37:10)
at _drainQueueStep (/src/server/node_modules/bluebird/js/release/async.js:97:12)
at _drainQueue (/src/server/node_modules/bluebird/js/release/async.js:86:9)
at Async._drainQueues (/src/server/node_modules/bluebird/js/release/async.js:102:5)
at Immediate.Async.drainQueues (/src/server/node_modules/bluebird/js/release/async.js:15:14)
at processImmediate (node:internal/timers:476:21)
Nach dem Speichern der Konfiguration ist alles in Ordnung.
Ich habe meinen MQTT-Container überprüft und er hatte sich 16 Stunden zuvor aktualisiert.
Ich habe versucht, den Container manuell zu stoppen, und das Phänomen trat auf. Wenn Gladys die Verbindung aufgrund eines Container-Stopps oder eines Updates verliert, verbindet sich Gladys nicht automatisch neu.
Ich hatte nicht bemerkt, dass ich die Version „latest“ verwendet hatte. Ich werde dies sperren, damit es keine automatischen Updates für diesen Container gibt.
Puh, und naja, ich bin nicht der Einzige.
Mein externer Docker MQTT hat sich gestern Abend bei mir aktualisiert (von 2.0.20 auf 2.0.20) und die Verbindung ist nicht von alleine wiederhergestellt worden.
Aber eigentlich ist das ein anderes Problem, das aufgetreten ist, denn ich habe auch zwaveJS, das nicht neu gestartet ist, und das ist mir heute Abend aufgefallen.
Um alles wieder zum Laufen zu bringen, musste ich in die MQTT-Integrationskonfiguration gehen und speichern, dann in die zwaveJS-Konfiguration und ebenfalls speichern.
Ich möchte betonen, dass mein HA und Jeedom keine Probleme hatten und weiterhin brav Daten an MQTT senden.
Ein weiterer Punkt: Ich habe ein MQTT-Gerät, um Informationen zu erhalten, die von Jeedom gesendet werden (hauptsächlich Téléinfo) und Funktionen, die benutzerdefinierte Topics abhören. Und leider wurden keine Daten der benutzerdefinierten Topics zurückgesendet.
Ich musste einen Wert in einer der Funktionen ändern und speichern, damit alles wieder normal läuft.
Ich stehe zur Verfügung, falls ihr tiefer graben und den Kram debuggen müsst, ich brauche nur eine Anleitung, welche Informationen ich beschaffen soll.
Ich habe die Version 2.0.20 blockiert, aber es ist bereits die dritte Aktualisierung, die auf dieser Version läuft, also bin ich mir nicht sicher, ob das die Lösung ist…
Könnt ihr den Fehler bei Z-WaveJS manuell reproduzieren? Wenn du den Mosquitto-Container neu startest, tritt dann die Trennung auf oder passiert das nur bei einem Update?
Ich würde mich freuen, wenn du ein spezifisches Thema eröffnest, damit wir uns nicht verheddern, es ist hier schon ein kompliziertes Thema
Ja, ich kann es reproduzieren, wenn ich den Container manuell mit dem Befehl docker stop ... stoppe und ihn dann mit dem Befehl docker start ... starte.
Ich glaube, ich sehe, was passiert, @Terdious hatte das bereits bemerkt, aber es gab einfach Code in der aktuellen Implementierung, der Gladys bei einem Verbindungsabbruch abgemeldet hat…
Ich habe diesen gesamten Teil entfernt und die Gelegenheit genutzt, um auf MQTT.js 5 zu migrieren, das vollständig in TypeScript neu geschrieben und normalerweise stabiler ist.
Ich habe Tests durchgeführt, und es funktioniert viel besser!