Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. MQTT-Adapter Cache löschen (manuell angelegt Datenpunkte)

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    MQTT-Adapter Cache löschen (manuell angelegt Datenpunkte)

    This topic has been deleted. Only users with topic management privileges can see it.
    • S
      Sammy R. @BananaJoe last edited by Sammy R.

      @bananajoe
      Korrekt, den 2. Adapter starte ich nur, wenn ich die Datenpunkte anlegen möchte. Im Prinzip simuliere ich damit einen vorhandenen Datenpunkt den sich der 1. Adapter merkt (wenn ich mich recht erinnere, dann war das damals meine Idee).
      Und ja, die Datenpunkte lege ich via SendTo an.

      Dann sehe ich mal, ob ich den Adapter wechsle oder einfach mal beide bei mir entferne und neu mache.
      Thx!

      EDIT:
      Oh Mann, ich glaube, ich Idiot habe einfach nur vergessen, den Adapter zu stoppen. Ich bin zwar sicher, dass ich das gemacht hatte, aber jetzt sieht das besser aus.
      Sorry, ich war anscheinend einfach nur zu blöd!!

      1 Reply Last reply Reply Quote 0
      • S
        Sammy R. @mickym last edited by

        @mickym
        So genau hab ich mich gar nicht in das Verhalten der Broker eingearbeitet - oder ich habe alles wieder vergessen 😉
        Ich hatte vom Protokoll gelesen und mir die cmnd-Lösung überlegt und war dann mächtig stolz.
        Was ich nicht ganz verstehe ist, dass Du sagst, dass ein Client die topics normal automatisch löscht, wenn ich das richtig verstehe, dann ist da das Verhalten beim Adapter aber anders, weil er halt kein echter Broker ist.

        Wie oben schon erwähnt werde ich dann vielleicht mal die Instanzen neu machen. Eine einfache Lösung gibt es ja scheinbar nicht, wirklich stören tut das aber ja auch nicht.
        Mich würde auch interessieren, was genau dazu führt, dass die wieder angelegt werden, ist das wirklich der Neustart des Adapters. Wenn ich den Lösche, dann sollten ja auch alle seine Datenpunkte weg sein.

        danke!

        mickym 2 Replies Last reply Reply Quote 0
        • mickym
          mickym Most Active @Sammy R. last edited by

          @sammy-r Ich betreibe mosquitto als mqtt Broker. Der verhält sich in jedem Fall konform und löscht automatisch topics, wenn diese an die mqtt- Clients geschickt wurden. Im iobroker betreibe ich den mqtt-Server/Client Adapter als Client.
          Wenn tatsächlich zuviel Schrott sich im Adapter gesammelt hat. Dann kannst Du alle Datenpunkte im Adapter löschen. Wenn Du beim nächsten Verbinden mit # Dich wieder mit dem Broker verbindest, kommen die Datenpunkt mit jeder Aktualisierung peu a peu wieder rein.

          1 Reply Last reply Reply Quote 0
          • mickym
            mickym Most Active @Sammy R. last edited by mickym

            @sammy-r sagte in MQTT-Adapter Cache löschen (manuell angelegt Datenpunkte):

            Mich würde auch interessieren, was genau dazu führt, dass die wieder angelegt werden, ist das wirklich der Neustart des Adapters. Wenn ich den Lösche, dann sollten ja auch alle seine Datenpunkte weg sein.

            Nein - die Datenpunkte werden immer von dem Gerät angelegt, das published - nie vom Adapter selbst. Wenn Du externe Broker hast und Du ein Client/Gerät hat topics mit dem retained flag publiziert, dann kommen die sofort mit dem Neuverbinden wieder in den Adapter.

            S 1 Reply Last reply Reply Quote 0
            • S
              Sammy R. @mickym last edited by

              @mickym
              Das ist aber ja genau der Weg, auf dem ich die Datenpunkte anlege (cmd und stat):
              Der die Tasmotas die nicht per Default anbieten starte ich einmalig die mqtt.1-Instanz und mache mit der das sendTo an die mqtt.0-Instanz.
              Danach kann ich die 2. Instanz wieder stoppen.
              Wenn ich die teleperiod zB setzen will, dann ändere ich einfach den cmnd-Datenpunkt und der Wert geht an die Dose, die mit einem RESULT antwortet, worauf wiederum mein Skript reagiert und, das parst und meinen stat-Datenpunkt aktualisiert.

              Die werden also nie von einem Client gesendet - ausser, ich starte die 2. Instanz und lasse die mit dem sendTo so tun, als wäre sie eine der Tasmotas.

              ...und damit beantworte ich mein Fragezeichen:
              Da Löschen von Topics nicht vorgesehen ist, behält der Adapter die, bis ich ihn mal stoppe und den Objecttree ganz löschen.

              Schöner wäre natürlich, ich könnte die Rückgaben der Tasmotas direkt konfigurieren, dazu hatte ich damals aber nichts gefunden.

              Thx!

              mickym 1 Reply Last reply Reply Quote 0
              • mickym
                mickym Most Active @Sammy R. last edited by mickym

                @sammy-r Na über die cmnd topics kannst Du doch alle Kommandos absetzen. Die stat topics werden dann doch automatisch vom Gerät geliefert, dass muss man in der Regel nicht via Skript machen.
                Ansonsten schau Dir den Tasmota Device Manager an über den kannst Du über mqtt via GUI leicht komplexere Aufgaben eintragen und die mqtt topics werden automatisch angelegt.

                1 Reply Last reply Reply Quote -1
                • S
                  Sammy R. last edited by

                  @mickym
                  Richtig. Die Tasmotas liefern aber keinen cmnd für den poweronmodus und teleperiod nicht, weshalb ich sie so dazu 'bewege'. Bei den stat-Datenpunkten ist es dasselbe. Die Werte werden über RESULT geliefert aber nicht irgendwo abgelegt.
                  Ich hab auch beide Werte in Projekten geplant, weshalb ich sie im iobroker brauche.
                  Falls es interessiert:
                  In Ausnahmefälle soll eine Dose (durch mich) schaltbar sein, normal soll der Hardware-Schalter aber deaktiviert sein.
                  Die teleperiod war für die 'Datensparsamkeit' gedacht, um nur während der relevanten Phase Unmengen an Daten zu liefern.

                  mickym BananaJoe 2 Replies Last reply Reply Quote 0
                  • mickym
                    mickym Most Active @Sammy R. last edited by

                    @sammy-r Das sieht man in der Konsole ob stat Punkte gepublished werden. Wenn dort nichts gepublished wird, dann hilft auch das Anlegen der Datenpunkte nichts.

                    Wie gesagt der Tasmota Device Manager hilft ggf. die topics automatisch anzulegen, wenn Du einen Windowsrechner hast. Dieser Tasmota device manager greift über mqtt auf die Geräte zu.
                    0efe4160-4905-45f9-bc48-6f149f5d4454-image.png

                    1 Reply Last reply Reply Quote 0
                    • BananaJoe
                      BananaJoe Most Active @Sammy R. last edited by

                      @sammy-r sagte in MQTT-Adapter Cache löschen (manuell angelegt Datenpunkte):

                      @mickym
                      Richtig. Die Tasmotas liefern aber keinen cmnd für den poweronmodus und teleperiod nicht, weshalb ich sie so dazu 'bewege'. Bei den stat-Datenpunkten ist es dasselbe. Die Werte werden über RESULT geliefert aber nicht irgendwo abgelegt.
                      Ich hab auch beide Werte in Projekten geplant, weshalb ich sie im iobroker brauche.
                      Falls es interessiert:
                      In Ausnahmefälle soll eine Dose (durch mich) schaltbar sein, normal soll der Hardware-Schalter aber deaktiviert sein.
                      Die teleperiod war für die 'Datensparsamkeit' gedacht, um nur während der relevanten Phase Unmengen an Daten zu liefern.

                      Das soll keine Belehrung sein sondern eher eine Zusammenfassung für mitlesende:

                      Also, richtig ist das du jeden möglichen Tasmota Befehl ( https://tasmota.github.io/docs/Commands/ ) per MQTT setzen kannst indem du diesen einfach unterhalb von cmnd/Gerätetopic/Befehl anlegst und mit einem Wert sendest. In einem Rutsch geht das per SendTo

                      Auch richtig ist, das du unter mqtt.0.stat.Gerätetopic.RESULT immer unmittelbar auf den letzten Befehl oder Ereignis eine Antwort erhältst.
                      Meistens gibt es den Wert ja noch versteckt in einen der anderen STATUS-Meldungen im gleichen Topic:
                      6a509091-280d-438a-b19c-77eec81ab3cf-image.png und/oder im /tele/ Zweig:
                      2435cf57-1a9a-4d90-a5c9-d4c8753bf9e1-image.png
                      Was dort nicht aufgeführt wird kannst du abfragen indem du den Befehl aufrufst, aber ohne Parameter, also nichts als Payload, das sollte dann einen RESULT erzeugen. Das RESULT enthält dabei auch immer den Befehlsnamen was bei einem Vergleich mit geprüft werden sollte, in den Datenpunkt können ja auch mehrere Dinge hintereinander / fast zeitgleich eintrudeln.

                      S 1 Reply Last reply Reply Quote 0
                      • S
                        Sammy R. @BananaJoe last edited by

                        @bananajoe
                        Das war auch etwas belehrend, aber darum hatte ich ja auch gebeten und ich bin Dir sehr dankbar für Deine Erklärungen und Zeit! 🙂

                        Also. Meine Dosen haben da nicht so viel zu bieten:
                        tasmota.png
                        'teleperiod' ist der Datenpunkt, den ich wie oben beschrieben angelegt habe. Aus 'Sensor' kann ich den aktuellen Verbrauch etc. auslesen.

                        Teleperiod und poweron finde ich da nicht und für mich war ja das Absenden des Commandos das wichtige.

                        Nun aber zu meinem Verständnis, das hab ich vielleicht in der Doku vom Tasmota-Manager (nur quer gelesen) übersehen:
                        Ich kann den Dose damit beibringen, dass sie 'meine' Commandos von sich aus veröffentlichen? Ebenso deren Datenpunkte / Status unter tele/stat?

                        Ggf. geht das dann ja vielleicht auch über die Web-UI / Console von Tasmota? Einmal ändern, immer ansteuern können wäre natürlich die bessere Lösung.

                        BananaJoe 1 Reply Last reply Reply Quote 0
                        • BananaJoe
                          BananaJoe Most Active @Sammy R. last edited by

                          @sammy-r Teleperiod ok, damit verstellst du eben diese. Was willst du mit PowerOn ? Dafür ist der POWER Datenpunkt da und schaltet z.B. ein Relais, auch wenn der Button/Switch entkoppelt ist.

                          Was meinst du mit Commandos veröffentlichen? In stat und tele ist alles was die Büchse kann. Was die Büchse kann hängt davon ab wie diese konfiguriert ist. Wie ist denn die Konfiguration des Gerätes? Gerne Screenshot der Seite wo man festlegt welcher Pin wofür genutzt wird.

                          Deine Befehle werden doch per RESULT zurück gemeldet, die Konfiguration sollte sich in stat/gerätename/status finden, ggf. per cmd/gerätename/STATUS mit Wert 0 antriggern (habe ich mal gemacht um die Konfiguration eines Shellys zu prüfen der sich immer wieder verstellt hatte)

                          S 1 Reply Last reply Reply Quote 0
                          • S
                            Sammy R. @BananaJoe last edited by Sammy R.

                            @bananajoe
                            verschrieben... ich hatte den Punkt 'poweronstate' genannt (aktuell fehlend, deshalb nicht auf der Hardcopy).
                            Ich nutze ihn, damit kann ich den Power-Modus beim Einschalten festlegen und damit auch, ob der Hardware-Schalter eine Funktion hat.
                            Einen Trockner möchte ich nur ungern aus versehen im Betrieb ausschalten, weil mein Skript nicht läuft. Einen anderen Verbraucher aber vielleicht damit steuern können (oder zeitweise ganz deaktivieren).

                            Wie im allerersten Post (ist ja schon etwas her ;-)) geschrieben, benötige ich die Datenpunkte in cmnd halt, damit ich aus Skripten heraus die Commandos absetzen kann, die von den Tasmota-Dosen nicht 'freiwillig' dem Adapter melden und deshalb auch nicht angelegt werden.

                            Ich lege also Datenpunkte in cmnd an, damit ich die Tasmotas konfigurieren kann und weitere in stat, in denen ich dann das geparkte Result ablege und die ich auch in den Skripten nutzen kann.

                            BananaJoe 1 Reply Last reply Reply Quote 0
                            • BananaJoe
                              BananaJoe Most Active @Sammy R. last edited by

                              @sammy-r sagte in MQTT-Adapter Cache löschen (manuell angelegt Datenpunkte):

                              die von den Tasmota-Dosen nicht 'freiwillig' dem Adapter melden und deshalb auch nicht angelegt werden.

                              Naja, sonst würden da ja hunderte von Kommandos stehen, in sofern ist schon ok das dort nicht alle sondern nur für das verwendete Template wichtige aufgeführt werden, in der Regel also POWER
                              Du hats ja deinen weg. Auch wenn ich das dann nicht unter stats ablegen würde, da kann man ja nicht mehr unterscheiden was vom Gerät kam und was von deinen Skripts.

                              Vermutlich könnte man über Skripte (ESP32) oder Rules auch verschiedenen Dinge per MQTT publishen.

                              S 1 Reply Last reply Reply Quote 0
                              • S
                                Sammy R. @BananaJoe last edited by

                                @bananajoe
                                Ich gebe Dir da Recht, ich hatte die Datenpunkte erst bei bei meinen userdata, allerdings war das nervig, weil ich bim Testen immer scrollen musste 😉
                                Über die Rules bin ich im Rahmen dieses Threads auch gestolpert, ebenso über die Templates. Da recherchiere ich evtl. später mal. Steht aber nicht ganz oben.

                                Danke Dir für den regen Austausch!

                                BananaJoe 1 Reply Last reply Reply Quote 0
                                • BananaJoe
                                  BananaJoe Most Active @Sammy R. last edited by

                                  @sammy-r sagte in MQTT-Adapter Cache löschen (manuell angelegt Datenpunkte):

                                  Ich gebe Dir da Recht, ich hatte die Datenpunkte erst bei bei meinen userdata, allerdings war das nervig, weil ich bim Testen immer scrollen musste

                                  2 Bildschirme mit mehreren Browserfenstern nebeneinander wirken wunder!

                                  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

                                  612
                                  Online

                                  31.6k
                                  Users

                                  79.5k
                                  Topics

                                  1.3m
                                  Posts

                                  4
                                  20
                                  598
                                  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