Déclencher son robot-aspirateur depuis une app, c’est bien. Mais ce serait encore mieux de le demander directement à Siri… Malheureusement, iRobot n’a pas prévu d’intégration avec l’assistant vocal d’Apple. Il va donc falloir ruser et utiliser Raccourcis (Shortcuts) et plusieurs services pour contourner l’obstacle. En l’occurrence IFTTT pour créer des actions conditionnelles sous la forme Si… Alors… ; Dropbox, le dossier hébergé dans le cloud et Webhooks, que je détaillerai dans quelques lignes.

Shortcuts, IFTTT, Dropbox et Webhooks : tous pour un

Ma première idée était d’utiliser une astuce qui remonte aux temps héroïques de la programmation séquentielle : tester l’existence d’un fichier pour en faire un flag et déclencher des actions en conséquence. En l’occurrence, créer un ficher dans un répertoire Dropbox puis utiliser If This Then That (IFTTT, désolé pour les bègues) pour lancer l’aspirateur dès que le fichier est détecté.

Cerise sur le gâteau, le fichier aurait contenu un journal des opérations, c’est à dire la date et l’heure de chaque lancement du robot.

Sur le principe, ça fonctionne très bien. Mais dès que l’on veut affiner on se rend compte que IFTTT sait seulement détecter les nouveaux fichiers, pas les modifications. Cela signifie que l’on aurait dû créer un fichier à chaque lancement du robot et renoncer à l’idée du journal, sauf à récupérer les dates de création de chaque fichier et les ajouter à un nouveau document, à un autre endroit de la Dropbox, avant de faire le ménage dans le répertoire surveillé.

Autre solution : lire le contenu du fichier et le stocker dans une variable, supprimer le fichier, ajouter le nouvel horodatage à la variable et l’enregistrer dans un nouveau fichier. Problème : les opérations de lecture-suppression-réécriture sont trop rapides pour que IFTTT détecte l’apparition du nouveau fichier.

Il aurait été plus simple d’ajouter une ligne à un tableur en-ligne comme Google Sheets ou d’activer directement IFTTT depuis un script. Mais depuis que Workflow est tombé dans l’escarcelle d’Apple pour devenir Raccourcis, les liaisons vers certains services tiers ont disparu. Exit donc la possibilité de communiquer directement avec Google et IFTTT.

C’est en cherchant à contourner cette limitation que je suis tombé sur cet article de Dan Wright qui suggère d’utiliser un webhook pour déclencher IFTTT.

A l’issue de ce long préambule, pour continuer vous devez donc avoir :

Un webhook ?

Un webhook est un moyen d’appeler une application tierce (un service web) lorsqu’une action définie a été effectuée. Par exemple, vous pouvez déclencher l’activation d’un webhook lorsqu’un nouveau contact est créé dans votre application de marketing automation.

Définition de « Webhooks » – Logiciel Automation

Dans la pratique la configuration de votre propre webhook se fait par IFTTT, je vous renvoie vers cet excellent tuto de Planète Domotique.

Une fois votre webhook activé, vous accèderez à un écran comme celui-ci, avec une URL qui contient votre clef unique qui doit rester confidentielle. Copiez-coller l’URL, vous en aurez besoin plus tard.

Le script côté IFTTT

La « recette » est simple à composer. Créez un nouveau script avec les paramètres suivants :

  • Pour le « This » : sélectionnez le service Webhook et donnez un nom à l’événement déclencheur. En l’occurrence « Menage » (sans accent, une vieille habitude prise à l’époque où les ordinateurs étaient en qwerty).
  • Pour le « That » : choisissez iRobot puis « Start robot ».

Selon votre modèle de Roomba, plusieurs options sont disponibles comme le nettoyage par pièces. Apparemment il n’est pas possible de récupérer le nom de la pièce à nettoyer que l’on passerait dans les paramètres de l’URL.

Le script côté Raccourcis

Sur votre appareil iOS, le script est d’une simplicité enfantine et se divise en deux étapes. D’abord on envoie l’URL obtenue chez Webhooks en remplaçant {event} par « Menage » ; ensuite on ajoute la date du jour (en format long pour avoir l’heure) à un fichier texte hébergé sur Dropbox.

Pour finir, il reste à ajouter le raccourci à Siri, en passant par les réglages dudit raccourci.

La solution rapide

Evidemment, il serait tout aussi simple d’ajouter directement votre URL Webhook « Menage » à Siri en l’ouvrant dans Safari puis en allant la récupérer dans les raccourcis suggérés des réglages Siri et recherche. Cette solution fait perdre la fonction journal (qui doit toutefois exister dans l’application iRobot) et surtout, elle prive du plaisir de taquiner Raccourcis.

Vous pouvez télécharger le raccourci sur ce lien

  1. Lien parrainé : si vous utilisez ce lien pour ouvrir votre compte, nous bénéficierons tous les deux d’un bonus de 500 Mo
Share.

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.

PHP Code Snippets Powered By : XYZScripts.com
%d blogueurs aiment cette page :