NEST Protect et Zibase avec IFTTT

DECOUVERTE DE NEST PROTECT ET INTERACTIONS POSSIBLES AVEC ZIBASE VIA IFTTT


Le but

Après avoir réceptionné un Nest Protect, j'ai cherché comment faire interagir la Zibase avec d’autres objets connectés ou services. A titre d’exemple, quand le Nest Protect déclenche une alarme suite à une détection de fumée, nous souhaitions déclencher la sirène dont nous disposons sur la Zibase dans le cadre de notre "système d'alarme".

L'idée est ici de faire une petite synthèse sans prétention permettant au passage de vous présenter le service IFTTT et aussi faire connaître son "équivalent" français BUSIT

Préambule

Nest Protect, c'est quoi ?

En synthèse, pour ceux qui ne connaissent pas, il s'agit d'un détecteur de fumée ("obligatoire" à partir du 1er mars 2015) et de monoxyde de carbone connecté permettant d'être alerté par une alarme, une voix et également à distance sur son téléphone quand un danger ou un risque est détecté.

Nous ne vous présenterons pas dans cet article l'installation du Nest Protect car beaucoup d'articles y sont déjà consacrés et cela est d'une simplicité enfantine.

Il ressemble à ça :



 A noter quand même que vous pouvez possédez plusieurs Nest Protect dans votre maison et que ceux-ci sont interconnectés ensemble indépendamment du réseau Wifi (qui en cas d’incendie ne résistera pas longtemps).


IFTTT et BUSIT, c'est quoi ?

IFTTT et BUSIT se présentent comme des plateformes de communication universelle permettant de connecter des objets et des services divers. Le premier est américain et le second français et ouvert depuis environ 9 mois. 

Ainsi, pour l'un comme pour l'autre, vous pouvez très facilement créer des interactions entre :


  • des services au sens large du terme : réseaux sociaux (Facebook, Twitter, Instagram, LinkedIn, Yammer...), communications (Email, Notification, SMS...) et cloud  (DropBox, Drive...), localisation, météo, média (Le monde, l'équipe...);
  • des objets : Withings, Netatmo, Myfox, Google Glass et Nest.

 La liste des "connecteurs" est très longue et les possibilités différentes en fonction de la plateforme que vous choisirez.

Pour mettre en oeuvre notre solution, nous allons utiliser le service IFTTT car malheureusement BUSIT ne dispose pas encore de connecteurs pour Nest Protect.

Bref, je vous laisse découvrir sur leur site respectif toutes les possibilités...elles sont infinies !


Mise en oeuvre

IFTTT est l'acronyme de  IF This Then That qui traduit bien l'esprit du service : si une condition est remplie alors faire une action.

Pour l'utiliser, vous devez vous créer un compte sur IFTTT; cela ne vous prendra que quelques secondes.

Afin de faire interagir le Nest Protect et la Zibase, nous allons utiliser le service de Google Drive permettant de faire des appels vers des URL et donc faire appel à l'API Zibase.

Après avoir créé votre compte, il faut donc créer un "Recipe" (c'est  dire une phrase IFTTT), et cliquer sur Then pour entrer votre "trigger channel" (l'objet ou le service que vous souhaité utiliser). Choisir dans notre cas Nest Protect à partir du la zone de recherche par exemple:


Choisir ensuite la condition de déclenchement (trigger).


Dans notre cas, choisir "Smoke Alarm emergency", c'est à dire une alarme suite à une détection de fumée et compléter ensuite la condition en choisissant quel Nest Protect (oui, vous pouvez en avoir plusieurs) vous souhaitez utiliser : ici celui de la salle à manger.



La condition étant maintenant déterminée, il nous reste à déterminer l'action. Pour cela cliquer sur that et choisir ensuite comme canal Google Drive :



Choisir ensuite "Upload file from URL" permettant d'uploader un fichier (mais là c'est pas le sujet:)), depuis une URL et donc ainsi finalement de lancer une commande.


Entrer dans "File URL", l'appel à l'API zibase que vous souhaitez faire. Vous pouvez vous rendre sur cet article qui explique de façon très concise les fonctions de la ZAPI. Pour plus d'information, la documentation complète de la ZAPI2 est . Dans notre cas, nous lançons le scénario 15 correspondant au déclenchement de la sirène.


Nommer ensuite votre "Recipe" et c'est terminé.

Bien évidemment, ceci n'est qu'un exemple, et vous pouvez laissez place à votre imagination pour créer d'autres "recipe" (alimentation d'un périphérique virtuel, notifications...).

Certes, comme diraient mes amis de Toute la domotique, "Google va prendre le contrôle de ta vie...;)". Euh..oui, je crois que c'est déjà fait.

Le prochain article sera à priori consacré à l'intégration de la balance Withings dans la zibase sans écrire une ligne de codes....enfin si j'y arrive ! L'article est disponible ici depuis le 08/02/2015.

Lancer des commandes domotiques via une Zibase et sa moto360

Comment lancer des commandes domotiques via une montre sous Android Wear ?


Le but

Après que le Père Noël m'ait gentiment amené une Moto 360, il me paraissait intéressant de pouvoir lancer toutes les commandes disponibles sur ma Zibase (scénari et périphériques) à partir de ma Moto 360.

La solution s'appuie sur l'application Trigger qui présente l'avantage d'être compatible avec Android Wear. Pour mettre en oeuvre la solution, il vous faut donc :

  • un téléphone sous Android (désolé pour les fans de la pomme:)),
  • une montre sous Android Wear,
  • et aussi une box domotique supportant les appels HTTP.
Préambule

Nous avions écrit un précédent article (dispo ici) qui présentait l'application Nfc Task Launcher, renommée depuis quelques temps Trigger et dispo gratuitement (dans ses principales fonctions) ici.

Nous nous servons toujours de cette application pour lancer des commandes domotiques via des Tags NFC. Le grand principe est de créer des tâches (qui ont un déclencheur : tag NFC ou autres) qui font certaines actions (et dans le cas présents des appels HTTP). 

Lors du précédent article, nous utilisions les commandes de la ZAPI1 mise à disposition par Zodianet (toujours fonctionnelles à l'heure actuelle). Maintenant que la ZAPI2 est disponible (depuis le 01/04/2014 - documentation complète ici), vous trouverez ci-dessous les 2 principales commandes HTTP pour lancer un ordre sur un périphérique ou pour lancer un scénario de votre zibase:

Ordre ON sur un périphérique
https://zibase.net/api/get/ZAPI.php?zibase=[Votre Identifiant principal ZIBASE]&token=[Votre Token]&service=execute&target=actuator&id=[Identifiant périphérique]&action=1

Ordre OFF sur un périphérique
https://zibase.net/api/get/ZAPI.php?zibase=[Votre Identifiant principal ZIBASE]&token=[Votre Token]&service=execute&target=actuator&id=[Identifiant périphérique]&action=0

Lancer un scénario (par son id)
https://zibase.net/api/get/ZAPI.php?zibase=[Votre Identifiant principal ZIBASE]&token=[Votre Token]&service=execute&target=scenario&id=[identifiant scénario]

Vous pouvez tester ces appels directement dans votre navigateur pour vérifier qu'ils fonctionnent bien avant de les mettre dans l'application Trigger.

Important

  • [Votre Identifiant principal ZIBASE] et [Votre Token] sont disponibles sur zibase.net dans votre espace du configurateur (Système). Attention, votre [Votre Identifiant principal ZIBASE]  doit respecter la casse ZiBASEXXXXXX (le i est en minuscule).
  • [Identifiant périphérique] correspond à l'identifiant radio de votre périphérique déclaré que vous souhaitez actionner.
  • [identifiant scénario] est l'identifiant de votre scénario visible dans le suivi d'activité de votre zibase lors du lancement du scénario. Attention, de mémoire, cet identifiant peut varier si vous supprimez un scénario (très gênant mais bon, pas le choix). Dans les scénari que vous voulez utiliser via ce type d'appel HTTP,  il faut cocher "Nom référencé par ZAPI".

Mise en oeuvre

  • Télécharger Trigger
  • Créer une première tâche en mettant un déclencheur de type NFC (même si vous n'en possédez pas) car un déclencheur est obligatoire pour pourvoir enregistrer la tâche. Ajouter une action à votre tâche de type "Ouvrir une URL/URI disponible dans la catégorie "Applications et Raccourcis" de l'application Trigger.
  • Entrer l'URL à associer à cette tâche (lancement d'un ordre sur un périphérique ou d'un scénario : voir dans le préambule) et cocher la case "Ouvrir en arrière plan" (sinon un navigateur sera lancé sur votre téléphone lors du lancement de cette tâche).
  • Faire terminé puis terminé lors de l'écriture sur le NFC si vous ne disposer pas de tag NFC (c'est facultatif).
  • Vous pouvez répéter cette opération pour l'ensemble des tâches que vous souhaitez pouvoir gérer depuis votre montre Android Wear. 
Je ne détaille pas ici l'utilisation de Trigger qui est très simple mais n'hésitez pas à me contacter si vous rencontrer des problèmes.

Une fois ceci fait, lancer Trigger sur votre montre Android Wear (Moto360 dans mon cas) et l'ensemble des tâches que vous avez créées sont visibles sur Android Wear. 




Cliquer sur la tâche que vous voulez effectuer (dans notre cas, Portail Ouvrir /Fermer) et cela donne :


C'est pas magique ça ? J'ai ainsi de nombreuses actions qui peuvent être effectuées via ma Moto 360 : Volets, garages, Alarme, Store Banne... A vous de jouer !

Le prochaine article sera consacré au détecteur de fumée et monoxyde de carbone Nest Protect et est maintenant disponible ici (depuis le 31/01/2015)

Karotz annonce la température avec OpenKarotz et Zibase

Comment annoncer la température intérieure et extérieure avec Karotz/OpenKarotz/Zibase et les fonctions TTS ?


Le but

Après avoir installé OpenKarotz pour faire renaître Karotz (voir article précédent ici), nous avons souhaité faire annoncer à Karotz la température intérieure et extérieure à des heures données en fonction de la semaine ou du week-end grâce à l'API OpenKarotz et les fonctions TTS (TextToSpeech).

Préambule

L'idée est de mettre cela en place à partir de scénari Zibase afin que les néophytes puissent également en profiter. Cela aurait été beaucoup plus simple de développer cela en PHP et faire un Cron sur notre NAS mais tout le monde n'a pas de NAS et la mise en oeuvre demande plus de connaissances. Cela fera peut-être l'objet d'un autre article ultérieurement.

A partir de cette réflexion, voici donc les différents scénari pour mettre en place la solution uniquement grâce à la Zibase. Cela peut paraître simple de prime abord, mais finalement cela se révèle assez complexe.


Mise en oeuvre

Sur la Zibase, 5 scénari sont nécessaires. Comme un schéma vaut mieux que de grands discours, nous avous avons fait un petit résumé détaillant l'organisation des scénari et les différents stimuli et actions effectuées :



L'api d'OpenKarotz est un peu capricieuse, ce qui explique que nous sommes obligés de découper les différentes chaînes et les concaténer. Nous avons essayé pas mal de solutions pour simplifier le scnéario "Karotz - Temperature" mais cela ne fonctionnait pas. Si certains d'entre vous trouve une solution plus simple et fonctionnel, n'hésitez pas à laisser les éléments en commentaires.

Vous trouverez ci-dessous l'ensemble des captures d'écran pour chacun des scénari afin de vous simplifier la mise en oeuvre :

Scénario "Variable T intérieur"

Voici un scénario qui me sert déjà dans d'autres scénari et qui se contente de récupérer la valeur de la sonde de température intérieure dans la variable V0.




Scénario "Variable T extérieur"

L'équivalent du scénario ci-dessus mais avec la valeur de la sonde de température extérieure et qui l'affecte à la variable V50.



Scénario "Karotz - Temp semain"

Vous pouvez bien évidemment modifier les heures de déclenchement sur l’événement temporel.




Scénario "Karotz - Temp we"

C'est exactement le même scénario que "Karotz - Temp semain" à part le calendrier pour le déclenchement qui comporte seulement le week-end et des horaires spécifiques.

Vous pouvez bien évidemment modifier les heures de déclenchement sur l’événement temporel.



Scénario "Karotz - Température"

Voici maintenant le scénario principal qui construit la chaîne permettant de faire l'appel à l'API d'OpenKarotz. C'est pas très simple et cela utilise pas mal de variables temporaire mais nous n'avons pas réussi à faire mieux.


Scénario "Karotz - Temp ext"

Et voici le petit dernier pour pouvoir annoncer la température extérieure.


Eh oui, c'est enfin terminé. J'espère que cela aura aidé certains d'entre vous ou tout du moins donné des idées pour mettre en oeuvre ce type de solution.

A très vite pour un prochain article sur la moto360 et disponible maintenant ici (depuis le 18/01/0215).

Indicateur de consommation électrique avec Karotz, OpenKarotz et Zibase

Comment surveiller sa consommation électrique avec Karotz / OpenKarotz / Zibase ?



Le but

L'idée est donc de colorer la lumière du Karotz en fonction de la consommation électrique. Evidemment, cela nécessite d'avoir un OWL CM119 (pour moi) avec la consommation électrique instantanée et une Zibase par exemple.
Nous nous sommes inspirés d'une idée développée dans cet article (projet Domogeeek de Ludovic).

Préambule

Eh oui, la mort de Karotz a été annoncée début novembre dans un communiqué de Bruno Maisonnier, PDG d'Alberan, qui avait repris la société Violet il y a quelques années. Les serveurs seront donc arrêtés le 18 février 2015.

Mais heureusement, il existe une solution pour faire revivve notre Karotz en toute autonomie : OpenKarotz qui est installé en local sur le lapin lui-même.

Nous ne relaterons pas comment installer Open KAROTZ sur le lapin car tout est dit ici.

Merci encore pour le travail effectué par Laurent (Massalia) ainsi que la documentation qui est parfaite.Il existe également un forum dédié sur TLD ici


Petite précision : ne pas oublier d'appliquer les patchs après la dernière mise à jour (onglet update / Patch dans l'application).

Une fois cette installation effectuée, vous avez accès à une interface WEB en tapant http://[IP DU KAROTZ]. Cette interface permet de voir les fonctions misent à disposition par OpenKarotz et les appels possibles via l'API pour exécuter les commandes souhaitées.

Par contre, il reste des problèmes de perte de connectivité si votre Karotz est en Wifi (sujet largement discuté sur le forum de TLD ci-dessus). Il n'existe, à priori, pas de réelles solutions et nous faisons partis de ceux qui subissent ces déconnexions. A voir dans le temps. A noter que Massalia est en train de réécrire le source en Python qui sera certainement plus solide pour reprendre ses mots.

Pour ralentir voir supprimer ces déconnexions, sur les préconisations du forum de TLD, nous avons fait un scénario ZIBASE qui réveille le lapin toute les 5 minutes. Rien de plus simple, cela donne :






Mise en oeuvre

Sur la Zibase, la mise en oeuvre de cette idée est très simple à l'aide de 3 scénarios :
  • Conso - Normal : quand la consommation est inférieure à 1000W en instantanée : Karotz prend la couleur verte,
  • Conso - Moyenne :  quand la consommation est comprise entre 1000W  et 2000 W en instantanée : Karotz prend la couleur orange,
  • Conso - Elevée : quand la consommation est supérieure à 2000 W en instantanée : Karotz prend la couleur rouge
Cela donne :










Bien évidemment, vous pouvez adapter les bornes définies dans les "conditions nécessaires pour prendre en charge le stimuli"par rapport ) aux différentes nuances souhaités et votre consommation (nous sommes en chauffage au gaz).

Après 24 heures de test le scénario semble bien fonctionner et Karotz semble ne pas subir de déconnexion.

Sympa non ? Le prochain article dispo ici (depuis le 17/01/2015) est consacré à faire annoncer à Karotz la température intérieure et extérieure...toujours avec OpenKarotz. Et merci encore à Massalia.