Récupération des informations de tarification EDF sur eedomus
Introduction
Le script php ci-dessous est basé sur le travail réalisé par Djmomo qui est accessible par les liens ci-dessous. Le script proposé par Djmomo est à installer sur un serveur personnel ou un NAS :
Depuis quelques mois la box eedomus peut exécuter des scripts php. L’ensemble des librairies php ne sont pas installéessur eedomus, ce qui fait que les scripts de Djmomo ne peuvent pas en l’état être exécutés sur l’eedomus. Je vous en propose donc une adaptation compatible eedomus.
Le script php
Le script est à télécharger ici.
Pour l’installation de ce script, je vous renvoie à la documentation eedomus.
Une fois installé, voici les données que renvoie l’appel à ce script :
Appel au script | http://192.168.xxx.xxx/script/?exec=tempo-ejp-eedomus.php |
Données renvoyées | <?xml version="1.0" encoding="UTF-8"?> <ejp_tempo> <update>2015-04-05 21:15</update> <nord> <aujourdhui>non</aujourdhui>< demain>non</demain> <jours_restants>0</jours_restants> </nord> <paca> <aujourdhui>non</aujourdhui> <demain>non</demain> <jours_restants>0</jours_restants> </paca> <ouest> <aujourdhui>non</aujourdhui> <demain>non</demain> <jours_restants>0</jours_restants> </ouest> <sud> <aujourdhui>non</aujourdhui> <demain>non</demain> <jours_restants>0</jours_restants> </sud> <tempo> <aujourdhui>bleu</aujourdhui> <demain>bleu</demain> <bleu_restant>146</bleu_restant> <bleu_total>300</bleu_total>< blanc_restant>1</blanc_restant>< blanc_total>43</blanc_total> <rouge_restant>0</rouge_restant> <rouge_total>22</rouge_total> </tempo> |
Création des capteurs virtuels
Il s’agit à présent de récupérer les valeurs contenues dans cet xml et les stocker dans des capteurs virtuels, dit « capteurs http ». Ces capteurs pourront être ensuite affichés ou utilisés dans des automatismes. Pour chaque valeur à récupérer on doit créer un capteur http. Le rajout de ce capteur se fait, comme à l’accoutumé par l’option « Ajouter ou supprimer un périphérique » de la page de configuration
Sélectionner « Ajouter un autre type de capteur », en l’occurence il s’agit donc d’un capteur HTTP représenté par l’icône suivant
Voici le paramétrage d’un des capteurs associé à l’option tempo :
Le paramètre « Chemin XPATH » peut prendre les valeurs suivantes :
- Tout d’abord pour l’option tarifaire ejp qui dépend de la zone géographique
/ejptempo/nord/aujourdhui | /ejptempo/paca/aujourdhui | /ejptempo/ouest/aujourdhui | /ejptempo/sud/aujourdhui |
/ejptempo/nord/demain | /ejptempo/paca/demain | /ejptempo/ouest/demain | /ejptempo/sud/demain |
/ejptempo/nord/jours_restants | /ejptempo/paca/jours_restants | /ejptempo/ouest/jours_restants | /ejptempo/sud/jours_restants |
- puis pour l’option tempo :
/ejp_tempo/tempo/aujourdhui | /ejptempo/tempo/bleu_restant | /ejptempo/tempo/blanc_restant | /ejptempo/tempo/rouge_restant |
/ejp_tempo/tempo/demain | /ejptempo/tempo/bleu_total | /ejptempo/tempo/blanc_total | /ejptempo/tempo/rouge_total |
Les capteurs de type numériques ( exemple : …/jours_restants) devront avoir un type de donnée égal à « Nombre décimal ». Pour les autres valeurs, il faudra les définir en tant que liste de valeurs et déclarer les valeurs acceptées dans le tableau de valeurs du capteur. Voici par exemple les valeurs correspondant au paramètre /ejp_tempo/tempo/aujourdhui :
Mise à jour des capteurs http
Il est possible de configurer pour chaque capteur http un délai entre chaque mise à jour. Le script php proposé demande des ressources de traitement assez importantes au processeur de l’eedomus, son traitement prend plusieurs secondes. Il n’est donc pas envisageable de rafraîchir systématiquement tous les capteurs http à des intervalles rapprochés, mais au contraire d’avoir des temps de rafraîchissement longs, voire pas de rafraîchissement automatique.
Le rafraîchissement peut être lancé par une règle programmée aux heures les plus intéressantes. Dans le cas des tarifs edf, nous savons que les valeurs vont changer après 17h et après minuit, et que nous souhaitons être sûr d’avoir les valeurs mises à jour au petit déjeuner. Un script va donc se charger de réaliser la mise à jour des capteurs aux heures qui nous intéressent.
A noter que je réalise plusieurs mises à jours successives aux heures critiques, au cas où la mise à jour ne pourrait se réaliser du premier coup ( surcharge du serveur edf, adsl encombré, …)
Conclusion
Il vous est à présent possible de connaître les conditions tarifaires en cours de votre abonnement edf ejp ou tempo sans investissement particulier. Un serveur personnel n’est pas nécessaire, le script étant hébergé sur la box eedomus. Attention toutefois, ce script réalise une analyse d’une page web edf et extrait les valeurs qui nous intéressent. C’est une tâche assez lourde, l’hébergement de ce script sur un serveur personnel reste une option plus efficace.
2 réponses
[…] Lire l’article complet. […]
[…] 1 an j’utilisais le script présenté sur mon blog pour récupérer les informations EDF relatives aux tarifs du jour. Malheureusement ce script ne […]