L’interface IFTTT générique est arrivée : les requêtes HTTP pour les MAKERS8 minute(s) de lecture

Le peu que l’on puisse dire c’est qu’on l’a attendu celui là. Le Channel générique permettant d’interfacer toutes les API entre elles sur le papier c’est lui. Le Channel permettant à n’importe quel système ouvert de venir s’interfacer avec l”écosystème IFTTT c’est l’une de ses promesses. Le Channel Maker se doit d’être à la hauteur des espérances. Dès le début de l’aventure IFTTT, dès qu’il a eu les épaules assez large pour ouvrir ses services vers la Smart Home, la question de pouvoir utiliser des requêtes HTTP pour parler à IFTTT ou pour l’écouter s’est très rapidement posé. Ce manque semble être comblé.

Maker+Channel+visual

IFTTT est un service sur Internet qui permet de gérer des flux de données automatiquement. Dans le jargon IFTTT les sources ou destinations des flux s’appellent les Channels. Les liens entre les channels, les règles décrivant leurs interactions sont les recettes (recipes). IFTTT est le liant qui permet de faire communiquer tous ces services web entre eux. En les assemblant les uns aux autres, on arrive à créer tout un tas de combinaisons de fonctionnalités et d’automatismes. Il faut dire que lorsque l’on s’inscrit sur IFTTT on est ravi de découvrir que 192 channels sont disponibles.  On a alors à notre disposition un environnement très simple  et très facile d’utilisation permettant de les relier ensemble à un coût très honnête : IFTTT est un service entièrement gratuit.

ifttt-logo-new

Lorsque IFTTT a été lancé, le service ne permettait d’interconnecter que des services web classiques. On parlait alors de mail, de Twitter, de Facebook, de SMS, … par la suite des objets physiques sont venus enrichir l’offre. Le premier objet à être connecté était la prise connectée Wemo de Belkin. Aujourd’hui, le nombre d’offres pour la Smart Home s’est bien étoffé. On retrouve au catalogue tout un tas de systèmes dotés d’API et donc taillés pour être interconnectables:

  • Wemo de Belkin
  • MyFox
  • HomeSeer
  • iSmartAlarm
  • Revolv
  • Smart Things
  • Blink
  • EcoBee
  • les télécommandes Harmony
  • les thermostat Honeywell
  • les périphériques Wink
  • les ampoules Lifx
  • les ampoules Hue
  • Lutron
  • le détecteur de fumée Nest Protect
  • le thermostat Nest
  • la station météo Netatmo
  • les appareils Adndroid
  • les appareils iOS
  • les imprimentes HP

A cette liste non exhaustive viennent s’inscrire également les systèmes autour de la santé connectée et autres wearables:

  • Withings
  • Fitbit
  • UP
  • Misfit
  • Google Glass

Que du beau monde!

Pour ceux qui ne se sont pas fait répertorié ou qui n’ont pas eu de réponse favorable de la part de IFTTT, l’accès à cet écosystème leur était non pas fermé, car les API des un et des autres ne sont pas exclusives au service d’ordonnancement en ligne, mais rendu plus complexe car les interfaces devaient alors être développées au cas par cas. Pour tenter de palier à ce manque je vous avais proposé un développement maison partage sur ce blog appelé tout simplement IFTTT-2-API. Il permettait de relier IFTTT à tout système doté d’API ouvertes.

ifttt-2-api

Le Channel permettant de relier tout système avec IFTTT via des requêtes HTTP vient apporter une réponse “officielle” a ce besoin clairement nécessaire. Il est destiné aux clients de IFTTT qui ont des compétences informatiques basiques leur permettant de comprendre la construction de requêtes HTTP. C’est pour cela qu’on retrouve ce nouveau channel sous le nom de Maker.

Pour pouvoir utiliser le chanel Maker il faut l’activer. Cela se fait le plus simplement du monde en recherchant dans la liste des 192 channels celui qui nous intéresse aujourd’hui. un moteur de recherche facilite cette localisation.

ifttt_maker_channel_search

L’activation se fait tout simplement en cliquant sur “Connect”.

ifttt_maker

Le Channel est opérationnel. Il propose 2 possibilités d’interfaçage. Il peut être utilisé en tant que déclencheur dans une règle (le IF THIS) ou bien en tant qu’action résultante (THEN THAT).

Maker en tant que trigger

Lors de l’activation du channel Maker, un identifiant unique vous a été attribué, vous permettant d’appeler IFTTT via des requêtes HTTP lui permettant de vous identifier de manière certaine. Cet identifiant, également appelé “secret key” ne doit en aucun cas être communiqué à des tiers. Ils auraient accès à votre Channel Maker et pourraient l’utiliser.

ifttt_maker_channel_on

Avec un chanel Maker on peut créer plusieurs requêtes HTTP. Elles n’ont pas obligatoirement des liens fonctionnels les unes avec les autres. Lorsqu’une requête HTTP arrive à IFTTT le service sait qu’elle vous appartient car votre “secret key” est incluse dans la requête.

Pour savoir quelle règle il faut qu’elle déclenche, IFTTT demande que vous communiquiez un “event”. Cet “event” est un mot qui vous appartient et que vous choisissez comme bon vous semble. Un “event” pourra par exemple être le mot “ma-smart-home”.

Pour apporter des éléments croustillants à la règle qui est déclenché par votre “event”, la possibilité de communiquer 3 paramètres est disponible. Dans la requête HTTP, les paramètres prennent les noms de value1, value2 et value3.

Sachant tout cela je peux maintenant vous dévoiler la orme que pourra prendre la requête HTTP type que votre système devra utiliser pour communiquer des informations précises à IFTTT:

https://maker.ifttt.com/trigger/my-event/with/key/azertyuiopqsdfghjklm?value1=aaaa&value2=bbb&value3=cccccc

avec:

  • my-event = votre code d’événement par exemple: ma-smart-home
  • azertyuiopqsdfghjklm = votre secret key imposée par IFTTT
  • aaaa = la valeur du paramètre 1, par exemple : temp-salon
  • bbb  =  la valeur du paramètre 2, par exemple : 21,3
  • cccccc  =  la valeur du paramètre 2, par exemple : 25-06-2015 20:15

En contactant cette requête HTTP depuis votre centrale domotique vous serez mis en relation avec IFTTT Vous êtes par exemple alors capable de lui fournir, à une fréquence régulière, des relevés de températures venant de la sonde de votre salon. En utilisant cet “event” dans une règle qui met en relation le channel Maker et le channel Google Drive, vous pouvez ainsi sauvegarder automatiquement vos relevés. Ça ouvre des portes aux multiples usages non?

Maker en tant qu’action

L’autre moyen d’utiliser le channel Maker est de le mettre en oeuvre afin de communiquer à un service distant joignable par une API un ensemble de données ou d’événement provenant de tout autre channel IFTTT.

Lorsque l’on est en train de construire une règle (ou recipe dans le jargon IFTTT) on peut faire appel au Channel Maker afin de construire une requête HTTP pour joindre un service web distant qui ne serait pas géré nativement pas IFTTT. Cela permet par exemple de faire appel aux box domotiques qui proposent des API publiques sans afin à déployer la solution IFTTT-2-API. Cette solution restera d’actualité dès lors que vous aurez à retravailler un peu la donnée ce qui permettait de faire Google Drive.

Lorsque vous êtes en train de construire votre règle d’automatisation de tâches dans IFTTT et que vous avez terminé de paramétré le channel déclencheur (trigger) vous devez utiliser le channel Maker en tant qu’action résultante.

ifttt_maker_channel_regle_selection

Le paramétrage de la requête à invoquer dépend du système distant avec lequel vous devez communiquer. Les requêtes communes GET et POST sont possibles. Pour joindre une box domotique la requête à paramétrer sera du style:

ifttt_maker_channel_regle_selection3

Les paramètres acceptés par l’API de votre box pourront être renseignés “en dur” dans la règle ou bien en dynamique et instruits par le channel qui déclenche la règle d’automatisation. Avec cette manière de faire, le domaine des possibles s’ouvre au monde de la domotique 2.0 sans qu’il y ait à effectuer de développements de scripts ou autres “bout de codes”.

En conclusion

Le succès du service en ligne IFTTT tient de sa puissance à mettre en relation des services et systèmes hétérogènes de manière centralisée. IFTTT a également la bonne idée de proposer une utilisation très simple (sans être trop simplifiée). Avec les requêtes HTTP, IFTTT saura surement se rendre un peu plus indispensable à l’image des usages qui lui réserve Belkin qui considère IFTTT comme sa box domotique dans le cloud qui ordonnance les actions entres ses périphériques Wemo.

Le but de cet article était de vous proposer une présentation de cette nouvelle fonctionnalité de IFTTT. Il est prévu que je vous retrouve très prochainement sur le blog avec des cas de mise en oeuvre permettant de vous comment tout ceci se met en place concrètement pour des besoins bien précis. Vous avez maintenant, après cette introduction, tout plein d’éléments en main afin de partir à la découverte de nouveaux horizons d’automatisations.

Si vous utilisez IFTTT, il faut que vous le fassiez en connaissance de cause. Aussi puissant et simple d’utilisation que soit se système, il faut que vous gardiez à l’esprit qu’il s’agit d’un service Web. Si votre connexion Internet est hors service, IFTTT ne pourra plus jouer son rôle. Si le service IFTTT est inaccessible car en panne ou bien en cours de maintenance, les règles ne joueront pas leur rôle. Sachant cela, vous avez maintenant de quoi bien vous amuser en poussant un peu plus l’automatisation de la Smart Home et son intégration dans l’Internet de Objets.

8 Comments

  1. Pierre said:

    c’est vraiment pas mal ça. J’ai un téléphone avec tasker chez moi, ce qui fait que je reste en réseau local.
    Mais si on accepte de se reposer sur internet, c’est LA bonne solution. A l’image de Belkin, comme tu le dis, on peut considérer ça comme une box domotique sur le cloud.

    Au passage ; Merci pour tes articles toujours très bien rédigés, bien étayés par des bonnes infos 😉

    jeudi 25 juin 2015
    Reply
    • Hervé Hervé said:

      Bonjour Pierre,
      J’ai tendance à privilégier également l’aspect communication locale à la maison. IFTTT me sert à récupérer des données sur le Web ou bien à synchroniser des informations disponibles sur 2 services distants. Ces informations ne sont pas critiques pour ma domotique mais sont plutôt à reléguer du côté du pratique ou du confort.

      Merci également pour ton compliment sur le travail effectué. Ça fait toujours plaisir!

      jeudi 25 juin 2015
      Reply
  2. EnR37 Enr37 said:

    Reste plus qu a rédiger des exemples concrets :p

    vendredi 26 juin 2015
    Reply
  3. RSyrek said:

    Une superbe nouvelle,
    tu vas nous préparer qqchose Hervé 😉
    Partagé sur G+ FB 😉

    vendredi 26 juin 2015
    Reply
    • Hervé Hervé said:

      On n’est pas à l’abri…
      Merci pour le partage

      vendredi 26 juin 2015
      Reply
  4. Le même principe qu’Autoremote pour Tasker. Une efficacité redoutable !

    dimanche 2 août 2015
    Reply

Laisser un commentaire

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

Prouvez que vous êtes humain: * Time limit is exhausted. Please reload CAPTCHA.