Intégration Alexa dans domoticz

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, …)

    1. Créer le certificat “Let’s Encrypt”
    2. L’associer à domoticz, tester la connexion depuis l’extérieur
      1. ouvrir l’accès SSH sur le Synology
        1. dans le Synology : [Panneau de configuration], [Terminal & SNMP], cocher “Activer le service SSH“, [Appliquer]
        2. ouvrir un putty
        3. commandes :
          1. on se met en “root” : sudo bash
          2. dans le repertoire où on veut stocker le script (il servira à chaque renouvellement de certificat) : vi renew_certif.sh
          3. coller ce code en remplaçant “YCRXcP” par l’identifiant de votre certificat (ls /usr/syno/etc/certificate/_archive/pour les voir)
            1. #!/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

               

            2. [echap], [:][w][q], [entrée] pour sauvegarder
            3. chmod ugo+x renew_certif.sh pour rendre le script executable
            4. et on le lance (attention la génération du dhparam.pem est tres longue sur NAS : 1 à x heures, soyez patient 🙂
            5. ./renew_certif.sh
          4. si tout se passe bien, domoticz devrait se relancer avec le port https actif (443 ou autre)
            1. si le port est déjà occupé par un autre processus (openhab par exemple …); il faudra le décaler
            2. mémo :
              1. décaler port openhab :
                1. vi /volume1/\@appstore/openHAB/runtime/bin/setenv
                2. HTTPS_PORT=6443
                3. [echap], [:][w][q], [entrée]
                4. synopkg restart openhab
              2. décaler port domoticz:
                1. vi /volume1/@appstore/domoticz/var/domoticz.sh
                2. DAEMON_ARGS="$DAEMON_ARGS -sslwww 6443"
                3. [echap], [:][w][q], [entrée]
                4. synopkg restart domoticz
    3. Paramétrer domoticz pour Alexa
      1. ajouter les interrupteurs / scènes / groupes dans un Plan
        1. dans Domoticz, [Réglages], [plus d’options], [Plans], [Périphériques par Emplacement], créer le plan s’il n’existe pas encore.
        2. toujours dans [Réglages], [plus d’options], [Plans], [Périphériques par Emplacement]
          1. Sélectionner le plan,
          2. Sélectionner les interrupteurs (en bas de l’écran), [Ajouter]
          3. pour finir, cliquer sur [Modifier] (en milieu / haut de l’écran)
      2. créer un utilisateur pour Alexa
        1. dans Domoticz, [Réglages],[plus d’options],[gérer les utilisateurs]
        2. remplir les zones selon les besoins, [Ajouter]
      3. ajouter les droits de cet utilisateur sur les appareils à commander
        1. toujours dans Domoticz, [Réglages],[plus d’options],[gérer les utilisateurs]
        2. cliquer sur l’utilisateur, [paramétrer les dispositifs]
        3. ajouter les interrupteurs, scènes, … [Sauvegarder]
    4. ajouter la “skill” Alhau (gratuite pour le moment, comme l’a été “controlicz”)
      1. Skill Alhau
    5. créer un compte sur le site Alhau et renseigner les identifiants domoticz
    6. 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 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”
  • 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 8080
    • EchoCuisine_Speak=coucou par ici : la commande de synthèse vocale de mon echo cuisine (ça revient à dire à Alexa “jacques dit coucou 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
      • 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
Taggé , , , , .Mettre en favori le Permaliens.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

− 1 = 1