Il y a quelques semaines, Nicolas m’indiquait qu’il aimerait trouver une solution pour pouvoir baisser la luminosité d’une ampoule par étape. L’objectif était donc d’allumer une pièce avec une luminosité à 100% puis de baisser cette valeur par étape sur une durée prédéfinie. J’ai vu cela comme un challenge et je vous propose de vous décrire la solution apportée.

Les bases nécessaires

Cette solution va se baser sur un script afin qu’elle puisse être déclenchée via l’application Google Home. Si besoin, je vous invite à relire cet article pour la procédure, mais en gros, il suffit de créer un script dans Home Assistant, d’associer cette solution à Google Home pour retrouver le script comme une scène. Si besoin, un déclenchement peut aussi être réalisé via une commande vocale.

Pour le calcul de la valeur de la luminosité, je vais passer par un script Python.

Mise en place du script dans Home Assistant

Comme toujours, je me rends dans le menu Configuration > Script pour en créer un nouveau. Je dois alors créer deux séquences :

La première permet d’appeler le script Python en spécifiant en paramètres les valeurs suivantes:

  • Nom de l’entité utilisée: Dans mon cas, il s’agit de la lumière de ma chambre qui a donc pour nom  light.lumire_chambre. Je vous invite bien sûr à adapter cette valeur en fonction de vos besoins
  • durée_totale et durée_étape: Ces inputs / entrées correspondent respectivement à la durée du processus d’extinction de la lumière et à la durée entre chaque étape. Autrement dit, si je stipule une durée totale de 30 secondes et des étapes à 5 secondes, il y aura 6 étapes. Il faut bien sûr saisir des valeurs cohérentes pour que le processus se déroule correctement

La seconde étape indique qu’il faut éteindre la lumière

Au niveau YAML,  cela donne donc:

Graphiquement, voici ce que l’on observe:

Les lignes 5 et 6 sont tronquées sur l’image mais vous devinerez le contenu en vous basant sur le YAML.

Mise en place du script Python

Passons maintenant au script. Il faut donc créer un script et lui donner comme nom <luminosite_ampoule>. Je vous propose directement le code puisque je l’ai commenté:

Le script va donc allumer la lumière avec une luminosité à 100% (valeur 255) puis va baisser cette luminosité au fur et à mesure.

Je ne rentre pas plus dans le détail car il n’y a rien de bien compliqué. Si vous ne vous y connaissez pas en code, sachez que vous devriez normalement pouvoir simplement copier coller ce code.

Pour le test, je vous invite simplement à exécuter le script en cliquant sur l’icône en forme de bouton de lecture et à admirer le résultat.

Conclusion:

Comme indiqué il y a quelques semaines, je vous propose ainsi une nouvelle automatisation cette fois définie par un script et un script Python. Ainsi, je peux à présent baisser la luminosité d’une ampoule par étape. Allez-vous mettre en place cette solution ? Auriez-vous des besoins particuliers ou, à l’inverse, avez-vous adapté ce code ? J’attends vos retours en commentaires.

Shares:

Laisser un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.