ESP32 Heizungsüberwachung mit DS18B20 Temperatursensoren

Zum Hauptbeitrag

ESP32 Heizungsüberwachung mit mehreren DS18B20 Temperatursensoren

Mit einem ESP32 und mehreren DS18B20 Temperatursensoren lässt sich eine Heizungsanlage sehr einfach überwachen.
In meinem Setup werden mehrere Messpunkte wie Pufferspeicher, Vorlauf und Warmwasser kontinuierlich erfasst und direkt an Home Assistant übertragen.

Statt einer fertigen Komplettlösung habe ich mich für einen eigenen ESP32 mit digitalen Temperatursensoren entschieden.

Dieser Beitrag beschreibt Aufbau, Verdrahtung und Einbindung der Sensoren in ESPHome.
Die spätere Auswertung und Heizungslogik folgt in einem separaten Artikel.


Inhalt

Ziel der Heizungsüberwachung

Erfasst werden folgende Messpunkte:

  • Pufferspeicher oben
  • Pufferspeicher unten
  • Heizungs-Vorlauf
  • Warmwasser
  • Solar-Vorlauf
  • Holzvergaser-Vorlauf

Die Daten werden per WLAN direkt an Home Assistant übertragen und dort für Diagramme, Automationen und Analysen verwendet.


Verwendete Komponenten

Bauteil Funktion
ESP32 Dev Board* Zentrale Steuereinheit
DS18B20 (wasserdicht)* Digitale Temperatursensoren
4,7 kΩ Widerstand* Pull-Up für 1-Wire Bus
Stabiles USB-C Netzteil* Versorgung des ESP32
Wärmeleitpaste & Isolierung* Thermisch saubere Montage
Rohrchellen je nach Rohrdurchmesser* Zur Befestigung am Wasserrohr

Die mit * gekennzeichnete linkt sind sogenannte Amazon-Affiliate-Links. Wenn du darüber einkaufst, erhalte ich eine kleine Provision. Für dich entstehen keine zusätzlichen Kosten.


Verdrahtung der DS18B20 Sensoren am ESP32 (1-Wire Bus)

Die DS18B20-Sensoren werden parallel an einem gemeinsamen 1-Wire Bus betrieben.

Das bedeutet:

Eine einzige Datenleitung kann mehrere Sensoren gleichzeitig ansprechen.

Anschluss am ESP32

DS18B20 ESP32
Rot (VCC) 3.3V
Schwarz (GND) GND
Gelb (DATA) GPIO4

Zwischen 3.3V und DATA wird ein 4,7 kΩ Pull-Up Widerstand gesetzt.


EP32_mit_Pull_up_Wiederstand


Elektrisches Schema

        3.3V
         |
         |
      [4.7kΩ]
         |
         +-----------------------+
         |                       |

ESP32 GPIO4 -----+-------+-------+-------+------ DATA
| |
Sensor1 Sensor2 Sensor3

ESP32 GND ---------------+-------+-------+------ GND
| |
Sensor1 Sensor2 Sensor3

ESP32 3.3V --------------+-------+-------+------ VCC
| |
Sensor1 Sensor2 Sensor3


Hinweise zur Verkabelung

  • Nur 3.3V verwenden
  • Möglichst Busstruktur, keine Sternverkabelung
  • Bei >3-5 m Leitung geschirmtes oder verdrilltes Kabel
  • Saubere Lötstellen
  • Pull-Up Widerstand ist zwingend erforderlich
  • Ausrechend großer Netzteil für den ESP - mindestens 2A

Montage der Temperatursensoren an der Heizungsanlage

Die Sensoren wurden:

  • in vorhandene Tauchhülsen eingesetzt
  • oder direkt an Rohrleitungen befestigt
  • mit Wärmeleitpaste versehen
  • anschließend isoliert

Nur so misst man tatsächliche Rohrtemperaturen und nicht die Umgebung.


ESP32 Konfiguration mit ESPHome

Die Software des ESP32 wird mit ESPHome erstellt.

Damit lässt sich der Mikrocontroller sehr einfach in Home Assistant integrieren.


1-Wire Bus definieren

one_wire:
  - platform: gpio
    pin: GPIO4
    id: bus_heizung

Damit wird der 1-Wire Bus am GPIO4 aktiviert.

Sensor-Adressen ermitteln

Beim ersten Flash ohne feste Adresse:

sensor:
  - platform: dallas
    name: "Temp Debug"

Im ESPHome-Log erscheinen Einträge wie:

Found sensors:
0x1C0000031A2BFF28
0x3D0000031B8CFF28

Diese 64-Bit-Adresse ist für jeden Sensor eindeutig.

Beispiel der vollständigen ESPHome Konfiguration
esphome:
  name: heizung-temperaturen
  friendly_name: Heizung neu

esp32:
  board: esp32dev

logger:

api:

ota:

wifi:
  ssid: WLAN_NAME
  password: WLAN_PASSWORT

one_wire:
  - platform: gpio
    pin: GPIO4
    id: bus_heizung

sensor:

  - platform: dallas_temp
    address: 0xba00000098d0b028
    name: "Puffer oben"
    one_wire_id: bus_heizung
    update_interval: 60s
    resolution: 11

  - platform: dallas_temp
    address: 0x140000006c21fa28
    name: "Puffer unten"
    one_wire_id: bus_heizung
    update_interval: 60s
    resolution: 11

  - platform: dallas_temp
    address: 0x7a00000098c91e28
    name: "Heizung Vorlauf"
    one_wire_id: bus_heizung
    update_interval: 60s
    resolution: 11

Erklärung wichtiger Parameter

Messintervall
update_interval: 60s

Die Temperatur wird einmal pro Minute gemessen.

Für Heizungsanlagen ist das völlig ausreichend.

Sensorauflösung
resolution: 11

Der DS18B20 unterstützt 9-12 Bit.

11 Bit ist ein guter Kompromiss zwischen:

Genauigkeit

Stabilität

Geschwindigkeit

Sensorfilter

Optional können Messwerte gefiltert werden:

filters:
  - median:
      window_size: 5
      send_every: 1

Dieser Filter reduziert kleine Messsprünge.

Warum DS18B20 Sensoren ideal sind

Digitale Messung (keine Analogfehler)

Mehrere Sensoren an einem Pin

Jeder Sensor besitzt eine eindeutige Adresse

Sehr robust im Heizungsumfeld

Einfache Integration in ESPHome

Typische Fehlerquellen

❌ Kein Pull-Up Widerstand
Ohne 4,7 kΩ funktioniert der Bus nicht stabil.

❌ 5V falsch angeschlossen
DATA darf nicht mit 5 V betrieben werden.

❌ Sternverkabelung
Lange Abzweige verursachen Kommunikationsfehler.

❌ Instabile Netzteile
Billige USB-Netzteile führen zu WLAN-Problemen.

❌ Fehlende Isolierung
Ohne Dämmung misst der Sensor eher die Raumluft.

Fazit

Mit einem ESP32 und mehreren DS18B20-Sensoren lässt sich eine sehr zuverlässige und kostengünstige Heizungsüberwachung aufbauen.

Die Kombination aus 1-Wire Bus, ESPHome und Home Assistant ermöglicht eine flexible Lösung zur Überwachung von:

Pufferspeichern

Heizungs-Vorlauf

Warmwasser

Solaranlagen

Holzvergasern

Das System ist einfach erweiterbar und ideal für Smart-Home Projekte rund um Energie- und Heizungsoptimierung.

Zusammenfassung

Ein ESP32 mit mehreren DS18B20 Temperatursensoren ist eine einfache Möglichkeit, eine Heizungsanlage digital zu überwachen.

Die Sensoren können über den 1-Wire Bus mit nur einer Datenleitung betrieben werden und lassen sich problemlos in Home Assistant integrieren.

Damit erhält man eine kostengünstige und flexible Lösung zur Analyse und Optimierung der eigenen Heizungsanlage.

Previous Post Next Post

Kommentare