Piloter sa box Domoticz avec Google Assistant
Dans un premier temps, assurez vous d’avoir sécurisé l’accès à votre box domotique Domoticz et de l’avoir rendu accessible depuis internet. Vous devez configurer votre routeur WAN afin de rediriger le port HTTP vers l’adresse IP de votre box domotique en ajoutant une nouvelle règle NAT (référez vous à la documentation de votre FAI). Dans le cas où vous ne disposez pas d’une adresse IP fixe, je vous conseille d’utiliser l’application ngrok qui est payante mais à des tarifs très abordables pour ce cas d’usage.
L’aquisition et l’installation d’un haut-parleur intelligent Google Home ou Google Home Mini vous permettra de piloter votre domotique même si vos téléphones et tablettes sont inactifs.
Création du capteur virtuel sous Domoticz
Nous allons avoir besoin d’ajouter un capteur virtuel afin de traiter les ordres vocaux émis par IFTTT.
Depuis le menu Réglages
> Matériel
, ajoutez un matériel de type Dummy
, vous pouvez le nommer comme vous le souhaitez.
En validant il apparait dans la liste, cliquez alors sur le bouton Créer un capteur virtuel
, nommez le IFTTT
et sélectionnez le type Texte
puis validez.
Assurez vous que la donnée du dispositif affiche bien Test
lorsque vous saisissez l’url complétée ci-dessous dans votre navigateur web :
[scheme]://[username:password@][host][:port]/json.htm?type=command¶m=udevice&idx=[idx]&svalue=Test
host
: votre adresse IP fixe ou votre nom de domaine accessible depuis internetscheme
: “http” ou “https” si vous disposez d’un certificat SSLidx
: Le numéro d’identification de votre dispositifIFTTT
(menuRèglages
>Dispositifs
> ColonneIdx
)- Reportez vous à la documentation associée pour les paramètres restants
Notez bien précisement cette URL, vous en aurez besoin pour réaliser la suite du tutoriel.
Configuration de IFTTT
Nous allons utiliser l’application IFTTT qui fera office de passerelle assurant la transmission de certains ordres vocaux à l’API de Domoticz.
Création du compte IFTTT
Pour utiliser IFTTT vous allez avoir besoin de vous inscrire sur l’application web, à noter qu’une application native est disponible sur les systèmes Android et iOS.
Création des applets IFTTT
Une applet IFTTT se décompose en deux parties, le déclencheur this
qui écoute les ordres vocaux et exécute l’action then
en cas de correspondance.
Comme vous pouvez vous en douter, pour chaque applet notre déclencheur sera donc Google Assistant
et notre action sera un simple Webhooks
qui fera une simple requête HTTP GET.
Voici la liste des applets que j’utilise au sein de ma domotique (le paramètre domoticz_baseurl
est à remplacer selon l’url que vous aurez mis de côté) :
- Allumage
"Say a phrase with a text ingredient" > "allume $" > "D'accord" > "[domoticz_baseurl]&svalue=switch:On:<<<{{TextField}}>>>"
- Exctinction
"Say a phrase with a text ingredient" > "éteins $" ou "coupe $" > "D'accord" > "[domoticz_baseurl]&svalue=switch:Off:<<<{{TextField}}>>>"
- Ouverture des volets
"Say a phrase with a text ingredient" > "ouvre $" ou "monte $" > "D'accord" > "[domoticz_baseurl]&svalue=blind:On:<<<{{TextField}}>>>"
- Fermeture des volets
"Say a phrase with a text ingredient" > "ferme $" ou "descend $" > "D'accord" > "[domoticz_baseurl]&svalue=blind:Off:<<<{{TextField}}>>>"
- Réglage
"Say a phrase with both a number and a text ingredient" > "règle $ #" ou "régler $ #" > "D'accord" > "[domoticz_baseurl]&svalue=set:<<<{{TextField}}>>>:{{NumberField}}"
- Exécution d’un scénario
"Say a phrase with a text ingredient" > "exécute le scénario $" ou "joue la scène $" > "D'accord" > "[domoticz_baseurl]&svalue=scene:<<<{{TextField}}>>>"
Implémentation du script pour Domoticz
Le script LUA ci-dessous permet de faire la correspondance entre la donnée du dispositif IFTTT et les divers dispositifs à domotiser par la voix. Adaptez le selon vos besoins et placez le dans le dossier de Domoticz prévu à cet effet.
scripts/lua/script_device_ifttt.lua
|
|
Dites juste “Ok Google, allume toutes les lumières” pour tester.
J’espère que ce tutoriel vous aura plu, et n’hésitez pas à poster vos commentaires.