Automatiser la création de tâches dans todoist depuis jeedom

Suite à la mise en place des messages d’entretien de mon robot aspirateur (vous avez pas lu l’article ?!), je me suis retrouvé avec une gestion simple des compteurs et une information envoyé à l’utilisateur pour la mise à jour.

Sauf que comme j’étais jamais chez moi quand je recevais ce message, et bien je créais une action dans notre outils de gestion des tâches (todoist) et je réinitialisais le bon compteur via un scenario/widget. C’est-à-dire, exactement ce qu’on faisait précédemment dans l’application Xiaomi.

Ma tendre moitié m’a alors demandé :

  • ça serait pas possible de créer automatiquement une tâche partagée pour l’entretien ?  Comme ça, le premier qui fait l’opération coche l’action et hop, cela met à jour le compteur. ..
  • C’est pas bête ça… mais pffft y’a pas de plugin todoist dans jeedom… je vais y réfléchir…

Bon, je vous spoile un peu mais OUI c’est possible. Evidemment sinon j’aurai pas fait cet article.

Il existe même DEUX méthodes pour créer des tâches todoist ; Une méthode avec une interface toute jolie, plus facile… et une méthode « barbue » ligne de commande. Cet article ne détaillera que la méthode facile mais je vous donnerai des indices sur la méthode barbue si cela vous intéresse.

Et pour cela, IFTTT est votre copain Mais si, mais si vous allez voir.

Prérequis

  • avoir un compte IFTTT
  • avoir un Jeedom fonctionnel
  • avoir un compte todoist (ET des tâches partagées si vous êtes plusieurs…)

Installer le plugin IFTTT dans jeedom

Le plugin est gratuit, on l’installe et on suit la procédure habituelle.

Ajouter todoist dans IFTTT

Il faut activer le service dans IFTTT

Ajouter un webhook dans IFTTT

Webquoi ? webhook. C’est un mécanisme intégré dans IFTTT pour obtenir une URL spécifique à appeler depuis l’extérieur.

On active le service dans IFTTT : https://ifttt.com/maker_webhooks

Cela vous donne une clé. On en aura besoin plus tard pour jeedom, mais pas besoin de la noter de suite.

Créer un scénario IFTTT pour générer une tâche todoist depuis ifttt

IFTTT permet de récupérer plusieurs éléments dans un webhook : un nom d’évènement, et trois valeurs facultatives. On crée donc une nouvelle recette en partant de webhook. J’ai nommé le mien ainsi : robot

Il faut créer le projet au préalable dans totoist
A vous de voir comment organiser la tâche
Tâche du jour, bonjour.

Configurer IFTTT dans Jeedom

Pas trop compliqué, mais il faut recopier notre clé depuis ifttt vers jeedom. Commencer par récupérer la clé dans votre configuration IFTTT

La clé est dans la zone rouge

Ensuite dans le plugin Jeedom, commencer par “Ajouter” un nouveau IFTTT. Donnez lui un nom explicite (genre IFTTT Robot)


On recopie la clé de notre webhook dans l’emplacement … clef du plugin.

Ensuite, on crée les différentes actions. Dans la partie nom, on indique le nom à utiliser dans les scénarios Jeedom. Evenement contient le nom de l’évenement dans IFTTT et enfin les valeurs contiennent les valeurs à passer à IFTTT. Dans mon cas je n’ai besoin que de “valeur 1”

Configurer le scénario pour appeler ifttt

La aussi, ce n’est pas compliqué. Quand on a besoin de créer la tâche, on fait appel à notre action IFTTT.

A ce niveau-là, plus qu’à tester pour vérifier que tout va bien. Mais le scénario devrait automatiquement créer une tâche dans todoist.

Hourra. Allez prendre un café, vous l’avez bien mérité…. quoi ? Ah oui, la version barbue!

Bonus : API Todoist

Alors, oui IFTTT est vraiment un truc cool, pratique. Et je vous le conseille grandement.

MAIS on utilise un intermédiaire de plus. Et en informatique, un intermédiaire de plus, cela signifie des délais allongés, des conditions de service pouvant être dégradés… On a pas de garantie qu’IFTTT ne deviendra pas payant… et qui s’occupe des mises à jour d’API ?

TODOIST a bien fait son travail : ils ont directement fournis leur API.

todoist a même créé un script python sous github :
https://github.com/doist/todoist-python . Cela tombe bien, les scripts python sont utilisables dans Jeedom via le plugin script.

Attention à ne pas oublier de créer une application pour obtenir un token valide.

https://developer.todoist.com/appconsole.html

J’ai par exemple créé une application … jeedom_skipcool.

On peut ensuite créer un script python pour aller créer automatiquement une tâche : voir ici unexemple fourni https://developer.todoist.com/sync/v7/?python#add-two-new-tasks

Une fois le script fini, on peut l’utiliser dans Jeedom via le plugin script.