Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Objectzustände "aus dem Jenseits" tauchen auf

    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

    Objectzustände "aus dem Jenseits" tauchen auf

    This topic has been deleted. Only users with topic management privileges can see it.
    • mickym
      mickym Most Active @WolfgangD last edited by

      @wolfgangd Na vielleicht hat jemand beim setzen im mqtt - die Werte mit dem retain flag gesetzt.

      WolfgangD 1 Reply Last reply Reply Quote 0
      • WolfgangD
        WolfgangD @mickym last edited by

        @mickym Das ist ein super-Tipp! Darauf bin ich nicht gekommen. Werde ich nachgehen. Danke

        mickym 1 Reply Last reply Reply Quote 0
        • mickym
          mickym Most Active @WolfgangD last edited by mickym

          @wolfgangd sagte in Objectzustände "aus dem Jenseits" tauchen auf:

          @mickym Das ist ein super-Tipp! Darauf bin ich nicht gekommen. Werde ich nachgehen. Danke

          Ja das Problem ist, dass der mqtt-Adapter generell mit retain Flags nicht umgehen kann.

          Ich hab mal ein kleines Video für Dich gemacht, um das zu demonstrieren:

          mqtt Retain Fehler mit Mqtt Adapter.mp4

          Um das Video etwas zu erläutern:

          Retained Nachrichten sind ja permanente Nachrichten, die bleiben erhalten und werden automatisch zur Initialisierung beim Verbindungsaufbau an den Client gesendet.

          Mit Node-Red kannst Du das gut nachvollziehen. Wenn ich den Flow neustarte, wird die Verbindung zum mqtt-Broker getrennt und neu aufgebaut. Bei mir ist der mqtt-Broker auch ein mosquitto.

          Nun die verschiedenen Szenarien in dem Video, um zu demonstrieren, was passt und was nicht. 😉 - Der mqtt-Adapter im iobroker selbst kennt gar kein Retain - Flag und geht auch damit nicht richtig um. 😉

          1. Szene:
            Ein Boolean "false" wird an das topic test/retain mit "Retain" Flag = "wahr" geschickt. Im Adapter wird der Wert aktualisiert, da mosquitto den Wert "false" schickt.
            Dann wird der Flow neu gestartet. (Neuaufbau zum mqtt-Broker)
            Wie erwartet wird der Wert "false" beim Wiederaufbau zur Initialisierung von mosquitto gesendet. Perfekt!!! Beim mqtt-Adapter merkt man nicht. 😞
          2. Szene
            Ein Boolean "true" wird an das topic test/retain mit "Retain" Flag = "false" geschickt. Im Adapter wird der Wert aktualisiert, da mosquitto den Wert "true" schickt.
            Dann wird der Flow neu gestartet. (Neuaufbau zum mqtt-Broker)
            Nun wird der Wert "false" beim Wiederaufbau zur Initialisierung von mosquitto gesendet. Der mqtt Adapter bekommt das aber gar nicht mit, weil er keine Retain Nachrichten verarbeitet.
            Nun haben wir den Fall, dass im Adapter ein völlig falscher Wert steht, als den der von mosquitto eigentlich gesendet wird (nämlich "false", im Adapter steht aber immer noch "true").
          3. Szene
            Die einzige Möglichkeit eine "retained" Nachricht zu löschen, ist eine leere Nachricht an das topic mit Retain Flag = true zu setzen. Im mqtt-Adapter erscheint (null). Nun kann man den Datenpunkt theoretisch löschen und sollte auch nicht mehr auftauchen.
            Wird der Flow neu gestartet. (Neuaufbau zum mqtt-Broker) ....
            wird von mosquitto auch wirklich nichts mehr gesendet.

          FAZIT: mosquitto sendet Dir Nachrichten, die der mqtt-Adapter leider gar nicht erfasst.

          WolfgangD 1 Reply Last reply Reply Quote 2
          • WolfgangD
            WolfgangD @mickym last edited by

            @mickym Vielen Dank für die ausführliche Darstellung. Problem gelöst!

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

              ... ich habe ein ähnliches (?) Problem ...

              In den MQTT-Objekten haben sich zwischenzeitlich sehr viele "Leichen" angesammelt. Diese konnte ich über den Papierkorb löschen. Sobald ich den Adapter aber neu starte sind alle wieder da ...

              Gibt es irgendwo einen Ordner o.ä. das man alles in "einem Rutsch" endgültig löschen kann ? Oder hilft es den Adapter komplett zu löschen ?

              mickym 1 Reply Last reply Reply Quote 0
              • mickym
                mickym Most Active @RaspiUser last edited by

                @raspiuser Na ja wenn Du ein Haufen retained Nachrichten in mosquitto geschickt hast und im Prinzip nicht mehr weißt welche, dann musst Du halt die mosquitto.db löschen. Über einen Adapter neustart sind sie ja nur da, wenn sie in deinem Broker noch vorhanden sind.

                RaspiUser 1 Reply Last reply Reply Quote 0
                • RaspiUser
                  RaspiUser @mickym last edited by

                  @mickym said in Objectzustände "aus dem Jenseits" tauchen auf:

                  die mosquitto.db löschen.

                  Kannst Du mir (als LINUX Anfänger) bitte erklären wie ich das sicher mache ?
                  Oder ist es sicherer den Adapter neu zu installieren ?

                  mickym 1 Reply Last reply Reply Quote 0
                  • mickym
                    mickym Most Active @RaspiUser last edited by mickym

                    @raspiuser Na wenn Du die Objekte aus dem Adapter löschst - dann kommen die doch wieder - da kannst Du den Adapter 10 mal löschen. Die Objekte sind doch in Deinem Broker. Zum einen musst Du halt mal schauen, warum Du die mit dem retained flag abgespeichert hast und woher das kommt. Ansonsten wenn es nicht zuviele sind musst Du halt an alle topics an die Du retained Nachrichten geschickt hast - wie unten beschrieben leere Nachrichten mit retained=true schicken.

                    Hast Du denn mosquitto als Broker laufen?

                    RaspiUser 1 Reply Last reply Reply Quote 0
                    • RaspiUser
                      RaspiUser @mickym last edited by

                      @mickym said in Objectzustände "aus dem Jenseits" tauchen auf:

                      Hast Du denn mosquitto als Broker laufen?

                      ... so siehts aus ...
                      fef6bba9-770f-419e-9621-0bc443b1e7ff-grafik.png

                      OK ... Adapter löschen bringt nix (Ich war der naiven Meinung, dass dann auch diese mosquitto.db weg ist).
                      Und die mosquitto.db löschen muss ich dann wohl unter PuTTY, richtig ? Eine kurze Anleitung wäre hilfreich ... (und alle Topic einzeln anzugehen macht keinen Sinn, einige Geräte davon gibts nicht mehr)...

                      mickym 1 Reply Last reply Reply Quote 0
                      • mickym
                        mickym Most Active @RaspiUser last edited by mickym

                        @raspiuser Wie gesagt in Zukunft halt aufpassen, dass Du keine retained topics mehr setzt, wenn du es nicht brauchst. Ja Du musst auf die Kommandozeile. Ob mit putty -ich nehme meist eine ssh aus meinem Windowseingabefenster. 😉 Putty braucht man heutzutage eigentlich nimmer.

                        dann

                        cd /var/lib/mosquitto
                        

                        mosquitto stoppen

                        sudo systemctl stop mosquitto
                        

                        mosquitto db löschen

                        sudo rm mosquitto.db
                        

                        mosquitto neu starten (leere db wird angelegt)

                        sudo systemctl start mosquitto
                        
                        1 Reply Last reply Reply Quote 2
                        • RaspiUser
                          RaspiUser last edited by

                          @mickym said in Objectzustände "aus dem Jenseits" tauchen auf:

                          Putty braucht man heutzutage eigentlich nimmer.

                          ... ich schon ...

                          Vielen Dank für die Kurzanleitung !! Hat alles funktioniert !!
                          Diese Info hebe ich mir auf (um sie dann bei Bedarf auch wieder zu finden)

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

                          Support us

                          ioBroker
                          Community Adapters
                          Donate
                          FAQ Cloud / IOT
                          HowTo: Node.js-Update
                          HowTo: Backup/Restore
                          Downloads
                          BLOG

                          706
                          Online

                          31.9k
                          Users

                          80.1k
                          Topics

                          1.3m
                          Posts

                          3
                          12
                          888
                          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