Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • 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

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. ioBroker Allgemein
  4. Auslesen von Werten mit ESP8266

NEWS

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    16
    1
    323

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    4.8k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.3k

Auslesen von Werten mit ESP8266

Scheduled Pinned Locked Moved ioBroker Allgemein
7 Posts 2 Posters 575 Views 2 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • T Offline
    T Offline
    tomtom61
    wrote on last edited by tomtom61
    #1

    Ich hoffe der Beitrag ist hier richtig.
    Ich möchte MQTT Werte per ESP8266 o. ä. auslesen.
    Das funktioniert, mit

    .....               
      #define RECEIVE_NAME "HomeAussen/Temp"      
           client.subscribe(RECEIVE_NAME);
    ....
         void callback(char* topic, byte* payload, unsigned int length) {
           
                Str_Temperatur = "";
                
                for (int i = 0; i < length; i++) {
                   // Serial.print((char)payload[i]);
                   Str_Temperatur = Str_Temperatur + (char)payload[i];  // Speicher jedes Zeichen in den String Str_Temperatur
                   Serial.println (Str_Temperatur);
                }
    
    
    

    NUR solange, wie die Daten unter mqtt/0/..... stehen.
    Der gesamte Pfad ist dann "mqtt/0/HomeAussen/Temp"

    Verschiedene Werte wie Solar_Fronius/AktuellerErtrag stehen unter "alias.0."

    Wie bitte komme ich mit meinem Code da hin???

    Versuch : RECEIVE_NAME "alias/0/Solar_Fronius/AktuellerErtrag"
    scheitert.

    Marc BergM 1 Reply Last reply
    0
    • T tomtom61

      Ich hoffe der Beitrag ist hier richtig.
      Ich möchte MQTT Werte per ESP8266 o. ä. auslesen.
      Das funktioniert, mit

      .....               
        #define RECEIVE_NAME "HomeAussen/Temp"      
             client.subscribe(RECEIVE_NAME);
      ....
           void callback(char* topic, byte* payload, unsigned int length) {
             
                  Str_Temperatur = "";
                  
                  for (int i = 0; i < length; i++) {
                     // Serial.print((char)payload[i]);
                     Str_Temperatur = Str_Temperatur + (char)payload[i];  // Speicher jedes Zeichen in den String Str_Temperatur
                     Serial.println (Str_Temperatur);
                  }
      
      
      

      NUR solange, wie die Daten unter mqtt/0/..... stehen.
      Der gesamte Pfad ist dann "mqtt/0/HomeAussen/Temp"

      Verschiedene Werte wie Solar_Fronius/AktuellerErtrag stehen unter "alias.0."

      Wie bitte komme ich mit meinem Code da hin???

      Versuch : RECEIVE_NAME "alias/0/Solar_Fronius/AktuellerErtrag"
      scheitert.

      Marc BergM Online
      Marc BergM Online
      Marc Berg
      Most Active
      wrote on last edited by Marc Berg
      #2

      @tomtom61 sagte in Auslesen von Werten mit ESP8266:

      Wie bitte komme ich mit meinem Code da hin???

      Ich nehme an, du nutzt den MQTT Adapter als Broker?

      In diesem Fall musst du die Instanzeinstellungen ändern/erweitern. Damit werden auch die Topics unter alias* published.

      3844a7b3-4139-4041-a520-39ee98ce50a5-grafik.png

      Edit: nachdem du in das Feld "alias.0.*" eingegeben hast, unbedingt <Enter> drücken!

      NUC10I3+Ubuntu+Docker+ioBroker+influxDB2+Node Red+EMQX+Grafana

      Pi-hole, Traefik, Checkmk, Conbee II+Zigbee2MQTT, ESPSomfy-RTS, LoRaWAN, Arduino, KiCad

      Benutzt das Voting im Beitrag, wenn er euch geholfen hat.

      T 1 Reply Last reply
      0
      • Marc BergM Marc Berg

        @tomtom61 sagte in Auslesen von Werten mit ESP8266:

        Wie bitte komme ich mit meinem Code da hin???

        Ich nehme an, du nutzt den MQTT Adapter als Broker?

        In diesem Fall musst du die Instanzeinstellungen ändern/erweitern. Damit werden auch die Topics unter alias* published.

        3844a7b3-4139-4041-a520-39ee98ce50a5-grafik.png

        Edit: nachdem du in das Feld "alias.0.*" eingegeben hast, unbedingt <Enter> drücken!

        T Offline
        T Offline
        tomtom61
        wrote on last edited by
        #3

        @marc-berg
        Super! Vielen Dank!
        Wieder ein Fall - "Auf die einfachsten Lösungen kommt man nicht".

        Hmmm, mal sehen, wie ich das jetzt mache. Einfach den Prefix ändern oder hinzufügen?
        Oder komplett rausnehmen?
        Ich bin mir sicher, dass dann sämtliche >30 Sensoren mit ca. >100 Datenpunkten sowie unzählige Skripte dann nicht mehr richtig funktionieren. Weil diese natürlich den gesetzten Prefix NICHT senden.
        Ich müsste sämtliche Sensoren (ESP8266) umprogrammieren...
        Meine Überlegung eine zweite mttq Instanz zu machen und diese dann entsprechend ansprechen.

        Zum Glück habe ich den ioBroker im Proxmox laufen. Mache gerade per clone eine "Test" Version und teste das mal.

        Ich berichte.

        Gruß Tom

        1 Reply Last reply
        0
        • T Offline
          T Offline
          tomtom61
          wrote on last edited by
          #4

          @marc-berg
          Es funktioniert soweit. Ich habe eine zweite mttq Instanz angelegt.
          Jetzt habe ich das Problem, dass bei Wertänderung im ioBroker der neue Wert nicht übertragen wird. Nur, wenn ich den Wert unter Objekte MANUELL ändere erfolgt eine Übertragung.
          Wer weis Rat?

          Marc BergM 1 Reply Last reply
          0
          • T tomtom61

            @marc-berg
            Es funktioniert soweit. Ich habe eine zweite mttq Instanz angelegt.
            Jetzt habe ich das Problem, dass bei Wertänderung im ioBroker der neue Wert nicht übertragen wird. Nur, wenn ich den Wert unter Objekte MANUELL ändere erfolgt eine Übertragung.
            Wer weis Rat?

            Marc BergM Online
            Marc BergM Online
            Marc Berg
            Most Active
            wrote on last edited by
            #5

            @tomtom61
            Wenn du jetzt noch verrätst, WIE du den Wert änderst, kann dir sicher geholfen werden. Ich vermute, du setzt das Ack Flag, oder setzt im Blockly mit dem falschen Baustein. (Ändere statt Steuere)

            NUC10I3+Ubuntu+Docker+ioBroker+influxDB2+Node Red+EMQX+Grafana

            Pi-hole, Traefik, Checkmk, Conbee II+Zigbee2MQTT, ESPSomfy-RTS, LoRaWAN, Arduino, KiCad

            Benutzt das Voting im Beitrag, wenn er euch geholfen hat.

            T 1 Reply Last reply
            0
            • Marc BergM Marc Berg

              @tomtom61
              Wenn du jetzt noch verrätst, WIE du den Wert änderst, kann dir sicher geholfen werden. Ich vermute, du setzt das Ack Flag, oder setzt im Blockly mit dem falschen Baustein. (Ändere statt Steuere)

              T Offline
              T Offline
              tomtom61
              wrote on last edited by tomtom61
              #6

              @marc-berg
              Im ioBroker werden Daten von ESP8266(s) per mqtt gesendet.
              Ich Teste im Moment mit einem sich ständig verändernden Wert - "der Außentemperatur".
              Diese wird im ioBroker an "mqtt.0.HomeAussen.Temp" gesendet.

              Normalerweise lasse ich mir alle Daten nur per VIS anzeigen.

              Jetzt möchte ich allerdings Werte - Genaugenommen Final den Akkuladezustand meiner PV-Anlage - auf einer 7-Segment LED Anzeige anzeigen. Zum Testen wie geschrieben jetzt erst einmal die "Außentemperatur".

              Hierzu verwende ich erst einmal den
              Den [hier]
              (https://github.com/knolleary/pubsubclient/blob/master/examples/mqtt_esp8266/mqtt_esp8266.ino
              als Muster Publizierten Code.
              Mein Code ist durchs Testen chaotisch, deshalb ... Angepasste

              • Parameter:
                Hinzugefügt:
                #define RECEIVE_NAME "mqtt.0.HomeAussen.Temp"
                geändert:
                .... WIFI Zugangsdaten
                im Setup
                client.setServer(mqtt_server, 1883); //1883 für mqtt Instanz 0

              im Loop
              // ... and resubscribe
              client.subscribe(RECEIVE_NAME);

              Mit dieser Einstellung wird jede Änderung (Seriell) angezeigt.

              Ändere ich nun: Auch zum testen einen sich ständig ändernder Wert....
              #define RECEIVE_NAME "alias.0.Solar_Fronius.AktuellerErtrag"
              im Setup:
              client.setServer(mqtt_server, 1893); //1893 für mqtt Instanz 1

              Wird der Wert nur EINMAL geändert. Egal auch nach Reset des ESP8266. Der Wert bleibt gleich.
              Die Einstellungen beider Instanzen sind bis auf den Port und
              Screenshot 2023-11-01 145305.jpg
              gleich.

              `

              1 Reply Last reply
              0
              • T Offline
                T Offline
                tomtom61
                wrote on last edited by
                #7

                Problem gelöst --------------

                Es funktioniert mit einer zweiten Instanz - Vermutlich auch mit nur einer (nicht getestet)
                Wichtig, dass in den mqqt Einstellungen der Haken bei "Sende auch Zustände (ack=true) angehackt ist.
                Des weitern sollte in der Maske der Pfad stehen, in dem die Werte gelesen werden sollen.
                In meinem Fall alias.0.*

                Gruß
                Tom

                1 Reply Last reply
                0
                Reply
                • Reply as topic
                Log in to reply
                • Oldest to Newest
                • Newest to Oldest
                • Most Votes


                Support us

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

                508

                Online

                32.7k

                Users

                82.5k

                Topics

                1.3m

                Posts
                Community
                Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                ioBroker Community 2014-2025
                logo
                • Login

                • Don't have an account? Register

                • Login or register to search.
                • First post
                  Last post
                0
                • Home
                • Recent
                • Tags
                • Unread 0
                • Categories
                • Unreplied
                • Popular
                • GitHub
                • Docu
                • Hilfe