Temperaturüberwachung mit ESP8266

Hallo zusammen,
ich bin noch recht neu in Home Assistant unterwegs und bin auch von Haus aus kein Techniker, daher ist meine Lernkurve recht steil, aber Schritt für Schritt wird es.

Ich bin ganz begeistert von diesem Video von Simon ((Rohr) Temperaturen mit Home Assistant überwachen 📈 (Heizung Vor & Rücklauf) - YouTube) und wollte es nachbauen. Hierfür habe ich einen ESP8266 12E NodeMCU genommen und daran zwei D18B20 Sensoren verkabelt und bin der Anleitung ganz genau gefolgt. Jedoch, wenn beide Sensoren angeschlossen sind, wird keiner der beiden erkannt. Ist nur einer angeschlossen wird dieser erkannt und die Temperatur angezeigt.

Hierfür habe ich je ein Kabel von 3V, GND und D1 (also GPIO5) in eine 3er Wago Klemme geführt und dann die beiden Sensoren je mit die entsprechenden Anschlüsse der Wago Klemme verbunden.

Ich vermutete auch schon, dass die 3V zu wenig für die beiden Sensoren sein könnten und habe den zweiten Sensor mit einen anderen GND und 3V Anschluss des ESP verbunden. Ändert jedoch nichts.

ich habe es leider auch nicht geschafft den Code so zu ändern, dass der eine Sensor auf GPIO5 und der andere auf GPIO4 läuft.

Hat wer von Euch eine Idee was ich ändern muss, damit es funktioniert? Ich wäre über jede Hilfe sehr dankbar!

Vielen lieben Dank im Voraus!

Hallo @AlPi
schau mal hier oder hier, ob etwas davon Dir weiterhilft.

Gruß
Frank

Moin,
ich habe 5 dieser D18B20 Sensoren an einem 8266, für einen Heizkreisverteiler der FBH.
Alle mittels 5er Wago an 3,3V, GND und am PIN GPIO2
Auszug aus der FBH-Mitte.yaml.

dallas:
  pin:
    number: GPIO2
    mode:
      input: true
      pullup: true
  update_interval: 60s

sensor:
  - platform: dallas
    address: 0xd209225491e99e28
    name: "Wohnzimmer Fenster"
    unit_of_measurement: "°C"
    icon: "mdi:thermometer-plus"
    device_class: "temperature"
    state_class: "measurement"
    accuracy_decimals: 2

und davon gibt es eben die 5 Einträge mit den Senor-ID´s.

Gruss
Hajot

Leider meldet der esp8266, dass er keinen Sensor entdeckt hat, wenn ich mehr als einen angeschlossen habe. Also, jeden einzelnen für sich erkennt er, aber sobald ich mehr als einen angeschlossen habe funktioniert es nicht mehr.


Kann das Bord das vielleicht einfach nicht?

Nachtrag:
Ich hatte bislang GPIO5 und GPIO4 genutzt. In Deinem Code habe ich gesehen, dass Du den GPIO2 nutzt und habe meinen Code auf diesen umgestellt und siehe da, jetzt werden beide erkannt.

Kannst Du mit erklären weshalb es mit dem Pin funktioniert und mit den anderen nicht?


:crayon:by HarryP: Zusammenführung Doppelpost
*@AlPi *
Die Funktion “bearbeiten” hast Du ja schon verwendet, nutze diese bitte zukünftig auch für Nachträge innerhalb der ersten 24h. Danke!

Moin, zunächst mal, ich verwende einen D1 Mini. Der hat eine andere PIN Belegung und ich habe den Plusanschluss verwechselt. Der liegt bei meiner Version auf 5V.

Ich hatte deine Probleme bei einem ESP32. Der erkannte bei mir gar keinen dieser Temp-Sensoren, fast alle ausprobiert. Ich habe dann letztendlich den PIN GPIO0 mal probiert. Sollte man eigentlich nicht verwenden, ging aber bei mir sofort. Da laufen dann 4 Sensoren drüber. Geht tadellos. Ich kenne mich allerdings nicht mit den “Interna” des ESP32 so aus, war mir aber egal. Funktioniert halt.

Ich bin aber nicht sicher ob der GPIO0 bei deiner Version funktioniert.

@AlPi
Nein, kann ich dir nicht erklären. Ich gehöre zur Fakulät “Try and Error”. Geht zwar manchmal schief, aber solange keine 220V im Spiel sind mach ich es halt.
Die genaue Funktion der einzelnen PIN´s könnte vielleicht ein Elektronikfachmann erklären. Ich habe eine Doku zum ESP32 aber da braucht man ein Informatikstudium um das zu verstehen.

Hauptsache es funktioniert.

Glückwunsch

Gruss
Hajot

:crayon:by HarryP: Zusammenführung Doppelpost.
*@Hajot *
Bitte benutze zukünftig für Ergänzungen/Korrekturen die “bearbeiten” Funktion. Danke!
Falls Du mal mehrere User ansprechen möchtest, geht das mit “@”+User (s.o.).

@AlPi
Schau dir auch mal dieses Video an, denn die Kombination der Sensoren/ESP8266 mit Tasmota sieht auch sehr interessant aus.

Moin @AlPi ,
ich denke mal Du hast Simon’s Beispiel inkl. pullup: true benutzt.
Beim ESP8266 haben GPIO4 und GPIO5 keinen internen Pullup. (Ich weiß allerdings nicht, ob ESPHome dies im Code anmeckert).
GPIO2 hat dagegen einen internen Pullup.

Ich sehe hier im Beitrag keinen Code von Dir und auch keinen Hinweis zum externen 4K7 Pullup, daher kann ich nur allgemein mutmaßen.

Ich selbst nutze immer den externen 4k7 Pullup, schlicht einfach deshalb weil es im Datenblatt des DS Herstellers als Applikationsbeispiel drin steht und der hat ein Interesse das es funktioniert. Alles was ich zum internen Pullup gefunden ist deutlich hochohmiger und verändert damit die Physik des 1Wire Busses.
Ob dann der interne GPIO2 Pullup beim 3. , schlechter Kontakt oder 10 m entfernten DS sicher funktioniert ist wieder “try & error” und eigentlich vermeidbar. Von einem unbedachten Wechsel zwischen den ESP Typen ganz zu schweigen.

Gruß
Frank

Den internen Pullup im Code habe ich benutzt. Das der nicht von GPIO4 und GPIO5 unterstützt wird wußte ich nicht. Was ein Glück, dass es beim GPIO2 der Fall ist. Kurze Frage, woran hätte ich das erkennen können, bzw. woher weißt Du es? Dann kann ich das bei einem meiner nachfolgenden Projekte berücksichtigen. Den Code habe ich versucht zu posten, aber mit Copy & Paste sieht der einfach nur schrecklich aus, weil alles hintereinander nur mit Leerzeichen angezeigt wird.

Ich bin gerade super happy, dass es jetzt funktioniert. Auch wenn ich leider noch nicht verstehe wieso eigentlich. :smile: Danke Euch allen für Eure Rückmeldung und Hilfe!

LG, AlPi

Moin @AlPi,
dies sind meine beiden ersten Anlaufadressen im Netz für die Pinbelegung und viele andere nützliche Informationen rund um die ESP’s ESP8266 und ESP32.

Dann gibt es auch noch natürlich die Expressif Herstellerseite.

Tipp: Googlen mit englischen Suchbegriffen bringt mehr inhaltvolle Treffer.

Gruß
Frank

Hallo
bei ebay wird das hier angeboten

Tasmota DS18B20 AM2301 EI-OT ESP8266 5-12V WiFi Temperatur Luftfeuchtigkeit Set

würde das gehen?