Accueil / Domotique / Domoticz / Homebridge – Domoticz : Piloter des objets MySensors avec Siri sur iOS10

Homebridge – Domoticz : Piloter des objets MySensors avec Siri sur iOS10

Vous avez développé vos propres objets connectés à base d’Arduino (ou ESP8266) et MySensors, voici comment faire pour les piloter à la voix grâce à Siri ou depuis la nouvelle application Maison (HomeKit) d’iOS10. Dans ce premier tutoriel, nous allons installer et configurer Homebridge avec Domoticz.

Read this article in English

Configuration requise

Pour réaliser ce tutoriel vous aurez besoin des éléments suivants.

Un Raspberry Pi 3 (ou 2) avec Domoticz installé et configuré. Si vous débutez en domotique ou sur Domoticz, voici une série d’article pour bien commercer :

Une Gateway MySensors. Pour ce tutoriel, j’ai utilisé une Gateway réseau à base d’ESP8266 d’après ce précédent tutoriel. A la date d’écriture de ce tutoriel, la version 2 de la librairie MySensors n’est pas encore officiellement supportée mais elle fonctionne très bien.

Un iPhone fonctionnant sous iOS 9 ou iOS10. Pour cet article, j’ai utilisé un iPhone 6S sous iOS10.

Installer et configurer Homebridge pour Domoticz

Homebridge est un projet Open Source développé par Nick Farina (Github, site internet). Homebridge est un projet modulaire auquel on peut ajouter des plugins en fonction du matériel que l’on souhaite ajouter à son iPhone (ou iPad). Il en existe déjà plus de 260 (la liste complète ici). Il existe des plugins pour les principaux logiciels domotique (Domoticz, Home Assistant, OpenHAB, Jeedom, FHEM…) et pour de nombreux matériels (Ampoules Philips Hue, NAS Synology…)

Pour installer et configurer Homebridge, je vous conseille de suivre ce tutoriel. J’ai rencontré des difficultés de configuration avec Domoticz en suivant le tutoriel officiel (même si la procédure est similaire à la fin). Avant de commencer, assurez vous que votre système est à jour

Si vous venez d’installer Domoticz depuis l’image officielle, il faut déjà étendre la partition pour que celle-ci prenne la totalité de la place disponible sur la carte SD. Domoticz s’installe maintenant beaucoup plus facilement sur une image Raspbian (ou tout autre OS équivalent), cette opération n’est plus nécessaire. Pour en savoir plus, suivez ce tutoriel.

Puis Option 1 – Expand Filesystem. Ensuite Finish et enfin Allow reboot.

Installation de nodejs

Avant d’installer Homebridge, il est nécessaire d’installer Nodejs. Suivez les étapes suivantes qui correspondent à votre modèle de Raspberry. On commence par supprimer le nodejs déjà existant sur le système pour installer la version 6.3.1 (version conseillée pour le projet Homebridge).

Attention. Vérifiez l’impact sur d’autres projets qui utilisent Nodejs avant de vous lancer.

Raspberry Pi A/B/B+ (anciens modèles)

Raspberry Pi 2 ou 3

Installation de Homebridge et eDomoticz

Maintenant, nous pouvons installer Homebridge et le plugin eDomoticz

Petites explications pour ceux qui ne connaissent pas npm

  • Le -g permet de rendre le package utilisable globalement. Sans le -g, le package n’est utilisable que depuis le répertoire d’installation. Dans ce cas tout est téléchargé dans le répertoire de npm et tous les autres packages peuvent l’utiliser.
  • L’option –unsafe-perm permet de passer outre les éventuels messages d’erreurs lors de l’installation

Récupérez l’adresse Mac du votre Raspberry PI. Ce n’est pas noté mais sans cette configuration (astuce trouvée ici), vous risquez de ne pas réussir à détecter la passerelle Homebridge sur iPhone (ou iPad). Exécutez ifconfig. L’adresse Mac du RPI se trouve à droite de HWaddr.

hombridge domoticz adresse mac rpi hwaddr

Créez un répertoire dédié à Homebridge

Puis ouvrez le fichier de configuration dans un éditeur de texte (pico ou nano).

Collez cette configuration par défaut qui pourra servir de base pour un serveur Domoticz existant. Modifiez la valeur de la clé username en saisissant l’adresse Mac du Raspberry Pi.

Attention. Il faut saisir l’adresse Mac en majuscule sinon cela provoque une erreur et l’arrêt d’Homebridge.

Vous pouvez en profiter pour attribuer votre code Pin.

Enregistrez le fichier de configuration avec CTRL+X puis O (ou Y).

homebrige domoticz edomoticz config

Maintenant, vous pouvez lancer Homebridge

homebrige domoticz premier demarrage
Premier démarrage. Aucun appareil configuré sous Domoticz

Au démarrage, Homebridge recherche tous les dispositifs (appareils) configurés sur Domoticz et les rend visible par un iPhone ou un iPad relié au réseau local.

Ajout d’un objet MySensors sous Domoticz

Pour les besoins de ce tutoriel, j’ai préparé un petit objet connecté qui est composé d’un contacteur ainsi que d’une Led pour simuler l’allumage et l’extinction d’une lampe. On pourrait très facilement remplacer la Led par un relai pour piloter une lampe ou l’ouverture d’un portail électrique par exemple.

Pour réaliser ce montage, vous aurez besoin des éléments suivants :

Schéma du montage

Le module radio nRF24L01+ doit être alimenté en 3,3Volts. D’autre part, l’alimentation 3,3V de certaines cartes est de qualité moyenne. Il est préférable d’utiliser une platine de câble qui dispose d’un meilleur régulateur de tension.

mysensors gateway esp8266 wifi led contacteur nrf24l01+

Code du projet

Avec la version 2 de MySensors, il est possible d’ajouter un (ou des) noeud à une gateway. Voici donc le code d’une Gateway WiFi ESP8266 qui permet de remonter l’état d’un contacter (détecter l’ouverture d’une porte par exemple) et de simuler d’allumage/extinction d’une lampe à l’aide d’une Led.

Avant de téléverser le code dans votre ESP8266, modifiez les paramètres suivants :

  • : le nom du réseau WiFi
  • MY_ESP8666_PASSWORD : et le mot de passe
  • MY_IP_ADDRESS : le mieux est de fixer l’adresse ip de la Gateway..
  • MY_IP_GATEWAY_ADDRESS et SUBNET qui correspond à votre routeur

Configuration des dispositifs sous Domoticz

Pour tout savoir sur comment ajouter un objet MySensors sous Domoticz, suivez ce tutoriel, sinon voici les étapes à suivre (en accéléré).

Ajoutez une Gateway MySensors Lan dans Réglages -> Matériel. Indiquez l’adresse ip de la Gateway et le port. Donnez un nom, puis Ajouter.


homebridge domoticz gateway mysensors

Ajoutez les dispositifs depuis Réglages -> Dispositifs -> appuyer sur la flèche verte en face de chaque dispositif à ajouter. Donnez un nom au dispositif. Après ajout, la flèche devient bleue.

 

homebridge-domoticz-dispositifs-mysensors-inclus

Allez dans les Interrupteurs et modifiez les affichages si besoin.

homebridge-domoticz-interrupteurs-mysensors

 

Relancez maintenant Homebridge pour voir les dispositifs qui seront visibles par iOS.

homebridge edomoticz capteur exposes ios homekit

Configurer l’application Maison sur iPhone ou iPad

Sur votre iPhone ou iPad (de préférence sous iOS10 minimum), lancez l’application Maison.

icone application maison ios10

Votre iPhone (ou iPad) doit être connecté au réseau local en WiFi pour pouvoir ajouter un pont et des accessoires. Tapez sur Ajouter un accessoire.

homekit home domicile ios10 ajout accessoire homebridge
Ecran d’accueil de l’application Maison

Si tout est bien configuré, vous devez avoir un accessoire nommé Homebridge qui apparaît. Sélectionnez le.

homekit home domicile ios10 passerelle homebridge trouvee
Pont Homebridge trouvé !

Saisissez manuellement (ou tentez votre chance avec la reconnaissance optique) le code Pin affiché sur le Terminal.

home kit home domicile ios10 saisie code pin
Saisie du code Pin

On patiente quelques instants durant le jumelage du pont.

home kit home domicile ios10 jumelage homebridge
Jumelage en cours

Et voilà!

homekit home domicile ios10 pont homebridge ajoute
Pont Homebridge correctement ajouté

Vous pouvez donner un nouveau nom au pont et attribuer un lieu. Comme c’est un pont vers un serveur domotique, l’intérêt est limité.

On peut attribuer un lieu (pas très utile pour Domoticz)
On peut attribuer un lieu (pas très utile pour Domoticz)

Maison propose ensuite d’ajouter le premier dispositif exposé. Dans ce cas, la lampe (simulée par une Led). Attribuez lui un lieu et modifiez son icône (interrupteur, ampoule ou ventilateur). On peut le modifier à tout moment en appuyant longtemps sur l’icône depuis l’écran d’accueil de Maison puis détail.

Inclure dans les favoris. Incluez tous les accessoires que vous voulez retrouver dans le centre de notification de l’écran verrouillé.

Attribuer un lieu. Attribuer un lieu permet de piloter les accessoires à la voix depuis Siri plus facilement. Il suffira de dire « allume la lumière du salon » ou « éteins la lumière du salon »…

lumiere salon attribuer lieu homebridge domoticz mysensors

Idem pour le contacteur de porte

homekit-home domicile ios10 ajout accessoire contacteur porte
Et le contacteur de porte

C’est terminé ! Vous pouvez également voir à quoi ressemblent les icônes actives des accessoires.

maison homekit ios10 homebridge domoticz mysensors

Verrouillez votre iPhone et ouvrez le centre de notification. Glissez vers le panneau vers droite deux fois pour accéder au panneau des favoris de Maison.

ios10 centre notification favoris homebridge domoticz mysensors

Est-ce que ça marche en dehors de chez moi ?

Voici ce que vous pourrez faire en fonction de votre matériel (allez sur cette page Apple pour tout savoir)C’est ici que réside le principal intérêt d’utiliser l’application Maison (HomeKit) d’iSO10 . Vous n’avez pas besoin d’exposer votre serveur domotique à internet. C’est iOS (HomeKit) et les serveurs Apple via votre compte iCloud qui s’occupe de tout et ce de manière parfaitement sécurisé. Mais pour que ça fonctionne, il faut disposer d’un matériel compatible HomeKit à la maison et celui-ci doit être allumé (…et chargé).

  • Pour contrôler des accessoires à distance
    • Apple TV de 3ème génération. Il n’est pas possible d’accéder aux caméras de surveillance HomeKit.
    • Apple TV de 4ème génération équipé de tvOS 9.0 ou supérieur
  • Pour configurer les automatisations et les autorisations des utilisateurs
    • Apple TV de 4ème génération sous tvOS 10
    • iPad sous iOS 10

En résumé, vous aurez donc besoin d’un iPad assez récent (iPad Air par exemple) ou d’une Apple TV de 4ème génération (pour pouvoir créer des scénarios simples). Lorsque vous utilisez Maison en dehors de chez vous, il faudra attendre quelques secondes le pour que’HomeKit récupère la connexion avec le matériel jouant le rôle de répéteur (hub HomeKit). L’Apple TV de 3ème génération reste utilisable mais les fonctions sont plus limitées (impossible d’utiliser une caméra domotique, créer des automatismes, gérer les utilisateurs).

centre-notification-accessoires favoris scene ios10 homebridge domoticz mysensors 3g 4g

Vous rencontrez des problèmes en dehors de chez vous

Ne vous attendez pas à une réponse immédiate de vos actions lorsque votre iPhone n’est plus relié en WiFi à Domoticz (ou n’importe quel appareil certifié HomeKit). Il faut un certain temps pour qu’une action remonte dans iCloud puis redescende sur l’iPad ou l’Apple TV de votre domicile. Même si iCloud a fait de gros progrès en terme de fiabilité et de performances, il y a un temps de latence qui peut aussi provenir de votre connexion 4G (ou 3G). Disons qu’un délai de quelques secondes n’est pas inhabituel.

Autre constatation, le statut des accessoires n’est pas actualisé en temps réel dans le centre de notification. Par exemple, si un contacteur remonte l’ouverture d’une porte, l’icône correspondante ne sera pas activée. Le statut d’un accessoire n’est mis à jour qu’à l’affichage du panneau ou lors d’une action manuelle depuis le panneau.

Enfin dernier point, Homebridge est un projet « border line ». Il n’est pas inclus dans un produit certifié Apple. On reste dans le DIY, ça fonctionne très bien mais de temps en temps…

Piloter à la voix vos dispositifs Domoticz avec Siri

Maintenant que tout fonctionne dans Maison, il est temps de tester la commande vocale avec Siri.

Essayons d’allumer la lumière du salon => « Dis Siri allume la lumière du Salon ».

ios10 dis siri allume la lumiere du salon homebridge domoticz mysensors

De même pour éteindre dites « éteins la lumière du salon ».

ios10 dis siri éteint lumiere salon homebridge domoticz mysensors

Enfin, demandons à Siri si la porte est fermée : « Dis Siri la porte est-elle ouvert ».

ios10 dis siri porte ouverte homebridge domoticz mysensors

Liste des commandes qui fonctionnent avec Siri et conseils

Pour que Siri soit en mesure de faire le lien avec l’accessoire Domoticz, nommez le exactement par sa désignation. Plutôt que de mettre des désignation à rallonge, le mieux est d’attribuer un lieu à chaque accessoire. Ca permet à Siri de faire le lien plus facilement. Par exemple, au lieu d’attribuer « lumière du salon », donnez le nom « lumière » et créez un lieu « Salon ». Sinon lorsqu’on demande allume « lumière salon »ça ne marche pas. Si vous avez de nombreux accessoires, vous avez intérêt à standardiser vos désignations, sinon gare au mal de tête pour se souvenir du nom donné à la lampe du grenier ;-).

Sous iOS10, voici une liste d’actions que vous pouvez réaliser à la voix avec Siri (d’après cette liste) :

Commande Siri (mot clé d’action) Exemples d’utilisation Accessoire Lieu Consigne
Allume Allume la lumière dans la chambre. Lumière chambre
Éteins Eteins la lumière Lumière
Éteins la lumière dans la chambre de Chloé Lumière Chambre de Chloé
Tamise Tamise la lumière Lumière
Règle Règle la luminosité sur 50 % 50%
Règle le thermostat sur 21° au rez-de-chaussée Thermostat Rez-de-chaussée 21°C
Mets Mets le chauffage sur 22° Chauffage 22°C
Allume
Baisse Baisse la lumière de la cuisine Lumière Cuisine
Réduis Réduis de moitié l’éclairage de la salle à manger Salle à manger

Vous pouvez aussi créer et déclencher des scènes. Pour le convoquer, il suffit de dire son nom, par exemple « Dis Siri Bonjour ».

maison bonjour scène ios10 homebridge domoticz mysensors

Pour créer un scène, allez dans les Pièces,

ajout scène ios10 homebridge domoticz mysensors
Appuyez sur le Plus puis  Ajouter un scène. Il existe déjà des scènes existantes dans la liste.

scene ios10 homebridge domoticz mysensors

On termine la configuration. Par exemple la scène Bonjour permet d’allumer toutes les lampes du salon.

scene ios10 homebridge domoticz mysensorsC’est prêt.

scene ios10 homebridge domoticz mysensors

Premières conclusions et conseils

Homebridge est un projet Open Source supporté par une grande communauté. Son architecture très ouverte a permis le développement de nombreux plugins tiers. Le plugin eDomoticz est très complet et réactif pour les actionneurs. Allumer, éteindre une lampe répond instantanément. La mise à jour de l’état d’un contacteur est plus longue, il n’est pas rare de devoir attendre presque une minute.

Coté iOS, l’intégration de dispositifs Domoticz est très simple et intuitive. Vous pourrez même piloter votre installation depuis votre iPhone hors de la maison sans avoir à rendre votre Raspberry Pi disponible sur internet. C’est un vrai gage de sécurité. Coté scénarios, l’application Maison est beaucoup moins évoluée que les logiciels domotique, mais la combinaison de deux solutions est vraiment très souple et agréable d’utilisation.

Mises à jour

  • 2/01/2017 : modification de la procédure d »installation de nodejs.
  • thomas schneider

    Bonjour,

    J’ai suivi votre tuto, tout est bien installé, sauf que les boutons ne s’actionne pas, je ne comprends pas pourquoi.

    • Bonsoir Thomas. Vous pouvez m’en dire un peu plus. Rien ne se passe coté Domoticz ou sur iOS ?

      • thomas schneider

        Sur iOS les boutons s’actualisent mais aucune action n’est possible. Tout fonctionne avec domoticz

        • Oui c’est exactement ce que j’avais remarqué aussi. Si on regarde ce qui se passe dans le Terminal, Homebridge réceptionne (quasi) instantanément les messages en provenance d’IOS (et les exécute aussi vite coté Domoticz). Par contre ce n’est pas la même chose dans l’autre sens. La fréquence d’actualisation doit être configurée pour être plus lente pour moins solliciter le Raspberry. Il faut quelque fois une minute pour que l’afficheur se mette à jour sur iOS (j’avais noté ce point dans la conclusion de l’article). C’est une hypothèse , je n’ai pas regardé le code. Voilà, je suis désolé de ne pas pouvoir faire mieux. Je regarde une alternative avec un autre projet sous Node-RED. Je vous en parle prochainement. A très bientôt.

  • Thierry Diaz

    Petit point mais qui a son importance: la ligne « sudo apt-get install libavahi-compat-libdnssd-dev » doit être exécutée avant les « npm install… » sinon ça marche pas

    • Merci beaucoup pour le retour, c’est modifié.

      • Thierry Diaz

        De rien, merci pour ce super tuto. Pour éviter aux autres de chercher comment lancer le service au boot: rendre le script de lancement exécutable (chmod +x) et l’ajouter au démarrage (update-rd.d …)

  • olivier

    bonjour, je suis complètement perdu au moment du mettre les plugins.

    Pourriez vous m’aider ?