,

Domotique open source : Home Assistant, ses alternatives et la pile auto-hébergée

Modern living room with a wall-mounted smart home control panel, representing a self-hosted home automation stack combining a hub, protocol bridges, and automation tools

Demandez « quelle est la meilleure plateforme domotique auto-hébergée » et la plupart des réponses s’arrêtent à un seul nom : Home Assistant. Ce n’est pas faux, à proprement parler. C’est le point de départ le plus populaire, et pour de bonnes raisons. Mais ça sous-estime la réalité de l’écosystème domotique open source. Une vraie maison connectée auto-hébergée est rarement une seule application. C’est une pile : un hub pour les tableaux de bord et l’automatisation, des ponts protocolaires qui traduisent le matériel que vous possédez en quelque chose que le hub comprend, une colonne vertébrale de messages qui fait communiquer les pièces entre elles, et, pour certains foyers, un hub entièrement différent à la place de Home Assistant.

Ce guide parcourt cette pile couche par couche, et montre où chacun des outils qu’on couvre sur ce site (Home Assistant, openHAB, Zigbee2MQTT, Mosquitto, ESPHome, Node-RED et Frigate) trouve concrètement sa place.

La couche hub : Home Assistant et ses vraies alternatives

Le hub, c’est la pièce qui a un tableau de bord, une application mobile, une liste d’intégrations et un moteur d’automatisation. C’est la seule couche où le mot « alternative » a vraiment un sens, parce que ces outils se disputent le même rôle.

Home Assistant est la recommandation par défaut pour la plupart des débutants : basé sur Python, rapide à installer, porté par la fondation à but non lucratif Open Home Foundation, avec un nombre d’intégrations qui écrase tout le reste du secteur. openHAB est l’alternative la plus sérieuse : un framework Java/OSGi avec une histoire plus longue, des bindings profonds au niveau protocole, et une courbe d’apprentissage plus raide, sous licence Eclipse Public License 2.0. Au-delà de ces deux-là, Domoticz propose une option plus légère pour ceux qui veulent moins de tout : moins d’intégrations, moins de configuration, moins de ressources consommées. En dehors des outils pour lesquels on a rédigé des guides complets, Homebridge mérite une mention pour les foyers ancrés dans l’écosystème Apple (c’est moins un hub qu’un traducteur qui expose les appareils non-HomeKit à Siri et à l’app Maison), et ioBroker est un hub JavaScript populaire sur les marchés européens qui joue un rôle proche de celui d’openHAB.

La vraie question à trancher : partez sur Home Assistant, sauf raison précise de faire autrement. Choisissez openHAB si vous êtes déjà à l’aise avec l’outillage Java, si vous avez besoin d’un binding qu’on ne trouve que là-bas, ou si vous avez atteint les limites du rythme de sorties rapide de Home Assistant et voulez un écosystème avec un meilleur historique de rétrocompatibilité.

Les ponts protocolaires : Zigbee2MQTT et ESPHome

C’est la couche où le discours « alternative à Home Assistant » induit vraiment les gens en erreur. Zigbee2MQTT et ESPHome ne sont pas des hubs et ne sont pas des concurrents de Home Assistant. Ce sont des briques d’infrastructure qui rendent le matériel utilisable, et dans la plupart des installations auto-hébergées, ils tournent aux côtés de Home Assistant (ou d’openHAB), pas à sa place.

Zigbee2MQTT récupère le trafic radio Zigbee de vos ampoules, capteurs et prises, du matériel signé Ikea, Aqara, Philips Hue et des dizaines d’autres fabricants, et le republie en messages MQTT que n’importe quelle plateforme peut consommer, remplaçant le hub propriétaire connecté au cloud du fabricant par quelque chose qu’on fait tourner localement. Home Assistant a sa propre intégration Zigbee intégrée (ZHA) qui saute complètement l’étape MQTT, donc Zigbee2MQTT ne se justifie vraiment que le jour où vous voulez que vos appareils Zigbee soient visibles par plus d’une plateforme, ou que vous voulez les garder portables au cas où vous changeriez de hub plus tard.

ESPHome joue un rôle de traducteur similaire pour une autre catégorie de matériel : des microcontrôleurs ESP32, ESP8266 et RP2040 bon marché, compilés depuis un fichier de configuration YAML en véritable firmware, exposés à Home Assistant soit via une API native, soit, ce qui est notable, via MQTT, le même broker que celui utilisé par Zigbee2MQTT. Cette option MQTT partagée explique pourquoi la couche suivante compte autant.

La colonne vertébrale de messages : pourquoi MQTT (et Mosquitto) comptent

Mosquitto n’automatise rien et n’a pas de tableau de bord. C’est un broker de messages : la pièce qui reçoit un message publié sur un topic et le route vers tous les abonnés de ce topic, découplant chaque émetteur de chaque récepteur. Zigbee2MQTT publie dessus. Les appareils ESPHome peuvent optionnellement y publier au lieu d’utiliser l’API native de Home Assistant. L’intégration MQTT de Home Assistant s’y abonne, avec une découverte automatique qui transforme un message de découverte bien formé en entité entièrement configurée sans aucun YAML manuel.

Vous n’avez pas strictement besoin de Mosquitto si toute votre pile parle directement à Home Assistant via des intégrations natives. Vous en avez besoin, ou d’un autre broker MQTT, dès qu’une deuxième pièce de votre installation a besoin de voir les mêmes données. En pratique, ça concerne la plupart des installations Zigbee2MQTT, et tout appareil ESPHome que vous avez choisi de faire tourner via MQTT plutôt que via l’API native.

La logique d’automatisation : où Node-RED trouve sa place

Home Assistant et openHAB embarquent tous les deux leur propre moteur d’automatisation, et pour la plupart des foyers, ça suffit. Node-RED existe pour les automatisations qui dépassent le YAML ou une simple interface déclencheur-condition-action : un éditeur de flux visuel accessible depuis le navigateur, sous licence Apache-2.0 et porté par l’OpenJS Foundation, qui permet de relier du matériel, des API et des services entre eux visuellement. Ce n’est pas un remplaçant de hub. Il se connecte typiquement à Home Assistant (ou openHAB) comme un client, consommant les mêmes entités et les mêmes topics MQTT que le reste de la pile, et il vaut la peine d’être ajouté une fois que votre logique d’automatisation devient assez complexe pour qu’un flux visuel batte réellement la lecture de conditions YAML imbriquées.

Surveillance et sécurité : la place de Frigate dans la pile

Frigate est l’exception dans ce guide, parce que ce n’est pas vraiment un outil domotique dans l’âme. C’est un NVR local qui fait tourner de la détection d’objets par IA en temps réel sur vos flux de caméras, sous licence MIT avec une clause à part sur la marque et le logo Frigate. Il mérite sa place ici par la façon dont il s’intègre étroitement au reste de la pile : Frigate communique via MQTT pour les événements de caméra, donc un événement « personne détectée » venant de Frigate peut déclencher une automatisation Home Assistant, être journalisé par Node-RED, ou alimenter n’importe quelle autre pièce connectée en MQTT, exactement comme le ferait un capteur de mouvement Zigbee2MQTT.

Assembler la pile

Une installation auto-hébergée représentative pourrait ressembler à ceci. Un coordinateur Zigbee alimente Zigbee2MQTT, qui publie les états des appareils vers Mosquitto. Une poignée de capteurs faits maison avec ESPHome publient vers le même broker. Home Assistant s’abonne à Mosquitto pour les deux, découvrant les entités automatiquement. Frigate surveille les caméras et publie aussi ses événements de détection vers Mosquitto. Home Assistant gère les automatisations simples nativement, et tout ce qui est plus élaboré se construit dans Node-RED, qui dialogue en retour avec l’API de Home Assistant. Un broker, un hub, plusieurs ponts, tous remplaçables indépendamment les uns des autres. C’est le vrai avantage de construire une pile plutôt que de s’enfermer dans une seule plateforme fermée.

Qui gouverne quoi

Les outils de cette pile viennent de coins vraiment différents du monde open source, et ça se voit dans leurs licences. Home Assistant est sous Apache-2.0, porté par la fondation à but non lucratif Open Home Foundation. Mosquitto et openHAB sont tous les deux sous licence Eclipse Foundation, EPL-2.0 (Mosquitto propose aussi une option EDL-1.0, fonctionnellement équivalente à BSD-3-Clause). Node-RED est sous Apache-2.0, porté par l’OpenJS Foundation. Zigbee2MQTT est sous GPL-3.0, maintenu indépendamment plutôt que par une fondation. ESPHome sépare sa licence par composant : MIT pour l’outillage Python, GPLv3 pour le runtime C++ qui tourne sur le microcontrôleur. Frigate est sous MIT avec une clause à part sur la marque. Rien de tout ça ne vous empêche de faire tourner n’importe lequel de ces outils librement dans un homelab (la licence compte surtout si vous modifiez le code source ou le redistribuez), mais c’est un bon rappel que la « domotique open source » auto-hébergée n’est pas l’écosystème d’un seul projet. C’est une fédération assez lâche d’outils gouvernés indépendamment qui parlent des protocoles compatibles.

Vous n’avez pas besoin de toute la pile dès le premier jour

Rien de tout ça n’est une liste de cases à cocher avant que votre maison connectée « compte » vraiment. Une simple installation Home Assistant qui parle directement à une poignée d’appareils Wi-Fi et un ou deux gadgets Zigbee via ZHA est déjà une installation auto-hébergée complète et légitime, et pas mal de homelabs ne touchent jamais à Mosquitto, Node-RED ou Frigate. La pile décrite plus haut, c’est ce qui a tendance à s’accumuler avec le temps, à mesure que des problèmes précis apparaissent : le verrouillage sur un hub Zigbee propriétaire pousse vers Zigbee2MQTT, des automatisations qui tournent en YAML illisible poussent vers Node-RED, et des faux positifs de détection de mouvement poussent vers Frigate. Prenez ce guide comme une carte pour savoir où chercher quand vous tombez sur l’un de ces murs, pas comme une liste de courses de départ.

Choisir sa propre pile

Commencez par Home Assistant, sauf si vous savez déjà pourquoi vous ne le feriez pas. Ajoutez Zigbee2MQTT et Mosquitto ensemble dès que vous possédez du matériel Zigbee de plus d’un fabricant, ou que vous voulez le découpler de n’importe quel hub unique. Ajoutez ESPHome quand vous êtes prêt à construire vos propres capteurs au lieu de les acheter. Ajoutez Node-RED quand vos automatisations ne rentrent plus confortablement dans l’interface de Home Assistant. Ajoutez Frigate quand la détection de mouvement n’est plus assez précise et que vous voulez savoir si c’était une personne, pas une ombre. Et envisagez openHAB, sérieusement, si vous avez dépassé les hypothèses de Home Assistant plutôt que ses fonctionnalités. C’est le seul outil de cette liste conçu pour des gens qui savent déjà exactement ce qu’ils cherchent.

Pour aller plus loin : Open Home Foundation et MQTT.org pour en apprendre plus sur le protocole lui-même.

Related guides