Forum eedomus
http://forum.eedomus.fr/

[Store] EJP
http://forum.eedomus.fr/viewtopic.php?f=14&t=10163
Page 1 sur 1
Auteur:  jba30943 [ 09 Nov 2020 14:38 ]
Sujet du message:  [Store] EJP

Bonjour,

Je suis déçu de constater qu'effectivement le script EJP est blacklisté toujours par EDF. Ca fonctionne quand on utilise l'url directement dans une fenêtre web mais pas du tout en passant par le script pourtant l'url est la même.
Pour ceux qui ont un abonnement EJP, vous avez tous sur votre tableau électrique l'appareil qui reçoit l'impulsion d'edf qui nous informe du passage en EJP. Jai même dans la maison une ampoule rouge qui s'allume durant les jours EJP.
l'idée est la suivante, comment récupérer cette information et la faire remonter dans Eedomus. est ce qu'il existe un capteur "état, 0, 1" ou une ampoule dont la fonction sera juste de dire a Eedomus je suis allumée alors c'est EJP.
Dans cette hypothèse, je n'aurai que l'information a l'instant T sans pouvoir anticiper au lendemain. C'est quand même mieux que rien surtout que je souhaite pouvoir gérer mes radiateurs COZYTOUCH et les mettre en hors gèle dès que l'info tombe.
Quelqu'un aurai un idée du type de matériel qui peut rendre ce service?
A vous lire.
Bien cordialement

jean marc
Auteur:  ARTNOW [ 09 Nov 2020 17:15 ]
Sujet du message:  Re: ALTERNATIVE A SCRIPT EJP

Salut jba30943, tu peux mettre un relais en parallèles sur la lampe et passer l'info par le contact d'un SMART MODULE FGS-214 ;)

Pièces jointes:
2020-11-09_17-15-46.png
2020-11-09_17-15-46.png (69.17 Kio) Consulté 10154 fois
Auteur:  merguez07 [ 09 Nov 2020 21:03 ]
Sujet du message:  Re: ALTERNATIVE A SCRIPT EJP

bonsoir,

en sniffant le site https://selectra.info/energie/fournisseurs/edf/ejp on peut obtenir l'état EJP

J'ai rapidement fait un petit script (a mettre en lieu et place de l'ancien script ejp)

Code : Tout sélectionner
<?php

  $url          ='https://selectra.info/energie/fournisseurs/edf/ejp';
  $response     = httpQuery($url,'GET');
  $exploded     = sdk_multiexplode(array('<div id="block-ejp">','<p class="text-box namely">'),$response);
  $block_ejp    = $exploded[1];
  $exploded     = sdk_multiexplode(array('<div ','</div>'),$block_ejp);
  $ejp_today    = sdk_multiexplode(array('<p class="card--ejp__state">','</p>'),$exploded[6]);
  $ejp_tomorrow = sdk_multiexplode(array('<p class="card--ejp__state">','</p>'),$exploded[14]);
 
 
 
  sdk_header('text/xml');
  $xml  = "<EJP>\n";
  $xml .= '     <aujourdhui>'   .sdk_format($ejp_today[1])      ."</aujourdhui>\n";
  $xml .= '     <demain>'       .sdk_format($ejp_tomorrow[1])   ."</demain>\n";
  $xml .= '</EJP>';
  echo $xml;

 

 
  function sdk_multiexplode ($delimiters,$string) {   // Separer une chaine de caracteres suivant plusieurs separateurs
   
    $ready  = str_replace($delimiters, $delimiters[0], $string);
    $launch = explode($delimiters[0], $ready);
    return  $launch;
  }
 
  function sdk_format ($string) {   // met en forme selon la semantique du plugin du store
   
    $format="ND";
    if ($string==" Pas d'EJP ") $format="NON_EJP";
    if ($string==" EJP ") $format="EST_EJP";
    return  $format;
  }

 ?>
Auteur:  peji [ 11 Nov 2020 18:29 ]
Sujet du message:  Re: ALTERNATIVE A SCRIPT EJP

Bonjour
Ayant un contrat Tempo et concerné également par le problème du script ( a cause d’EDF) , pensez vous que l’on puisse récupérer les infos du boîtier tempo RT100 qui indique la couleur du jour et du lendemain par 6 diodes ( 2 pour heures pleines heures creuses) pour gérer des règles ??? :crazy:
Auteur:  merguez07 [ 11 Nov 2020 20:52 ]
Sujet du message:  Re: ALTERNATIVE A SCRIPT EJP

pour le plugin tempo J'ai aussi rapidement fait un petit script (a mettre en lieu et place de l'ancien script tempo). Seuls les comptages nb de jours restant blanc et bleus ne fonctionnent pas

Code : Tout sélectionner
<?php
/*************************************************************************************
**
** Script Tempo pour eedomus
**
** Script qui permet de récupérer au format XML les données Tempo :
**   - Couleur Tempo du jour (//aujourdhui),
**  - Couleur Tempo du lendemain (//demain),
**  - Nombre de jours Bleu restants (//decompte_bleu),
**  - Nombre de jours Blanc restants (//decompte_blanc),
**  - Nombre de jours Rouge restants (//decompte_rouge),
**
*********
**
** L'URL est de la forme : edf-tempo.php
**
*********
**
** Evolution des versions :
**
** 2017-07-26 (DjMomo)    :V1.0 - Version initiale
** 2019-10-24 (Merguez07) :V2.0 - utilisation du proxy Eedomus
** 2019-10-26 (Merguez07) :V2.1 - Passage du cahce de 24h à 1h
* *2020-11-11 (Merguez07) :V3.0 - utilisation des données du site de selectra
**************************************************************************************/

function sdk_multiexplode ($delimiters,$string) {   // Separer une chaine de caracteres suivant plusieurs separateurs
    $ready  = str_replace($delimiters, $delimiters[0], $string);
    $launch = explode($delimiters[0], $ready);
    return  $launch;
}
 
function sdk_format ($string) {   // met en forme selon la semantique du plugin du store
    $format =   strtoupper(str_replace(' ','',$string));
    $format =   str_replace('TEMPO','',$format);
    $color  =   array("BLEU","BLANC","ROUGE");
    if (in_array($format,$color)!=true) $format="ND";
    return  $format;
 }

$url            ='https://selectra.info/energie/fournisseurs/edf/tempo';
$response       = httpQuery($url,'GET');
$exploded       = sdk_multiexplode(array('<div id="block-tempo">','<p class="text-box laptop">'),$response);
$block_tempo    = $exploded[1];
$exploded       = sdk_multiexplode(array('<div ','</div>'),$block_tempo);
$tempo_today    = sdk_multiexplode(array('<p class="card--ejp__state">','</p>'),$exploded[6]);
$tempo_tomorrow = sdk_multiexplode(array('<p class="card--ejp__state">','</p>'),$exploded[14]);
$nb_red_days    = sdk_multiexplode(array('<p class="card__title h4 col-xs-12 col-md-6">','</p>'),$exploded[22]);
$nb_red_days    = str_replace(' ','',$nb_red_days[1]);

// Génération du XML
  sdk_header('text/xml');
$xml = '<?xml version="1.0" encoding="UTF-8"?>';
$xml .= "<tempo>\n";
$xml .= '   <aujourdhui>'   .sdk_format($tempo_today[1])    ."</aujourdhui>\n";
$xml .= '   <demain>'       .sdk_format($tempo_tomorrow[1]) ."</demain>\n";
$xml .= "   <decompte_bleu>ND</decompte_bleu>\n";
$xml .= "   <decompte_blanc>ND</decompte_blanc>\n";
$xml .= '   <decompte_rouge>'.$nb_red_days."</decompte_rouge>\n";
$xml .= '</tempo>';
echo $xml;


 
 

?>
Auteur:  peji [ 12 Nov 2020 13:05 ]
Sujet du message:  Re: ALTERNATIVE A SCRIPT EJP

Un grand merci merguez07 :D
Toujours a l'écoute de nos problèmes !!
Nous allons pouvoir affronter l'hiver sereinement maintenant :lol:
Auteur:  merguez07 [ 12 Nov 2020 13:24 ]
Sujet du message:  Re: ALTERNATIVE A SCRIPT EJP

peji a écrit:Un grand merci merguez07


je vais mettre à jour les plugins tempo et EJP afin de faciliter l'intégration du script :D
Auteur:  merguez07 [ 12 Nov 2020 20:23 ]
Sujet du message:  Re: [Store] EJP

Le plugin a été mis à jour :D
Auteur:  jba30943 [ 13 Nov 2020 17:01 ]
Sujet du message:  Re: [Store] EJP

bonjour

Merci a MERGUEZ07
J'ai mis un moment a comprendre ce qu'il fallait faire mais j'y suis arrivé.

CA MARCHE
Merci encore
Auteur:  PLCOMPUTER [ 01 Déc 2020 23:40 ]
Sujet du message:  Re: [Store] EJP

Bonjour

Merci ! Merci ! Merci !
Auteur:  yeckert [ 07 Jan 2022 15:02 ]
Sujet du message:  Re: [Store] EJP

Bonjour
j'ai du modifier le script pour récupérer les jours EJP.
j'ai remplacé
$ejp_today = sdk_multiexplode(array('<p class="card--ejp__state">','</p>'),$exploded[6]);
par
$ejp_today = sdk_multiexplode(array('<p class="card-ejp__state">','</p>'),$exploded[6]);

et
$ejp_tomorrow = sdk_multiexplode(array('<p class="card--ejp__state">','</p>'),$exploded[14]);
par
$ejp_tomorrow = sdk_multiexplode(array('<p class="card-ejp__state">','</p>'),$exploded[14]);

Dans la source de la page internet intérrogée car-ejp ne prend qu'un seul tiret
Auteur:  yeckert [ 29 Mars 2022 19:17 ]
Sujet du message:  Re: [Store] EJP

Pour Ejp pareil
$url ='https://selectra.info/energie/fournisseurs/edf/ejp';
$response = httpQuery($url,'GET');
$exploded = sdk_multiexplode(array('<div id="block-ejp">','<p class="text-box namely">'),$response);
$block_ejp = $exploded[1];
$exploded = sdk_multiexplode(array('<div ','</div>'),$block_ejp);

$ejp_today = sdk_multiexplode(array('div class="card-ejp__icon">','<span>','</span>'),$exploded[4]);

$ejp_today = sdk_format($ejp_today[1]);

$ejp_tomorrow = sdk_multiexplode(array('div class="card-ejp__icon">','<span>','</span>'),$exploded[10]);
$ejp_tomorrow = sdk_format($ejp_tomorrow[1]);

$countdown = sdk_multiexplode(array('<p class="card__title h4 col-xs-12 col-md-6">','</p>'),$exploded[18]);
$countdown = str_replace(' ','',$countdown[1]); // " 0/22 " => "0/22"
$nb_day_ejp = substr($countdown,0,strpos($countdown,"/")); // "0/22" => "0"
$nb_total_day_ejp = substr($countdown,strpos($countdown,"/")+1); // "0/22" => "22"
$countdown = $nb_total_day_ejp-$nb_day_ejp;
Auteur:  merguez07 [ 30 Mars 2022 08:18 ]
Sujet du message:  Re: [Store] EJP

Je viens de corriger dans le store :D
Page 1 sur 1 Le fuseau horaire est UTC+1 heure