Hallo zusammen hat noch jemand diesen Fehler bei Temperaturmessungen mit dem Dalles-Sensor DS18B20.
Hat mind. 1 Jahr fehlerfrei funktioniert.
Ich habe keine Veränderungen vorgenommen.
Hier ein Teil vom LOG
[12:38:31][W][dallas.temp.sensor:139]: 'Heizung Aussen' - Scratch pad checksum invalid!
[12:38:31][W][component:157]: Component dallas_temp.sensor set Warning flag: scratch pad checksum invalid
[12:38:31][D][sensor:093]: 'Heizung Aussen': Sending state nan °C with 2 decimals of accuracy
[12:38:32][W][component:170]: Component dallas_temp.sensor cleared Warning flag
[12:38:33][W][component:170]: Component dallas_temp.sensor cleared Warning flag
[12:38:33][W][dallas.temp.sensor:139]: 'Heizung Vorlauf' - Scratch pad checksum invalid!
[12:38:33][W][component:157]: Component dallas_temp.sensor set Warning flag: scratch pad checksum invalid
[12:38:33][D][sensor:093]: 'Heizung Vorlauf': Sending state nan °C with 2 decimals of accuracy
[12:38:33][W][dallas.temp.sensor:139]: 'Heizung Rücklauf' - Scratch pad checksum invalid!
[12:38:33][W][component:157]: Component dallas_temp.sensor set Warning flag: scratch pad checksum invalid
[12:38:33][D][sensor:093]: 'Heizung Rücklauf': Sending state nan °C with 2 decimals of accuracy
[12:38:41][W][component:170]: Component dallas_temp.sensor cleared Warning flag
[12:38:41][W][dallas.temp.sensor:139]: 'Heizung Aussen' - Scratch pad checksum invalid!
[12:38:41][W][component:157]: Component dallas_temp.sensor set Warning flag: scratch pad checksum invalid
[12:38:41][D][sensor:093]: 'Heizung Aussen': Sending state nan °C with 2 decimals of accuracy
[12:38:42][W][component:170]: Component dallas_temp.sensor cleared Warning flag
[12:38:43][W][component:170]: Component dallas_temp.sensor cleared Warning flag
[12:38:43][D][dallas.temp.sensor:054]: 'Heizung Vorlauf': Got Temperature=22.9°C
[12:38:43][D][sensor:093]: 'Heizung Vorlauf': Sending state 22.87500 °C with 2 decimals of accuracy
[12:38:43][D][dallas.temp.sensor:054]: 'Heizung Rücklauf': Got Temperature=21.6°C
[12:38:43][D][sensor:093]: 'Heizung Rücklauf': Sending state 21.56250 °C with 2 decimals of accuracy
[12:38:51][W][component:170]: Component dallas_temp.sensor cleared Warning flag
[12:38:51][W][dallas.temp.sensor:139]: 'Heizung Aussen' - Scratch pad checksum invalid!
[12:38:51][W][component:157]: Component dallas_temp.sensor set Warning flag: scratch pad checksum invalid
[12:38:51][D][sensor:093]: 'Heizung Aussen': Sending state nan °C with 2 decimals of accuracy
[12:38:53][D][dallas.temp.sensor:054]: 'Heizung Vorlauf': Got Temperature=22.8°C
[12:38:53][D][sensor:093]: 'Heizung Vorlauf': Sending state 22.81250 °C with 2 decimals of accuracy
[12:38:53][D][dallas.temp.sensor:054]: 'Heizung Rücklauf': Got Temperature=21.5°C
[12:38:53][D][sensor:093]: 'Heizung Rücklauf': Sending state 21.50000 °C with 2 decimals of accuracy
[12:39:01][W][component:170]: Component dallas_temp.sensor cleared Warning flag
[12:39:01][D][dallas.temp.sensor:054]: 'Heizung Aussen': Got Temperature=14.6°C
[12:39:01][D][sensor:093]: 'Heizung Aussen': Sending state 14.62500 °C with 2 decimals of accuracy
[12:39:03][D][dallas.temp.sensor:054]: 'Heizung Vorlauf': Got Temperature=22.9°C
[12:39:03][D][sensor:093]: 'Heizung Vorlauf': Sending state 22.87500 °C with 2 decimals of accuracy
[12:39:03][D][dallas.temp.sensor:054]: 'Heizung Rücklauf': Got Temperature=21.5°C
[12:39:03][D][sensor:093]: 'Heizung Rücklauf': Sending state 21.50000 °C with 2 decimals of accuracy
by HarryP: Code-/Logzeilen formatiert (bitte immer in </> einbinden)
Das kann mehrere Ursachen haben.
Zum Einen altert Elektronik. Das kann Jahrzehnte dauern, aber auch nur wenige Monate, Wochen oder Tage. Insbesondere Elektrolytkondensatoren sind davon betroffen, aber auch jedes aktive Bauellement, vor allem, wenn es aus einer Billigproduktion kommt, damit der Preis stimmt.Und nein Markenware schützt nicht davor, denn auch die kommt aus irgendeiner chinesischen Dorfschmiede.
Zum Anderen hast du sicher das eine oder andere Update unter HA eingespielt, auch für ESPHome.
Und last but not least, Löt- und Schraubverbindungen können auch die Ursache sein. Das Zauberwort heißt Oxidation. Metalloxide leiten den Strom wesentlich schlechter, als das nicht oxidierte Metall.Lötverbindungen sollte man deshalb immer gut reinigen und mit Schutzlack überziehen. Für Schraubverbindungen gibt es Adernendhülsen. Ich fülle diese nach dem Grimpen gern mit Lötzinn, um das Oxidieren zu verlangsamen. Im Heizraum habe ich den ESP in einem IP68-Gehäuse und dort, wo unterwegs alle DS18B20 zusammenkommen habe ich die Lötverbindungen für rot, gelb und schwarz mit kleberhaltigem Schrupfschlauch isoliert und dann noch mal über alles das selbe Spiel. Ist zwar steif und dick an dieser Stelle, aber dafür ist das hoffentlich sehr lange geschützt und gleichzeitig wirkt das auch als Entlastung für die Lötstellen.
Den Widerstand zwischen Datenleitung und VCC direkt am ESP hast du auch? Denn wenn die Verbindungen unwillig werden, hilft der noch mit parasitärem Strom über die Datenleitung zusätzlich zur PullUp-Funktion.
Wenn du sonst nichts geändert hast, dann wird es wahrscheinlich ein Problem mit einer der Anschlussleitungn sein. Wenn etwas gesteck und nicht gelötet ist, dann würde ich es anlöten bzw. die Kontakte reinigen. Wenn eine Schraub- oder Klemmverbindung, z.B. zum Widerstand etwas oxidiert ist, dann kann das für solche Probleme schon reichen…
Hallo Lutz und Thomas,
vielen Dank für eure Hilfe.
Ich habe die gesteckten Verbindungen überprüft und gereinigt. Dann habe ich noch einen 4,7kOhm Widerstand zwischen der Datenleitung und 5V eingelötet.
Vorher hatte ich nur:
mode:
input: true
pullup: true
Jetzt funktioniert wieder alles.
Noch einmal vielen Dank für den Tip und einen schönen Sonntag.
Ja die DS18B20 sind beim Widerstand etwas zickig. Das hat im Forum hier schon einige Diskussionen erzeugt. Sie brauchen einen X-Kilo Ohm Widerstand zwischen Datenleitung und Versorgung.
Bei 3,3V Versorgung klappt das bei mir mir 4,7kOhm Widerstand und ohne “pullup:true”. Kann sein das es bei 5V Versorgung gerade so auf Kante mit “pullup:true” und ohne extra Widerstand geht.
Und bei dir scheint es ja bei 5V mit 4,7K Ohm Widerstand und “pullup:true” zu gehen.
Ich habe das gleiche Problem. Es sind insgesamt 8 Temperaturfühler (Dallas ) im Einsatz. Installiert vor einem Jahr - mittlerweile merke ich dass immer wieder Sensoren zeitweise ausfallen (keine Werte mehr liefern) und beim Prüfen der Lofiles ist mir auch aufgefallen dass unterschiedliche Fehlermeldungen kommen:
Seit dem letzten ESPHome Update, funktioniert es bei mir auch nicht mehr. Es hat Jahrelang ohne Widerstand funktioniert. 4,7kOhm eingebaut und trotzdem keine Funktion.