Récupération des informations de tarification EDF sur eedomus

Introduction

tempo_eedomusLe 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>
</ejp_tempo>

Création des capteurs virtuels

loceedomus1_eedomusadddeviceIl 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

smartvoice_eedomus_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

Capteur_http

Voici le paramétrage d’un des capteurs associé à l’option tempo :

tempo_config_capteur_http

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 :

tempo_aujourdhui_listedevaleurs

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.

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

 

Vincent Recipon

Propriétaire de ce blog. Owner of this blog.

Vous aimerez aussi...

2 réponses

  1. lundi 20 avril 2015

    […] Lire l’article complet. […]

  2. jeudi 22 octobre 2015

    […] 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 […]

Laisser un commentaire

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

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.