ESPHome impossible de sortir du deep_sleep

Bonjour,

Mon problème

Je commence a faire mes propres capteurs grâce a ESPHome.

Je voulais essayé d’utiliser le deep sleep pour mes capteurs sur batterie 18650.

Malheureusement après de multiples tentatives sur de multiples ESP8266, aucun n’arrive a sortir du deep sleep.

J’ai parcouru divers forums, et j’ai essayé de câblé la pin D0 avec la RST de differente manière. Fils, résistance de 100k, 1M,etc…

Mais rien n’y fait.

J’ai testé avec la configuré la plus minimal possible. Littéralement la base + le deep sleep. Rien de plus.

Sur les logs, aucune erreur rien. On vois bien l’entrée en deep sleep Mais jamais de reveil.

Donc si vous avez une idée, je suis preneur.

Merci d’avance.
Cordialement

1 « J'aime »

Bonjour,
regarde ce sujet, les messages de fin:

Bonsoir,
Je n’ai pas de problème pour recharger le programme dans l’ESP. Je reset au bouton, et j’ai un run suffisamment long pour permettre de repoussé un nouveau firmware :wink:

(J’ai juste couper les IPs)

INFO Successfully connected to esp-test @ 192.1 in 35.980s
INFO Successful handshake with esp-test @ 192. in 2.969s
[18:17:42][I][app:100]: ESPHome version 2025.4.2 compiled on May 19 2025, 18:16:45
[18:17:42][C][wifi:600]: WiFi:
[18:17:42][C][wifi:428]:   Local MAC: 98
[18:17:42][C][wifi:433]:   SSID: [redacted]
[18:17:42][C][wifi:436]:   IP Address: 19
[18:17:42][C][wifi:439]:   BSSID: [redacted]
[18:17:42][C][wifi:441]:   Hostname: 'esp-test'
[18:17:42][C][wifi:443]:   Signal strength: -63 dB ▂▄▆█
[18:17:42][C][wifi:447]:   Channel: 11
[18:17:42][C][wifi:448]:   Subnet: 255.
[18:17:42][C][wifi:449]:   Gateway: 192.
[18:17:42][C][wifi:450]:   DNS1: 192.1
[18:17:42][C][wifi:451]:   DNS2: 1.1.1.1
[18:17:42][C][logger:177]: Logger:
[18:17:42][C][logger:178]:   Max Level: DEBUG
[18:17:42][C][logger:179]:   Initial Level: DEBUG
[18:17:42][C][logger:181]:   Log Baud Rate: 115200
[18:17:42][C][logger:182]:   Hardware UART: UART0
[18:17:42][C][captive_portal:089]: Captive Portal:
[18:17:42][C][mdns:116]: mDNS:
[18:17:42][C][mdns:117]:   Hostname: esp-test
[18:17:42][C][esphome.ota:073]: Over-The-Air updates:
[18:17:42][C][esphome.ota:074]:   Address: esp-test.local:8266
[18:17:42][C][esphome.ota:075]:   Version: 2
[18:17:42][C][esphome.ota:078]:   Password configured
[18:17:42][C][safe_mode:018]: Safe Mode:
[18:17:42][C][safe_mode:019]:   Boot considered successful after 60 seconds
[18:17:42][C][safe_mode:021]:   Invoke after 10 boot attempts
[18:17:42][C][safe_mode:022]:   Remain in safe mode for 300 seconds
[18:17:42][C][api:140]: API Server:
[18:17:42][C][api:141]:   Address: esp-test.local:6053
[18:17:42][C][api:143]:   Using noise encryption: YES
[18:17:42][C][deep_sleep:026]: Setting up Deep Sleep...
[18:17:42][C][deep_sleep:029]:   Sleep Duration: 60000 ms
[18:17:42][C][deep_sleep:032]:   Run Duration: 120000 ms
[18:18:14][I][safe_mode:041]: Boot seems successful; resetting boot loop counter
[18:19:25][I][deep_sleep:060]: Beginning Deep Sleep
[18:19:25][I][deep_sleep:062]: Sleeping for 60000000us
INFO Processing expected disconnect from ESPHome API for esp-test@ 192.
WARNING Disconnected from API
WARNING Can't connect to ESPHome API for esp-test @ 192.1: Error connecting to [AddrInfo(family=<AddressFamily.AF_INET: 2>, type=<SocketKind.SOCK_STREAM: 1>, proto=6, sockaddr=IPv4Sockaddr(address='192.1', port=6053))]: [Errno 113] Connect call failed ('192.', 6053) (SocketAPIError)
INFO Trying to connect to esp-test@ 192. in the background

Et voici la configuration

esphome:
  name: esp-test
  friendly_name: esp_test

esp8266:
  board: esp01_1m

# Enable logging
logger:

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

ota:
  - platform: esphome
    password: "qopsdjpof"

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

  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "Esp-test
    password: "lsdf"

captive_portal:

deep_sleep:
  run_duration: 2min
  sleep_duration: 1min

Hello,

Hors sujet mais ajoute fast_connect: WiFi Component — ESPHome

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

Pour ne pas gacher d’énergie à scanner le wifi au démarrage.

Les IPs locales, pas besoin de les enlever, c’est local on a tous plus ou moins les mêmes :slight_smile:

J’ai bien ça et ça fonctionne sur une dev board NodeMCU v3

Quel ESP utilises-tu? Il y a l’air que ce soit une dev board, il faut peut-être quelque chose de spécial.

On utilise presque tous des dev board mais on oublie qu’elles sont pour le développement. Dans le deep sleep il me semble que c’est pas le mieux car il y a de l’énergie prise par le convertisseur 5V->3.3V et peut-être d’autres choses.

Ton YAML ne fait rien à part se connecter au WiFi et attendre 2min. Comment tu sais que ça ne se réveille pas?

1 « J'aime »

Salut,

Merci pour le fast_connect :wink:

Je sais, mais c’est pas utile au debug alors pas la peine de laissé des infos sur le net :wink:

Je suis super débutant en électronique donc je sais pas vraiement ce qu’est une dev board :sweat_smile:

J’utilise une chinoiserie de chez ali, un wemos D1 mini avec un shield pour la batterie

Euh ok, c’est quoi la version pas « développement » alors ?

Ba je check juste le log depuis ESPHome

Une personne mal intentionnée ne va pas pouvoir faire grand chose, sinon rien, de tes adresses locales. Avoir tous les logs c’est mieux pour trouver les problèmes mais bon ici ce n’est pas nécessaire.

Un dev board c’est pour développer (carte de développement) donc elle a des choses inutiles en production. Sur ta dev board tu as un convertisser 5V (voir plus) vers 3.3V la tension de l’ESP8266, des résistances pull up/down sur certain pins et un module pour parler en série et programmer ton ESP.

Ce sont des choses très utiles à tous mais une fois que tu as un produit qui fonctionne, tu peux grandement diminuer la taille et la consommation en t’en débarrassant. Il faut par contre un convertisseur pour donner du 3.3V à ton ESP et du 5V si tu as des capteurs. Ne pas oublier les résistances si tu en as besoin… enfin bref, c’est un détail ici. On utilise presque tous des dev boards pour les projets et c’est pas la fin du monde.

Sinon pour info, un ESP8266 c’est cette partie de ta dev board:

Tu pourrais prendre ça et le programmer avec une flash station:

Mais ça veut dire d’avoir une tension stable de 3.3V en fonction de comment tu l’alimentes donc un convertisseur etc mais ça complique ton projet :slight_smile:

Le D1 mini a un « problème » avec le deep sleep car comme le mentionne la documentation officielle pour le deep sleep:

Là ça dit que si tu alimentes ton D1 Mini via le port USB ça va poser problème avec le deep sleep et qu’il faut utiliser une alimentation directement en 3.3V.

Comme tu as un battery shield, je ne sais pas si elle fournit la dev board en 5V ou en 3.3V directement.
Si tu connectes ton D1 Mini en USB pour regarder les logs… déjà c’est pas bon car t’as l’USB et la batterie… et ça va interférer.

Tu aurais une photo de comment tu connectes le tout?

Tu peux aussi utiliser la BUILTIN_LED pour voir si l’ESP se réveille (sans être branché en USB) avec le GPIO2 en la programmant en status led:

light:
  - platform: status_led
    pin: GPIO2
    name: "Status LED"
    id: status_led_light

Infos: Status LED — ESPHome

Ça peut paraître fouilli toutes ces informations et je m’exprime peut-être pas du mieux et je ne suis pas un expert reconnu (sauf par moi même :smiley: ) donc il y a peut-être des approximations grossières mais n’hésite pas à poser des questions.

Ok pour la difference dev board/ prod.
Pour le moment je laisse ça de coté.

Oui j’avais bien vue, c’est pour ça que je suis alimenté par le shield et que je lis les logs via la connection wifi :wink:

Oh oui je peux te donner ça, mais je suis pas sur que cela serve a grand chose :grin:
J’ai juste un cable dupont entre RST et D0 sur le D1 mini avec le shield au dessus :joy:

C’est vrai ça, il faut que je regarde si je trouve une datasheet

Ah oui c’est pas bete, je peux tenté ça.

Franchement j’ai tout compris alors ça doit aller dans le niveau d’explication :+1:

Edit: Le shield alimente en 5V ça doit être ça le problème. Je vais voir si je peux avoir un autre BMS pour tester.

1 « J'aime »

Bon j’ai trouver ce genre de module

Mais quand je colle ma 18650 entre b- et b+ et que je mesure le voltage entre OUT- et OUT+, j’ai exactement la même valeur…

Je pensai que ce genre de module était sensé me sortir du 3.3v propre ??
J’ai pas compris un truc de plus la je crois.

Donc au final je ne sais pas si je peux le connecté sur le 3.3v de mon D1 mini

Tu peux alimenter ton « battery shield » avec ta batterie mais juste connecter le ground et le 3V3 à ton D1 mini avec 2 cables Dupont male femelle, comme ça tu es sûr que tu alimentes uniquement en 3V3.

Le problème c’est que si tu veux ensuite faire un projet fini, il te faudra certainement te tourner sur une autre ESP dev board ou sur un ESP sans la dev board.

Effectivement ça aurait plus etre une super idée, mais le shield ne sort pas de 3.3v…
J’ai commandé un lot de HT7833 sur ali, je testerai en passant par la.

Il a une sortie 3v3, quand tu mets la batterie il sort qu’une zntsionbde 5V sur le pin 5V ? Rien sur le 3v3?

Exactement. Ce qui est logique je pense. Le shield alimente en 5v pas en 5v ET 3.3v en même temps.

J’ai cherché sur le net et semble pas qu’il y ai un switch ou autre pour passé de 5 a 3.3v.

Sinon j’ai eu une idée, les alim ATX ont une sortie 3.3v je crois. Je vérifie et si c’est le cas je ferai un test

Bon et bien mon alimentation Atx ne demarre pas sans charge (j’ai bien ponté entre le fils vert et une masse).

Donc ba je vais etre obligé d’attendre les colis ali

Bonjour,
Nouveauté 2025.6.0:

  • @bdraco added support for updating ESPHome devices that are in deep sleep. A very welcome improvement for battery-powered devices!

Bob

1 « J'aime »

Bon et bien j’ai reçu mon matos, et effectivement si j’alimente en 3.3v, ça sont bien de veille.
morales de l’histoire, les shield batterie pour wemos D1 mini empeche la sortie de deep sleep.
Merci a tous pour votre aide

1 « J'aime »

Ce sujet a été automatiquement fermé après 2 jours. Aucune réponse n’est permise dorénavant.