Après avoir travaillé avec Jeedom que je ne trouve pas tellement réactif et finalement assez difficile à configurer, j'ai essayé Domoticz vu que le firmware Tasmota intègre une configuration spécifique pour cette application. On peut trouver de la documentation ici : http://www.domoticz.com/DomoticzManual.pdf
J'ai trouvé des infos ici pour l'installer via une image Docker sur un NAS Synology : https://projetsdiy.fr/installer-domoticz-nas-synology-ds718-plus-docker-machine-virtuelle/. Installation sans problème ! Afin de pouvoir avoir accès aux plugins, je me suis créé un dossier "docker/domoticz" sur lequel je mappe le dossier "/config" :
Installation du brooker MQTT Mosquitto
J'ai aussi installé le brooker Mosquitto directement sur le NAS avec le paquet Synology Community. En fait, comme ça ne marchait pas, j'ai refait une nouvelle installation de ce paquet que j'utilisais déjà. Inutile de passer par l'installation d'un brooker MQTT sur Docker.
Du coup, il faut installer, dans Domoticz, un hardware "MQTT Client Gateway with LAN interface" avec comme adresse IP celle du NAS en local, en port 1883, pas de mot de passe ni login.
Détection automatique des modules fonctionnant avec Tasmota
J'ai aussi installé le plugin https://github.com/emontnemery/domoticz_mqtt_discovery qui permet de détecter automatiquement les modules Wifi ESP8266 fonctionnant avec le firmware Tasmota. Il faut copier le dossier du plugin dans le dossier "docker/domoticz/plugins" pour ainsi avoir un nouveau type d'hardware "MQTT discovery" qu'il faut installer.
Par contre, pour que les modules soient détectables par ce plugin, il faut dans leur console Tasmota activer la détection Home Assistant avec la commande :
SetOption19 1
Remarque : Si vous avez effacé des modules découverts par ce plugin, pour pouvoir les avoir de nouveau dans Domoticz, il faut saisir la commande "SetOption19 0" puis "SetOption19 1".
Pour l'utilisation de Domoticz avec Tasmota, voir ici : https://github.com/arendst/Sonoff-Tasmota/wiki/Domoticz
Pour découverte automatique des modules Shelly, voir ce plugin : https://github.com/enesbcs/Shelly_MQTT. Par contre, ce plugin ne fonctionne pas avec le firmware Tasmota : il faudrait l'adapter...
Évènements avec Blockly
On peut créer un système d'automatisation via des scripts en Blockly, Python et Lua, via le menu "Setup" -> "More Options" -> "Events". Plus d'info sur Blocly ici : https://www.domoticz.com/wiki/Blockly
A) Script pour envoi de courriel lors d'un évènement
Ci-dessous un script pour envoyer un courriel au changement d'état d'un interrupteur (avec utilisation d'une variable utilisateur "LumEntreeState" pour éviter de recevoir régulièrement des courriels de notification).
B) Script pour piloter un volet roulant
Pour un module Shelly 2.5 avec le firmware Tasmoyta pilotant le volet roulant, on va passer par la création d'un bouton virtuel (Hardware : Dummy) et d'un appareil (Device) appelé "VR Cuisine" correspondant à un interrupteur de volet roulant (Venetian Blinds EU). Voici un script minimaliste ci-contre.
On remarque que le premier bouton pour ouvrir le rideau correspond à la commande "VR Cuisine = Off".