Posted in

Comment ajouter un accessoire télécommandé infrarouge à votre maison intelligente HomeKit


Théoriquement, HomeKit prend en charge les ventilateurs en tant qu’accessoire pour maison intelligente. Il y a quelques Ventilateurs de plafond HomeKit déjà en vente, mais ce que j’attends, c’est un ventilateur tour HomeKit pour mon bureau. Malheureusement, il n’y en a pas vraiment à proprement parler.

Après des années d’attente, et un été particulièrement chaud, j’ai abandonné et exploré la route des passionnés. J’ai acheté un ventilateur standard avec une télécommande IR et j’ai décidé de l’intégrer dans ma maison HomeKit en utilisant Homebridge…

Le moyen le plus évident d’ajouter un appareil stupide à l’écosystème HomeKit consiste à utiliser une prise intelligente. Avec un Prise intelligente HomeKit, vous pouvez très rapidement ajouter de l’intelligence à de nombreux accessoires. La prise intelligente allume et éteint l’alimentation à votre guise, elle est donc parfaite pour des choses comme les lampadaires.

Malheureusement, les ventilateurs tour ne sont pas si simples. Comme ils doivent gérer des paramètres tels que la vitesse du ventilateur et l’oscillation, ils ne s’allument pas simplement à la mise sous tension. Ils ont une sorte de mémoire. Lorsque vous les branchez au secteur, ce qu’une prise intelligente émule efficacement, ils restent là. Vous devez ensuite appuyer sur un autre bouton pour démarrer réellement le ventilateur. Cela signifie qu’une prise intelligente n’est pas la solution.

Au lieu de cela, j’ai acheté un ventilateur avec une télécommande infrarouge spécifiquement parce que mon plan était d’utiliser Homebridge. (Qu’est-ce que Homebridge? Homebridge est un serveur pont tiers non officiel qui peut exposer toutes sortes d’accessoires à la plate-forme HomeKit.)

La clé de tout cela est un blaster IR appelé le BroadlinkRM. Le RM se connecte au WiFi, vous pouvez donc vous y connecter à partir d’une application et diffuser des commandes infrarouges à distance. Cependant, l’application est horrible et je n’ai aucun intérêt à l’utiliser. Au lieu de cela, le plan était de connecter le Broadlink RM à Homebridge en utilisant ce plugin communautaire.

En fin de compte, le blaster enverra essentiellement les mêmes codes infrarouges que la télécommande du ventilateur. Le ventilateur verra l’IR entrant et exécutera consciencieusement les commandes. Tous les éléments IR sont soigneusement intégrés dans un plugin Homebridge, ce qui signifie qu’ils apparaîtront dans ma maison HomeKit comme n’importe quel autre accessoire.

Comment configurer un accessoire infrarouge dans HomeKit à l’aide de Homebridge

La première étape consiste à configurer vous-même un serveur Homebridge si vous n’en avez pas déjà un. Vous pouvez exécuter Homebridge sur un Mac, un Rasberry Pi, à peu près tout ce qui peut servir de serveur permanent. J’ai choisi d’installer Homebridge sur mon NAS Synologie, qui fonctionne de toute façon toujours comme le serveur multimédia Plex de notre maison. Vous pouvez trouver complet instructions d’installation pour Homebridge sur Synology ici.

Ensuite, l’étape suivante consiste à installer le plugin Homebridge qui sait se connecter au blaster Broadlink RM IR.

Utilement, le plugin a une documentation complète qui lui est propre, donc c’est assez facile à suivre. Pour installer le plugin, j’ai ouvert une ligne de commande de terminal dans la console Homebridge de l’interface Web de Synology et j’ai tapé :

npm installer homebridge-broadlink-rm

Cela télécharge le package approprié et l’installe automatiquement sur votre système.

À ce stade, branchez votre blaster IR dans la même pièce que l’accessoire (ou les accessoires) que vous souhaitez contrôler. Le blaster doit avoir une ligne de mire vers le ventilateur, mais il n’est pas nécessaire qu’il soit parfaitement placé. Le Broadlink RM a à peu près la taille d’une Apple TV, il est donc assez petit et discret.

Vous devez utiliser l’application Broadlink pour connecter le blaster au réseau WiFi, mais ne vous embêtez pas à configurer des accessoires à l’aide de l’application Broadlink. Ceci est totalement distinct de la configuration du plugin Homebridge, vous n’avez donc pas besoin de vous en préoccuper.

Homebridge est géré à l’aide d’un fichier de configuration appelé config.json. Vous pouvez accéder à ce fichier via le système de fichiers et le modifier à l’aide d’un éditeur de texte. (Pour ma configuration Synology, l’approche la plus simple consistait à télécharger le fichier via le panneau Web, à le modifier localement sur mon Mac, puis à le télécharger à nouveau sur le stockage du NAS.) Ce fichier unique répertorie tous les différents paramètres de l’ensemble du HomeKit. accessoires que vous souhaitez exposer.

Pour le plugin Broadlink, nous devons ajouter une entrée au tableau platform de l’objet JSON et définir les accessoires à l’intérieur de celui-ci. Encore une fois, référez-vous au pages de documentation du plugin pour voir des exemples d’extraits de configuration et explorer toutes les différentes options de personnalisation.

Pour commencer, l’entrée de votre plateforme devrait ressembler à ceci :

Chaque fois que vous apportez une modification à config.json, vous devrez redémarrer le serveur Homebridge pour qu’il applique la nouvelle configuration. Pour un serveur Synology, cela signifie simplement appuyer sur un bouton Redémarrer dans l’interface du package Homebridge.

Avec la configuration initiale comme la capture d’écran ci-dessus, vous pouvez maintenant essayer d’accéder à Homebridge depuis votre application Home sur l’iPhone pour la première fois.

Homebridge s’expose à l’application Home en tant que hub. Depuis l’application Home, appuyez sur le bouton « Ajouter un accessoire » et sélectionnez le hub Homebridge détecté. Saisissez le code à 8 chiffres suivant pour confirmer : 031-45-154. (Vous pouvez trouver ce code en haut de votre fichier config.json.)

Maintenant que le hub Homebridge se trouve dans HomeKit, tous les accessoires exportés seront également ajoutés. Toute modification apportée à Homebridge à partir de maintenant sera automatiquement reflétée dans l’application Home.

Désormais, bien que nous n’ayons pas encore explicitement ajouté d’objets accessoires au fichier config.json, il y aura un nouvel accessoire dans votre accueil appelé « Apprendre ». Ceci est ajouté par le plugin RM. Ce commutateur est la clé pour traduire les boutons de la télécommande infrarouge en éléments exploitables.

En appuyant sur le bouton d’apprentissage, le blaster infrarouge passe dans un mode spécial dans lequel il recherche tous les signaux infrarouges et les envoie au journal Homebridge. Vous devez noter les codes infrarouges car nous en aurons besoin plus tard.

Supposons donc que nous essayions d’enregistrer le bouton d’alimentation de la télécommande. Ce que nous devons faire en premier, c’est appuyer sur le bouton Apprendre dans l’application Accueil. Ensuite, pointez notre télécommande vers le blaster IR et appuyez sur le bouton d’alimentation. Regardez le journal et copiez le code hexadécimal infrarouge (ce sera un long séquence hexadécimale).

Répétez ce processus pour chaque bouton pertinent que vous souhaitez exposer à HomeKit. Ne vous inquiétez pas si vous oubliez quelque chose, vous pourrez toujours revenir en arrière et réapprendre plus tard. Nous allons exposer notre ventilateur comme un interrupteur marche/arrêt de base, nous n’avons donc besoin que du code infrarouge qui correspond à la commande d’alimentation.

Une fois que vous avez enregistré tous les codes infrarouges, vous pouvez revenir au fichier config.json et modifier la propriété « hideLearnButton » de « false » à « true ». Cela supprimera l’accessoire Learn de la maison.

D’accord, nous avons donc notre code infrarouge pour l’alimentation. Maintenant quoi? Encore une fois, nous pouvons regarder le documentation du plugin et déterminez le format d’objet accessoire que nous devons mettre dans le JSON.

Le plugin peut simuler des accessoires pour de nombreux types différents ; prises, interrupteurs, ventilateurs, lumières, portes de garage, serrures, climatiseurs et stores. Chaque type possède un ensemble différent de paramètres facultatifs et obligatoires, et cela peut devenir assez compliqué.

L’interrupteur de base est tout ce dont nous avons besoin pour allumer et éteindre le ventilateur, et cela ne nécessite que quatre propriétés : le nom de l’accessoire, le type sémantique (« interrupteur »), les données infrarouges à envoyer lorsque HomeKit allume l’interrupteur, et les données infrarouges à envoyer lorsque HomeKit éteint l’interrupteur.

Pour les cas « activé » et « désactivé », nous collons simplement dans la chaîne hexadécimale la puissance que nous avons apprise plus tôt. L’option « persistState » détermine ce qui se passe si le serveur Homebridge redémarre ; doit-il se souvenir de l’état marche/arrêt précédent de l’accessoire ? Si « persistState » est « true », il se souvient de l’état précédent. Si ‘persistState’ est ‘false’, alors l’accessoire de commutation sera considéré comme éteint à chaque redémarrage du serveur. Pour un fan, il est probablement plus logique de conserver l’état, j’ai donc défini cela sur « vrai ».

Notez que ce tableau d’accessoires va à l’intérieur de l’objet plateforme. Pour le plugin Broadlink, nous n’utilisons pas la gamme d’accessoires de premier niveau.

Nous avons terminé notre configuration, donc pour désencombrer notre application Home, nous définissons le paramètre « hideLearnButton » sur « true », ce qui supprimera l’assistant de changement d’apprentissage. Nos fichiers config.json finaux ressemblent à ceci :

En supposant que tout a été saisi correctement et qu’il n’y a pas d’erreurs de syntaxe comme des virgules manquantes, vous pouvez maintenant redémarrer le serveur Homebridge une fois de plus.

Une fois allumé, il y aura désormais un nouvel accessoire de ventilateur tour dans votre maison HomeKit. Cela ressemblera à un interrupteur, mais nous pouvons utiliser le paramètre « Afficher en tant que » dans l’application Home pour le faire ressembler à un ventilateur. Vous pouvez librement renommer l’accessoire dans l’application Home. En passant, le nom config.json sert simplement à l’identifier dans Homebridge lui-même.

Lorsque la vignette du ventilateur est enfoncée, HomeKit envoie un message à Homebridge pour allumer l’interrupteur. Le plugin trouve ensuite le code infrarouge pour l’état « allumé » et le diffuse dans la pièce via le blaster IR. Si tout s’est bien passé, le ventilateur verra le signal infrarouge et s’allumera ! Succès. Appuyer à nouveau sur la tuile envoie la commande d’arrêt et le ventilateur arrête de tourner.

Dans quelle mesure tous ces hacks fonctionnent-ils ?

J’étais un peu sceptique quant au fait que tout fonctionnerait sans accroc. Cependant, j’utilise exactement cet arrangement depuis deux semaines maintenant sans un seul problème ni échec.

Contrôler le ventilateur avec HomeKit est extrêmement réactif. Je peux appuyer sur la vignette dans l’application Accueil ou utiliser Siri et activer immédiatement le ventilateur. Les performances sont honnêtement meilleures que celles de certains accessoires HomeKit certifiés que j’ai essayés. Le blaster IR ne manque jamais d’envoyer son signal, et le ventilateur le reçoit toujours et se comporte en conséquence.

Utiliser Homebridge et un blaster IR pour recréer un commutateur peut sembler excessif, mais cela ne fait qu’effleurer la surface de ce qui est possible.

Vous avez peut-être remarqué que le plugin inclut la prise en charge d’un véritable accessoire « fan ». Cela signifie que vous pouvez utiliser l’infrarouge pour contrôler des éléments tels que l’oscillation et la vitesse du ventilateur. En fait, l’oscillation fonctionnait, mais mon problème était le réglage de la vitesse du ventilateur.

Malheureusement, la télécommande de mon ventilateur Honeywell n’a qu’un seul bouton de vitesse du ventilateur. Lorsque vous appuyez sur le bouton, il envoie le même signal IR et le ventilateur tourne sur chacune des trois vitesses du ventilateur. Pour que le blaster IR fonctionne avec la vitesse du ventilateur, vous devez trouver un combo ventilateur/télécommande qui envoie un signal IR différent pour chaque vitesse ; comme un code IR pour lent, un code IR pour rapide.

En raison de ce problème, j’ai choisi d’exposer simplement le ventilateur comme un interrupteur de base. Si je le voulais, je pourrais exposer la commande de vitesse du ventilateur en tant que « interrupteur à bascule » distinct dans HomeKit. Cependant, c’est un peu élégant, donc pour le moment, je l’utilise uniquement comme simple interrupteur marche/arrêt.

Conclusion

J’espère bien qu’une entreprise fabriquera bientôt un véritable ventilateur HomeKit, avec une prise en charge certifiée de tous les services accessoires de HomeKit tels que la puissance, la vitesse du ventilateur, l’oscillation et la direction du mode swing. Ce serait la solution la plus idéale.

Cela étant dit, j’ai été véritablement surpris par les performances de la solution communautaire Homebridge. La description du processus donne l’impression qu’il est plus difficile qu’il ne l’est en réalité. Et bien sûr, cette configuration ne doit avoir lieu qu’une seule fois. J’ai tout installé en quelques heures. Si vous n’avez pas d’expérience en programmation comme moi, il peut être un peu plus difficile de comprendre des choses comme le format de fichier JSON. Mais Google est votre ami. Homebridge est un hack étonnamment populaire et il existe de nombreux didacticiels et vidéos en ligne qui vous guident dans son utilisation.

Homebridge est une incroyable réussite de la communauté Apple. Franchement, c’est incroyable que ce genre de choses existe – le tout gratuitement. Le Émetteur IR Broadlink RM c’était le ciment de cette intégration particulière et c’est aussi assez peu coûteux.

Si vous vous sentez aventureux, essayez peut-être Homebridge.

FTC : Nous utilisons des liens d’affiliation automatique générateurs de revenus. Plus.

Jamf