ESPHome tourne en boucle

Mon problème

Bonjour,
Mon HA est tout neuf et je commence à installer les modules complémentaires.
Pour ESPHome, j’ai créé le fichier : Secrets.
J’ai pu cliquer 1 fois sur New Device - puis continuer et j’avais le choix de rentrer un nom, le wifi, etc…
Mais depuis quand je clique sur continuer, il tourne en boucle et fini par s’arrêter au bout d’un moment sans rien proposer.
Que faire ?

Ma configuration


[center] |Version|core-2022.10.0|
| — | — |
|Type d’installation|Home Assistant OS|
|Développement|false|
|Supervisor|true|
|Docker|true|
|Utilisateur|root|
|Environnement virtuel|false|
|Version de Python|3.10.5|
|Famille du système d’exploitation|Linux|
|Version du système d’exploitation|5.15.61-v8|
|Architecture du processeur|aarch64|
|Fuseau horaire|Europe/Paris|
|Répertoire de configuration|/config|

Home Assistant Cloud

Connecté false
Accéder au serveur de certificats ok
Accéder au serveur d’authentification ok
Accéder à Home Assistant Cloud ok

Home Assistant Supervisor

Système d’exploitation hôte Home Assistant OS 9.0
Mise à jour stable
Version du Supervisor supervisor-2022.09.1
Version de l’agent 1.3.0
Version de Docker 20.10.17
Taille total du disque 27.8 GB
Taille du disque utilisé 3.3 GB
Sain true
Prise en charge true
Tableau de bord rpi4-64
API du Supervisor ok
Version API ok
Modules complémentaires installés Duck DNS (1.15.0), File editor (5.4.1), NGINX Home Assistant SSL proxy (3.1.5), ESPHome (2022.9.2)

Salut,

C’est curieux, mais la première chose à voir c’est dans les logs de ESPHome si à ce moment là quelque chose d’intéressant s’y ajoute…
(Paramètres> Modules Complementaire > ESPHome > Journal)

Ça donne ceci.

2022-10-06 19:37:03,696 INFO 200 GET / (0.0.0.0) 2.56ms
2022-10-06 19:37:03,733 INFO 200 GET /static/fonts/material-icons/material-icons.css?hash=ead4c276 (0.0.0.0) 3.74ms
2022-10-06 19:37:03,749 INFO 200 GET /static/fonts/material-icons/MaterialIcons-Regular.woff2?hash=570eb838 (0.0.0.0) 2.68ms
2022-10-06 19:37:03,766 INFO 200 GET /static/css/vendor/materialize/materialize.min.css?hash=ec1df3ba (0.0.0.0) 3.01ms
2022-10-06 19:37:03,773 INFO 200 GET /static/css/esphome-2.css?hash=615a3cb4 (0.0.0.0) 4.77ms
2022-10-06 19:37:03,781 INFO 200 GET /static/js/esphome/index-0718df31.js (0.0.0.0) 10.69ms
2022-10-06 19:37:03,857 INFO 304 GET /devices (0.0.0.0) 2.65ms
2022-10-06 19:37:03,880 INFO 200 GET /static/fonts/material-icons/MaterialIcons-Regular.woff2 (0.0.0.0) 3.21ms
2022-10-06 19:37:03,906 INFO 200 GET /static/js/esphome/c.8f72d879.js (0.0.0.0) 45.11ms
2022-10-06 19:37:04,694 INFO 200 GET /static/js/esphome/c.cefb4322.js (0.0.0.0) 3.40ms
2022-10-06 19:37:04,700 INFO 200 GET /static/js/esphome/c.644c7642.js (0.0.0.0) 2.92ms
2022-10-06 19:37:43,611 INFO 304 GET / (0.0.0.0) 2.20ms
2022-10-06 19:37:43,675 INFO 200 GET /static/fonts/material-icons/material-icons.css?hash=ead4c276 (0.0.0.0) 3.13ms
2022-10-06 19:37:43,690 INFO 200 GET /static/css/esphome-2.css?hash=615a3cb4 (0.0.0.0) 2.43ms
2022-10-06 19:37:43,704 INFO 200 GET /static/js/esphome/index-0718df31.js (0.0.0.0) 3.44ms
2022-10-06 19:37:43,712 INFO 200 GET /static/fonts/material-icons/MaterialIcons-Regular.woff2?hash=570eb838 (0.0.0.0) 4.58ms
2022-10-06 19:37:43,716 INFO 200 GET /static/css/vendor/materialize/materialize.min.css?hash=ec1df3ba (0.0.0.0) 7.33ms
2022-10-06 19:37:43,816 INFO 304 GET /devices (0.0.0.0) 4.04ms
2022-10-06 19:37:43,830 INFO 200 GET /static/js/esphome/c.8f72d879.js (0.0.0.0) 38.79ms
2022-10-06 19:37:43,836 INFO 200 GET /static/fonts/material-icons/MaterialIcons-Regular.woff2 (0.0.0.0) 3.15ms
2022-10-06 19:37:44,137 INFO 200 GET /static/js/esphome/c.cefb4322.js (0.0.0.0) 3.56ms
2022-10-06 19:37:44,145 INFO 200 GET /static/js/esphome/c.644c7642.js (0.0.0.0) 3.02ms
2022-10-06 19:37:44,858 INFO 200 GET /static/js/esphome/c.ee05ac6e.js (0.0.0.0) 2.36ms
2022-10-06 19:37:44,892 INFO 200 GET /static/js/esphome/c.39d4a8b9.js (0.0.0.0) 3.50ms
2022-10-06 19:37:44,909 INFO 200 GET /static/js/esphome/c.f4500ca6.js (0.0.0.0) 3.28ms
2022-10-06 19:37:44,920 INFO 200 GET /static/js/esphome/c.1b7fdd9b.js (0.0.0.0) 6.90ms
2022-10-06 19:37:44,922 INFO 200 GET /static/js/esphome/c.dd6ca16a.js (0.0.0.0) 6.64ms
2022-10-06 19:37:44,929 INFO 200 GET /static/js/esphome/c.a5dc75d4.js (0.0.0.0) 4.30ms
2022-10-06 19:37:44,932 INFO 200 GET /static/js/esphome/c.2deb9764.js (0.0.0.0) 5.62ms
2022-10-06 19:37:44,970 ERROR Uncaught exception GET /secret_keys (0.0.0.0)
HTTPServerRequest(protocol='http', host='homeassistant.local:8123', method='GET', uri='/secret_keys', version='HTTP/1.1', remote_ip='0.0.0.0')
Traceback (most recent call last):
  File "/esphome/esphome/yaml_util.py", line 386, in _load_yaml_internal
    return loader.get_single_data() or OrderedDict()
  File "/usr/local/lib/python3.9/dist-packages/yaml/constructor.py", line 51, in get_single_data
    return self.construct_document(node)
  File "/usr/local/lib/python3.9/dist-packages/yaml/constructor.py", line 55, in construct_document
    data = self.construct_object(node)
  File "/usr/local/lib/python3.9/dist-packages/yaml/constructor.py", line 100, in construct_object
    data = constructor(self, node)
  File "/esphome/esphome/yaml_util.py", line 75, in wrapped
    res = fn(loader, node)
  File "/esphome/esphome/yaml_util.py", line 161, in construct_yaml_map
    raise yaml.constructor.ConstructorError(
yaml.constructor.ConstructorError: Duplicate key "wifi_ssid"
  in "/config/esphome/secrets.yaml", line 5, column 1:
    wifi_ssid: "!secret wifi_ssid"
    ^
NOTE: Previous declaration here:
  in "/config/esphome/secrets.yaml", line 1, column 1:
    wifi_ssid  : XXX
    ^
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
  File "/usr/local/lib/python3.9/dist-packages/tornado/web.py", line 1702, in _execute
    result = method(*self.path_args, **self.path_kwargs)
  File "/esphome/esphome/dashboard/dashboard.py", line 136, in decorator
    return func(self, *args, **kwargs)
  File "/esphome/esphome/dashboard/dashboard.py", line 912, in get
    secret_keys = list(yaml_util.load_yaml(filename, clear_secrets=False))
  File "/esphome/esphome/yaml_util.py", line 378, in load_yaml
    return _load_yaml_internal(fname)
  File "/esphome/esphome/yaml_util.py", line 388, in _load_yaml_internal
    raise EsphomeError(exc) from exc
esphome.core.EsphomeError: Duplicate key "wifi_ssid"
  in "/config/esphome/secrets.yaml", line 5, column 1:
    wifi_ssid: "!secret wifi_ssid"
    ^
NOTE: Previous declaration here:
  in "/config/esphome/secrets.yaml", line 1, column 1:
    wifi_ssid  : XXX
    ^
2022-10-06 19:37:44,976 ERROR 500 GET /secret_keys (0.0.0.0) 10.54ms
2022-10-06 19:37:48,794 INFO 304 GET /devices (0.0.0.0) 1.72ms
2022-10-06 19:37:53,804 INFO 304 GET /devices (0.0.0.0) 1.60ms
2022-10-06 19:37:58,818 INFO 304 GET /devices (0.0.0.0) 1.53ms
2022-10-06 19:38:03,835 INFO 304 GET /devices (0.0.0.0) 1.75ms

Et c’est moi qui l’arrête en cliquant ailleurs, sinon ça tourne pendant un bon moment.

Bonjour,

je vois cela comme error, :

dans ton fichier secret de ESP, tu n’a bien qu’une seule fois le wifi_ssid ?

car il est en ligne 5 , mais aussi en ligne 1 :

1 « J'aime »

J’ai ceci :

wifi_ssid  : xxx
wifi_mdp :  xxx

# Your Wi-Fi SSID and password
wifi_ssid: "!secret wifi_ssid"
wifi_password: "!secret wifi_mdp"

il faut enlever les lignes avec les XXX, tu fais 2 fois la même déclaration du wifi_ssid

1 « J'aime »

J’ai juste écrit les 2 premières lignes, le reste est venu automatiquement.

Si je supprime ces lignes, comment le système va connaitre mon wifi ?

En tout cas, ça fonctionne !
Merci :+1:t2:

ton wifi est dans le fichier secret, tu as du le renseigner un moment donné.
en haut a gauche dans ESP home :
Capture d’écran 2022-10-06 203520

Oui je l’ai bien renseigné ici.
J’imagine que ça le garde en mémoire qqepart.
Si un jour je dois le changer, je ne sais pas encore ou le retrouver, mais ça, c’est une autre histoire… :man_white_haired:t2: :laughing:

non cela ne le garde pas en mémoire, il est dans le fichier secret écrit en dur.
par contre, toi tu avais mis :
wifi_ssid : xxx
et
wifi_ssid: « !secret wifi_ssid »
tu as donc défini dans ton script ESP 2 fois le mot de passe de ton wifi, une fois a « xxx » et la seconde fois par rapport au contenu du fichier secret, l’erreur venait de là, tu ne peux pas faire de la surcharge d’une même variable tel que défini plus haut;