Probleme d"enregistrement sur sd

bonjour
j avais un enregistrement journalier des index compteur dans un fichier en .csv
et depuis le 10 fevrier plus aucun enregistrement suplementaire 
je ne vois pas pourquoi cela a cesser de fonctionner
[code

]///////////////////////////////////////////////////////////////////
// Enregistrement index journalier teleinfo dans fichier annuel
///////////////////////////////////////////////////////////////////
void fichier_annee() {
  char fichier_annee[13];
  boolean nouveau_fichier = false;

  String dataCPT = "";
  sprintf( fichier_annee, "%dTELE.csv", annee ); // nom du fichier court (8 caractères maxi . 3 caractères maxi)
  if (!SD.exists(fichier_annee)) nouveau_fichier = true;
  File annetelefile = SD.open(fichier_annee, FILE_WRITE);

  // si le fichier est bien ouvert-> écriture
  if (annetelefile) {
    if (nouveau_fichier) {
      if (num_abo == 1) {
        // abo_BASE
        annetelefile.print(F("BAS,"));
      }
      else if (num_abo == 2) { // abo_HCHP
        annetelefile.print(F("HC.,"));
      }
      else if (num_abo == 3) {// abo_EJP
        annetelefile.print(F("EJP,"));
      }
      else if (num_abo == 4) {// abo_BBR
        annetelefile.print(F("BBR,"));
      }

      if (type_mono_tri[0] == 1) {
        annetelefile.print(F("1,15"));
      }
     if (type_mono_tri[0] == 3) {
       annetelefile.print(F("3,15"));
     }

      if (cpt2_present) annetelefile.println(F(",CPT2 actif,BAS"));
      else annetelefile.println("");

    }
    format_mois_jour();

    annetelefile.print(mois_jour); annetelefile.print(INDEX1);
    if (num_abo > 1) { // abo_HCHP ou EJP
      annetelefile.print(",");
      annetelefile.print(INDEX2);
    }
    if (num_abo > 3) { // abo_BBR
      annetelefile.print(","); annetelefile.print(INDEX3);
      annetelefile.print(","); annetelefile.print(INDEX4);
      annetelefile.print(","); annetelefile.print(INDEX5);
      annetelefile.print(","); annetelefile.print(INDEX6);
    }

    if (cpt2_present) {
      annetelefile.print(",");
      annetelefile.print(cpt2index);
    }

    annetelefile.println("");
    annetelefile.close();
  }
}

///////////////////////////////////////////////////////////////////
// mise en forme Date & heure pour affichage ou enregistrement
///////////////////////////////////////////////////////////////////
void format_date_heure() {
  sprintf(date_heure, "%02d/%02d/%d,%02d:%02d", jour, mois, annee, heure, minute);
}
///////////////////////////////////////////////////////////////////
// mise en forme Date & heure pour affichage web
///////////////////////////////////////////////////////////////////
void format_date_heure_web(){
 sprintf(date_heure_web,"%02d/%02d/%d          %02d:%02d",jour,mois,annee,heure,minute);
}
///////////////////////////////////////////////////////////////////
// mise en forme Date & heure pour enregistrement
///////////////////////////////////////////////////////////////////
void format_mois_jour() {
  sprintf(mois_jour, "%02d,%02d,", mois, jour);
}

// Convert normal decimal numbers to binary coded decimal
byte decToBcd(byte val)
{
  return ( (val / 10 * 16) + (val % 10) );
}

// Convert binary coded decimal to normal decimal numbers
byte bcdToDec(byte val)
{
  return ( (val / 16 * 10) + (val % 16) );
}

Salut Pascal. L'enregistrement toutes les minutes est-il toujours fonctionnel?

J'ai bien peur que je sois responsable de ce pb, le 10 février, ça correspond à la modificatif que j'ai fait à ton code dont la suppression de la librairie RTClib.

Regarde le contenu de la carte SD sur ton PC. Ne te sert pas de la lecture à travers la page web. Essais de trouver le fichier 16TELE.csv

Le format de l'année est sur 2 chiffres , alors qu'il devrait être sur 4.

Poste ici sur ce sujet ou en MP, tous les fichiers de ton projet afin que je corrige ça.

Désole Pascal, pour ce désagrément.

effectivement il y a deux fichier un 2016TELE.csv et l’autre 16TELE.csv
je ferais du couper coller de l’un a l autre pour transférer les donees

domo_10_02_C.ino (49.3 KB)

juste la ligne 846 à corriger:

annee = 2000 + bcdToDec(Wire.read());

ok Merci ligne corriger resutat demain

Oui demain matin, mais même là sur ta page index, tu vois bien que l'année est de nouveau sur 4 chiffres !!!! :)

Concernant la page "Rapatriement fichier .csv via le réseau" , je prévois quelques modifications, notamment sur le téléchargement du fichier annuel avec menu déroulant afin de choisir l'année, car dans l'état actuel des choses ça impose une modif chaque année... Dés que j'aurais mis ça en place je t'en ferais part.

je voyais pas de difference puisque j avais deja un fichier 2016TELE.csv et le 16TELE.csv lui n apparaissait pas ce qui tout a fait logique. Moi de mon cote je vais me penchez sur la facon de rentrer des temperatures de consigne depuis une page web du style de celle de reglage RTC.

en pièce jointe la nouvelle page recupCSV, tu trouvera les instruction pour la mofification du sketch dans ta messagerie.

recupCSV.zip (1.1 KB)

Laurent ptitnitro62000 peux tu faire une re-lecture de ceci
c’ est une version deux compteurs soutirage (consommation) et production en hp/hc pour le premier et base pour le second et me dire ce que tu en pense avant que je tente la creation de la page index
ce n’est pas pour chez moi.
Merci

barbe.ino (34.2 KB)

Salut Pascal, c'est pour utiliser avec quel matériel? c'est un Shield Téléinfo Arduino comme toi? la personne en question possédé déjà la carte?

//#define
echo_USB            //envoie toutes les trames téléinfo sur l'USB

Ligne 18 => Retour chariot en trop...

à la compilation rien d'autre à signaler, c'est sur la même base que toi.

J'ai donc vérifié uniquement la fonction "void XML_response(EthernetClient client)" , et ça l'air d’être pas mal.

meme materiel hormis une uno c'est moi qui fournis

aille! Uno ça va pas être possible, le croquis est trop gros.

Le croquis utilise 37 994 octets (117%) de l'espace de stockage de programmes. Le maximum est de 32 256 octets. Les variables globales utilisent 3 645 octets (177%) de mémoire dynamique, ce qui laisse -1 597 octets pour les variables locales. Le maximum est de 2 048 octets.

je viens de le constate j avais compile en oubliant de changer le type de carte dans l ide va falloir que je trouve une solution en se passant des enregistrement sur sd peut etre que???

Ça dépend de ce que tu a promis au gars....

Tu as déjà acheter la carte? sinon pour environ moins de 50€ tu peux monter le projet que je propose: http://forum.arduino.cc/index.php?topic=373614.0

C' est exactement ce que je veux faire conso +prod ton index correspond a mes attentes mais cela tiendra pas sur la uno que je pocede deja (premiere carte acheter pour les essais de prog)