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.
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 😉