Multiple DS18B20 dallas.sensor: Scratch pad checksum invalid!

Yes, and still working well. Even after the One Wire dallas upgrade.

#Old way, wrong now
#dallas:
#  - pin: D6
#    update_interval: 10s


one_wire:
  - platform: gpio
    pin: D6	

sensor:
  - platform: dallas_temp
    address: 0xB30069E200001928
    name: "Stepper box temp"
    update_interval: 10s

  - platform: dallas_temp
    address: 0xDD01142FDF00C728
    name: "Temperature East outside"
    update_interval: 10s

    
  - platform: dallas_temp
    address: 0xE00316554741FF28
    name: "Boiler in temperature near"
    update_interval: 10s

    
  - platform: dallas_temp
    address: 0x7B04165130D5FF28
    name: "Boiler out temperature near"
    update_interval: 10s

    
  - platform: dallas_temp
    address: 0x5E02131A7D65AA28
    name: "Boiler out temperature far"
    update_interval: 10s

    
  - platform: dallas_temp
    address: 0x4902131A6393AA28
    name: "Boiler in temperature far"
    update_interval: 10s

Logs:

[10:32:19][I][app:100]: ESPHome version 2024.6.6 compiled on Jul  4 2024, 16:53:04
....
[10:32:19][C][logger:189]:   Hardware UART: UART0
[10:32:19][C][gpio.one_wire:020]: GPIO 1-wire bus:
[10:32:19][C][gpio.one_wire:021]:   Pin: GPIO12
[10:32:19][C][gpio.one_wire:080]:   Found devices:
[10:32:19][C][gpio.one_wire:082]:     0x5e02131a7d65aa28 (DS18B20)
[10:32:19][C][gpio.one_wire:082]:     0x4902131a6393aa28 (DS18B20)
[10:32:19][C][gpio.one_wire:082]:     0xb30069e200001928 (DS18B20)
[10:32:19][C][gpio.one_wire:082]:     0xdd01142fdf00c728 (DS18B20)
[10:32:19][C][gpio.one_wire:082]:     0xe00316554741ff28 (DS18B20)
[10:32:19][C][gpio.one_wire:082]:     0x7b04165130d5ff28 (DS18B20)
[10:32:19][D][dallas.temp.sensor:054]: 'Temperature East outside': Got Temperature=28.0°C
[10:32:19][D][sensor:093]: 'Temperature East outside': Sending state 28.00000 °C with 1 decimals of accuracy

Hope it’s of help.

Curious which sensors you’re using


5 x Waterproof encased DS18b20 sensors. And one regular in the component box.

That gizmo was assembled 2-3 years ago, so I can not remember where I bought them.

Hello
I have same problems of this posts with an Esp32


please look at here :

Frustratingly after updating to the latest version of ESPHome I am now once again seeing these errors. Foolishly I didn’t make a note of the version it was working against but I was using

source: 
  type: git
  url: https://github.com/ssieb/esphome
  ref: ds
components: 
  - dallas
refresh: 1min

Which no longer exists so didn’t have any option. Arg, sometimes I hate ESPHome and the Dallas sensors.

I had the same issue starting on March 3rd.
After trying to find an issued with the hardware, I tried downgrading to the last version before the failure, which was 2025.2.1
An it worked. It’s now running ad before.

For info the Devs have now fixed the issues in the development version but I’m not sure what release this fix will be in


I’ve got 6 cheap DS18B20 sensors, with an esp32. After reading posts suggesting that one_wire may not work well with some esp32 models, I ended up creating 6 one_wire busses. It all worked well, apart from the relatively frequent scratchpad checksum errors. Once I fitted a 2kΩ pullip resistor (I didn’t have 4.7kΩ) between each data pin and 3.3V - almost all of the errors resolved. I had assumed the internal pull-up would be adequate but it wasn’t.

sensor:
  - platform: dallas_temp
    one_wire_id: x5
    name: ***whatever, I'm using 6 of these***
    update_interval: 10s
    filters:
      - filter_out: NaN      
       

one_wire:
  - platform: gpio
    pin: GPIO32
    id: ***whatever x6**

@James.a.simpson are you doing them each on their own GPIO Pin?

As I understand, the internal pullup is not document but are said to be around 30 to 50 kohm. There are claims that it shall work with the internal but I would recommend to always us an external pullup

yup. Each on it’s own pin

1 Like

Still the same error here, running esp32 with two ds18b20