[TUTO] IPX800 V5 / HomeBridge

Bonjour à Tous,
Petit partage rapide pour ceux qui seraient désireux d’utiliser leur App Maison sur le matériel Apple.

Je ne vais pas vous décrire comment installer HomeBridge, vous pouvez trouver cela directement sur votre moteur de recherche favoris.

Pour ma pars, j’utilise un PI3B qui fait tourner HomeBridge (mais aussi HA-Bridge et quelques scripts/hooks pour envoyer des SMS).

Pour l’instant, fonctionnent (avec retour d’état) les appareils suivants :

  • IPX800 Relais (ON/OFF);
  • IPX800 Analogiques (Température / Humidité) ;
  • X8R Relais (ON/OFF);
  • XDIMMER Relais (ON/OFF/%);
  • XTHL (Température / Humidité. Lux non testé).

Une fois HomeBridge installé vous aurez besoin pour les relais des modules suivants :

Je vous joint ci-après un exemple de configuration pour chaque module et type que vous devrez adapter :

  • Homebridge Http Lightbulb (XDIMMER) :

{ "accessory": "HTTP-LIGHTBULB", "name": "Votre X-Dimmer", "debug": true, "onUrl": { "url": "http://xxx.xxx.xxx.xxx/api/core/io/65853?ApiKey=xxxxx", "method": "PUT", "body": "{ \"on\":true }" }, "offUrl": { "url": "http://xxx.xxx.xxx.xxx/api/core/io/65853?ApiKey=xxxxx", "method": "PUT", "body": "{ \"on\":false }" }, "brightness": { "statusUrl": "http://xxx.xxx.xxx.xxx/api/core/ana/196618?ApiKey=tintinet&option=filter_state", "statusPattern": "^.+?\"value\"\\s*:\\s*(\\d+).*$", "setUrl": { "url": "http://xxx.xxx.xxx.xxx/api/core/ana/196617?ApiKey=xxxxx", "method": "PUT", "body": "{ \"virtual\":true, \"value\": %s }" } }, "statusUrl": { "url": "http://xxx.xxx.xxx.xxx/api/core/io/65853?ApiKey=xxxxx&option=filter_state", "method": "GET" }, "statusPattern": "{\"_id\":65853,\"on\":true}" }

  • Homebridge Http Lightbulb (RELAIS) :

{ "accessory": "HTTP-LIGHTBULB", "name": "Votre Relais", "debug": true, "onUrl": { "url": "http://xxx.xxx.xxx.xxx/api/core/io/65704?ApiKey=xxxxx", "method": "PUT", "body": "{ \"on\":true }" }, "offUrl": { "url": "http://xxx.xxx.xxx.xxx/api/core/io/65704?ApiKey=xxxxx", "method": "PUT", "body": "{ \"on\":false }" }, "statusUrl": { "url": "http://xxx.xxx.xxx.xxx/api/core/io/65704?ApiKey=xxxxx&option=filter_state", "method": "GET" }, "statusPattern": "{\"_id\":65704,\"on\":true}" }

  • Pour Homebridge Http Switch (RELAIS) :

{ "accessory": "HTTP-SWITCH", "name": "Votre Relais", "onUrl": { "url": "http://xxx.xxx.xxx.xxx/api/core/io/65685?ApiKey=xxxxx", "method": "PUT", "body": "{ \"on\":true }" }, "offUrl": { "url": "http://xxx.xxx.xxx.xxx/api/core/io/65685?ApiKey=xxxxx", "method": "PUT", "body": "{ \"on\":false }" }, "statusUrl": { "url": "http://xxx.xxx.xxx.xxx/api/core/io/65685?ApiKey= xxxxx&option=filter_state", "method": "GET" }, "statusPattern": "{\"_id\":65685,\"on\":true}" }

  • Pour Homebridge Http Temperature (Analogique/XTHL) :

{ "accessory": "HttpTemperature", "name": "Votre Analogique", "url": "http://xxx.xxx.xxx.xxx/api/core/ana/262193?ApiKey=xxxxx", "http_method": "GET", "field_name": "value" }

  • Pour Homebridge Http Humidity (Analogique/XTHL) :
    { "accessory": "HttpHumidity", "name": "Votre Analogique", "url": "http://xxx.xxx.xxx.xxx/api/core/ana/262208?ApiKey=xxxxx", "http_method": "GET", "field_name": "value" }

Profitez bien !

4 « J'aime »

Merci pour ce partage, c’est une alternative à, l’usage de MQTT.

MQTT est un protocole de communication entre objets connectés. HomeBridge est une passerelle vers la solution de pilotage domotique d’Apple.

Of course, mais IPX - MQTT - Homebridge avec un plug-in as-hoc est tres efficace !

Ceci est mon avis : Utiliser les ressources de l’IPX pour passer du MQTT vers une passerelle HomeBridge, c’est un peu comme avoir un vélo à 3 pédales mais seulement 2 jambes :wink:
L’API ne consomme pas de ressource et c’est donc la voie la plus simple et efficace vers une passerelle HomeBridge (Apple) ou HA-Bridge (Alexa).

Merci @Gevaudan pour ce tuto, fort intéressant, je suis assez fan du MQTT et je ne m’étais pas encore penché sur les requêtes HTTP mais effectivement, quand la donnée n’a pas à être réutilisée dans mosquitto, c’est très simple et évite de reposer sur un broker. Je vais modifier mon HA en ce sens pour les lumières (j’utilise les datas des X-THL dans NodeRed pour archivage dans InfluxDB et comparaison à des données d’autres capteurs).

J’ai tenté de configurer un X8R sans succès.
J’ai des URL du type « http://192.168.1.xxx:xxxx/api/ebx/x8r/4259840?ApiKey=APIKEY », le numéro ID indiqué étant celui du X8R dans l’API Deck, est-ce correct? Doit-on plutôt mettre les ID des entrées et sorties du X8R. Les commandes ne correspondent pas à celle de l’API Deck, où l’état de tous les relais est récupéré et pas d’un seul :confused: Je suis un peu perdu :slight_smile:

L’URL devrait plutôt être de type http://xxx/api/core/io/xxxx?…
Comme dans mon exemple pour relais.

Ok, merci @Gevaudan , mais du coup, l’ID est celui du X8R ou celui des IO du relais concerné ? Ce qui me surprend, c’est que ça ne correspond pas du tout aux url données dans l’outil de test des API de GCE.

Je ne suis pas suffisamment connaisseur pour expliquer les raisons. Je pense que @fgtoul ou @grocrabe auraient une réponse concise à donner.


je pense que vous devez prendre l’id comme indiqué ici à droite ("_id": 65582)

OK, donc ce serait bien les IO liées au X8R qui seraient à prendre en compte, d’où l’URL en api/core/io
Merci à vous deux, je continuerai plus tard.

tout a fait et cela marches très bien avec le mqtt « suscribe » (pas de retour d’état pour le moment donc pas de publish peut-être dans le futur !)

J’aimerai bien implémenter la fonction thermostat et volets roulants, quelqu’un maitrise le JSON pour modifier et partager les modules ?