HomeKit_alternative_DIY_domotique

HomeKit – une alternative DIY

Avec cet article, on va rester dans la domotique mais on va changer un petit peu d’environnement. Alors, il faut dire que Apple n’est pas vraiment ma tasse de thé mais il faut quand même reconnaître les nombreux atouts de la marque américaine.

Dans le domaine de la domotique, Apple a mis en place un protocole… HomeKit et chose assez exceptionnelle pour la marque, ils ont ouvert le protocole !!! (bon ok, c’est pas nouveau … ça date de 2017)

HomeKit utilise principalement la WiFi et qui dit wifi implique forcément ESP8266 dans le DIY. 😉

Du coup, après quelques recherches + tests, je vous propose un petit tutoriel pour intégrer des appareils (à base de ESP8266) sur votre domotique Apple.

Peut-être que ça vous donnera quelques idées …

Click to rate this post!
[Total: 10 Average: 4.5]

 

Homekit, la domotique Apple

Alors comme je le disais précédemment, je ne suis vraiment pas expert et pro Apple. Donc je vous demanderai un peu d’indulgence (surtout aux fans) si je ne suis pas précis dans les informations et que je ne donne pas les méthodes les plus optimisées.

j’ai découvert cet environnement très récemment et je trouve la solution Apple très simple et adaptée à certaines situations. Bien entendu, il faut avant tout se procurer un appareil sous iOS. Pour ma part, j’ai acheté un iPad pour effectuer les tests.

Une fois la tablette paramétrée (Siri, compte, cloud,…) rien d’autres à faire. L’application « Maison » est déjà installée et prête à fonctionner.

C’est un fait, la force d’Apple est son environnement. Votre domotique pourra interagir avec toutes les fonctionnalités Apple… Siri, message, cloud … sans rien paramétrer.

Créer un appareil compatible HomeKit

C’est une chose un peu étonnante mais oui, il est possible d’intégrer un appareil non estampillé Apple, non certifié et DIY dans son environnement. Je ne pense pas dire de bêtise, mais ce n’est pas habituel pour la firme et c’est la première chose qui m’a étonné.

Les besoins

Le matériel

Pour bien débuté, il va falloir se procurer un appareil à base d’ESP8266. Je recommande d’utiliser un NodeMCU car il est très pratique et qu’il vous sera utile pour pleins d’autres projets. A ce prix là, ça ne vaut pas le coup de s’en priver.

nodemcu

Le logiciel

Comme toute solution, il va falloir intégrer dans cet appareil, le logiciel (ou firmware) permettant de dialoguer dans l’environnement HomeKit.

Et pour cela, nous allons utiliser un SDK développé par maximkulkin.

Pour simplifier la démonstration, je vais aussi m’appuyer sur le développement de Ravensystem qui a développé une « surcouche » pour faciliter le paramétrage / configuration des appareils compatibles.

Grâce à lui, vous n’avez pas besoin de compiler quoi que ce soit. Il suffit juste de programmer votre appareil et tout le paramétrage se fera « online ». TOP pour commencer !

Pour cela, il faut suivre la procédure sur le Wiki

Le principe est simple, il faut intégrer le bootloader HAA sur votre ESP8266. Grâce à lui, un SSID ouvert va apparaître. Il suffit de se connecter dessus et d’ouvrir votre navigateur à l’adresse 192.168.4.1

Une fois connecté vous aurez cet écran :

OTA_config

C’est ici que vous validerez la configuration de votre appareil mais comment configurer ?

Paramétrer et créer votre type d’appareil HomeKit

Hormis le paramétrage de votre borne WiFi (on va pas s’étendre dessus), on remarque qu’il va falloir lui envoyer la configuration au format JSON… alors OK, mais quelle est sa structure ?

Vous pourrez trouver toute l’architecture de configuration sur cette page. Cependant, c’est un peu imbuvable … alors un contributeur développeur a été très sympa car il a créé un « configurateur en ligne »

Et là, tout devient plus simple. Vous allez pouvoir sélectionner votre appareil compatible (beaucoup de Sonoff ou Shelly d’ailleurs) ou carrément paramétrer les entrées / sorties de votre appareil en sélectionnant les ports / caractéristiques. Bref, tout à la main…

PS: Il est très important de bien choisir le type d’appareil car c’est ce paramètre qui va permettre à HomeKit de créer les bonnes actions associées

HAA_configurator

Une fois tout bien paramétré, il suffit de copier le JSON généré (en bas de page) dans la partie JSON Config de la page web de votre appareil.

Ensuite, il suffit sélectionner votre borne WiFi et de rentrer le mot de passe. Enfin, il faut cliquer sur « Save ».

Attention, une fois que vous avez cliqué, il faut attendre environ 7 minutes pour que HAA s’installe. En effet, avec cette méthode OTA, On n’installe pas le programme principal, c’est l’appareil qui télécharge et installe le programme principal. Il faut, de préférence, avoir une bonne alimentation et se rapprocher de votre borne Wifi pour éviter les crash. Si malheureusement, c’est le cas, il faut reprendre la procédure de zéro.

Ce n’est pas obligatoire mais, pour vérifier que tout s’est bien passé, il faut se rendre sur votre espace de configuration de votre borne WiFi et aller dans la découverte DHCP. Si un appareil HAA-XXXX apparait c’est gagné.

NB : si vous souhaitez ensuite mettre à jour votre appareil (la config), c’est possible. Tout d’abord, récupérer son adresse IP puis actionnez 8 fois le bouton flash du NodeMCU (ou le GPIO0). Votre appareil se remettra en mode config et sera accessible via votre navigateur WEB.

Intégration dans HomeKit

Maintenant que l’on a créé notre appareil, il faut l’intégrer à l’environnement HomeKit.

Je vous cache pas qu’à cette étape, vous avez largement fait le plus dur. Il reste juste la partie intégration et la partie scénario ou automatisation pour laisser libre court à votre imagination de domoticien.

Appairage HomeKit

L’appairage est très simple il suffit de lancer l’application Maison :

Apple_Home_(iOS)

Puis suivre les instructions :

homekit_demarragehomekit_ajouter_appareilhomekit_appairage

PS: Je tiens aussi à vous faire part d’un problème que j’ai eu. Au départ, mon appareil passait par un répéteur WiFi et impossible de le faire apparaître sur HomeKit. Du moment où je l’ai débranché … plus de problème… Donc attention, si vous êtes dans le même cas que moi.

Ensuite, plus qu’une dernière étape

homekit_code

Il faut valider l’insertion et pour cela, le code de configuration est :

code_homekit

NB: bien entendu si vous développez votre propre solution ce code est bien entendu modifiable.

Et voilà après quelques secondes ou minutes vous verrez apparaître votre objet sur HomeKit.

homekit_add_device

On le voit sur cette capture d’écran, l’objet prend automatiquement le bon type paramétré. Ce point est très important pour avoir les bonnes actions correspondantes à votre appareil.

Il ne vous reste plus qu’à vous amusez avec votre nouvel interrupteur compatible HomeKit.

Vous pouvez désormais activer votre nouvel interrupteur par l’interface ou à l’aide se Siri… Et c’est là où je trouve que l’environnement Apple apporte une plus value. Sans aucun autre paramétrage, du moment où votre appareil est intégré dans HomeKit, tout l’univers Apple peut interagir avec.

Conclusion

Bon comme vous avez pu le voir, il est possible d’intégrer du DIY dans l’univers Apple avec HomeKit. Cet environnement possède quelques avantages et peut permettre de répondre à certains besoins. Dans cet article, je n’ai pas poussé la démonstration mais il y a énormément de possibilités, notamment dans les automatisations (je ferai surement un autre article à ce sujet si cela vous intéresse).

Homekit ne fonctionne pas vraiment comme les systèmes domotiques conventionnels. Il n’y a pas de box à proprement parlé et chaque produit Apple connecté à la même borne WiFi peut piloter les appareils (on peut aussi sécuriser/paramétrer des droits sur les appareils en local ou en ligne)

C’est un concept différent mais pas dénué de sens. Je trouve que HomeKit mérite que l’on s’attarde un peu plus dessus.

Cependant, il est évident qu’une domotique tout WiFi n’est pas viable en soi car comme vous pouvez l’imaginer, c’est très consommateur d’énergie et qu’il est quasi impossible de pouvoir intégrer des capteurs sur pile. Alors en effet, pour ce type de domotique, il n’y a pas d’autres choix que de passer par des ponts (la dernière gateway Xiaomi ou Philips Hue par exemple). D’ailleurs, beaucoup de marques poussent à rendre compatible leur pont.

C’est le point qui me dérange le plus car finalement on se retrouve avec pleins de ponts différents et bien évidemment des interactions avec des clouds que l’on ne maîtrise pas forcément.

Bref pour mon cas perso, je trouve que cette solution convient pour des petites installations et pour des actionneurs. Comme par exemple, la gestion des électrovannes du jardin ou la gestion de la piscine par exemple.

Bref, affaire à suivre ! Je garde un œil sur cette technologie.

A bientôt !

10 comments

  1. Hello, très bon article comme toujours
    .
    Pour information l’intégration de HomeKit dans Home Assistant est très poussée et assez simple une fois la configuration initiale effectuée.

    Ainsi il est très facile d’utiliser ESPHome pour ajouter un ESP8266 bardé de sondes dans home assistant, home assistant s’occupe ensuite d’exposer celui-ci automatiquement à HomeKit.

    Pour plus d’infos :
    https://esphome.io/
    https://www.home-assistant.io/integrations/homekit/

  2. Bonjour, super article
    j’ai un petit soucis, haaboot.bin n’est pas compabible avec un ESP_01, car après l’installation l’ ESP-01 redémarre et au bout d’un moment ne fait plus rien et n’est pas détecté par l’app Maison.
    Avez vous une autre alternative par rapport à cela s’il vous plaît.

  3. Bonjour,
    Apple réclame impérativement un code unique pour faire connecter l’accessoire physique et sa représentation/ses possibilités dans l’application Maison.
    Comment peut on en créer un en fonction de ses besoins ?
    A moins que le code que vous utilisez dans l’exemple : 021-82-017 soit un code spécifique universel ?

    1. Bonjour,
      C’est un code par défaut si vous utilisez le firmware. Mais il est possible de le changer dans le code source mais il faudra recompiler.

  4. Bonjour
    Savez vous s il est ainsi possible d’utiliser la Box domotique Coviva d’Hager directement avec HomeKit plutôt qu’avec leur app non compatible Siri?

  5. bonjour , je viens d’essayer avec un capteur de temperature et humidité , homkit le reconnait bien cependant les valeur affichée sont toute les deux a 0 .
    j’ai flashé mon nodemcu avec fullhaaboot.bin et dans la page web , onglet json j’y ai inseré ceci :
    {« c »:{}, »a »:[{« 5 »:{« r »:[]}, »t »:24, »b »:[], »g »:4, »n »:1, »j »:30, »z »:0.01, »h »:0.01}]}

    Sensor Type
    DHT11
    Sensor Input
    GPIO
    4
    Sensor poll interval [s]
    30
    Temperature Offset
    0,01
    Humidity Offset
    0,01

    auriez vous une idée d’ou pourrait provenir l’erreur ?

  6. Bonjour, je regardais la vidéo d’henry et j’ai vu que ça parlait de NodeMCU. En cours, j’ai un projet à faire concernant une NodeMCU- ESP 32 et je dois faire un petit programme et je voulais savoir si des gens étaient vraiment qualifié pour m’aider. Merci de me contacter par mail ça peut être sympa 😉
    mail : superisma123456789@gmail.com

Leave a Reply

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

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