Jeffrey Cross
Jeffrey Cross

IFTTT ajoute un nouveau canal Maker

Le service le plus populaire en ligne pour la connexion de services en ligne et l’automatisation de tâches qui les utilisent, IFTTT, ou «If This Then That», vient de s’accrocher à du matériel piraté par le fabricant.

IFTTT a commencé comme un moyen de connecter des outils et des services en ligne, en se déclenchant l'un l'autre. Par exemple, vous pouvez avoir une «recette», comme les tâches IFTTT sont appelées, qui prend automatiquement chaque nouvelle photo que vous publiez sur Instagram et l'enregistre sur votre Dropbox. Si cela: vous postez une photo. Puis ça: enregistrez-le sur Dropbox. C’est en fait assez puissant, et vous pouvez faire beaucoup de chemin en utilisant, à première vue, un moteur de règles relativement simple.

Au cours de la dernière année environ, toutefois, le service est devenu encore plus puissant, car le site a pris en charge de prendre en charge non seulement les services en ligne purs, mais également des éléments. De votre thermostat Nest à vos SmartThings, vos commutateurs WeMo et vos périphériques Wink, la liste de ce que IFTTT appelle des produits de type «maison connectée» par laquelle il peut à la fois recevoir des données et le contrôler a augmenté rapidement.

Ce qui n’était pas si intéressant pour les bricoleurs, car la plupart du matériel informatique était fortement standard. Cependant, récemment, IFTTT a ajouté quelque chose pour nous: un canal Maker.

Cela vous permet de connecter IFTTT à vos projets personnels. Vous pouvez maintenant écrire des recettes qui peuvent être déclenchées par l’un de vos propres projets, comme un Arduino connecté au réseau ou un Raspberry Pi. Vous pouvez également envoyer des messages à un Arduino connecté au réseau directement à partir d’IFTTT et déclenchés par n’importe quel service existant. Voici comment.

Comment déclencher des événements

Une fois que vous avez connecté votre IFTTT au canal Maker, déclencher un événement - créer le «si» de IFTTT - est simple. Il suffit d’envoyer une demande Web GET ou POST avec un nom d’événement et une clé secrète - la clé est attribuée lorsque vous vous connectez au canal - du formulaire,

https://maker.ifttt.com/trigger/{event_nameName/with/key/{secret_key}

avec un corps JSON facultatif comprenant jusqu'à trois valeurs, ou chaînes, à transmettre à l'action dans votre recette. Étant donné que vous pouvez déclencher cet événement avec quelque chose d'aussi simple que curl à partir d'une ligne de commande, il s'agit d'un levier très puissant, car il est très simple de déclencher une recette IFTTT à partir d'un Raspberry Pi ou même d'un Arduino en réseau.

Comment appeler les services

L'appel de services à partir de recettes - le «cela» d'IFTTT - est également très simple. Vous avez juste besoin de fournir et endpoint, une adresse Web ou une URL en d'autres termes, pour qu'il appelle. La recette peut prendre la forme d'une requête GET, POST ou DELETE, et peut éventuellement contenir des variables et du contenu. Vous pouvez transmettre des données - éventuellement celles fournies par le service ou le périphérique déclencheur - à votre service Web distant.

Maintenant, ce service peut être hébergé dans le cloud, mais si vous avez une adresse IP statique à la maison - ou utilisez un service DNS dynamique comme DynDNS -, il pourrait tout aussi bien vivre sur un Raspberry Pi, ou un Arduino assis chez vous. .

… Et ensuite ça, mais aussi ça?

Une des choses dont on se plaint quand on parle d’IFTTT, c’est qu’elle porte bien son nom, cela déclenchera un événement si quelque chose se passe, mais vous ne pouvez pas enchaîner les événements ensemble, et le service n’a pas d’accroche pour prendre des décisions, ou faire deux choses au lieu d'un.

Avec le nouveau canal Maker, il est maintenant très facile de le faire. Nous pouvons créer une recette qui déclenche une demande Web Maker vers un service distant. Le service peut à son tour se retourner et utiliser le canal Maker pour déclencher différentes actions IFTTT, voire plusieurs actions.

Preuve de concept

Pour tester cela, j'ai mis en place une recette simple. Cette recette est déclenchée chaque fois que ma jauge de pluie Netatmo détecte qu'il pleut et appelle un simple script CGI sur l'un de mes serveurs. Apparemment, je suis du genre à avoir plusieurs serveurs cachés dans des racks. , vous savez, juste pour les urgences.

Le script qu'il appelle est très simple: il renvoie à IFTTT, déclenchant deux recettes différentes de Maker Channel. Comme il s’agit d’une preuve de concept, je le fais de manière ridiculement absurde et stupide - j’utilise un simple script Bash et la commande curl.

#! / bin / bash echo "Type de contenu: texte / html" echo "" echo "Chaîne Maker "echo""secret_key =" SECRET_KEY "chaîne = $ IFS IFS = '= &' param = ($ QUERY_STRING) IFS = $ chaîne echo"

$ {param [0]} = $ {param [1]}

"curl https://maker.ifttt.com/trigger/remote_trigger/with/key/${secret_key} echo"

"curl https://maker.ifttt.com/trigger/other_trigger/with/key/${secret_key} echo"'

Comme vous pouvez le constater, ce script appelle simplement deux autres recettes IFTTT que j'ai configurées sur le service. Le premier bascule mon Blink (1) pour me faire savoir qu’il pleut.

Mais, comme la pluie à l'extérieur rend mon bureau à la maison lugubre, le prochain appel allume l'un de mes commutateurs Belkin WeMo, celui connecté à ma lampe de bureau.

Évidemment, dans ce cas, j'aurais tout aussi bien pu mettre en place deux recettes distinctes qui ont déclenché le premier événement - qu'il avait commencé à pleuvoir - une pour allumer mon Blink (1), l'autre pour allumer ma lampe de bureau. Mais rappelez-vous, ceci était juste une preuve de concept.

J'aurais tout aussi bien pu envoyer cette notification - qu'il avait commencé à pleuvoir - à un service plus complexe qui rendait un jugement, examinait ou mesurait d'autres choses, puis prenait une décision qui allait au-delà du simple moteur de règles de la IFTTT. Ou déclenchez un élément matériel, peut-être un Arduino, qui contrôle mes fenêtres ou qui entraîne une protection contre la pluie. Quelque chose qu'IFTTT ne pouvait ni parler ni contrôler auparavant.

Qu'en est-il de la sécurité?

Maintenant, ce que j'ai fait ci-dessus était terriblement peu sûr, j'ai exposé au monde entier un script - une application Web en d'autres termes - qui pouvait basculer un commutateur contrôlant une lumière de ma maison. Ce n’est évidemment pas quelque chose que vous souhaitez faire, mais c’est la raison pour laquelle les services d’IFTTT offrent la possibilité de transmettre davantage d’informations au service distant.

Il ne serait pas difficile de configurer un lien authentifié TOTP entre les deux, par exemple, un échange de jeton ou de clé - et de protéger votre compte IFTTT lui-même? Ils viennent d’ajouter une authentification à deux facteurs.

Part

Laisser Un Commentaire