Sensor · Temperaturfühler
DS18B20
Misst Temperatur über einen echten Bus – mehrere Fühler an einem einzigen Pin, gern wasserdicht am Kabel.
Was man sieht: Fühler in warmes Wasser tauchen, die Kurve steigt sofort. Zwei Fühler am selben Pin liefern zwei Kurven.
Was man lernt: Was ein Bus ist, wozu jeder Fühler eine eindeutige 64-Bit-Adresse hat, und warum der Pull-up-Widerstand Pflicht ist.
Anschluss
Drei Adern: VDD an 3,3 V, GND an GND, Datenleitung DQ an einen GPIO. Dazu ein Widerstand von 4,7 kOhm zwischen DQ und 3,3 V. Beim wasserdichten Fühler ist rot VDD, schwarz oder blau GND, gelb oder weiß die Datenleitung.
Der 1-Wire-Bus
Alle Fühler hängen parallel an derselben Datenleitung. Jeder hat eine werkseitig eingebrannte Adresse, die ESPHome beim Start ins Log schreibt. Mit einem Fühler braucht man die Adresse nicht, mit mehreren trägt man sie ein.
Versionshinweis
Seit ESPHome 2024.6.0 ist die Bus-Logik aus dem alten dallas-Sensor in die
eigene Komponente one_wire gewandert. Wer ein Tutorial von vor 2024 folgt,
stolpert genau hier.
Minimal-YAML
one_wire:
- platform: gpio
pin: GPIO4
sensor:
- platform: dallas_temp
name: "Wassertemperatur"
update_interval: 60s
Nach der ESPHome-Doku: https://esphome.io/components/sensor/dallas_temp/
Fallen
- {'Alte Anleitungen mit `platform': 'dallas` kompilieren seit ESPHome 2024.6 nicht mehr. Heute heißt es `one_wire` plus `dallas_temp`.'}
- Fälschungen liefern 85 °C oder -127 °C.
- Pull-up 4,7 kOhm zwischen Datenleitung und 3,3 V nicht vergessen. Bei langen Leitungen kleiner wählen.
- Bei mehreren Fühlern die `address` aus dem Log eintragen, sonst weiß man nicht, welcher welcher ist.
ESPHome-Komponenten
Typische Projekte
Aquarium und Teich · Heizungs-Vorlauf und -Rücklauf · Kühlschrank · Komposthaufen · Kühlkörper