Tuto : Commander sa Box Zipato grâce à Google Home (via IFTTT) – 2ème partie

9

Suite au premier tuto où nous avions vu comment activer/désactiver une action sur la Zipabox  en passant par l’assistant vocal Google home, il est temps maintenant de voir comment gérer des variables, et ainsi pouvoir régler précisément une intensité lumineuse ou la hauteur d’un store, par exemple. En effet, dans le premier guide, nous réalisions une action tout ou rien, par exemple allumer ou éteindre la lumière. Avec ce guide nous allons pouvoir aller beaucoup plus loin dans la précision des demandes faites à Google Assistant.

Ce qu’il faut :

  • Un Google Home
  • Une box Zipato (Zipatile dans mon cas)
  • Un compte IFTTT

I. La configuration sur la Zipabox

Nous allons ré-utiliser le «  Virtual Meter » (Virtual_Http_Status_Exchange dans mon cas) que nous avions créé lors du tuto précédent. Pour cela cliquez sur le « Virtual Meter » pour éditer les variables qui vont nous servir pour nos futures règles.

On clique sur le module, puis sur son sous-ensemble, et sur « Meter ».

On édite une des lignes « No name » et on change le nom en une variable qui correspond au module que l’on veut contrôler (Store_Sam dans mon cas). Contrairement aux actionneurs classiques, il faut créer 1 variable par module:

Maintenant, il faut créer une règle par module qui va pouvoir régler ceux-ci  à la valeur voulue.

Lorsqu’on déclenche 1 commande vocale, cela attribue la valeur de la variable créée précédemment (Store_Sam dans l’exemple). Il faut donc déclencher une action quand le champs « Store_Sam » > 0, réaliser l’action puis ne pas oublier de remettre « Store_Sam » à 0.

On débute notre nouvelle règle par un contrôle « Quand »

On ajoute un Opérateur « > »

Dans lequel on met un capteur « Mesure »

Qui possède notre module virtuel « Virtual_Http_Status_Exchange » réglé sur « Store_Sam ». On compare à « 0 »:

On crée autant de contrôles « Si » que d’actions vocales. Par exemple, si je veux allumer la lumière de ma salle à manger :

On ajoute une action « régler » à réaliser, on met le module que l’on veut contrôler, on choisit de régler la position (dans le cas d’un volet ou d’un store) puis on ajoute notre variable

On n’oublie pas de remettre notre variable à 0

On sauvegarde et on n’oublie pas de synchroniser.

II. Configuration de IFTTT

Il nous faut maintenant configurer le service en ligne IFTTT, qui permet d’interconnecter de nombreux services et objets connectés. On ouvre donc la page Web de IFTTT, on s’identifie, et on clique sur « My applets »

Puis sur « New Applet »

On clique sur le « + » de « if + this then that », et on choisit « Google Assistant » (et on relit celui-ci à IFTTT si ce n’est déjà fait).

On choisit « Say a simple phrase with a number»

On remplit « What do you want to say? » par la phrase que l’on veut dire. On remplace le chiffre que l’on veut saisir par un « # ». Par exemple « Règle le store à 80 pourcents » devient « Règle le store à # pourcents »

On remplit « What’s another way to say it? (optional)» par une alternative à la phrase que l’on veut dire. Par exemple « Règle le store à # ». On peut remplir « And another way? (optional) » si nécessaire.

Si on veut un retour vocal, on remplit la ligne « What do you want the Assistant to say in response? ». Dans mon cas « Je régle le store à # pourcents »

On règle « Language » sur « French »

Et on valide.

On clique ensuite sur le « + » de « if this then + that », et on choisit « Webhooks »

Puis « make a web request »

Pour obtenir l’url à renseigner ici, il faut retourner dans l’interface Zipato,  « Gérer vos modules »,  Virtual, « Virtual_Http_Status_Exchange » (dans mon cas), « Virtual_Http_Status_Exchange » (dans mon cas), puis Meter.

Puis on clique sur la roue crantée de notre variable

Et on copie ce qu’il y a dans « URL »

On retourne sur IFTTT, et on colle notre URL. On clique sur « add ingredient »

Et on choisit « NumberField »

On change « Method » sur « POST »

On change « Content Type » en « text/plain »

On ne met rien dans Body

On clique sur « Create action »

Puis Finish

Et on vérifie que la règle est sur « ON » (c’est généralement ce qui fait que cela ne marche pas)

Et maintenant on teste sur sa Google Home en disant la phrase qu’on a créé. C’est fini !

 

Pour mieux comprendre le fonctionnement, ej vous ai réalisé une petite vidéo du résultat des 2 tutos en images. Comme vous le verrez, la box Zipato répond au doigt et à l’oeil :D

 

Partager

9 commentaires

  1. merci ça fonctionne au top. me reste a reproduire 13 fois pour les dimmer et 20 fois pour les rideaux intérieures et extérieures
    Si on multiplie les regles et requetes n’y a t’il pas un risque de fort ralentissement ?

  2. Bonjour Eric,
    Multiplier les régles ne m’inquiétte pas trop, car il faut que les « si » soit respectés, donc peu de ressources utilisées.
    Une autre solution serais de mixer les 2 tutaux, en ajoutant 1 action Webhooks sur IFTTT lorsque tu utilises une variable.
    Grosso modo, tu vas dire d’envoyer un déclencheur comme dans la méthode 1 pour activer ta scéne, et tu vas récupérer la valeur comme dans la méthode 2, ce qui réduit le tout à 1 seule régle.
    Il faut que j’essaye cela….

  3. Bonjour,
    Tu n’as pas eu des problèmes avec le bloc qui remet à zero la variable après l’exécution. Au début cela fonctionnait bien pour moi et ensuite la variable ne se réinitialisait plus. J’ai du basculer sur une requete HTTP qui mets la variable à 0. C’est un peu plus tordu mais ça fonctionne mieux pour moi. Bizarre cette zipabox.

  4. Bonjour
    Merci beaucoup pour ce tuto! Génialissime! J’ai pu le mettre en oeuvre pour piloter le volume de mon ampli marantz via des commandes http et allumer et eteindre mes appareils. Vive la commande vocale et bravo pour votre tuto!

  5. Question pou raller plus loin … quelle serait la méthode pour donner un ordre a GH du type: ferme le portail dans 5 minutes ?
    L’idée est de pouvoir fournir un timer avec variable et de faire executer une action ou scene à X minutes.

    Autre question hors de ce sujet … peux t’on faire parler la Google home sur action ?

    Merci pour le tuto N°1 en tout cas … good job.

    Asab

    • Pour ce besoin, j’utiliserais une action de temporisation (WAIT) en reprenant la valeur renvoyée par IFTTT que je multiplie x 60, avec un opérateur, afin d’avoir la demande en secondes. Puis, en dessous, je mets l’action de fermeture de votre portail. Avec l’action IFTTT, vous aurez votre GH qui vous dira par exemple « le portail se fermera dans x minutes » mais si votre question est de faire parler GH via la Zipabox, là, je ne sais pas comment faire.

      • La solution est bonne, mais présente l’inconvénient que pendant la temporisation, on ne pourra plus intervenir sur les autres actions (on est en séquentiel).
        L’idéal serais de déclencher une autre règle (via un virtual meter) qui lancera le wait et fera l’action afin de libérer la première plus rapidement.
        Pour faire parler la GH, j’y travaille mais ce n’est pas facile actuellement. Cela passe soit par un raspberry, soit par l’installation de Tasker sur la Zipatile.
        J’ai aussi tester de faire parler directement la Zipatile, mais le son est juste merdique.

Laisser un commentaire

Ne ratez plus aucune news !

Inscrivez vous à notre newsletter, et recevez chaque mois toute l'actualité du blog pour ne plus rien louper: actualité, guides, tutoriaux, concours !

Merci pour votre inscription !