Navigation dans arborescence fichiers configuration

Bonjour,

J’ai besoin d’etre a=orienté pour trouver la documentation ou un tuto quelconque pour comprendre comment indiquer ou se trouve tel ou tel dossier dans /config…
Je m’explique:
j’utilise le fichier /config/secrets.yaml pour y stocker Mots de passes et SSIDs
mais lorsque j’indique dans les scripts ESPHome de mes capteurs le lien vers ces données,
j’ai dans ESPHome une alerte car il ne trouve pas de fichier « secret » dans * /config/esphome
puisque effectivement il est au niveau hierarchique superieur.
Je cherche la doc pour m’expliquer comment indiquer dans un script ESPHome ou se trouve le fichier
/config/secrets.yaml. ou une facon de scanner toute la hierarchie pour le trouver.

Vous noterez que je suis au niveau « école maternelle » parmi vous :innocent:
, merci de votre aide

La doc indique:

ESPHome supports (most of) Home Assistant’s YAML configuration directives like !include and !secret. So you can store all your secret WiFi passwords and so on in a file called secrets.yaml within the directory where the configuration file is.

Venant de Frequently Asked Questions — ESPHome
Donc, ou est la configuration de ton esphome?

Et tout ça dépend de la façon dont est installé HA? Quelle est ta méthode?

Bonjour golfvert,
Ma méthode ?.. Il me faut une méthode ?
Je suis assez nul en tout, j’ai installé HA via une image ISO sur un PI3, je développe surtout des capteurs température, humidité, etc, dans differentes pieces de ma maison, et j’utilise ESPHome avec des nodeMCU, ca je maitrise. mais je n’apellerais pas cela une méthode. voila le shéma de ma config:


Comme tu le vois, le fichier secret est au meme niveau que le fichier ESPHome, et non pas à l’interieur de ce dernier,
Donc comment indiquer dans un script ESPHome que les mots de passe sont dans « secret »… ?
Note que si je met un fichier secret à l’interieur de ESPHome, ca fonctionne tres bien, mais je suppose que l’objectif est d’en avoir un seul en haut d" la hierarchie, et dans ce cas comment indiquer à HA ou aller chercher les mots de passe dont je fais une reference dans ESPHome. ?
merci tout de même d’avoir pris le temps de me repondre.

Ca: Installation - Home Assistant
La méthode d’installation…

Ce n’est pas très simple à faire, je le crains. HA et ESPHOME sont dans des containers docker différents et donc leurs systèmes de fichiers sont « disjoints » d’un point de vue système.
Le plus simple sans aucun doute c’est de dupliquer le fichier. Sinon, il faut:

  • installer ssh sur HA (j’imagine que tu as installé HAOS…)
  • faire un lien symbolique hard (une commande linux ln) pour « dupliquer » le fichier secrets

Donc, si comme tu le soulignes, tu ne comprends rien à Linux. Fait simple. Répète le fichier…

C’est en effet ce que j’ai fait, et ca marche.
Je n’avais pas compris pour la méthode, en effet j’ai installé l’appli sur une SD avec BalenaEtcher.
merci encore pour ton aide golfvert :slightly_smiling_face:

Je n’utilise pas ESPHome mais essaies :

!include ../secrets.yaml

Excellent, je me posais la question !!

Et ça fonctionne !!!

J’ai fait une version expurgée de ce qui est dit là Accessing home assistant copy of secrets.yaml from ESPHome - ESPHome - Home Assistant Community
ESPHOME étant installé dans un container différent, en toute logique, il ne peut pas aller voir dans le répertoire d’un autre container. En tout cas, c’est ce que le thread anglais à l’air d’expliquer.

1 « J'aime »

Finalement le plus simple est de mettre manuellement un fichier dans chaque sous repertoire ou il est nécéssaire. en tout cas c’est cette solution que j’adopte.
merci à tous pour votre aide.

pat

Le risque c’est d’avoir des contenus différents avec des noms de fichiers identiques… Personnellement j’aime pas bien

Je suis entierement en accord avec toi, mais visiblement avoir un seul fichier secrets semble tres compliqué.
Ma question était de savoir comment mettre un mot de passe dans un sous dossier (comme ESPHome), alors que que secrets est à la racine de /config. :no_mouth:

Ça marche super avec un lien symbolique. J’ai indiqué la commande plus haut

Quand je lis:

et que la solution « élégante » consiste à faire un lien après avoir installé et configuré l’add-on ssh qui va bien, je me dis que la solution « bazooka » et répéter le fichier X fois a un certain mérite.
Mais, c’est vrai qu’avec une certaine maitrise de linux, la réponse n’est pas la même.

1 « J'aime »

Peut être qu’en appliquant la documentation ça réglerait le soucis de niveau de connaissance… :innocent:

If you want to keep all your secrets in one place, make a secrets.yaml file in the esphome directory with these contents (so it pulls in the contents of your main Home Assistant secrets.yaml file from one directory higher):

<<: !include ../secrets.yaml

La documentation autour de Home assistant est complète, profitez-en !

En théorie c’est beau…
Dans la pratique c’est moins concluant (docker etc)


ça fonctionne pourtant car la config est validée
image

Le lien symbolique remporte la timbale, car ça fonctionne en temps réel, et on visualise/édite son contenu
image

Je pense que je partirais plus sur un volume docker sur le fichier plutôt qu’un lien symbolique.

Le fait se pointer le fichier à l’aide de la clé volume de Docker a le mérite d’être visible par rapport à un lien symbolique qui si une restauration complète intervient dans plusieurs mois sera certainement oublié.

Je ne peux pas tester mais c’est ce que je ferais si après mise au point le résultat est identique qu lien symbolique.

Oui c’est la technique élégante.
Le souci c’est qu’en mode supervisé, quand on commence à bricoler les containers, on se retrouve de temps en temps le bec dans l’eau. Techniquement c’est effectivement plus joli mais ça mériterai de se pencher réellement dessus pour voir si c’est pas un peu différent en pratique.
Un exemple testé ici : forcer la recréation d’un container in-place avec un tag version différent… ça dure pas longtemps avant que ton container soit recréer et à la version voulue par le supervisor sans avertissement. Donc si c’est pour perdre le volume au passage …moyen

Dans quel sens ça coince ? Même en restaurant un vieux secrets.yaml de ESPHome, il suffit de refaire le lien symbolique, les données coté HA sont pas perdues

EDIT:
Au passage Le container ESPHome connait déjà tout le volume de HA


Ce n’est pas un souci, c’est le fonctionnement de la méthode Supervised.

Il ne faut pas oublier que la méthode Supervised est pour les utilisateurs avancés.

Donc prendre la méthode Supervised et passer ddes commandes pour by-passer le fonctionnement normal devient dangereux.

Ce n’est certes pas le cas pour un petit lien symbolique mais c’est plus pour rappeler qu’il faut au maximum conserver la philosophie de l’installation.

Ça coince au moment où on ne se rappelle plus qu’il y a un lien symbolique…

Ce qui doit donc bien permettre de pointer dessus sans lien symbolique.

On est d’accord. Mais c’est pas la solution la plus fonctionnelle qui est documenté actuellement
Cela dit, le ln -s ça reviens à faire un lien symbolique au sein du même volume… alors bon je suis pas inquiet quant à l’efficacité

Sous HAOS (que je n’utilise plus), est-ce que tu peux préciser pour les divers container docker des add-on que tu veux monter le volume X en plus de ce qui est nécessaire?
Avec HA container, c’est faisable puisque ce sont les containers de base et c’est « toi » qui fait la colle entre eux… donc tu peux choisir et faire des trucs en plus (en moins à part le côté tout fait avec une interface unique de config, je ne vois pas de différence).