ESP Home Dallas in one wire ändern

Hallo,

mit dem aktuellen ESP Home Update muß man ja dallas in one wire ändern.

Auf der Seite

steht als Beispiel

# Example configuration entry
one_wire:
  - platform: gpio
    pin: GPIOXX

Aber was muß man an den einzelnen Sensoren ggfs. noch ändern, wo auch noch

platform: dallas

steht.

Was müßte ich an dem folgenden Code noch ändern, da die Installation so fehlschlägt?

one_wire:
- platform: gpio
    pin: GPIO0
    mode:
      input: true
      pullup: false
  update_interval: 30s 
    
# Individual sensors
sensor:
  - platform: gpio
    address: 0x436cc0d445da7628
    #resolution: 12
    name: "Vorlauf Gasheizung"
    unit_of_measurement: "°C"
    icon: "mdi:thermometer-plus"
    device_class: "temperature"
    state_class: "measurement"
    accuracy_decimals: 2

Danke und LG Pit

Hi Pit,

one_wire:
- platform: gpio
  pin: GPIO2
  # mode:
    # input: true
    # pullup: true
# update_interval: 60s

# Individual sensors

sensor:
  - platform: dallas_temp
    address: 0x25d666720a646128
    name: "Vorlauf HK1"

so sollte es bei dir auch klappen, nur den GPIO anpassen.
Ich nutze einen D1mini und bei mir hängen die Sensoren an D4=GPIO2

alternative kannst du den one_wire Teil auch so machen:

one_wire:
- platform: gpio
  pin: 
    number: GPIO2
    mode:
      input: true
      pullup: true
# update_interval: 60s

wichtig ist unter sensor noch auf platform “dallas_temp” wechseln.

Grüße

Hallo,

danke, ich konnte es installieren, aber ich bekomme lauter Fehlmeldungen im Log:

11:26:22][W][dallas.temp.sensor:074]: 'Vorlauf Gasheizung' - reading scratch pad failed bus reset
[11:26:22][W][component:157]: Component dallas_temp.sensor set Warning flag: bus reset failed
[11:26:22][D][sensor:093]: 'Vorlauf Gasheizung': Sending state nan °C with 2 decimals of accuracy
[11:27:06][W][component:170]: Component dallas_temp.sensor cleared Warning flag
[11:27:07][W][dallas.temp.sensor:074]: 'Rücklauf Gasheizung' - reading scratch pad failed bus reset
[11:27:07][W][component:157]: Component dallas_temp.sensor set Warning flag: bus reset failed
[11:27:07][D][sensor:093]: 'Rücklauf Gasheizung': Sending state nan °C with 2 decimals of accuracy
[11:27:14][W][component:170]: Component dallas_temp.sensor cleared Warning flag
[11:27:15][W][dallas.temp.sensor:074]: 'Vorlauf Solarthermie' - reading scratch pad failed bus reset
[11:27:15][W][component:157]: Component dallas_temp.sensor set Warning flag: bus reset failed
[11:27:15][D][sensor:093]: 'Vorlauf Solarthermie': Sending state nan °C with 2 decimals of accuracy
[11:27:18][W][component:170]: Component dallas_temp.sensor cleared Warning flag
[11:27:18][W][component:170]: Component dallas_temp.sensor cleared Warning flag
[11:27:19][W][dallas.temp.sensor:074]: 'Außentemperatur' - reading scratch pad failed bus reset
[11:27:19][W][component:157]: Component dallas_temp.sensor set Warning flag: bus reset failed
[11:27:19][D][sensor:093]: 'Außentemperatur': Sending state nan °C with 2 decimals of accuracy
[11:27:19][W][dallas.temp.sensor:074]: 'Rücklauf Solarthermie' - reading scratch pad failed bus reset
[11:27:19][W][component:157]: Component dallas_temp.sensor set Warning flag: bus reset failed
[11:27:19][D][sensor:093]: 'Rücklauf Solarthermie': Sending state nan °C with 2 decimals of accuracy
[11:27:21][W][component:170]: Component dallas_temp.sensor cleared Warning flag
[11:27:22][W][dallas.temp.sensor:074]: 'Vorlauf Gasheizung' - reading scratch pad failed bus reset
[11:27:22][W][component:157]: Component dallas_temp.sensor set Warning flag: bus reset failed
[11:27:22][D][sensor:093]: 'Vorlauf Gasheizung': Sending state nan °C with 2 decimals of accuracy

LG Pit

Bei mir funktioniert es problemlos.

Das ist die Ausgabe vom ESPhome-Log von meinem Aquarium:
am Anfang:

[12:47:35][C][gpio.one_wire:016]: GPIO 1-wire bus:
[12:47:35][C][gpio.one_wire:017]:   Pin: GPIO14
[12:47:35][C][gpio.one_wire:080]:   Found devices:
[12:47:35][C][gpio.one_wire:082]:     0xea3c16f6495c9728 (DS18B20)

und etwas später:

[12:48:30][D][dallas.temp.sensor:054]: 'Wassertemperatur': Got Temperature=24.4°C

In meiner yaml steht:

one_wire:
  - platform: gpio
    pin: GPIO14

sensor:
  # DS18b20
  - platform: dallas_temp
    address: 0xea3c16f6495c9728
    name: "Wassertemperatur"
    id: aqua_temp

LG Thomas

Bei mir leider nicht, er findet anscheinend schon die Sensoren nicht.

[16:07:07][C][gpio.one_wire:016]: GPIO 1-wire bus:
[16:07:07][C][gpio.one_wire:017]:   Pin: GPIO0
[16:07:07][W][gpio.one_wire:078]:   Found no devices!
[16:07:07][C][dallas.temp.sensor:029]: Dallas Temperature Sensor:
[16:07:07][C][dallas.temp.sensor:034]:   Address: 0x0136c6d443e9ab28 (DS18B20)
[16:07:07][C][dallas.temp.sensor:035]:   Resolution: 12 bits
[16:07:07][C][dallas.temp.sensor:036]:   Update Interval: 60.0s
[16:07:07][C][dallas.temp.sensor:029]: Dallas Temperature Sensor:
[16:07:07][C][dallas.temp.sensor:034]:   Address: 0xf544c5d443538328 (DS18B20)
[16:07:07][C][dallas.temp.sensor:035]:   Resolution: 12 bits
[16:07:07][C][dallas.temp.sensor:036]:   Update Interval: 60.0s
[16:07:07][C][dallas.temp.sensor:029]: Dallas Temperature Sensor:
[16:07:07][C][dallas.temp.sensor:034]:   Address: 0x5e763dd443699c28 (DS18B20)
[16:07:07][C][dallas.temp.sensor:035]:   Resolution: 12 bits
[16:07:07][C][dallas.temp.sensor:036]:   Update Interval: 60.0s
[16:07:07][C][dallas.temp.sensor:029]: Dallas Temperature Sensor:
[16:07:07][C][dallas.temp.sensor:034]:   Address: 0x08039dd44370db28 (DS18B20)
[16:07:07][C][dallas.temp.sensor:035]:   Resolution: 12 bits
[16:07:07][C][dallas.temp.sensor:036]:   Update Interval: 60.0s
[16:07:07][C][dallas.temp.sensor:029]: Dallas Temperature Sensor:
[16:07:07][C][dallas.temp.sensor:034]:   Address: 0x5a4741d4439c3d28 (DS18B20)
[16:07:07][C][dallas.temp.sensor:035]:   Resolution: 12 bits
[16:07:07][C][dallas.temp.sensor:036]:   Update Interval: 60.0s
[16:07:08][W][component:237]: Component api took a long time for an operation (286 ms).
[16:07:08][W][component:238]: Components should block for at most 30 ms.
[16:07:10][D][api.connection:1375]: Home Assistant 2024.6.3 (192.168.1.151): Connected successfully
[16:07:33][W][component:170]: Component dallas_temp.sensor cleared Warning flag
[16:07:34][W][dallas.temp.sensor:074]: 'Rücklauf Gasheizung' - reading scratch pad failed bus reset
[16:07:34][W][component:157]: Component dallas_temp.sensor set Warning flag: bus reset failed
[16:07:34][D][sensor:093]: 'Rücklauf Gasheizung': Sending state nan °C with 2 decimals of accuracy
[16:07:39][W][component:170]: Component dallas_temp.sensor cleared Warning flag
[16:07:39][W][dallas.temp.sensor:074]: 'Rücklauf Solarthermie' - reading scratch pad failed bus reset
[16:07:39][W][component:157]: Component dallas_temp.sensor set Warning flag: bus reset failed
[16:07:39][D][sensor:093]: 'Rücklauf Solarthermie': Sending state nan °C with 2 decimals of accuracy
[16:07:41][W][component:170]: Component dallas_temp.sensor cleared Warning flag
[16:07:42][W][dallas.temp.sensor:074]: 'Vorlauf Solarthermie' - reading scratch pad failed bus reset
[16:07:42][W][component:157]: Component dallas_temp.sensor set Warning flag: bus reset failed
[16:07:42][D][sensor:093]: 'Vorlauf Solarthermie': Sending state nan °C with 2 decimals of accuracy
[16:07:43][W][component:170]: Component dallas_temp.sensor cleared Warning flag
[16:07:44][W][dallas.temp.sensor:074]: 'Außentemperatur' - reading scratch pad failed bus reset
[16:07:44][W][component:157]: Component dallas_temp.sensor set Warning flag: bus reset failed
[16:07:44][D][sensor:093]: 'Außentemperatur': Sending state nan °C with 2 decimals of accuracy
[16:07:49][W][component:170]: Component dallas_temp.sensor cleared Warning flag
[16:07:50][W][dallas.temp.sensor:074]: 'Vorlauf Gasheizung' - reading scratch pad failed bus reset
[16:07:50][W][component:157]: Component dallas_temp.sensor set Warning flag: bus reset failed
[16:07:50][D][sensor:093]: 'Vorlauf Gasheizung': Sending state nan °C with 2 decimals of accuracy
[16:07:53][I][safe_mode:041]: Boot seems successful; resetting boot loop counter

Ich habe die Kabel schon überprüft, ich finde den Fehler nicht.

LG Pit

lass mal den mode teil weg

update_interval: 30s
```gehört in den sensor teil

Danke, ich habe das Update nochmal rückgängig gemacht, dann wurden die Sensoren auch nicht gefunden.

Es war anscheinend ein Kontaktproblem an der Zusammenführung der Kabel.

Die Sensoren werden jetzt alle 5 wieder gefunden,

[18:58:01][C][gpio.one_wire:080]:   Found devices:
[18:58:01][C][gpio.one_wire:082]:     0x5e763dd443699c28 (DS18B20)
[18:58:01][C][gpio.one_wire:082]:     0x436cc0d445da7628 (DS18B20)
[18:58:01][C][gpio.one_wire:082]:     0x5a4741d4439c3d28 (DS18B20)
[18:58:01][C][gpio.one_wire:082]:     0xf544c5d443538328 (DS18B20)
[18:58:01][C][gpio.one_wire:082]:     0x08039dd44370db28 (DS18B20)

allerdings habe ich bei einem Sensor immer noch die folgende Fehlermeldung:

[18:55:24][W][component:170]: Component dallas_temp.sensor cleared Warning flag
[18:55:25][W][dallas.temp.sensor:139]: 'Vorlauf Gasheizung' - Scratch pad checksum invalid!
[18:55:25][W][component:157]: Component dallas_temp.sensor set Warning flag: scratch pad checksum invalid
[18:55:25][D][sensor:093]: 'Vorlauf Gasheizung': Sending state nan °C with 2 decimals of accuracy

Wenn der Sensor aber gefunden wird, kann es ja kein Kontaktproblem am Kabel sein, oder?

EDIT: Ich habe die Lösung gefunden. Aus irgendeinem Grund hatte ich bei dem einen Sensor eine falsche Adresse eingetragen. Mit der richtigen Adresse funktioniert er auch.

LG Pit

Ich löte immer alles und gehe dann mit entsprechenden Steckverbindern nach außen. Im Gehäuse JST und außerhalb Klinke. Vor dem ersten Test wird mit dem Multimeter geprüft. Einmal ohne und einmal mit Stromversorgung. Und gesichert wird mit Heißkleber. Damit habe ich bisher nur gute Erfahrungen gemacht. ESP verbaue ich nicht erst seit Home Assistant. Um die einzelnen kleinen Platinen kommt Schrupfschlauch drum, aber ohne großartig zu schrumpfen.

LG Thomas

Ja, das ist natürlich besser, bei mir war es halt so, daß ich das mit der Temperaturmessung mal ausprobieren wollte, ich hatte dann die Kabel am ESP angelötet und die Sensoren mit WAGO-Klemmen verbunden. Das hat auch funktioniert, und dann war ich zu bequem, alles nochmal neu zu machen.

LG Pit

WAGO-Klemmen sind ein bisschen überdimensioniert. Die Drähte vom Sensor (wenn du die fertig verkabelten mit Metallkappe nimmst) sind sehr dünn. WAGO ist ja eher was für 200V-Leitungen.
Wenn du öfters mal probieren willst, nimm ein Stück Streifenleiter-Platine und löte da beidseitig an den Enden der Streifen Anschlussklemmen für Leiterplatten drauf. Dann kannst du die für sowas nehmen. Einfach mehrere mit verschiedner Anzahl an Klemmen basteln. Dann hast du immer den passenden Verbinder zum testen.
Als “Verteiler” kannst du auch mehrere Klemmen längs auf den Streifen löten.

LG Thomas

1 „Gefällt mir“

Hallo Thomas,

danke für den Tip.

LG Pit

Hello,

ich hatte das selbe Problem. Danke für den Thread, hat mir weitergeholfen.

greetz
charly