Homebridge
HomeKit
Comme présenté sur la photo précédente, la solution Apple fonctionne bien entendu avec Siri, mais présente surtout une interface claire sous tous les périphériques Apple. Cela permet d’avoir une vue rapide sur l’état de tous les objets connectés et d’interagir facilement avec eux. Lorsque la compatibilité est native cela ne pose aucun problème. Par défaut les objets connectés présentent une API adéquate permettant l’interaction directe avec HomeKit. Mais pour la plupart des périphériques qui sont apparus avant la démocratisation d’HomeKit ou ne voulant certainement pas « payer » ce droit d’entrée cela reste compliqué.
Homebridge
Homebridge a été développé justement pour faire ce « pont » entre les APIs proposées par l’équipementier et l’API native d’Apple. Il permet quasiment de tout faire fonctionner via cette API et offre ainsi la possibilité d’automatiser plus facilement sa maison connectée. Homebridge est très facile à installer. Il existe sous la forme de conteneur Docker, sous forme installable pour tous les OS et aussi pour toutes les architectures (il est possible de l’installer sur Raspberry Pi).
Je ne vais pas faire une documentation d’installation détaillée car c’est très simple… Il suffit de l’installer et de se laisser guider pour l’installation des plugins. En gros l’application fonctionne autour de la configuration des plugins pour chaque objet connecté que l’on veut faire fonctionner. Un fichier de configuration central existe dans lequel tout est concentré : « config.json ». L’interface graphique permet de tout configurer et d’écrire directement dans le fichier de configuration.
Une fois l’application installée et configurée il suffit de flasher le QR Code disponible au niveau de son interface pour l’ajouter dans l’application Home. Tous les périphériques apparaissent comme par magie dans l’interface.
Les plugins que j’ai testé
- Hue : cela permet de faire fonctionner le pont de première génération ou les lampes qui ne sont pas supportées dans le pont de seconde génération. En gros, j’ai par exemple testé l’ajout d’une ampoule Ikea au pont Hue (qui perd son temps à faire ça). Celle-ci n’est pas présentée dans l’interface Home par défaut. Avec l’ajout du pont via Homebridge la lampe apparaît et on peut désormais la contrôler.
- Prises connectées Meross : Par défaut pas de support de ces prises (dans leur première génération) dans l’application Home. Après l’ajout dans Homebridge cela permet de les allumer ou les éteindre depuis l’application.
- Ring : sonnette connectée d’Amazon, donc bien évidemment pas de support de HomeKit. Après l’ajout dans Homebridge on peut directement afficher la caméra liée à la sonnette dans l’application Home.
- Dyson : J’ai un purificateur d’air Dyson, cela permet de remonter la qualité de l’air et de contrôler la mise en route de celui-ci facilement.
Bonus
Si comme moi, le serveur se retrouve dans un autre réseau alors il va falloir déployer un « répéteur » mDNS entre vos 2 réseaux. Cela est possible grâce à l’implémentation libre « avahi-daemon« . Et il faudra activer dans le fichier de configuration (avahi-daemon.conf).
[reflector]
enable-reflector=yes
Il faudra aussi certainement fixer le cache à 0. Sinon le redémarrage des services ne fonctionnera pas (considérant qu’il existe déjà un nom de service similaire sur le réseau).
[server]
cache-entries-max=0
Conclusion
Heureusement que ce genre d’initiative existe pour enfin essayer de faire fonctionner une domotique sans friction. Avec le tas d’APIs disponibles, aucun consensus entre les différents équipementiers et une domotique spaghetti (comme je l’expliquais précédemment), certaines implémentations libres nous dirigent vers le bon chemin.