Note de ce sujet :
  • Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5
decodage date en mode standard
#1
bonjour, nouveau et débutant, j'ai réussi à installer la version lecture linky v10.1 sur mon esp32 vroom. le linky est en mode standard ( j(ai modifié la vitesse du port série pour adapté le code) je voudrai avoir accés à l'étiquette DATE pour décoder la date , le jour ..... j'ai chercher , j'ai écrit pas mal de code, mais là je sèche. quelqu'un a t-il déjà réussi cela ?
ps j'ai écrit un code pour convertir la date unix en "arduino" mais apparemment c'est pas de l'unix?
merci pour votre aide.
Répondre
#2
if (code.indexOf("DATE")>0){
  String test= code.substring(code.indexOf("DATE") + 0);
   DATELinky= test.substring(6, 20);
   
anneelinky="20"+test.substring(6, 8);
moislinky=test.substring(8, 10);
jourlinky=test.substring(10, 12);
   heurelinky=test.substring(12, 14);
   minutelinky=test.substring(14, 16);
   secondelinky=test.substring(16, 18);}
6800W pV
un triac sur  résistance cumulus eau sanitaire
2 relais SSR sur 2 résistances pour cumulus chauffage
et 1 relais  SSR sur radiateur en on/off
4 DS18b20 plus 4 thermistances
2 JSY-MK-194 soit 4 ampèremètre
8 relais  sur 74hc595 contrôle, chaudière, planché, vanne, circulateur.....
Répondre
#3
Photo 
bonsoir, merci pour votre retour. voila ce que j'ai sur le décodage linky , c'est la page html.
je vais essayer vos propositions. merci

https://www.dropbox.com/scl/fi/5zibhrhc5...yq7et&dl=0
Répondre
#4
voilà j'ai mis ce bout de code dans la boucle lecture linky, ( merci cdlnd) ici:
Code :
DataRawLinky[IdxDataRawLinky] = char(13);
            IdxDataRawLinky = (IdxDataRawLinky + 1) % 1000;
            if (code.indexOf("IINST") == 0) {
              Iinst = val.toFloat();
              if (Imoy == 0) { Imoy = Iinst; }
              Imoy = (Iinst + 149 * Imoy) / 150;  //moyenne courant efficace 5 dernieres minutes environ
            }
            if (code.indexOf("PAPP") == 0) {
              Papp = val.toFloat();
              if (PappM == 0) { PappM = Papp; }
              PappM = (Papp + 149 * PappM) / 150;  //moyenne puissance apparente 5 dernieres minutes environ
            }
            if (code.indexOf("HCHP") == 0 || code.indexOf("BASE") == 0) {
              HCHP = val.toInt();
            }
            if (code.indexOf("HCHC") == 0) {
              HCHC = val.toInt();
            }
            if (code.indexOf("DATE") > 0) {
             
              String test = code.substring(code.indexOf("DATE") + 0);
              DATELinky = test.substring(6, 20);

              anneelinky = "20" + test.substring(6, 8);
              moislinky = test.substring(8, 10);
              jourlinky = test.substring(10, 12);
              heurelinky = test.substring(12, 14);
              minutelinky = test.substring(14, 16);
              secondelinky = test.substring(16, 18);

              Serial.print("DATE*****************************");
              Serial.println(anneelinky);
              Serial.print(moislinky);
              Serial.println(jourlinky);

              Serial.print(heurelinky);
              Serial.print(minutelinky);
              Serial.println(secondelinky);
            }
          }

          break;
j'ai rien comme si l'étiquette date était vide , alors que ce n'est pas le cas ( je l'ai sur la page html). j'ai retourné le problème dans tout les sens, j'ai même change le signe supérieur en différent ( j'ai juste le chiffre 20 qui est ajouté pour les années). merci pour votre lecture.
Répondre
#5
bonjour, je continue mon exploration, je m’aperçois que mes graphes sont aussi vide ( comme ils ne m'intéresse pas pour l'instant,  je pensai qu'il fallait les actionner) donc j'ai peut être un soucis ailleurs. j'ai copié le code  lecture linky mode historique v1.10 tel quel, j'ai juste modifié la vitesse de réception du serial 2. je reçoit la trame dans le serial moniteur.dans la page hmtl en bas. Je cale! merci de votre lecture.

https://www.dropbox.com/scl/fi/77wznnmfs...ase3w&dl=0
Répondre
#6
(30-03-2025, 08:51 AM)tictic tac a écrit : bonjour, je continue mon exploration, je m’aperçois que mes graphes sont aussi vide ( comme ils ne m'intéresse pas pour l'instant,  je pensai qu'il fallait les actionner) donc j'ai peut être un soucis ailleurs. j'ai copié le code  lecture linky mode historique v1.10 tel quel, j'ai juste modifié la vitesse de réception du serial 2. je reçoit la trame dans le serial moniteur.dans la page hmtl en bas. Je cale! merci de votre lecture.

https://www.dropbox.com/scl/fi/77wznnmfs...ase3w&dl=0

Bonjour 

  le prog d'André est spécifique au mode historique, il y a quelques autre modif a faire en plus du simple changement de vitesse port série

  entre autre : 
  en mode standard, le séparateur n'est plus un espace mais une tabulation et certaine ligne comporte aussi un champ représentant le moment de l'événement
  les étiquettes mode historique ne sont plus les même en mode standard

  https://www.enedis.fr/media/2035/download
Merci André Smile ,
Routeur V14.21 (since V2.01) / 1xESP32 (IP fixe) / Source UxI / 5 actions
Panneaux 1680Wc
1 Triac : ECS 2000W
1 SSR (multi) : ECS 1800W
1 SSR (On-Off) : Circulateur plancher chauffant eau 50W
1 SSR (multi) : circuit d'eau 1500W
1 SSR (multi) : Ultime 2000W
Répondre


Atteindre :


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