Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. MQTT überträgt Wert nicht zum ESP32

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    MQTT überträgt Wert nicht zum ESP32

    This topic has been deleted. Only users with topic management privileges can see it.
    • Berges01
      Berges01 last edited by

      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?

      BananaJoe 1 Reply Last reply Reply Quote 0
      • BananaJoe
        BananaJoe Most Active @Berges01 last edited by

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

        Berges01 1 Reply Last reply Reply Quote 0
        • Berges01
          Berges01 @BananaJoe last edited by

          @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.

          BananaJoe 1 Reply Last reply Reply Quote 0
          • BananaJoe
            BananaJoe Most Active @Berges01 last edited by

            @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?

            Berges01 1 Reply Last reply Reply Quote 0
            • Berges01
              Berges01 @BananaJoe last edited by

              @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.

              BananaJoe 1 Reply Last reply Reply Quote 0
              • BananaJoe
                BananaJoe Most Active @Berges01 last edited by

                @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.

                Berges01 1 Reply Last reply Reply Quote 1
                • Berges01
                  Berges01 @BananaJoe last edited by

                  @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 !

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

                  Support us

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

                  891
                  Online

                  31.8k
                  Users

                  79.9k
                  Topics

                  1.3m
                  Posts

                  2
                  7
                  662
                  Loading More Posts
                  • Oldest to Newest
                  • Newest to Oldest
                  • Most Votes
                  Reply
                  • Reply as topic
                  Log in to reply
                  Community
                  Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                  The ioBroker Community 2014-2023
                  logo