In diesem Artikel zeige ich dir, wie du den digitalen Temperatursensor DS18B20 mit einem ESP32 oder ESP8266 und ESPHome betreibst. Der Sensor ist günstig, präzise und ideal für Smart-Home-Anwendungen wie Heizungssteuerung, Kühlkettenüberwachung oder einfach zur Raumtemperaturmessung.
Ich habe bei mir mittlerweile mehrere davon im Einsatz – im Technikraum, draußen an der Hauswand und sogar am Warmwasserspeicher. Wenn du willst, dass dein Smart Home wirklich weiß, was Sache ist: Temperatur ist eine der wichtigsten Basisdaten.
🧰 Was du brauchst
Bevor es losgeht, hier die Einkaufsliste:
- DS18B20 Sensor (wasserdichtes Modell empfehlenswert)
- 4,7 kΩ Widerstand (für den 1-Wire Bus)
- ESP32 oder ESP8266 (z. B. NodeMCU, D1 Mini)
- Jumper-Kabel
- Breadboard (optional zum Testen)
- ESPHome installiert (z. B. über Home Assistant)
Anschluss des DS18B20 Sensors
Der DS18B20 ist ein digitaler 1-Wire Sensor, das heißt: Er braucht nur einen Datenpin, egal wie viele Sensoren du anschließt. So sieht der typische Aufbau aus:
Pinbelegung (bei den meisten wasserdichten DS18B20)
Schwarz → GND
Rot → VCC (3.3V oder 5V)
Gelb → Data
Anschluss an den ESP32 / ESP8266
Verbinde die Pins wie folgt:
| DS18B20 | ESP Pin |
|---|---|
| VCC (rot) | 3.3V |
| GND (schwarz) | GND |
| DATA (gelb) | z. B. D5 (GPIO14 bei D1 Mini) |
Zwischen VCC und DATA musst du einen 4,7 kΩ Pull-Up-Widerstand einlöten oder stecken. Ohne diesen funktioniert die Kommunikation nicht zuverlässig.
Hinweis: Bei den oben angezeigten Links handelt es sich um Affiliate-Links. Als Amazon-Partner verdiene ich an qualifizierten Verkäufen. Es entstehen für Dich keine zusätzlichen Kosten.
Hinweis: Bei den oben angezeigten Links handelt es sich um Affiliate-Links. Als Amazon-Partner verdiene ich an qualifizierten Verkäufen. Es entstehen für Dich keine zusätzlichen Kosten.
Oder hier als Set, da brauchst du keinen Widerstand mehr verlöten
Hinweis: Bei den oben angezeigten Links handelt es sich um Affiliate-Links. Als Amazon-Partner verdiene ich an qualifizierten Verkäufen. Es entstehen für Dich keine zusätzlichen Kosten.
ESPHome Konfiguration
Jetzt kommt der wichtigste Teil: der Code. Du fügst den Sensor ganz einfach per YAML zu deiner esp32.yaml (oder esp8266.yaml) Datei hinzu. So sieht mein Beispiel aus.

Um die Sensoren zu erkennen, brauchst du eine Adresse. Das klingt kompliziert geht aber ganz einfach.
Schließe deinen Dallas Sensor an z.b. am Pin GPIO14.
Dann füge folgenden Code ein
# 1-Wire Bus definieren
one_wire:
- platform: gpio
pin: GPIO14
Jetzt sollte im Log irgendwo was sein mit one wire bus / Dallas und dann steht da eine Adresse: z.b. “address: 0x6f3c01f0953dc628”
Diese bitte kopieren und dann deinen Code erweitern:
# 1-Wire Bus definieren
one_wire:
- platform: gpio
pin: GPIO14
sensor:
- platform: dallas_temp
address: 0x1234567812345628
name: Temp_Keller
update_interval: 120s
Hier ist der Alte Code für ESPHome Versionen vor August 2025. Der geht nicht mehr bei aktuellen Versionen.
# 1-Wire Bus definieren
dallas:
- pin: GPIO14
sensor:
- platform: dallas
address: 0x6f3c01f0953dc628
name: "GasTherme_Vorlauf"
- platform: dallas
address: 0x323c01f095def928
name: "GasTherme_Rücklauf"
- platform: dallas
address: 0x423c01f095ada528
name: "GasTherme_Wasserspeicher"
Sobald du den ESP geflasht und mit ESPHome eingebunden hast, erkennt Home Assistant den Sensor automatisch. Du findest ihn dann unter „Geräte & Dienste“ oder direkt in deinem Dashboard.
Du kannst die Temperatur jetzt:
- anzeigen,
- loggen,
- grafisch auswerten,
- oder in Automationen verwenden, z. B. für Heizung oder Lüftung.
Häufige Fehlerquellen
Ein paar Stolpersteine, die ich aus eigener Erfahrung (und Frustration 😅) kenne:
- Sensor wird nicht erkannt?
→ Prüfe unbedingt den Pull-Up-Widerstand und die richtige GPIO-Nummer im YAML! - Sensor zeigt keine Werte an?
→ Achte auf die Stromversorgung. Bei langen Kabeln: 5V statt 3.3V nutzen! - Falscher Pin gewählt?
→ GPIO-Zahl ≠ Pin-Name auf dem Board! Bei D1 Mini z. B. ist D5 = GPIO14.
Erweiterung: mehrere Sensoren am gleichen Pin
Das Geile am DS18B20: du kannst mehrere davon an einen einzigen Datenpin hängen! Einfach parallel schalten – also:
- alle GNDs zusammen
- alle VCCs zusammen
- alle DATA-Leitungen zusammen
Fazit
Der DS18B20 ist für mich der perfekte Einstiegssensor im Smart Home. Er ist robust, günstig, präzise und super einfach über ESPHome einzubinden. Inzwischen überwache ich mit dem Sensor Temperaturen im Innen- wie Außenbereich – und durch die einfache Konfiguration kann ich jederzeit neue hinzufügen.
Wenn du neugierig bist, wie du mit der Temperatur zum Beispiel eine smarte Lüftung oder einen Frostalarm baust, schreib’s mir in die Kommentare – dann zeige ich das im nächsten Beitrag.

Alex Kly (Alkly)
Ich glaube an ein Smart Home, das dir gehört – nicht der Cloud. Ich zeige dir, wie du Technik nutzt, um Energie zu sparen, Solar optimal einzubinden und dein Zuhause nachhaltig zu steuern.
Ein Zuhause, das mitdenkt, dich entlastet – und dich jeden Tag ein Stück freier macht.

Dallas wird inzwischen anders definiert.
# Example configuration entry
one_wire:
– platform: gpio
pin: GPIOXX
# Example configuration entry
sensor:
– platform: dallas_temp
address: 0x1234567812345628
name: temperature
update_interval: 120s
Hey
Welche esphome Version benutzt du? Bei mir kommt trotz korrekter Verkabelung keine Adresse eines termperatursensors.
Danke für den Tipp, ich hatte eine Version von April auf meinem Testsystem. Wie auch untern kommentiert worden ist, ist die Definition jetzt anders.
Vielen Dank für die Anleitung, sehr hilfreich für meine zukünftige Messung von Vor- und Rücklauf der Heizungsrohre!
Wie kommt man denn die Adressierung bei mehreren Sensoren hin? Bzw. wie finde ich die richtige Adresse meiner beiden Sensoren heraus?
Gerne! Gibt mehrere Wege, entweder nur mal einen Einstecken, ID notieren, nächster Einstecken.
Oder einfach den Sensor kurz mit der Hand warm machen und schauen, welcher steigt.