F1ATB forum
L'interrogation du site EDF pour obtenir la couleur tempo ne fonctionne plus ? - Version imprimable

+- F1ATB forum (https://f1atb.fr/forum_f1atb)
+-- Forum : Forum de F1ATB (https://f1atb.fr/forum_f1atb/forum-3.html)
+--- Forum : Routeur Photovoltaïque (https://f1atb.fr/forum_f1atb/forum-4.html)
+--- Sujet : L'interrogation du site EDF pour obtenir la couleur tempo ne fonctionne plus ? (/thread-404.html)

Pages : 1 2 3


RE: L'interrogation du site EDF pour obtenir la couleur tempo ne fonctionne plus ? - JFLA76 - 30-08-2024

Bonsoir

si vous trouvez aussi celui qui contient le nombre de jours restants Rolleyes Rolleyes Cool 

Jean-Francois


RE: L'interrogation du site EDF pour obtenir la couleur tempo ne fonctionne plus ? - Mike - 30-08-2024

J'ai trouvé cette requête qui renvoie un an d'historique :
https://api-commerce.edf.fr/commerce/activet/v1/calendrier-jours-effacement?option=TEMPO&dateApplicationBorneInf=2023-8-31&dateApplicationBorneSup=2024-8-31&identifiantConsommateur=src

J'ai essayé de jouer avec le parametre dateApplicationBorneInf pour avoir moins de donnée mais dès que je le change ça ne fonctionne plus.


RE: L'interrogation du site EDF pour obtenir la couleur tempo ne fonctionne plus ? - F1ATB - 30-08-2024

ça discute sur différents réseaux (Jeedom etc.) Tout le monde cherche la solution. Certains pensent que c'est temporaire cet arrêt des infos Tempo.


RE: L'interrogation du site EDF pour obtenir la couleur tempo ne fonctionne plus ? - Sgb31 - 30-08-2024

Pour info
Sur Home Assistant , j'utilise un plugin qui remonte bien les infos Tempo via le réseau RTE
le lien github --> https://github.com/hekmon/rtetempo/blob/v1.3.2/README.md
Je confirme qu'il continu à fonctionner
Cdlt Gilles


RE: L'interrogation du site EDF pour obtenir la couleur tempo ne fonctionne plus ? - PhDV61 - 30-08-2024

(30-08-2024, 09:22 PM)Sgb31 a écrit : Pour info
Sur Home Assistant , j'utilise un plugin qui remonte bien les infos Tempo via le réseau RTE
le lien github --> https://github.com/hekmon/rtetempo/blob/v1.3.2/README.md
Je confirme qu'il continu à fonctionner
Cdlt  Gilles

Cette page web de RTE donne tout ce dont on a (aurait) besoin :

https://www.services-rte.com/fr/visualisez-les-donnees-publiees-par-rte/calendrier-des-offres-de-fourniture-de-type-tempo.html

Encore faut-il savoir en extraire les données de notre intérêt.


RE: L'interrogation du site EDF pour obtenir la couleur tempo ne fonctionne plus ? - Francky - 31-08-2024

(30-08-2024, 09:22 PM)Sgb31 a écrit : Pour info
Sur Home Assistant , j'utilise un plugin qui remonte bien les infos Tempo via le réseau RTE
le lien github --> https://github.com/hekmon/rtetempo/blob/v1.3.2/README.md
Je confirme qu'il continu à fonctionner
Cdlt  Gilles

Sur Jeedom aussi via RTE, c'est vraiment que EDF qui ne focntionnent plus partout


RE: L'interrogation du site EDF pour obtenir la couleur tempo ne fonctionne plus ? - matt276 - 31-08-2024

Ce endpoint rte donne l'info assez tôt pour le lendemain :

https://www.services-rte.com/cms/open_data/v1/tempo?season=2023-2024


RE: L'interrogation du site EDF pour obtenir la couleur tempo ne fonctionne plus ? - grostoto - 31-08-2024

bonjour
est ce que le pb n'est pas passagé, suite à la remise à zéro de compteur ce WE, pour la nlle année tempo ?


RE: L'interrogation du site EDF pour obtenir la couleur tempo ne fonctionne plus ? - PhDV61 - 31-08-2024

Je ne pense pas. Le site RTE continue à donner les bonnes info.
Cela ressemble beaucoup à un problème EDF.
Sur leurs pages web publiques, les données sont correctes également.

Voilà un code de substitution qui va chercher les infos RTE sur un site "relai" "privé" que j'indiquais plus haut www.api-couleur-tempo.fr
Cela permet d'attendre une solution pérenne et viable.
Ce code, qui fonctionne, doit remplacer le code tempo_EDF.ino.  Chez moi en V11.17+

Je vous invite à changer également la première ligne du fichier principal du RMS en "#define Version  "11.17 Tempo" pour connaitre la version qui tourne sur vos ESPs.
Le code est perfectible, mais il a le mérite de dépanner en attendant mieux.

   

// **************************************************************
// * Recherche Info Tempo EDF pour toute source y compris Linky *
// **************************************************************

// V1 PhDV61 01-09-2024

void Call_EDF_data() {

const char* adr_API_Host = "api-couleur-tempo.fr";
String Host = String("https://www.api-couleur-tempo.fr");

String APIdata = "";
String line = "";
int Hcour = HeureCouranteDeci / 2; //Par pas de 72secondes pour faire 2 appels si un bug
int LastH = LastHeureEDF / 2;

// 300*2=600 = 6h du matin 310x2 = 620 = 6h12 530x2 =1060 10h36 560 = 1120 = 11h12 600 = 1200 => midi ou 12h
if ((LastH != Hcour) && ( Hcour == 300 || Hcour == 310 || Hcour == 530 || Hcour == 560 || Hcour == 600 || Hcour == 900 || Hcour == 1150) || LastHeureEDF < 0)
{

if (TempoEDFon == 1)
{
clientAPI.setInsecure();
if (!clientAPI.connect(adr_API_Host, 443)) // tentative de connexion au site "relais" API-RTE
{
StockMessage("1st Connection failed to API server :" + Host);
return;
}
else // connexion réussie
{
clientAPI.print(String("GET https://www.api-couleur-tempo.fr/api/jourTempo/today\r\n"));
int timeout = millis();
Serial.println("Request couleur Tempo du jour vers API - Envoyée");
delay(100);
// Lecture des données API tempo distantes
while ( clientAPI.available() && ( (millis() - timeout) < 2000) )
{
line = clientAPI.readStringUntil('\n');
APIdata += line;
}
if ( (millis() - timeout) >= 2000 )
{
StockMessage("client ESP_RMS Timeout réception API jour - " + String(APIdata.length()) + " données lues " );
clientAPI.stop();
return;
}

Serial.println( String(APIdata.length()) + " données lues ");
Serial.println( APIdata );

String LTARFrecu = APIJson("codeJour", APIdata);

if (LTARFrecu == "1") LTARF="TEMPO BLEU";
else if (LTARFrecu == "2") LTARF="TEMPO BLANC";
else if (LTARFrecu == "3") LTARF="TEMPO ROUGE";
else LTARF="";

if ( (LTARFrecu == "1") || (LTARFrecu == "2") || (LTARFrecu == "3") )
{
Serial.println( "Tarif du jour : " + LTARF );
StockMessage ( "Tarif du jour : " + LTARF );
LastHeureEDF = HeureCouranteDeci; // Heure de lecture couleur Tempo EDF du jour
}
else // pas normal. le code jour devrait être pourtant renseigné. Il va falloir ré-essayer
{
Serial.println( "Tarif du jour inconnu" );
StockMessage ( "Tarif du jour inconnu" );
}

while ( clientAPI.available() ) clientAPI.read(); // on vide le buffer
APIdata="";
clientAPI.stop();
}

if (!clientAPI.connect(adr_API_Host, 443)) // tentative de connexion au site "relais" API-RTE
{
StockMessage("2nd Connection to API server failed :" + Host);
return;
}
else
{

clientAPI.print(String("GET https://www.api-couleur-tempo.fr/api/jourTempo/tomorrow\r\n"));
Serial.println("Request couleur Tempo lendemain vers API - Envoyée");
delay(100);
int timeout = millis();
// Lecture des données API tempo lendemain distantes
while ( clientAPI.available() && ( (millis() - timeout) < 2000) )
{
line = clientAPI.readStringUntil('\n');
APIdata += line;
}

if ( (millis() - timeout) >= 2000 )
{
StockMessage("client ESP_RMS Timeout réception API lendemain - " + String(APIdata.length()) + " données lues " );
clientAPI.stop();
return;
}

Serial.println( String(APIdata.length()) + " données lues ");
Serial.println( APIdata );
clientAPI.stop();

String LTARFrecu = APIJson("codeJour", APIdata); // Code lendemain
APIdata = "";

line="";
if (LTARFrecu == "1") line = "4";
else if (LTARFrecu == "2") line = "8";
else if (LTARFrecu == "3") line = "C";
STGE = line; //Valeur Hexa code du Linky

String tarif_lendemain=" inconnu";
if (LTARFrecu == "1") tarif_lendemain = "TEMPO BLEU";
else if (LTARFrecu == "2") tarif_lendemain = "TEMPO BLANC";
else if (LTARFrecu == "3") tarif_lendemain = "TEMPO ROUGE";

Serial.println( "Tarif du lendemain : " + tarif_lendemain);
StockMessage( "Tarif du lendemain : " + tarif_lendemain);

}
}
else // la couleur tempo n'est pas (ou plus) requise
{
LTARF = "";
STGE = "0";
}
}
}


Et il faudra également ajouter une fonction "APIJson" de décodage dans le source "enphase.ino" vers les lignes 375... car celles existantes ne fonctionnent pas avec le format de données du site questionné.


String APIJson(String nom, String Json) {
int p = Json.indexOf(nom );
Json = Json.substring(p);
p = Json.indexOf(":");
Json = Json.substring(p + 1);
p = Json.indexOf(",");
Json = Json.substring(0, p);
return Json;
}


RE: L'interrogation du site EDF pour obtenir la couleur tempo ne fonctionne plus ? - PhDV61 - 31-08-2024

(31-08-2024, 10:28 AM)matt276 a écrit : Ce endpoint rte donne l'info assez tôt pour le lendemain :

https://www.services-rte.com/cms/open_data/v1/tempo?season=2023-2024

Oui, c'est une bonne source de données car en provenance de RTE. 
C'est d'ailleurs celle utilisée par JbRomain dans son projet Github RTE-Tempo

ll faut juste gérer le changement de période car à partir du 1er Septembre, la période à demander est maintenant 2024-2025.
Et il faut lire jusque 365 jours de données arrivé au 31 Août car elles ne sont pas ordonnées.

Lui l'a déjà fait pour nous (alors pourquoi se compliquer la vie ?), et il a créé un serveur et une API via lesquels on peut venir juste prélever la couleur du jour et celle du lendemain, avec très peu d'échanges de données.

C'est ce que j'ai choisi de faire pour le moment dans le code précédent. Et cela marche très bien.