NEWS
Altes Mqtt Kommando finden/löschen?
-
Hi
sensibilisiert durch unerklärliches Verhalten von Tasmota Geräten auf für sie unbestimmte Mqtt Kommandos, habe ich mir mal wieder den Tasmota Log angesehen und mir ist dort ein Kommando aufgefallen, dass ich mal über einen Zeitrigger (alle 20 Sekunden) ausgetüftelt habe.
Aktuell sollte dieses Testblockly aber gelöscht sein. Also bin ich auf die Suche gegangen.
Alle in Frage kommenden Blockly-Skripte auf Stop gesetzt und den Mqtt Adapter auf Debug-Log.
Dennoch gehen da weiterhin alle 20 Sekunden die Kommandos raus:2024-12-01 13:19:00.052 - debug: mqtt.0 (70551) Sending message from server to clients via topic command/F0F5BD731123/fan: A ...
Danach die Blocklys durchsucht und hier ist Flaute:
Alle Mqtt Adapter und den IOBroker neu gestartet aber es werden weiterhin alle 20 Sekunden diese Kommandos abgesetzt und ich kann mir nicht erklären wo die her kommen.
Ich befürchte irgendwo hängt da der "Altcode" im System aber würde gerne weiter analysieren um es zu fixen, aber wie?
In einem weiteren Mqtt Client (Mqtt Explorer) nachgesehen, sehe ich ebenso die Kommandos alle 20 Sekunden. Ist also keine Tasmota-Ente was ja auch der Debug-Log des Mqtt Adapters bestätigt.
Habt ihr eine Idee wie ich der "Quelle" und einem Fix auf die Spur komme?
-
@dieter_p sagte: hier ist Flaute:
Nimm den Filter raus.
@dieter_p sagte in Altes Mqtt Kommando finden/löschen?:
Idee wie ich der "Quelle" und einem Fix auf die Spur komme?
Mit einem Dubug-Log auf den betreffenden Datenpunkt.
-
Danke. Sorry verstehe nicht auf welchen Datenpunkt / Object ID ich triggern soll/kann.
Die nicht mehr existierende Quelle dürfte mal so ausgesehen haben:
-
@dieter_p sagte: auf welchen Datenpunkt / Object ID ich triggern soll/kann.
Der MQTT-Datenpunkt mit dem Topic "command/F0F5BD731123/fan"?
-
@paul53 said in Altes Mqtt Kommando finden/löschen?:
@dieter_p sagte: auf welchen Datenpunkt / Object ID ich triggern soll/kann.
Der MQTT-Datenpunkt mit dem Topic "command/F0F5BD731123/fan"?
Den gibt es nicht.
-
Bringt es etwas den MQTT Adapter komplett zu deinstallieren und wieder neu zu installieren? Hoffe das bringt nicht alle blocklys durcheinander wo eine Instanz davon genutzt wird.
-
@dieter_p Ich habe hier von Cron Jobs gelesen, die beim Beenden eines Scripts weitergelaufen sind.
Man kann sich die noch laufenden cron Jobs auflisten lassenlog('schedules', 'info'); const list = getSchedules(true); list.forEach(schedule => log(JSON.stringify(schedule)), 'info');
Die Schedules haben recht gut zurückverfolgbare Bezeichnungen ...
javascript.0 09:48:58.762 info script.js.Spielwiese.TestJs: schedules javascript.0 09:48:58.764 info script.js.Spielwiese.TestJs: {"type":"cron","pattern":"30 3-7 * * 1-5","scriptName":"script.js.Solltemperatur_Arbeitszimmer","id":"cron_1732815583959_9827"} javascript.0 09:48:58.764 info script.js.Spielwiese.TestJs: {"type":"cron","pattern":"45 8 * * 0,6","scriptName":"script.js.Solltemperatur_Arbeitszimmer","id":"cron_1732815584016_88303"} javascript.0 09:48:58.764 info script.js.Spielwiese.TestJs: {"type":"cron","pattern":"55 17 * * *","scriptName":"script.js.Solltemperatur_Arbeitszimmer","id":"cron_1732815584061_62373"} javascript.0 09:48:58.765 info script.js.Spielwiese.TestJs: {"type":"cron","pattern":"0 */1 * * *","scriptName":"script.js.Energiezaehler.Gaszaehler","id":"cron_1732815584144_21504"} javascript.0 09:48:58.765 info script.js.Spielwiese.TestJs: {"type":"cron","pattern":"* * * * *","scriptName":"script.js.Fritzbox.DOCSISV01","id":"cron_1732815585730_7937"} javascript.0 09:48:58.765 info script.js.Spielwiese.TestJs: {"type":"cron","pattern":"0 23 * * *","scriptName":"script.js.Alarme.Schlafzimmer.Luftfeuchte","id":"cron_1732815586660_18288"} javascript.0 09:48:58.765 info script.js.Spielwiese.TestJs: {"type":"cron","pattern":"0 10 * * *","scriptName":"script.js.Alarme.Schlafzimmer.Luftfeuchte","id":"cron_1732815586717_99540"} javascript.0 09:4
-
@martinp said in Altes Mqtt Kommando finden/löschen?:
@dieter_p Ich habe hier von Cron Jobs gelesen, die beim Beenden eines Scripts weitergelaufen sind.
Man kann sich die noch laufenden cron Jobs auflisten lassenDanke, wo machst Du das?
-
@dieter_p Im Javascript-Adapter habe ich ein "Test-Script", wo ich gelegentlich Sachen ausprobiere ... da kommt auch der Code-Ausschnitt und der Log-Schnipsel her
Das DOCSISV01 Script aus obigem Logging schaut sich beim Start auch nach laufenden schedules um
-
Danke. Leider nein.
Hatte das wieder angelegte Testblockly zur Veranschaulichung oben (https://forum.iobroker.net/topic/78408/altes-mqtt-kommando-finden-löschen/3?_=1733141285359) noch nicht wieder gelöscht und das zeigt er u.a. sehr korrekt an.
Nun hab ich es wieder gelöscht und Dein Vorschlag-Skript gibt mir leider nichts Passendes zum 20 Sekunden Zyklus aus.
Das störende/unaufindbare Kommando läuft aber weiterhin über Mqtt.
-
@dieter_p sagte: unaufindbare Kommando läuft aber weiterhin über Mqtt.
Es könnte auch über ein Intervall ausgelöst werden. Das Intervall sollte aber spätestens bei Neustart von ioBroker gelöscht werden, wenn das zugehörige Skript nicht mehr existiert.
-
@paul53 said in Altes Mqtt Kommando finden/löschen?:
Das Intervall sollte aber spätestens bei Neustart von ioBroker gelöscht werden, wenn das zugehörige Skript nicht mehr existiert.
Danke. Auch wenn ich gestern zu 100% sicher bin es getan zu haben. Nun nach dem kompletten Neustart ist Ruhe!
Edit: Weiterer Fehler hatte andere Ursache