Configuration.yaml, secrets.yaml et ESPHome

Hello !
Alors voilà, j’ai regardai mes logs pour un sujet tout autre que celui-ci et je tombe sur ça :

ERROR (MainThread) [homeassistant.helpers.config_validation] The api integration does not support any configuration parameters, got 
{'encryption': {'key': 'hKtG$mZ7QdO8j****************blablabla****************xM6fD3cV1rJ0lI8kY='}}. Please remove the configuration parameters from your configuration.

Du coup j’aurai besoin éclaircissement sur cette erreur ?
Mais aussi pourquoi quand j’ai créé mon premier projet ESPHome, l’api_key renseigné n’était pas au format !secret api_keycomme pour !secret wifi_ssid et !secret wifi_password. Pourquoi ESPHome n’a pas utilisé la clé api que j’avais enseigné et m’en a généré une autre.
Et dans ce cas, comment faire pour avoir qu’une seule clé api (Pour les contrôler toutes :rofl:) ?

Dans mon fichier configuration.yaml j’ai mis ceci :

# api
api:
  encryption:
    key: !secret api_key

Dans mon fichier secrets.yaml, ceci

api_key: "hKtG$mZ7QdO8j****************blablabla****************xM6fD3cV1rJ0lI8kY="

Et dans le « secrets » d’ESPHome j’ai mis ceci :

<<: !include ../secrets.yaml

Je suis sur RPI3B+

Bonjour,

le secret.yaml de HA et le secret.yaml de EspHome ne sont pas les même, il ne faut pas les inclure l’un dans l’autre, il faut donc que tu enlève la ligne " !include …/secrets.yaml"

le secret de EspHome est en haut a droite :
image
dedans tu peux rajouter ce que tu veux et l’utiliser dans tes conf d’appareil EspHome

mais tu peux aussi ajouter cela :

api_key: "yyyyyyyyyyyyyyyyyyyy="
ota_password: "xxxxxxxxxxxxxxxxxxx"

et changer ceux qu’EspHome te créé a chaque nouvel ajout d’appareil par ces 2 lignes :

# Enable Home Assistant API
api:
  encryption:
    key: !secret api_key

# Enable OTA support
ota:
  password: !secret ota_password

Hello,

@LeLapinFou , On peut mutualiser le fichier secrets.yaml :wink:

Doc officielle :
Frequently Asked Questions — ESPHome

A passage, un petit article sur ce sujet :
Simplifier la configuration des appareils sous ESPHome | OmiTech

@+

1 « J'aime »

ok, pas de soucis dans ce cas.

Petite question sur la possibilité d’avoir toujours le même password OTA avec cette astuce.
Si je modifie un appareil déjà dans Esphome avec le password OTA qui a été créé lors de la création et que je veux le mettre à jour par OTA, est-ce que cela va fonctionner où il faut le mettre à jour en USB pour prendre en compte le nouveau password pour les prochaines mises à jour par OTA.

si tu as défini un OTA, il te faut cet OTA pour faire la MAJ.
donc, a part refaire la conf pour repartir sur un autre OAT, tu ne peux as le changer par une simple conf, vu qu’il n’y a qu’un seul OTA possible.
perso, je n’ai jamais trouvé comment faire sans refaire la conf complète pour changer l’OTA.

C’est ce que je pensais, et je voulais être sûr.
Merci pour ton retour.

Ok, donc ce que j’ai fait n’est pas si déconnant.

J’ai donc j’ai juste laissé dans le fichier de configuration api : et j’ai déplacé le code ci-dessous dans "secrets.yaml’ d’ESPHome juste aprés l’appel au fichier secrets de HA.

# api
api:
  encryption:
    key: !secret api_key

Le message d’erreur n’est plus présent.
Reste à savoir si cela fonctionnera dans ESPHome au prochain projet :wink: