Note de ce sujet :
  • Moyenne : 3.4 (5 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5
Adaptation EJP
#1
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
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(&timestamp);
            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(&timestamp2);
            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   Huh
                    
Répondre


Messages dans ce sujet
Adaptation EJP - par 59jag - 12-11-2024, 11:32 PM
RE: Adaptation EJP - par Grisly18 - 12-11-2024, 11:44 PM
RE: Adaptation EJP - par Fabrice49 - 13-11-2024, 12:39 AM
RE: Adaptation EJP - par Grisly18 - 13-11-2024, 09:56 AM
RE: Adaptation EJP - par tupolev89 - 13-11-2024, 02:32 PM
RE: Adaptation EJP - par Philippe Marie - 13-11-2024, 02:56 PM
RE: Adaptation EJP - par 59jag - 13-11-2024, 09:10 PM
RE: Adaptation EJP - par Philippe Marie - 13-11-2024, 10:04 PM
RE: Adaptation EJP - par jeannot - 13-11-2024, 03:02 PM
RE: Adaptation EJP - par jeannot - 13-11-2024, 09:36 PM
RE: Adaptation EJP - par Grisly18 - 14-11-2024, 10:47 PM
RE: Adaptation EJP - par 59jag - 15-11-2024, 07:12 AM
RE: Adaptation EJP - par 59jag - 16-11-2024, 01:50 PM
RE: Adaptation EJP - par Grisly18 - 17-11-2024, 06:45 PM
RE: Adaptation EJP - par Grisly18 - 16-11-2024, 04:56 PM
RE: Adaptation EJP - par 59jag - 17-11-2024, 06:56 PM
RE: Adaptation EJP - par Grisly18 - 17-11-2024, 07:51 PM
RE: Adaptation EJP - par 59jag - 18-11-2024, 09:09 PM
RE: Adaptation EJP - par jeannot - 19-11-2024, 06:24 PM
RE: Adaptation EJP - par 59jag - 19-11-2024, 09:20 PM
RE: Adaptation EJP - par Grisly18 - 19-11-2024, 07:57 PM
RE: Adaptation EJP - par 59jag - 02-12-2024, 10:40 PM
RE: Adaptation EJP - par Grisly18 - 05-12-2024, 06:27 PM
RE: Adaptation EJP - par imod52 - 15-03-2025, 11:31 PM

Atteindre :


Utilisateur(s) parcourant ce sujet : 1 visiteur(s)