Home Assistant permet d’ajouter des intégrations, des capteurs et pleins d’autres choses de plusieurs manières.
N’étant pas un expert Home Assistant mais un vrai débutant, j’étais un peu perdu au début.
Je vais essayer de vous parler des différentes manières de structurer votre configuration.yaml
.
Mise à jour : 26/06/2020 – Temps de lecture / réalisation : < 1
/ 05 min – Difficulté : Faible.
To do :
- Mise a jour du liens Xiaomi.
Prérequis, matériels nécessaires & utilisés :
- Version de HA : V109.6.
- File Editor d’installé.
Organiser sa configuration.
1ère méthode configuration.yaml seul.
Dans cette première méthode, tout se met dans configuration.yaml
, c’est la méthode la plus simple mais elle deviendra de plus en plus compliqué à gérer au fur et à mesure que votre domotique s’agrandit.
Donc je pense quelle est plus simple au début, mais il faudra passer à la deuxième méthode très rapidement. Autant bien structurer dés le début.
2ème méthode configuration.yaml et fichiers annexes.
Via cette méthode, vous allez pouvoir séparer votre configuration.yaml
et lui ajouter des fichiers annexes (sensors.yaml
, plants.yaml
, input_booleen.yaml
, etc).
Chaque ‘intégration HA’ peut avoir son fichier associé, (notify, sensors, etc).
Cette méthode est la plus utilisée car elle permet de s’y retrouver plus facilement.
Elle permet aussi, une chose que j’ai découverte récemment, l’ajout d’un dossier packages
rempli de fichiers nomdevotrefichier.yaml
permettant de centraliser tous ce qui concerne un sujet par exemple.
Cette méthode est utilisée dans l’article sur l’intégration du matériels Xiaomi.
Comment ajouter un fichier type.yaml
.
Nous allons ajouter le fichier sensors.yaml
qui contiendra tous nos senseurs que nous ajouterons à la main. Comme ça, si nous devons faire une modification sur un senseur que nous avons créé, il faudra se rendre dans ce fichier.
Dans File editor
, configuration.yaml
ajouter ceci au début du fichier à la suite de ceux existant.
sensor: !include sensors.yaml
Créer maintenant le fichier sensors.yaml
.
Dans File Editor
cliquer sur le dossier en haut à gauche puis sur l’icône ajouter un fichier
.
Donner un nom à votre fichier, sensors.yaml
ici.
Ouvrez-le puis ajouter vos senseurs sans la ligne suivante, car Home Assistant sait déjà que c’est des senseurs que vous déclarez ici.
sensor:
Exemple de fichier sensors.yaml
.
## Raspbery Pi
- platform: systemmonitor
resources:
- type: disk_use_percent
arg: /home
- type: memory_use_percent
- type: swap_use_percent
- type: processor_use
- type: last_boot
- platform: template
sensors:
prochaine_certificat_a_expirer_sans_boucle:
friendly_name: "Prochain certificat à expirer"
attribute_templates:
timestamp: >
{# Définition de la liste des entités #}
{% set liste_des_entites = ['sensor.cert_expiry_timestamp_ndd1', 'sensor.cert_expiry_timestamp_ndd2'] %}
{% set timestamp_des_entites = [as_timestamp(states('sensor.cert_expiry_timestamp_ndd1'))|float,as_timestamp(states('sensor.cert_expiry_timestamp_ndd2'))|float] %}
{% set entite_la_plus_petite = timestamp_des_entites|min %}
{{timestamp_des_entites[timestamp_des_entites.index(entite_la_plus_petite)]}}
value_template: >
{# Définition de la liste des entités #}
{% set liste_des_entites = ['sensor.cert_expiry_timestamp_ndd1', 'sensor.cert_expiry_timestamp_ndd2'] %}
{% set timestamp_des_entites = [as_timestamp(states('sensor.cert_expiry_timestamp_ndd1'))|float,as_timestamp(states('sensor.cert_expiry_timestamp_ndd2'))|float] %}
{% set entite_la_plus_petite = timestamp_des_entites|min %}
{{liste_des_entites[timestamp_des_entites.index(entite_la_plus_petite)].split('sensor.cert_expiry_timestamp_')[1]}}
Comment utiliser les fichiers package.yaml.
Comme dit plus haut cette méthode est très intéressante lorsqu’il s’agit de centraliser , input*, scènes, scripts, automations, customisations, etc., qui concernent un seul sujet.
Exemple : Panneau de commande de la Gateway Xiaomi ou la gestion de votre alarme.
Dans configuration.yaml
, ajouter ceci.
homeassistant:
packages: !include_dir_named packages
Suivre la méthode décrite au dessus, mais pour ajouter un dossier nommé packages
.
A l’intérieur de ce dossier, créer un fichier (exemple gatewayxiaomi.yaml
) puis saisissez les différentes choses que vous souhaitez y mettre.
input_boolean:
### Input boolean pour couper le son du gateway ###
jouer_sonneries_gateway:
name: Play
icon: mdi:play
### Input boolean pour stop le son du gateway ###
stop_sonneries_gateway:
name: Stop
icon: mdi:stop
### Input boolean pour ajouter un nouveau device à la gateway ###
ajout_device:
name: Ajout Device
icon: mdi:plus-circle
input_number:
#Input slider pour contrôler le volume du gateway
xiaomi_gateway_volume:
name: Volume
initial: 50
min: 0
max: 100
step: 10
icon: mdi:volume-high
input_select:
#Gateway Xiaomi Liste des Sons.
sonneries_gateway: ##id de votre input select
name: Sirènes
options:
- "0 - Police car 1"
- "1 - Police car 2"
- "2 - Accident"
- "3 - Countdown"
- "4 - Ghost"
- "5 - Sniper rifle"
- "6 - Battle"
- "7 - Air raid"
- "8 - Bark"
# - "9 - None"
- "10 - Doorbell"
- "11 - Knock at a door"
- "12 - Amuse"
- "13 - Alarm clock"
# - "14 - None"
# - "15 - None"
# - "16 - None"
# - "17 - None"
# - "18 - None"
# - "19 - None"
- "20 - MiMix"
- "21 - Enthusiastic"
- "22 - GuitarClassic"
- "23 - IceWorldPiano"
icon: mdi:music-note ## Icône de https://materialdesignicons.com/
totototo
script:
xiaomi_gateway_play_ringtone:
alias: "[Xiomi] [Gateway] - Play Ringtone Once"
sequence:
- service: xiaomi_aqara.play_ringtone
data_template:
gw_mac: 123456789012
ringtone_id: "{{ states('input_select.xiaomi_gateway_ringtone').split('-')[0] }}"
ringtone_vol: "{{ states('input_number.xiaomi_gateway_volume')|int }}"
Comme vous pouvez le constater, il y a toutes les données concernant la gateway Xiaomi, ce qui est très utile lorsque l’on modifie le nom d’un bouton par exemple ou d’une scène, sans devoir parcourir tous les fichiers des différents emplacements.
NOTA : Les composants que vous mettez dans le nomdevotrefichier.yaml
ne doivent plus figurer dans un autre fichier sinon vous allez avoir des erreurs de fichier configuration.yaml
.
Conclusion.
Nous venons de voir de manière simple comment peut se construire la configuration de notre Home Assistant. Organiser votre installation dès le début cela vous évitera de perdre du temps par la suite.
Vous souhaitez signaler un erreur, partager votre configuration, ajouter un matériel fonctionnant, ou bénéficier d’une aide ? Cliquez sur les boutons ci-dessous.
Trucs & astuces.
Erreurs les plus fréquentes.
Faites bien attention aux noms que vous donnez à vos fichiers et à ceux que vous rentrez dans le configuration.yaml
.
Pensez aussi à bien vérifier l’indentation de vos fichiers, les erreurs viennent souvent de ça.
Mise à jour : (détails)
26/06/2020 :
- Publication Officielle. (McFly)
23/05/2020 :
- Correction (McFly)
- Images Fichiers Médias.
21/05/2020 :
- Correction (evenisse)
17/05/2020 :
- Correction et mise en page. (McFly)
12/05/2020 :
- Création de l’article.
Sources.
- Home Assistant (Officiel) Splitting , YAML , intégration, customisation.