Commander sa box domotique à la voix grâce à Workflow sur iPhone

4

Avec la sortie de Google Assistant et très bientôt Siri et (on l’espère) Amazon Alexa, les assistants vocaux ont la côte en ce moment. Il faut dire qu’ils facilitent tellement la vie que c’est tout à fait normal, surtout quand on peut piloter très facilement son système domotique grâce à eux :) Mais ils ont deux inconvénients: le plus souvent, il faut posséder un appareil comme un Google Home ou un Amazon Echo; ensuite, toutes les données transitent dans le Cloud, avec les risques que ça engendre en cas de coupure d’internet et de sécurité des données. Aujourd’hui je vous propose une méthode qui ne coute rien, et qui s’installe facilement sur la plupart des smartphones. Il ne s’agit pas de Tasker sur Android comme nous avions déjà vu une fois sur le site, mais de Workflow sur iPhone.

Je cherchais pour ma part à allumer la lumière via Siri, depuis mon iPhone. Il y a bien le contrôle des périphériques Homekit, comme la douille Koogeek Smart Socket que nous avions vue, mais le système Homekit est pour le moment trop restrictif. Ici je voulais pouvoir piloter les périphériques de ma Zipabox. Mais la méthode peut fonctionner avec toute box domotique pilotable par requête http. Même si au final ça n’est pas directement Siri qui lance la commande, c’est tout de même accessible rapidement depuis le centre de notifications de mon iPhone (widgets) et avec la commande vocale. Je ne suis pas un informaticien, et je débute en domotique, mais j’ai trouvé cette méthode pratique et facile à mettre en place, donc soyez indulgents ;-) Si certains s’aperçoivent de raccourcis ou simplifications, ne pas hésiter à commenter !

Pré requis pour piloter sa Zipabox avec Workflow

  • Une box domotique (Ici une Zipabox)
  • Un serveur web (ici un NAS Synology, mais n’importe quel serveur pouvant héberger une page php fera l’affaire (pages perso de votre fournisseur d’accès par exemple)
  • un module à actionner (ici un dimmer)

I. Créer un module virtuel sur la Zipabox

Pour commencer, on crée donc un Virtual sensor sur la ZIpabox. Je l’ai appelé « Lumière Salon ».

On récupère l’adresse http permettant de l’activer comme ceci :

Un clic sur la roue crantée permet d’accéder à l’url recherchée:

Copiez cette adresse quelque part.

II. Créer le script php

On crée ensuite une page sur le serveur web, qui appelle cette adresse. Désolé, je n’y connais pas grand chose en programmation, donc on se contera d’une page très simple, qui contient le code suivant :

<?php
header(« location : entrer votre adresse ici »);
//header(‘Location: test.html’);
//exit();
?>

Entrez l’url récupérée plus haut à cet emplacement, et pensez à ajouter le chiffre 1 à la fin de l’adresse  pour actionner le module:

TRES IMPORTANT : Le nom de cette page sera le nom que vous appellerez avec votre téléphone pour actionner le module. Pour moi, Salon.php (la majuscule a son importance).

Vous pouvez ensuite créer la page qui fera l’action inverse (« Eteindre.php par exemple, avec 0 à la fin de l’adresse cette fois ci pour désactiver le périphérique).

Hébergez cette page sur votre serveur.

III. Création des règles sur la Zipabox

Il nous faut maintenant créer 4 règles

  • une qui actionne le module lorsque le virtual sensor est actif.
  • une autre qui éteint le module lorsque l’état est inactif.
  • une règle qui remet l’état à inactif si la lumière est éteinte par l’interrupteur
  • et enfin sa réciproque si la lumière est allumée par l’interrupteur

Cette capture écran vous les présente:

IV. Création de la commande vocale sur Workflow.

Dans un premier temps il vous faudra télécharger l’application « Workflow » (vous pouvez lire une présentation de cette application très intéressante si vous la découvrez).

Une fois installée, cliquez sur « Create Workflow », puis sur Actions en bas à gauche

Dans la barre de recherche, cherchez « Dictate text »

Il faut ensuite faire un glisser déposer vers la droite pour obtenir ceci :

Retournez dans Actions, puis cherchez « URL ». Idem, glisser déposer vers la droite.
Dans la barre de champ URL, entrez l’adresse où est hébergée votre page Php (pour moi la page Salon.php sur mon Synology).

Important: ne pas écrire le mot clé dans l’adresse (pour moi Salon), mais le remplacer par « Dictated text », accessible sur l’application en raccourci au dessus du clavier. Cela permettra de récupérer la commande vocale. On obtient ainsi: https://votreadresse.com/dossier/dictatedtext.php

Ajoutez ensuite la dernière action : « get contents of URL ». Cela ouvrira la page en question, et actionnera donc le module.


Enregistrez votre workflow. Renommez le, et dans les réglages, définissez le en « today widget ». Cela le rendra disponible depuis le centre de notifications de votre iPhone. Pensez à ajouter le widget worflow  (slide à gauche depuis la page d’accueil de votre Iphone, puis tout en bas, modifier)

Si vous lancez le workflow, il vous sera demandé de dicter un texte. Normalement si vous dictez  votre mot clé, qui est le titre de la page défini plus tôt (« Salon » pour moi, la majuscule vient de la…) votre lumière s’allumera.

Il suffit ensuite de reproduire la manip en définissant plusieurs mots clés. A chaque mot clé doit correspondre une page sur le serveur web.

Voila,  cela fonctionne chez moi. C’est du « bidouillage », mais cela répond à ma problématique, et je peux épater mes amis en commandant ma maison avec la voix :)

N’hésitez pas si vous avez des questions, les commentaires sont là pour ça !

 

Partager

4 commentaires

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 !