Afficher le thermostat Jeedom dans Homebrige

Afficher le thermostat Jeedom dans Homebrige

Prérequis

  1. Avoir un thermostat opérationnel sous jeedom
    Le thermostat Jeedom susnommé est créé à partir du plugin thermostat de Jeedom https://doc.jeedom.com/fr_FR/plugins/wellness/thermostat/?theme=dark

  2. Avoir un serveur homebridge opérationnel

Si les prérequis sont établis, vous pouvez passer directement à la partie configuration d’HomeBridge

Installation de docker-compose

Le plus simple pour installer homebridge est d’utiliser docker compose. Si vous l’avez déjà sur une de vos machines, rien de plus simple, passez directement à la partie installation d’HomeBridge.
Autrement, suivez le guide Overview of installing Docker Compose | Docker Docs ou mon mini tuto.

Pour ma part, docker compose est installé sur une VM Linux (debian). Les commandes suivantes ont été utilisées, mais tout est décrit avec de plus amples détails sur le lien du guide plus haut.

Installation de docker

sudo apt-get update
sudo apt-get install \
     apt-transport-https \
     ca-certificates \
     curl \
     gnupg-agent \
     software-properties-common
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -
sudo add-apt-repository \
 "deb [arch=amd64] https://download.docker.com/linux/debian \
 $(lsb_release -cs) \
 stable"
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io
sudo docker run hello-world

Cette dernière commande valide l’installation de docker

Installation de docker-compose

sudo apt update
sudo apt install python-pip
sudo pip install docker-compose

Installation d’HomeBridge

Vous pouvez suivre la documentation officielle directement sur le site https://homebridge.io/.

Pour suivre le tuto basé sur ma propre installation :

Créez ou éditez votre fichier docker-compose.yml

nano docker-compose.yml

Ajoutez les lignes suivantes

version: '3'
  services:
    homebridge:
      image: oznu/homebridge:latest
      container_name: homebridge
      restart: always
      network_mode: host
      environment:
        - TZ=Europe/Paris
        - PGID=1000
        - PUID=1000
        - HOMEBRIDGE_CONFIG_UI=1
        - HOMEBRIDGE_CONFIG_UI_PORT=8080
      volumes:
        - ./homebridge:/homebridge

Enregistrez (CTRL+X puis O)

Notons que le mode « host » pour le réseau est très importante pour le fonctionnement de homeBridge

Compose va se charger de télécharger le container, créer et lancer votre image.

docker-compose up -d homebridge

Et voilà, homeBridge est installé et déjà opérationnel !

Configuration d’HomeBridge

Connectez vous sur l’interface web de homeBridge http://#votre_IP#:8080
Le login/ mot de passe par défaut est admin/ admin. Je vous invite à le modifier dès maintenant.

Aller dans les plugins, recherchez et installez homebridge-http-jeedom. Ce plugin permet déjà de créer des objets de type interrupteurs et température. Je me suis basé dessus pour ajouter la partie thermostat. Je vais prochainement demander à l’auteur l’intégration de mon code. Autrement je ferai un fork, mais ça serait dommage, ça va perdre les utilisateurs… En attendant ça complexifie la chose mais dans le futur tout sera intégré sans « bidouille ».

Tapez « Jeedom » dans le champ de recherche puis « Installer » sous le plugin Homebridge Http Jeedom

Vous pouvez en profiter pour ajouter les plugins Alexa et Google Smart Home si vous en avez besoin.

C’est l’étape la plus délicate, il faut remplacer le fichier index.js du plugin homebridge-http-jeedom
par ce fichier homebridge-http-jeedom/index.js at develop · SupraDolph/homebridge-http-jeedom · GitHub

Personnellement je fais ça avec un partage samba mais vous pouvez le faire directement dans nano :

nano homebridge/node_modules/homebridge-http-jeedom/index.js

Retournez dans votre navigateur et redémarrer homebridge en utilisant le bouton présent dans la barre d’outil.

Une fois le serveur redémarré, retournez dans la section plugin et cliquez sur réglages du plugin homebridge http jeedom.
La documentation du plugin est présente sur le repository de l’auteur : GitHub - jude16/homebridge-http-jeedom: Jeedom HTTP Plugin for Homebridge

Cliquez sur « Add Accessory » et ajouter le code JSON suivant :

{
  "accessory":  "HttpJeedom",
  "jeedom_url":  "http://192.168.x.x",
  "jeedom_api":  "azertyuiopqsdfvgbbhjklwxcvbn",
  "service":  "ThermostatService",
  "name":  "Thermostat rez de chaussée",
  "thermostatID":  "97"
}
  • accessory : Ne pas y toucher il est en lien avec le plugin
  • jeedom_url : Votre url permettant d’accéder à Jeedom (idéalement interne)
  • jeedom_api : Clé API de votre Jeedom (Réglages > Système > Configuration > API > Clé API)
  • service : Doit être ThermostatService pour un thermostat (sinon se référer à la page GitHub)
  • name : Nom du thermostat (Pour Alexa, Maison, Home…)
  • thermostatID : Identifiant du thermostat Jeedom (récupérable dans Jeedom sous Analyse > Résumé Domotique)

Et c’est tout, l’intégralité des commandes du thermostat seront récupérées automatiquement par le plugin.

Redémarrer homebridge en utilisant le bouton présent dans la barre d’outil.

Votre thermostat Jeedom (ici avec la surcouche du plugin thermoAlternateView)

Est devenu un thermostat Accessible sur tous vos devices…

4 « J'aime »

Heu ou sinon il y a le plugin homebridge et tout est fait en 5 clicks :wink: et ça gère les différents modes.

Hello,

Ton tuto est intéressant mais quel avantage par rapport au plugin Homebridge existant depuis des années?

Le plus simple, c’est le plugin tout de même…

Effectivement tout est plus simple depuis le plugin homebridge.
Personnellement, je préfère maitriser ma solution de bout en bout et donc avoir ma propre instance d’homebridge sur un serveur séparé de Jeedom (je maintiens sa version à jour sans être dépendant de l’auteur du plugin).

Le tuto est bien pour une instance séparée et non pas le plugin homebridge

Bonjour @supradolph,

Pour ma part je pense que le plus simple pour utiliser Homebridge avec Jeedom c’est d’installer le plugin-homebridge.
Mais bon c’était juste pour donner aussi mon point de vue.

akenad :slight_smile:

1 « J'aime »

C’est ce qui est dit au dessus oui et j’ai déjà donné mon point de vue.

1 « J'aime »