Dallas temp, DS18S20, shows lower temperature after update

Hey, after updating to latest ESPhome and making config changes to accommodate the new way to configurate the DS18S20 sensors, the temperature reading is way lower…

Changed config from:

dallas:
  - pin: GPIO14

sensor:
  - platform: dallas
    address: 0x7c000802f8937610
    name: "Tempesensor 1"
    accuracy_decimals: 2

To:

one_wire:
  - platform: gpio
    pin: GPIO14

sensor:
  - platform: dallas_temp
    address: 0x7c000802f8937610
    name: "Tempesensor 1"
    accuracy_decimals: 2

With no other changes the temperature reading dropped 2-3 degrees.
I have another esp with some dallas sensors where i made the same changes and updated, there i had no problems.

image

Does anyone know how to fix this?

Looking at that history graph the temperature dropped before the update (where the gap in the graph is).

a25de912761fd72ad597a53f03ccbbcc5c9f44e7

I hear you. But there was no other changes done, and the sensor is positioned in my living room ceiling. its physically impossible for the temperature to drop 2-3 degrees there without putting an ice cube on the sensor or something like that.
My guess is that the graph makes it look like the temperature dropped before the update, but no other changes could reasonably have caused the temperature drop.

It looks that way because that is what happened. The new firmware was not running until after that gap. The temperature had already dropped before the gap.

You could restore the backup of esphome and flash the node with the old version to check.

1 Like

Not true, here is a screenshot of the database entries in question. You can see the update period marked as unavailable
image

1 Like

Self-heating? Is the DS18B20 close to the ESP device? Could its time offline have cooled it down?

No, its connected with a cable.

I did some more tests, restored 2024.5.5 and then updated to 2024.6.1 again, then 2024.6.2, and restored again.
Its definitely something with the new version

1 Like

Apologies. I was wrong.

That’s pretty damming evidence.

Only question now is which one is the correct temperature?

No worries, it needed to be confirmed anyways.

I can put a couple of other sensors beside it to confirm what temperature is correct. But i did this when i installed the sensor to confirm that the reading was somewhat correct, those findings made me install the sensor on a cable. So i think that the 2024.5.5 reading is the correct one.
Anyhow, i will confirm it.

Are you using any filters like calibrate linear? Or are you using the raw values? If you are using filters, maybe try with just the raw values to see if that changes. It’s possible that the calculations have change with the new component.

No, no filters, just raw data.

sensor:
  - platform: dallas
    address: 0x7c000802f8937610
    name: "Temperature 1"
    accuracy_decimals: 2

I think that’s not a genuine Maxim / Dallas DS18B20 in that case. I believe their addresses all end in 28, although that might be old information. My nine sensors do, but they’re all quite old.

3 Likes

You are probably right, its some cheapo “Dallas”-sensor from Aliexpress.

Huh. I never realised that. All nine of mine do end in 28. Some of them only purchased 4 months ago.

Hi all.

Long time lurker, first time poster.

For what it’s worth, I’m running on 2024.5.4. I have a fish tank with a genuine Dallas ( address ending in 28 ) measuring 21.7deg. After seeing this thread, I popped an old school bulb thermometer into the tank and it’s measuring just over 21deg. So that’s within margin of error

Definitely something not right with new 2024.6.“x”

This is where you should report it:

Thanks Tom. I have done so

Put all the information in the issue. Don’t just link to this forum topic.

All nine of my sensors (all on Wemos D1 Mini or Pro; one has five on a bus) continue to work fine after the update to 2024.6 without any “jumps” in the data. So it’s not a straightforward error in the code; and an odd one given that the communication of the data is digital.