Comment j’ai domotisé le noeud de mon mouchoir
Ceux qui me connaissent bien vous le diront : je suis une petite-tête… mais je me soigne comme je peux. J’ai donc rapidement adopté les PDA et autres gadgets qui simplifient la vie. Mais parfois ce n’est pas suffisant et rien ne vaut un bon vieux nœud à son mouchoir. Mais même là… on doit pouvoir faire mieux. Le but de ce billet est donc de vous expliquer comment j’ai domotisé le nœud de mon mouchoir !
Ce mini-tutoriel est écrit pour Home Assistant mais il est simple de l’adapter à votre système domotique.
De quoi avons-nous besoin ?
Pour ce noeud au mouchoir virtuel nous avons besoin d’une ampoule connectée. Idéalement une ampoule qui peut changer de couleur. De mon côté j’avais une passerelle Xiaomi inutilisée qui traînait dans un coin et que j’ai recyclée. Le futur contrôleur de LED connectée de Lixee (créateur de la zigate) me semble également un bon candidat
Vous aurez aussi besoin d’une passerelle domotique programmable (ici Home Assistant).
Principe général
Le principe général est relativement simple. Imaginons une tâche que l’on désire réaliser tous les soirs (ou certains soirs). Par exemple prendre un médicament avant d’aller dormir, fermer l’enclos des poules, sortir les poubelles… L’idée est de mettre l’ampoule connectée dans un endroit où on est obligés de passer avant d’aller se coucher. A une heure donnée l’ampoule s’allume en rouge. Quand la tâche est réalisée on bascule l’éclairage en vert (ou on coupe l’ampoule). En journée lorsque le rappel n’est pas utile, l’ampoule est éteinte.
L’avantage de ce mode de fonctionnement c’est que si une personne du foyer a déjà réalisé la tâche, ça se voit tout de suite avec l’ampoule en vert.
Configuration de Home Assistant
Dans home assistant nous allons avoir besoin :
- de pouvoir interagir avec notre ampoule connectée (non couvert ici)
- un booleen pour mémoriser si la tâche a été faite ou non
- des scripts pour les différentes actions (allumer, changer de couleur, éteindre)
- des automations pour mettre le tout en musique
- modifier son lovelace pour indiquer qu’on a réaliser la tâche !
Première étape : ajouter un input booléen. Pour cela on va modifier son fichier configuration.yaml et ajouter :
input_boolean:
task_reminder:
name: Rappel tache
icon: mdi:reminder
Nous allons ensuite créer les scripts dont nous avons besoin. Il faudra adapter les scripts avec le nom de votre ampoule dans home assistant ! J’ai utilisé l’éditeur de scripts intégré à HA mais pour plus de simplicité je vous donne le code yaml.
Le premier script dont nous avons besoin est celui qui va allumer l’ampoule le soir en rouge. Ce script est composé des deux actions suivantes :
# Action 1 : allumer l'ampoule en rouge
data:
brightness: 255
entity_id: light.gateway_light
rgb_color:
- 255
- 0
- 0
service: light.turn_on
# Action 2 : positionner le reminder sur on
data: {}
entity_id: input_boolean.task_reminder
service: input_boolean.turn_on
Le deuxième script sera appelé lorsque la tâche a été réalisée et se compose d’une seule action.
# On passe en vert !
data:
brightness: 5
entity_id: light.gateway_light
rgb_color:
- 0
- 255
- 0
service: light.turn_on
Enfin en journée (ou dans un script de bonne nuit !) on coupe tout et on oublie qu’on a raté le reminder si c’est le cas !
# Action 1 : on coupe la lumière
data:
entity_id: light.gateway_light
service: light.turn_off
# Action 2 : on remet le reminder à off
data: {}
entity_id: input_boolean.task_reminder
service: input_boolean.turn_off
On va maintenant mettre un peu d’automatisation dans tout ça ! On va créer 3 automations via l’éditeur intégré :
- Une première automation qui va appeler le premier script – celui qui allume l’ampoule en rouge – à un moment donné. Dans mon cas j’appelle le script tous les soirs à 20h30.
- Une deuxième automation qui va appeler le script qui coupe la lumière tous les matins au lever du soleil (ou à heure fixe si vous préférez !)
- Enfin une automation qui va appeler le script qui passe la lumière en vert :
# Déclencheur : quand l'input booleen passe de on à off :
entity_id: input_boolean.task_reminder
platform: state
from: 'on'
to: 'off'
# Condition : uniquement si la lumière est allumée !
condition: state
entity_id: light.gateway_light
state: 'on'
Il ne reste plus qu’à ajouter votre input booleéen à votre carte lovelace ! Histoire de ne pas polluer mon dashboard en journée, je l’ai intégré dans une carte conditionnelle qui ne s’affiche que quand la lumière est allumée ! Un appui long sur l’icône permet également de couper la lumière (et masquer la carte dans lovelace). Sauvegardez et attendez le soir pour tester (ou exécutez manuellement les scripts pour gagner du temps !)
card:
entity: input_boolean.task_reminder
hold_action:
action: call-service
service: script.couper_la_lumiere
icon_height: 64px
name: Rappel tâche du soir
show_icon: true
show_name: true
tap_action:
action: toggle
type: button
conditions:
- entity: light.gateway_light
state: 'on'
type: conditional
Et voilà, à vous de jouer !