Site icon Abavala !!!

Publier des événements (domotiques) sur la Timeline de la montre Pebble

Lorsque la montre Pebble est arrivée à la maison sous sa forme Pebble Time suite à leur extraordinaire campagne de financement participatif sur Kickstarter, je me suis attelé à l’intégrer dans l’environnement technophile dans lequel elle devait maintenant apprendre à vivre.  Comme prévu, elle a su apporter une aide appréciée pour la supervision de la maison connectée. La nouvelle fonctionnalité appelée Timeline qui devrait arriver prochainement sur les premiers modèles de la montre est tout à fait adapté pour cette tâche de suppervision.  Voici un petit tutoriel à suivre afin de pouvoir brancher en quelques minutes n’importe quel système domotique, pouvant appeler en HTTP des API, sur la timeline de la montre connectée Pebble Time.

A la recherche d’une solution simple

Je ne vais pas vous faire l’affront de vous représenter le concept de la Timeline qui a été abordé dans cet article ou encore celui-ci.

Afin de pouvoir publier sur la Timeline de la montre Pebble Time il a fallu ruser. Pour l’instant seul ce modèle possède la Timeline mais ce sera possible pour la Pebble classique plus tard. D’après les communications officielles de la marque, Pebble permet de publier des choses sur la Timeline facilement… pour peu que l’on soit développeur d’applications pour la montre connectée. C’est là que ça se corse. Si vous souhaitez vous lancer dans cette voie, la documentation de l’API est disponible sur le site que Pebble met à disposition des développeurs.

pebble-time-timeline

Pour pouvoir faire en sorte que la montre connectée Pebble serve de périphérique permettant de jetter un oeil sur tout ce qui s’est passé à la maison pendant les diernières heures (ou jours) la nouvelle fonctionnalité baptisée Timeline  introduite avec la nouvelle mouture de l’OS de la montre Pebble est tout à fait adaptée. Elle permet très rapidement de consulter les événements ou notifications passées ET à venir tout en donnant accès à un texte qui est assez long pour transporter des informations de sa domotique.

Parler à la Timeline dès lors que l’on n’est pas dévelopeur n’est pas une chose aisée. Il est fort à parier que des services ou des applications apparaitront dans un futur proche pour permettre à n’importe qui de publier ce qu’il souhaite dans sa timeline. A ce sujet sachez qu’il existe déjà un plugin pour l’application Tasker sous Android appelé tout simplement MyTimeline for Pebble / Tasker.  Pour le faire fonctionner il faut bien évidemment posséder un téléphone sous Android et maîtriser la logique de Tasker.

Afin de permettre à n’importe quel système de parler avec la Pebble je me suis intéressé à une cinématique un peu plus universelle. Elle marcha avec n’importe quel Smartphone et n’importe quel système domotique pouvant appeler des requêtes HTTP. Pour cela, je vous emmène directement dans le Cloud car la publication sur la Timeline doit aussi fonctionner lorsque l’on est en dehors de chez soi. Sachez que de toutes manières, même lorsque l’on passe par les voies de la programmation, les API permettant à un développeur de publier sur la Timeline sont sont hébergées sur les serveurs de la société Pebble.

La mise en oeuvre via le Cloud

Condamné à utiliser le Cloud je me suis intéressé aux services standards de la montre dans cet environnement. C’est là que j’ai eu l’heureuse surprise de constater (au moins sur Android) que la montre Pebble intégrait les rendez-vous des calendriers directement dans la Timeline. Le principe de calendrier étant tout à fait adapté à la récupération et à la présentation d’événements domotiques (ou autres d’ailleurs) la cinématique des flux d’informations devenait claire.

Le principe de fonctionnement est le suivant

  1. Le système domotique publiera dans un agenda les événements que je souhaite voir dans la Timeline
  2. L’agenda servira de lieu de stockage des événements
  3. La Timeline de la montre Pebble sera paramétrée pour lire cet agenda et me les présenter

Pour la mise en oeuvre je vous propose de faire appel à des services Cloud gratuits. Le calendrier sera Google Calendar et le chaînon manquant entre la Smart Home et le calendrier sera la toute nouvelle brique IFTTT dénommée MAKER que je vous ai présenté tout récemment.

N’ayez pas peur pour la partie pratique. Je vais détailler au mieux les étapes du système de communication qui se résume de la manière suivante:

Création d’un calendrier dans Google Calendar

Avec votre compte Google, dirigez-vous dans Google Calendar ou Google Agenda. Vous pouvez créer un calendrier qui sera dédié à la réception des événements domotiques. Votre Smart Home aura ainsi la possibilité de sauvegarder les informations régulières (température du salon toutes les heures…) ou déclenchée aléatoirement (ouvertures de portes…). Ces données seront accessibles via n’importe quel support (PC, smartphone, tablette,…) et à tout instant.

Ces calendriers pourront également être partagés. Il faut bien penser à tous ceux qui n’ont pas de montre Pebble…

Le calendrier est prêt à être utilisé. On peut maintenant mettre en place les éléments côté IFTTT.

Activation du channel Maker IFTTT

Dans IFTTT, après avoir créé un compte, la première chose à faire est d’activer le channel Maker. Rien de plus simple:

  • Sélectionner de voir les Channels. Rechercher le channel “Maker” et le sélectionner.

  • Une fois sélectionné il faut tout simplement l’activer en cliquant sur “Connect”.

Le message “Channel Connected!” apparaîtra pour confirmer la bonne activation du service. Pensez à relever votre “secret key”. Elle vous sera utile par la suite.

Activation du channel Google Calendar

Après le channel Maker, c’est au tour du channel Google Calendar.

  • Rechercher le channel Google Calendar et le sélectionner.

  • Appuyer sur le bouton “Connect” pour créer le channel

  • Si vous avez plusieurs comptes Google, sélectionnez celui qui a été utilisé lors de l’étape de la création de calendrier Google Agenda

  • Accepter les conditions d’utilisations:

  • Sélectionner ensuite le calendrier que IFTTT devra utiliser à Savoir “Domotique” dans notre exemple.

Après avoir appuyé sur “Update”, le message “Channel Connected!” apparaîtra pour confirmer la bonne activation du service.

Création d’une règle de publication d’événements via IFTTT

  • Aller ensuite dans “My Receipes” et cliquer sur “Create a receipe”

  • La création de la nouvelle règle démarre. Appuyer sur “This”

  • Rechercher le channel Maker et le sélectionner.

  • Sélectionner l’action déclencheur de la règle.

  • Renseigner le nom de code de l’événement du channel Maker. Ce nom est à votre convenance. Appuyer sur “Create Trigger”

  • Appuyer sur “That”

  • Rechercher et sélectionner le channel “Google Calendar”

  • Sélectionner l’action à déclencher

  • Dans la zone “Quicl add text” renseigner :
{{Value1}} le "{{Value2}}" à "{{Value3}}"

Cela revient à indiquer que dans l’URL de la requête HTTP utilisée par le channel MAKER, il y aura 3 paramètres qui seront envoyés : Value1; Value2 et Value3. Le texte quei sera communiqué à Google Agenda sera la concaténation de ces 3 paramètres tels qu’écrite dans la zone “Quick Add Text”. En théorie on peut utiliser une constriction de phrase bien précise afin de pouvoir créer des rendez-vous de manière exacte tel qu’indiqué par Google. En pratique cette fonctionnalité n’est pas fonctionnelle. On peut au mieux créer des événement à une heure ultérieure ce jour mais pas créer des événements pour vendredi prochain. Comme l’on souhaite ici garder trace des événements qui ont eu lieu le souci ne se pose pas.

J’ai pris l’initiative de toujours reporter la date et l’heure de l’événement dans le libellé de ce dernier afin de garder une trace forte de cette information afin d’être certain que les événement marqués dans le calendrier sont à la bonne date. Cette précaution pourra disparaître par la suite.

  • Valider la création de la nouvelle règle

Voilà c’est terminé pour IFTTT. Il ne reste plus qu’à créer un appel HTTP à l’URL du channel Maker  pour que la règle que l’on vient juste de créer se déclenche.

Création d’un scénario pour envoyer une requête vers IFTTT

Cette étape dépend de votre système domotique. Pour illustrer le propose je vais faire appel à la box eedomus afin d’appeler une requête HTTP dans un scénario de fermeture de porte afin de tracer cet événement dans la Timeline.

  • sur eedomus créer un périphérique de type “HTTP – Actionneur”

  • Le paramétrer en fonction de vos besoins

  • renseigner la variable 1 avec la l’URL suivante (sans le “https://”)
maker.ifttt.com/trigger/<span style="color: #008000;">domo-calendar</span>/with/key/<span style="color: #ff0000;">abcdefghijklmnopqrstuvwxyz</span>

Remplacer abcdefghijklmnopqrstuvwxyz par la “Secret Key” que IFTTT vous a attribué lorsque vous avez activé le channel Maker

Remplacer domo-calendar par le code éventement (Event Name) que vous avez renseigné dans IFTTT lors de la création de la règle associant Maker avec Google Calendar.

  • Renseigner ensuite la liste des valeurs que prendra le périphérique. Il y aura une valeur par requête http à appeler

Pour une valeur donnée, on écrira le paramètre avec la structure suivante:

?value1=ValeurParam1&value2=[DATE]&value3=[TIME]

ValeurParam1 sera à remplacer par la phrase que l’on souhaite lire sur la Timeline de la montre connectée Pebble.  Pour “porte fermée” ou aura Porte+ferm%C3%A9e Il faut en effet changer tous les caractères accentués par leurs valeurs encodées. On pourra s’aider d’un site comme celui-ci pris au hasard qui effectue la traduction français / URL à votre place.

Ce qui donne au final:

?value1=Porte+ferm%C3%A9e&value2=[DATE]&value3=[TIME]

  • Enfin dans une règle, lorsque vous avez besoin de traver un événement c’est à dire de l’inscrire dans le calendrier “Domotique” de Google Calendar, il vous suffit d’appeler le périphérique juste créé en tant qu’action à exécuter.

Tout est en place côté domotique. Il ne reste plus qu’à brancher le calendrier sur la montre Pebble.

Intégrer le calendrier Google Calendar sur sa Timeline Pebble

Cette étape est simple.En effet, le branchement d’un calendrier Google Calendar est quelque chose de standard pour la montre Pebble. Cela est vrai pour les smartphones Android. Les possesseurs d’iPhones pourront indiquer si c’est simple également sous iOS.

  • Sur le smartphone connecté à la montre Pebble, ouvrir l’application Pebble et aller dans “APPS/TIMELINE”
  • Cliquer sur la petit roue crantée à côté du mot “Calendar”

  • La page de paramétrage des calendriers à synchroniser avec la timeline s’ouvre. Cocher le calendrier “Domotique”.

La Timeline de la montre connectée Pebble Time sera maintenant alimentée des événements domotiques que vous confierez au bon vouloir de Google Agenda.

Conclusion

Il y aurait une méthode plus directe afin de publier des événements dans la timeline de la montre Pebble.. Elle serait toute simple pour l’utilisateur. Il suffirait que le fabricant de la solution domotique intègre dans son appli pour smartphone l’intelligence nécessaire pour discuter avec une app Pebble faite pour l’occasion. Cela fait certes du développement mais cela rendrait la mise en place plus naturelle et ne ferait pas appel à des services tels que IFTTT.

La solution marche bien. Pebble annonce qu’en utilisant les API de publication dans la Timeline, un délai de 15 minutes peut être nécessaire pour que l’information publiée arrive dans la Timeline. En utilisant la méthode présentée ci dessus c’est beaucoup plus rapide. Les informations arrivent presque instantanément. Comme tenu de ce délai potentiel, il ne semble pas raisonnable d’utiliser cette méthode comme moyen de notification. La notification native des applications des fabricants ou bien encore les SMS sont mieux adaptés à ce besoin.

Il maque quelque chose à cette méthode. La personnalisation de la présentation de la timeline fait défaut. On ne peut pas changer l’icône présentée. On ne peut pas non plus modifier les couleurs présentées à la personnes qui consulte sa montre afin de vérifier que le thermostat s’est bien mis en mode “absent” dès qu’il a quitté son logement par exemple. Je suis certain que d’ici quelque temps de nouvelles solutions vont apparaître afin de combler ces lacunes. L’équipe derrière la montre Pebble a promis un channel IFTTT pour la montre Pebble. Patientons donc.

Et comme je suis curieux, quelles sont les informations qu’il vous plairait de voir dans la Timeline de la montre Pebble?

Quitter la version mobile