Home Assistant, fonctionnement

Salutation, cet article s’adresse aux débutants de Home Assistant, je vais détailler le principe de fonctionnement, les différences entre Intégration et Module complémentaire, les automatisations, scènes, script.
Le but est d’avoir vraiment les bases pour quelqu’un qui n’a jamais fait de domotique ou qui n’a jamais utilisé Home Assistant.
je ne parlerais pas de l’installation de HA, il y a déjà plein de tuto.

C’est parti !

Le Dashboard

Lorsque tu viens d’installer Home Assistant, il te propose tout une série d’intégration qu’il a détecté tout seul, la box internet par exemple qui fait de l’UPNP en règle général, peut être des équipements homekit…
Après avoir configuré tout ça, on a un dashboard automatique avec tout se qu’il a découvert.
Il est bien sûr possible de le personnalisé et même d’en créer d’autre.

Pour personnaliser le dashboard tu vas devoir créer des cartes.

Par défaut Home Assistant intègre quelques cartes, un thermostat, un bouton ou entité par exemple.
Toutes ces cartes ne peuvent pas forcément être utilisé avec n’importe quel appareil, forcément, une carte thermostat pour un capteur d’ouverture de porte, ça va poser problème 😉

Il est possible d’ajouter des cartes via HACS.

Toutes ces cartes font référence à des appareils, ces appareils tu peux les retrouver dans Paramètres -> Appareils et Services.

Les Appareils

On arrive sur une page qui s’appel Intégration, en fait se sont des « modules », des intégrations qui vont permettre de gérer les appareils.
C’est ici qu’on va pouvoir ajouter une intégration qui ira chercher la météo par exemple, on va pouvoir ajouter aussi une intégration pour gérer des appareils en Zigbee ou intégrer sa passerelle Philipps HUE, enfin bref c’est la page de départ pour alimenter Home Assistant.

Pour l’explication on va s’intéresser à l’intégration Météo France, il suffit de cliquer sur + Ajouter une intégration en bas à droite.

Après avoir tapé météo dans la zone de recherche on a une liste d’intégration qui est proposé, le petit nuage veut dire que c’est une intégration qui a besoin d’internet.
Il peut y avoir plusieurs intégration pour la même chose, par exemple pour les modules Tuya, HA propose l’intégration cloud par défaut mais il est possible d’ajouter une intégration local, via HACS.

Une fois Météo-France sélectionné, il demande un nom de ville.

La vue suivante permet d’affecté « l’appareil » à une pièce, pas grand intérêt ici 😉

Il est possible de recommencer l’opération pour avoir la météo de plusieurs villes.

Tu te retrouves avec une nouvelle tuile sur la page Intégrations

En cliquant sur une ville, tu vas découvrir se que contient vraiment l’intégration

Sur service, on va avoir une carte toute faite avec les infos que l’intégration peut remonter, il est possible de l’ajouter tel quel au dashboard.
Sur entities on va avoir cette même liste, même un peu plus mais sous forme un peu moins sympathique visuellement mais plus intéressante niveau personnalisation.

En cliquant sur une entité, on va pouvoir lui donner un petit nom, une icone et on retrouve sont identifiant unique qui va nous permettre de l’ajouter au dashboard ou de l’utiliser dans une automatisation, script …

Les modules complémentaires

ils permettent d’ajouter des fonctionnalités ou des intégrations à Home Assistant.
C’est ici que tu vas pouvoir ajouter une fonctionnalité de sauvegarde automatique ou ajouter un serveur MQTT par exemple.
HA propose quelques modules par défaut mais on peut en ajouter beaucoup en cherchant un peu sur internet. Il suffit d’ajouter le dépôt Github concerné.

Une fois le module téléchargé, il faut, en règle général, aller modifier la configuration, en cliquant sur la tuile du module puis l’onglet Configuration.

Pour certain module, on peut ajouter un raccourci dans la barre latérale, mettre un chien de garde qui permet de le relancer automatiquement en cas de plantage.
L’onglet Jounal, permet d’avoir des logs, utile pour savoir pourquoi le module ne se lance pas.

Attention, se n’est pas parce qu’on a ajouter un module qu’il est automatiquement configuré dans Intégration !

Par exemple pour MQTT, il faudra ensuite aller dans intégration et l’ajouter à nouveau.

Automatisation, scène et scripts

Maintenant qu’on a tous les modules qui nous intéresse, on va pouvoir utilisé n’importe quel appareil, peu importe qu’il soit en Zigbee, wifi ou dans le cloud, pour qu’ils « fonctionnent » ensemble.
Au début il est difficile de voir la différence entre Automatisation, Scène et Script mais au file du temps on s’aperçois que chacun a son intérêt.
Je vais t’expliquer comment je les utilise mais évidemment tu es libre après de les utiliser comme tu veux, tu peux ne faire que des automatisations et des scènes en laissant les scripts de coté.
Pour te faire comprendre mon fonctionnement plus facilement on va partir sur un exemple, fermer tous les volets tous les soirs au couché du soleil

  • Script : Pour moi c’est la base, les scripts vont faire appel aux entités. Ils vont être utilisé dans les scènes ou les automatisations.

    Dans notre exemple, j’ai 2 portes fenêtres avec des capteurs d’ouverture, je ne veux pas que les volets se ferment si la porte fenêtre est ouverte.

    Je vais donc créer un premier script qui va fermer le volet de la salle à manger à condition que le capteur de la porte fenêtre soit fermé, je vais faire autant de script que de porte fenêtre.

    Les scripts vont pouvoir être utilisé dans plusieurs scènes ou automatisation, lorsque je voudrais fermer le volet de la salle à manger, j’appellerai le script, plus besoin de penser à mettre une condition pour vérifier que la porte fenêtre est fermée.
alias: "[Volet] Fermer Salle à Manger"
sequence:
  - condition: state
    entity_id: binary_sensor.detecteur_fenetre_salle_a_manger_contact
    state: "off"
  - device_id: dfdv45d45b5fdgfd
    domain: cover
    entity_id: cover.volet_salle_a_manger_mur
    type: set_position
    position: 100
mode: single
icon: mdi:blinds-horizontal
  • Scène : Les scènes permettent d’utiliser les scripts mais aussi les appareils, je vais pouvoir créer une scène « volets fermés » où je vais appeler tous mes scripts qui ferment les volets mais aussi le volet du salon directement qui est juste une fenêtre.
- id: '1712554828930'
  name: Fermer les volets
  entities:
    script.volet_fermer_cuisine:
      last_triggered: '2023-03-20T17:57:31.408605+00:00'
      mode: single
      current: 0
      icon: mdi:blinds-horizontal
      friendly_name: '[Volet] Fermer Cuisine - 54'
      state: 'off'
    script.volet_fermer_salle_a_manger:
      last_triggered: '2023-03-20T17:57:31.411294+00:00'
      mode: single
      current: 0
      icon: mdi:blinds-horizontal
      friendly_name: '[Volet] Fermer Salle à Manger'
      state: 'off'
    cover.volet_cuisine_mur:
      current_position: 0
      device_class: shutter
      friendly_name: Volet Cuisine
      supported_features: 15
      state: closed
  metadata:
    script.volet_fermer_cuisine:
      entity_only: true
    script.volet_fermer_salle_a_manger:
      entity_only: true
    cover.volet_cuisine_mur:
      entity_only: true
  • Automatisations : Il porte bien son nom celui là. Il permet de lancer automatiquement des scènes, script ou autre appareil.

    Dans notre exemple j’ai une automatisation qui va appeler la scène « fermer les volets » lorsque le soleil se couche.
alias: [Volet] Fermer au couchet du soleil
description: ""
trigger:
  - platform: sun
    event: sunset
    offset: 0
condition: []
action:
  - service: scene.turn_on
    metadata: {}
    target:
      entity_id: scene.fermer_les_volets
mode: single

Voila en gros mon principe de fonctionnement, en scindant tout ça je peux réutiliser les scripts et les scènes, c’est plus facile à débuguer et si jamais je veux modifier mon script, le changement sera effectif pour toutes les scènes et automatisations qui l’utilise.

2 Comments

  1. traidaissu

    Automatisation, scène et scripts : j’ai rien appris.
    Je pensais avoir un script et qu’il serait intégré dans une scène ou automatisme pour bien comprendre les interactions.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Back to Top