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. ioBroker Allgemein
  4. MQTT überträgt Wert nicht zum ESP32

NEWS

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    10
    1
    118

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.4k

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

MQTT überträgt Wert nicht zum ESP32

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
7 Beiträge 2 Kommentatoren 718 Aufrufe 2 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.
  • Berges01B Offline
    Berges01B Offline
    Berges01
    schrieb am zuletzt editiert von
    #1

    Ich habe eine Verbindung zwischen ioBroker und einem ESP32 hergestellt.
    Beim ioBroker läuft dei MQTT-Instanz.
    Beim ESP32 greife ich per "EspMQTTClient client" darauf zu.
    So weit so Gut.
    Alles wurde bis Dato einwandfrei übertragen, bis auf eine Neue Sache die ich eingefügt habe.

    Per Blockly habe ich den Datenpunkt des MQTT gefüllt und hoffte das das an den ESp32 übertragen würde.
    Das passiert aber irgendwie nicht.

    Ich habe beim Blockly folgenden Eintrag geschrieben :
    a0fb19ba-6f69-4beb-a2a0-07f1648ee757-image.png

    Ich beschreibe also die Beiden Datenpunkte "ESP32_TFT ....." mit Den Inhalten und habe am Schluss noch ein CR eingefügt (Sonst hatte ich Probleme das zu übertragen an Anderer Stelle).

    Hier sind die zugehörigen Datenpunkte:
    e871e7ea-ea27-49eb-bda4-312d1f5c4be0-image.png

    Die beiden Datenpunkte sind schon mit Inhalt gefüllt der aber nicht übertragen wird.

    Wenn ich diese Inhalte Händisch (Über den Schreibstift) eintrage und mit einem CR abschließe so wird der Inhalt sofort zum ESP32 übertragen.
    Wo liegt da der Fehler ?
    Was habe ich im Blockly vergessen oder wo muss ich noch etwas konfigutieren?

    F.B.

    BananaJoeB 1 Antwort Letzte Antwort
    0
    • Berges01B Berges01

      Ich habe eine Verbindung zwischen ioBroker und einem ESP32 hergestellt.
      Beim ioBroker läuft dei MQTT-Instanz.
      Beim ESP32 greife ich per "EspMQTTClient client" darauf zu.
      So weit so Gut.
      Alles wurde bis Dato einwandfrei übertragen, bis auf eine Neue Sache die ich eingefügt habe.

      Per Blockly habe ich den Datenpunkt des MQTT gefüllt und hoffte das das an den ESp32 übertragen würde.
      Das passiert aber irgendwie nicht.

      Ich habe beim Blockly folgenden Eintrag geschrieben :
      a0fb19ba-6f69-4beb-a2a0-07f1648ee757-image.png

      Ich beschreibe also die Beiden Datenpunkte "ESP32_TFT ....." mit Den Inhalten und habe am Schluss noch ein CR eingefügt (Sonst hatte ich Probleme das zu übertragen an Anderer Stelle).

      Hier sind die zugehörigen Datenpunkte:
      e871e7ea-ea27-49eb-bda4-312d1f5c4be0-image.png

      Die beiden Datenpunkte sind schon mit Inhalt gefüllt der aber nicht übertragen wird.

      Wenn ich diese Inhalte Händisch (Über den Schreibstift) eintrage und mit einem CR abschließe so wird der Inhalt sofort zum ESP32 übertragen.
      Wo liegt da der Fehler ?
      Was habe ich im Blockly vergessen oder wo muss ich noch etwas konfigutieren?

      BananaJoeB Online
      BananaJoeB Online
      BananaJoe
      Most Active
      schrieb am zuletzt editiert von
      #2

      @berges01 woher kommt der Datenpunkt? hast du den selbst angelegt? Wenn ja, wie?

      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

      Berges01B 1 Antwort Letzte Antwort
      0
      • BananaJoeB BananaJoe

        @berges01 woher kommt der Datenpunkt? hast du den selbst angelegt? Wenn ja, wie?

        Berges01B Offline
        Berges01B Offline
        Berges01
        schrieb am zuletzt editiert von
        #3

        @bananajoe

        Der Datenpunkt wurde Automatisch angelegt nach dem ich diesen im ESP32 aufgerufen habe.

        //------------------- Daten vom MQTT abholen und zuordnen ---------------------
        //-----------------------------------------------------------------------------
        void onConnectionEstablished()
        {
        
          // Für Werte Display
          //...................
          client.subscribe("ESP32_TFT_Display/intopic/Innentemperatur", [](const String & payload) 
          {Innentemperatur = payload;});
          
          client.subscribe("ESP32_TFT_Display/intopic/Aussentemperatur", [](const String & payload) 
          {Aussentemperatur = payload;});
        
          client.subscribe("ESP32_TFT_Display/intopic/InnenFeuchte", [](const String & payload) 
          {InnenFeuchte = payload;});
          
          client.subscribe("ESP32_TFT_Display/intopic/AussenFeuchte", [](const String & payload) 
          {AussenFeuchte = payload;});
        
          client.subscribe("ESP32_TFT_Display/intopic/Regenmenge", [](const String & payload) 
          {Regenmenge = payload;});
        
          client.subscribe("ESP32_TFT_Display/intopic/Regenmenge_24", [](const String & payload) 
          {Regenmenge_24 = payload;});
        
          client.subscribe("ESP32_TFT_Display/intopic/Windgeschwindigkeit", [](const String & payload) 
          {Windgeschw = payload;});
        
          client.subscribe("ESP32_TFT_Display/intopic/Windboeen", [](const String & payload) 
          {Windboe = payload;});
        
          client.subscribe("ESP32_TFT_Display/intopic/CO2Innen", [](const String & payload) 
          {CO2Innen = payload;});
        
          // Für Störungs Display
          //.....................
          client.subscribe("ESP32_TFT_Display/intopic/Stoermeldung_Zeile1", [](const String & payload) 
          {Stoermeldung_Z1 = payload;});
          
          client.subscribe("ESP32_TFT_Display/intopic/Stoermeldung_Zeile2", [](const String & payload) 
          {Stoermeldung_Z2 = payload;});
          
          client.subscribe("ESP32_TFT_Display/intopic/Stoermeldung_Zeile3", [](const String & payload) 
          {Stoermeldung_Z3 = payload;});
        
          client.subscribe("ESP32_TFT_Display/intopic/Stoermeldung_Zeile4", [](const String & payload) 
          {Stoermeldung_Z4 = payload;});
            
          // Für Batterie Display
          //......................
          client.subscribe("ESP32_TFT_Display/intopic/Batterie_ID", [](const String & payload) 
          {Batterie_ID = payload;});
        
          client.subscribe("ESP32_TFT_Display/intopic/Batterie_Restladung", [](const String & payload) 
          {Batterie_Restladung = payload;});
           
          // Publish a message to "mytopic/test"
          client.publish("ESP32_TFT_Display/outtopic/Reaktion",Reaktions_Flag
          ); // You can activate the retain flag by setting the third parameter to true
        }
        //-----------------------------------------------------------------------------
        

        Hier ist der Aufruf.

        F.B.

        BananaJoeB 1 Antwort Letzte Antwort
        0
        • Berges01B Berges01

          @bananajoe

          Der Datenpunkt wurde Automatisch angelegt nach dem ich diesen im ESP32 aufgerufen habe.

          //------------------- Daten vom MQTT abholen und zuordnen ---------------------
          //-----------------------------------------------------------------------------
          void onConnectionEstablished()
          {
          
            // Für Werte Display
            //...................
            client.subscribe("ESP32_TFT_Display/intopic/Innentemperatur", [](const String & payload) 
            {Innentemperatur = payload;});
            
            client.subscribe("ESP32_TFT_Display/intopic/Aussentemperatur", [](const String & payload) 
            {Aussentemperatur = payload;});
          
            client.subscribe("ESP32_TFT_Display/intopic/InnenFeuchte", [](const String & payload) 
            {InnenFeuchte = payload;});
            
            client.subscribe("ESP32_TFT_Display/intopic/AussenFeuchte", [](const String & payload) 
            {AussenFeuchte = payload;});
          
            client.subscribe("ESP32_TFT_Display/intopic/Regenmenge", [](const String & payload) 
            {Regenmenge = payload;});
          
            client.subscribe("ESP32_TFT_Display/intopic/Regenmenge_24", [](const String & payload) 
            {Regenmenge_24 = payload;});
          
            client.subscribe("ESP32_TFT_Display/intopic/Windgeschwindigkeit", [](const String & payload) 
            {Windgeschw = payload;});
          
            client.subscribe("ESP32_TFT_Display/intopic/Windboeen", [](const String & payload) 
            {Windboe = payload;});
          
            client.subscribe("ESP32_TFT_Display/intopic/CO2Innen", [](const String & payload) 
            {CO2Innen = payload;});
          
            // Für Störungs Display
            //.....................
            client.subscribe("ESP32_TFT_Display/intopic/Stoermeldung_Zeile1", [](const String & payload) 
            {Stoermeldung_Z1 = payload;});
            
            client.subscribe("ESP32_TFT_Display/intopic/Stoermeldung_Zeile2", [](const String & payload) 
            {Stoermeldung_Z2 = payload;});
            
            client.subscribe("ESP32_TFT_Display/intopic/Stoermeldung_Zeile3", [](const String & payload) 
            {Stoermeldung_Z3 = payload;});
          
            client.subscribe("ESP32_TFT_Display/intopic/Stoermeldung_Zeile4", [](const String & payload) 
            {Stoermeldung_Z4 = payload;});
              
            // Für Batterie Display
            //......................
            client.subscribe("ESP32_TFT_Display/intopic/Batterie_ID", [](const String & payload) 
            {Batterie_ID = payload;});
          
            client.subscribe("ESP32_TFT_Display/intopic/Batterie_Restladung", [](const String & payload) 
            {Batterie_Restladung = payload;});
             
            // Publish a message to "mytopic/test"
            client.publish("ESP32_TFT_Display/outtopic/Reaktion",Reaktions_Flag
            ); // You can activate the retain flag by setting the third parameter to true
          }
          //-----------------------------------------------------------------------------
          

          Hier ist der Aufruf.

          BananaJoeB Online
          BananaJoeB Online
          BananaJoe
          Most Active
          schrieb am zuletzt editiert von
          #4

          @berges01 sagte in MQTT überträgt Wert nicht zum ESP32:

          const String

          Arghh, Arduino Programmierung ist schon einen Moment her ...

          Also in den Beispielen die ich auf die schneller gefunden habe ist die Definition des Subscribe Befehls so:
          f890d5e4-4f4b-47e5-9851-b74463ffeb20-image.png

          Du hast also den Pfad angegeben und bei QoS nichts.
          Wenn ich das richtig lese muss die Wertabfrage per Callback erledigt werden:
          d5ddc5f3-2297-444f-af9b-09f429645c2b-image.png

          Woher hast du die Schreibweise wie du es machst?

          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

          Berges01B 1 Antwort Letzte Antwort
          0
          • BananaJoeB BananaJoe

            @berges01 sagte in MQTT überträgt Wert nicht zum ESP32:

            const String

            Arghh, Arduino Programmierung ist schon einen Moment her ...

            Also in den Beispielen die ich auf die schneller gefunden habe ist die Definition des Subscribe Befehls so:
            f890d5e4-4f4b-47e5-9851-b74463ffeb20-image.png

            Du hast also den Pfad angegeben und bei QoS nichts.
            Wenn ich das richtig lese muss die Wertabfrage per Callback erledigt werden:
            d5ddc5f3-2297-444f-af9b-09f429645c2b-image.png

            Woher hast du die Schreibweise wie du es machst?

            Berges01B Offline
            Berges01B Offline
            Berges01
            schrieb am zuletzt editiert von
            #5

            @bananajoe

            Ich habe dieses hier als Vorlage benutzt.

            https://github.com/plapointe6/EspMQTTClient/blob/master/examples/SimpleMQTTClient/SimpleMQTTClient.ino

            Prinzipiel müßte es funktionieren da eine Händische Eingabe ja sofort übertragen wird.
            Daraus habe ich gefolgert das der Blockly da einen Fehler hat.

            F.B.

            BananaJoeB 1 Antwort Letzte Antwort
            0
            • Berges01B Berges01

              @bananajoe

              Ich habe dieses hier als Vorlage benutzt.

              https://github.com/plapointe6/EspMQTTClient/blob/master/examples/SimpleMQTTClient/SimpleMQTTClient.ino

              Prinzipiel müßte es funktionieren da eine Händische Eingabe ja sofort übertragen wird.
              Daraus habe ich gefolgert das der Blockly da einen Fehler hat.

              BananaJoeB Online
              BananaJoeB Online
              BananaJoe
              Most Active
              schrieb am zuletzt editiert von
              #6

              @berges01 jetzt sehe ich den Fehler. Du musst Steuere nehmen um die Datenpunkte zu befüllen, nicht Aktualisiere.
              Wen ich das richtig verstanden habe müssen wir (und unsere Skripte) immer steuere nehmen. Der Adapter selbst übernimmt dann den Wert und "refreshed" den Wert noch mal mit Aktualisieren. Sprich wenn du schon Aktualisieren nimmst denkt der Adapter er hätte schon alles erledigt.

              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

              Berges01B 1 Antwort Letzte Antwort
              1
              • BananaJoeB BananaJoe

                @berges01 jetzt sehe ich den Fehler. Du musst Steuere nehmen um die Datenpunkte zu befüllen, nicht Aktualisiere.
                Wen ich das richtig verstanden habe müssen wir (und unsere Skripte) immer steuere nehmen. Der Adapter selbst übernimmt dann den Wert und "refreshed" den Wert noch mal mit Aktualisieren. Sprich wenn du schon Aktualisieren nimmst denkt der Adapter er hätte schon alles erledigt.

                Berges01B Offline
                Berges01B Offline
                Berges01
                schrieb am zuletzt editiert von
                #7

                @bananajoe
                Oh Ha Natürlich !
                Über alle hatte ich Steuern, nur da Aktualisiere !
                So etwas Dämliches !

                Jetzt ist alles OK und die Meldung kommt Zeitnah an.

                Danke für die Hilfe !

                F.B.

                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

                705

                Online

                32.5k

                Benutzer

                81.7k

                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