NEWS
Kann im MQTT Objekte nicht löschen
-
@hanss Zur Ursache: Wenn man es schafft das verhalten zu reproduzieren dann könnte man das mit einem Debug log dann mal dokumentieren
-
@apollon77 Wenn man jetzt genau wüsste, welches die unerlaubten Zeichen sind, dann könnte man doch veranlassen, z.B. ein Gerät mit Tasmota ein Objekt damit zu erstellen.
Was müsste dann genau geloggt werden? Den MQTT-Adapter auf Debug stellen würde reichen? -
@capitaenz @apollon77
Ich meine, die Fehlervermeidung müsste weiter unten erfolgen, beim QOS, Prüfsumme, fehlerhafte MQTT Datenpakete erkennen usw..
Wenn MQTT mit fehlerhaften Datenpaketen weiter arbeitet, kann ja alles mögliche passieren, nicht nur diese unerwünschten Objekte.Was bisher aufgefallen ist:
Diese verstümmelten Objekte hatten immer eine Ähnlichkeit mit bestehenden Objekten.
Evtl. auch Störungen im WLAN oder js.controller (hohe Auslastung, Speicher Überlauf etc.) als Ursache -
@hanss Es klingt auf jeden Fall danach das irgendwie "garbage" über die Leitung kommt ...
Ich würde also erstmal hingehen und versuchen solche IDs zu erkennen und zu ignorieren und das zu loggen. Dann sehen wir ob plötzlich was anderes nicht tut
-
@apollon77
Das sehe ich genauso, denn was ich bisher darüber gelesen habe, wird reproduzieren wahrscheinlich nicht möglich sein.Ich habe gerade jetzt wieder einen Eintrag (in ein bestehendes MQTT Objekt) bemerkt, obwoh derim Client wurde ein Interrupt ausgelöst,
dafür zuständige Client nichts im Logbuch stehen hatte, daß er etwas weggeschrieben hätte.
Der Wert wurde wie üblich auch in der SQL Datenbank gespeichert und ist durchaus plausibel.
Dieses Mal ohne WiFi Störung, ohne JS Besonderheiten.
Eintrag war i.O. -
Naja am Ende müsste jemand der das Problem hat im texteditor mit so einem kaputten Objects File einfach mal schauen was das genau "Hex Code technisch" für ein zeichen ist
-
mach ich gerne, wenn das wieder einmal auftritt.
In welcher Datei stehen denn die Zeichen, die Dich interessieren? -
@hanss In dem File was Du bearbeitestn kannst um es zu fixen ...
-
@apollon77 Also die "states.json" und "objects.json"?
-
@capitaenz jupp
-
@apollon77 Da hatte ich ja bereits eine betroffene Stelle hochgeladen.
-
@capitaenz haste mal den Link wo genau? du es hochgeladen ist
-
-
@alle
Wenn ihr die Objekte bereinigen wollt: folgende Vorgehensweise hat sich bei mir bewährt- mqtt Adapter stoppen
- unter Objekte den ganzen mqtt Pfad als json herunterladen (Pfeil nach unten)
- unter Objekte den ganzen mqtt Pfad löschen
- https://jsonformatter.org/json-parser aufrufen, json hochladen und im Fenster rechts auf "Tree" umstellen.
- das kaputte Objekt wählen und auf "Remove"
- bereinigte json herunterladen und wieder unter Objekte mit dem Pfeil nach oben hochladen
- mqtt Adapter starten
-
@Glasfaser Ok,da oben ists \u0001\u0000
-
@Glasfaser said in Kann im MQTT Objekte nicht löschen:
bereits eine betroffene Stelle
Er meint im Beitrag 10 und 18
Ja genau
-
@watcherkb Hallo, ich habe Deinen Tipp mal ausprobiert (das json allerdings nicht hochgeladen, sondern mit notepad++ bearbeitet). Leider war nach dem Hochladen der bereinigten Datei und Start des Adapters der alte Zustand immer noch vorhanden. Dann habe ich es nochmals versucht, allerdings vor dem Hochladen (also Punkt 5) unter Objekte den ganzen mqtt Pfad gelöscht. Jetzt ist die Welt wieder in Ordnung, vielen Dank für den Tipp.
-
@diekra ah ja, den Punkt hatte ich vergessen. Ändere ich.
-
Also wer es nachstellen kann ... nehmt mal die GitHub version ... (Versionsnummer ist die gleiche). Passiert es da noch? Geht sonst noch alles? "Ungültige IDs" werden jetzt geloggt
-
Ich habe immer noch ein Objekt welches ich nicht weg bekomme.
Was kann ich noch machen?