Homebridge, ou comment intégrer tous vos équipements dans l'écosystème Apple (et en bonus dans Google Home)

Docker janv. 19, 2021 9 min de lecture

Ceux qui, comme moi, sont équipés de produits Apple, et notamment d'iPhone, connaissent Siri, l'assistant vocal d'Apple, et l'application "Maison", qui permet de contrôler vos équipements compatibles HomeKit à la voix ou au doigt.

Les appareils compatibles HomeKit sont légion. On retrouve de nombreux types de périphériques : prise connectée, ampoule, volet, caméra, serrure…

Seuls les équipements officiellement validés par Apple avec le label "Works with Apple Homekit" peuvent être intégrés dans l'application "Maison".

Mais les produits que nous possédons déjà ne sont pas tous compatibles HomeKit, et cela peut revenir cher de tous les remplacer par un modèle compatible.

C'est là qu'intervient Homebridge, un projet open-source fondé par Nick Farina et développé en NodeJS, qui permet d'émuler l'API HomeKit d'iOS. De nombreux plugins permettent de lui ajouter des compatibilités avec un grand nombre de produits. Il existe plus de 2000 plugins Homebridge prenant en charge des milliers d'accessoires intelligents différents.

Homebridge peut être installé sur différents supports : en tant que service NodeJS sur Linux, macOS ou Windows 10, sur un Rapsberry Pi avec une distribution dédiée, ou encore en tant que conteneur Docker (sur un hôte Linux, un NAS Synology, QNAP ou un serveur Unraid).

Une interface graphique permet de configurer facilement Homebridge ou encore d'installer les plugins nécessaires pour vos équipements, et même de contrôler ces derniers.

Interface web de Homebridge

Installation de Homebridge

Vous vous en doutez, parmi les possibilités d'installation, nous allons choisir de faire tourner Homebridge dans une stack Docker-Compose.

Voici le fichier docker-compose.yml qui est recommandé par la documentation Homebridge et que j'utilise :

version: '3.8'
services:
    homebridge:
        network_mode: host  # Active la découverte d'équipements
        container_name: homebridge
        environment:
            - PUID=1000  # ID de l'utilisateur
            - PGID=1000  # ID du groupe de l'utilisateur
            - HOMEBRIDGE_CONFIG_UI=1  # Active l'interface web d'Homebridge
            - HOMEBRIDGE_CONFIG_UI_PORT=8080  # Port de l'interface web
            - TZ=Europe/Paris
        volumes:
            - /docker/homebridge/config:/homebridge
        restart: unless-stopped
        image: oznu/homebridge  # https://github.com/oznu/docker-homebridge

Les paramètres d'environnement PUID et PGID sont les identifiants de l'utilisateur qui va lancer la stack, afin d'éviter des problèmes de droits sur les fichiers du conteneur. Vous les obtiendrez avec la commande id -a en étant connecté avec cet utilisateur.

userdocker@debian:/docker/homebridge$ id -a
uid=1000(userdocker) gid=1000(userdocker) groupes=1000(userdocker),998(docker)

Pour lancer notre stack, utilisez la commande docker-compose up -d.

Vous pouvez ensuite vous rendre avec votre navigateur web sur l'adresse suivante : http://IP.DE.VOTRE.DOCKER:8080. Les identifiants par défaut sont admin / admin.

Sur la page d'accueil de Homebridge se trouvent plusieurs zones, affichant diverses informations. Cette page est personnalisable.

  1. Menu permettant de naviguer dans l'interface de Homebridge
  2. Bouton permettant d'afficher les logs de Homebridge
  3. Bouton permettant de redémarrer le serveur Homebridge
  4. Bouton permettant d'accéder au menu de Homebridge
  5. QR Code vous permettant d'ajouter Homebridge dans l'application Maison d'Apple
  6. Code permettant un ajout manuel d'Homebridge dans l'application Maison d'Apple
  7. Informations sur la version installée d'Homebridge et la disposition d'une mise à jour  du serveur Homebridge ou d'un des plugins installés
  8. Informations sur la consommation CPU et mémoire du serveur Homebridge ainsi que son temps de fonctionnement (attention, en tant que conteneur Docker, les informations affichées ici sont celles de l'hôte Docker et non celles du conteneur lui-même)
  9. Informations système à propos du serveur Homebridge
  10. Logs Homebridge
  11. Bouton pour ajouter un nouveau widget sur la page d'accueil de Homebridge

Je vous conseille de changer le mot de passe (voire même le compte) défini par défaut. Pour cela, rendez-vous dans le menu en cliquant sur les 3 petits points en haut à droite de l'interface et sélectionnez "Comptes utilisateurs". Cliquez sur "Modifier" et renseignez un nouveau mot de passe, puis enregistrez.

Si une mise à jour d'Homebridge est disponible, vous serez prévenus avec un message sur la page d'accueil. Il vous suffira de cliquer le message qui s'affiche "Mise à jour X.X.X disponible" pour afficher les notes de version, puis de cliquer sur le bouton "Mettre à jour".


Configuration de Homebridge

Pour commencer la configuration de vos équipements dans Homebridge, rendez-vous dans la page "Plugins". La liste des plugins installés est affichée, et vous avez la possibilité d'en installer de nouveaux selon les équipements dont vous disposez.

Nous allons configurer ensemble les équipements de la marque Shelly. Cherchez "Shelly" dans le champ de recherche et appuyez sur la touche Entrée. Cliquez enfin sur "Installer". Une fenêtre console s'ouvre, affichant la progression de l'installation. A la fin de celle-ci, un encart de configuration apparaît : rien de spécifique à renseigner, vous pouvez juste cliquer sur "Enregistrer".

Pour chaque installation ou suppression de plugin, il faut redémarrer le serveur Homebridge, en cliquant sur le bouton dédié en haut à droite de l'interface.

Vous verrez apparaitre dans les logs les équipements Shelly présents sur votre réseau, et pourrez également les retrouver dans la page "Accessoires".

[1/10/2021, 2:59:21 AM] Homebridge v1.2.5 is running on port 53095.
[1/10/2021, 2:59:21 AM] [Shelly] New device discovered: SHSW-25 6880BB at 192.168.1.114
[1/10/2021, 2:59:21 AM] [Shelly] New device discovered: SHSW-25 688348 at 192.168.1.112
[1/10/2021, 2:59:21 AM] [Shelly] New device discovered: SHSW-25 E66AAD at 192.168.1.111
[1/10/2021, 2:59:21 AM] [Shelly] New device discovered: SHPLG-S 7AED98 at 192.168.1.110
[1/10/2021, 2:59:21 AM] [Shelly] New device discovered: SHSW-25 68850A at 192.168.1.113

En cliquant sur une tuile, vous actionnerez l'accessoire en question. Par exemple si je clique sur un volet, celui-ci s'ouvrera ou se fermera selon son état actuel (c'est l'inverse de l'état qui est ordonné: si le volet est ouvert, il se fermera, et inversement).
En cliquant sur l'engrenage en haut à droit de chaque tuile d'accessoire, vous pourrez observer toutes les informations le concernant.


Ajout dans l'application Maison sur iOS


Après avoir ajouté les plugins qui vous intéressent et configuré vos équipements, vous pouvez passer à l'ajout de Homebridge dans l'application Maison d'Apple sur votre périphérique iOS.

Une fois l'application Maison lancée, cliquez sur "Ajouter un accessoire", et scannez le QR Code affiché sur la page d'accueil de Homebridge. Choisissez d'ajouter le pont à Maison, poursuivez l'ajout quand vous recevrez un message vous avertissant que l'accessoire n'est pas certifié pour HomeKit par Apple. Placez le pont dans une pièce de votre domicile et donnez-lui un nom.

Il vous sera proposé d'ajouter à Maison tous les accessoires qui sont configurés dans Homebridge. Pour chacun d'entre eux, indiquez dans quelle pièce il se trouve et quel nom vous souhaitez lui donner. Des automatisations peuvent être proposés selon l'équipement ajouté.

Une fois la configuration de vos accessoires terminée, vous pourrez les contrôler manuellement à travers l'application Maison, ou bien via Siri.

Vous pouvez, grâce à un concentrateur, contrôler vos accessoires HomeKit ou Homebridge lorsque vous êtes absent de votre domicile. Les HomePod, HomePod mini, Apple TV (version 4 minimum) ou iPad (branché sur le secteur) peuvent prendre le rôle de concentrateur. La configuration est automatique du moment qu'ils sont connectés avec le même compte iCloud.

Il est également possible de déléguer le contrôle de certains accessoires à des personnes extérieures à votre domicile, pendant vos vacances par exemple.

Je vais d'ailleurs certainement en profiter pour acquérir un HomePod Mini, le prix étant relativement contenu, ce qui me permettra d'avoir un contrôle vocal par Siri dans la maison, sans avoir forcément le téléphone à portée, avec en prime la possibilité de contrôler ma domotique depuis l'extérieur, ce que je ne fais aujourd'hui qu'à travers Home Assistant.

Bonus : Intégration dans Google Home

Un autre plugin intéressant à installer est GSH, Google Smart Home. Celui-ci vous permettra de remonter tous vos périphériques présents dans Homebridge dans l'application Google Home et de les contrôler à la voix avec "OK Google" également.

Sur la page "Plugins", cherchez "GSH" et installez le plugin "Homebridge Google Smart Home".
Rendez-vous dans les "Réglages", cliquez sur le bouton pour "Lier le compte", choisissez de vous identifier avec votre compte Google ou Github, confirmez l'url affichée de Homebridge et enregistrez la configuration du plugin. Enfin, redémarrez le serveur Homebridge pour prendre en compte l'activation du plugin.

Passons maintenant à l'ajout de Homebridge dans l'application Google Home.
Dans l'application Google Home, cliquez sur le bouton + pour ajouter  un équipement et choisissez de "Configurer un appareil". Sélectionnez "Fonctionne avec Google", cherchez "Homebridge" et connectez-vous avec le même compte que dans le plugin Google Smart Home sur Homebridge. Ajoutez vos appareils un par un en leur attribuant une pièce.

Il vous sera maintenant possible de contrôler vos équipements Homebridge à la voix depuis l'application Google Home (ou bien depuis une enceinte Google Home Nest).

L'application Google Home est moins complète que l'application Maison d'Apple, notamment parce qu'elle n'autorise que le contrôle vocal et non un contrôle manuel des équipements, et également parce qu'elle supporte moins d'équipements.

Cette méthode est efficace pour remonter tous vos équipements au sein de Google Home ou bien Amazon Alexa, et parfois plus facilement que les méthodes disponibles dans les solutions domotiques. Ne serait-ce que pour Home Assistant ou Jeedom, qui proposent chacun deux manières de remonter vos équipements dans Google Home (ou Amazon Alexa) :

  • la méthode dite "rapide", mais payante, avec un abonnement mensuel de 5€ (incluant d'autres services) pour HA, ou de 1€ pour Jeedom.
  • la méthode dite "manuelle", qui prend un peu plus de temps à configurer, en configurant un composant dans la console de développement de votre compte Google.

Cet article est maintenant terminé. Nous avons vu ensemble comment ajouter le contrôle de tous vos équipements dans l'application Maison à travers Homebridge, même si ceux-ci ne sont pas compatibles nativement, à l'aide de nombreux plugins.

Même si ce tutorial s'adresse avant tout aux personnes possédant des appareils Apple, il peut être intéressant de le mettre en place pour faire le lien avec Google Home ou Amazon Alexa d'une manière parfois plus simple que celle disponible dans vos solutions domotiques.

Comme d'habitude, n'hésitez pas à laisser des commentaires ou même venir échanger avec nous sur notre groupe Telegram.

Mots clés