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?
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 doute raison, la box Eedomus reste encore et toujours une…
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 installer MQTT sur Raspberry Pi avec Mosquitto
MQTT est un protocole hyper léger et donc tout aussi rapide qui révolutionne le monde des objets connectés. On entend de plus en plus parler de MQTT ici et là. Pourtant le protocole n’est pas nouveau. Créé en 1999 par…
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
Comment installer Home Assistant 2024 sur Raspberry Pi
guide mis à jour le 02 janvier 2024 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 guide comment…
Merci Aurelien, c’est exactement ce dont j’ai besoin pour profiter des 2 mondes.
Mais n’est-ce pas la chronique d’une mort annoncée ?
Bonjour
Merci pour ce tuto. Je commence la domotique pour pour
.optimisation chauffage électrique par radiateurs de différentes marques
.alarme intrusion,
. optimisation panneaux solaires (onduleur Enphase)
et j’hésite entre Jeedom et Home Assistant. J’ai vu que tu l’avais fait en 2021, tu as donc pas mal d’expérience. Lequel conseillerais tu?
Cdlt
Sylvain
Bonjour,
les deux systeme sont très bons. Personnellement, j’ai longtemps utilisé Jeedom, que j’ai encore avec quelques postes de la maison, mais la majorité est à present sous Home Assistant qui a très largement evolué ces derniers mois.
Bonjour,
Merci pour ce tuto, en complément, serait-il possible de détailler (en MQTT) comment prendre un appareil de Home Assistant, pour le rendre visible et le contrôler depuis Jeedom?
Merci d’avance
Bien cordialement
Bonjour,
ce guide complémentaire aborde le sujet:
https://www.domo-blog.fr/mqtt-pont-entre-jeedom-et-home-assistant-communication-intelligente/