Bei mir hatte es mit ESPHome innerhalb HomeAssistant mit einem ESP32-WROOM-32 und einem fertigen DS18B20 Kabel (mit rotem, schwarzem und gelben Anschluss) auch nicht geklappt … also die nervige Warnung …
[W][gpio.one_wire:078]: Found no devices!"
… bis ich diesen Artikel gefunden habe.
Der “Game-Changer” (also die Lösung) in meinem Fall war a) die Zeile
type: arduino
im esp32 Abschnitt:
Also statt “type: esp-idf” …
esp32:
board: esp32dev
framework:
type: arduino
und b) die Tatsache, dass ich den Anschluss weg vom 5V - Pin auf den 3.3V - Pin gelegt habe.
Danach wurde mit folgendem “one_wire” Abschnitt tatsächlich der angeschlossene Sensor (ohne zusätzlichem Widerstand) erkannt …
one_wire:
- platform: gpio
pin:
number: GPIO4
mode:
input: true
pullup: false # Default: false
… mit dessen ID ich dann auch die Temperatur auslesen konnte …
(Scheinbar ist dann sogar pullup: false oder true egal, denn es hat mit beiden Versionen geklappt. Ich nehme an, dass in der Kabel-Version von az-delivery tatsächlich schon ein Widerstand eingearbeitet ist - aber um das mit Sicherheit sagen zu können, fehlen mir die technischen Hintergründe - bin auch nur “Anwender”. )
sensor:
- platform: dallas_temp
address: <angezeigte Sensor ID>
name: "TestTestTest"
unit_of_measurement: "°C"
icon: "mdi:thermometer-plus"
device_class: "temperature"
state_class: "measurement"
accuracy_decimals: 2
P.S. Eine weitere wichtige Erkenntnis (Simon erklärt das in seinem Video übrigens auch) … Als ich die dünnen Kabel des DS18B20 Sensors mit wago 3er Klemmen verbunden hatte, kam ebenfalls die "[W][gpio.one_wire:078]: Found no devices!" Warnung. Also hier muss man scheinbar auch extrem aufpassen, dass die Verbindung auch wirklich zu allen 3 Drähten steht!