Forum eedomus
https://forum.eedomus.com/

Tempo EDF
https://forum.eedomus.com/viewtopic.php?f=22&t=855
« Précédent  Page 2 sur 7  Suivant »
Auteur:  anne-marie [ 21 Août 2015 22:27 ]
Sujet du message:  Re: Tempo EDF

la même chose que toi si je coche "transformer le json en xml"
Auteur:  baltimore [ 15 Oct 2015 09:25 ]
Sujet du message:  Re: Tempo EDF

Bonjour,

Pour ma part je viens d'essayer de récupérer la couleur du jour est cela ne fonctionne pas :-(
Voici ce que j'ai fait :

Tempo1.JPG
Configuration 1
Tempo1.JPG (49.19 Kio) Consulté 22545 fois


Tempo2.JPG
Configuration 2
Tempo2.JPG (29.06 Kio) Consulté 22545 fois


Message d'erreur de parsing du XML :

Tempo3.JPG
Erreur
Tempo3.JPG (21.3 Kio) Consulté 22545 fois


Résultat du test XPath (même résultat quand je coche la case "Transformer le JSON en XML") :

Tempo4.JPG
Test
Tempo4.JPG (46.11 Kio) Consulté 22545 fois


Si quelqu'un a une idée de la source de l'erreur je pense que l'on est plusieurs à être intéressé par la solution ;-)

Merci d'avance pour vos réponses.

A+
Baltimore
Auteur:  ded is red [ 18 Oct 2015 10:43 ]
Sujet du message:  Re: Tempo EDF

Bonjour,
exactement la même erreur pour moi, je ne comprend pas pourquoi ça ne marche pas.
J'ai vu sur l'article de Djmomo qu'il comptait mettre à jour son script EJP-et-Tempo-infos.
Vivement qu'il le fasse...
Auteur:  ded is red [ 28 Oct 2015 12:23 ]
Sujet du message:  Re: Tempo EDF

Bonjour,

les réponses sont ici : http://www.touteladomotique.com/forum/viewtopic.php?f=18&t=14699&p=136673#p136673.
Voici les URL pour les utilisateurs EJP:
Informations EJP : https://particulier.edf.fr/bin/edf_rc/s ... Alerte=EJP
Jours écoulés EJP : https://particulier.edf.fr/services/res ... chType=ejp

Les valeurs retournées par le JSON pour les infos EJP sont : NON_EJP, EST_EJP, ND


Pour les utilisateurs tempo :
Informations tempo : https://particulier.edf.fr/bin/edf_rc/s ... erte=TEMPO
Jours restants tempo : https://particulier.edf.fr/bin/edf_rc/s ... erte=TEMPO
Historique tempo par année : https://particulier.edf.fr/services/res ... teEnd=2016
Les chemins Xpath sont:
JourJ1 pour la couleur du lendemain
PARAM_NB_J_ROUGE pour le nombre de jour rouge restant...changer la couleur pour les 2 autres.
Pensez à cocher changer JSON en XML dans les paramètres expert.

Certaines URL ont besoin d'une date actualisée. Il faut utiliser les variables je pense. J'aurais besoin d'aide car je n'ai pas trouvé comment mettre la date de demain dans l'URL Informations tempo : https://particulier.edf.fr/bin/edf_rc/s ... _remonter=[TOMORROW]&TypeAlerte=TEMPO;
La date doit être au format aaaa-mm-jj.
Merci pour votre aide
Auteur:  titi007 [ 23 Nov 2015 09:34 ]
Sujet du message:  Re: Tempo EDF

même problématique que ded is red, une aide pour mettre les dates à jour automatiquement ?
est ce que l'on peut passer avec les variables [DATE] ou bien passer par un script php ?
merci pour vos réponses ;)
Auteur:  ded is red [ 11 Déc 2015 19:06 ]
Sujet du message:  Re: Tempo EDF

Bonsoir, voilà la solution que j'ai mis en place:
1. copier/coller le fichier 'datexml.php' suivant sur votre serveur (je pense que l'eedomus peux convenir ; c'est le premier code que j'écris, je sais que ce n'est rien mais c'était une petite victoire pour moi :D ) :
Code : Tout sélectionner
<?php
 
header('content-type:application/xml');
 
echo '<?xml version="1.0" ?>'; // pour eviter l'interpretation par php
?>
<aujourdhui>
<?php
echo date('Y-m-d');
?>
   
</aujourdhui>

Pour tester, appeler le fichier dans votre navigateur internet, normalement ça vous renvoie la date du jour.

2. Dans l'eedomus créer un capteur http :
Image
Relever le code API de ce capteur.
Associer une règle qui mettra ce capteur à jour 1fois par jour à 00:02 par exemple.

3. Créer le capteur HTTP "couleur tempo du lendemain" :
Image
Donc dans l'URL vu plus haut dans ce post (https://particulier.edf.fr/bin/edf_rc/s ... erte=TEMPO), remplacer la date par [LAST_VALUE PERIPH_ID=XXXXXX] en remplaçant les X par le code API du capteur donnant la date.

Créer une règle mettant à jour ce capteur 1 fois par jour entre 11h et midi et le tour est joué.
Auteur:  anne-marie [ 13 Déc 2015 10:30 ]
Sujet du message:  Re: Tempo EDF

Merci pour cette explication. Ca marche impeccable :D
En revanche, l'eedomus n'a pas accepté le script et je l'ai donc mis sur mon Raspberry.
Auteur:  dplein [ 14 Déc 2015 09:24 ]
Sujet du message:  Re: Tempo EDF

Bonjour,

Merci pour les explications mais je n'y arrive pas car quand je teste cela me marque valeur lue vide. Si je coche la case transformer le son en xml, ça marche...

PS, je l'utilise pour l'EJP et j'attend comme réponse NON_EJP ou EST_EJP ou ND.


Merci pour votre aide.....
Auteur:  LoloBERT [ 22 Déc 2015 21:44 ]
Sujet du message:  Re: Tempo EDF

anne-marie a écrit:Merci pour cette explication. Ca marche impeccable :D
En revanche, l'eedomus n'a pas accepté le script et je l'ai donc mis sur mon Raspberry.


bonjour,

essaie ce code pour injecter un fichier php directement dans la Eedomus et l'appeller par une règle sur des capteur HTTP de type "couleur du jour" & "Couleur de demain.
Code : Tout sélectionner
<?php

//Code par LoloB le geek médicament

$aujourdhui = date("Y-m-d");
$URL_tempo = "https://particulier.edf.fr/bin/edf_rc/servlets/ejptemponew?Date_a_remonter=".$aujourdhui."&TypeAlerte=TEMPO";

// Renvoie les couleurs TEMPO
$jsoncouleurtempo = httpQuery($URL_tempo);

// Formate les couleurs TEMPO
$xmlcouleurtempo = jsonToXML($jsoncouleurtempo);

// Ameliore la sortie xml pour la eedomus
sdk_header('text/xml');

echo $xmlcouleurtempo;


?>


Le resultat est déja formaté en XML et il n'y a plus qu'à préciser le chemin XPath "JourJ" et "JourJ1" pour récupérer les valeurs des couleurs.
a plus .
Auteur:  dplein [ 23 Déc 2015 08:00 ]
Sujet du message:  Re: Tempo EDF

Merci pour ce script mais tu ne pourrais pas l'adapter stp pour les utilisateurs de l'EJP ???

Merci d'avance.... :D :D
Auteur:  manutea [ 07 Fév 2016 10:08 ]
Sujet du message:  Re: Tempo EDF

Bonjour,

Depuis le 06/02/2016 j'ai un pb de "SSL connection timeout" sur ma requête :
https://particulier.edf.fr/bin/edf_rc/s ... _remonter=[LAST_VALUE PERIPH_ID=xxxxxxx]&TypeAlerte=EJP
Est ce que ce problème est général car jusqu'à samedi je n'avais aucune notification.

Merci de votre aide

manutea
Auteur:  LoloBERT [ 14 Fév 2016 19:37 ]
Sujet du message:  Re: Tempo EDF

dplein a écrit:Merci pour ce script mais tu ne pourrais pas l'adapter stp pour les utilisateurs de l'EJP ???

Merci d'avance.... :D :D

Essaye cela et récupère les valeurs JourJ/Ejp_qui_t"intéresse & JourJ1/Ejp_qui_t"intéresse


Code : Tout sélectionner
<?php

$aujourdhui = date("Y-m-d");

$URL_ejp = "https://particulier.edf.fr/bin/edf_rc/servlets/ejptemponew?Date_a_remonter=".$aujourdhui."&TypeAlerte=EJP";

// Renvoie les injo EJP

$jsonejp = httpQuery($URL_ejp);

// Formate les injo EJP

$xmlejp = jsonToXML($jsonejp);

// Ameliore la sortie xml pour la eedomus
sdk_header('text/xml');

echo $xmlejp;


?>
Auteur:  dplein [ 15 Fév 2016 07:03 ]
Sujet du message:  Re: Tempo EDF

Merci beaucoup Lolobert !!! :thumbup: :thumbup:

EDIT:
J'ai une erreur : Fatal error: Call to undefined function httpQuery() in /volume1/web/ejp/index.php on line 11
Auteur:  LoloBERT [ 23 Fév 2016 16:45 ]
Sujet du message:  Re: Tempo EDF

dplein a écrit:Merci beaucoup Lolobert !!! :thumbup: :thumbup:

EDIT:
J'ai une erreur : Fatal error: Call to undefined function httpQuery() in /volume1/web/ejp/index.php on line 11

Bizarre cela...
j'ai tester aujourd'hui, directement au niveau de la box, connecté en local et voilà les valeurs qu'il me donne..
Code : Tout sélectionner
<root><JourJ><EjpOuest>
NON_EJP
</EjpOuest><EjpPaca>
NON_EJP
</EjpPaca><EjpNord>
NON_EJP
</EjpNord><EjpSud>
NON_EJP
</EjpSud></JourJ><JourJ1><EjpOuest>
NON_EJP
</EjpOuest><EjpPaca>
NON_EJP
</EjpPaca><EjpNord>
NON_EJP
</EjpNord><EjpSud>
NON_EJP
</EjpSud></JourJ1></root>

Lances tu le script depuis la box ?
Auteur:  dplein [ 24 Fév 2016 20:22 ]
Sujet du message:  Re: Tempo EDF

Merci ça marche enfin mais depuis la box seulement. Je ne comprends pas pourquoi ça ne marche pas depuis le syno. Pourtant ma météo est sur le syno...

Tu n'aurais pas le calcul des jours restant pour l'EJP stp ???

Merci pour tout !!!!
Auteur:  LoloBERT [ 01 Mars 2016 22:39 ]
Sujet du message:  Re: Tempo EDF

Bonjour
Il est probable que la fonction httpquery n'existe pas en pure php mais je ne suis pas assez calé là dessus ..

Concernant les jours restant EJP, je ne sais pas, désolé ..

A plus
Auteur:  gougol69 [ 30 Mars 2016 15:52 ]
Sujet du message:  Re: Tempo EDF

Bonjour

En prenant en compte les 2 scripts et la demande d'EJP restant le script est le suivant :
A copier sur la box

Code : Tout sélectionner
<?php

$aujourdhui = date("Y-m-d");

$URL_tempo = "https://particulier.edf.fr/bin/edf_rc/servlets/ejptemponew?Date_a_remonter=".$aujourdhui."&TypeAlerte=TEMPO";
$URL_tempo_restant = "https://particulier.edf.fr/bin/edf_rc/servlets/ejptempodaysnew?TypeAlerte=TEMPO";

$URL_ejp = "https://particulier.edf.fr/bin/edf_rc/servlets/ejptemponew?Date_a_remonter=".$aujourdhui."&TypeAlerte=EJP";
$URL_ejp_histo = "https://particulier.edf.fr/services/rest/referentiel/historicEJPStore?searchType=ejp";

// Renvoie les valeurs TEMPO
$jsoncouleurtempo = httpQuery($URL_tempo);
$jsonrestanttempo = httpQuery($URL_tempo_restant);

// Formate les valeurs TEMPO
$xmlcouleurtempo = jsonToXML($jsoncouleurtempo);
$xmlrestanttempo = jsonToXML($jsonrestanttempo);

// Renvoie les valeurs EJP
$jsonejp = httpQuery($URL_ejp);
$jsonejp_histo = httpQuery($URL_ejp_histo);

// Formate les valeurs EJP
$xmlejp = jsonToXML($jsonejp);
$xmlejp_histo = jsonToXML($jsonejp_histo);

//Formate EJP restant
$ejpsud_restant = xpath($xmlejp_histo,'/root/SUD/Total');
$ejpsud_restant = 22 - $ejpsud_restant;

$ejpouest_restant = xpath($xmlejp_histo,'/root/OUEST/Total');
$ejpsouest_restant = 22 - $ejpouest_restant;

$ejppaca_restant = xpath($xmlejp_histo,'/root/PACA/Total');
$ejppaca_restant = 22 - $ejppaca_restant;

$ejpnord_restant = xpath($xmlejp_histo,'/root/NORD/Total');
$ejpnord_restant = 22 - $ejpnord_restant;


// Ameliore la sortie xml pour la eedomus
sdk_header('text/xml');

//Mise en forme du fichier de sortie
$xmlcouleurtempo = str_replace('</root>', '', $xmlcouleurtempo);

$xmlrestanttempo = str_replace('<root>', '', $xmlrestanttempo);
$xmlrestanttempo = str_replace('<?xml version="1.0" encoding="ISO-8859-1"?>', '<Restant>', $xmlrestanttempo);
$xmlrestanttempo = str_replace('</root>', '</Restant>', $xmlrestanttempo);

$xmlejp = str_replace('<root>', '', $xmlejp);
$xmlejp = str_replace('<?xml version="1.0" encoding="ISO-8859-1"?>', '<EJP>', $xmlejp);
$xmlejp = str_replace('</root>', '<Restant>', $xmlejp);
$xmlejp.='<NB_Sud>'.$ejpsud_restant.'</NB_Sud>';
$xmlejp.='<NB_Ouest>'.$ejpsud_restant.'</NB_Ouest>';
$xmlejp.='<NB_PACA>'.$ejppaca_restant.'</NB_PACA>';
$xmlejp.='<NB_Nord>'.$ejpnord_restant.'</NB_Nord>';
$xmlejp.='</Restant>';
$xmlejp.='</EJP>';
$xmlejp.='</root>';

echo $xmlcouleurtempo;
echo $xmlrestanttempo;
echo $xmlejp;

?>


Avec pour les Xpath par exemple :

Pour EJP demain : EJP/JourJ1/EjpSud
Pour EJP restant : EJP/Restant/NB_Sud
Pour tempo demain : JourJ1/Tempo
Pour Tempo rouge restant : Restant/PARAM_NB_J_ROUGE

Voila si ça intéresse encore du monde
Auteur:  ctve [ 28 Juil 2016 14:23 ]
Sujet du message:  Re: Tempo EDF

Bonjour,

Je déterre ce post un peu tard mais, oui ! ça interresse encore du monde.

Problème, le script s'exécute bien et je récupère bien le XML dans la fenêtre de test mais aucun des XPATH proposés ne fonctionne et .... la syntaxe XPATH ce n'est pas ma tasse de thé.

J'obtiens invariablement comme réponse : Valeur lue vide

Quelqu'un peut-il m'aider. Voici le XML récupéré lors du test ci-dessous :

Code : Tout sélectionner
   <?xml version="1.0" encoding="ISO-8859-1"?>
<root><JourJ>
<Tempo>
BLEU
</Tempo>
</JourJ>
<JourJ1>
<Tempo>
BLEU
</Tempo>
</JourJ1>
<Restant>
<PARAM_NB_J_BLEU>
34
</PARAM_NB_J_BLEU>
<PARAM_NB_J_BLANC>
0
</PARAM_NB_J_BLANC>
<PARAM_NB_J_ROUGE>
0
</PARAM_NB_J_ROUGE>
</Restant><EJP>
<JourJ>
<EjpOuest>
NON_EJP
</EjpOuest>
<EjpPaca>
NON_EJP
</EjpPaca>
<EjpNord>
NON_EJP
</EjpNord>
<EjpSud>
NON_EJP
</EjpSud>
</JourJ>
<JourJ1>
<EjpOuest>
NON_EJP
</EjpOuest>
<EjpPaca>
NON_EJP
</EjpPaca>
<EjpNord>
NON_EJP
</EjpNord>
<EjpSud>
NON_EJP
</EjpSud>
</JourJ1>
<Restant><NB_Sud>0</NB_Sud><NB_Ouest>0</NB_Ouest><NB_PACA>0</NB_PACA><NB_Nord>0</NB_Nord></Restant></EJP></root>
Auteur:  titi007 [ 11 Août 2016 09:23 ]
Sujet du message:  Re: Tempo EDF

désolé, peut être que la réponse est tardive, moi pour récupérer la valeur du lendemain, j'ai : JourJ1/EjpSud
Auteur:  ctve [ 11 Août 2016 10:32 ]
Sujet du message:  Re: Tempo EDF

Merci pour ta réponse mais, avec JourJ1/EjpSud j'obtiens toujours Erreur : Valeur lue vide

Peux-tu me faire une copie de l'XML que tu obtiens en retour lorsque tu testes ton capteur http ou bien le comparer à celui que j'ai mis dans mon post précéedent ?

A priori je ne vois pas pourquoi ce serait différent de chez moi mais j'avoue que je m'arrache les cheveux.

J'ai essayé toutes les syntaxes XPATH possibles et imaginables et j'ai toujours comme réponse Valeur lue vide .... Et pourtant je récupère bien le XML grâce au script comme tu peux le voir dans mon post précédent.
Page 2 sur 7 Le fuseau horaire est UTC+1 heure