Tuto

Homebridge : rendre vos objets connectés compatibles Homekit

Nous allons voir au travers de cet article comment Installer Homebridge et ajouter des prises TP-Link HS100 à Homekit.

Soner, notre spécialiste Apple va vous expliquer comment faire !

Si vous vous intéressez à la domotique, vous n’êtes pas sans savoir que HomeKit présente de nombreux avantages pour les utilisateurs de solutions Apple. Malheureusement, un grand nombre d’accessoires domotiques, pourtant fabriqué par de grands noms, ne sont pas compatible avec cette norme. Est ce peine perdue? Faudra t’il tout racheter comme aime le dire les détracteurs de la marque à la pomme?

Et bien… non! Nous allons voir dans ce tuto comment faire dialoguer des accessoires domotiques, pourtant non certifiés, avec la norme HomeKit. Et plutôt que de faire un tuto « générique », nous allons prendre un cas précis. Les prises connectées de la marque TP-Link, régulièrement en promo sur des sites comme Amazon, et qui sont de très bonne qualité. Comment allons nous réaliser ce tour de passe passe? Grâce à HomeBridge.

HOMEBRIDGE C’EST QUOI?

Avant de vous lancer dans ce tuto, il peut être bon de savoir ce qu’est HomeBridge.

HomeBridge est un projet open source, totalement gratuit, capable de tourner sur un grand nombre de systèmes d’exploitation, de Windows à Linux en passant par MacOS. Le but de celui ci est de réussir à faire dialoguer des accessoires domotiques non HomeKit avec la norme made in Apple. Pour ce faire, le logiciel doit tourner en continu sur votre réseau local. Et à votre avis, quel appareil, capable de faire tourner Linux, est tout désigné pour fonctionner H24 en consommant très peu et en étant le moins cher possible? Un Raspberry Pi bien sûr!

Exemple d’installation de Homebridge

Contrairement aux autres Tuto nous allons vous montrer ici avec un cas pratique : une prise TP-Link.

Alors de quoi a t’on besoin?

– Une ou plusieurs prises TP-Link

– Un Raspberry Pi (peu importe le modèle, Homebridge ne demande pas beaucoup de puissance), et le nécessaire pour le faire fonctionner, soit une carte SD et une alimentation. Vous pouvez trouver ici votre KIT Complet
– Un iPhone ou un iPad avec un iOS récent (minimum iOS 10).
– Un ordinateur sous Windows, MacOS ou Linux.
– De la patience!

Avant de commencer, nous partons du principe que vous avez déjà installé et configuré vos prises avec l’application Kasa.

Preparation du Raspberry pour installer Homebridge

Allons y, tout d’abord nous allons installer Linux sur notre RPI.
Commencez par télécharger une image de la distribution Linux Raspbian Stretch Lite en suivant ce lien :
https://www.raspberrypi.org/downloads/raspbian/

Sélectionnez la version minimale, la version avec desktop est plus lourde et ne nous sera pas utile.

Une fois téléchargé nous allons installer ce Linux sur une carte SD destiné à aller sur le RPI. Pour ce faire je vous recommande le logiciel Etcher, existant aussi bien sur Windows que MacOS, via le site officiel Etcher : https://etcher.io/

Lancez Etcher, vous arriverez sur cet écran :

Cliquez sur Select Image, et aller chercher le fichier zip de l’image de Raspbian, attention laissez le en zip, ne décompressez pas l’image! Ensuite en cliquant sur Select Drive, choisissez votre carte Micro SD (il vous faudra soit un lecteur directement sur votre ordinateur, ou utiliser un adaptateur). Et on finit en cliquant sur Flash! Patientez quelques minutes, l’image est installé sur la carte.

Cette procédure nous rappelle celle pour installer Recalbox.

Fini? Non, une dernière chose avant de sortir la carte pour la remettre dans votre RPI. Il va falloir activer le SSH.

Explication SSH

Le SSH est un protocole de communication qui permet d’envoyer des commandes sécurisées à partir d’un ordinateur vers une autre machine, et ce sans avoir à intervenir directement sur la machine ou voir son écran. C’est via SSH qu’on va réaliser toutes les opérations de ce tuto, et ce alors que notre RPI n’est pas connecté à un écran ou un clavier.

Pour des raisons de sécurité, SSH est désactivé par défaut. Afin de le remettre en service procédez ainsi :

Créer un fichier .txt vide, ou alors taper n’importe quoi et enregistrez le.
Puis faites un clic droit dessus, et sélectionner « Propriétés » sur Windows ou « Lire les informations » sur MacOS.
Renommez le fichier en l’appelant ssh, et surtout, retirez l’extension de fichier .txt, une fois cela fait, prenez ce fichier et coller le à la racine la carte SD de notre Linux.
Le tour est joué, vous pouvez insérer la carte dans le RPI, la mettre sous tension,en prenant bien soin de connecter un câble Ethernet. Passons aux choses sérieuses!

SE CONNECTER EN SSH

Pour utiliser SSH, si vous êtes sous Windows, vous allez devoir télécharger un client SSH, le plus connu étant Putty, et gratuit qui plus est. Si vous êtes sur MacOS, c’est très simple vous pouvez tout simplement utiliser l’application Terminal inclus d’office (pour info ce tuto a été réalisé sur MacOS).

Lancez donc votre client SSH et, pour vous connecter à votre Raspberry, tapez (ou copiez collez) la ligne suivante si vous êtes sur Mac ou Linux :

ssh pi@raspberrypi.local

On vous demandera ensuite le mot de passe qui est tout simplement « raspberry » (vous ne verrez rien apparaître en tapant, c’est normal, tapez le mot de passe et validez avec Entrée)

Si vous êtes sous Windows, c’est un tout petit peu plus compliqué, il vous faudra l’adresse IP de votre RPI, pour cela rendez-vous dans les paramètres de votre box ou routeur. Une fois en possession de l’adresse IP, entrez celle-ci dans le champ « Host Name » de Putty, comme dans la capture en exemple, puis cliquez sur « Open ». Vous aurez un message d’avertissement, cliquez sur « Oui » pour confirmer.

Vous devriez maintenant voir un écran noir, avec « login as: » tapez « pi », puis à la demande de mot de passe tapez « raspberry » (vous ne verrez rien apparaître en tapant, c’est normal, tapez le mot de passe et validez avec Entrée)

Pour la suite, les instructions sont les mêmes que vous soyez sur Windows, Mac ou Linux.

Si vous êtes bien connecté en SSH vous avez une nouvelle ligne commençant par :

pi@raspberrypi:~ $

Nous allons maintenant mettre à jour Linux et les dépôts.
Tapez ou copiez coller les lignes suivantes, attention une par une, en validant par « Entrée » à chaque fois :

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install git make

À chaque ligne de commande saisie, vous devez patienter un peu, le temps de télécharger les paquets, etc… Il faudra également valider certaines commandes en tapant « yes » quand c’est demandé.

Nous allons maintenant installer Avahi, une version open source de Bonjour, un protocole réseau de chez Apple. Comme plus tôt, copiez collez la ligne suivante :

sudo apt-get install libavahi-compat-libdnssd-dev

INSTALLER NODE.JS

Node.Js est un langage de programmation, celui dans lequel est écrit Homebridge, sans lui donc, on n’ira pas loin… Encore une fois, on copie colle les lignes suivantes, une par une, en validant par « Entrée » à chaque fois :

curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash –
sudo apt-get install -y nodejs

INSTALLER HOMEBRIDGE

On avance, maintenant que vous avons préparé le terrain, on peut installer Homebridge, saisissez les lignes suivantes une par une, en validant à chaque fois :

sudo npm install -g –unsafe-perm homebridge hap-nodejs node-gyp
cd /usr/local/lib/node_modules/homebridge/
sudo npm install –unsafe-perm bignum
cd /usr/local/lib/node_modules/hap-nodejs/node_modules/mdns
sudo node-gyp BUILDTYPE=Release rebuild

INSTALLER LE PLUG IN TP-LINK

Homebridge, de base, ne sait rien faire. Déçu? Mais non on va arranger ça. Il faut lui fournir des « plug-ins », créés par la communauté, afin de le faire dialoguer avec vos accessoires. Il existe une foultitude de plug-ins, mais celui qui nous intéresse est celui de TP-Link, afin de gérer tous les accessoires compatibles avec l’application Kasa. Pour ce faire on saisi en ssh la commande suivante :

npm install -g homebridge-tplink-smarthome

Patience, on touche au but! Maintenant il faut installer un fichier de configuration, et lui fournir certaines infos. Commençons par afficher ce fichier, tapez en SSH :

nano ~/.homebridge/config.json

De base le fichier est vide, copiez coller le bloc de texte suivant :

« platforms »: [{
« platform »: « TplinkSmarthome »,
« name »: « TplinkSmarthome »
}]

Quitter cette fenêtre en tapant Ctrl+X. Si besoin relancez une connexion SSH comme vu plus haut puis taper tout simplement :

homebridge

Croisez les doigts, si tout se passe comme prévu vous aurez une fenêtre semblable à celle ci.

Bravo, Homebridge est opérationnel, maintenant direction votre iPhone ou iPad. Ouvrez l’application Maison, puis en appuyant sur le « + » en haut à droite, on vous proposera d’ajouter un accesoire. À ce moment là, l’iPhone cherchera à scanner un QRcode, n’essayez pas de flasher celui à l’écran de votre ordinateur, ça ne marchera pas. Appuyer plutot sur « Code absent ou impossible à scanner », s’ouvrira alors une nouvelle fenêtre où, comme ici, Homebridge devrait apparaître.


Sélectionnez le, et un message vous avertira que l’accessoire n’est pas certifié (forcément), poursuivez l’ajout.

Maintenant il vous faire saisir le code apparaissant sous le QRcode obtenu en SSH.

Viens ensuite la configuration standard de l’application Maison, il faudra choisir une pièce pour Homebridge (vu comme un pont par iOS) et les pièces des accessoires déjà paramétré (dans notre cas les prises TP-Link). Voilà tout est prêt, mais il nous reste une dernière chose à faire.

HOMEBRIDGE COMME SERVICE AU DÉMARRAGE

Nous avons installé Linux, et installé Homebridge sur celui ci, hors dans l’état, si votre RPI redémarre, suite à une coupure de courant par exemple, Linux rebootera mais ne lancera pas Homebridge, on va donc devoir enregistrer Homebridge comme service de démarrage. Pour se faire, c’est reparti pour du SSH. Connectez vous puis tapez :

npm install -g pm2
pm2 startup

À ce moment là attention, vous allez avoir une longue ligne de commande qui va apparaître, commençant par « sudo ». Copiez cette ligne, puis coller la juste en dessous et validez avec « Entrée ». Puis collez en SSH ces deux lignes, de façon séparé, mais vous devriez commencer à avoir l’habitude :

pm2 start homebridge
pm2 save

Ok, maintenant testons tout ça, tapez en SSH

sudo reboot

Votre RPI va redémarrer, attendez une minute et sur votre iPhone ou iPad, essayez de commander une de vos prises. Si tout se passe comme prévu, vous avez donc une installation de Homebridge fonctionnelle, et qui se relancera automatiquement si votre RPI devait être éteint ou rebooté.

CONCLUSION

Voilà comment avec un peu de patience, et un coût faible, on a pu rendre compatible HomeKit des accessoires qui ne l’étaient pas. Sachez qu’il existe de grand nombres de plug-ins pour Homebridge et qu’on peut partir du principe que si votre accessoire est issu d’un fabricant un minimum connu, il y a des chances qu’in plug-in existe. Néanmoins certains plug-ins sont parfois plus complexe à faire fonctionner, ou seulement partiellement opérant avec Homebridge, donc la moralité de l’histoire, c’est que si vous voulez des accessoires certifiés HomeKit, le mieux est encore de les acheter avec un support officiel. Homebridge reste une solution de repli.

  • Apple Ordinateur Portable MacBook Air 2020 : Puce Apple M1, éCran Retina 13′′, 8 Go de RAM, 256 Go de Stockage SSD, Clavier rétroéClairé, Caméra FaceTime HD, Touch ID; Argent
    Autonomie d’une journée : autonomie longue durée pouvant atteindre 18 heures en fonction de l’utilisation. Performances remarquables : accomplissez facilement toutes sortes de tâches, du montage professionnel aux jeux d’action les plus spectaculaires. La puce Apple M1 intègre un CPU 8 cœurs offrant des performances jusqu’à 3,5 fois plus rapides que la génération précédente, tout en consommant moins d’énergie. Mémoire ultra-rapide : 8 Go de mémoire unifiée, pour un système plus rapide et plus réactif. Il permet ainsi de réaliser des tâches exigeantes telles que la navigation à plusieurs onglets, particulièrement gourmande en mémoire, ou l’ouverture d’un fichier graphique volumineux rapidement et facilement. Superbe écran : les images affichent un réalisme sans précédent sur l’écran Retina de 13,3′′. Profitez d’un texte d’une netteté et d’une clarté impressionnantes, et de couleurs plus éclatantes. Pourquoi choisir le Mac ? Facile à maîtriser. Ultra-simple à configurer. Prodigieusement puissant. Intuitif. Doté de nombreuses apps intégrées prêtes à l’emploi. Le Mac est conçu pour vous permettre de travailler, jouer et créer comme jamais auparavant. Compatible, tout simplement : profitez de toutes vos apps actuelles, notamment Adobe Creative Cloud, Microsoft 365 et Google Drive. Et utilisez vos apps pour iPhone et iPad préférées directement sur macOS. Vous bénéficiez ainsi de la plus vaste collection d’apps jamais proposée sur Mac. Toutes disponibles sur l’App Store. Facile à maîtriser : si vous possédez déjà un iPhone, votre MacBook Air vous semblera familier dès que vous l’allumerez. Et il fonctionne en parfaite harmonie avec tous vos appareils Apple. Utilisez votre iPad pour prolonger l’espace de travail offert par votre Mac, répondez à vos messages et à vos appels directement sur votre Mac, et bien plus encore. Design sans ventilateur : même lorsqu’il est soumis à des charges de travail intenses, votre MacBook Air garde la tête froide et reste silencieux. AppleCare : chaque Mac est assorti d’une garantie limitée d’un an et de 90 jours d’assistance technique gratuite. Souscrivez l’AppleCare+ pour étendre votre garantie, éviter le stress et réduire le coût des réparations imprévues. Respectueux de l’environnement : le MacBook Air possède un boîtier fabriqué en aluminium 100 % recyclé et consomme moins d’énergie afin de réduire son empreinte carbone.
  • Apple iPhone 13 Pro Max (256 Go) - Graphite
    Dans le cadre de nos efforts pour atteindre nos objectifs environnementaux, iPhone 13 Pro Max n'inclut plus d'EarPods. Veuillez utiliser vos EarPods existants ou acheter cet accessoire séparément. Écran Super Retina XDR 6,7 pouces avec ProMotion pour plus de rapidité et de réactivité Mode Cinématique, qui réduit la profondeur de champ et change automatiquement la mise au point dans vos vidéos Système photo pro avec nouveaux téléobjectif, grand‑angle et ultra grand‑angle 12 Mpx, scanner LiDAR, zoom optique 6x, photo macro, Styles photographiques, vidéo ProRes , Smart HDR 4, mode Nuit, Apple ProRAW et enregistrement vidéo 4K HDR en Dolby Vision Caméra avant TrueDepth 12 Mpx avec mode Nuit et enregistrement vidéo 4K HDR en Dolby Vision Puce A15 Bionic pour des performances fulgurantes Jusqu’à 28 h de lecture vidéo, la meilleure autonomie jamais vue sur iPhone Design résistant avec Ceramic Shield et meilleure résistance à l’eau du marché (IP68) Connectivité 5G pour des téléchargements ultra-rapides et du streaming de haute qualité iOS 15, avec toutes sortes de nouvelles fonctionnalités qui multiplient les possibilités qu’offre l’iPhone
  • Apple AirTag
    Repérez puis retrouvez vos objets, et localisez vos proches ou vos appareils dans l’app Localiser L’AirTag se configure d’un simple geste, qui le connecte instantanément à votre iPhone ou iPad Faites retentir un son via le haut-parleur intégré pour retrouver vos affaires, ou demandez un coup de main à Siri La fonction Localisation précise avec la technologie Ultra Wideband vous dirige droit vers votre AirTag s’il est à proximité (sur certains modèles d’iPhone) Pour remettre la main sur un objet plus éloigné, vous pouvez compter sur les centaines de millions d’appareils Apple qui composent le réseau Localiser
  • Apple Adaptateur Secteur USB‑C 20 W
    L’Adaptateur secteur USB-C 20 W Apple offre une solution de charge rapide et efficace, au bureau, à la maison ou en déplacement. Bien que cet adaptateur secteur soit compatible avec n’importe quel appareil USB‑C, Apple recommande de l’associer à l’iPad Pro 11 pouces et à l’iPad Pro 12,9 pouces (3e génération) pour des performances de charge optimales. Vous pouvez également l’utiliser avec l’iPhone 8 (ou modèle ultérieur) pour tirer parti de la fonctionnalité de charge rapide. Câble de charge vendu séparément.

  • Freenove Ultimate Starter Kit for Raspberry Pi 4 B 3 B+ 400, 561-Page Detailed Tutorials, Python C Java Scratch Code, 223 Items, 72 Projects, Solderless Breadboard
    4 programing languages -> C, Python (compatible with 2&3), Java and Scratch. 561-page detailed tutorials (including basic electronics knowledge) (download needed, no paper tutorial). Download link -> https://git.io/fjgTR 223 items for 72 interesting projects -> Each project has a circuit diagram and tested code with detailed explanation. Compatible models -> Raspberry Pi 400 / 4B / 3B+ / 3B / 3A+ / 2B / 1B+ / 1A+ / Zero W / Zero. (NOT contained in this kit) Get support -> Our technical support team is always ready to answer your questions.
  • Programming with 64-Bit ARM Assembly Language: Single Board Computer Development for Raspberry Pi and Mobile Devices
  • Chargeur Secteur vers USB Blanc 5V 2A Compatible iPhone 7 7Plus, iphone 6 6S 6Plus, Galaxy Note 6, Galaxy S6 S7, Honor 7, Honor 8, Nokia, LG, Huawei, Raspberry Pi 10 Watts
    Chargeur pour l'Union Européenne conçu spécialement pour les appareils Apple (iphone 6 6S 6SPlus 6Plus et 7 7Plus particulièrement. ipods et précédentes versions optez pour la version 1A car ça ne chargera pas plus rapidement avec 2A, pas compatible ipad) et les smartphones en général (tous les galaxy note et galaxy S entre autres). Sa puissance de 2 Ampères permet également de charger la plupart des tablettes et toute sorte d'appareils qui se chargent en usb Compatible uniquement avec les prises européennes 220Volts. Dimensions compactes : 22 x 33 x 80 millimètres. Produit certifié CE : Protection surtension, protection surchauffe, protection contre les courts-circuits. Sortie : 5V 2000MA. Sa capacité de 2 Ampères permet de charger plus rapidement les smartphones par rapport à un chargeur standard 1A et également permet la charge de la plupart des tablettes (temps de charge divisé par 2 pour l'iphone 6 par rapport au chargeur d'origine 1A) Vendeur français, Tva récupérable, Cette nouvelle version de notre chargeur est garantie 5 ans. "TechExpert" est une marque française de la société Tao Informatique.
  • Homespot Chargeur de Câble Micro USB 3A 5V 1.5M avec Interrupteur Marche arrêt Compatible avec Raspberry Pi 3
    ADAPTATEUR EUROPÉEN - Le chargeur mural USB testé par les laboratoires les plus autorisés et atteint les normes de sécurité les plus rigoureuses. NO RAINBOW BOX - L'alimentation MakerSpot 5v3a Raspberry Pi a été spécialement conçue et testée pour la nouvelle exigence 2.5A Raspberry Pi 3, évitant le redémarrage du pi par une alimentation électrique insuffisante. SPÉCIFICATIONS DE PUISSANCE - Gamme de tension d'entrée: AC 100V - 240V / Puissance rapide: 5V 3.0A (2.5A 2A 1A compatible) / Embout Micro-USB renforcé en acier pour une utilisation prolongée. ON OFF CABLE D'INTERRUPTEUR - 5ft (1.5M) Long Raspberry Pi Compatible Tactile Click câble de commutateur d'alimentation, conforme à la spécification USB 2.0. Câble Micro USB avec Interrupteur ON / OFF pour votre CONVENIENCE. Pas besoin de tirer sur le câble pour redémarrer ou redémarrer votre PI, il suffit d'appuyer sur le bouton pour allumer et éteindre votre PI. ASSURANCE QUALITÉ - Cet adaptateur est fabriqué avec des matériaux de la plus haute qualité et comprend des fonctions de protection contre les tensions incorrectes, les courts-circuits et la surchauffe interne.

3 commentaires

Cliquez ici pour ajouter un commentaire

CommentLuv badge

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.

  • Hello,

    Super article.
    Par contre j’avais déjà installé et configuré mon homebridge qui démarrait sans soucis.
    J’ai tenté de faire l’installation du plugin TP Link et après avoir configuré le fichier config il ne démarre plus.
    Voici le message que j’obtiens :
    homebridge
    [5/5/2019, 5:29:19 PM] There was a problem reading your config.json file.
    [5/5/2019, 5:29:19 PM] Please try pasting your config.json file here to validate it: http://jsonlint.cm
    [5/5/2019, 5:29:19 PM]
    /opt/node/lib/node_modules/homebridge/lib/server.js:218
    throw err;
    ^

    SyntaxError: Unexpected token « in JSON at position 0
    at JSON.parse ()
    at Server._loadConfig (/opt/node/lib/node_modules/homebridge/lib/server.js:212:19)
    at new Server (/opt/node/lib/node_modules/homebridge/lib/server.js:56:38)
    at module.exports (/opt/node/lib/node_modules/homebridge/lib/cli.js:32:16)
    at Object. (/opt/node/lib/node_modules/homebridge/bin/homebridge:17:22)
    at Module._compile (internal/modules/cjs/loader.js:701:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:712:10)
    at Module.load (internal/modules/cjs/loader.js:600:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:539:12)
    at Function.Module._load (internal/modules/cjs/loader.js:531:3)

    Quelqu’un à une idée ?

    • Bonjour,
      ce message n’est sûrement plus d’actualité mais c’est simplement une erreur dans le code config.json.
      (Suffisait de lire « There was a problem reading your config.json file »)