Two Temperature Sensors (DS18b20, dallas) switch their values

Hi everybody,

I use temperature-sensors (DS18b20) with ESPHome and the dallas-platform quite a lot with many EPS-Devices - I they always work like a dream.

But last week I installed a new ESPHome-device with three temp-sensors and I have a strange problem: two sensors keep switches their values every 2-3 days (see chart below).

The sensor IDs are

  • 0x3d0822538308d728
  • 0xf50822547180e328

Did someone have the same problem already?

Very happy for help!

Christian

I have same issue. Three dallas sensors in same pin and two of those change places. Did you Cwein solve your problem?

yes i solved it: i just put all sensors two one pin, or i used two pins with one sensor. mixing those up, did not work

Hi,

Short version
Looks like a simillar problem. all of my sensors are detected, but their addresses are mapped to different names

Can anyone please advise :slight_smile:

Long version

in my boiler room I have two busses of DS18B20. 14 and 15 sensors each. all sensors are the waterproof type. and currently connected to two separate esp8266 based 8 relay boards with custom Tasmota build (to enable more than 8 sensors and DS18Aliasing). Uses UTP cable and 4.7K pullup to 3.3v. powered from 3.3v.

They all worked like this for over a year. the only problem was the occasional loss of sensors after power outage, which in my opinion is related to the fact that on power restore some relays trigger and draw too much power hence the DS18B20 fail to initialise. After soft reset they initialise fine.

Now I want to migrate the temperature sensors to ESPhome. wired (with data pull up), prepared the yaml with all the addresses:

esphome:
  name: hvac-sensors1
  friendly_name: hvac-sensors1

esp32:
  board: esp32dev
  framework:
    type: arduino

# Enable logging
logger:
  baud_rate: 0
  level: DEBUG

# Enable Home Assistant API
api:
  encryption:
    key: "redacted"

ota:
  password: "redacted"

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password

  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "redacted"
    password:"redacted"

captive_portal:
    
web_server:
  port: 80

dallas:
  - pin: GPIO21
    update_interval: 5s

sensor:
  - platform: dallas
    address: 0xD3062261522A4828
    name: "TrmBHXOut"
  - platform: dallas
    address: 0x42011447E180AA28
    name: "TrmGrizt2"
  - platform: dallas
    address: 0x6E0114480720AA28
    name: "TrasaIsHP"
  - platform: dallas
    address: 0xEC0114482F52AA28
    name: "GrindOUT"
  - platform: dallas
    address: 0x3B01144865F6AA28
    name: "SVprFiltr"
  - platform: dallas
    address: 0x4F0114488ED1AA28
    name: "RadOUT"
  - platform: dallas
    address: 0x400114485219AA28
    name: "GrindIN"
  - platform: dallas
    address: 0x770114478E3BAA28
    name: "SVprBHX"
  - platform: dallas
    address: 0x8806226181A1FA28
    name: "KVpoBHX"
  - platform: dallas
    address: 0xC00621946B139128
    name: "KViNama"
  - platform: dallas
    address: 0xCC0621946D64E928
    name: "RadIN"
  - platform: dallas
    address: 0xF00621945C000D28
    name: "FankIN"
  - platform: dallas
    address: 0x540621945C66ED28
    name: "FankOUT"
  - platform: dallas
    address: 0xA306226168B38328
    name: "SolarCol"
  - platform: dallas
    address: 0x0506226178652328
    name: "TrasaIHP"

The same addresses are used in Tasmota’s DS18Aliases to map sensors to their names.

When I connect any of my two busses I see readings from one sensor shown on another sensors name. I cross checked this comparing to tasmota readings, and with immersion of sensors to cold water. some of them show correct valuaes others show values from different sensors than the names are mapped to.

in the image below: left Tasmota (all correct values) right ESPHome. the screenshots are taken at slightly different time because I needed to move the Dallas buss from one device to another (the temperatures are supposed to be a bit different (this is a live system)).

green - correct value
Orange - the value ESPHome was supposed to show
Red - the value ESPHome actually shows.

What I tried:

  • changed the pull up from 4.7K to 2K. Problem persised
  • changed the Dallas voltage from 3.3v to 5v (the pullup remained to 3.3v). Problem persised
  • tried changing the dallas bus pin. Problem persised
  • tried some different approaches to Yaml recommended over the years on community forums.
  • changed update_interval to different durations. Problem persised
  • tried external component dallasng instead of dallas.
  • tried both of my dallas busses. they have different counts of sensors and different lengths between them. Both busses have the same problem.

here are some very_verbose logs:

[20:06:28][C][dallas.sensor:075]: DallasComponent:
[20:06:28][C][dallas.sensor:076]:   Pin: GPIO5
[20:06:28][C][dallas.sensor:077]:   Update Interval: 30.0s
[20:06:28][D][dallas.sensor:082]:   Found sensors:
[20:06:28][D][dallas.sensor:084]:     0xd3062261522a4828
[20:06:28][D][dallas.sensor:084]:     0x42011447e180aa28
[20:06:28][D][dallas.sensor:084]:     0x6e0114480720aa28
[20:06:28][D][dallas.sensor:084]:     0xec0114482f52aa28
[20:06:28][D][dallas.sensor:084]:     0x3b01144865f6aa28
[20:06:28][D][dallas.sensor:084]:     0x4f0114488ed1aa28
[20:06:28][D][dallas.sensor:084]:     0x400114485219aa28
[20:06:28][D][dallas.sensor:084]:     0x770114478e3baa28
[20:06:28][D][dallas.sensor:084]:     0x8806226181a1fa28
[20:06:28][D][dallas.sensor:084]:     0xc00621946b139128
[20:06:28][D][dallas.sensor:084]:     0xcc0621946d64e928
[20:06:28][D][dallas.sensor:084]:     0xf00621945c000d28
[20:06:28][D][dallas.sensor:084]:     0x540621945c66ed28
[20:06:28][D][dallas.sensor:084]:     0xa306226168b38328
[20:06:28][D][dallas.sensor:084]:     0x0506226178652328
[20:06:28][C][dallas.sensor:089]:   Device 'TrmBHXOut'
[20:06:28][C][dallas.sensor:089]:     Device Class: 'temperature'
[20:06:28][C][dallas.sensor:089]:     State Class: 'measurement'
[20:06:28][C][dallas.sensor:089]:     Unit of Measurement: '°C'
[20:06:28][C][dallas.sensor:089]:     Accuracy Decimals: 1
[20:06:28][V][dallas.sensor:089]:     Unique ID: 'dallas-d3062261522a4828'
[20:06:28][C][dallas.sensor:097]:     Address: 0xd3062261522a4828
[20:06:28][C][dallas.sensor:098]:     Resolution: 12
[20:06:28][C][dallas.sensor:089]:   Device 'TrmGrizt2'
[20:06:28][C][dallas.sensor:089]:     Device Class: 'temperature'
[20:06:28][C][dallas.sensor:089]:     State Class: 'measurement'
[20:06:28][C][dallas.sensor:089]:     Unit of Measurement: '°C'
[20:06:28][C][dallas.sensor:089]:     Accuracy Decimals: 1
[20:06:28][V][dallas.sensor:089]:     Unique ID: 'dallas-42011447e180aa28'
[20:06:28][C][dallas.sensor:097]:     Address: 0x42011447e180aa28
[20:06:28][C][dallas.sensor:098]:     Resolution: 12
[20:06:28][C][dallas.sensor:089]:   Device 'TrasaIsHP'
[20:06:28][C][dallas.sensor:089]:     Device Class: 'temperature'
[20:06:28][C][dallas.sensor:089]:     State Class: 'measurement'
[20:06:28][C][dallas.sensor:089]:     Unit of Measurement: '°C'
[20:06:28][C][dallas.sensor:089]:     Accuracy Decimals: 1
[20:06:28][V][dallas.sensor:089]:     Unique ID: 'dallas-6e0114480720aa28'
[20:06:28][C][dallas.sensor:097]:     Address: 0x6e0114480720aa28
[20:06:28][C][dallas.sensor:098]:     Resolution: 12
[20:06:28][C][dallas.sensor:089]:   Device 'GrindOUT'
[20:06:28][C][dallas.sensor:089]:     Device Class: 'temperature'
[20:06:28][C][dallas.sensor:089]:     State Class: 'measurement'
[20:06:28][C][dallas.sensor:089]:     Unit of Measurement: '°C'
[20:06:28][C][dallas.sensor:089]:     Accuracy Decimals: 1
[20:06:28][V][dallas.sensor:089]:     Unique ID: 'dallas-ec0114482f52aa28'
[20:06:28][C][dallas.sensor:097]:     Address: 0xec0114482f52aa28
[20:06:28][C][dallas.sensor:098]:     Resolution: 12
[20:06:29][C][dallas.sensor:089]:   Device 'SVprFiltr'
[20:06:29][C][dallas.sensor:089]:     Device Class: 'temperature'
[20:06:29][C][dallas.sensor:089]:     State Class: 'measurement'
[20:06:29][C][dallas.sensor:089]:     Unit of Measurement: '°C'
[20:06:29][C][dallas.sensor:089]:     Accuracy Decimals: 1
[20:06:29][V][dallas.sensor:089]:     Unique ID: 'dallas-3b01144865f6aa28'
[20:06:29][C][dallas.sensor:097]:     Address: 0x3b01144865f6aa28
[20:06:29][C][dallas.sensor:098]:     Resolution: 12
[20:06:29][C][dallas.sensor:089]:   Device 'RadOUT'
[20:06:29][C][dallas.sensor:089]:     Device Class: 'temperature'
[20:06:29][C][dallas.sensor:089]:     State Class: 'measurement'
[20:06:29][C][dallas.sensor:089]:     Unit of Measurement: '°C'
[20:06:29][C][dallas.sensor:089]:     Accuracy Decimals: 1
[20:06:29][V][dallas.sensor:089]:     Unique ID: 'dallas-4f0114488ed1aa28'
[20:06:29][C][dallas.sensor:097]:     Address: 0x4f0114488ed1aa28
[20:06:29][C][dallas.sensor:098]:     Resolution: 12
[20:06:29][C][dallas.sensor:089]:   Device 'GrindIN'
[20:06:29][C][dallas.sensor:089]:     Device Class: 'temperature'
[20:06:29][C][dallas.sensor:089]:     State Class: 'measurement'
[20:06:29][C][dallas.sensor:089]:     Unit of Measurement: '°C'
[20:06:29][C][dallas.sensor:089]:     Accuracy Decimals: 1
[20:06:29][V][dallas.sensor:089]:     Unique ID: 'dallas-400114485219aa28'
[20:06:29][C][dallas.sensor:097]:     Address: 0x400114485219aa28
[20:06:29][C][dallas.sensor:098]:     Resolution: 12
[20:06:29][C][dallas.sensor:089]:   Device 'SVprBHX'
[20:06:29][C][dallas.sensor:089]:     Device Class: 'temperature'
[20:06:29][C][dallas.sensor:089]:     State Class: 'measurement'
[20:06:29][C][dallas.sensor:089]:     Unit of Measurement: '°C'
[20:06:29][C][dallas.sensor:089]:     Accuracy Decimals: 1
[20:06:29][V][dallas.sensor:089]:     Unique ID: 'dallas-770114478e3baa28'
[20:06:29][C][dallas.sensor:097]:     Address: 0x770114478e3baa28
[20:06:29][C][dallas.sensor:098]:     Resolution: 12
[20:06:29][C][dallas.sensor:089]:   Device 'KVpoBHX'
[20:06:29][C][dallas.sensor:089]:     Device Class: 'temperature'
[20:06:29][C][dallas.sensor:089]:     State Class: 'measurement'
[20:06:29][C][dallas.sensor:089]:     Unit of Measurement: '°C'
[20:06:29][C][dallas.sensor:089]:     Accuracy Decimals: 1
[20:06:29][V][dallas.sensor:089]:     Unique ID: 'dallas-8806226181a1fa28'
[20:06:29][C][dallas.sensor:097]:     Address: 0x8806226181a1fa28
[20:06:29][C][dallas.sensor:098]:     Resolution: 12
[20:06:29][C][dallas.sensor:089]:   Device 'KViNama'
[20:06:29][C][dallas.sensor:089]:     Device Class: 'temperature'
[20:06:29][C][dallas.sensor:089]:     State Class: 'measurement'
[20:06:29][C][dallas.sensor:089]:     Unit of Measurement: '°C'
[20:06:29][C][dallas.sensor:089]:     Accuracy Decimals: 1
[20:06:29][V][dallas.sensor:089]:     Unique ID: 'dallas-c00621946b139128'
[20:06:29][C][dallas.sensor:097]:     Address: 0xc00621946b139128
[20:06:29][C][dallas.sensor:098]:     Resolution: 12
[20:06:29][C][dallas.sensor:089]:   Device 'RadIN'
[20:06:29][C][dallas.sensor:089]:     Device Class: 'temperature'
[20:06:29][C][dallas.sensor:089]:     State Class: 'measurement'
[20:06:29][C][dallas.sensor:089]:     Unit of Measurement: '°C'
[20:06:29][C][dallas.sensor:089]:     Accuracy Decimals: 1
[20:06:29][V][dallas.sensor:089]:     Unique ID: 'dallas-cc0621946d64e928'
[20:06:29][C][dallas.sensor:097]:     Address: 0xcc0621946d64e928
[20:06:29][C][dallas.sensor:098]:     Resolution: 12
[20:06:29][C][dallas.sensor:089]:   Device 'FankIN'
[20:06:29][C][dallas.sensor:089]:     Device Class: 'temperature'
[20:06:29][C][dallas.sensor:089]:     State Class: 'measurement'
[20:06:29][C][dallas.sensor:089]:     Unit of Measurement: '°C'
[20:06:29][C][dallas.sensor:089]:     Accuracy Decimals: 1
[20:06:29][V][dallas.sensor:089]:     Unique ID: 'dallas-f00621945c000d28'
[20:06:29][C][dallas.sensor:097]:     Address: 0xf00621945c000d28
[20:06:29][C][dallas.sensor:098]:     Resolution: 12
[20:06:29][C][dallas.sensor:089]:   Device 'FankOUT'
[20:06:29][C][dallas.sensor:089]:     Device Class: 'temperature'
[20:06:29][C][dallas.sensor:089]:     State Class: 'measurement'
[20:06:29][C][dallas.sensor:089]:     Unit of Measurement: '°C'
[20:06:29][C][dallas.sensor:089]:     Accuracy Decimals: 1
[20:06:29][V][dallas.sensor:089]:     Unique ID: 'dallas-540621945c66ed28'
[20:06:29][C][dallas.sensor:097]:     Address: 0x540621945c66ed28
[20:06:29][C][dallas.sensor:098]:     Resolution: 12
[20:06:29][C][dallas.sensor:089]:   Device 'SolarCol'
[20:06:29][C][dallas.sensor:089]:     Device Class: 'temperature'
[20:06:29][C][dallas.sensor:089]:     State Class: 'measurement'
[20:06:29][C][dallas.sensor:089]:     Unit of Measurement: '°C'
[20:06:29][C][dallas.sensor:089]:     Accuracy Decimals: 1
[20:06:29][V][dallas.sensor:089]:     Unique ID: 'dallas-a306226168b38328'
[20:06:29][C][dallas.sensor:097]:     Address: 0xa306226168b38328
[20:06:29][C][dallas.sensor:098]:     Resolution: 12
[20:06:29][C][dallas.sensor:089]:   Device 'TrasaIHP'
[20:06:29][C][dallas.sensor:089]:     Device Class: 'temperature'
[20:06:29][C][dallas.sensor:089]:     State Class: 'measurement'
[20:06:29][C][dallas.sensor:089]:     Unit of Measurement: '°C'
[20:06:29][C][dallas.sensor:089]:     Accuracy Decimals: 1
[20:06:29][V][dallas.sensor:089]:     Unique ID: 'dallas-0506226178652328'
[20:06:29][C][dallas.sensor:097]:     Address: 0x0506226178652328
[20:06:29][C][dallas.sensor:098]:     Resolution: 12
[20:06:32][VV][scheduler:226]: Running interval '' with interval=10000 last_execution=39454 (now=49455)
[20:06:35][VV][scheduler:226]: Running interval '' with interval=60000 last_execution=4294959441 (now=52146)
[20:06:37][VV][scheduler:226]: Running interval 'update' with interval=30000 last_execution=24032 (now=54033)
[20:06:37][VV][scheduler:032]: set_timeout(name='0xd3062261522a4828', timeout=750)
[20:06:37][VV][scheduler:032]: set_timeout(name='0x42011447e180aa28', timeout=750)
[20:06:37][VV][scheduler:032]: set_timeout(name='0x6e0114480720aa28', timeout=750)
[20:06:37][VV][scheduler:032]: set_timeout(name='0xec0114482f52aa28', timeout=750)
[20:06:37][VV][scheduler:032]: set_timeout(name='0x3b01144865f6aa28', timeout=750)
[20:06:37][VV][scheduler:032]: set_timeout(name='0x4f0114488ed1aa28', timeout=750)
[20:06:37][VV][scheduler:032]: set_timeout(name='0x400114485219aa28', timeout=750)
[20:06:37][VV][scheduler:032]: set_timeout(name='0x770114478e3baa28', timeout=750)
[20:06:37][VV][scheduler:032]: set_timeout(name='0x8806226181a1fa28', timeout=750)
[20:06:37][VV][scheduler:032]: set_timeout(name='0xc00621946b139128', timeout=750)
[20:06:37][VV][scheduler:032]: set_timeout(name='0xcc0621946d64e928', timeout=750)
[20:06:37][VV][scheduler:032]: set_timeout(name='0xf00621945c000d28', timeout=750)
[20:06:37][VV][scheduler:032]: set_timeout(name='0x540621945c66ed28', timeout=750)
[20:06:37][VV][scheduler:032]: set_timeout(name='0xa306226168b38328', timeout=750)
[20:06:37][VV][scheduler:032]: set_timeout(name='0x0506226178652328', timeout=750)
[20:06:37][W][component:232]: Component dallas took a long time for an operation (102 ms).
[20:06:37][W][component:233]: Components should block for at most 30 ms.
[20:06:38][VV][scheduler:226]: Running timeout '0xd3062261522a4828' with interval=750 last_execution=54049 (now=54800)
[20:06:38][VV][dallas.sensor:254]: Scratch pad: 2D.02.4B.46.7F.FF.7F.10.85 (85)
[20:06:38][D][dallas.sensor:143]: 'TrmBHXOut': Got Temperature=34.8°C
[20:06:38][V][sensor:043]: 'TrmBHXOut': Received new state 34.812500
[20:06:38][D][sensor:094]: 'TrmBHXOut': Sending state 34.81250 °C with 1 decimals of accuracy
[20:06:38][V][json:038]: Attempting to allocate 512 bytes for JSON serialization
[20:06:38][V][json:058]: Size after shrink 76 bytes
[20:06:38][W][component:232]: Component dallas took a long time for an operation (60 ms).
[20:06:38][W][component:233]: Components should block for at most 30 ms.
[20:06:38][VV][scheduler:226]: Running timeout '0x42011447e180aa28' with interval=750 last_execution=54055 (now=54893)
[20:06:38][VV][dallas.sensor:254]: Scratch pad: 96.02.4B.46.7F.FF.7F.10.04 (04)
[20:06:38][D][dallas.sensor:143]: 'TrmGrizt2': Got Temperature=41.4°C
[20:06:38][V][sensor:043]: 'TrmGrizt2': Received new state 41.375000
[20:06:38][D][sensor:094]: 'TrmGrizt2': Sending state 41.37500 °C with 1 decimals of accuracy
[20:06:38][V][json:038]: Attempting to allocate 512 bytes for JSON serialization
[20:06:38][V][json:058]: Size after shrink 76 bytes
[20:06:38][W][component:232]: Component dallas took a long time for an operation (55 ms).
[20:06:38][W][component:233]: Components should block for at most 30 ms.
[20:06:38][VV][scheduler:226]: Running timeout '0x6e0114480720aa28' with interval=750 last_execution=54064 (now=54893)
[20:06:38][VV][dallas.sensor:254]: Scratch pad: 19.03.4B.46.7F.FF.7F.10.51 (51)
[20:06:38][D][dallas.sensor:143]: 'TrasaIsHP': Got Temperature=49.6°C
[20:06:38][V][sensor:043]: 'TrasaIsHP': Received new state 49.562500
[20:06:38][D][sensor:094]: 'TrasaIsHP': Sending state 49.56250 °C with 1 decimals of accuracy
[20:06:38][V][json:038]: Attempting to allocate 512 bytes for JSON serialization
[20:06:38][V][json:058]: Size after shrink 76 bytes
[20:06:38][W][component:232]: Component dallas took a long time for an operation (78 ms).
[20:06:38][W][component:233]: Components should block for at most 30 ms.
[20:06:38][VV][scheduler:226]: Running timeout '0xec0114482f52aa28' with interval=750 last_execution=54074 (now=54893)
[20:06:38][VV][dallas.sensor:254]: Scratch pad: 31.01.4B.46.7F.FF.7F.10.A9 (A9)
[20:06:38][D][dallas.sensor:143]: 'GrindOUT': Got Temperature=19.1°C
[20:06:38][V][sensor:043]: 'GrindOUT': Received new state 19.062500
[20:06:38][D][sensor:094]: 'GrindOUT': Sending state 19.06250 °C with 1 decimals of accuracy
[20:06:38][V][json:038]: Attempting to allocate 512 bytes for JSON serialization
[20:06:38][V][json:058]: Size after shrink 76 bytes
[20:06:38][W][component:232]: Component dallas took a long time for an operation (51 ms).
[20:06:38][W][component:233]: Components should block for at most 30 ms.
[20:06:38][VV][scheduler:226]: Running timeout '0x3b01144865f6aa28' with interval=750 last_execution=54079 (now=54893)
[20:06:38][VV][dallas.sensor:254]: Scratch pad: A6.01.4B.46.7F.FF.7F.10.BF (BF)
[20:06:38][D][dallas.sensor:143]: 'SVprFiltr': Got Temperature=26.4°C
[20:06:38][V][sensor:043]: 'SVprFiltr': Received new state 26.375000
[20:06:38][D][sensor:094]: 'SVprFiltr': Sending state 26.37500 °C with 1 decimals of accuracy
[20:06:38][V][json:038]: Attempting to allocate 512 bytes for JSON serialization
[20:06:38][V][json:058]: Size after shrink 76 bytes
[20:06:38][W][component:232]: Component dallas took a long time for an operation (55 ms).
[20:06:38][W][component:233]: Components should block for at most 30 ms.
[20:06:38][VV][scheduler:226]: Running timeout '0x4f0114488ed1aa28' with interval=750 last_execution=54084 (now=54893)
[20:06:38][VV][dallas.sensor:254]: Scratch pad: 38.01.4B.46.7F.FF.7F.10.C0 (C0)
[20:06:38][D][dallas.sensor:143]: 'RadOUT': Got Temperature=19.5°C
[20:06:38][V][sensor:043]: 'RadOUT': Received new state 19.500000
[20:06:38][D][sensor:094]: 'RadOUT': Sending state 19.50000 °C with 1 decimals of accuracy
[20:06:38][V][json:038]: Attempting to allocate 512 bytes for JSON serialization
[20:06:38][V][json:058]: Size after shrink 72 bytes
[20:06:38][W][component:232]: Component dallas took a long time for an operation (73 ms).
[20:06:38][W][component:233]: Components should block for at most 30 ms.
[20:06:38][VV][scheduler:226]: Running timeout '0x400114485219aa28' with interval=750 last_execution=54088 (now=54893)
[20:06:38][VV][dallas.sensor:254]: Scratch pad: D6.00.4B.46.7F.FF.7F.10.37 (37)
[20:06:38][D][dallas.sensor:143]: 'GrindIN': Got Temperature=13.4°C
[20:06:38][V][sensor:043]: 'GrindIN': Received new state 13.375000
[20:06:38][D][sensor:094]: 'GrindIN': Sending state 13.37500 °C with 1 decimals of accuracy
[20:06:38][V][json:038]: Attempting to allocate 512 bytes for JSON serialization
[20:06:38][V][json:058]: Size after shrink 72 bytes
[20:06:38][W][component:232]: Component dallas took a long time for an operation (59 ms).
[20:06:38][W][component:233]: Components should block for at most 30 ms.
[20:06:38][VV][scheduler:226]: Running timeout '0x770114478e3baa28' with interval=750 last_execution=54093 (now=54893)
[20:06:38][VV][dallas.sensor:254]: Scratch pad: B7.02.4B.46.7F.FF.7F.10.EF (EF)
[20:06:38][D][dallas.sensor:143]: 'SVprBHX': Got Temperature=43.4°C
[20:06:38][V][sensor:043]: 'SVprBHX': Received new state 43.437500
[20:06:38][D][sensor:094]: 'SVprBHX': Sending state 43.43750 °C with 1 decimals of accuracy
[20:06:38][V][json:038]: Attempting to allocate 512 bytes for JSON serialization
[20:06:38][V][json:058]: Size after shrink 72 bytes
[20:06:38][W][component:232]: Component dallas took a long time for an operation (71 ms).
[20:06:38][W][component:233]: Components should block for at most 30 ms.
[20:06:38][VV][scheduler:226]: Running timeout '0x8806226181a1fa28' with interval=750 last_execution=54098 (now=54893)
[20:06:38][VV][dallas.sensor:254]: Scratch pad: BA.02.4B.46.7F.FF.7F.10.93 (93)
[20:06:38][D][dallas.sensor:143]: 'KVpoBHX': Got Temperature=43.6°C
[20:06:38][V][sensor:043]: 'KVpoBHX': Received new state 43.625000
[20:06:39][D][sensor:094]: 'KVpoBHX': Sending state 43.62500 °C with 1 decimals of accuracy
[20:06:39][V][json:038]: Attempting to allocate 512 bytes for JSON serialization
[20:06:39][V][json:058]: Size after shrink 72 bytes
[20:06:39][W][component:232]: Component dallas took a long time for an operation (60 ms).
[20:06:39][W][component:233]: Components should block for at most 30 ms.
[20:06:39][VV][scheduler:226]: Running timeout '0xc00621946b139128' with interval=750 last_execution=54103 (now=54893)
[20:06:39][VV][dallas.sensor:254]: Scratch pad: 6E.01.4B.46.7F.FF.7F.10.4E (4E)
[20:06:39][D][dallas.sensor:143]: 'KViNama': Got Temperature=22.9°C
[20:06:39][V][sensor:043]: 'KViNama': Received new state 22.875000
[20:06:39][D][sensor:094]: 'KViNama': Sending state 22.87500 °C with 1 decimals of accuracy
[20:06:39][V][json:038]: Attempting to allocate 512 bytes for JSON serialization
[20:06:39][V][json:058]: Size after shrink 72 bytes
[20:06:39][W][component:232]: Component dallas took a long time for an operation (77 ms).
[20:06:39][W][component:233]: Components should block for at most 30 ms.
[20:06:39][VV][scheduler:226]: Running timeout '0xcc0621946d64e928' with interval=750 last_execution=54108 (now=54893)
[20:06:39][VV][dallas.sensor:254]: Scratch pad: 64.01.4B.46.7F.FF.7F.10.E2 (E2)
[20:06:39][D][dallas.sensor:143]: 'RadIN': Got Temperature=22.2°C
[20:06:39][V][sensor:043]: 'RadIN': Received new state 22.250000
[20:06:39][D][sensor:094]: 'RadIN': Sending state 22.25000 °C with 1 decimals of accuracy
[20:06:39][V][json:038]: Attempting to allocate 512 bytes for JSON serialization
[20:06:39][V][json:058]: Size after shrink 72 bytes
[20:06:39][W][component:232]: Component dallas took a long time for an operation (55 ms).
[20:06:39][W][component:233]: Components should block for at most 30 ms.
[20:06:39][VV][scheduler:226]: Running timeout '0xf00621945c000d28' with interval=750 last_execution=54128 (now=54893)
[20:06:39][VV][dallas.sensor:254]: Scratch pad: B5.00.4B.46.7F.FF.7F.10.13 (13)
[20:06:39][D][dallas.sensor:143]: 'FankIN': Got Temperature=11.3°C
[20:06:39][V][sensor:043]: 'FankIN': Received new state 11.312500
[20:06:39][D][sensor:094]: 'FankIN': Sending state 11.31250 °C with 1 decimals of accuracy
[20:06:39][V][json:038]: Attempting to allocate 512 bytes for JSON serialization
[20:06:39][V][json:058]: Size after shrink 72 bytes
[20:06:39][VV][scheduler:226]: Running timeout '0x540621945c66ed28' with interval=750 last_execution=54133 (now=54893)
[20:06:39][VV][dallas.sensor:254]: Scratch pad: B4.02.4B.46.7F.FF.7F.10.2A (2A)
[20:06:39][D][dallas.sensor:143]: 'FankOUT': Got Temperature=43.2°C
[20:06:39][V][sensor:043]: 'FankOUT': Received new state 43.250000
[20:06:39][D][sensor:094]: 'FankOUT': Sending state 43.25000 °C with 1 decimals of accuracy
[20:06:39][V][json:038]: Attempting to allocate 512 bytes for JSON serialization
[20:06:39][V][json:058]: Size after shrink 72 bytes
[20:06:39][W][component:232]: Component dallas took a long time for an operation (61 ms).
[20:06:39][W][component:233]: Components should block for at most 30 ms.
[20:06:39][VV][scheduler:226]: Running timeout '0xa306226168b38328' with interval=750 last_execution=54138 (now=54893)
[20:06:39][VV][dallas.sensor:254]: Scratch pad: 4F.02.4B.46.7F.FF.7F.10.E2 (E2)
[20:06:39][D][dallas.sensor:143]: 'SolarCol': Got Temperature=36.9°C
[20:06:39][V][sensor:043]: 'SolarCol': Received new state 36.937500
[20:06:39][D][sensor:094]: 'SolarCol': Sending state 36.93750 °C with 1 decimals of accuracy
[20:06:39][V][json:038]: Attempting to allocate 512 bytes for JSON serialization
[20:06:39][V][json:058]: Size after shrink 76 bytes
[20:06:39][VV][scheduler:226]: Running timeout '0x0506226178652328' with interval=750 last_execution=54143 (now=54893)
[20:06:39][VV][dallas.sensor:254]: Scratch pad: 4A.01.4B.46.7F.FF.7F.10.F3 (F3)
[20:06:39][D][dallas.sensor:143]: 'TrasaIHP': Got Temperature=20.6°C
[20:06:39][V][sensor:043]: 'TrasaIHP': Received new state 20.625000
[20:06:39][D][sensor:094]: 'TrasaIHP': Sending state 20.62500 °C with 1 decimals of accuracy
[20:06:39][V][json:038]: Attempting to allocate 512 bytes for JSON serialization
[20:06:39][V][json:058]: Size after shrink 76 bytes
[20:06:39][VV][scheduler:226]: Running interval 'update' with interval=30000 last_execution=26193 (now=56197)
[20:06:39][W][dallas:165]: Warning cleared
[20:06:39][E][dallas.sensor:112]: Requesting conversion failed
[20:06:39][W][dallas:152]: Warning set: unspecified
[20:06:42][VV][scheduler:226]: Running interval '' with interval=10000 last_execution=49454 (now=59455)
[20:06:52][VV][scheduler:226]: Running interval '' with interval=10000 last_execution=59454 (now=69455)


Todays update 1:

  1. I have updated my ESPHome from 2024.3.0 to 2024.4.1
  2. I tried the same config on two different boards*.
  • WeAct Studios ESP32-C3 Core
  • Wemos D1 Mini ESP ESP8266

*initial try was on ESP32 DEVKITV1

  1. tried reducing the resolution for the sensor to 9. problem persisted

  2. tried using index instead of the address. problem persisted.

  3. the most confusing observation. I tried commenting out most of the sensors on the yaml. left only a couple (the ones that are most easy to reach and put into cold water). the bus still contained all of the 15 sensors. when I hooked the bus to the board and submerged a sensor into cold water the value did not drop! same with another sensor. so it seams that even if the rest of the ds18b20’ies addresses were not configured as sensors teir values were still being fetched and distributed to wrong yaml defined sensors :exploding_head:
    based on this I guess the dallas component mixes stuff up inside the scratchpad?

So The problem persisted.

:frowning:

begining to conclude that my whole migration to ESPHome plan will go on-hold… switching to a plan to use Tasmota just on separate board from my relay board…

update 2:

one more experiment. I have gathered 9 pcs of DS18B20. and did multiple experiments. Labeled them, Wired them with 4.7k and later with 2K and tried on all 3 ESPhome boards used before. All of them worked predictably. the same addresses heated same labels (physically and on the ESPhome sensor)

But then I installed my custom Tasmota build to the Wemos D1 Mini device.

This is where a thing that shattered my understanding of DS18B20 addresses happened.

Same sensors, same board, same pullup. BUT now the sensor that had a taped label of S9 had an address of a different sensor than on ESPhome yaml.

Overall the set of addresses was the same. but they are assigned to different hardware sensors than when running on ESPHome. :exploding_head:

I sort of assumed that those addresses are like MAC addresses in network (factory burned, unique) but seems that Tasmota and ESPHome are assigning them themselves and differently…

please someone tell me I am not mistaken

if I am not mistaken, it would mean I have wasted two days :frowning: when I just needed to remap my sensors :man_facepalming:

Update 3 I think Tasmota has a bug :man_facepalming: Or at least I have a wrong assimption that two lists of sensors on the same device would be ordered the same…

Tried to put the ID’s of different sensors from different sources into one list. And now I see that Tasmota itself in one case shows one ID in another an ID of a different sensor… The first Tasmota ID is from the Sensor Json. The socond Tasmota ID is from the command DS18Alias result Json.
While the first Tasmota ID corresponds to ESPHome ID the second is from a different sensor. My Tasmota based setup is using the DS18Alias to assign meaningful names to the sensors. So when I tried to reuse the same mappings on ESPHome yaml I got all this confusion…

So the conclusion is that if I will still migrate from Tasmota to ESPHome, I will need to remap my sensor names to their ID’s (as they are reported by ESPHome).