Dernières nouvelles

Assurer le suivi des jours EJP grâce à son eedomus

Je vous propose ce billet pour vous permettre d’ajouter une nouvelle fonctionnalité à votre box eedomus : assurer le suivi des jours EJP au travers d’un script PHP.

EJP / Effacement du jour de pointe est une option tarifaire de EDF, où le prix du kWh est proche du tarif heures creuses pendant 343 jours par an, et plus élevé durant les 22 autres jours, qui sont répartis entre le 1er novembre et le 31 mars.

Ce guide permet d’avoir directement l’info sur l’eedomus sur le statut EJP ou non du jour actuel, ainsi que le nombre de jours EJP déjà écoulés. Ce tarif n’est actuellement plus commercialisé par EDF, donc seuls ceux ayant souscrit à l’option par le passé peuvent en bénéficier.

Ce script permet, de connaître l’état du jour, du lendemain et le nombre de jours restant de la zone EJP de son choix.

Pour les plus assidus du blog de Planète Domotique, vous pensez peut être qu’il s’agit d’une redite d’un article plus ancien que j’avais écrit il y a quelques années déjà (allez je vous aide, je vous donne le lien vous permettant de le retrouver) ? Et bien détrompez-vous. Le billet d’aujourd’hui vous présente un script qui est hébergeable et exécutable par n’importe quel modèle d’eedomus, ce qui a pour conséquence de rendre inutile tout serveur web supplémentaire.

De plus, ce script intègre aussi une mise à jour qui fait suite à l’évolution du site web d’EDF depuis lequel étaient récupérées les informations, qui étaient par la suite affichées dans votre box domotique. 

 /*************************************************************************************
** 
** Script PHP pour eedomus (toutes versions)
**
** Script qui permet d'afficher au format XML les données EJP d'une zone prédéfinie :
** - état EJP du jour
** - état EJP du lendemain
** - décompte des jours EJP
**
*********

Téléchargez le script PHP ici et placez-le sur votre eedomus en appelant l’URL http://IP_EEDOMUS/script/.

Créez 3 périphériques de type Capteur HTTP (ou réutilisez ceux que vous utilisiez déjà avec la version précédente du script le cas échéant).

  • Le premier périphérique « Jour » pour l’état du jour courant : 
  • Le second périphérique « Demain » pour l’état du lendemain : 
  • Un dernier périphérique « Décompte jours » pour le décompte de jours restants : 

L’URL d’appel du script est identique pour les 3 périphériques :

http://localhost/script/?exec=nomduscript.php&zone=NomZone

La valeur « NomZone » est à remplacer par le nom de la zone EJP pour laquelle vous souhaitez connaître l’état : nord, ouest, paca ou sud.

Les chemins XPATH sont les suivants :

  • Etat EJP du jour : //aujourdhui
  • Etat EJP du lendemain : //demain
  • Nombre de jours EJP restants : //decompte

Une fréquence de requête toutes les 15 minutes (voire plus) est amplement suffisante, les données étant mises à jour quotidiennement.

Les valeurs brutes des états EJP du jour et du lendemain sont les suivantes :

  • EST_EJP = jour EJP
  • NON_EJP = jour non EJP
  • ND = jour non déterminé

Et voilà !

Il ne vous reste plus maintenant qu’à créer les règles qui vous permettront d’interagir avec votre installation domotique.

A propos de Fabien

J'ai découvert la domotique un peu par hasard en 2011. J'ai eu l'occasion de tester diverses solutions grand public ou home made. Aujourd'hui ma domotique est basée sur une eedomus avec quelques scripts développés localement.

6 commentaires

  1. Trouvé également l’année dernière sur le forum eedomus et ça fonctionne impec.
    Dans le même lot il y a les saisons, les jours de semaines, les mois, les heures, etc.
    Super pratique !

  2. J’ai essayé mais je n’ai pas réussi. Le script ne passe pas. Eedomus première du nom.

  3. bonjour,
    excellent tuto , par contre bénéficiant d’un abonnement Tempo Edf , peut on adapter ce script à Tempo svp ?

  4. Hello, merci du partage par contre le script ne fonctionne pas …

    lorsque transfert vers l’eedomus + ==> La fonction <() n'est pas autorisée

    Si j'essai le script via mon Syno et l'execute pour voir ce qu'il fait j'ai le message suivant :
    (IP_SYNO//script/EJP/eedomus-ejp.php?zone="nord" et oui je suis du nord)

    Fatal error: Call to undefined function GetArg() in /volume1/web/script/EJP/eedomus-ejp.php on line 28

    la ligne 28 etant : $str_min_zone = strtolower(GetArg("zone"));

    Un peu d'aide car me debrouille un peu en PHP mais suis pas expert …
    PAr avance merci 😉
    Arnaud

  5. Bonjour à tous,

    Le script a été corrigé et il n’y a plus de problèmes. Téléchargeable toujours depuis le même endroit.

    Arnaud, le script n’est pas fonctionnel sur Synology (et tout autre serveur web autre que l’eedomus) car l’eedomus utilise des fonctions spéciales.

  6. Bonjour Fabien,

    Merci pour la réactivité, effectivement script fonctionne a présent sur l’eedomus +
    Bonne journée et encore merci bp pour ce partage 😉

    Cdt
    Arnaud

Répondre

Votre adresse email ne sera pas publiée. Les champs obligatoires sont marqués d'une étoile *

*

Revenir en haut de la page