TL;DR Ma maison fédère neuf écosystèmes qui ne se parlent pas : Zigbee, Matter, HomeKit, du Wi-Fi propriétaire, un cloud constructeur, du SSDP, de l'infrarouge, du MQTT et une API ouverte de l'Éducation nationale. 87 appareils, 929 entités, 75 automatisations. Depuis plus d'un an, tout passe par un agent qui pilote l'API du serveur, lit les journaux et applique les correctifs. Les idées qui coûtaient trop cher à démarrer, je les lance enfin. Et un diagnostic traverse maintenant cinq systèmes en une soirée. Restent deux choses à faire soi-même : couper un disjoncteur, et décider ce que la maison doit imposer.
Pendant deux ans, une corvée est restée sur ma liste sans jamais en sortir.
Mes routines du matin réveillent mes enfants, ouvrent les volets et le portail. Elles ne doivent pas tourner pendant les vacances scolaires. Le garde-fou existait déjà. C'était un interrupteur que je basculais à la main, seize semaines par an. Je l'oubliais une fois sur deux.
La version propre était évidente. Le calendrier scolaire officiel est un jeu de données ouvert. Il suffit d'un capteur REST, d'un filtre sur l'académie, d'un capteur binaire qui teste si la date du jour tombe dans une période, et d'une synchronisation. Une demi-journée de travail, peut-être. Je ne l'ai jamais faite.
Elle a été faite en une session, testée de bout en bout, le 18 septembre.
Pourquoi l'hétérogénéité change le calcul


L'inventaire complet est dans l'épisode précédent : 87 appareils, 929 entités, 43 intégrations. Un seul chiffre compte ici. Matter devait être le standard qui range tout ça, et chez moi il pilote neuf appareils sur quatre-vingt-sept. Le reste est une longue traîne d'exceptions qui ne disparaîtra jamais : le kit Somfy qu'on n'atteint que par HomeKit, la porte de l'atelier commandée en infrarouge, huit ampoules Wi-Fi d'un constructeur chinois, des caméras en ONVIF.
Sur une installation à un seul protocole, un agent n'a pas grand-chose à apporter. Ici, la moindre idée traverse trois systèmes et deux formats de configuration.
Home Assistant est une couche de fédération. Et une fédération se paie en contexte, celui qu'il faut tenir en tête avant chaque modification.
La friction n'a jamais été la syntaxe
Je croyais que le coûteux, en domotique, c'était d'écrire le YAML. Je n'en écris presque plus, et le temps part à retrouver le contexte. Quelles automatisations touchent cette entité. Laquelle de mes trois listes de jours doit rester synchronisée avec les deux autres. Quel garde-fou, écrit il y a huit mois, va réécraser la commande que je viens d'envoyer.
Exemple vécu. Ma routine de coupure de la télévision « ne marchait qu'une seconde ». Ce n'était ni la routine ni la prise. Une automatisation de garde-fou sans aucune condition, écrite des mois plus tôt, rallumait la prise dix secondes après chaque coupure.
La réponse tenait dans le journal de l'entité, une ligne sous la coupure, et il fallait la croiser avec les soixante-quinze automatisations pour nommer la coupable. Je n'avais jamais ouvert ce journal. L'agent l'a lu, a trouvé le conflit et a posé la condition manquante dans la même séance, à partir d'une seule phrase de ma part : « la coupure ne tient qu'une seconde ».
Les treize annonces vocales de la maison ont été réécrites en une passe, par un script qui applique le même correctif à chaque appel. À la main, c'est treize formulaires. Les volumes du matin ont été baissés sur cinq automatisations d'un coup. Le mercredi a été ajouté à trois listes de jours qui doivent rester cohérentes, sans quoi la télévision se coupe sans jamais se rallumer.
Aucune de ces tâches n'est difficile. Elles attendaient depuis des mois parce qu'elles sont pénibles, et rien d'autre.
Les idées qui passent enfin sous le seuil


La liste de ce que j'accepte d'essayer s'est élargie. Ce changement-là n'apparaît sur aucun relevé d'activité.
Le calendrier scolaire. Celui de l'introduction, synchronisé toutes les six heures. Il gouverne d'un coup les routines du matin, du soir et du coucher. Seize semaines de corvée annuelle supprimées par une intégration qui ne pilote aucun appareil.
Un modèle solaire par façade. Chaque volet décide seul, à partir de la température de sa pièce et du soleil qui frappe, ou non, sa façade. Les orientations viennent du cadastre, recoupé avec un mois de relevés de température mis en face de la course du soleil. Le même travail a trouvé d'où venait la chaleur du bureau, et un ventilateur de plafond calé sur la température en est sorti. Il a ensuite désigné la phase du tableau électrique qui pouvait encore prendre une charge. Les deux réponses contredisaient mon premier calcul. Le détail est dans le dernier épisode de la série.
Ces chantiers demandent des heures d'analyse pour un résultat à usage unique. Personne ne passe un week-end à corréler trente jours de température avec l'azimut solaire pour régler six volets. Ils n'étaient pas difficiles à finir, ils étaient trop chers à commencer.
Avant de lancer une idée, il ne reste qu'une question : est-ce que ça vaut la peine d'être vrai ?
Ce que la maison sait faire en plus
Dans la même période, la maison a gagné ces usages :
- Un plan de la maison dans le tableau de bord, avec douze températures posées à leur place dans les pièces.
- Un mode absence qui se déclenche quand les deux téléphones sont partis depuis dix minutes : chauffe-eau coupé, surveillance de la caméra étendue, notification au retour.
- Une alerte de volet muet qui prévient si l'un des six ne répond plus depuis trente minutes, et prévient à nouveau quand il revient.
- Une alerte d'aération pour le bureau, qui se déclenche quand l'extérieur passe deux degrés sous la pièce.
- Un suivi de consommation par phase sur le compteur triphasé, avec les gros postes identifiés un par un.
Aucun de ces cinq usages n'est remarquable, et aucun n'aurait justifié, seul, d'y passer un samedi. Ils existent parce qu'aucun n'a coûté un samedi.
L'interaction que je n'avais pas imaginée
La maison parle. Treize annonces par jour, du lever au coucher, sur des enceintes de salon et de chambre. Les premières versions sortaient au bon moment, au bon volume, et personne ne bougeait.
Le réveil est l'exemple le plus net. La première version annonçait, puis lançait la musique. Se faire réveiller par une voix ne passait pas. La séquence a été inversée le jour même — musique d'abord, montée progressive du volume sur quatre-vingts secondes, la consigne par-dessus à la fin. Trois itérations dans la même journée, jusqu'au bon plafond de volume.
Quand le coût d'une modification tombe à presque rien, on se met à régler des choses qu'on n'aurait jamais ouvertes.
Une maison devient un objet qu'on ajuste au ressenti, le jour même, par petites touches.
Ce qui reste aux humains


La liste est courte et elle est stable.
Couper le courant. Le seul remède à une pile applicative figée est un cycle secteur. J'ai appris que « j'ai fait un reset » et « le module a perdu son alimentation » sont deux affirmations différentes. Il a fallu trois tentatives avant de tomber sur le bon disjoncteur.
Arbitrer l'agent. Sur ce même volet, il a annoncé « l'étage radio est mort, matériel à remplacer » quatre minutes avant que le module ne revienne tout seul. Le raisonnement tenait debout. Il lui manquait d'attendre dix minutes de plus. Un agent avance vite, y compris vers une mauvaise réponse, et rien dans son ton ne le signale.
Observer. J'ai annoncé une chambre orientée sud-sud-est. Le calcul qui en découlait gardait le volet ouvert tout le matin, dans une pièce en plein soleil. Il a fallu regarder la pièce pour voir l'erreur.
Décider ce que la maison impose. Un agent optimise ce qu'on lui donne à optimiser. Il n'a aucun moyen de savoir qu'une coupure de télévision à heure fixe est un rituel de fin de journée et non une contrainte scolaire, ni que le vendredi ne mérite pas d'exception. J'ai proposé deux fois de rationaliser ce calendrier. Deux fois, la bonne réponse était non.
Ce que j'en retiens
- Compter ce qui n'existait pas. Un avant-après ne montre que les tâches d'avant, faites plus vite. Il rate tout ce que je n'aurais jamais commencé.
- C'est sur un parc hétérogène qu'un agent rapporte le plus. Neuf écosystèmes, c'est neuf documentations et neuf façons de mentir sur son propre état de santé.
- Passer par l'API, jamais par les fichiers. Un service qui gère sa configuration la réécrit. Tout ce qui est décrit ici est passé par l'interface publique du serveur, ce qui rend chaque modification annulable.
- Préférer indisponible à faux. Mon capteur extérieur se déclare indisponible dès qu'il s'écarte de plus de 5 °C de la prévision. Il gèle les décisions au lieu de les fausser.
- Écrire les alertes qui manquent. Un volet est resté hors ligne trois jours sans que rien ne me prévienne. Le groupe qui l'appelle chaque matin ignorait le membre absent sans lever d'erreur.
- La moitié de ce chantier a été de la rédaction. Une automatisation qui ne change le comportement de personne n'existe pas.
Le parc ne convergera pas. Dans cinq ans il y aura toujours un pont propriétaire, une télécommande infrarouge et une ampoule qui refuse son réseau. Mais le capteur de vacances scolaires tourne depuis deux jours, et cet interrupteur-là, je ne le rebasculerai plus jamais à la main.
Lire la série : Dix ans de domotique tout seul, un an avec un agent — l'inventaire de l'installation, dix ans d'empilement, et la mesure de ce qui a changé. J'ai changé le calendrier du soir trois fois en une semaine — la maison qui porte le rythme de la journée. J'ai enlevé les choix — treize annonces vocales, et pourquoi le problème n'était pas le son. Mon bureau est à 29 °C la nuit — six volets qui décident seuls, et ce que le modèle m'a dit de ne pas faire.