Comment commander ses appareils sous domoticz avec Amazon Alexa et inversement comment la faire parler, exécuter des routines depuis domoticz.
Pré-requis :
- domoticz installé et accessible sur internet
- redirection de port effective (domoticz accessible de l’extérieur)
- fqdn en place (c-a-d domoticz est accessible en tapant un nom de domaine dans un navigateur, et non une adresse ip)
- openHab installé
Étapes :
- SENS : Alexa contrôle Domoticz (allumer les lumières, …)
- Créer le certificat “Let’s Encrypt”
- L’associer à domoticz, tester la connexion depuis l’extérieur
- Paramétrer domoticz pour Alexa
- ajouter les interrupteurs / scènes / groupes dans un Plan
- créer un utilisateur pour Alexa
- ajouter les droits de cet utilisateur sur les appareils à commander
- ajouter la “skill” Alhau (gratuite pour le moment, comme l’a été “controlicz”)
- créer un compte sur le site Alhau et renseigner les identifiants domoticz
- Tester
- SENS : Domoticz contrôle Alexa (déclenchement de routines, faire parler Alexa)
- paramétrer openHab
- Utiliser (dans des scripts ou interrupteurs dummy)
SENS : Alexa contrôle Domoticz (allumer les lumières, …)
-
- Créer le certificat “Let’s Encrypt”
- L’associer à domoticz, tester la connexion depuis l’extérieur
- ouvrir l’accès SSH sur le Synology
- dans le Synology : [Panneau de configuration], [Terminal & SNMP], cocher “Activer le service SSH“, [Appliquer]
- ouvrir un putty
- commandes :
- on se met en “root” :
sudo bash
- dans le repertoire où on veut stocker le script (il servira à chaque renouvellement de certificat) :
vi renew_certif.sh
- coller ce code en remplaçant “
YCRXcP
” par l’identifiant de votre certificat (ls /usr/syno/etc/certificate/_archive/
pour les voir)-
#!/bin/bash synopkgctl stop domoticz cat /usr/syno/etc/certificate/_archive/YCRXcP/fullchain.pem > /volume1/@appstore/domoticz/server_cert.pem cat /usr/syno/etc/certificate/_archive/YCRXcP/privkey.pem >> /volume1/@appstore/domoticz/server_cert.pem if [ -f "/etc/ssl/certs/dhparam.pem" ]; then cat /etc/ssl/certs/dhparam.pem >> /volume1/@appstore/domoticz/server_cert.pem else cd /etc/ssl/certs openssl dhparam -out dhparam.pem 2048 cat /etc/ssl/certs/dhparam.pem >> /volume1/@appstore/domoticz/server_cert.pem fi synopkgctl start domoticz
- [echap], [:][w][q], [entrée] pour sauvegarder
chmod ugo+x renew_certif.sh
pour rendre le script executable- et on le lance (attention la génération du dhparam.pem est tres longue sur NAS : 1 à x heures, soyez patient 🙂
./renew_certif.sh
-
- si tout se passe bien, domoticz devrait se relancer avec le port https actif (443 ou autre)
- si le port est déjà occupé par un autre processus (openhab par exemple …); il faudra le décaler
- mémo :
- décaler port openhab :
vi /volume1/\@appstore/openHAB/runtime/bin/setenv
HTTPS_PORT=6443
- [echap], [:][w][q], [entrée]
synopkg restart openhab
- décaler port domoticz:
vi /volume1/@appstore/domoticz/var/domoticz.sh
DAEMON_ARGS="$DAEMON_ARGS -sslwww 6443"
- [echap], [:][w][q], [entrée]
synopkg restart domoticz
- décaler port openhab :
- on se met en “root” :
- ouvrir l’accès SSH sur le Synology
- Paramétrer domoticz pour Alexa
- ajouter les interrupteurs / scènes / groupes dans un Plan
- dans Domoticz, [Réglages], [plus d’options], [Plans], [Périphériques par Emplacement], créer le plan s’il n’existe pas encore.
- toujours dans [Réglages], [plus d’options], [Plans], [Périphériques par Emplacement]
- Sélectionner le plan,
- Sélectionner les interrupteurs (en bas de l’écran), [Ajouter]
- pour finir, cliquer sur [Modifier] (en milieu / haut de l’écran)
- créer un utilisateur pour Alexa
- dans Domoticz, [Réglages],[plus d’options],[gérer les utilisateurs]
- remplir les zones selon les besoins, [Ajouter]
- ajouter les droits de cet utilisateur sur les appareils à commander
- toujours dans Domoticz, [Réglages],[plus d’options],[gérer les utilisateurs]
- cliquer sur l’utilisateur, [paramétrer les dispositifs]
- ajouter les interrupteurs, scènes, … [Sauvegarder]
- ajouter les interrupteurs / scènes / groupes dans un Plan
- ajouter la “skill” Alhau (gratuite pour le moment, comme l’a été “controlicz”)
- créer un compte sur le site Alhau et renseigner les identifiants domoticz
- Tester
- SENS : Domoticz contrôle Alexa (déclenchement de routines, faire parler Alexa)
- paramétrer openHab (obligé de passer par cette application car pas trouvé d’api compatible directement dans domoticz)
- ajouter les interfaces :
- “paperui” (pour paramétrer)
- “classicui” (pour le contrôle par url / domoticz)
- ajouter les interfaces :
- ajouter le binding ” Amazon Echo Control Binding “,
- paramétrer le compte Amazon
- ajouter les objets “Amazon account”, et le(s) echo(s)
- lier les commandes “Speak” (faire parler Alexa)
- “Start a routine” (déclenche une routine),
- “Alarm Sound” (son d’alarme) à des “items”
- certaines de ces commandes sont cachées derrière le bouton [Show More]
- noter le nom de ces items, par exemple : pour faire “parler” mon “Echo cuisine”, l’item s’appelle “EchoCuisine_Speak”
- paramétrer openHab (obligé de passer par cette application car pas trouvé d’api compatible directement dans domoticz)
- Utiliser (dans des scripts ou interrupteurs dummy)
- pour cela, il suffira d’ouvrir l’url :
http://127.0.0.1:8080/classicui/CMD?EchoCuisine_Speak=coucou par ici
127.0.0.1:8080
car openhab est sur le même NAS que domoticz, sur le port 8080EchoCuisine_Speak=coucou par ici
: la commande de synthèse vocale de mon echo cuisine (ça revient à dire à Alexa “jacques ditcoucou par ici
“)- Depuis domoticz, appeler une url :
local url = "http://127.0.0.1:8080/classicui/CMD?EchoCuisine_Speak=coucou par ici"
- en dzvents :
domoticz.openURL(url)
- en lua :
commandArray['OpenURL'] = url
- en dzvents :
- ou directement sur un dummy :
- reglages, materiel, dummy, [créer un capteur virtuel], type : interrupteur
- dans interrupteur, le selectionner, [modifier]
- dans “Action On” ou “Action Off”, coller l’url et Alexa parlera à chaque On / Off