VOUS ÊTES ICI: Accueil » Domotique » La domotique libre et hybride entre Home Assistant et Jeedom
Home Assistant

La domotique libre et hybride entre Home Assistant et Jeedom

home-assistant-et-jeedom-systeme-domotique-hybride

En tant que blogueur domotique, j’ai au domo-lab beaucoup de box domotiques. Ces box ont toutes leurs avantages et inconvénients. Nous avions vu, il y a quelques temps comment baser son installation sur une hybridation domotique entre Jeedom et Eedomus. Deux systèmes français et à la pointe.

Interactions Jeedom et Eedomus, comment faire cohabiter les deux systèmes pour une smart home encore plus complète?

Interactions Jeedom et Eedomus, comment faire cohabiter les deux systèmes pour une smart home encore plus complète?

Vous avez une box domotique Eedomus à la maison, celle-ci pilote parfaitement votre maison depuis des années, vous n’êtes pas prêts à changer de système domotique et vous avez sans…


Aujourd’hui, je vous propose une nouvelle hybridation domotique, associant le système domotique Jeedom et le célèbre Home Assistant. HA pour les connaisseurs, c’est un système domotique libre lui aussi donc assez similaire à Jeedom, à la différence que Home Assistant et totalement GRATUIT ! Le seul inconvénient à home assistant c’est qu’il n’est pas simple à prendre en main. C’est un système domotique dit “avancé”. En effet, il faut pour beaucoup de configuration, mettre les mains dans le code, ce qui n’est pas à la portée de tous.

Mais Home Assistant est encore jeune, et mûrit réellement à chaque nouvelle mise à jour. Des automatismes apparaissent permettant de se “passer” (pas totalement, mais en partie) de toucher directement le code.

Toutefois, quand on veut pousser l’expérience et la customisation, cela devient obligatoire. Bien entendu, Home assistant fait lui aussi partie des systèmes domotiques que je pratique dans mon labo domotique. De fait, je vais vous présenter une manière de migrer progressivement de Jeedom vers Home Assistant, ou bien conserver les deux et disposer d’une domotique Hybride.

Cette seconde option est peut-être la plus pertinente afin de conserver un Jeedom, plus simple d’approche et “partager” son système domotique entre les deux.

MQTT, une passerelle de choix entre les deux systèmes

J’ai cherché plusieurs moyens d’échanges entre les deux systèmes. Je vais vous présenter les deux principaux qu’il convient d’utiliser pour une parfaite interaction entre les deux systèmes. Mais très clairement MQTT s’impose comme une solution de choix et une véritable passerelle, parfaite pour transférer des données en live d’un système à un autre très simplement, rapidement et sans demander trop de configuration.

Comment créer un serveur MQTT sur le Raspberry Pi avec Mosquitto

Comment créer un serveur MQTT sur le Raspberry Pi avec Mosquitto

Qui dit Do It Yourself dans la maison connectée, dit bien souvent Raspberry Pi. Vous le savez, au domo-lab, nous sommes friands de projets connectés autour du nano ordinateur. C’est…


Nous avions déjà démystifié MQTT dans un guide dédié. Je vous invite à consulter ce guide avant de continuer cette lecture pour bien comprendre l’enjeu et le fonctionnement de MQTT qui est très clairement taillé pour la domotique. Pas de cloud, pas de dépendance à internet, et des services hébergés directement chez vous.

Pour notre exemple plus concret, nous allons voir comment transférer la valeur d’un capteur de manière automatique et instantanée de Jeedom vers Home Assistant. Pour ce faire, nous allons utiliser un MQTT local comme expliqué dans le guide ci-dessus. Ce dernier s’applique sur un Raspberry Pi, mais la procédure est exactement la même si vous désirez le mettre en œuvre sur un machine virtuelle. Vous devrez simplement y installer une Debian 10 dessus avant de jouer les commandes du guide. C’est d’ailleurs ce que j’utilise chez moi. J’ai une VM sur mon NAS Synology qui se nomme “services”, qui est un Debian 10 dépourvu de son interface graphique et qui gère plusieurs services de ce type pour mon réseau domestique.

Ajouter MQTT à Home Assistant

Afin de pouvoir lire les valeurs du broker MQTT, Home Assistant a besoin de l’intégration MQTT, installée et configurée.

1 Pour ce faire, rendez-vous dans configuration.

2 Allez ensuite dans le menu Intégrations.

3 Cliquez sur l’onglet Intégrations.

4 Recherchez MQTT dans la liste et faites Ajouter L’intégration.

5 Une fois ajoutées, il faut encore la configurer, pour cela il faut simplement cliquer sur Configurer.

6 Enfin, indiquez l’adresse IP de votre serveur MQTT ainsi que son port 1883 par défaut. Si vous avez défini des identifiants, il est également nécessaire de les indiquer. Par défaut un serveur MQTT Mosquito personnel n’en a pas.

Comment mettre à jour une valeur sous Home Assistant depuis Jeedom en passant par MQTT ?

Maintenant que nous avons planté le décor, il est nécessaire de faire quelques configurations. Rien de bien compliqué, vous allez voir. Et une fois que ce sera en place, vous n’aurez plus à vous en soucier. Les données seront exactement les mêmes sous Jeedom et sous Home Assistant.

Partons du principe que vous avez une sonde de température sous Jeedom. Cette dernière peut être une sonde 433Mhz, Z-wave ou Zigbee, peu importe son protocole natif. Cela n’a pas d’importance.

1 Commençons par installer le plugin jMQTT sous Jeedom.

2 Il est ensuite nécessaire de configurer ce plugin. Très simple, nous allons juste indiquer au plugin l’adresse IP de notre broker (serveur MQTT) ainsi que son port (1883).

3 A présent, il faut créer un nouvel équipement dans ce broker.

4 Enfin, on lui désigne un topic MQTT sur lequel publier et on pointe vers la sonde de température jeedom pour indiquer quelle valeur publier.

Maintenant, passons du côté de Home Assistant pour effectuer la configuration de réception des données.

1 Nous allons commencer par éditer le fichier configuration.yaml et pour cela il faut se rendre dans le menu Supervisor.

2 Il faut ensuite se rendre dans le menu File editor. Si vous n’avez pas le menu File editor, il faut déjà l’installer depuis le menu Supervisor/Add-on Store.

3 On clique ensuite sur WEB UI pour ouvrir le fichier configuration.yaml.

4 Enfin, il faut ensuite coller les lignes suivantes dans la section sensor du fichier de configuration en prenant soin de les modifier avec vos informations (le nom ainsi que le topic MQTT).

  - platform: mqtt
    name: Temp exterieur #ici le nom de la sonde
    state_topic: "Temp/ext" #ici le topic MQTT utilisé par Jeedom pour cette sonde

5 Ce qui donnera un résultat de ce type, si vous avez plusieurs sondes.

Attention à bien respecter l’indentation de votre code, c’est vraiment très important !

6 Enregistrez votre fichier de configuration avant de poursuivre.

7 A présent, rendez-vous dans le menu configuration.

8 Cliquez sur vérifier la configuration, vous devez recevoir un message de confirmation vert. Si le fichier comporte des erreurs, vous aurez le détail et devrez retourner dans le fichier de configuration pour effectuer la correction. Il s’agit bien souvent de problèmes d’indentation.

9 Une fois que tout est OK, il ne reste plus qu’à redémarrer votre serveur afin de prendre en compte la nouvelle configuration.

10 Maintenant que le serveur a redémarré, rendez-vous dans le menu Outils de développement.

11 Utilisez les filtres pour rechercher votre nouvelle sonde plus rapidement. Dans le cas présent, la sonde aura un nom du type sensor.temp.xxxx.

12 Voilà notre sonde qui apparait, avec sa dernière valeur.

Il ne reste plus qu’à ajouter notre sonde sur notre page d’accueil pour la visualiser. Home Assistant permet de faire de belles courbes pour vos sondes. Nous en parlons très vite dans un prochain guide.

L’API Rest, un standard bien ancré dans la maison connectée

L’autre mode d’échange entre Home Assistant et Jeedom est bien entendu l’API. Une simple requête HTTP vers un ID et le tour est joué. Vous agissez alors directement sur un périphérique actionneur de manière instantanée. Pour notre exemple, nous allons voir comment déclencher une action sur jeedom depuis Home Assistant.

L’API est une interface permettant de piloter un système tiers depuis un autre, en s’appuyant sur le protocole HTTP. Là encore entre Jeedom et Home assistant tout est local et sans dépendance au cloud.

Nous allons voir dans notre cas, comment donner un ordre d’action à Jeedom depuis Home Assistant. Le but étant de piloter un périphérique connecté à Jeedom depuis Home Assistant, en toute transparence. Une lumière, un portail, une porte de garage ou encore un volet. Tout est possible!

1 Nous allons commencer par éditer le fichier configuration.yaml et pour cela, il faut se rendre dans le menu Supervisor.

2 Il faut ensuite se rendre dans le menu File editor. Si vous n’avez pas le menu File editor, il faut déjà l’installer depuis le menu Supervisor/Add-on Store.

3 On clique ensuite sur WEB UI pour ouvrir le fichier configuration.yaml.

4 Tout à l’heure, nous avons créé de nouveaux périphériques dans la section “sensors”. Afin d’utiliser l’API, il est nécessaire dans le cas de commandes d’actions HTTP de créer une nouvelle section “rest-command”.

Dans cette section, ajoutez une commande, dans notre exemple roller_shutter_central_up: puis en dessous, ajoutez une indentation puis url: et indiquez l’URL de votre commande Jeedom au travers de son API. (vous trouvez cette url directe dans les paramètres de votre équipement Jeedom sous l’icône engrenage -> onglet commande -> url directe.

Sinon vous pouvez également noter l’ID de la commande Jeedom, l’URL est toujours formatée suivant ce modèle :

https://URL_OU_IP_DE_JEEDOM/core/api/jeeApi.php?apikey=CLE_API_DE_JEEDOM&type=cmd&id=1234

5 Enfin, indiquez toutes les commandes nécessaires dans le fichier configuration.

rest_command:
#centralisation des volets labo up
  roller_shutter_central_up:
    url: 'https://monjeedom.domoblog.ovh/core/api/jeeApi.php?apikey=abcdefghijklmnop&type=cmd&id=1234'
#centralisation des volets labo down
  roller_shutter_central_down:
     url: 'https://monjeedom.domoblog.ovh/core/api/jeeApi.php?apikey=abcdefghijklmnop&type=cmd&id=1234'
#centralisation des volets labo stop
  roller_shutter_central_stop:
    url: 'https://monjeedom.domoblog.ovh/core/api/jeeApi.php?apikey=abcdefghijklmnop&type=cmd&id=1234'
#centralisation des baies up
  roller_shutter_baies_up:
    url: 'https://monjeedom.domoblog.ovh/core/api/jeeApi.php?apikey=abcdefghijklmnop&type=cmd&id=1234'
#centralisation des baies down
  roller_shutter_baies_down:
    url: 'https://monjeedom.domoblog.ovh/core/api/jeeApi.php?apikey=abcdefghijklmnop&type=cmd&id=1234'
#centralisation des baies stop
  roller_shutter_baies_stop:
    url: 'https://monjeedom.domoblog.ovh/core/api/jeeApi.php?apikey=abcdefghijklmnop&type=cmd&id=1234'
    

Vous obtenez alors un résultat similaire à ceci :

Attention à bien respecter l’indentation de votre code, c’est vraiment très important !

6 Enregistrez votre fichier de configuration avant de poursuivre.

7 A présent, rendez-vous dans le menu configuration.

8 Cliquez sur vérifier la configuration, vous devez recevoir un message de confirmation vert. Si le fichier comporte des erreurs, vous aurez le détail et devrez retourner dans le fichier de configuration pour effectuer la correction. Il s’agit bien souvent de problèmes d’indentation.

9 Une fois que tout est OK, il ne reste plus qu’à redémarrer votre serveur afin de prendre en compte la nouvelle configuration.

10 À présent, rendez-vous dans le tableau de bord Lovelace (page d’accueil), et créez une nouvelle carte. Pour ce faire, passez en mode édition puis Ajouter une carte.

11 Sélectionnez le type Manuel tout en bas.

12 Placez-vous dans le cadre du code.

13 Enfin, collez le code ci-dessous en prenant soin de l’adapter à votre configuration.

type: grid
title: Centralisation des baie
cards:
  - type: button
    tap_action:
      action: call-service
      service: rest_command.roller_shutter_baies_up
    show_state: true
    icon: 'mdi:window-shutter-open'
    name: monter
  - type: button
    tap_action:
      action: call-service
      service: rest_command.roller_shutter_baies_down
    show_state: true
    icon: 'mdi:window-shutter'
    name: descendre
  - type: button
    tap_action:
      action: call-service
      service: rest_command.roller_shutter_baies_stop
    show_state: true
    icon: 'mdi:window-shutter-alert'
    name: arret

Il faut finalement changer la valeur de l’action définie dans le fichier plus haut juste après rest_command. et modifier les autres valeurs (title, name, etc…).

14 Sauvegardez et voilà le résultat ! si vous appuyez sur un des boutons l’action s’exécute immédiatement depuis Jeedom.

Conclusion

Nous venons de voir deux manières différentes d’interagir entre Home Assistant et Jeedom. Cela vous permet alors d’utiliser Home Assistant en complément de Jeedom. Avant peut-être de migrer progressivement vers Home Assistant. Mais le véritable plus, c’est que vous bénéficiez de la puissance de l’application mobile de HA qui est, on ne va pas se le cacher, le vrai point négatif de Jeedom.

Regardez le résultat de ce que nous venons de mettre en oeuvre dans ce guide par exemple :

Un vrai bonheur pour piloter la domotique de façon simple design et fonctionnelle depuis son smartphone. Nous verrons dans le prochain guide Home Assistant, comment faire ces beaux graphiques, là encore les possibilités sont infinies, un guide complet est plus que nécessaire.

Lire aussi

Installation de Home Assistant sur Raspberry Pi

Installation de Home Assistant sur Raspberry Pi

Home Assistant est un système domotique libre et alternatif, tout comme Jeedom ou encore Domoticz. Lui aussi est supporté par le Raspberry Pi. Nous allons donc voir dans ce nouveau…



Restez connecté aux nouveautés domotiques, inscrivez-vous à notre newsletter

A propos de cet auteur

Aurélien Brunet

Chef de projet informatique, anciennement informaticien spécialisé dans l'IT industrielle, le réseau et les bases de données. Un peu geek à mes heures perdues, je me suis mis à la domotique en 2012 pour sécuriser mon domicile.
Depuis, je test, j’installe, je code, j’améliore mon installation et surtout, je partage avec vous mon expertise via ce blog pour améliorer votre quotidien dans la maison connectée !

MQTT, une passerelle de choix entre les deux systèmes

J’ai cherché plusieurs moyens d’échanges entre les deux systèmes. Je vais vous présenter les deux principaux qu’il convient d’utiliser pour

Ajouter MQTT à Home Assistant

Afin de pouvoir lire les valeurs du broker MQTT, Home Assistant a besoin de l’intégration MQTT, installée et configurée.

Comment mettre à jour une valeur sous Home Assistant depuis Jeedom en passant par MQTT ?

Maintenant que nous avons planté le décor, il est nécessaire de faire quelques configurations. Rien de bien compliqué, vous allez

L’API Rest, un standard bien ancré dans la maison connectée

L’autre mode d’échange entre Home Assistant et Jeedom est bien entendu l’API. Une simple requête HTTP vers un ID et

Conclusion

Nous venons de voir deux manières différentes d’interagir entre Home Assistant et Jeedom. Cela vous permet alors d’utiliser Home Assistant

Lire aussi

  • MQTT, une passerelle de choix entre les deux systèmes
  • Ajouter MQTT à Home Assistant
  • Comment mettre à jour une valeur sous Home Assistant depuis Jeedom en passant par MQTT ?
  • L’API Rest, un standard bien ancré dans la maison connectée
  • Conclusion
  • Lire aussi