Une API pour de la domotique

Sous ce titre un peu bizarre, ce cache un outil fort pratique et à la limite indispensable, que j’ai découvert avec mes amis du forum (merci à Jackslayter).

Il s’agit de domogeek.entropialux.com qui met à notre disposition un jeu d’API en ligne permettant de renvoyer une foule de choses utiles pour piloter notre domotique.

Comme :

  • savoir si en zone C on est en vacances !
  • sii nous sommes en Week End,
  • récupérer la géolocalisation d’une ville,
  • le tarif EJP EDF,
  • le tarif Tempo EDF,
  • la liste des fêtes du calendrier,
  • les levers et couchers du soleil,
  • l’état de vigilance Méteo France (jaune,rouge orange pour chaque risque) …

C’est parfaitement documenté, hyper clair, simple : le bonheur !

Principe

En appelant une simple url bien formatée on reçoit en retour la réponse attendue.

Exemple ici http://domogeek.entropialux.com/sun/brest/all/now

nous donne les caractéristiques du soleil à Brest pour now.

Magique !

Prérequis

Nous aurons donc besoin d’interroger une url , l’outil de prédilection se nomme curl, chaque langage à le sien, choisissez le votre: curl pour une interrogation en bash, php-curl pour des scripts en php, pyCurl en python …

apt-get install curl, apt-get install php5-curl,…

Description & Exemple d’utilisation

L’utilisation à laquelle nous pensons tout de suite est la récupération des tarifs Tempo EDF.

La documentation nous dit que

http://domogeek.entropialux.com/tempoedf/now nous renvoie ‘bleu’

que

http://domogeek.entropialux.com/tempoedf/tomorrow/json nous renvoie {« tempocolor »: « bleu »} pour la couleur de demain

concernant EJP l’appel de

/ejpedf/:zone/:date/:responsetype

Example usage:

   curl http://domogeek.entropialux.com/ejpedf/nord/today
   curl http://domogeek.entropialux.com/ejpedf/sud/tomorrow
   curl http://domogeek.entropialux.com/ejpedf/paca/today/json

avec

Field Type Description
zone String Donnez la Zone  {nord|sud|ouest|paca}
date String today or tomorrow {today|tomorrow}

nous renvoie True or False selon que l’on soit ou non en période EJP pour today ou tomorrow

La aussi on peut coller un /json à la fin pour avoir les accolades d’emballage JSON.

Exemple en bash

Un fichier contenant

#!/bin/bash
tempo=$(curl http://domogeek.entropialux.com/tempoedf/now)
if [ $tempo = « bleu » ]; then

fi

permettra ainsi de piloter des radiateurs en fonction de la couleur EDF

plus de détails sur la mise en place ici

Sur des réponses plus étoffées comme

{"dayduration": "9:17", "sunset": "17:41", "zenith": "13:02", "sunrise": "8:24"}

il faudra jouer avec les outils de chaine de caractère de votre langage pour récupérer les infos voulues.

Conclusion

l’API de Domogeek.fr est un outil indispensable bien documenté , clair et facile il nous évite de nombreux case tête.

L’auteur de cette API attends nos remarques et aide pour continuer à faire évoluer cet outil, n’hésitez pas si vous désirez aider à enrichir la bibliothèque.

Son blog ici vaut vraiment le détour.

chouette

 

Posted in scripts and tagged , , , , .

One Comment

  1. Oh merci pour cet article qui fait chaud au coeur 😀
    C’est toujours énormément encourageant de voir que l’api sert et que les efforts fournis sont compris et utilisés 🙂
    Merci à toi pour ce billet fort sympathique qui donne plein de raisons de continuer à partager et à offrir des trucs qui simplifient la vie 😉

Laisser un commentaire

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