(modifiĂ© le 22 mai 2025 à 0:04)

Je migre de Domoticz vers Home Assistant, progressivement.

La bonne nouvelle ? Home Assistant et Domoticz peuvent se parler 😅

J'ai créé des interactions entre ces 2 systÚmes de domotique. Ainsi je peux migrer chaque périphérique en temps voulu et sans pression, le temps d'appréhender Home Assistant.

Dans cet article je vous explique comment un interrupteur relié à Home Assistant peut donner un ordre d'allumage à un bandeau LED piloté par Domoticz.

Le but

Lorsque j'appuie sur un bouton Zigbee (IKEA Shortcut E1812) reliĂ© Ă  Home Assistant je veux qu'il ordonne Ă  Domoticz d'allume la tĂȘte de lit.

La tĂȘte de lit Ă©tant reliĂ©e Ă  Domoticz en Zigbee, il s'agit d'un bandeau LED USB branchĂ© sur une prise LIDL (TS011F).

Domoticz fonctionne sur un Raspberry Pi et HomeAssistant sur un mini PC, ce sont 2 machines distinctes.

Principe et pré-requis

Dans mon installation HA je dispose d'un broker MQTT (Moquitto) et de Zigbee2MQTT (Z2M).

J'aurais pu accéder à l'état du bouton depuis Domoticz via MQTT, mais je vous présente ici une méthode générique qui fonctionne avec n'importe quel type de périphérique. Si vous aviez eu un périphérique WiFi Tuya dans HA il n'aurait pas été exposé dans le broker MQTT (à moins de relayer l'état Tuya vers MQTT...).

Pré-requis : HA et Domoticz doivent chacun disposer d'une @IP fixe (ou en DHCP static), il est important qu'elle ne bouge pas.

Dans mon cas :

  •  192.168.0.14 : Domoticz
  • 192.168.0.26 : HA

Actions à réaliser dans Domoticz

Vous devez autoriser l'IP de HA Ă  atteindre l'API dans :

Configuration > ParamÚtres > Sécurité : réseaux de confiance

J'ai donc ajouté 192.168.0.26 qui est l'adresse IP de HA.

Pensez à cliquer sur "appliquer les paramÚtres" pour mémoriser.

Enfin, identifiez l'ID de l'ampoule/prise que vous souhaitez piloter, dans mon cas ce sera l'IDX 1312.

Action à réaliser dans Home Assistant

HA va piloter un pĂ©riphĂ©rique Domoticz au travers de l'API Domoticz, grĂące Ă  un script bash qui va commuter l'Ă©tat de la tĂȘte de lit.

Avant d'aller plus loin, testez cette ligne de commande en SSH depuis Home Assistant (HAOS de mon cÎté):

/usr/bin/curl "http://192.168.0.14:8080/json.htm?type=command&param=switchlight&idx=1312&switchcmd=Toggle&level=0&passcode="

Vous devez remplacer :

  • idx=1312 par l'ID de votre ampoule (affichĂ©e dans Domoticz)
  • 192.168.0.14:8080 par l'IP et port de Domoticz

L'important est d'avoir un status "OK". Si c'est le cas continuons.

Ici l'action sera "toggle" c'est Ă  dire que ça la tĂȘte de lit s'allumera si elle est Ă©teinte et vice versa. Vous pouvez aussi  dĂ©cider de simplement Ă©teindre ou allumer. Dans mon cas je veux reproduire le fonctionnement d'un bouton poussoir façon tĂ©lĂ©rupteur.

A l'aide de StudioCodeServer créez un script :

config > shell > domoticz_tetelit.sh

Avec ceci comme contenu :

#!/bin/bash
/usr/bin/curl "http://192.168.0.14:8080/json.htm?type=command&param=switchlight&idx=1312&switchcmd=Toggle&level=0&passcode="

Astuce : pour récupérer facilement l'URL ouvrez Domoticz aller sur la page pour actionner votre ampoule/prise, appuyez sur F12 > onglet réseau, puis actionner le périphérique. Vous verrez l'URL d'appel qui est strictement identique à celle de l'API.

Redémarrer Home Assistant

Pour que le script soit pris en compte, faites un redémarrage de Home Assistant.

Menu "Outils de développement > Redémarrer > Redémarrer Home Assistant" :

⚠ Ne faites pas un rechargement rapide, cela ne suffira pas

Création de l'automatisation

Maintenant que notre script fonctionne il ne reste plus qu'Ă  l'associer Ă  l'appui du bouton dans Home Assistant.

Menu ParamĂštres > Automatisations et scĂšnes :

Voici la version YAML (modifiez le device_id):

alias: HA_to_Domoticz - Quand Bouton Shortcut Ikea allume la tete de lit
description: ""
triggers:
  - domain: mqtt
    device_id: ad668f7ef44ad44217c21c75c48d9a8a
    type: action
    subtype: "on"
    trigger: device
conditions: []
actions:
  - metadata: {}
    data: {}
    action: shell_command.tete2lit
mode: single

Debug

Si cela ne fonctionne pas, vérifiez que la ligne de commande en SSH fonctionne. Si oui, alors testez chaque étape de votre automatisation à l'aide des 3 points verticaux > exécuter l'action.

Vous pouvez également le faire via :

Outils de développement > Action > Shell Command: tete2lit

Conclusion

Et voilĂ , it works!

Il s'agit de ma maniÚre de faire, n'hésitez pas à me partager la votre en commentaire.

Je prévois un autre article pour synchroniser l'état d'un périphérique plus complexe, à savoir faire remonter la vitesse de fonctionnement d'un ventilateur de plafond connecté dans HA vers Domoticz.

Auteur : Mr Xhark

Fondateur du blog et passionné par les nouvelles techno, suivez-moi sur twitter