Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Off Topic
    4. Microcontroller
    5. ESP 8266 Einbindung von DS18B20 Temperatursensoren

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    ESP 8266 Einbindung von DS18B20 Temperatursensoren

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

      @martinp Poste mal deine Software.

      MartinP 1 Reply Last reply Reply Quote 0
      • MartinP
        MartinP @geschild last edited by MartinP

        @geschild die Kurzfassung wäre ...

        https://github.com/MartinP1/ESP8266_MQTT_THERMOSTAT

        #include <OneWire.h>
        #include <DallasTemperature.h>
        #ifdef ARDUINO_ESP8266_WEMOS_D1MINI
        #include <ESP8266WiFi.h>
        #include <LibPrintf.h>
        #else
        #include <WiFi.h>
        #endif
        #include <Ticker.h>
        // #include <AsyncMqttClient.h>
        #include <AsyncMqtt_Generic.h>
        .....
        OneWire oneWire(oneWireBus);
        
        DallasTemperature sensors(&oneWire);
        ...
        void initTemperatureSensors(){
          Serial.print("Locating devices...");
          numberOfDevices = sensors.getDeviceCount();
          // numberOfDevices = sensors.getDS18Count();
          // numberOfDevices = MAX_DS18B20_DEVICES;
          // locate devices on the bus
          Serial.print("Found ");
          Serial.print(numberOfDevices, DEC);
          Serial.println(" devices.");
          if(numberOfDevices > MAX_DS18B20_DEVICES){
            Serial.println("too many temp devices, limit to 3");
            numberOfDevices = MAX_DS18B20_DEVICES;
          }
        .....
        
        haselchen geschild 2 Replies Last reply Reply Quote 0
        • haselchen
          haselchen Most Active @MartinP last edited by

          @martinp

          Alternative wäre Tasmota flashen und Sonoff Adapter nutzen.

          MartinP 1 Reply Last reply Reply Quote 0
          • MartinP
            MartinP @haselchen last edited by

            @haselchen Das ist schwierig, weil da noch mehr angeschlossen ist. Bildet einen kompletten Heizkörperthermostaten, und der Regler ist auch im ESP codiert...
            Da wäre ich nicht fit genug in Tasmota Script Programmierung, um das zu übertragen.

            Mal überlegen, wie ich da vorgehe. Ich tippe aktuell immer noch auf den D1 Mini Clone von AZ Delivery mit ungeeignetem Spannungsregler. Der startet alle paar Tage neu, und dann ist sporadisch ein Temperatursensor "weg". Wahrscheinlich ist die Spannung im entscheidenden Moment nicht stabil.

            Ein pinkompatibles ESP32 Modul und eine richtige Leiterplatte sind bereit, um eingesetzt zu werden. Warte aber auf das Ende der Heizsaison, da ich den alten Aufbau zerlegen muss ...

            1 Reply Last reply Reply Quote 0
            • Flexer
              Flexer last edited by

              Hallo und guten Morgen in die Runde,

              habe das Thema gerade gesehen und dacht mir ich klinke mich mit ein. Ich habe auch die Temperatursensoren verbaut jedoch bekomme ich ab und zu fehlerhafte Messwerte ein. Die Sensoren messen in D50 Rohren die Wassertemperaturen von meinem Pool.
              Man sieht das hier auf dem Bild recht gut. -336 ist dann doch recht kalt 😉

              Hat jemand eine Idee in welcher Richtung ich den Fehler suchen könnte?

              Viele Grüße

              94fe3458-f77e-47ec-8c91-e754c4195007-image.png

              MartinP haselchen 2 Replies Last reply Reply Quote 0
              • MartinP
                MartinP @Flexer last edited by MartinP

                @flexer Hmm, wie werden die Sensoren denn ausgewertet?
                Eigenes ESP8266 Sketch, oder Tasmota?
                Alle parallel auf einen OneWire Bus?
                Ist der "Solar" Sensor auch der mit der höchsten Seriennummer unter den drei Sensoren?

                Falls Du etwas mit den Messwerten machst, reicht es ja nicht, das Problem "kosmetisch" zu lösen...

                Falls eine kosmetische Lösung reicht und Du die Werte über den influx-Adapter schreibst, könnte man hier etwas eintragen, um die Ausreißer zu ignorieren:

                b5c4f120-d9a6-4082-af2e-7c7599e0b75c-grafik.png

                1 Reply Last reply Reply Quote 0
                • haselchen
                  haselchen Most Active @Flexer last edited by

                  @flexer

                  Widerstände in Deinem Konstrukt verbaut ?

                  Flexer 2 Replies Last reply Reply Quote 0
                  • geschild
                    geschild @MartinP last edited by

                    @martinp Geht mal, geht mal nicht klingt erstmal nach Wackelkontakt oder Störsignalen.
                    Versuch doch mal die DS direkt über ihre Adressen aufzurufen, siehe hier: https://github.com/milesburton/Arduino-Temperature-Control-Library/blob/master/examples/Multiple/Multiple.ino#L139

                    MartinP 2 Replies Last reply Reply Quote 0
                    • Flexer
                      Flexer @haselchen last edited by

                      @haselchen Ja genau einen. Den Aufbau muss ich raussuchen. Melde mich

                      1 Reply Last reply Reply Quote 0
                      • MartinP
                        MartinP @geschild last edited by

                        @geschild das ist auch mein Verdacht. Zweite Möglichkeit wäre der Spannungsregler des D1Mini Clones...

                        Neue Version mit Leiterplatte und ESP32 ist eigentlich fertig. Hat aber andere Abmessungen, als der Prototyp. Warte noch bis es wärmer ist mit dem Umbau

                        1 Reply Last reply Reply Quote 0
                        • Flexer
                          Flexer @haselchen last edited by Flexer

                          @haselchen IMG_1277.png

                          So hab ich es gemacht. Ist eine Nodemcu dran mit ESP Easy

                          So wie in dem Video
                          https://youtu.be/jQrcybWapuA?si=igohLALrPQ5Ec6lD

                          bahnuhr BananaJoe 2 Replies Last reply Reply Quote 0
                          • bahnuhr
                            bahnuhr Forum Testing Most Active @Flexer last edited by

                            @flexer sagte in ESP 8266 Einbindung von DS18B20 Temperatursensoren:

                            So hab ich es gemacht. Ist eine Nodemcu dran mit ESP Easy

                            sieht nicht richtig aus.
                            Nur 1 Widerstand und nur ein data

                            siehe:
                            https://forum.iobroker.net/topic/69730/csw120-warmwasserspeicher-an-welchen-rohren-messen/12

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

                              @flexer wie @bahnuhr schreibt: Nur ein Widerstand und alle Sensoren parallel schalten an einen GPIO des Wemos. Die Sensoren haben ja deshalb extra Adressen damit man das machen kann.

                              MartinP 1 Reply Last reply Reply Quote 0
                              • geschild
                                geschild @bahnuhr last edited by

                                @bahnuhr Man kann mehrere OneWire-Instanzen auf verschiedenen Pins betreiben.

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

                                  @bananajoe Ist aber natürlich auch in der Weise, wie von @Flexer gelöst durchaus funktionsfähig. Einen zweiten One-Wire-Bus aufzumachen ist aber Overkill bei zwei Sensoren ... zwei Ports zu nutzen hat Vorteile bei Serienproduktion von Geräten. Da müsste man ansonsten anhand der Seriennummer "anlernen" welcher Sensor welchen Temperatur-Messpunkt überwacht....

                                  Die Farbcodes der Widerstände sind etwas unklar.

                                  Wenn das wirklich gelb - violett - braun - gold ist, wären das 470 Ohm. Das ist deutlich zu wenig ...
                                  https://www.analog.com/media/en/technical-documentation/data-sheets/ds18b20.pdf (Seite 7 Bild 7)

                                  In der Regel wird 4,7 kOhm 5% Toleranz genutzt (gelb - violett - rot - gold)

                                  Achtung bei Fünf-Ring-Farbcodes ist das anders! (gelb - violett - schwarz - braun - braun wäre 4,7 kOhm 1%)

                                  http://www.elektronik-kompendium.de/sites/bau/1109051.htm

                                  1 Reply Last reply Reply Quote 0
                                  • MartinP
                                    MartinP @geschild last edited by MartinP

                                    @geschild said in ESP 8266 Einbindung von DS18B20 Temperatursensoren:

                                    @martinp Geht mal, geht mal nicht klingt erstmal nach Wackelkontakt oder Störsignalen.
                                    Versuch doch mal die DS direkt über ihre Adressen aufzurufen, siehe hier: https://github.com/milesburton/Arduino-Temperature-Control-Library/blob/master/examples/Multiple/Multiple.ino#L139

                                    Es sind insgesamt drei Sensoren (Raumtemperatur, und Temperatur an der Zulauf- und Ablauf-Leitung eines Heizkörpers)

                                    Bisher war immer der Ablauf-Sensor betroffen, Jetzt war erstmals der Zulauf-Sensor nicht erreichbar.

                                    Im Code wird beim Startup erst nach den verfügbaren Sensoren gesucht, dann werden die Seriennummern ermittelt, in aufsteigender Reihenfolge sortiert, und danach wird nur noch nach Seriennummern adressiert

                                    Niedrigste Hausnummer -> Raumtemperatur
                                    Mittlere Hausnummer -> Zulauf
                                    Höchste Hausnummer -> Ablauf

                                    Wird nur ein Sensor gefunden, wird davon ausgegangen, dass er für die Raumtemperatur zuständig ist.
                                    Bei zwei Sensoren Raum + Zulauf

                                    Der Sensor ging diesmal "einfach so" verloren, ohne dass der ESP neu gestartet worden wäre ...

                                    der DS18B20 sollte ab +3V Versorgungsspannung funktionieren, der ESP-Chip ist mit 2,5 Volt zufrieden...

                                    Mein D1Mini Clone ist von AZ Delivery und hat statt des Spannungsreglers mit 500 mA des Originals nur einen mit 300 mA Maximalstrom. Vielleicht ist der kurz vor dem Zusammenbrechen, und ein DS18B20 ist abgeschmiert, während die anderen es noch vertragen haben ...

                                    Wird wohl wirklich Zeit, die neue Hardware in Betrieb zu nehmen, und den D1Mini Clone in den Giftschrank nebst Aufkleber "Nicht Zuverlässig" zu legen ...

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

                                      @martinp sagte in ESP 8266 Einbindung von DS18B20 Temperatursensoren:

                                      Mein D1Mini Clone ist von AZ Delivery und hat statt des Spannungsreglers mit 500 mA des Originals nur einen mit 300 mA Maximalstrom. Vielleicht ist der kurz vor dem Zusammenbrechen, und ein DS18B20 ist abgeschmiert, während die anderen es noch vertragen haben ...

                                      Ich habe hier die gleichen Klone laufen (von den AZ habe ich schon 25 Stück gekauft), mit 2 x DS18B20 und 1x MAX7219 7-Segmentanzeige. Die wird wohl mehr Strom ziehen.

                                      Anderes Netzteil (nicht Ladegerät) zu testen kann natürlich nicht schaden. Natürlich konnte auch so ein Sensor defekt sein oder die Lötstellen sind nicht perfekt.

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

                                        @bananajoe Vielleicht gibt es verschiedene Chargen, und AZ-Delivery baut inzwischen wieder 500 mA Regler ein ... die Markierungen auf den Winz-Chips sind aber nicht besonders einfach zu entschlüsseln

                                        Meiner trägt die Aufschrift "DE=A1D"
                                        https://www.sunrom.com/p/rt9193-33gb-rt9193-33pb-sot23-5-300ma-ldo
                                        also 300 mA

                                        Von AZ-Delivery gibt es aber wohl auch Chargen mit diesem hier, Aufschrift "4A2D"
                                        https://datasheet.lcsc.com/lcsc/2111081830_Shenzhen-Fuman-Elec-4A2D_C2832127.pdf

                                        Der hat 500 mA!

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

                                          @martinp muss ich heute Abend mal schauen. Hatte ich neulich gerade, aber vergessen was da stand.

                                          So ein DS18B20 Sensor soll aber - laut Datenblatt - maximal 4mA fressen: https://www.analog.com/media/en/technical-documentation/data-sheets/ds18b20.pdf
                                          Selbst ein 300mA Regler sollte da mehr als ausreichen, der Wemos D1 mini selbst sollte so bei maximal 45 bis 75mA liegen

                                          haselchen MartinP 2 Replies Last reply Reply Quote 0
                                          • haselchen
                                            haselchen Most Active @BananaJoe last edited by haselchen

                                            Kann auch heute Abend mal schauen.
                                            Das war echt kein Hexenwerk.
                                            Je ein 8266 und ein ESP32 arbeiten mit je 2 Sensoren.
                                            Einmal Tasmota und einmal Espeasy.
                                            Und dann einmal die Widerstände gelötet und einmal einfach über Wagoklemmen gesteckt.
                                            Fertig .

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            1.1k
                                            Online

                                            31.7k
                                            Users

                                            79.7k
                                            Topics

                                            1.3m
                                            Posts

                                            7
                                            24
                                            1262
                                            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