Home Assistant et les volet roulants, next !
Il y a quelques années (au moins 5 ans) j'avais implémenté une gestion des volets roulants basée sur les blueprint's de Fabien, qui associés à un certain nombre de capteurs permettaient de gérer leur ouverture / fermeture en fonction de la météo et de l'ensoleillement. Cela me permettait également de les programmer en fonction de mes habitudes de vie.
Le code était (est) béton et ça fonctionne toujours très bien au fil des versions de Home Assistant. Avec toutefois la crainte que quelque chose se casse lors de chaque mise à jour mensuelle. Si à l'époque j'étais bien incapable comprendre le code de ces blueprint's, j'ai fait des progrès, pour autant ça me parait un peu compliqué à maintenir. Je cherche également quelque chose de plus GUI afin que d'autres puissent modifier les paramètres sans avoir à se plonger dans du YAML.
En parallèle j'ai testé plusieurs solutions de gestion de volets :
- Cover Control Automation (CCA) : C'est un blueprint très populaire dans la communauté. Ca fait beaucoup de choses, mais pas assez synthétique.
- Adaptative Cover Pro, et ses magnifiques cartes : Une intégration tout aussi populaire, je pense que ça fait tout (et même le reste), mais c'est une véritable usine à gaz.
- Smart Cover Automation (SCA) : C'est un outsider récent, le développeur de cette intégration l'a faite pour lui avant tout, et du coup ça ne répond pas totalement à ce que j'attends. Par contre c'est très propre avec une documentation très complète.
- Cover Automatic : Ma dernière trouvaille, une intégration dont personne ne parle, pas même son auteur sur un forum. Elle est très visuelle et ça m'a convaincu en une soirée, je vais donc en parler ici. La doc va à l'essentiel, mais l'interface est très intuitive.
Pour tester toutes ces solutions je me suis servi de l'intégration Virtual Devices, ça évite de faire chauffer les moteurs et de potentiellement les cramer avant que l'automatisation soit au point !
Cover Automatic
Le principe avec Cover Automatic est de commencer par déclarer les volets et les façades du logement en renseignant leur orientations. Ces deux éléments sont ensuite liés et complétées par des règles. On associe des règles à des scénarios que l'on sélectionne. Le scénario sélectionné n'exécutera que les règles qui lui sont associés. Exemple, je sélectionne le scénario Vacances, seule la règle On ferme tout lui étant associée, ça ferme tout et plus rien ne bouge.
Volets
Pour chaque volet on configure la durée de pause pendant laquelle l'automatisation est débrayée (lors d'une manipulation avec une télécommande), un capteur de température (Preemptive shading ?), un capteur qui va verrouiller une position (utile par exemple pour le volet d'une porte-fenêtre qu'il ne faut pas fermer si on est sur la terrasse adjacente et un capteur de ventilation qui va verrouiller le volet sur une position choisie. Je suppose que l'on peut facilement réaffecter ces fonctions...

Façades
On nome les façades, on renseigne une orientation et un azimut de début et de fin ainsi que les volets qui y sont associés.

Règles
Une règle défini une position pour un ou plusieurs volets, ou pour les volets d'une façade. Ensuite il y a des conditions de type ET/OU ou l'on peut mixer des états, des horaires, etc. afin d'obtenir une règle valide ou non valide. Exemple : j'ouvre le volet de ma chambre à 20% s'il est + de 09:00 et que j'ai dit bonjour à Alexa, ce qui a basculé un input_boolean à ON (levé).

Scénarios
Les scénarios sont activables depuis l'interface ou via un service. Pour chaque scénario on défini les règles qui lui sont associés. Par exemple, j'active le scénario away qui ne comporte qu'une règle active, celle si ferme tous les volets dès lors que le système d'alarme est activé

Services
Plusieurs services sont disponibles pour mettre en pause un ou des volet(s), et également pour sélectionner un scénario, à combiner avec d'autres actions, en ce qui me concerne j'insère toujours un délai quand je par car j'oublie toujours quelque chose dans la maison et je veux éviter que les volets se ferment et s'ouvrent inutilement pour quelques minutes...
- action: cover_automatic.set_scenario
data:
scenario: awayEntités
Pour chaque volets et façades l'intégration crée des entités, la première permet de de désactiver l'automatisation du volet (présence d'un visiteur ou quand mes enfants sont présents auquel cas je ne leur impose pas une automatisation..) alors que les autres entités seront utiles aux fans du dashboard fièrement fixé sur le mur du hall :

Paramètres et logs
Je vous laisse découvrit le paramétrage qui est intuitif et documenté, toutefois pas encore en Français. J'ai par contre trouvé le log très lisible, qui va permettre de savoir exactement ce qui s'est passé.

Verdict
Vous l'aurez compris, je suis fan. Je vais poursuivre une période de tests avant de basculer en production, et je compléterais cet article dans quelques semaines. Le truc qui m'inquiète est qu'il ne se passe rien sur le GitHub du développeur, pas de tickets et pas de réponse quand je lui ai dit que son truc me plaisait. On va dire qu'Il doit être en vacances. En même temps je n'ai pas grand chose à lui demander car tout fonctionne !
