ESPHome - Dallas DS18B20 - Scratch pad checksum invalid!

Bonjour,

j’ai un Wemos node-mcu v3 E12
sur lequel j’ai plusieurs « choses »
BMP280 : pression atmosphérique
led RGB … DHT11 capteur humidité
j’avais aussi un capteur de présence PIR
que j’ai décidé de retirer
pour mettre à la place une sonde température Dallas DS18B20
pour mettre à l’extérieur … et relever la température extérieure donc …

données connectée sur D5 et résistance de 4.7Kohm entre le + et le fil jaune des données

voici mon code

esphome:
  name: station-multicapteur
  platform: ESP8266
  board: nodemcuv2

# Enable logging
logger:

# Enable Home Assistant API
api:

ota:
  password: "c22162c2adabce21d3f2e938141eebaa"

wifi:
  ssid: "****************"
  password: "************************************************"

  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "Station-Multicapteur"
    password: "0QnnhURyIbLL"

captive_portal:

# Example configuration entry
dallas:
  pin: D5
  update_interval: 60s
  
sensor:
  - platform: dht
    pin: D7
    model: dht22
    temperature:
      name: "Temperature"
    humidity:
      name: "Humidité"
    update_interval: 1s
    
  - platform: bmp280
    temperature:
      name: "Outside Temperature"
      oversampling: 16x
    pressure:
      name: "Outside Pressure"
    address: 0x76
    update_interval: 60s
  
  - platform: dallas
    address: 0x1C0000031EDD2A28
    name: "Temperature Exterieure"

i2c:
  sda: D2
  scl: D1
  scan: True
  id: bus_a

mais après avoir envoyé le code il me met une ligne jaune …

[20:21:33][W][dallas.sensor:261]: ‹ Temperature exterieure › - Scratch pad checksum invalid!

et la température n’est pas remontée …

peut être que j’ai oublié quelque chose ??? ^^

je vous remercie :slight_smile: :slight_smile:

Ma configuration


[center]## System Information

version core-2022.9.6
installation_type Home Assistant OS
dev false
hassio true
docker true
user root
virtualenv false
python_version 3.10.5
os_name Linux
os_version 5.15.61-v7l
arch armv7l
timezone Europe/Paris
config_dir /config
Home Assistant Community Store
GitHub API ok
GitHub Content ok
GitHub Web ok
GitHub API Calls Remaining 4154
Installed Version 1.27.2
Stage running
Available Repositories 1118
Downloaded Repositories 4
Home Assistant Cloud
logged_in true
subscription_expiration 21 octobre 2022 à 02:00
relayer_connected true
remote_enabled false
remote_connected false
alexa_enabled true
google_enabled true
remote_server eu-central-1-5.ui.nabu.casa
can_reach_cert_server ok
can_reach_cloud_auth ok
can_reach_cloud ok
Home Assistant Supervisor
host_os Home Assistant OS 9.0
update_channel stable
supervisor_version supervisor-2022.09.1
agent_version 1.3.0
docker_version 20.10.17
disk_total 57.8 GB
disk_used 6.7 GB
healthy true
supported true
board rpi4
supervisor_api ok
version_api ok
installed_addons Samba share (10.0.0), File editor (5.4.1), Duck DNS (1.15.0), Node-RED (13.4.0), Mosquitto broker (6.1.3), ESPHome (2022.9.1), Home Assistant Google Drive Backup (0.108.4), Spotify Connect (0.12.2), AdGuard Home (4.7.4), deCONZ (6.16.0)
Dashboards
dashboards 1
resources 3
views 2
mode storage
Recorder
oldest_recorder_run 15 septembre 2022 à 19:30
current_recorder_run 24 septembre 2022 à 19:11
estimated_db_size 108.26 MiB
database_engine sqlite
database_version 3.38.5
Spotify
api_endpoint_reachable ok
[/center]

Euh pas souvenir de devoir mettre une résistance :confused: tu as essayé sans ?

j’ai trouvé …
en fait en regardant les log …
j’ai pu constater que l’adresse que j’avais mise n’était pas bonne :innocent:
youpi :grin:

Bonjour,
Ou trouves tu la bonne adresse, car j’ai le même problème que toi? J’ai récupéré un code d’analyseur piscine où est programme l’adresse dans le fichier YAML: 0x5B021460A924FF28

Hello,
Normalement pour avoir la bonne adresse de ta sonde dallas, tu dois d’abord ne pas créer le sensor

esphome:
  name: esp-piscine
  friendly_name: esp-piscine

esp8266:
  board: d1_mini

#external_components:
#  - source: github://nrandell/dallasng  


# Enable logging
logger:

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

ota:
  password: "xxxxxxxxxxxxxxxxxxxxxxxxx"

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password
  #manual_ip:
    #static_ip: !secret esp-piscine_ip
    #gateway: !secret wifi_gtw
    #subnet: !secret wifi_sub
    #dns1: !secret wifi_dns1

  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "Esp-Piscine Fallback Hotspot"
    password: "DwCkHYdNLcBJ"

captive_portal:

dallas:
  - pin: GPIO13
    update_interval: 5s

ensuite après install, tu lances simplement les logs en mode wireless et là normalement l’adresse de ta sonde dois remonter.
En ce qui me concerne j’ai un autre soucis. Ma sonde n’est pas vue mais après de longues recherches il semblerait que cela vienne de la dernière version de esphome. je te poste qd même les logs où doivent apparaitre l’adresse de ta sonde

en espérant t’avoir aidé

Merci pour le tuyau, car ca marche.
Mais je n’ai pas eu besoin de supprimer la ligne de création du sensor.
Merci pour la solution

Super!! Du coup, peux tu me dire ce que tu as mis comme résistance? aurais tu une photo de ton montage et de la résistance (couleur et valeur) car mon pb vient peut être de là…
. merci

Bonjour Phil
Il faut mettre une résistance de 4.7 k ohms entre le broche signal (DQ) et le +Vcc (5V ou 3.3V pour un ESP).

Je n’ai jamais essayé, mais cela doit revenir au même en activant la résistance de Pull-up sur l’esp, bien que 2 x + forte, mais ça vaut d’essayer ça fait une résistance de moins…

Pour les sondes qui ne fonctionne pas, il y a toute sorte d’origine, la première, la chinoiserie : a acheter au moins cher, j’ai 5 sondes qui ont la même adresse ça c’est balot!! :woozy_face:
Des sondes qui ne fonctionne purement et simplement pas…
Et j’ai ouïe dire des brochages différents…
Bref cela peut être un peu tout!

Merci @Xtofe pour ta réponse. Je suis novice en électronique et pour etre franc j’ai mis une résistance 4.7k ohms mais de puissance 1w ??
voici le modèle

Du coup j’ai commandé (et pas encore reçu) ce modèle là pensant que cela vient peut être de là
image

D’après toi ?
merci de ton aide

Du quart de watt suffit apmlement!

As tu fait l’essai en activant la résistance de pull-up?

Non car j’ai une wemos d1 mini et je ne sais pas si c’est compatible. Après je ne sais pas vraiment à quoi cela correspond…

Je réponds un peu tardivement mais la réponse a été donnée par @Xtofe.
Par contre cela marche pour moi , mais il y a un problème de calibration car j’ai noté un ecart d’environ 1°C par rapport aux autres capteurs. Est il prévu une calibration et avez vous le programme adéquat?

Bonjour @Mick20553 ,
Peux tu me donner la marque de la sonde DS18b20 que tu uitilises? les miennes achetées sur aliexpress ne sont pas reconnues. Merci

Ce n’est pa sun pb de sonde qui affiche une valeur correcte mais un pb de communication avec l’ADS 1115, qui ne peut lire l’info PH

Je ne parle pas de ton problème mais du mien, voir fil de discussion plus haut

Salut

si je comprends bien tu n’arrive pas a détecter les DS18b20.

As tu par hasard tenté e changer de GPIO ?
peux tu donner les log ?
as tu des erreurs a la complication ?

Bonjour @jrvrcd ,
Tout d’abord merci d’essayer de m’aider. Oui j’ai tenté de changer de GPIO et même de sonde dallas acheté chez aliexpress. Non je n’ai pas d’erreur au moment de la compilation. Enfin voici mes logs, et la photo de mon montage (je débute en électronique donc il se peut que qq chose cloche).
Merci pour ton expertise.

INFO Reading configuration /config/esphome/esp-piscine.yaml...
INFO Starting log output from esp-piscine.local using esphome API
INFO Successfully connected to esp-piscine.local
[16:59:08][I][app:102]: ESPHome version 2023.4.4 compiled on May  5 2023, 09:53:20
[16:59:08][C][wifi:505]: WiFi:
[16:59:08][C][wifi:363]:   Local MAC: 08:3A:8D:D1:BF:BF
[16:59:08][C][wifi:364]:   SSID: [redacted]
[16:59:08][C][wifi:365]:   IP Address: 192.168.0.76
[16:59:08][C][wifi:366]:   BSSID: [redacted]
[16:59:08][C][wifi:368]:   Hostname: 'esp-piscine'
[16:59:08][C][wifi:370]:   Signal strength: -59 dB ▂▄▆█
[16:59:08][C][wifi:374]:   Channel: 6
[16:59:08][C][wifi:375]:   Subnet: 255.255.255.0
[16:59:08][C][wifi:376]:   Gateway: 192.168.0.254
[16:59:08][C][wifi:377]:   DNS1: 8.8.8.8
[16:59:08][C][wifi:378]:   DNS2: 8.8.4.4
[16:59:08][C][logger:294]: Logger:
[16:59:08][C][logger:295]:   Level: DEBUG
[16:59:08][C][logger:296]:   Log Baud Rate: 115200
[16:59:08][C][logger:297]:   Hardware UART: UART0
[16:59:08][C][dallas.sensor:075]: DallasComponent:
[16:59:08][C][dallas.sensor:076]:   Pin: GPIO13
[16:59:08][C][dallas.sensor:077]:   Update Interval: 5.0s
[16:59:08][W][dallas.sensor:080]:   Found no sensors!
[16:59:08][C][dallas.sensor:089]:   Device 'Température Piscine'
[16:59:08][C][dallas.sensor:089]:     Device Class: 'temperature'
[16:59:08][C][dallas.sensor:089]:     State Class: 'measurement'
[16:59:08][C][dallas.sensor:089]:     Unit of Measurement: '°C'
[16:59:08][C][dallas.sensor:089]:     Accuracy Decimals: 1
[16:59:08][C][dallas.sensor:091]:     Index 0
[16:59:08][E][dallas.sensor:093]: Couldn't find sensor by index - not connected. Proceeding without it.
[16:59:08][C][captive_portal:088]: Captive Portal:
[16:59:08][C][mdns:108]: mDNS:
[16:59:08][C][mdns:109]:   Hostname: esp-piscine
[16:59:08][C][ota:093]: Over-The-Air Updates:
[16:59:08][C][ota:094]:   Address: esp-piscine.local:8266
[16:59:08][C][ota:097]:   Using Password.
[16:59:08][C][api:138]: API Server:
[16:59:08][C][api:139]:   Address: esp-piscine.local:6053
[16:59:08][C][api:141]:   Using noise encryption: YES
[16:59:12][E][dallas.sensor:112]: Requesting conversion failed
[16:59:12][D][sensor:109]: 'Température Piscine': Sending state nan °C with 1 decimals of accuracy
[16:59:17][E][dallas.sensor:112]: Requesting conversion failed
[16:59:17][D][sensor:109]: 'Température Piscine': Sending state nan °C with 1 decimals of accuracy

Ma config:

esphome:
  name: esp-piscine
  friendly_name: esp-piscine

esp8266:
  board: d1_mini

# Enable logging
logger:

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

ota:
  password: "cc98b00be691xxxxxxxxxxxxxxxxxxxxxx"

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

  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "Esp-Piscine Fallback Hotspot"
    password: "DwCxxxxxxxxxxxxx"

captive_portal:

dallas:
  - pin: GPIO13
  #    number: 
  #    mode: INPUT_PULLUP
    update_interval: 5s
 
    
# Individual sensors
sensor:
  - platform: dallas     #sonde de Température
    index: 0
    name: "Température Piscine"
    accuracy_decimals: 1

Photo de mon montage:

Salut

expertise expertise est ce que jai une tete d’expertise ???

nan sans déconner…

ton ESP il ne semble pas être soudé au connecteur → sources de faux contacts

dis moi que c’est pas le cas
si tu as un fer a souder essayer au moins de souder le 5V le GND le 3.3 et le D8.

essaye d’alimenter ta sonde en 5 V
donc ton fil rouge tu le places non pas sur le 3.3V mais sur le 5V a coté de ta masse ( a droite du fil gris)

mais déjà si tu ne fait que poser ton ESP sur les connecteurs tu va être comment dire sacrement …

ensuite
sauf erreur de ma part d’apres ton code
dallas:

  • pin: GPIO13

ça correspond a D7

donc je comprends que tu essayes
mais la si tu connectes le fil jaune de ton DS a D8 et que declare GPIO13
ça ne tombera jamais en marche

:grin:… Je confirme mon esp n’est pas soudé au connecteur mais quand je fais les essais je maintien bien fermement… étant complétement novice, c’est mon premier projet et je n’y connais rien en électronique, j’ai préféré procéder comme cela plutôt que souder et me rendre compte par la suite que mon montage n’est pas bon.
Concernant le GPIO13, je confirme que je suis bien sur le pin D7. L’angle de la photo peut en effet porter à confusion.
Concernant le 5V, j’ai aussi testé.
En résumé, toutes les solutions que tu viens aimablement de me proposer, je les ai tentées (sauf la soudure).
Donc j’ai commandé deux sondes de la marque azdelivery sur amazon et je retesterai avec. La dernière option sera la soudure. Mais je tourne en rond

Souder ton ESP au connecteur ne t’empêche pas de le réutiliser surtout si tu utilise une plaquette d’expérimentation comme tu le fais.
Alors je t’invite à commencer par ça et ensuite on en reparle