Je me doutais que cette question allait arriver et c’est totalement normal.
Il y a plusieurs solutions et toutes dépendent de l’organisation de ton fichier configuration.yaml
.
Tu as un article qui parle justement de cette organisation du fichier configuration.yaml
.
Pour résumé rapidement 4 possibilités (il en existe une 5ème qui est utilisée par @oncleben31 que tu peux retrouver sur son git et qui est un mix de la 4 et de la 3) :
1. Tout dans le fichier configuration.yaml
Cette méthode est la méthode par défaut de HA, mais c’est aussi la plus lourde et la moins organisée.
Voici le contenu du fichier configuration.yaml
pour la partie carburant :
#config/configuration.yaml
[...]
group: !include groups.yaml
automation: !include automations.yaml
script: !include scripts.yaml
scene: !include scenes.yaml
sensor:
- platform: prixCarburant
maxDistance: 20
# - platform: prixCarburant
# stationID:
# - 33440002
[...]
2. Tout dans le fichier sensors.yaml
Cette méthode permet de déporter toute la partie de la configuration des sensors
dans un fichier au lieu de l’avoir dans le fichier configuration.yaml
Voici le contenu du fichier configuration.yaml
et du fichier sensors.yaml
pour la partie carburant :
#config/configuration.yaml
[...]
group: !include groups.yaml
automation: !include automations.yaml
script: !include scripts.yaml
scene: !include scenes.yaml
sensor: !include sensors.yaml
[...]
#config/sensors.yaml
[...]
- platform: prixCarburant
maxDistance: 20
#- platform: prixCarburant
# stationID:
# - 33440002
[...]
3. Les entités de l’intégration prixCarburant
dans un fichier prixCarburant.yaml
Cette méthode permet de déporter la partie de la configuration de chaque intégration des sensors
dans plusieurs fichiers au lieu de l’avoir dans le fichier configuration.yaml
Voici le contenu du fichier configuration.yaml
et des fichier prixCarburant20km.yaml
et prixCarburantStationsId.yaml
contenus dans un dossier spécifique pour les entités sensor
pour la partie carburant :
#config/configuration.yaml
[...]
group: !include groups.yaml
automation: !include automations.yaml
script: !include scripts.yaml
scene: !include scenes.yaml
sensor: !include_dir_merge_list sensors/
[...]
Sur une distance de 20km :
#config/sensors/prixCarburant20km.yaml
- platform: prixCarburant
maxDistance: 20
ou par StationId :
#config/sensors/prixCarburantStationsId.yaml
- platform: prixCarburant
stationID:
- 33440002
L’intégration semble ne pas permettre le mixe Distance/StationId
. Cela fait ressortir une erreur qui apparait dans le fichier de log) si tu mets les 2 fichiers (d’où mon ou
entre les deux codes)
4. Les entités de l’intégration prixCarburant
dans un fichier prixCarburant.yaml
avec la méthode packages
:
C’est pour moi, la méthode la plus intéressante et la plus organisable.
Cette méthode te permet de tout déporter dans des fichiers, et de mixer les entités dans lesdits fichiers (par rapport au 3. où chaque dossier doit contenir le même type d’entités sensors, scripts, scenes
etc.
Voici le contenu du fichier configuration.yaml
et des fichier prix_carburant_20km.yaml.yaml
et prix_carburant_stations_id.yaml
contenus dans un dossier spécifique pour les entités sensor
pour la partie carburant (Oui, les noms ont changés car la méthode packages
n’autorise pas le nommage de fichier contenant des majuscules) :
#config/configuration.yaml
[...]
group: !include groups.yaml
automation: !include automations.yaml
script: !include scripts.yaml
scene: !include scenes.yaml
sensor: !include_dir_merge_list sensors/
[...]
Sur une distance de 20km :
#config/packages/PrixCarburant/prix_carburant_20km.yaml
sensor:
- platform: prixCarburant
maxDistance: 20
ou par StationId :
#config/packages/PrixCarburant/prix_carburant_stations_id.yaml
sensor:
- platform: prixCarburant
stationID:
- 33440002
- 33510002
L’intégration semble ne pas permettre le mixe Distance/StationId
. Cela fait ressortir une erreur qui apparait dans le fichier de log) si tu mets les 2 fichiers (d’où mon ou
entre les deux codes)
Pour résumer
Je te conseille de partir directement sur la méthode 4.
Pour te donner une idée concrète de cette méthode et du contenu des fichiers, je te laisse lire le topic du timer où tu retrouve dans le résumé un fichier (hacf_timer.yaml) à mettre dans le dossier packages
Si d’autre questions, n’hésite pas !