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

  1. ioBroker Community Home
  2. Deutsch
  3. ioBroker Allgemein
  4. Grundsatzfrage zu den MQTT Adaptern

NEWS

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

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    1.9k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    15
    1
    2.3k

Grundsatzfrage zu den MQTT Adaptern

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
27 Beiträge 10 Kommentatoren 5.6k Aufrufe 13 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.
  • M mr1burns

    @mickym
    So erstmal die Einstellungen:
    mqtt-client.jpg mqtt-broker.jpg

    So laufen beide Instanzen ohne das der PI überläuft.

    Was möchte ich erreichen:
    Ich möchte die Daten welche mir der Modbusadapter über den WR zur verfügung stellt veröffentlichen. Damit die Daten dem EVCC zur verfügung gestellt werden können. (wie das genau eingestellt sein muss ist ein anderes Blatt.)
    Aktuell läuft EVCC direkt über modbus. Der kann aber nur eine Verbindung sonst gibt es Fehler.

    Logisch wäre das Objekt einzustellen, siehe BSP.:
    BSP.jpg
    Hier bekomme ich über MQTTBox keine Daten. Wahrscheinlich passt irgendwie meine Verständnis noch nicht was ich hier eingeben soll.
    MQTTBox.jpg

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

    @mr1burns So jetzt wird das schon etwas deutlicher.

    Ich gehe mal davon aus - Du nutzt nun nicht 2 Instanzen des mqtt-Client/Server Adapters, sondern

    mqtt.0 = ist Dein Server/Broker
    mqtt-client.0 = ist Dein Client

    Du hättest auch mit einem Adapter auskommen können - aber das tut erst mal nichts zur Sache. Ich würde auf dem Broker grundsätzlich auch erst mal alle Haken weg machen. Die Maske zum Veröffentlichen der eigenen States beim Broker heißt immer

    mqtt.0.*
    

    das heißt dort sind die States gespeichert, die der Broker verwaltet. Auf dem Client gibst Du nun an , was Du veröffentlichst. So ich habe mir gerade angeschaut - wie dieser mqtt-client funktioniert, da ich den normalerweise nicht verwende. Aber habs kapiert. Das heißt in dem Client gibst Du nur einzelne States ein, die gepublisht werden sollen und gibst oben drüber an in welches Topic. (also über das Zahnrad neben dem State) Für einzelne States funktioniert das sicher sehr gut - wenn Du allerdings Deinen ganzen Baum (also eines ganzen Adapters) publishen willst dann eignet sich der Client/Server Adapter besser.

    Also als erstes in Deinem Broker die eigenen States richtig stellen. Als Subscriber in Deiner MQTT Box - kannst ja auch mal # eingeben, dann siehst Du alles was sich verändert - aber mach bitte alle Haken in Deinem Broker weg. Das braucht es einfach nicht. Ach ja in Deiner mqtt Box - die kennt nur die mqtt topics und keine Adapter instanzen. Da gehören also die / hin und keine Punkte. Das muss dann genauso aussehen, wie das topic oben. Aber wie gesagt wenn Du eine subscription auf # machst, bekommst Du alles mit, was neu in Deinem Broker ist.

    Wichtig ist auch, dass Dein Topic Leerzeichen enthält - das musst Du auch genauso eingeben bei den Topic in Deiner mqtt Box - es wird nicht durch Unterstriche ersetzt.

    Hier mal ein Beispiel mit dem ich es nachgestellt habe:

    Im Datenpunkt ändert sich was - bei Dir unter modbus.0 - bei mir unter 0_userdata.0 - Ich setze folgenden String:

    7346378a-296d-4023-b9ea-f3d5a72c3eda-image.png

    Der mqtt-Client Adapter erstellt in der Regel automatisch das topic - kann man aber ändern:

    d70d4b1d-8e83-4947-bc74-722b55617705-image.png

    Du siehst das topic enthält einige Leerzeichen.

    Im Broker - bei mir ist das allerdings auch ein Client kommt das topic entsprechend an - aber hier ist der Name und nicht die ID für mqtt relevant:

    ed666aad-6a75-475b-acfb-22b1082c940e-image.png

    In der Subscription bzw. in einem neutralen MQTT-Client müssen die Leerzeichen miteingegeben werden:

    fcdde78f-37fc-4190-9135-333b41806557-image.png

    Also wie gesagt entweder gibst Du in Deiner mqtt Box # oder modbus/# ein oder wirklich das ganze Topic mit Leerzeichen und nicht mit Unterstrichen.

    Also

    modbus/0/inputRegisters/5016 Total DC Power
    

    Wichtig ist aber in meinen Augen

    1. mqtt.0.* - als Einzige Maske für die eigenen States
    2. ggf. nur mit dem Client/Server mqtt Adapter arbeiten, wenn Du ganze Adapterinstanzen exportieren willst - sollte aber das System nicht überlasten, sonst lieber einzelne Datenpunkte.
    3. Das mqtt topic hat nichts mit der ID des iobrokers zu tun. Das topic wird vom mqtt Adapter meist als Namen gesetzt.

    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
    1
    • M mr1burns

      @mickym
      So erstmal die Einstellungen:
      mqtt-client.jpg mqtt-broker.jpg

      So laufen beide Instanzen ohne das der PI überläuft.

      Was möchte ich erreichen:
      Ich möchte die Daten welche mir der Modbusadapter über den WR zur verfügung stellt veröffentlichen. Damit die Daten dem EVCC zur verfügung gestellt werden können. (wie das genau eingestellt sein muss ist ein anderes Blatt.)
      Aktuell läuft EVCC direkt über modbus. Der kann aber nur eine Verbindung sonst gibt es Fehler.

      Logisch wäre das Objekt einzustellen, siehe BSP.:
      BSP.jpg
      Hier bekomme ich über MQTTBox keine Daten. Wahrscheinlich passt irgendwie meine Verständnis noch nicht was ich hier eingeben soll.
      MQTTBox.jpg

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

      @mr1burns So ich hab das nun mal für Dich alles nachgestellt - wobei ich kurzfristig mal bei dem mqtt Client/Server Adapter die neueste Version genutzt habe - aber das kommt nur dann in Frage, wenn Du ganze Bäume hochlädst.

      Es gab für mich jedoch eine sehr erhellende Erkenntnis. Ich benutze ja mosquitto als Broker - deswegen stimmt das unten auch nur halb.

      Fakt ist:

      Wenn Du den mqtt-Adapter als Broker verwendest und gleichzeitig einen mqtt-Client Adapter oder auch den mqtt Adapter als Client - das zerschiesst Dir immer das System, wenn Du keinen Prefix verwendest. Das ist dann eine Endlosschleife.

      Deshalb funktioniert das Publishen mit dem mqtt-Adapter als Broker NUR, wenn du dafür eigene Präfixe nimmst.

      Im mqtt-Client Adapter also ein Präfix einstellen:

      77f4ab8d-3c85-40fc-9827-54c9ccbdfb0d-image.png

      Nur dann werden Endlosschleifen vermieden:

      d1fe2dab-f444-4046-bc4b-bf76740c2044-image.png

      Ansonsten wenn Du einen ganzen Adapter veröffentlichen willst - brauchst Du die neueste Version des mqtt Client/Server Adapters.

      081e8249-5538-4d51-b128-fdafcf9fb17e-image.png

      Damit kannst Du, wie von Dir geplant ganze Adapterbäume veröffentlichen:

      2fa16d49-7d31-40fd-ac01-674035171dd8-image.png

      Bei den Subscriber topics ist es wohl wurscht, ob man was einträgt oder nicht - wird wohl bei einem leeren Feld # verwendet.

      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.

      M 1 Antwort Letzte Antwort
      1
      • mickymM mickym

        @mr1burns So ich hab das nun mal für Dich alles nachgestellt - wobei ich kurzfristig mal bei dem mqtt Client/Server Adapter die neueste Version genutzt habe - aber das kommt nur dann in Frage, wenn Du ganze Bäume hochlädst.

        Es gab für mich jedoch eine sehr erhellende Erkenntnis. Ich benutze ja mosquitto als Broker - deswegen stimmt das unten auch nur halb.

        Fakt ist:

        Wenn Du den mqtt-Adapter als Broker verwendest und gleichzeitig einen mqtt-Client Adapter oder auch den mqtt Adapter als Client - das zerschiesst Dir immer das System, wenn Du keinen Prefix verwendest. Das ist dann eine Endlosschleife.

        Deshalb funktioniert das Publishen mit dem mqtt-Adapter als Broker NUR, wenn du dafür eigene Präfixe nimmst.

        Im mqtt-Client Adapter also ein Präfix einstellen:

        77f4ab8d-3c85-40fc-9827-54c9ccbdfb0d-image.png

        Nur dann werden Endlosschleifen vermieden:

        d1fe2dab-f444-4046-bc4b-bf76740c2044-image.png

        Ansonsten wenn Du einen ganzen Adapter veröffentlichen willst - brauchst Du die neueste Version des mqtt Client/Server Adapters.

        081e8249-5538-4d51-b128-fdafcf9fb17e-image.png

        Damit kannst Du, wie von Dir geplant ganze Adapterbäume veröffentlichen:

        2fa16d49-7d31-40fd-ac01-674035171dd8-image.png

        Bei den Subscriber topics ist es wohl wurscht, ob man was einträgt oder nicht - wird wohl bei einem leeren Feld # verwendet.

        M Offline
        M Offline
        mr1burns
        schrieb am zuletzt editiert von
        #11

        @mickym
        Du bis echt gut drauf... ich sag schon mal danke.. in der MQTTBox bekomme ich schon was... werde aber erst morgen oder am WE weiter Testen können...

        Raspi4 4GB
        IOBROKER
        EVCC

        mickymM 1 Antwort Letzte Antwort
        0
        • M mr1burns

          @mickym
          Du bis echt gut drauf... ich sag schon mal danke.. in der MQTTBox bekomme ich schon was... werde aber erst morgen oder am WE weiter Testen können...

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

          @mr1burns So naja - interessiert mich ja selbst etwas.

          So ich habe noch war rausgefunden - grundsätzlich exportiert ein mqtt-Client Server Adapter alle topics - die als eignen definiert werden.

          Falls das topic jedoch mit einem Namen beginnt der einem der Root-Namen im iobroker entspricht, dann werden die nicht mehr reimportiert - auch nicht wenn es über mosquitto läuft. Deshalb muss man immer einen eigenen Präfix mitgeben. Im Subtree ist es kein Problem. Das heißt Adapterinstanzen können ohne Prefix zwar exportiert werden - aber man wird sie nie in einer mqtt Instanz finden. Deshalb funktioniert das Publishen nur mit eigenem Präfix.

          Habs auch gerade getestet - wenn man Zustände braucht - Du rennst sofort in eine Endlosschleife.

          Also GRUNDSATZ: Alles was Du exportierst aus eigenen internen Zuständen macht man am Besten irgendein Schwachsinn in das subscription Feld eintragen - sonst nimmt der Adapter leider willkürlich # und subscribed alles und wenn man den eigenen Präfix nimmt - gibts bei Zuständen sofort wieder Endlosschleifen. :disappointed:

          Also wenn man Zustände benötigt - da fremde Adapter ja die Werte bestätigt in Ihren Namensraum schreiben - dann kann man mit dem mqtt Client/Server in der Version 4.0.7 folgende Konfiguration verwenden - getestet mit dem backitup Adapter:

          mqtt Export- Einstellungen.png

          und hier sieht man das Ergebnis:

          mqtt Export BackitUp.png

          So damit ist das Thema erstmal wieder für mich abgeschlossen. Ich hoffe es hat manchen wieder etwas geholfen und ich habe ja auch wieder was dazugelernt.

          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.

          Issr4kI 1 Antwort Letzte Antwort
          1
          • mickymM mickym

            @mr1burns So naja - interessiert mich ja selbst etwas.

            So ich habe noch war rausgefunden - grundsätzlich exportiert ein mqtt-Client Server Adapter alle topics - die als eignen definiert werden.

            Falls das topic jedoch mit einem Namen beginnt der einem der Root-Namen im iobroker entspricht, dann werden die nicht mehr reimportiert - auch nicht wenn es über mosquitto läuft. Deshalb muss man immer einen eigenen Präfix mitgeben. Im Subtree ist es kein Problem. Das heißt Adapterinstanzen können ohne Prefix zwar exportiert werden - aber man wird sie nie in einer mqtt Instanz finden. Deshalb funktioniert das Publishen nur mit eigenem Präfix.

            Habs auch gerade getestet - wenn man Zustände braucht - Du rennst sofort in eine Endlosschleife.

            Also GRUNDSATZ: Alles was Du exportierst aus eigenen internen Zuständen macht man am Besten irgendein Schwachsinn in das subscription Feld eintragen - sonst nimmt der Adapter leider willkürlich # und subscribed alles und wenn man den eigenen Präfix nimmt - gibts bei Zuständen sofort wieder Endlosschleifen. :disappointed:

            Also wenn man Zustände benötigt - da fremde Adapter ja die Werte bestätigt in Ihren Namensraum schreiben - dann kann man mit dem mqtt Client/Server in der Version 4.0.7 folgende Konfiguration verwenden - getestet mit dem backitup Adapter:

            mqtt Export- Einstellungen.png

            und hier sieht man das Ergebnis:

            mqtt Export BackitUp.png

            So damit ist das Thema erstmal wieder für mich abgeschlossen. Ich hoffe es hat manchen wieder etwas geholfen und ich habe ja auch wieder was dazugelernt.

            Issr4kI Offline
            Issr4kI Offline
            Issr4k
            schrieb am zuletzt editiert von Issr4k
            #13

            @mickym

            Ich lese mir den Thread bereits zum fünften Mal durch.

            In der Hoffnung das mir nichts entgeht... leider komme ich aber nicht ans Ziel.

            Gerne poste ich auch meine Einstellungen der Adapter, aber dort steht durch das viele ausprobieren sowieso nurnoch Käse drin.

            Ich verwende den MQTT Adapter und diesen als Server/Broker.
            der mir quasi nur einen Impuls an meinen Client senden soll.

            Der Client ist ein Arduino, welcher entsprechend mit einem Koppelrelais versehen ist und einen Impuls (true -> 1s -> false) auf mein Garagentorantrieb gibt.
            Der abgebildete Datenpunkt Befehl kommt über die Vis bzw über den javascript Adapter der direkt in den abgebildeten Baum des mqtt Adapters schreibt.

            Das hat bisher auch gut funktioniert nur seit dem Update auf 4.07... geht es leider nicht mehr.
            Und leider ist mein Verständnis für deine Erklärung nur begrenzt und ich verstehe nicht wie ich Präfixe verwenden muss.

            Ein Denkanstoß wäre sehr willkommen.

            Vielen Dank vorab!

            mqtt.PNG
            objekte.PNG

            Edit: das "Online" Lebenszeichen erhalte ich weiterhin Ordnungsgemäß vom Arduino.

            mickymM 1 Antwort Letzte Antwort
            0
            • Issr4kI Issr4k

              @mickym

              Ich lese mir den Thread bereits zum fünften Mal durch.

              In der Hoffnung das mir nichts entgeht... leider komme ich aber nicht ans Ziel.

              Gerne poste ich auch meine Einstellungen der Adapter, aber dort steht durch das viele ausprobieren sowieso nurnoch Käse drin.

              Ich verwende den MQTT Adapter und diesen als Server/Broker.
              der mir quasi nur einen Impuls an meinen Client senden soll.

              Der Client ist ein Arduino, welcher entsprechend mit einem Koppelrelais versehen ist und einen Impuls (true -> 1s -> false) auf mein Garagentorantrieb gibt.
              Der abgebildete Datenpunkt Befehl kommt über die Vis bzw über den javascript Adapter der direkt in den abgebildeten Baum des mqtt Adapters schreibt.

              Das hat bisher auch gut funktioniert nur seit dem Update auf 4.07... geht es leider nicht mehr.
              Und leider ist mein Verständnis für deine Erklärung nur begrenzt und ich verstehe nicht wie ich Präfixe verwenden muss.

              Ein Denkanstoß wäre sehr willkommen.

              Vielen Dank vorab!

              mqtt.PNG
              objekte.PNG

              Edit: das "Online" Lebenszeichen erhalte ich weiterhin Ordnungsgemäß vom Arduino.

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

              @issr4k Hallo, wie ich bereits schon mal erwähnt habe - published ein Broker eigentlich gar nicht. Ich würde mal alle Haken aus der mqtt Konfig rausnehmen und einen den separaten mqtt-Client installieren - den Adapter mit dem Zahnrad - das ist keine neue Instanz dieses Adapters, sondern ein komplett anderer.

              Diesem client-Adapter gibts Du als Broker dann die lokale Instanz Deines jetzt bereits als Broker installiertem Instanz mit.

              f23da994-fbe9-4f2a-b823-204597d6650f-image.png

              Die 1. Kachel ist der Adapter, den Du bereits installiert hast und den Du als Broker konfiguriert hast. Der 2. Adapter heißt nur mqtt-Client und der stellt Dir das Zahnrad zur Verfügung.

              Bei diesem gibst Du dann als Broker local host ein, da ja Dein Broker Adapter auf der gleichen Maschine läuft:

              c0ef42c3-6768-45fd-9d3f-b223330e3eac-image.png

              hier musst Du auch keine Präfixe eingeben beim Publishen - darf halt grundsätzlich nicht wie ein Adapter heißen.

              ebd9c738-b489-4597-87de-11129a0db4cc-image.png

              Das Publishen stellst Du dann bei den Datenpunkten über das Zahnrad in den Objekten ein:

              066f1240-43f1-44b3-8fac-07a0c8114fc3-image.png

              das schöne an dem reinen Client-Adapter ist, dass Du hier völlig frei in der Wahl des Topics bist:

              In diesem Fall würde ich auch nichts abonnieren:

              088351bd-3b78-4bd1-aab8-533d33ca588b-image.png

              Falls ein anderer Client was in dieses Topic reinschreiben sollte, bekommst Du das ja über Deine Broker instanz mit.

              Nachtrag:

              Der abgebildete Datenpunkt Befehl kommt über die Vis bzw über den javascript Adapter der direkt in den abgebildeten Baum des mqtt Adapters schreibt.

              Leg lieber einen eigenen Datenpunkt unter 0_userdata.0 an - so wie sich das gehört und schreib mit VIS bzw. über den Javascript Adapter in diesen Datenpunkt. Der mqtt-client Adapter published es dann an den Server - Deine mqtt-Broker Instanz und informiert Deinen Client (Ardunino), dass ein neuer Wert vorhanden ist und schickt ihn dann. Ein Broker ist unter mqtt - eigentlich immer ein passives Kerlchen, der zwar schickt, aber nur wenn ein Client das subscribed - abonniert hat.

              Das andere mit dem in den Datenpunkt direkt unter der mqtt-Instanz reinschreiben, funktioniert mit dem anderen Adapter nur dann richtig, wenn dieser als Client zu einem anderen Broker betrieben wird.

              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.

              BananaJoeB 1 Antwort Letzte Antwort
              2
              • mickymM mickym

                @issr4k Hallo, wie ich bereits schon mal erwähnt habe - published ein Broker eigentlich gar nicht. Ich würde mal alle Haken aus der mqtt Konfig rausnehmen und einen den separaten mqtt-Client installieren - den Adapter mit dem Zahnrad - das ist keine neue Instanz dieses Adapters, sondern ein komplett anderer.

                Diesem client-Adapter gibts Du als Broker dann die lokale Instanz Deines jetzt bereits als Broker installiertem Instanz mit.

                f23da994-fbe9-4f2a-b823-204597d6650f-image.png

                Die 1. Kachel ist der Adapter, den Du bereits installiert hast und den Du als Broker konfiguriert hast. Der 2. Adapter heißt nur mqtt-Client und der stellt Dir das Zahnrad zur Verfügung.

                Bei diesem gibst Du dann als Broker local host ein, da ja Dein Broker Adapter auf der gleichen Maschine läuft:

                c0ef42c3-6768-45fd-9d3f-b223330e3eac-image.png

                hier musst Du auch keine Präfixe eingeben beim Publishen - darf halt grundsätzlich nicht wie ein Adapter heißen.

                ebd9c738-b489-4597-87de-11129a0db4cc-image.png

                Das Publishen stellst Du dann bei den Datenpunkten über das Zahnrad in den Objekten ein:

                066f1240-43f1-44b3-8fac-07a0c8114fc3-image.png

                das schöne an dem reinen Client-Adapter ist, dass Du hier völlig frei in der Wahl des Topics bist:

                In diesem Fall würde ich auch nichts abonnieren:

                088351bd-3b78-4bd1-aab8-533d33ca588b-image.png

                Falls ein anderer Client was in dieses Topic reinschreiben sollte, bekommst Du das ja über Deine Broker instanz mit.

                Nachtrag:

                Der abgebildete Datenpunkt Befehl kommt über die Vis bzw über den javascript Adapter der direkt in den abgebildeten Baum des mqtt Adapters schreibt.

                Leg lieber einen eigenen Datenpunkt unter 0_userdata.0 an - so wie sich das gehört und schreib mit VIS bzw. über den Javascript Adapter in diesen Datenpunkt. Der mqtt-client Adapter published es dann an den Server - Deine mqtt-Broker Instanz und informiert Deinen Client (Ardunino), dass ein neuer Wert vorhanden ist und schickt ihn dann. Ein Broker ist unter mqtt - eigentlich immer ein passives Kerlchen, der zwar schickt, aber nur wenn ein Client das subscribed - abonniert hat.

                Das andere mit dem in den Datenpunkt direkt unter der mqtt-Instanz reinschreiben, funktioniert mit dem anderen Adapter nur dann richtig, wenn dieser als Client zu einem anderen Broker betrieben wird.

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

                @mickym was spricht dagegen eine 2. Instanz des MQTT Broker/Client zu nehmen und als Client zu konfigurieren? Bzw. was ist der Vorteil.
                Ich wollte gerade schreiben das der MQTT-Client scheinbar weniger gepflegt wird, aber Apollon77 hat sich dem wohl angenommen - der wird also gepflegt und Fehler behoben.

                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

                mickymM 2 Antworten Letzte Antwort
                0
                • BananaJoeB BananaJoe

                  @mickym was spricht dagegen eine 2. Instanz des MQTT Broker/Client zu nehmen und als Client zu konfigurieren? Bzw. was ist der Vorteil.
                  Ich wollte gerade schreiben das der MQTT-Client scheinbar weniger gepflegt wird, aber Apollon77 hat sich dem wohl angenommen - der wird also gepflegt und Fehler behoben.

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

                  @bananajoe
                  Nachteile des mqtt-Broker/Client Adapters

                  1. Du musst zwingend ein Präfix verwenden, da wie erläutert topics, die mit einem Adapterpfad beginnen, nicht wieder reimportiert werden. Ist nicht schlimm, aber man muss es dem Arduino Client halt sagen, dass ein anderes Topic abonniert werden muss.
                  2. topic können nicht frei vergeben werden.
                  3. nicht einfach über Zahnrad einzelne states auswählbar.

                  Es geht aber auch 2. Instanz des mqtt-Broker/Client Adapters als Client konfiguriert
                  Man kann eine 2. Instanz als des mqtt Client/Broker Adapters verwenden, dann alles bei mqtt.1.* belassen, aber wie gesagt dann ist Präfix Pflicht und auf keinen Fall was subscriben. Muss man halt nur in Ardunio das Topic zum Subscriben ändern. Also Pattern zum subscriben auf nothing oder sowas setzen, das wird wohl in einer der nächsten Versionen angeboten, dass der subscribe Eintrag als Option ignoriert werden kann. dann kann man auch in selbst erstellte Datenpunkte unter mqtt.1 via VIS oder JS was publishen. Betreibt man den Adapter als Broker scheint das halt manchmal Probleme zu machen, sowohl direkt was in die Objekte der Adapterinstanz was reinzuschreiben als auch mit SendTo, wie in einem Parallelthread zu lesen..
                  @BananaJoe Wir Betreiben den Adapter ja nicht als Broker, sondern als Client zu mosquitto. Das ist der Unterschied.

                  Vielleicht gehts auch als Broker aber Präfix ist immer notwendig beim publishen mit diesem Adapter

                  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

                    @mickym was spricht dagegen eine 2. Instanz des MQTT Broker/Client zu nehmen und als Client zu konfigurieren? Bzw. was ist der Vorteil.
                    Ich wollte gerade schreiben das der MQTT-Client scheinbar weniger gepflegt wird, aber Apollon77 hat sich dem wohl angenommen - der wird also gepflegt und Fehler behoben.

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

                    @bananajoe sagte in Grundsatzfrage zu den MQTT Adaptern:

                    Ich wollte gerade schreiben das der MQTT-Client scheinbar weniger gepflegt wird, aber Apollon77 hat sich dem wohl angenommen - der wird also gepflegt und Fehler behoben.

                    dachte ich bis vor 1 Jahr auch, da war das auch total antiquiert mit Listen, aber da hat sich massiv was getan mit dem Zahnrad.

                    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.

                    Issr4kI 1 Antwort Letzte Antwort
                    0
                    • mickymM mickym

                      @bananajoe sagte in Grundsatzfrage zu den MQTT Adaptern:

                      Ich wollte gerade schreiben das der MQTT-Client scheinbar weniger gepflegt wird, aber Apollon77 hat sich dem wohl angenommen - der wird also gepflegt und Fehler behoben.

                      dachte ich bis vor 1 Jahr auch, da war das auch total antiquiert mit Listen, aber da hat sich massiv was getan mit dem Zahnrad.

                      Issr4kI Offline
                      Issr4kI Offline
                      Issr4k
                      schrieb am zuletzt editiert von
                      #18

                      Hallo @mickym

                      bin leider erst heute morgen ans Testen gekommen und was soll ich sagen... in einem anderen Thread wurdest du als MQTT -Meister betitelt und das würde ich auch unterschreiben... :)

                      Habe wie du gesagt hast den client dazu genommen, die States neu angelegt, mit MQTT Explorer rumexperimentiert und jetzt funktioniert es... irgendwie...

                      Ich sehe am Ende eines laaaangen, laaangen Tunnels etwas Licht, aber noch ein weiter Weg für mich, bis ich das wirklich verstanden habe.

                      Vielen, vielen Dank an dich!
                      auch an @BananaJoe

                      1 Antwort Letzte Antwort
                      0
                      • J Offline
                        J Offline
                        Jockel_Bln
                        schrieb am zuletzt editiert von
                        #19

                        Sorry wenn ich diesen Faden wieder ausgrabe, aber ich bin gerade mit meinem Latein am Ende.
                        Nachdem ich nur den mqtt-Broker/Client Adapter verwendet habe um einige Topics an meine Wärmepumpe zu schicken, wollte ich es nun richtig machen und Broker und Client trennen.
                        Eingestellt ist am Broker folgendes
                        e3221ac7-3a26-45b5-b85d-8e93da3d3b2a-image.png
                        Am Client Adapter sieht s so aus, admin und Passwort stimmen natürlich auch.
                        2bd0fe35-f068-406a-856a-6bb20a26eabf-image.png

                        Leider bekomme ich keine Verbindung zustande, im Log steht dann immer folgendes
                        58964621-5e65-493d-a1b3-44e9a2711265-image.png

                        Das Ganze läuft bei mir in einem Proxmox Container, die Verbindung von meiner Wärmepumpe zum MQTT Broker funktioniert einwandfrei und Ping an localhost funktioniert auch. Getestet habe ich auch mit 127.0.0.1 und 192.168.178.38 - immer das gleiche Ergebnis.
                        Das ist /etc/hosts

                        127.0.0.1       localhost
                        ::1             localhost ip6-localhost ip6-loopback
                        ff02::1         ip6-allnodes
                        ff02::2         ip6-allrouters
                        # --- BEGIN PVE ---
                        192.168.178.38 iobroker.home iobroker
                        # --- END PVE ---
                        

                        Vielleicht hat ja noch jemand eine Idee, ich komme einfach nicht mehr weiter.
                        Ich muss dazu sagen, dass ich mit Ü60 nicht so der Linuxexperte bin und mir alles nach und nach angelesen habe.

                        J 1 Antwort Letzte Antwort
                        0
                        • J Jockel_Bln

                          Sorry wenn ich diesen Faden wieder ausgrabe, aber ich bin gerade mit meinem Latein am Ende.
                          Nachdem ich nur den mqtt-Broker/Client Adapter verwendet habe um einige Topics an meine Wärmepumpe zu schicken, wollte ich es nun richtig machen und Broker und Client trennen.
                          Eingestellt ist am Broker folgendes
                          e3221ac7-3a26-45b5-b85d-8e93da3d3b2a-image.png
                          Am Client Adapter sieht s so aus, admin und Passwort stimmen natürlich auch.
                          2bd0fe35-f068-406a-856a-6bb20a26eabf-image.png

                          Leider bekomme ich keine Verbindung zustande, im Log steht dann immer folgendes
                          58964621-5e65-493d-a1b3-44e9a2711265-image.png

                          Das Ganze läuft bei mir in einem Proxmox Container, die Verbindung von meiner Wärmepumpe zum MQTT Broker funktioniert einwandfrei und Ping an localhost funktioniert auch. Getestet habe ich auch mit 127.0.0.1 und 192.168.178.38 - immer das gleiche Ergebnis.
                          Das ist /etc/hosts

                          127.0.0.1       localhost
                          ::1             localhost ip6-localhost ip6-loopback
                          ff02::1         ip6-allnodes
                          ff02::2         ip6-allrouters
                          # --- BEGIN PVE ---
                          192.168.178.38 iobroker.home iobroker
                          # --- END PVE ---
                          

                          Vielleicht hat ja noch jemand eine Idee, ich komme einfach nicht mehr weiter.
                          Ich muss dazu sagen, dass ich mit Ü60 nicht so der Linuxexperte bin und mir alles nach und nach angelesen habe.

                          J Offline
                          J Offline
                          Jockel_Bln
                          schrieb am zuletzt editiert von
                          #20

                          Ich habe nun eine andere Lösung für mich gefunden.
                          Für die wenigen Datenpunkte, die ich an die WP schicken möchte, benutze ich nun einfach einen sendTo Block in Blockly. Hier ein Beispiel
                          595ad5bf-b065-493e-90d6-2513b3385223-image.png
                          Funktioniert bisher gut. So kann ich mir die entsprechenden Datenpunkte unter 0_userdata anlegen und muss nicht mehr in mqtt.0 rum schreiben. Den Client Adapter kann ich damit dann wohl auch sparen.

                          1 Antwort Letzte Antwort
                          0
                          • S Offline
                            S Offline
                            stefu87_CH
                            schrieb am zuletzt editiert von stefu87_CH
                            #21

                            Hallo zusammen

                            Ich steige neu in Arduino ESP 32 ein und möchte die Infos vom ESP an IOB senden, was soweit auch klappt.
                            Aber ich habe das Problem, das ich auch noch Shelly auf dem IOB habe mit MQTT.

                            Jetzt ist meine Frage, kann ich im MQTT Adapter irgenwas einstellen, das er nur die Daten vom ESP 32 anzeigt in den Instanzen, ohne die Shellys miteinzubinden??

                            Im Shelly Logt er mir das alles voll:

                            2025-05-17 15:21:53.570 - error: shelly.1 (3935900) [MQTT] (Shelly?) device unknown, configuration for client with id "ESP32Waage" (ESP32Waage / ESP32Waage / undefined) does not exist! Maybe this device is not supported in this adapter version.
                            2025-05-17 15:21:53.570 - error: shelly.1 (3935900) [MQTT] DO NOT CHANGE THE CLIENT-ID OF YOUR SHELLY DEVICES (see adapter documentation for details)
                            2025-05-17 15:21:53.581 - info: shelly.1 (3935900) [MQTT] Client Close: (ESP32Waage / ESP32Waage / undefined) (false)
                            2025-05-17 15:21:58.588 - error: shelly.1 (3935900) [MQTT] (Shelly?) device unknown, configuration for client with id "ESP32Waage" (ESP32Waage / ESP32Waage / undefined) does not exist! Maybe this device is not supported in this adapter version.
                            2025-05-17 15:21:58.588 - error: shelly.1 (3935900) [MQTT] DO NOT CHANGE THE CLIENT-ID OF YOUR SHELLY DEVICES (see adapter documentation for details)
                            

                            8 x Intel(R) Core(TM) i5-8250U CPU @ 1.60GHz
                            Gigabyte mit Proxmox
                            LXC Container mit Iobroker

                            Samson71S 1 Antwort Letzte Antwort
                            0
                            • S stefu87_CH

                              Hallo zusammen

                              Ich steige neu in Arduino ESP 32 ein und möchte die Infos vom ESP an IOB senden, was soweit auch klappt.
                              Aber ich habe das Problem, das ich auch noch Shelly auf dem IOB habe mit MQTT.

                              Jetzt ist meine Frage, kann ich im MQTT Adapter irgenwas einstellen, das er nur die Daten vom ESP 32 anzeigt in den Instanzen, ohne die Shellys miteinzubinden??

                              Im Shelly Logt er mir das alles voll:

                              2025-05-17 15:21:53.570 - error: shelly.1 (3935900) [MQTT] (Shelly?) device unknown, configuration for client with id "ESP32Waage" (ESP32Waage / ESP32Waage / undefined) does not exist! Maybe this device is not supported in this adapter version.
                              2025-05-17 15:21:53.570 - error: shelly.1 (3935900) [MQTT] DO NOT CHANGE THE CLIENT-ID OF YOUR SHELLY DEVICES (see adapter documentation for details)
                              2025-05-17 15:21:53.581 - info: shelly.1 (3935900) [MQTT] Client Close: (ESP32Waage / ESP32Waage / undefined) (false)
                              2025-05-17 15:21:58.588 - error: shelly.1 (3935900) [MQTT] (Shelly?) device unknown, configuration for client with id "ESP32Waage" (ESP32Waage / ESP32Waage / undefined) does not exist! Maybe this device is not supported in this adapter version.
                              2025-05-17 15:21:58.588 - error: shelly.1 (3935900) [MQTT] DO NOT CHANGE THE CLIENT-ID OF YOUR SHELLY DEVICES (see adapter documentation for details)
                              
                              Samson71S Offline
                              Samson71S Offline
                              Samson71
                              Global Moderator
                              schrieb am zuletzt editiert von
                              #22

                              @stefu87_ch sagte in Grundsatzfrage zu den MQTT Adaptern:

                              Aber ich habe das Problem, das ich auch noch Shelly auf dem IOB habe mit MQTT.

                              Nutzt Du den Shelly-Adapter dafür oder tatsächlich "reines" MQTT?

                              Markus

                              Bitte beachten:
                              Hinweise für gute Forenbeiträge
                              Maßnahmen zum Schutz des Forums

                              S 1 Antwort Letzte Antwort
                              0
                              • Samson71S Samson71

                                @stefu87_ch sagte in Grundsatzfrage zu den MQTT Adaptern:

                                Aber ich habe das Problem, das ich auch noch Shelly auf dem IOB habe mit MQTT.

                                Nutzt Du den Shelly-Adapter dafür oder tatsächlich "reines" MQTT?

                                S Offline
                                S Offline
                                stefu87_CH
                                schrieb am zuletzt editiert von
                                #23

                                @samson71 sagte in Grundsatzfrage zu den MQTT Adaptern:

                                Nutzt Du den Shelly-Adapter dafür oder tatsächlich "reines" MQTT?

                                Den Shelly Adapter rein für die Shellys der neuen Generation und jetzt möchte ich gerne den ESP32 mit dem MQTT Adapter verwenden. Die Shellys sollen weiterhin mit dem Shelly Adapter kommunizieren.

                                8 x Intel(R) Core(TM) i5-8250U CPU @ 1.60GHz
                                Gigabyte mit Proxmox
                                LXC Container mit Iobroker

                                Samson71S 1 Antwort Letzte Antwort
                                0
                                • S stefu87_CH

                                  @samson71 sagte in Grundsatzfrage zu den MQTT Adaptern:

                                  Nutzt Du den Shelly-Adapter dafür oder tatsächlich "reines" MQTT?

                                  Den Shelly Adapter rein für die Shellys der neuen Generation und jetzt möchte ich gerne den ESP32 mit dem MQTT Adapter verwenden. Die Shellys sollen weiterhin mit dem Shelly Adapter kommunizieren.

                                  Samson71S Offline
                                  Samson71S Offline
                                  Samson71
                                  Global Moderator
                                  schrieb am zuletzt editiert von
                                  #24

                                  @stefu87_ch
                                  Dann hast Du doch keine Probleme. Den Shelly-Adapter so lassen wie er ist und die ESP in eine Instanz vom MQTT-Adapter. Natürlich auf unterschiedlichen Ports. So bleiben die Geräte dann auch "separat" in ihren jeweiligen Adaptern. Oder versuchst Du etwa die ESP mit in den Shelly-Adapter zu integrieren?

                                  Markus

                                  Bitte beachten:
                                  Hinweise für gute Forenbeiträge
                                  Maßnahmen zum Schutz des Forums

                                  S 1 Antwort Letzte Antwort
                                  0
                                  • Samson71S Samson71

                                    @stefu87_ch
                                    Dann hast Du doch keine Probleme. Den Shelly-Adapter so lassen wie er ist und die ESP in eine Instanz vom MQTT-Adapter. Natürlich auf unterschiedlichen Ports. So bleiben die Geräte dann auch "separat" in ihren jeweiligen Adaptern. Oder versuchst Du etwa die ESP mit in den Shelly-Adapter zu integrieren?

                                    S Offline
                                    S Offline
                                    stefu87_CH
                                    schrieb am zuletzt editiert von
                                    #25

                                    @samson71 Nein die sollen getrennt bleiben.

                                    Das heisst ich kann im MQTT Adapter irgendeinen freien Port nehmen und den gleichen im ESP definieren, und dann sollte das klappen?

                                    8 x Intel(R) Core(TM) i5-8250U CPU @ 1.60GHz
                                    Gigabyte mit Proxmox
                                    LXC Container mit Iobroker

                                    Samson71S 1 Antwort Letzte Antwort
                                    0
                                    • S stefu87_CH

                                      @samson71 Nein die sollen getrennt bleiben.

                                      Das heisst ich kann im MQTT Adapter irgendeinen freien Port nehmen und den gleichen im ESP definieren, und dann sollte das klappen?

                                      Samson71S Offline
                                      Samson71S Offline
                                      Samson71
                                      Global Moderator
                                      schrieb am zuletzt editiert von
                                      #26

                                      @stefu87_ch sagte in Grundsatzfrage zu den MQTT Adaptern:

                                      Das heisst ich kann im MQTT Adapter irgendeinen freien Port nehmen und den gleichen im ESP definieren, und dann sollte das klappen?

                                      Im Prinzip ja. Zumindest wenn ioBroker auch gleichzeitig der MQTT-Server ist und da kein externer wie Mosquitto o.ä. mit im Spiel ist. Also Shelly z.B. auf Port 1883 und MQTT auf Port 1884. In den Endgeräten entsprechend die Ports setzen und gut ist.

                                      Markus

                                      Bitte beachten:
                                      Hinweise für gute Forenbeiträge
                                      Maßnahmen zum Schutz des Forums

                                      S 1 Antwort Letzte Antwort
                                      0
                                      • Samson71S Samson71

                                        @stefu87_ch sagte in Grundsatzfrage zu den MQTT Adaptern:

                                        Das heisst ich kann im MQTT Adapter irgendeinen freien Port nehmen und den gleichen im ESP definieren, und dann sollte das klappen?

                                        Im Prinzip ja. Zumindest wenn ioBroker auch gleichzeitig der MQTT-Server ist und da kein externer wie Mosquitto o.ä. mit im Spiel ist. Also Shelly z.B. auf Port 1883 und MQTT auf Port 1884. In den Endgeräten entsprechend die Ports setzen und gut ist.

                                        S Offline
                                        S Offline
                                        stefu87_CH
                                        schrieb am zuletzt editiert von
                                        #27

                                        @samson71 Ok werde das mal testen. Ja ioBroker ist als Server eingestellt im MQTT Adapter

                                        8 x Intel(R) Core(TM) i5-8250U CPU @ 1.60GHz
                                        Gigabyte mit Proxmox
                                        LXC Container mit Iobroker

                                        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
                                        FAQ Cloud / IOT
                                        HowTo: Node.js-Update
                                        HowTo: Backup/Restore
                                        Downloads
                                        BLOG

                                        489

                                        Online

                                        32.4k

                                        Benutzer

                                        81.4k

                                        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