12-11-2024, 11:32 PM
(Modification du message : 02-12-2024, 10:03 PM par 59jag.
Raison de la modification: mise a jour modif
)
Bonjour,
Encore merci pour ce formidable routeur,
je voulais attendre qu un jour ejp arrive pour tester et demain c est un jour rouge.
j ai modifier le code versions 12.06 pour l ejp .
rajout de l option ejp
reception des données
affichage dans main les couleurs
pas tous a fait fini reste les actions.
je ne sais pas si il y a beaucoup en ejp si il y a des intéressés je mettrais les modifications.
dans Solar_Router_V12_06.ino
ligne 1034 Call_RTE_data();
Modifier if (TempoRTEon == 1) Call_RTE_data();
et ajouter if (TempoRTEon == 2) Call_EJP_data(); //59jag
apres ligne 1044 if (LTARF.indexOf("ROUGE") >= 0) Ltarf += 16;
ajouter if (LTARF.indexOf("VERT") >= 0) Ltarf += 4; //59jag
if (LTARF.indexOf("EJP_ROUGE") >= 0) Ltarf += 0; //59jag
ajouter un nouveau fichier Ejp.ino (new Tab)
et copier le codesuivant dedans
*********************************************************************************************************************
dans pageHtmlPara.h
56 <input type='checkbox' name='TempoRTEon' id='TempoRTEon' style='width:25px;' >
apres ligne 57 </div>
ajouter <div class='ligne'>
<label for='EjpOn'>Affichage couleur Ejp : </label>
<input type='checkbox' name='EjpOn' id='EjpOn' style='width:25px;' >
</div>
apres ligne 337 GID("TempoRTEon").checked = Para[24]==1 ? true:false;
ajouter GID("EjpOn").checked = Para[24]==2 ? true:false; //59jag
apres ligne 361 var TempoRTEon = GID("TempoRTEon").checked ? 1:0;
ajouter if(TempoRTEon == 0 ) TempoRTEon = GID("EjpOn").checked ? 2:0; //59jag
*************************************************************************************************************************
dans pageHtmlMain.h
modifier les lignes 116 var Tarif=["NON_DEFINI","PLEINE","CREUSE","BLEU","BLANC","ROUGE"];
117 var couleur=["#ddf","#f00","#0f0","#00bfff","#fff","#f00"];
118 var tarif=["","H.<br>pleine","H.<br>creuse","Tempo<br>Bleu","Tempo<br>Blanc","Tempo<br>Rouge"];
comme ceci var Tarif=["NON_DEFINI","PLEINE","CREUSE","BLEU","BLANC","ROUGE","VERT","ROUGE"]; //59jag
var couleur=["#ddf","#f00","#0f0","#00bfff","#fff","#f00","#0f0","#f00"]; //59jag
var tarif=["","H.<br>pleine","H. <br>creuse","Tempo<br>Bleu","Tempo<br>Blanc","Tempo<br>Rouge","Ejp<br>Vert","Ejp<br>Rouge"]; //59jag
modifier les lignes 120 for (i=0;i<6;i++){
comme ceci for (i=0;i<8;i++){
132 txtJ = "Tempo<br>J+1";
apres ligne 133 }
ajouter if (tempo>3 ){ //59jag
txtJ = "Ejp<br>J+1"; //59jag
} //59jag
**************************************************************************************************************************
avec ces modif vous avez deja l affichage des couleur ejp
reste encore action html a finir mes ca bug
Encore merci pour ce formidable routeur,
je voulais attendre qu un jour ejp arrive pour tester et demain c est un jour rouge.
j ai modifier le code versions 12.06 pour l ejp .
rajout de l option ejp
reception des données
affichage dans main les couleurs
pas tous a fait fini reste les actions.
je ne sais pas si il y a beaucoup en ejp si il y a des intéressés je mettrais les modifications.
dans Solar_Router_V12_06.ino
ligne 1034 Call_RTE_data();
Modifier if (TempoRTEon == 1) Call_RTE_data();
et ajouter if (TempoRTEon == 2) Call_EJP_data(); //59jag
apres ligne 1044 if (LTARF.indexOf("ROUGE") >= 0) Ltarf += 16;
ajouter if (LTARF.indexOf("VERT") >= 0) Ltarf += 4; //59jag
if (LTARF.indexOf("EJP_ROUGE") >= 0) Ltarf += 0; //59jag
ajouter un nouveau fichier Ejp.ino (new Tab)
et copier le codesuivant dedans
Code :
//*****************************************************************
// * Recherche Info Ejp pour les sources non Linky par 59jaj *
// ****************************************************************
#include <HTTPClient.h>
void Call_EJP_data() {
char buffer[MAX_SIZE_T];
String urlJSON = "https://api-commerce.edf.fr/commerce/activet/v1/calendrier-jours-effacement?option=EJP&dateApplicationBorneInf=";
String EJPdata = "";
String line = "";
String DateEJP = ""; // an-mois-jour au format AAAA-MM-JJ
String DateEJP2 = ""; // an-mois-jour lendemain
int Hcour = HeureCouranteDeci / 2; // Par pas de 72 secondes pour faire 2 appels si un bug
int LastH = LastHeureRTE / 2;
String jourStatus= "" ;
String demainStatus = "";
// Éviter de questionner l'URL tempo light si on a déjà les infos qui nous intéressent...
bool couleur_lendemain = (STGE == "10" || STGE == "14"); // True si couleur du lendemain connue
bool couleur_jour = (LTARF == "EJP_VERT" || LTARF == "EJP_ROUGE"); // True si couleur du jour connu
// Traitement du changement de couleur EJP à 7h00, avec réinitialisation de la couleur du lendemain
if ((Hcour == 350) && (LTARF != "") && (STGE != ""))
// À 7h00 précises, la couleur tempo du lendemain devient la couleur du jour.
{
if (STGE == "10") LTARF = "EJP_VERT";
else if (STGE == "14") LTARF = "EJP_ROUGE";
STGE = "";
couleur_lendemain = false; // La couleur du lendemain n'est plus connue
if (LTARF != "") {
StockMessage(LTARF + " depuis 7h00 demain ? pas avant 13H.");
}
}
if ((DATEvalid) &&
(!(couleur_lendemain && couleur_jour)) &&
(((LastH != Hcour) &&
(Hcour == 652 || Hcour == 672 || Hcour == 700 || Hcour == 750 || Hcour == 800 || Hcour == 900 || Hcour == 1150)) ||
(LastHeureRTE < 0))) {
if (TempoRTEon == 2) {
time_t timestamp = time(NULL) - 21600; // Décalage début période couleur EJP de 6h.
struct tm* pTime = localtime(×tamp);
strftime(buffer, MAX_SIZE_T, "%Y-%m-%d", pTime);
DateEJP = String(buffer);
time_t timestamp2 = time(NULL) + 64800; // Décalage début période couleur EJP de 18h pour le lendemain.
struct tm* pTime2 = localtime(×tamp2);
strftime(buffer, MAX_SIZE_T, "%Y-%m-%d", pTime2);
DateEJP2 = String(buffer);
Serial.print("DateEJP:");
Serial.println(DateEJP);
Serial.print("DateEJP lendemain:");
Serial.println(DateEJP2);
urlJSON += DateEJP + "&dateApplicationBorneSup=" + DateEJP2 + "&identifiantConsommateur=src";
Serial.println(urlJSON);
HTTPClient http;
http.begin(urlJSON);
http.addHeader("Accept", "application/json");
http.addHeader("Content-Type", "application/json");
http.addHeader("Origin", "https://particulier.edf.fr");
http.addHeader("Referer", "https://particulier.edf.fr/");
http.addHeader("application-origine-controlee", "site_RC");
http.addHeader("situation-usage", "Jours Effacement");
int httpResponseCode = http.GET();
if (httpResponseCode > 0) {
String EJPdata = http.getString();
Serial.println ("Reponse de l'API :" +EJPdata);
jourStatus= StringJson(DateEJP+"\",\"statut", EJPdata);
demainStatus = StringJson(DateEJP2+"\",\"statut", EJPdata);
Serial.println("aujourd hui :" + jourStatus);
Serial.println("demain :" + demainStatus);
} else {
Serial.print("Erreur dans la requête HTTP : " + httpResponseCode);
}
http.end();
if (jourStatus == "EJP" || jourStatus == "NON_EJP"){
String LTARFrecu = jourStatus;
if (LTARFrecu == "NON_EJP") LTARF = "EJP_VERT";
if (LTARFrecu == "EJP") LTARF = "EJP_ROUGE";
line = "0";
String lendemain = "NON_DEFINI";
LTARFrecu = demainStatus;
if (LTARFrecu.indexOf("EJP") >= 0) {
line = "14";
lendemain = "EJP_ROUGE";
}
if (LTARFrecu.indexOf("NON_EJP") >= 0) {
line = "10";
lendemain = "EJP_VERT";
}
STGE = line; // Valeur Hexa code du Linky
StockMessage(DateEJP + " : " + LTARF + " | " + DateEJP2 + " : " + lendemain);
EJPdata = "";
LastHeureRTE = HeureCouranteDeci; // Heure lecture Tempo RTE
} else {
StockMessage(DateEJP + " : Pas de données EDF valides");
}
} else {
if (Source != "Linky" && Source != "Ext") {
LTARF = "";
STGE = "0";
}
}
}
}
*********************************************************************************************************************
dans pageHtmlPara.h
56 <input type='checkbox' name='TempoRTEon' id='TempoRTEon' style='width:25px;' >
apres ligne 57 </div>
ajouter <div class='ligne'>
<label for='EjpOn'>Affichage couleur Ejp : </label>
<input type='checkbox' name='EjpOn' id='EjpOn' style='width:25px;' >
</div>
apres ligne 337 GID("TempoRTEon").checked = Para[24]==1 ? true:false;
ajouter GID("EjpOn").checked = Para[24]==2 ? true:false; //59jag
apres ligne 361 var TempoRTEon = GID("TempoRTEon").checked ? 1:0;
ajouter if(TempoRTEon == 0 ) TempoRTEon = GID("EjpOn").checked ? 2:0; //59jag
*************************************************************************************************************************
dans pageHtmlMain.h
modifier les lignes 116 var Tarif=["NON_DEFINI","PLEINE","CREUSE","BLEU","BLANC","ROUGE"];
117 var couleur=["#ddf","#f00","#0f0","#00bfff","#fff","#f00"];
118 var tarif=["","H.<br>pleine","H.<br>creuse","Tempo<br>Bleu","Tempo<br>Blanc","Tempo<br>Rouge"];
comme ceci var Tarif=["NON_DEFINI","PLEINE","CREUSE","BLEU","BLANC","ROUGE","VERT","ROUGE"]; //59jag
var couleur=["#ddf","#f00","#0f0","#00bfff","#fff","#f00","#0f0","#f00"]; //59jag
var tarif=["","H.<br>pleine","H. <br>creuse","Tempo<br>Bleu","Tempo<br>Blanc","Tempo<br>Rouge","Ejp<br>Vert","Ejp<br>Rouge"]; //59jag
modifier les lignes 120 for (i=0;i<6;i++){
comme ceci for (i=0;i<8;i++){
132 txtJ = "Tempo<br>J+1";
apres ligne 133 }
ajouter if (tempo>3 ){ //59jag
txtJ = "Ejp<br>J+1"; //59jag
} //59jag
**************************************************************************************************************************
avec ces modif vous avez deja l affichage des couleur ejp
reste encore action html a finir mes ca bug