Comment inclure des objets MySensors v2 à Home Assistant (HASS)

Accéder aux soldes du Black Friday Amazon Black friday Banggood Black Friday Gearbest
10% de remise supplémentaire* sur les produits domotiques Xiaomi

Kits domotiques, caméras de sécurité, robot aspirateur, purificateur d'air... *Hors produits déjà en promotion

Voir le code promo
39 jours restants

Les objets connectés développés à l’aide de la librairie MySensors sont très bien pris en charge par Home Assistant. Dans ce tutoriel, nous allons voir comment intégrer des projets MySensors développés à l’aide de la version 2.x de la librairie. Il est possible de se connecter directement à une Gateway MySensors ou une gateway MQTT. Nous allons voir comment faire avec la première solution. Ce tutoriel fonctionne quelque soit la plateforme utilisée pour faire fonctionner le serveur domotique (Windows, macOS, Linux et Raspberry).

Matériel nécessaire

Si vous débutez dans le développement d’objets connectés à base d’Arduino ou d’ESP8266 à l’aide de la librairie MySensors, voici quelques articles pour vous mettre sur les rails :

Pour cet article, j’ai utilisé la sonde de température et d’humidité présentée dans ce tutoriel. Il se trouve à environ 50m de la gateway. Ce n’est pas très loin, mais il y a beaucoup de végétation. La gateway présentée ici est basée sur un ESP8266 (Wemos d1 mini). Pour augmenter la portée de réception, j’ai opté par un antenne 6dBi. Le cable est assez long pour la fixer à l’extérieur. Pour optimiser la portée de transmission, lisez ce tutoriel.

Ajouter des objets MySensors à la configurations Home

La librairie MySensors étant pris en charge nativement, il n’y a rien à installer. L’intégration va juste consister à déclarer la passerelle et intégrer les objets dans les groupes.

Ouvrez le fichier configuration.yaml. Si vous avez installé Home-Assistant dans un environnement virtuel (conseillé), exécutez cette commande

Sinon, il se trouve dans votre dossier utilisateur

La documentation présente tous les types de configuration possibles (tous les détails ici)

On peut donc directement se connecter à un objets MySensors branché sur le port USB (2 premiers devices), à une Gateway standard et enfin une gateway MQTT.

Le composant MySensors propose plusieurs options complémentaires quelque soit la passerelle choisie :

  • optimistic (optionnel, faux par défaut). Utilisez cette option pour les appareils qui ne retournent pas l’état de sortie. Par exemple un interrupteur. On considère qu’il a bien changé d’état lorsqu’on a appuyé dessus.
  • persistence (optionnel) : permet d’activer ou désactiver l’enregistrement des données dans un fichier JSON local. Il n’est pas conseillé de désactiver cette option. Si la persistence est désactivée, les capteurs doivent se présenter (lisez ce tutoriel pour en savoir plus sur la présentation) à chaque envoi de données. Ce n’est pas très pratique.
  • retain (optionnel) : option pour la passerelle MQTT. Active ou désactive l’option de retenue des messages par le broker MQTT.
  • version (optionnel) : version de la librairie utilisée. L’API MySensors à sensiblement évoluée depuis la version 2.0 (documentation technique ici). Il est préférable d’indiquer la version utilisée et si possible uniformiser votre code.

Ici nous allons donc configurer une gateway TCP/IP. Elle possède l’adresse IP (fixe) 192.168.1.20 sur le réseau local. Par défaut, le port de communication est le port 5003.

Je vous conseille de placer le fichier de persistance dans le même répertoire que la configuration.

Activer le logger

Durant la mise au point, il est préférable d’activer l’enregistrement des messages par le logger intégré. Créez une nouvelle section logger. Il est possible de récupérer les messages du composants ainsi que les messages échangés avec la gateway.

Le logger accepte plusieurs niveaux de sévérité. Le mode debug convient dans la plupart des cas :

  • critical
  • fatal
  • error
  • warning
  • warn
  • info
  • debug
  • notset
Attention. La Gateway envoi en permanence des messages sur le réseau. Sur un Raspberry Pi dont la puissance est limitée, les performances vont s’effondrer. Activez le logger pour la mise au point uniquement.

Redémarrer HASS

Redémarrez Home Assistant. Je vous conseille de redémarrer le service depuis l’interface en vous rendant au panneau Configuration par exemple ou en exécutant cette commande.

Suivez le lancement pour vérifier que HASS est bien connecté à la passerelle avec cette commande

Configurer le groupe

Maintenant qu’HASS peut se connecter à la passerelle, il ne reste plus qu’à ajouter les devices à un groupe existant (ou un nouveau groupe). Vous avez du voir passer les identifiants des devices en suivant le journal d’execution du service. Heureusement, il est possible de trouver très facilement le nom des appareils directement depuis l’interface Web.

Ouvrez le menu et cliquez sur l’icône <> pour ouvrir le panneau des états (states en anglais). Les appareils commencent par le préfixe sensor

home assistant mysensors device discover list

Pour ajouter les capteurs à un groupe existant, il suffit de l’ajouter à la liste des entities. Voici un exemple pour les sondes d’humidité.

Il est possible d’afficher qu’une seule fois un capteur sur une vue

Modifier l’affichage (fichier customize.yaml)

Comme pour les tutoriel précédents, je vous conseille de séparer la configuration dans des fichiers séparés pour faciliter la maintenance.

Ouvrez le fichier customize.yaml. Pour chaque capteur, créez une étiquette et ajoutez l’option friendly_name pour définir le libellé qui sera affiché à l’écran.

Enregistrez et redémarrez HASS

Voilà, tous les objets MySensors ont été correctement intégré à l’interface. Vous pouvez également profiter de l’historique des mesures.

mysensors devices appareils home assistant hass

Dans le prochain tutoriel, nous verrons comment faire pour inclure des appareils radio à l’aide d’aide de la passerelle Open Source RFLink.

Inscrivez-vous à la newsletter hebdomadaire

Aucun spam et aucun autre usage ne sera fait de votre email. Vous pouvez vous dés inscrire à tout moment.

Comparateur de prix

Bons plans

Les offres suivantes se terminent bientôt. Utilisez le coupon indiqué pour profiter du prix promo

  • Migui Pda

    Bonjour,

    à moins que je ne vois pas la différence, pourquoi avoir utilisé un Gateway MQTT Mysensor alors qu’un broker MQTT est déjà inclus dans HA ?
    https://home-assistant.io/docs/mqtt/broker/

    • Bonjour Migui. Tu as absolument raison. Il est possible d’utiliser le broker interface de Home Assistant. J’ai préféré utiliser un broker externe pour 2 raisons. D’un point de vue didactique, c’est plus facile pour moi de toujours utiliser mosquitto pour montrer le fonctionnement du système. Ensuite, (sauf erreur de ma part, ou jusqu’à une prochaine évolution) le broker de HASS n’intègre pas le cryptage des messages MQTT. Comme je prépare un article sur le sujet, ça me paraissait mieux. Bonne journée

Projets DIY - Domotique et objets connectés à faire soi-même