ioBroker / ioBroker.mqtt

Mqtt server and client for ioBroker.
MIT License
54 stars 29 forks source link

Seit ein paar Tagen keine Daten lesen #431

Closed ltspicer closed 7 months ago

ltspicer commented 7 months ago

Hallo Seit Freitag kann ich keine Daten mehr von extern vom MQTT Server lesen. Wenn ich zBsp von einem externen Raspberry in einem Bash-Script abfrage: mosquitto_sub -u user -P passwort -h _IPioBroker -t /Aussenfuehler/Wind/Wind bleibt das Script da stehn. Im Log des ioBrokers erscheint: mqtt.1 2024-02-19 19:08:48.951 info Client [mosqsub|27122-Dachrollo] subscribes on "mqtt.1.Aussenfuehler.Wind.Wind" mqtt.1 2024-02-19 19:08:48.943 info Client [mosqsub|27122-Dachrollo] connected with secret 1708366128941_1972 Die Anfrage kommt also an. Nur werden keinerlei Daten versendet. Vorher lief das jahrelang stabil. Habe zum testen mosquitto_sub auch auf anderen Computern ausgeführt. Überall das gleiche Resultat. Was könnte das Problem sein?

PS: Seit folgendem Output im syslog, funktioniert das genannte nicht mehr.

Feb 16 20:24:11 raspberrypi bash[549]: The pattern "mqtt.1.0#036
Feb 16 20:24:11 raspberrypi bash[549]: #030.*" is not a valid ID pattern
Feb 16 20:24:11 raspberrypi bash[549]: Error: The pattern "mqtt.1.0#036
Feb 16 20:24:11 raspberrypi bash[549]: #030.*" is not a valid ID pattern
Feb 16 20:24:11 raspberrypi bash[549]:     at Object.pattern2RegEx (/opt/iobroker/node_modules/@iobroker/js-controller-common/src/lib/common/tools.ts:2470:15)
Feb 16 20:24:11 raspberrypi bash[549]:     at ObjectsInMemoryServer._getKeys (/opt/iobroker/node_modules/@iobroker/db-objects-file/src/lib/objects/objectsInMemFileDB.js:850:36)
Feb 16 20:24:11 raspberrypi bash[549]:     at ObjectsInMemoryServer._handleScanOrKeys (/opt/iobroker/node_modules/@iobroker/db-objects-jsonl/src/lib/objects/objectsInMemServerRedis.js:904:29)
Feb 16 20:24:11 raspberrypi bash[549]:     at RedisHandler.<anonymous> (/opt/iobroker/node_modules/@iobroker/db-objects-jsonl/src/lib/objects/objectsInMemServerRedis.js:733:25)
Feb 16 20:24:11 raspberrypi bash[549]:     at RedisHandler.emit (node:events:517:28)
Feb 16 20:24:11 raspberrypi bash[549]:     at RedisHandler.emit (node:domain:489:12)
Feb 16 20:24:11 raspberrypi bash[549]:     at Immediate.<anonymous> (/opt/iobroker/node_modules/@iobroker/db-base/src/lib/redisHandler.ts:209:37)
Feb 16 20:24:11 raspberrypi bash[549]:     at processImmediate (node:internal/timers:476:21)
Feb 16 20:24:11 raspberrypi bash[549]: Error: The pattern "mqtt.1.0#036
Feb 16 20:24:11 raspberrypi bash[549]: #030.*" is not a valid ID pattern
Feb 16 20:24:11 raspberrypi bash[549]:     at Object.pattern2RegEx (/opt/iobroker/node_modules/@iobroker/js-controller-common/src/lib/common/tools.ts:2470:15)
Feb 16 20:24:11 raspberrypi bash[549]:     at ObjectsInMemoryServer._getKeys (/opt/iobroker/node_modules/@iobroker/db-objects-file/src/lib/objects/objectsInMemFileDB.js:850:36)
Feb 16 20:24:11 raspberrypi bash[549]:     at ObjectsInMemoryServer._handleScanOrKeys (/opt/iobroker/node_modules/@iobroker/db-objects-jsonl/src/lib/objects/objectsInMemServerRedis.js:904:29)
Feb 16 20:24:11 raspberrypi bash[549]:     at RedisHandler.<anonymous> (/opt/iobroker/node_modules/@iobroker/db-objects-jsonl/src/lib/objects/objectsInMemServerRedis.js:733:25)
Feb 16 20:24:11 raspberrypi bash[549]:     at RedisHandler.emit (node:events:517:28)
Feb 16 20:24:11 raspberrypi bash[549]:     at RedisHandler.emit (node:domain:489:12)
Feb 16 20:24:11 raspberrypi bash[549]:     at Immediate.<anonymous> (/opt/iobroker/node_modules/@iobroker/db-base/src/lib/redisHandler.ts:209:37)
Feb 16 20:24:11 raspberrypi bash[549]:     at processImmediate (node:internal/timers:476:21)
Feb 16 20:24:14 raspberrypi systemd[1]: iobroker.service: Main process exited, code=exited, status=1/FAILURE
Feb 16 20:24:20 raspberrypi systemd[1]: iobroker.service: Failed with result 'exit-code'.
Apollon77 commented 7 months ago

Was hast Du denn am Freitag getan? Irgendwelche Updates?

ltspicer commented 7 months ago

Wenn ich das noch wüsste. Einzig, ich habe einen weiteren client (Datensender) hinzugefügt.

ltspicer commented 7 months ago

Ich habe nun einen mqtt Server auf dem Desktop installiert. Das externe RPI empfängt die Daten vom Desktop. Also muss irgendwas mit dem ioBroker Adapter nicht stimmen. Verliere ich die Konfiguration, wenn ich den Adapter deinstalliere und wieder installiere?

Apollon77 commented 7 months ago

Hm ok Ich sehe jett erst oben das Log ... wo kommt denn die Konfig her? mqtt.1.0#036 ?? Ich denke das # darf da nicht sein! ALso Adapterkonfig prüfen und fixen. Wenne s einfach so passiert ist ..... Raspi? SD Karte? Dann mal Filesystem prüfen und schnell backup machen ... sieht dann nach einem Filesystemfehler aus

ltspicer commented 7 months ago

Gibt es ausser unter "Instanzeinstellungen" sonst noch ein config File? Und: Verliere ich die Konfiguration, wenn ich den Adapter deinstalliere und wieder installiere?

Apollon77 commented 7 months ago

Oohh ... ok jetzt sehe ich es ... ich fürchte Dir hat es die Objects-DB zerbröselt und dort ist ein objekt falsch genamt ... das in der Fehlermeldung genannte

mqtt.1.0#036

Am einfachsten iobroker runterfahren. Objects backup aus /opt/iobroker/iobroker-data/object-backups/ suchen was vot dem zeitpunkt war wo es kaputt ging und das entpacken und damit neu starten. Aber wie gesagt am betsten neue SD karte oder so.

Es ist nicht der Adapter, also deinstallieren von dem bringt dir voraussichtlich nichts, weil es ggf beim löschen auch probleme gibt

mehr support für diese Nummer am besten über das Forum!

ltspicer commented 7 months ago

Hmm, habe nur noch Backups bis zum 19.2. zurück :( Habe aber noch ein SSD Image vom 25.12.23. Werde die objects da versuchen zu extrahieren.

ltspicer commented 7 months ago

Problem gelöst :D Habe den mqtt Adapter gelöscht und als gleiche Instanz (1) wieder installiert. Nun funzt es wieder. Leider muss ich jetzt alle mqtt Objekte wieder zu history hinzufügen.