Home Assistant - ESPHome - ESP32 - DS18B20

Hallo zusammen,

motiviert von dem Video „Rohr Temperaturen mit Home Assistant überwachen (Heizung Vor- & Rücklauf)“ habe ich mich daran versucht und wollte das Projekt nachstellen.
Vielleicht 2-3 Worte zu mir, da ich neu hier bin. Ich bin Stefan Kriener, 43 Jahre und betreibe schon seit einiger Zeit ein Home Assistant Installation.
Wie wahrscheinlich jedem Home Assistler wächst die ständig und in großer ferne habe ich das Thema Heizungsüberwachung auf meiner Agenda. Dort werkelt bei mir ein Komplett System von Sonnendach, indem unzählige Sensoren verbaut sind, die aber nur über eine RS232 Schnittstelle und eine proprietäre Software abgefragt werden können.
Da ich nun dachte: Gut ein Schritt nach dem anderen, habe ich mich erstmal an das Thema ESP32 mit D18B20 Sensor gemacht, wohlwissendlich, dass in meiner Heizung kty Temp Sensoren verbaut sind. Aber prinzipiell sollten die ja auch über ESP32 und adc auszulesen sein.
Nun aber zu meiner ersten Herausfoderung: Als Zwischenschritt wollte ich über den ESP32 erstmal ein paar Temperaturen erfassen. Also bei AZ Delivery bestellt und los gings.
Einrichten im Home Assistant von ESP Home funktioniert… ESP geflashed… WLAN Verbindung funktioniert… läuft ja wie ein Länderspiel… dachte ich.
D18B20 angeschlossen und über GPIO32 angesproche… Aber „No Sensor Found“.
Etwas nach den Parametern geschaut, Pullup… Aber irgendwie will der D18B20 sich nicht zu erkennen geben. Zum Glück hatte ich einige mehr an D18B20 bestellt… auch alles ohne Funktion.
Tja: und hier stehe ich nun.
Vielleicht hat ja jemand einen Tip für mich, wo ich falsch abgebogen bin.

Gruß,
Stefan

Hier der YAML Code

esphome:
  name: esp32-1
  friendly_name: ESP32_1

esp32:
  board: az-delivery-devkit-v4
  framework:
    type: arduino

# Enable logging
logger:

# Enable Home Assistant API
api:
  encryption:
    key: "yk1eIG6MeLCobFlGxEYr0YtB4uAF0IEy9UrLY5Juao4="

ota:
  password: "2cd217f8ae18a87b0f6af09b91864299"

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password

  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "Esp32-1 Fallback Hotspot"
    password: "bss8nR3Wb0PQ"

captive_portal:
    
dallas:
- pin:
    number: 32
    mode:
      output: true
      input: true
      open_drain: false
      pullup: true
      pulldown: false
    drive_strength: 20.0
    inverted: false
  update_interval: 10s
sensor: []

Nachtrag:

Als Ergänzung noch: Pin32 scheint ESPhome automatisch zu machen… Genauso wie die weiteren Parameter. Die habe ich über “validate” im ESPhome entdeckt. Angesprochen hatte ich den PIN ursprünglich über GPIO32

:crayon:by HarryP: Codezeilen formatiert (bitte immer </> verwenden)

Da ich ein ähnliches Projekt hinter mir habe und auch das Video von Simon als Basis genommen habe, hier mal mein Beitrag.

Zum einen bin ich tatsächlich nicht um den Widerstand gekommen, der in vielen Anleitungen erwähnt wird. Simon meinte zwar, dass die Pullup-Option des ESP ausreicht, aber bei mir funktionierte es nicht. Der Sensor wurde erst mit dem Widerstand (4,7 kΩ) erkannt.

Zum zweiten lief erst ein ESP8266 stabil bei mir. Zwei ESP32 sind einfach immer nach kurzer Zeit ausgestiegen und ich konnte sie nicht wieder zum Leben erwecken. Hier mein Beitrag dazu.

Das Thema “Widerstand” findest du noch mal schön hier: Dallas Temperature Sensor — ESPHome

Hi ttarzan,

Danke für Deine Rückmeldung…
Das schmälert gerade deutlich meine Motivation. Können andere das bestätigen? Ich denke mal nicht das wir die Einzigen waren die sich daran versucht haben.
Da es bei mir ja nur ein Zwischenschritt sein sollte, könnte ich mich ja direkt am kty 81-210 versuchen. Hat jemand in diese Richtung Erfahrung? Oder konkret YAML Code wie dieser über einen ESP32 anzusprechen ist? Gemäß Doku ist der kty 81-210 ein PTC?!? Ich habe bisher nur von NTC Sensoren gelesen…
Scheint alles doch Komplexer zu sein als gedacht…
Das wäre konkret der Fühler…

Ich kenne das System von Sonnendach nicht. Aber vielleicht werden die Werte der Sensoren auch auf einer Webseite dargestellt? Dann könntest du versuchen, diese dort auszulesen. Simon hatte das mal in einem Video gezeigt:

Hallo @Stefan1309,
schau mal hier.
Oder suche mal im Forum mit “DS18B20”, wir hatten da schon einigen Beiträge.
Für mich ist Dein Code Schnipsel nicht vollständig, da kommt nix nach Sensor [ ].

Gruß
Frank

@ttarzan
Hi ttarzan, vielen Dank für den Tipp.
Leider Nein. Die Werte können wie gesagt nur über die Sonnendach Software und dann über eine RS232 Schnittstelle ausgelesen werden. Vielleicht gibt es da noch Möglichkeiten was “abzufangen” aber weit verbreitet ist es eben auch nicht.
Das System ist auch knapp 20 Jahre alt… Da hatte man diesen Ansatz der Visualisierung noch nicht so im Fokus.
Gruß,
Stefan

Nachtrag:

@FrankS
Hi Frank,
auch Dir Danke für Deine Rückmeldung.
Ja, der Sensorbereich ist noch komplett unberührt. Gemäß Doku müsste ich im Log zumindest die Adresse des Sensors finden… Aber da bekomme ich schon nur “No Seonsor found”…
Gruß,
Stefan

:crayon:by HarryP: Zusammenführung Doppelpost

Hmm, ich habe zwar ne NodeMCu verbaut, aber mir mir laufen 3 Dallas auf einen PIN ohne Probleme.
Nur mein Code für den Dallas ist viel kürzer.

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

Widerstand habe ich übrigends nicht drin.