NEWS
Gelöschte Datenpunkte werden von Skript noch gefunden
-
Systemdata Bitte Ausfüllen Hardwaresystem: rPi4 Arbeitsspeicher: 8GB Festplattenart: SSD Betriebssystem: Raspberry Pi OS Node-Version: v18.16.0 Nodejs-Version: v18.16.0 NPM-Version: 9.5.1 Installationsart: Skript Image genutzt: Nein Ort/Name der Imagedatei: Link Ich habe im "0_userdata" einen eigenen Baum angelegt mit Unterverzeichnissen und Konfigurationen für einzelne Geräte für ein eigenes Script. Dort hatte ich neben reellen Geräten auch Testgeräte abgelegt. In einem Blockly arbeite ich diesen Baum durch und arbeite verschiedene Dinge ab. Dazu suche ich meinen Baum nach bestimmten Einträgen und packe diese in eine Liste.
Nun hatte ich die Einträge der Testgeräte gelöscht und mich nach Neustart des Blockly gewundert, dass ich Warnungen im Log bekomme. Nach genauem Hinsehen ist mir dann aufgefallen, dass die Einträge meiner Testgeräte obwohl sie nicht mehr da waren noch gefunden wurden. Ich habe dann ioBroker gestoppt und das System neu gestartet, danach waren die Warnings weg und die Einträge der Testgeräte wurden nicht mehr gefunden. Im Nachhinein hätte ich vielleicht erstmal die JS-Instanz Neustarten sollen und schauen, ob das schon geholfen hätte.Ich hoffe es ist verständlich, was ich genau meine. Ansonsten gerne nachfragen.
-
@cluni sagte: JS-Instanz Neustarten sollen und schauen, ob das schon geholfen hätte.
Das hätte geholfen.
-
Moin, ich habe das grade nochmal durchgespielt. Nachdem man die Javascript-Instanz neu gestartet hat, sind die Warnings weg. Hier mal die Scriptausgaben - sind leider nicht sehr vielsagend:
vor dem Entfernen des Unterbaums im Userbereich
ganzen Baum entfernen
Baum ohne Testgerät
Warnings bei Neustart des ScriptsWie gesagt, nach dem Neustart der JS-Instanz sind die Warnings weg.
Hoffe das hilft jetzt ein bisschen.
-
Moin.
Und ist das Verhalten nachvollziehbar? Oder ist das normal und aus irgendeinem Grund gewollt, dass das so ist?
Gruß, Bernd
-
@cluni sagte: Und ist das Verhalten nachvollziehbar?
Ja, denn gelöschte Datenpunkte können nicht mehr triggern, also auch nicht den Puffer (Objekte + Zustände) der JS-Instanz aktualisieren. Den Puffer kann man nach dem Löschen nur durch einen Neustart der Instanz auf Stand bringen.
-
Ok. Die Frage ist nun, ob dieser Trigger nicht bei der Löschung irgendwie intern ausgelöst werden könnte, damit sich der Puffer automatisch aktualisiert (also intern werden die betroffenen Instanzen nach einem Löschvorgang angewiesen, dass sie ihre Daten aktualisieren sollen).
Ich meine, es ist jetzt kein Beinbruch, wenn das so ist - die Instanz ist ja schnell neu gestartet. Aber ich bin natürlich erstmal von einem Problem in meinem Blockly ausgegangen und habe eine Zeit lang gesucht, weil mir die Warning nicht direkt nach dem Löschen der Struktur aufgefallen war.
Soll ich das jetzt hier mal so als Bug stehen lassen, oder ist die Behebung dieser Sache zu kompliziert und ich soll es lieber als "Erledigt" markieren?
-
@cluni sagte: ist die Behebung dieser Sache zu kompliziert
Das vermute ich.