Ma domotique open source

Cela fait un moment que je fais de la domotique à la maison, en restant raisonnable bien entendu. Cela fait longtemps aussi que je ne vous ai pas écrit d’articles sur mon blog. Nous connaissons tous la situation internationale depuis début 2020. A cette occasion, lors du premier confinement en mars 2020, j’ai eu plus de temps libre mine de rien. J’en ai profité pour installer Home Assistant, un gestionnaire de domotique open source. Je vais vous en parler un peu... voir beaucoup !

Préambule

J’avais un Raspberry Pi 3b+ qui dormait dans un coin. Je me suis dit qu’il était temps de le réveiller un peu et de voir ce que pouvait m’offrir Home Assistant. Je vous traduis leur présentation :

Une domotique open source qui met au premier plan le contrôle local et la confidentialité. Propulsé par une communauté mondiale de bricoleurs et d’enthousiastes DIYeurs. Parfait pour fonctionner sur un Raspberry Pi ou un serveur local.

Il existe d’autres solutions équivalentes open source : Gladys, OpenHab, Domoticz, Jeedom, etc. Ma préférence est partie vers Home Assistant car je regarde beaucoup de vidéos de Youtubers DIYeurs anglophones. Ils sont très friands de cette solution. Il faut dire que l’aspect esthétique de l’interface utilisateur était un point important. Home Assistant était sobre et moderne à mes yeux.
De plus, une communauté francophone commençait à se mettre en place depuis fin 2019-début 2020 grâce à l’impulsion de "Paradis Artificiels", un youtubeur français. J’ai peu regardé ses vidéos mais il est très apprécié par la communauté HACF [1].

Les différents articles que je vais écrire sur Home Assistant et les solutions que j’ai mis en place n’aborderont pas l’installation from scratch d’HA. Il existe d’autres sites, blogs qui en parlent déjà. Ce n’est pas la peine d’être redondant. Bien entendu, s’il y a une configuration pertinente, je l’indiquerai au fil de l’eau.

Mon approche

Comme vous avez pu le constater, je parle un peu de domotique sur mon blog, pas forcément de DIY matériels. Je ne sais pas souder les composants entre eux, ce n’est pas mon dada. J’ai plutôt l’âme d’un développeur applicatif. Ma philosophie est que si je dois faire plus de 2 fois quelque chose, c’est que je peux l’automatiser.
De là, mon objectif pour HomeAssistant est d’automatiser mes actions répétitives, me simplifier la vie et celle de ma petite famille. Bien entendu, il ne faut pas s’enlever le piment de la vie et de devenir comme les humains dans "WALL-E".

Les humains dans WALL-E

Mon matériel

Mon matériel se résume aux éléments suivants :

  • 3 interrupteurs Sonoff Touch Wifi
  • 3 interrupteurs Tuya Zigbee
  • 2 contrôleurs Wifi monocouleur MagicHome
  • 1 prise Zigbee
  • 2 prises wifi
  • 2 Raspberry Pi 3
  • Une clé Conbee2
  • 5 Google Home Mini
  • 1 Alexa Echo Dot
  • 7 capteurs d’ouverture (Zigbee)
  • 1 capteur de lumière (Zigbee)
  • 7 capteurs de température et d’humidité
  • 2 boutons poussoirs Aqara (Zigbee)
  • Une Webcam 5MP Reolink Wifi

1 des Raspberry PI 3 est utilisé pour mon MagicMirror. Le deuxième héberge mon installation HomeAssistant.

L’avant Home Assistant

Avant d’installer et de configurer HA, j’utilisais le raspberry Pi du MagicMirror pour envoyer des messages aux Google Home de la maison pour rythmer la journée. J’avais installé Assistant-Plugins qui fonctionnait pas trop mal. J’ai même créé un petit add-on qui me permettait de lire le contenu d’un fichier ics (le calendrier Google) et envoyer des messages sur les GHM.
Avant cette solution Assistant-Plugins, je diffusais les messages sur les haut-parleurs du MagicMirror.

#1 Messages envoyés sur les GHM

En gros, le titre de l’événement correspond au message que le Google Home doit énoncer. Le descriptif contient le nom de chaque Google Home sur lequel doit être énoncé le message. Bien entendu, le message est diffusé à l’heure du début de l’événement. Nous pouvions donc depuis notre agenda Google planifier des messages, des rappels etc. Donc, cette solution est accessible aux personnes non geek.

#1.1 Routine le matin avant l’école

Grâce à l’utilisation des événements créés, je pouvais diffuser des messages le matin pour rythmer l’activité de mes enfants pour ne pas être en retard pour l’école. Nous nous réveillons à la même heure, prenons notre petit déjeuner ensemble. Parfois, on pouvait laisser le temps s’écouler tranquillement et ainsi être en retard. De ce fait, cette routine était la bienvenue.

#1.2 Routine du soir

Après l’école, les enfants ont leur temps libre de détente. Mais arrivés à une certaine heure, ils doivent faire leurs devoirs, préparer les affaires pour le lendemain, aller prendre la douche, etc. Ils aiment leur autonomie. Les messages permettaient encore une fois de les aiguiller. Tout cela est répétitif.
Le plus sympa est qu’ils se sont pris au jeu. Ils venaient me dire quand un message n’a pas été diffusé. C’était même un challenge entre nous, je devais faire en sorte que tout fonctionne correctement.

#1.3 L’école à la maison

Durant le confinement de mars 2020, les enfants ont eu cours à la maison comme tous (ou presque) les autres enfants de leur âge à cette période. De ce fait, ayant installé Home Assistant entre temps, j’ai créé une routine (une automatisation) pour rythmer la journée d’apprentissage comme si on était à l’école. Un message est diffusé régulièrement :

  • 9h25, prévenir que l’école va bientôt commencer ;
  • 9h30 début de la journée ;
  • 10h00, début de la récréation ;
  • 10h15, fin de la récréation, reprise des cours ;
  • 10h45, début de la longue récréation ;
  • 11h15, fin de la récréation, reprise des cours ;
  • 11h45, début de la récréation ;
  • 12h00, fin de la récréation, reprise des cours ;
  • 12h30, pause déjeuner.

Et l’après-midi, on reprenait les cours à 14h30. Le même rythme était mis en place en respectant la technique "Pomodoro", soit 30 minutes de travail, 15 minutes de pause.

#2 Éteindre les lumières

En plus de mon calendrier dédié aux "alertes" sur les Google Home Mini, j’ai créé un calendrier dédié à la gestion des lumières (mes interrupteurs). Le titre de chaque événement correspond à ce que je voulais faire "éteindre" ou "allumer" et le nom de la lumière avec laquelle je désirais interagir. Exemple : "Eteindre Lumière bureau", "Allumer Chambre Parentale", etc.
Ici, pas que de l’Assistant-Plugins. Tout était lié à des actions dans IFTTT qui communiquait avec Pushbullet... C’était moins accessible, mais autonome une fois mis en place.
Grâce à cela, je pouvais éteindre les lumières à une certaine heure de la nuit. Très pratique si nous avions oublié d’éteindre des lumières.

#3 Baisser le volume des GHM

En même temps que les lumières s’éteignent la nuit, je désire que le volume des GHM soit au plus bas, qu’ils passent en mode nuit. Ainsi, nous ne devrions pas être surpris par un son émanant d’eux.
Au petit matin, je remettais le volume à quelque chose de plus adaptée.

#4 Tâches ménagères

Nous sommes une famille de 5 personnes. Les plus grands enfants participent aux tâches ménagères. Pour le moment, les 2 plus grands à tour de rôle mettent la table. J’utilise encore une fois la force des calendriers pour les répétitions des événements. Un enfant place et débarrasse la table tous les 2 jours, met également toute la vaisselle dans le lave-vaisselle. Et lorsque l’autre enfant ne place pas la table, il est chargé de sortir la poubelle, d’ouvrir les volets le matin et de les fermer le soir.
Sur le MagicMirror, on affiche dans une zone dédiée le nom de la personne en charge de la "Table". Tout découle de là.

#5 Habit Tracker

En "plus" des tâches ménagères, mes 2 plus grands enfants ont un tableau leur permettant de cocher les éléments réalisés dans la journée. C’est un habit tracker. Le principe est de suivre des "habitudes" de façon quotidienne, hebdomadaire, etc.

L’installation d’HomeAssistant

Comme indiqué en début de cet article, je ne vais pas faire un pas à pas de comment installer HomeAssistant. Beaucoup de bloggers et de Youtubers (français comme anglais) ont traité le sujet. Je n’ai pas envie d’être redondant. La meilleure documentation sur le sujet reste pour moi la documentation officielle :

Je vous ai indiqué les versions "françaises" qui en fait les traductions automatiques de Google Translate. Elles sont suffisamment compréhensible même si elles ne sont pas dans un français académique. :-)

Après avoir lancé mon HomeAssistant, j’ai ajouté les add-ons suivants :

Pour les intégrations, j’ai ceci :

J’ai d’autres éléments qui sont intégré par configuration yaml. J’en parlerai si nécessaire le moment venu.

What’s next ?

Avant tout, merci d’avoir pris le temps de me lire jusqu’ici. Je ne pensais pas écrire un aussi long article, mais il est nécessaire en l’état. En effet, vous avez une petite idée maintenant de ce qui vous attend bientôt, non ? :-D Aaaaahhhhh le teasing !


Le chemin est tracé pour mes prochains articles et les séries associées :

Je vous ai indiqué ce que j’avais mis en place AVANT d’avoir Home Assistant. Maintenant que je l’ai, je vais retranscrire toutes ces routines à la manière d’HA. C’est très très intéressant. J’espère que cela vous plaira.
A très bientôt !