
De l'oeuf, de la poule ou de Home Assistant ?
Publié le 2025-09-11 par DarkChyper
Je me définis comme un geek techno enthousiaste. J’aime l’idée que la technologie puisse nous simplifier la vie quotidienne. Et c’est dans ce sens que j’ai toujours été attiré par la domotique. Pouvoir piloter et programmer sa maison pour qu’elle fonctionne selon ses besoins est vraiment exaltant.
Attention toutefois : être enthousiaste ne veut pas dire naïf. Utiliser la technologie, oui, mais seulement si elle est utile et proportionnée aux besoins du moment.
Cela faisait des années que je pensais installer une instance de Home Assistant à la maison. Et, en même temps, cela faisait tout autant d’années que je me demandais si cela valait vraiment le coup. Ai-je assez de domotique chez moi pour que ce soit pertinent ? Est-ce plus pratique que d’utiliser les multiples applications fournies avec chaque appareil ?
Être critique, c’est aussi essayer de ne pas céder aux sirènes de tous les constructeurs, qui veulent chacun imposer leur propre “pont” ou leur hub propriétaire. Souvent des boîtiers de marques chinoises, pas toujours fiables… Ce n’est pas évident à éviter, mais ce n’est pas non plus le sujet de cet article.
C’est un peu grâce à la chaîne YouTube Abrège que je me suis vraiment remis à la domotique et à l’électronique, à bricoler avec des composants. En 2022, il a publié une vidéo expliquant comment créer une box domotique avec Home Assistant sur un Raspberry Pi, avec un peu d’électronique, d’impression 3D et un tutoriel complet d’installation et de configuration. Parfait : j’ai lancé de longues impressions sur ma Ender 3 de l’époque, pendant que j’installais Home Assistant sur un des Raspberry Pi qui prenaient la poussière chez moi.
La vidéo de la box domotique Home assistant 2022
Je ne dirais pas que cette tentative a été un échec, mais plutôt que je m’y suis lancé sans trop réfléchir. Le Raspberry Pi était un peu vieux pour supporter la charge, et je n’avais finalement pas grand-chose à y connecter. Après quelques semaines, j’ai fini par tout retirer.
Au fond, la vraie question reste : par où commencer ? Faut-il empiler des gadgets domotiques avec leurs applis propriétaires pour les piloter, ou bien débuter directement par une instance de Home Assistant ?
Je ne pense pas pouvoir donner une réponse claire et définitive à cette question, mais je peux au moins expliquer mon cheminement.
Home Assistant est une plateforme open source de domotique qui permet de centraliser, piloter et automatiser une maison connectée. L’idée est simple : au lieu d’utiliser une application différente pour chaque appareil (ampoules, chauffage, prises connectées, etc.), Home Assistant regroupe tout dans une seule interface. En plus de l’aspect pratique, il offre un énorme avantage : l’automatisation. On peut définir des règles intelligentes (“si la température descend en dessous de 18°C, allume le chauffage”, “si le soleil se couche, baisse les volets”), le tout sans dépendre du cloud de chaque constructeur. Bref, c’est un peu le tableau de bord et le cerveau de la maison connectée.
site officiel de home-assistant
Tout a commencé en 2014, avec un Raspberry Pi équipé d’un module caméra pour surveiller mes chats. Je ne voulais pas de solution “toute faite”, alors j’ai bricolé un petit système maison à base de raspistill et de scp pour envoyer les photos vers mon VPS. Je n’ai jamais voulu installer de caméra à l’intérieur; je trouve ça trop intrusif, surtout avec un micro. Du coup, un simple cron lançait des photos à intervalles réguliers. Pour la visualisation, une page toute bête mélangeant PHP et HTML, protégée par un .htaccess avec mot de passe. C’était basique, mais très stable… et ça fonctionne encore très bien aujourd’hui, même après plusieurs déménagements.
Peu après, j’ai commencé à jouer avec des Philips Hue, notamment avec un détecteur de présence, ce qui m’a amené à installer le fameux pont Hue. Et puis... c’est resté en l’état pendant un bon moment. Enfin, c’est ce que je croyais : petit à petit, l’Apple TV s’est transformée en relais domotique pour les produits de la marque à la pomme. D’autres appareils sont aussi venus se greffer, qu’ils soient compatibles Bluetooth ou Zigbee.
En parallèle, j’ai continué mes petites bidouilles électroniques : j’ai ajouté des capteurs de température et d’humidité à mes modules caméra, et j’ai fait remonter ces nouvelles informations sur ma page PHP. Je crois que je continuais ainsi pour deux raisons : d’une part, garder la maîtrise de mon code ; d’autre part, l’espoir de faire plus qu’un simple affichage “instantané”. J’aurais aimé pouvoir naviguer dans les photos, remonter le temps et voir ce qui s’était passé dans la journée. Idem pour les températures : avoir un suivi sur la journée, comparer avec la semaine précédente ou l’année passée...
Mais vous savez quoi ? Encore aurait-il fallu coder tout cela. Et comme je n’ai a priori pas trouvé le temps de m’y mettre, on peut traduire “pas eu le temps” par : ces fonctionnalités ne méritaient sans doute pas d’y consacrer autant d’efforts.
La seule amélioration que je pense encore réaliser, car relativement simple à développer, serait de créer une vidéo à partir des photos du jour. Si possible en combinant les différents points de vue dans une même vidéo. Ce ne serait pas trop compliqué non plus d’afficher automatiquement, chaque jour, la vidéo de la veille dans Home Assistant.
Cette réflexion, c’est celle que j’ai aujourd’hui sur mon cheminement, et c’est ce qui explique mon échec avec Home Assistant en 2022 : je n’étais pas prêt à me reposer sur ce “tiers” pour l’affichage de ma domotique. J’avais l’impression de devoir faire trop de compromis pour faire rentrer mon usage dans celui de l’instance.
Et puis, en voyant des installations Home Assistant chez des amis ou sur la chaîne Abrège, mon avis a changé, et donc mon usage aussi. Finalement, je me suis rendu compte que je n’avais rien à faire de la “course aux statistiques” (la preuve avec ce blog, totalement statique et sans traqueur). Ce que je voulais surtout, c’était ne plus me baser sur une box vaguement imprimée en 3D ni sur un Raspberry Pi qui aurait vite montré ses limites.
Je n’avais pas non plus envie d’acheter un Raspberry Pi 5 uniquement pour gagner en performances. D’autant que j’ai déjà une bonne réserve de matériel à la maison ; l’équivalent électronique de la fameuse “boîte à rabiots” de l’époque Warhammer 40K, sans doute.
J’avais déjà migrer ce MBP vers Ubuntu à l’époque où Apple avait cessé d’en assurer la prise en charge. La seule difficulté, en réalité, a été de me souvenir de comment booter sur une clé USB sur un Mac.
Pour booter sur une clé USB sur Mac, il faut maintenir la touche Option (alt) au démarrage, puis choisir le périphérique à lancer.
Avec cette nouvelle installation, j’ai découvert que mon système de chauffage (les têtes thermostatiques connectées) était automatiquement reconnu, tout comme certains autres appareils de la maison. Parfait : dès l’installation, j’avais déjà un visuel vraiment utile.
Restait alors à intégrer mes prises de photos dans cette instance. Et là, c’est le développeur un peu plus expérimenté qui a pris le dessus : MQTT m’a semblé être la solution la plus simple et la plus efficace à mettre en place.
MQTT à la rescousse de la bidouille domotique
MQTT (Message Queuing Telemetry Transport) est un protocole de messagerie léger, pensé à l’origine pour les objets connectés. Son principe est simple : des capteurs ou programmes publient des messages sur des “topics” (un peu comme des canaux), et d’autres systèmes peuvent s’y abonner pour les recevoir. Dans mon cas, c’était parfait : mes scripts maison pouvaient publier les données de mes capteurs (photos, température, humidité, etc.), et Home Assistant se chargeait de les récupérer et de les afficher. Pas besoin de recoder toute une interface, je gardais mes bidouilles côté Raspberry/serveur, et je laissais Home Assistant faire ce qu’il sait très bien faire : centraliser et présenter l’information.
https://fr.wikipedia.org/wiki/MQTT
Pour l’intégration de Home Assistant avec mes caméras, j’ai créé un utilisateur par Raspberry Pi dans HA : un login, un mot de passe, et surtout une connexion exclusivement en local.
Ensuite, j’ai installé le Mosquitto broker via :
Paramètres > Modules complémentaires > Boutique des modules complémentaires.
Lors de l’installation, pensez à activer le lancement au démarrage, ainsi que l’option “chien de garde” qui relance automatiquement le service en cas de panne.
Enfin, dans :
Paramètres > Appareils et services > MQTT > (roue crantée) > Configurer les options MQTT
...vérifiez que la découvrabilité est activée et que le préfixe de découverte est homeassistant. (Si vous le changez, adaptez bien les extraits de code ci-dessous.)
Sur chacun de mes Raspberry Pi, j’ai installé le client MQTT :
BASHsudo apt install -y mosquitto-clients
Ensuite, dans le code qui prend chaque capture d’écran, j’ajoute la publication du topic de configuration :
BASHmosquitto_pub -r -h IP_MQTT -u USER_MQTT -P PWD_MQTT \ -t "homeassistant/camera/camera_name/config" \ -m '{ "name": "My Cam", "unique_id": "MY_UNIQUE_ID_CAM", "topic": "cams/camera_name/image", "device": { "identifiers": ["cam_name_pi"], "name": "Cam Name Pi", "model": "Raspberry Pi Cam", "manufacturer": "DIY" } }'
Voici les explication des options de la commande :
- -r retain flag : le message est conservé par le broker, ce qui permet aux nouveaux clients qui s’abonnent de recevoir immédiatement la config.
- -h adresse de ton broker MQTT.
- -u et -P identifiants (login/mot de passe).
- -t le topic (ici la configuration de la caméra).
- -m le message JSON publié (décrit la caméra à Home Assistant).
Je ne sais pas pourquoi mon instance de Home Assistant n’enregistre pas correctement cette configuration (malgré le -r). Pour éviter tout souci, je renvoie donc la config à chaque fois. Je ne pense pas que cela alourdisse démesurément la charge sur HA… et pour l’instant, ça passe.
À partir de là, vous devriez retrouver votre caméra dans les entités de Home Assistant. Cette entité pourra ensuite être utilisée dans vos tableaux de bord pour l’affichage.
Enfin, pour envoyer l’image générée par raspistill ou rpicam-still, je publie directement le fichier sur le topic image :
BASHmosquitto_pub -h "$MQTT_BROKER" -u "$MQTT_USER" -P "$MQTT_PWD" \ -t "$MQTT_TOPIC" -f "$PATH_TO_FILE/$FILE" -q 1
- -f envoie directement le contenu d’un fichier (ici, l’image).
- -q 1 qualité de service : l’assure que le message est délivré au moins une fois.
Pour l'envoi de texte comme la température ou l'humidité voici une requête valide :
BASHmosquitto_pub -r -h "$MQTT_BROKER" -u "$MQTT_USER" -P "$MQTT_PWD" \ -t "homeassistant/sensor/my_temp_sensor/config" \ -m '{ "name": "Temperature", "unique_id": "my_temp_sensor", "state_topic": "sensors/temperature_sensor/state", "value_template": "{{ value_json.temp }}", "unit_of_measurement": "°C", "device_class": "temperature", "state_class": "measurement" }'
Avec cette mise en place, j’ai enfin trouvé un équilibre entre mes bidouilles maison et la puissance de Home Assistant. MQTT agit comme une passerelle idéale : mes scripts continuent de tourner comme je les aime, et Home Assistant se charge d’unifier, d’afficher et de rendre tout ça utilisable au quotidien.
Avec un peu de pratique, je pense exploiter bien mieux les possibilités de MQTT; notamment dans l’autre sens : par exemple, avoir un bouton dans Home Assistant pour forcer la prise de vue sur un des Raspberry Pi.
Pour l’instant, je m’amuse surtout à générer du contenu en lecture seule via mes scripts maison. Mais un script particulier mérite bien un article à lui seul : il concerne la seconde phase de l’amélioration de mon cabanon. Et cette fois-ci, on s’attaquera à un projet plus ambitieux côté électronique, avec un relais et un D1 mini comme cerveau des opérations (et lien avec Home Assistant)… le tout sans ESPHome, parce que sinon ce serait trop facile.
Et pour celles et ceux qui auraient manqué le début de cette histoire de cabanon :
Premier article sur le cabanon