Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Error/Bug
  4. mqtt Adapter 4.0.7 Hohe CPU Load

NEWS

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    11
    1
    472

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.6k

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    9.5k

mqtt Adapter 4.0.7 Hohe CPU Load

Geplant Angeheftet Gesperrt Verschoben Error/Bug
54 Beiträge 7 Kommentatoren 5.9k Aufrufe 5 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • SRo769S SRo769

    Hallo zusammen. Also ich habe seit 3 Tagen nach Update auf Adapter-Version 4.07 (MQTT Broker/Client) das gleiche Problem.
    Konfiguration:
    1x Raspberry-Pi (Dietpi) mit Node-Red und MQTT-Server
    2x IOBroker auf 2 unterschiedlichen Proxmox-Systemen (Adapter im Client-Modus) (Proxmox-Systeme 2x Intel-NUC)

    Konfiguration lief seit ca. 2 Jahren ohne Probleme. Seit 3 Tagen steigt nun zu unterschiedlichen Zeiten die Gesamtbelastung beider Proxmox-System bis Anschlag an und geht von allein nicht mehr runter. Das Stoppen und erneute Starten der beiden Adapter in den IOBrokern beendet den "Spuk" und alles ist wieder normal. Auf beiden System sind zusätzliche MQTT-Adapter sowohl im Server- als auch im Clientmodus aktiv. Diese verursachen die Belastung nicht.
    Den Raspberry-Pi und seine Systeme sind bereits neugestartet und auf aktuellem Software-Stand.
    Ich werde jetzt einen der beiden Server mal auf die biss dato laufende Version des MQTT-Adapters downgraden. Vielleicht hilft das ja erstmal.

    Bin für weitere Ideen/Vorschläge sehr dankbar.

    HomoranH Nicht stören
    HomoranH Nicht stören
    Homoran
    Global Moderator Administrators
    schrieb am zuletzt editiert von
    #31

    @sro769 sagte in mqtt Adapter 4.0.7 Hohe CPU Load:

    Bin für weitere Ideen/Vorschläge sehr dankbar.

    Hast du die Konfiguration verglichen mit dem was hier besprochen wurde?

    kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

    Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

    der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

    SRo769S 1 Antwort Letzte Antwort
    0
    • HomoranH Homoran

      @sro769 sagte in mqtt Adapter 4.0.7 Hohe CPU Load:

      Bin für weitere Ideen/Vorschläge sehr dankbar.

      Hast du die Konfiguration verglichen mit dem was hier besprochen wurde?

      SRo769S Offline
      SRo769S Offline
      SRo769
      schrieb am zuletzt editiert von
      #32

      @homoran beide Adapter sind schon immer so eingestellt gewesen. Auf Server 1 empfängt der Adapter nur ohne etwas zu senden. Auf Server 2 sendet der Adapter nur etwas und empfängt nix. Zwischen Server1 und Server2 gibt es keine gemeinsame Daten. Beide Server hängen eben nur an dem einen MQTT-Server.

      lakeloungeL BananaJoeB 2 Antworten Letzte Antwort
      0
      • SRo769S SRo769

        @homoran beide Adapter sind schon immer so eingestellt gewesen. Auf Server 1 empfängt der Adapter nur ohne etwas zu senden. Auf Server 2 sendet der Adapter nur etwas und empfängt nix. Zwischen Server1 und Server2 gibt es keine gemeinsame Daten. Beide Server hängen eben nur an dem einen MQTT-Server.

        lakeloungeL Offline
        lakeloungeL Offline
        lakelounge
        schrieb am zuletzt editiert von lakelounge
        #33

        @sro769 schau mal mit MQTT-Explorer, in dem du dir alles (/#) anzeigen lässt, ob, so wie bei mir, bei einem Device Tausende von Meldungen auflaufen. Bei mir war es wohl ein verwaister Datenpunkt. Seit ich den gelöscht und die Dinge nach der Anleitung von @mickym umgestellt habe, läuft alles wieder.

        So sah das aus (nach wenigen Sekunden - siehe stat, 47.615 Meldungen). Nach einer Minuten waren über 200.000 Meldungen aufgelaufen.
        delock.png

        Der Datenpunkt war von einem Testscript, das aber nicht gelaufen ist. Also nur ein „rumliegender“ Datenpunkt ohne Sinn und Nutzen …

        SRo769S 1 Antwort Letzte Antwort
        0
        • lakeloungeL lakelounge

          @sro769 schau mal mit MQTT-Explorer, in dem du dir alles (/#) anzeigen lässt, ob, so wie bei mir, bei einem Device Tausende von Meldungen auflaufen. Bei mir war es wohl ein verwaister Datenpunkt. Seit ich den gelöscht und die Dinge nach der Anleitung von @mickym umgestellt habe, läuft alles wieder.

          So sah das aus (nach wenigen Sekunden - siehe stat, 47.615 Meldungen). Nach einer Minuten waren über 200.000 Meldungen aufgelaufen.
          delock.png

          Der Datenpunkt war von einem Testscript, das aber nicht gelaufen ist. Also nur ein „rumliegender“ Datenpunkt ohne Sinn und Nutzen …

          SRo769S Offline
          SRo769S Offline
          SRo769
          schrieb am zuletzt editiert von
          #34

          @lakelounge ich habe die zu übermittelnden Daten schon sehr genau definiert. Trotzdem, zur Kontrolle habe ich mal den Test am Mqtt-Server gemacht mit folgendem Ergebnis:
          0e327944-8259-4ad6-b4a1-71f2f2c62ebc-image.png

          Da passiert auch nicht so viel. Das System läuft in dieser Konfig bereits 2 Jahre und das ohne jedwede Aussetzer. Die Signale sind quasi "handverlesen" und haben auf dem sendenden Server1 auch nur eine lokale Quelle. Die hohe CPU-Last/Load/Network-Traffic ist jetzt an 3 Tagen zu unterschiedlichen Zeiten (volle Stunde...!) aufgetreten und lässt sich durch stoppen der Adapter heilen. Wenn ich den MQTT-Server (Raspberry) neu starte, kann ich die hohe Belastung auch manuell hervorrufen. Ein Neustart der beiden Adapter richtet es dann wieder. Diese Probleme hatte ich in der Vergangenheit so definitiv nicht. Die Systeme werden permanent überwacht und alarmieren im Falle einer Abweichung hinsichtlich Belastung/CPU-Temp. etc.

          mickymM 1 Antwort Letzte Antwort
          0
          • SRo769S SRo769

            @homoran beide Adapter sind schon immer so eingestellt gewesen. Auf Server 1 empfängt der Adapter nur ohne etwas zu senden. Auf Server 2 sendet der Adapter nur etwas und empfängt nix. Zwischen Server1 und Server2 gibt es keine gemeinsame Daten. Beide Server hängen eben nur an dem einen MQTT-Server.

            BananaJoeB Offline
            BananaJoeB Offline
            BananaJoe
            Most Active
            schrieb am zuletzt editiert von BananaJoe
            #35

            @sro769 sagte in mqtt Adapter 4.0.7 Hohe CPU Load:

            @homoran beide Adapter sind schon immer so eingestellt gewesen. Auf Server 1 empfängt der Adapter nur ohne etwas zu senden. Auf Server 2 sendet der Adapter nur etwas und empfängt nix. Zwischen Server1 und Server2 gibt es keine gemeinsame Daten. Beide Server hängen eben nur an dem einen MQTT-Server.

            könntest du trotzdem mal deine Adapter-Konfigurationen posten? "Schon immer" oder "ging doch früher" mag ich in meinem Admin-Leben gar nicht mehr hören, das kann auch ein Fehler sein das vorher ging

            ioBroker@Ubuntu 24.04 LTS (VMware) für: >260 Geräte, 5 Switche, 7 AP, 9 IP-Cam, 1 NAS 42TB, 1 ESXi 15TB, 4 Proxmox 1TB, 1 Hyper-V 48TB, 14 x Echo, 5x FireTV, 5 x Tablett/Handy VIS || >=160 Tasmota/Shelly || >=95 ZigBee || PV 8.1kW / Akku 14kWh || 2x USV 750W kaskadiert || Creality CR-10 SE 3D-Drucker

            SRo769S 1 Antwort Letzte Antwort
            1
            • SRo769S SRo769

              @lakelounge ich habe die zu übermittelnden Daten schon sehr genau definiert. Trotzdem, zur Kontrolle habe ich mal den Test am Mqtt-Server gemacht mit folgendem Ergebnis:
              0e327944-8259-4ad6-b4a1-71f2f2c62ebc-image.png

              Da passiert auch nicht so viel. Das System läuft in dieser Konfig bereits 2 Jahre und das ohne jedwede Aussetzer. Die Signale sind quasi "handverlesen" und haben auf dem sendenden Server1 auch nur eine lokale Quelle. Die hohe CPU-Last/Load/Network-Traffic ist jetzt an 3 Tagen zu unterschiedlichen Zeiten (volle Stunde...!) aufgetreten und lässt sich durch stoppen der Adapter heilen. Wenn ich den MQTT-Server (Raspberry) neu starte, kann ich die hohe Belastung auch manuell hervorrufen. Ein Neustart der beiden Adapter richtet es dann wieder. Diese Probleme hatte ich in der Vergangenheit so definitiv nicht. Die Systeme werden permanent überwacht und alarmieren im Falle einer Abweichung hinsichtlich Belastung/CPU-Temp. etc.

              mickymM Offline
              mickymM Offline
              mickym
              Most Active
              schrieb am zuletzt editiert von mickym
              #36

              @sro769 sagte in mqtt Adapter 4.0.7 Hohe CPU Load:

              Die hohe CPU-Last/Load/Network-Traffic ist jetzt an 3 Tagen zu unterschiedlichen Zeiten (volle Stunde...!) aufgetreten und lässt sich durch stoppen der Adapter heilen. Wenn ich den MQTT-Server (Raspberry) neu starte, kann ich die hohe Belastung auch manuell hervorrufen.

              Ich behaupte mal Du schickst Zustände und nur Änderungen. Deswegen hast Du solange keine Endlosschleife, bis sich der eine Punkt ändert. ;) - Wann das ist - kannst nur Du beantworten. ;) - Vielleicht auch mal Log und debug anschauen. ;)

              Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

              1 Antwort Letzte Antwort
              0
              • BananaJoeB BananaJoe

                @sro769 sagte in mqtt Adapter 4.0.7 Hohe CPU Load:

                @homoran beide Adapter sind schon immer so eingestellt gewesen. Auf Server 1 empfängt der Adapter nur ohne etwas zu senden. Auf Server 2 sendet der Adapter nur etwas und empfängt nix. Zwischen Server1 und Server2 gibt es keine gemeinsame Daten. Beide Server hängen eben nur an dem einen MQTT-Server.

                könntest du trotzdem mal deine Adapter-Konfigurationen posten? "Schon immer" oder "ging doch früher" mag ich in meinem Admin-Leben gar nicht mehr hören, das kann auch ein Fehler sein das vorher ging

                SRo769S Offline
                SRo769S Offline
                SRo769
                schrieb am zuletzt editiert von
                #37

                @bananajoe das ist die Konfig des sendenden Servers:
                2b0223c1-db6b-42bd-9556-13d0d88723d3-image.png

                mickymM 1 Antwort Letzte Antwort
                0
                • SRo769S SRo769

                  @bananajoe das ist die Konfig des sendenden Servers:
                  2b0223c1-db6b-42bd-9556-13d0d88723d3-image.png

                  mickymM Offline
                  mickymM Offline
                  mickym
                  Most Active
                  schrieb am zuletzt editiert von mickym
                  #38

                  @sro769 Ich hab das in dem anderen Thread schon mal geschrieben:

                  Wenn du NICHTS in das Subscribe Pattern schreibst - dann nimmt er AUTOMATISCH # - also ALLES. Deshalb bekommst Du alles was Du schreibst postwendend zurück und die Endlosschleife ist perfekt. Wenn diese Instanz nichts subsriben soll - dann musst Du einen Dummy nehmen - schau mal in meinen Screenshot - da steht "nothing". Ausserdem wird er nichts machen mit diesen Einstellungen, wenn Du kein Präfix mitgibst.

                  Habe ich aber hier alles beschrieben:
                  https://forum.iobroker.net/topic/57365/mqtt-broker-empfängt-daten-sendet-aber-nicht-an-client/8?_=1662032439387

                  Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                  SRo769S 2 Antworten Letzte Antwort
                  0
                  • mickymM mickym

                    @sro769 Ich hab das in dem anderen Thread schon mal geschrieben:

                    Wenn du NICHTS in das Subscribe Pattern schreibst - dann nimmt er AUTOMATISCH # - also ALLES. Deshalb bekommst Du alles was Du schreibst postwendend zurück und die Endlosschleife ist perfekt. Wenn diese Instanz nichts subsriben soll - dann musst Du einen Dummy nehmen - schau mal in meinen Screenshot - da steht "nothing". Ausserdem wird er nichts machen mit diesen Einstellungen, wenn Du kein Präfix mitgibst.

                    Habe ich aber hier alles beschrieben:
                    https://forum.iobroker.net/topic/57365/mqtt-broker-empfängt-daten-sendet-aber-nicht-an-client/8?_=1662032439387

                    SRo769S Offline
                    SRo769S Offline
                    SRo769
                    schrieb am zuletzt editiert von
                    #39

                    @mickym wenn du mir jetzt noch sagst, wie ich da machen soll... der Adapter läuft als Client. Unter "Subscribe Pattern" kann ich zwar was eintragen aber nichts speichern. Der Speicher-Button bleibt ausgegraut. Wenn ich noch eine andere Option ändere und den Button damit aktiviere, ist der Eintrag unter Subscribe Pattern wech... Wenn ich dann wieder was eintrage und auf Speichern klicke, ist nix gepeichert....

                    mickymM 1 Antwort Letzte Antwort
                    0
                    • mickymM mickym

                      @sro769 Ich hab das in dem anderen Thread schon mal geschrieben:

                      Wenn du NICHTS in das Subscribe Pattern schreibst - dann nimmt er AUTOMATISCH # - also ALLES. Deshalb bekommst Du alles was Du schreibst postwendend zurück und die Endlosschleife ist perfekt. Wenn diese Instanz nichts subsriben soll - dann musst Du einen Dummy nehmen - schau mal in meinen Screenshot - da steht "nothing". Ausserdem wird er nichts machen mit diesen Einstellungen, wenn Du kein Präfix mitgibst.

                      Habe ich aber hier alles beschrieben:
                      https://forum.iobroker.net/topic/57365/mqtt-broker-empfängt-daten-sendet-aber-nicht-an-client/8?_=1662032439387

                      SRo769S Offline
                      SRo769S Offline
                      SRo769
                      schrieb am zuletzt editiert von
                      #40

                      @mickym laut Log (höchste Detail-Stufe) bekomme ich auch keine Nachricht zurück, die zuvor gesendet wurde

                      1 Antwort Letzte Antwort
                      0
                      • SRo769S SRo769

                        @mickym wenn du mir jetzt noch sagst, wie ich da machen soll... der Adapter läuft als Client. Unter "Subscribe Pattern" kann ich zwar was eintragen aber nichts speichern. Der Speicher-Button bleibt ausgegraut. Wenn ich noch eine andere Option ändere und den Button damit aktiviere, ist der Eintrag unter Subscribe Pattern wech... Wenn ich dann wieder was eintrage und auf Speichern klicke, ist nix gepeichert....

                        mickymM Offline
                        mickymM Offline
                        mickym
                        Most Active
                        schrieb am zuletzt editiert von
                        #41

                        @sro769 Subscribe Pattern was reinschreiben und dann ENTER drücken - dann wird aus dem Text so eine ovale Kachel, wie im Screenshot.

                        Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                        SRo769S 1 Antwort Letzte Antwort
                        0
                        • mickymM mickym

                          @sro769 Subscribe Pattern was reinschreiben und dann ENTER drücken - dann wird aus dem Text so eine ovale Kachel, wie im Screenshot.

                          SRo769S Offline
                          SRo769S Offline
                          SRo769
                          schrieb am zuletzt editiert von
                          #42

                          @mickym Shit, Asche auf mein Haupt. Da war ich aber schon lange nicht mehr dran. Habe ich jetzt entsprechend nachgetragen und werde das beobachten. Soweit erst mal danke.

                          mickymM 1 Antwort Letzte Antwort
                          0
                          • SRo769S SRo769

                            @mickym Shit, Asche auf mein Haupt. Da war ich aber schon lange nicht mehr dran. Habe ich jetzt entsprechend nachgetragen und werde das beobachten. Soweit erst mal danke.

                            mickymM Offline
                            mickymM Offline
                            mickym
                            Most Active
                            schrieb am zuletzt editiert von mickym
                            #43

                            @sro769 und trotzdem Präfix mit abschließendem / vergeben- der Adapter schmeißt in der Regel alles weg, das genauso wie ein Adapterpfad beginnt

                            Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                            lakeloungeL 1 Antwort Letzte Antwort
                            0
                            • mickymM mickym

                              @sro769 und trotzdem Präfix mit abschließendem / vergeben- der Adapter schmeißt in der Regel alles weg, das genauso wie ein Adapterpfad beginnt

                              lakeloungeL Offline
                              lakeloungeL Offline
                              lakelounge
                              schrieb am zuletzt editiert von lakelounge
                              #44

                              @mickym Vorab erstmal, ich hab meine mqtt-Einstellungen jetzt genau nach deinem Vorbild gemacht :-) Danke nochmal für deine Hilfe gestern!

                              Sag, darf ich dir zu diesem Thema noch eine Frage stellen:

                              ioBroker Subscribe Pattern: home/#
                              ioBroker Präfix für alle Tonics: lakelounge/
                              ioBroker published (Maske zum Bekanntgeben eigener States) mqtt.0.*
                              und nehmen wir an, „Sende auch Zustände (ack=true)“ ist aktiv

                              Die Tasmota Devices haben einen Datenpunkt stat in dem es Unterdatenpunkte wie RESULT etc. gibt. Die Änderung kommen vom Tasmota Device nach mqtt.0 und laut den Angaben oben, verstehe ich auch, dass sie von dort sofort wieder published werden. Dadurch entsteht der Loop.

                              Aber müssten diese jetzt nicht eigentlich unter (Präfix) lakelounge/ ... gepublished werden?
                              Warum published er den mqtt.0.* nicht mit dem Präfix lakelounge?

                              Ich hab das mit fbcheckpresence versucht und da macht er das so wie erwartet:
                              eigene.png
                              fbcheckpresence.png

                              Das ganze passiert aber nur, wenn „Sende auch Zustände (ack=true)“ aktiv ist. Das würde ich so verstehen, dass er neben allem Möglichen auch den ack des Datenpunktes mit raus published – oder?

                              Kannst du da den Hintergrund erklären, warum er den mqtt.0.* ohne den Präfix macht und den fbcheckpresence z. B. mit?

                              Nur, wenn du Lust hast :-)

                              mickymM 2 Antworten Letzte Antwort
                              0
                              • lakeloungeL lakelounge

                                @mickym Vorab erstmal, ich hab meine mqtt-Einstellungen jetzt genau nach deinem Vorbild gemacht :-) Danke nochmal für deine Hilfe gestern!

                                Sag, darf ich dir zu diesem Thema noch eine Frage stellen:

                                ioBroker Subscribe Pattern: home/#
                                ioBroker Präfix für alle Tonics: lakelounge/
                                ioBroker published (Maske zum Bekanntgeben eigener States) mqtt.0.*
                                und nehmen wir an, „Sende auch Zustände (ack=true)“ ist aktiv

                                Die Tasmota Devices haben einen Datenpunkt stat in dem es Unterdatenpunkte wie RESULT etc. gibt. Die Änderung kommen vom Tasmota Device nach mqtt.0 und laut den Angaben oben, verstehe ich auch, dass sie von dort sofort wieder published werden. Dadurch entsteht der Loop.

                                Aber müssten diese jetzt nicht eigentlich unter (Präfix) lakelounge/ ... gepublished werden?
                                Warum published er den mqtt.0.* nicht mit dem Präfix lakelounge?

                                Ich hab das mit fbcheckpresence versucht und da macht er das so wie erwartet:
                                eigene.png
                                fbcheckpresence.png

                                Das ganze passiert aber nur, wenn „Sende auch Zustände (ack=true)“ aktiv ist. Das würde ich so verstehen, dass er neben allem Möglichen auch den ack des Datenpunktes mit raus published – oder?

                                Kannst du da den Hintergrund erklären, warum er den mqtt.0.* ohne den Präfix macht und den fbcheckpresence z. B. mit?

                                Nur, wenn du Lust hast :-)

                                mickymM Offline
                                mickymM Offline
                                mickym
                                Most Active
                                schrieb am zuletzt editiert von
                                #45

                                @lakelounge Nun ich habe eigentlich versucht das zu erklären.

                                Ich habe 2 !!! Instanzen. Die Instanz mit dem mqtt.0 - bei mir im Screenshot mqtt.1 ist ein Abbild des Brokers - da Subscribest alles - also nicht home/# sondern. Wenn ein Tasmota Device also was published taucht das unter mqtt.0 auf. Diese Instanz veröffentlicht KEINE Zustände - deshalb sind alle Haken draussen. Wenn Du was steuern willst schreibst Du es in einen Datenpunkt unter mqtt.0 und zwar unbestätigt. Dann wird das auch zum Broker geschickt. Deswegen braucht oder darf diese Instanz auch KEINE Zustände publishen.

                                Die 2. Instanz veröffentlicht Zustände eines bestehenden Adapters (dort sind die Datenpunkte alle bereits vom Adapter) bestätigt. Nur diese Instanz veröffentlichst Du unter eine Präfix - von mir aus lakelounge. Diese Datenpunkte tauchen dann automatisch in der 1. Instanz - also unter mqtt.0 unter lakelounge auf.
                                Diese 2. Instanz veröffentlicht iobroker Datenpunkte aber subscribed nichts - muss sie ja auch nicht, weil Du die Datenpunkte eh im iobroker hast. Wenn Du mit einem anderen Tool zum Beispiel NodeRed direkt an Deinen mosquito gehst - sind die Datenpunkt ja unter lakelounge . Schau Dir bitte meine beiden Screenshots

                                mqtt.1 = bei Dir mqtt.0 und ein komplettes Abbild Deines mosquitto Brokers
                                mqtt.2 = bei Dir halt mqtt.1 und dort werden die iobroker Adapter Punkte unter einem Präfix gepublished.

                                Den Screenshot von mqtt.0, bei mir mqtt.1 hast Du ja unten. mqtt.2 ist meine publishing Instanz und die published bei mir halt nicht unter dem Prefix lakelounge sonder iobroker.

                                Die hat aber keine eigenen Datenpunkte - da sie diese ja von fremden Adaptern holt -

                                Du siehst mqtt.2 hat gar keine eigenen Datenpunkte - da ja die Datenpunke vom tr-064 gepublished werden sollen und bei mir unter dem präfix ioboker, dass taucht dann auch in der mqtt.1 - die ja ein vollständiges Abbild darstellt auf.

                                596e420d-dfba-41c6-b799-a4a62dc95e6f-image.png

                                Die mqtt.0 bwz, mqtt.1 Instanz published keine Zustände, da sie alles vom mosquitto bekommt - Zustände publishen macht man nur von FREMDEN Adaptern - da diese Datenpunkte von diesen bestätigt werden.

                                Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                                lakeloungeL 1 Antwort Letzte Antwort
                                0
                                • lakeloungeL lakelounge

                                  @mickym Vorab erstmal, ich hab meine mqtt-Einstellungen jetzt genau nach deinem Vorbild gemacht :-) Danke nochmal für deine Hilfe gestern!

                                  Sag, darf ich dir zu diesem Thema noch eine Frage stellen:

                                  ioBroker Subscribe Pattern: home/#
                                  ioBroker Präfix für alle Tonics: lakelounge/
                                  ioBroker published (Maske zum Bekanntgeben eigener States) mqtt.0.*
                                  und nehmen wir an, „Sende auch Zustände (ack=true)“ ist aktiv

                                  Die Tasmota Devices haben einen Datenpunkt stat in dem es Unterdatenpunkte wie RESULT etc. gibt. Die Änderung kommen vom Tasmota Device nach mqtt.0 und laut den Angaben oben, verstehe ich auch, dass sie von dort sofort wieder published werden. Dadurch entsteht der Loop.

                                  Aber müssten diese jetzt nicht eigentlich unter (Präfix) lakelounge/ ... gepublished werden?
                                  Warum published er den mqtt.0.* nicht mit dem Präfix lakelounge?

                                  Ich hab das mit fbcheckpresence versucht und da macht er das so wie erwartet:
                                  eigene.png
                                  fbcheckpresence.png

                                  Das ganze passiert aber nur, wenn „Sende auch Zustände (ack=true)“ aktiv ist. Das würde ich so verstehen, dass er neben allem Möglichen auch den ack des Datenpunktes mit raus published – oder?

                                  Kannst du da den Hintergrund erklären, warum er den mqtt.0.* ohne den Präfix macht und den fbcheckpresence z. B. mit?

                                  Nur, wenn du Lust hast :-)

                                  mickymM Offline
                                  mickymM Offline
                                  mickym
                                  Most Active
                                  schrieb am zuletzt editiert von mickym
                                  #46

                                  @lakelounge sagte in mqtt Adapter 4.0.7 Hohe CPU Load:

                                  Die Tasmota Devices haben einen Datenpunkt stat in dem es Unterdatenpunkte wie RESULT etc. gibt. Die Änderung kommen vom Tasmota Device nach mqtt.0 und laut den Angaben oben, verstehe ich auch, dass sie von dort sofort wieder published werden. Dadurch entsteht der Loop.

                                  Das passiert eben nicht, wenn man keine Zustände published - deswegen sind alle Haken weg bei der Instanz, die ein 1:1 von mosquitto darstellt. Man braucht keine Zustände. Der Master ist mosquitto und sonst gar nichts. Wenn Du was rausschickst, dann schickst Du das unbestätigt - also keinen Zustand, sondern ein Kommando.

                                  Ich weiss nicht ob das hier richtig verlinkt ist:
                                  https://forum.iobroker.net/topic/57648/visualisierung-mit-node-red-erstellen/33
                                  und
                                  https://forum.iobroker.net/topic/57648/visualisierung-mit-node-red-erstellen/29 (also so ziemlich am Anfang des Threads).

                                  • aber hier habe ich noch mal erklärt - was bestätigt ist, was ein Zustand und ein ACK Flag ist. Nur mqtt kennt keine ACK Flags die mqtt-Adapter schon. Im reinen mqtt Umfeld wirst Du also nie eine Einstellung Zustände publishen finden, das ist ein Feature des iobrokers:

                                  Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                                  1 Antwort Letzte Antwort
                                  0
                                  • mickymM mickym

                                    @lakelounge Nun ich habe eigentlich versucht das zu erklären.

                                    Ich habe 2 !!! Instanzen. Die Instanz mit dem mqtt.0 - bei mir im Screenshot mqtt.1 ist ein Abbild des Brokers - da Subscribest alles - also nicht home/# sondern. Wenn ein Tasmota Device also was published taucht das unter mqtt.0 auf. Diese Instanz veröffentlicht KEINE Zustände - deshalb sind alle Haken draussen. Wenn Du was steuern willst schreibst Du es in einen Datenpunkt unter mqtt.0 und zwar unbestätigt. Dann wird das auch zum Broker geschickt. Deswegen braucht oder darf diese Instanz auch KEINE Zustände publishen.

                                    Die 2. Instanz veröffentlicht Zustände eines bestehenden Adapters (dort sind die Datenpunkte alle bereits vom Adapter) bestätigt. Nur diese Instanz veröffentlichst Du unter eine Präfix - von mir aus lakelounge. Diese Datenpunkte tauchen dann automatisch in der 1. Instanz - also unter mqtt.0 unter lakelounge auf.
                                    Diese 2. Instanz veröffentlicht iobroker Datenpunkte aber subscribed nichts - muss sie ja auch nicht, weil Du die Datenpunkte eh im iobroker hast. Wenn Du mit einem anderen Tool zum Beispiel NodeRed direkt an Deinen mosquito gehst - sind die Datenpunkt ja unter lakelounge . Schau Dir bitte meine beiden Screenshots

                                    mqtt.1 = bei Dir mqtt.0 und ein komplettes Abbild Deines mosquitto Brokers
                                    mqtt.2 = bei Dir halt mqtt.1 und dort werden die iobroker Adapter Punkte unter einem Präfix gepublished.

                                    Den Screenshot von mqtt.0, bei mir mqtt.1 hast Du ja unten. mqtt.2 ist meine publishing Instanz und die published bei mir halt nicht unter dem Prefix lakelounge sonder iobroker.

                                    Die hat aber keine eigenen Datenpunkte - da sie diese ja von fremden Adaptern holt -

                                    Du siehst mqtt.2 hat gar keine eigenen Datenpunkte - da ja die Datenpunke vom tr-064 gepublished werden sollen und bei mir unter dem präfix ioboker, dass taucht dann auch in der mqtt.1 - die ja ein vollständiges Abbild darstellt auf.

                                    596e420d-dfba-41c6-b799-a4a62dc95e6f-image.png

                                    Die mqtt.0 bwz, mqtt.1 Instanz published keine Zustände, da sie alles vom mosquitto bekommt - Zustände publishen macht man nur von FREMDEN Adaptern - da diese Datenpunkte von diesen bestätigt werden.

                                    lakeloungeL Offline
                                    lakeloungeL Offline
                                    lakelounge
                                    schrieb am zuletzt editiert von lakelounge
                                    #47

                                    @mickym ja, klar! Ich hab ja jetzt auch 2 Instanzen! Hatte ich doch geschrieben, dass ich das genau so gemacht habe, wie du. Leuchtet mir ein und ich bin ja lernfähig :-) Mir erschließt sich eben nur meine Frage nicht, warum der mqtt.0 nicht über das Präfix sendet und dann auch unter lakelounge landet. Da geht es nur im das Verstehen.
                                    Der fbcheckpresence sendet ja in lakelounge aber der mqtt.0, der gleich eingetragen ist nicht. Da muss es doch intern im Adapter etwas geben, was dem mqtt.0 sagt, du sendest bitte zurück mit dem Tonic home/egw1/Gerät und nicht mit wie ich erwarten würde lakelounge/home/egw1/ ...

                                    mickymM 2 Antworten Letzte Antwort
                                    0
                                    • lakeloungeL lakelounge

                                      @mickym ja, klar! Ich hab ja jetzt auch 2 Instanzen! Hatte ich doch geschrieben, dass ich das genau so gemacht habe, wie du. Leuchtet mir ein und ich bin ja lernfähig :-) Mir erschließt sich eben nur meine Frage nicht, warum der mqtt.0 nicht über das Präfix sendet und dann auch unter lakelounge landet. Da geht es nur im das Verstehen.
                                      Der fbcheckpresence sendet ja in lakelounge aber der mqtt.0, der gleich eingetragen ist nicht. Da muss es doch intern im Adapter etwas geben, was dem mqtt.0 sagt, du sendest bitte zurück mit dem Tonic home/egw1/Gerät und nicht mit wie ich erwarten würde lakelounge/home/egw1/ ...

                                      mickymM Offline
                                      mickymM Offline
                                      mickym
                                      Most Active
                                      schrieb am zuletzt editiert von
                                      #48

                                      @lakelounge Im mqtt.0 hast Du doch in der Konfig gar kein Präfix eingegeben, wenn Du es so wie ich gemacht hast.

                                      Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                                      lakeloungeL 1 Antwort Letzte Antwort
                                      0
                                      • mickymM mickym

                                        @lakelounge Im mqtt.0 hast Du doch in der Konfig gar kein Präfix eingegeben, wenn Du es so wie ich gemacht hast.

                                        lakeloungeL Offline
                                        lakeloungeL Offline
                                        lakelounge
                                        schrieb am zuletzt editiert von
                                        #49

                                        @mickym ja, ist auch so und es funktioniert dank deiner Hilfe ja auch super. Nur das mit dem mqtt.0 und dem Präfix (lakelounge) leuchtet eben nicht ein. Weil, wie grade im anderen Post korrigiert, der fbcheckpresence so sendet.

                                        1 Antwort Letzte Antwort
                                        0
                                        • lakeloungeL lakelounge

                                          @mickym ja, klar! Ich hab ja jetzt auch 2 Instanzen! Hatte ich doch geschrieben, dass ich das genau so gemacht habe, wie du. Leuchtet mir ein und ich bin ja lernfähig :-) Mir erschließt sich eben nur meine Frage nicht, warum der mqtt.0 nicht über das Präfix sendet und dann auch unter lakelounge landet. Da geht es nur im das Verstehen.
                                          Der fbcheckpresence sendet ja in lakelounge aber der mqtt.0, der gleich eingetragen ist nicht. Da muss es doch intern im Adapter etwas geben, was dem mqtt.0 sagt, du sendest bitte zurück mit dem Tonic home/egw1/Gerät und nicht mit wie ich erwarten würde lakelounge/home/egw1/ ...

                                          mickymM Offline
                                          mickymM Offline
                                          mickym
                                          Most Active
                                          schrieb am zuletzt editiert von mickym
                                          #50

                                          @lakelounge sagte in mqtt Adapter 4.0.7 Hohe CPU Load:

                                          Der fbcheckpresence sendet ja in lakelounge aber der mqtt.0, der gleich eingetragen ist nicht. Da muss es doch intern im Adapter etwas geben, was dem mqtt.0 sagt, du sendest bitte zurück mit dem Tonic home/egw1/Gerät und nicht mit wie ich erwarten würde lakelounge/home/egw1/ ...

                                          Also um es etwas präziser zu sagen - der fbcheckpresence sendet gar nichts. ;)
                                          Deine mqtt.1 Instanz sendet, weil Du sagst, dass seien ihre (also deren Instanz mqtt.1) Werte und Du Zustände senden willst - also stell Dir vor, wenn fbcheckpresence was schreibt, wird dies nun von der mqtt.1 Instanz überwacht und gepublished und zwar unter dem Prefix was Du in mqtt.1 angegeben hast. So befindet es sich jetzt in mosquitto.

                                          Die mqtt.0 instanz hat alles subscribed also # und bekommt oder schreibt diese werte unter lakelounge/home/egw1 usw,
                                          Diese Instanz weiss nicht, dass der Präfix dazu gekommen ist und wird auch wenn Du da was publishst in dem Du in mqtt.0.laklounge.home.egw1 usw. was reinschreibst - das wieder so nach mosquitto zurückschreiben.

                                          Da muss es doch intern im Adapter etwas geben, was dem mqtt.0 sagt, du sendest bitte zurück mit dem Tonic home/egw1/Gerät und nicht mit wie ich erwarten würde lakelounge/home/egw1/ ...

                                          Nein das gibt es eben nicht und weil der mqtt.1 auch nicht wieder zurück subscribed - bleiben die Werte im mosquitto - aber keiner interessiert sich dafür - ausser Du nimmst einen anderen Client. Und genau das ist auch beabsichtigt:

                                          • DU DARFST NIE - in den Namensraum eines Adapters schreiben. Es wäre hochgradig gefährlich oder überhaupt nicht beabsichtigst, dass Du über mqtt - Datenpunkte direkt in den Adaptern steuerst. Das solltest Du dann bitte über Deine Logikmaschine mache. Das Präfix wird auch nie mehr entfernt.

                                          Nun kann der Adapter auch ohne Präfix in mosquitto schreiben - das geht und habe ich getestet. Allerdings verweigert der mqtt-Adapter grundsätzlich, alles was genauso wie ein Adapterpfad beginnt um genau davor zu schützen, dass man via mqtt- direkt in den Namensraum der Adapter schreiben kann - da genaut dies das Chaos erzeugt. Ich habe das getestet: Sprich wenn Du die mqtt.1. Instanz ohne Präfix schreiben lässt kommt es auch im mosquitto ohne Prefix an - der mqtt.0 Adapter weigert sich aber Punkte mit fbcheckpresense etc. wieder zu importieren - der hat eine Sperre, dass er nichts importiert, das einem internen Adapterpfad entspricht. Das ist quasi ein interner Schutz in den mqtt-Adaptern, dass die nichts importieren, was quasi direkt in Bereiche von anderen Adapter geschrieben werden kann.

                                          Ich hab ja schon mal kurz angedeutet, dass mqtt - kein ACK Flag kennt - für die iobroker Adapter ist das aber essentiell. Nur der Adapter darf bestätigte Datenpunkte setzen - der mqtt Adapter will aber ebenfalls bestätigte Datenpunkte setzen - da er auch unbestätigte nur Datenpunkte publishen will und mit dem ACK Flag weiss - ok das habe ich gesetzt und muss es nicht publishen. Das Chaos ist also perfekt. - Ich bin hier nicht der große MQTT- Guru aber so ist halt mein Verständnis.

                                          Es bleibt im Prinzip dabei, Du kannst, darfst iob-Adapter im iobroker nicht direkt von aussen über mqtt ansteuern, sondern nur über Deine Logikmaschine. Bei tasmota oder ähnlichem - dass Du über mqtt.0 und quasi eigenen mqtt - Datenpunkten ist das was anderes - da diese nur im mqtt Adapter sind und nicht in einem anderen Adapter.

                                          Also Grundregel: Du kannst über mqtt.0 aus dem iobroker alles steuern und Rückmeldungen bekommen, solange es nichts mit einem anderen Adapter zu tun hat. Möchtest Du aus welchen Gründen Information - wie fbcheckpresence aus dem iobroker exportieren, kannst Du das tun - aber nur um es in anderen Systemen zu verarbeiten. Wollen die was zurückmelden bekommst Du es unter lakelounge/ in mqtt.0 wieder mit - und dann musst Du mit Blockly oder NodeRed - JS reagieren, wenn das wieder was in einem oder mehreren Adaptern steuern soll.

                                          oder um es kurz auszudrücken auf Deine Frage:

                                          Da muss es doch intern im Adapter etwas geben, was dem mqtt.0 sagt, du sendest bitte zurück mit dem Tonic home/egw1/Gerät und nicht mit wie ich erwarten würde lakelounge/home/egw1/ ...

                                          NEIN, gibt es nicht und das ist in meinen Augen von den Entwicklern zu 100% so beabsichtigt, damit der mqtt- Adapter nicht in den Hoheitsraum eines anderen Adapters schreibt. Es war schon ein Kampf - oder eine Diskussion mit den Entwicklern, dass man über haupt States von anderen Adapter veröffentlichen kann. In der mqtt Adapter Version 4.0.0 war es komplett abgeschaltet und Du hattest gar keine Chance, was von anderen Adapter zu publishen - das wurde peu a peu nach der 3er Version entfernt. Ich habe dann aber mit bisschen diskutieren erreicht, dass man das wieder darf, so dass man zum Beispiel in NodeRed oder über andere Systeme über mqtt - iob States abfragen kann - aber eben abfragen und nie steuern. In der 4.0.0 Version - konnten die mqtt-Adapter IMMER NUR States aus dem eigenen Namensraum publishen, also mqtt.0.* usw.

                                          Wer also iobroker Adapter von außen ansteuern will, muss das entweder via mqtt und Logikmaschine machen oder er nutzt die HTTP API - sprich den Simple-API Adapter.

                                          Lies hierzu mal das Change Log des Adapters:
                                          https://github.com/ioBroker/ioBroker.mqtt
                                          c315f8b6-c30e-4d66-a9df-b8b0c7adbc5f-image.png

                                          ab der Version 4.0.2 war es dann zum Glück wieder möglich. ;)

                                          Wenn Du Lust hast - diese ganze Diskussion nachzuverfolgen, das war hier: https://github.com/ioBroker/ioBroker.mqtt/issues/293

                                          Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                                          lakeloungeL 1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          754

                                          Online

                                          32.5k

                                          Benutzer

                                          81.8k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe