Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Error/Bug
    4. Kann im MQTT Objekte nicht löschen

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Kann im MQTT Objekte nicht löschen

    This topic has been deleted. Only users with topic management privileges can see it.
    • hanss
      hanss @capitaenz last edited by hanss

      @capitaenz
      Da bist Du zu beneiden.
      Hier ist mqtt Vers. 2.1.3 und JS Vers. 4.6.4 installiert,
      aber die defekten Einträge sind immer noch da und können nicht gelöscht werden.

      capitaenz 1 Reply Last reply Reply Quote 0
      • capitaenz
        capitaenz @hanss last edited by capitaenz

        @hanss Es ist nur eine Frage der Zeit, bis mich dieses Problem wieder erwischt! Ich würde auch gerne ein Ticket dazu aufmachen, weiß allerdings nicht wo... MQTT-Adapter, JS-Controller, …
        Update:
        Der Eintrag ist wieder da 👎

        1 Reply Last reply Reply Quote 0
        • Moppedman
          Moppedman last edited by

          Hallo. Bin neu im Forum bzw. mit ioBroker aktiv.

          Habe jetzt schon einiges laufen und wolle bevor ich weitermache diversen Müll aus meiner Testphase löschen. Ich habe mehrere Wemos D1 Mini eingebunden welche ich mit ESPEasy geflasht habe. Später habe ich dann SYSNAME, TSKNAME und NAME umbenannt oder die ge-publishted Topics geändert. Im MQTT habe ich nun den Datenmüll der alten Bezeichnungen. Da ich automatisch die Datenobjekte anlege konnte ich den kompletten MQTT Ordner löschen. Beim Neustart des Adpters ist aber wieder alles da. Finde die Einträge in "states.json" und "objects.json" aber wenn ich das hier lese ist mir das zu heiss das von Hand zu löschen. Habt ihr ne idee was ich noch machen könnte?

          1 Reply Last reply Reply Quote 0
          • capitaenz
            capitaenz last edited by capitaenz

            @Moppedman

            Bislang fehlte mir der Antrieb um gewissenhaft folgendes auszuprobieren:

            @capitaenz said in Kann im MQTT Objekte nicht löschen:

            @arteck

            Danke für den Hinweis.
            Die einzelnen Objekte werden offensichtlich immer mit einem

            }},
            

            geschlossen, sehe ich das richtig?
            Also lösche ich folgendes?

            "mqtt.0.Tasmota\u0001\u0000_.Tasmota_RGBW_Controller_Wohnzim":{"common":{"name":"/Tasmota/Tasmota_RGBW_Controller_Wohnzim","write":true,"read":true,"role":"variable","desc":"mqtt server variable","type":"string"},"native":{"topic":"/Tasmota\u0001\u0000*/Tasmota_RGBW_Controller_Wohnzim"},"type":"state","from":"system.adapter.mqtt.0","user":"system.user.admin","ts":1586980682159,"_id":"mqtt.0.Tasmota\u0001\u0000_.Tasmota_RGBW_Controller_Wohnzim","acl":{"object":1636,"state":1636,"owner":"system.user.admin","ownerGroup":"system.group.administrator"}},
            

            Hier die Einträge davor und dahinter:

            _per_Telegram"},"type":"state","from":"system.adapter.javascript.0","user":"system.user.admin","ts":1586863470377,"acl":{"object":1636,"state":1636,"owner":"system.user.admin","ownerGroup":"system.group.administrator"}},"mqtt.0.Tasmota\u0001\u0000_.Tasmota_RGBW_Controller_Wohnzim":{"common":{"name":"/Tasmota/Tasmota_RGBW_Controller_Wohnzim","write":true,"read":true,"role":"variable","desc":"mqtt server variable","type":"string"},"native":{"topic":"/Tasmota\u0001\u0000*/Tasmota_RGBW_Controller_Wohnzim"},"type":"state","from":"system.adapter.mqtt.0","user":"system.user.admin","ts":1586980682159,"_id":"mqtt.0.Tasmota\u0001\u0000_.Tasmota_RGBW_Controller_Wohnzim","acl":{"object":1636,"state":1636,"owner":"system.user.admin","ownerGroup":"system.group.administrator"}},"hm-rpc.0.LEQ062
            

            Ist es geplant diesen Fehler in Zukunft zu beseitigen und ist dieser bekannt?
            Danke und VG
            Leif

            Bei dir wird es eine ähnliche Struktur haben.

            Ich müsste dann, wenn ich es richtig verstanden habe, folgendes entfernen:

            mqtt.JPG

            Ich würde ein Backup anlegen, den ioBroker stoppen und die Einträge aus "states.json" und "objects.json" entfernen.
            Nur lohnt die Arbeit? Vor dem Problem wird man ja öfter stehen und dann immer so umständlich vorgehen?
            Ich bin mir halt nicht sicher wo man jetzt ein Ticket eröffnen muss, beim Entwickler des MQTT-Adapters, des JS-Controllers, …

            VG
            Leif

            Moppedman 1 Reply Last reply Reply Quote 0
            • Moppedman
              Moppedman @capitaenz last edited by

              @capitaenz

              Danke erst mal für die schnelle erste Antwort. Habe ich nicht mit gerechnet. Habe mir nun eine Sicherung erstellt und zusätzlich auch ein Image der SD Karte gemacht.

              Bevor ich jetzt anfange zwei Verständisfragen.

              c827905b-dcbe-4bab-a504-85b1a07df0e5-grafik.png

              Es gibt je eine "states.json.bak" bzw. "objects.jason.bak" in "iobroker-data" was meine Erachtens Sicherungsdateien sein sollten UND noch einen Unterordner "backup-objects" unter "iobroker-data" in dem noch weitere Kopien liegen. Kannst du mir erklären wie das ioBroker verwendet? Weist du aus welcher Datei er beim Start von mqtt seine objekte zieht? Habe Sorge das er ggf. die bak verwendet und von dort automatisch zurückspielt und die Arbeit umsonst wäre

              Und die Zweite Frage

              5b6ec0fa-b26a-4b19-832c-81ff1a47dab6-grafik.png

              Ich habe kein zwei }} Klammer die einen Datensatz beenden. Würdest du zustimmen das der markierte Bereich einen Datensatz darstellt. Ich würde dann

              1. mqtt im iobroker anhalten
              2. Alle objekte im mqtt adapter löschen
              3. iobroker in der shell stoppen
              4. Datensatz in "objects.json" und parallel in "states.json" löschen
              5. iobroker rebooten
              6. schauen ob die datensätzen nun endlich weg sind.

              Gruß Ralf

              capitaenz Moppedman 2 Replies Last reply Reply Quote 0
              • capitaenz
                capitaenz @Moppedman last edited by capitaenz

                @Moppedman
                Ich bin (auch nur) interessierter Anwender und kann leider keine weiteren technischen Infos liefern.
                Aber ich würde auch annehmen, dass der von dir markierte Bereich gelöscht werden muss.
                Schalte dich doch mit z.B. WinSCP drauf und lade dir die editierte Datei herunter, dann war die Arbeit nicht umsonst, wenn diese wiederhergestellt werden sollte.
                Und denk dran, Backup, Backup, Backup!

                1 Reply Last reply Reply Quote 0
                • Moppedman
                  Moppedman @Moppedman last edited by Moppedman

                  @arteck

                  Darf ich dich mal bitten einen Blick auf meinen Fall zu werfen. Wie oben geschrieben habe ich durch mein Ausprobieren mit ESPEasy / Wemos D1 mini 8266 diverse Objekte als Restmüll in den MQTT Objekten stehen. Ich habe die beim Testen umbenannt und/oder die Daten die vom 8266 gepublished werden, geändert. Bei jeder Namesänderung z.B. wurde unter dem neuen Namen ein neues Objekt angelegt und nicht das alte Objekt überschrieben. Löschen hilft nicht, sie kommen wieder. Schaue ich in "states.json" und "objects.json" finde ich darin die alten und neuen Bezeichnungen. Gemeinsam haben die verschiedenen Namen die fest zugewiesene IP-Adresse vom Router.

                  Ich habe heute nun mal einen Sensor in beiden Dateien gelöscht der aber nach Starten des MQTT adapters wieder da war. Daher die Frage wie ioBroker mit den angelegten Datensicherungen "states.json.bak" und "objects.json.bak" umgeht. Bzw was ist mit den anderen Sicherungen in dem Ordner "/opt/iobroker/backup-objects". Welche Datei benutzt das System beim Start?

                  Ich habe folgendes gemacht.

                  1. mqtt im iobroker angehalten
                  2. Alle objekte im mqtt adapter gelöscht
                  3. iobroker in der shell gestoppt
                  4. Datensatz in "objects.json" und parallel in "states.json" gelöscht
                  5. iobroker reboot

                  Wie wäre die richtige Reihenfolge bzw. was fehlt das ich die Einträge endgültig gelöscht kriege.

                  Gruß und Dank

                  1 Reply Last reply Reply Quote 0
                  • apollon77
                    apollon77 last edited by

                    DIe die diese Namensprobleme haben ... welche js.controller version ist im Einsatz?

                    capitaenz 1 Reply Last reply Reply Quote 1
                    • capitaenz
                      capitaenz @apollon77 last edited by

                      @apollon77
                      Nutze Version 3.1.6

                      VG
                      Leif

                      1 Reply Last reply Reply Quote 0
                      • apollon77
                        apollon77 last edited by

                        Ahhh ok, habs verstanden

                        capitaenz 1 Reply Last reply Reply Quote 1
                        • capitaenz
                          capitaenz @apollon77 last edited by

                          @apollon77 Also den Fehler gefunden? Das würde mich echt freuen! 😀
                          Und übrigens: Danke, dass du dich dem Problem annimmst!

                          apollon77 1 Reply Last reply Reply Quote 0
                          • apollon77
                            apollon77 @capitaenz last edited by

                            @capitaenz Ne so wirklich gefunden wäre übertrieben ... aber am Ende ist klar was man ändern muss ... unerlaubte Zeichen müssen au den IDs raus ...

                            hanss 1 Reply Last reply Reply Quote 0
                            • hanss
                              hanss @apollon77 last edited by

                              @apollon77
                              vielen Dank.
                              Ideal wäre natürlich, wenn solche unerwünschten Einträge erst gar nicht entstehen würden,
                              aber diese Ursache zu finden ist natürlich sehr schwierig.

                              apollon77 1 Reply Last reply Reply Quote 0
                              • apollon77
                                apollon77 @hanss last edited by

                                @hanss Zur Ursache: Wenn man es schafft das verhalten zu reproduzieren dann könnte man das mit einem Debug log dann mal dokumentieren

                                capitaenz 1 Reply Last reply Reply Quote 0
                                • capitaenz
                                  capitaenz @apollon77 last edited by

                                  @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?

                                  hanss 1 Reply Last reply Reply Quote 0
                                  • hanss
                                    hanss @capitaenz last edited by hanss

                                    @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

                                    apollon77 1 Reply Last reply Reply Quote 0
                                    • apollon77
                                      apollon77 @hanss last edited by

                                      @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

                                      hanss 1 Reply Last reply Reply Quote 0
                                      • hanss
                                        hanss @apollon77 last edited by hanss

                                        @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 der
                                        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.
                                        im Client wurde ein Interrupt ausgelöst,
                                        Eintrag war i.O.

                                        1 Reply Last reply Reply Quote 0
                                        • apollon77
                                          apollon77 last edited by

                                          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 🙂

                                          1 Reply Last reply Reply Quote 0
                                          • hanss
                                            hanss last edited by

                                            mach ich gerne, wenn das wieder einmal auftritt.
                                            In welcher Datei stehen denn die Zeichen, die Dich interessieren?

                                            apollon77 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            923
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

                                            mqtt error
                                            16
                                            80
                                            7969
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo