Recopie de la valeur de la trame teleinfo Ptec par led

oups je crois que la condition est invrese
donc

if (strncmp("HC..",PTEC,4)==00)
{
{digitalWrite(ind_ptec,HIGH);};
}
else {digitalWrite(ind_ptec,LOW);};
}

Donc l heure de verité 22h30

23H00 rien
j ai du faire une boulette, vais chercher

Le mieux serait d'afficher quelque part le contenu de la variable PTEC
Il me semblait d'ailleurs que c'était déjà prévu dans ton interface Web

Bonjour,
C'est pas mieux comme cela :

if (strncmp("HC..",PTEC,4)==00)
{
  {digitalWrite(ind_ptec,HIGH);};
  }
  else {digitalWrite(ind_ptec,LOW);};
}

Juste pour la présentation, mis à part la façon d'écrire le code

Y a des caractères en trop, qui ne devraient toutefois pas gêner à l'exécution.

if (strncmp("HC..",PTEC,4)==00)
{
  digitalWrite(ind_ptec,HIGH);
  }
  else {digitalWrite(ind_ptec,LOW);}

Après la présentation n'est pas terrible. Personnellement je préfère :

if (strncmp("HC..",PTEC,4)==00)
{
  digitalWrite(ind_ptec,HIGH);
}
else
{
  digitalWrite(ind_ptec,LOW);
}

Mais encore une fois, tu ne donnes pas assez d'info pour qu'on puisse t'aider efficacement.

Je ne vois pas depuis où est appelée ta fonction read_PTEC().
Est-ce que tu as bien modifié la déclaration de PTEC et la fonction traitbuf_cpt() comme conseillé ?

Ton serveur web est-il opérationnel?
Si oui, il me semble qu'il affiche la valeur de PTEC.
Si non, as-tu la possibilité de la snifer par un Serial.print ?
Tu peux vérifier qu'elle est correctement alimentée, même en heures pleines.

Enfin, si je comprends bien, tu as fait l'acquisition du shield téléinfo de chez cartelectronic.
Et derrière, j'imagine que tu l'as monté sur une carte arduino ethernet, ou bien sur une carte standard avec un shield ethernet en plus.
Tu as mentionné que l'écriture sur carte SD ne fonctionne pas.
En regardant rapidement, il me semble que les deux shields ont un lecteur de carte SD qui utilise la pin 4. D'où conflit.
Si c'est bien ça, il semble qu'il te faut couper la connexion de la pin4 sur le shield du haut et mettre la carte SD en bas.

Le shield teleinfo n'est peut-être pas prévu pour fonctionner avec de l'ethernet.

Tiens encore un autre point : régler manuellement l'heure de l'horloge par saisie via le port série, est une hérésie quand on dispose d'une connexion internet. Cela pourrait se faire en automatique, mais gardons ça pour plus tard.

bonjour
j appel ma fonction dans

Void loop

read_teleinfo();
read_dep();
read_web();
read_PTEC();

pour l 'enregistrement sur sd cela a déjà fonctionner mais j'ai peu etre modifier qqchose dans le programme et je ne vois pas actuellement ou mais cela n"est pas ma priorite
j ai inclu ton petit bout de programme mais la led reste bien allume tous le temps.

robinson17740:
bonjour
j appel ma fonction dans

Void loop

read_teleinfo();
read_dep();
read_web();
read_PTEC();

pour l 'enregistrement sur sd cela a déjà fonctionner mais j'ai peu etre modifier qqchose dans le programme et je ne vois pas actuellement ou mais cela n"est pas ma priorite
j ai inclu ton petit bout de programme mais la led reste bien allume tous le temps.
Oui effectivement il y a bien dans le serveur une fonction pour afficher la valeur mais marche pas prob code?

C'est balot
je viens de trouver l'erreur

if (strncmp("PETC",&buff[1],5)==0){
strncpy(PTEC,&buff[6],4);
PTEC[4]='\0';

c'est pas bon de veillir !!!!!!!!!!!!! :0(

:smiley:

Essaye vraiment d'afficher le contenu de la variable PTEC par un Serial.println

C'est quand même mieux qu'une led qui ne s'allume que si PTEC est bien alimentée et contient la bonne valeur... seulement à partir de 22h30 :smiling_imp:

Et pour

robinson17740:
...mais marche pas prob code?

désolé je ne suis pas devin. Tu peux expliciter "marche pas" stp ?

sur le web j ai une valeur du type 17734
et ma led reste toujours allume quelque soit la periode

robinson17740:
sur le web j ai une valeur du type 17734
et ma led reste toujours allume quelque la periode

bonsoir
tu ne peux pas déjà faire un log brut des trames emises comme je l'ai suggéré plus haut, aux alentours du point (heure) de bascule.
enregistrer le log sur un PC avec terminalbpp (exemple) et ensuite faire une analyse du fichier log ?

si le probleme est juste un probleme d'analyse de chaine (parsing) ça va se voir tres vite

pour moi c'est du chinois dsl
je sors bien toutes les valeurs quand elles sont en decimales
du type

client.print(PAPP,dec);
client.print(IINST,dec);
mais pas client.print(PTEC);
normalement la trame PTEC passe de HC.. a TH.. a 22h30 sans rien faire

robinson17740:
pour moi c'est du chinois dsl
je sors bien toutes les valeurs quand elles sont en decimales
...

:grin:
bon ! , on va déjà attendre de voir ce soir si les modifs de code proposées sont efficaces.

si ce n'est pas le cas , demain (fin de journée pour moi) "on" t'expliquera comment faire un log brut pour analyse.

Malgres la correction du code, pas de changement led ON

Là il y a un petit problème

if (strncmp("PETC",&buff[1],5)==0){
      strncpy(PTEC,&buff[6],4);
      PTEC[4]='\0';

tu demandes de comparer 5 caractères mais tu n'en mets que 4 en référence. Il manque l'espace en fin de chaîne. En plus c'est PTEC pas PETC

if (strncmp("PTEC ",&buff[1],5)==0){
      strncpy(PTEC,&buff[6],4);
      PTEC[4]='\0';

A l'exécution de ce code, normalement PTEC devrait contenir soit HC.. soit HP..

fdufnews:
Là il y a un petit problème

if (strncmp("PETC",&buff[1],5)==0){

strncpy(PTEC,&buff[6],4);
      PTEC[4]='\0';



tu demandes de comparer 5 caractères mais tu n'en mets que 4 en référence. Il manque l'espace en fin de chaîne. En plus c'est PTEC pas PETC


if (strncmp("PTEC ",&buff[1],5)==0){
      strncpy(PTEC,&buff[6],4);
      PTEC[4]='\0';



A l'exécution de ce code, normalement PTEC devrait contenir soit HC.. soit HP..

et ensuite tu trouve la fonction

///////////////////////////////////////////////////////////////////
// Periode en cours
///////////////////////////////////////////////////////////////////
void read_PTEC()
{
 if (strncmp("HC..",PTEC,4)==0)
 {
 {digitalWrite(ind_ptec,LOW);};
 }
 else {digitalWrite(ind_ptec,HIGH);};
 }

ainsi que la recopie sur la page web

client.println("<body bgcolor=#00C7CC><p align=center>");   
           client.println("
<font color=#FFFFFF><font size=7>Bienvenue
sur</font></p>");
           client.println("<p align=center><font color=#FAFEA><font size=8>HOMELANOUE

");
           client.println("<img src=http://image.noelshack.com/fichiers/2014/50/1418070763-hello-newsletter.gif width=175 height=70></p>");
         client.println("
<p align=center><font size=6>");
         client.println("Index HP  ""<font color=red>");client.print((INDEX1/1000),DEC);client.print("</font>""  KWh""
");
         client.println("Index HC  ""<font color=blue>");client.print((INDEX2/1000),DEC);client.print("</font>""  KWh""
");            
         client.println("Puissance Apparente ""<font color=white>");client.print(PAPP,DEC);client.print("</font>""  V A""
");
         client.println("Periode Tarifaire En Cours ");client.print(PTEC);client.print("
"

bonjour
Bon finalement avec les instructions de fdufnews ça fonctionne ? :sunglasses:

Artouste:
bonjour
Bon finalement avec les instructions de fdufnews ça fonctionne ? :sunglasses:

oui
depuis ce matin reste a attendre la bascule HP/HC ce soir,
j adapterai le prog par la suite pour avoir l affichage couleur du jour, les conso jour, et couleur du lendemain.
il me reste du taff
j ai de la chance car j ai un ado de 15 ans qui va essayer de me creer une appli androïde .

Bonjour a tous
j ai eu un souci de pc
j ai perdu mon code source et j ai du reprendre a pratiquement zero sur mon projet
Maintenant je n arrive plus a transcrire la Peride Tarifaire en Cours sur ma page Web
et j ai aussi la Led qui doit indique si Hp ou Hc qui reste allumee en permanence
a savoir que je vais bascluer le 12 en tempo
j 'ai prevu que la valeur PTEC sur la page web soit afficher en bleu pour toutes les periodes Heures Creuses
et en rouge pour les autres.

J ai repris la lecture ce post de long en large et en travers, la franchement je seche ...........

joint mon projet refait;

Je vous remercie par avance

DOMO_LA_NOUE_V2.ino (30.2 KB)

Vraiment dans la M....
Pas de reponse a mon souci
je seche vraiment j ai retrouner le code dans tous les sens je ne comprends toujours pas pourquoi la valeur PTEC et DEMAIN ne s'affiche pas sur ma page Web
Je suis maintenant passé en option tarifaire Tempo

DOMO_LA_NOUE_V3.ino (31.3 KB)