Go Down

Topic: Recopie de la valeur de la trame teleinfo Ptec par led (Read 7761 times) previous topic - next topic

robinson17740

Bonjour je cherche a exploite les resultat de la teleinfo
je veux afficher via des leds la couleur du jour , Demain et Ptec
je ne trouve aucune aide sur la toile pour creer le code pour Mon mega
j ai deja adapter un schema me permettant de retrouver les info releves Hc Hp en kwh
la puissance apparente , l' intensite consommee
Merci de votre aide, je suis parti du schema fournit par Cartelec version 3e que j ai adapter a mes besoins je suis actuellement avec une conf pour HCHP et vais passer ensuite en BBX(tempo)

robinson17740

Il y a vraiment personne pour  m aider!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Artouste

Bonjour je cherche a exploite les resultat de la teleinfo
je veux afficher via des leds la couleur du jour , Demain et Ptec
je ne trouve aucune aide sur la toile pour creer le code pour Mon mega
j ai deja adapter un schema me permettant de retrouver les info releves Hc Hp en kwh
la puissance apparente , l' intensite consommee
Merci de votre aide, je suis parti du schema fournit par Cartelec version 3e que j ai adapter a mes besoins je suis actuellement avec une conf pour HCHP et vais passer ensuite en BBX(tempo)

bonsoir
tu recupere déja les infos de bases ?

robinson17740

Bonjour, oui comme déjà indiqué j exploite les info sur serveur web index hp, hc puissance apparente et intensité instantanée   mais impossible d extraire la valeur de PTEC  et de pouvoir actionner de ce fait une led ou un relais
merci si t'as un tuyau

Artouste

Bonjour, oui comme déjà indiqué j exploite les info sur serveur web index hp, hc puissance apparente et intensité instantanée   mais impossible d extraire la valeur de PTEC  et de pouvoir actionner de ce fait une led ou un relais
merci si t'as un tuyau
Bonsoir
OK
Déjà il faut voir sur un log brut, si les infos que tu (re)cherche sont bien présentes.
selon ton type de contrat, ce n'est pas une obligation

une bonne base de lecture , la doc ERDF


robinson17740

#5
Jan 15, 2015, 11:42 pm Last Edit: Jan 16, 2015, 12:08 am by robinson17740
Si je demande c'est que j ai deja l"abonnement qui va bien la trame teleinfo avec toutes les donnees qui m interresse je demande juste a pouvoir traiter la valeur PTEC

joint ce que j ai adapter et qui fonction deja hormis l enregistrement sur Sd
je chercherais pourquoi plus tard
et ensuite il me faudra trouver un moyen de telecharger les fichiers sauvegarder depuis la page web du montage

robinson17740

bonjour
il bien quelqu un a deja utilser la trame PTEC pour piloter un relais pour les heures creuses quand meme?

bricoleau

Bonjour

Je sens bien que tu es dans la panade et cherche désespérément à avoir des infos.
Alors je vais essayer de t'aider.

Ne le prends pas mal, mais tes demandes ne me semblent pas très claires (ceci explique probablement le peu de réponses).

Quand je regarde ton code, cela me paraît être un assemblage précaire de différents morceaux chopés par ci par là.
Mais bon, on va essayer de s'en débrouiller.

Le fichier .ino que tu as posté est bien la dernière version que tu utilises ?
Si non, merci de remettre la bonne référence.

Si oui, y a un truc que je ne comprends pas : d'habitude, la téléinfo est reçue via un protocole série à 1200 bauds, sur des pin dédiées de l'arduino.
Là dans ton code, j'ai l'impression que seule la liaison série principale est utilisée (celle qui correspond aux pins 0 et 1). Tu récupères les infos du compteur par un Serial.read(), et en même temps tu balances des Serial.print().

Et puis je vois un
Code: [Select]
Serial.println(F("Reglage heure OK - installer le cavalier pour la teleinfo"));

Y a des subtilités de cablage dont tu n'aurais pas parlé ?
Tutoriels arduino : http://forum.arduino.cc/index.php?topic=398112.0

fdufnews

Je ne vois pas où est le problème, il suffit d'ajouter un test sur la trame que tu veux tester dans la fonction traitbuf_cpt

robinson17740

#9
Jan 21, 2015, 06:55 pm Last Edit: Jan 21, 2015, 07:03 pm by robinson17740
Bonjour Bricoleau



c 'est bien la dernière version et elle est fonctionnelle
ce code est a l origine fournit avec le shield Téléifo de chez Cartelectronique , je l ai un peu allégé des fonction non utile en fonction de mon abonnement et j ai assemble avec un serveur web
la programmation de la carte se faisant par usb pins 0 et 1 ainsi que l'envoi sériel du shield teleinfo d'ou la présence d'un cavalier a retirer le temps ( j'ai remplacer le cavalier par un inverseur question de commodité) du téléversement et du réglage de la rtc inclus sur celle si.
du bout de mes 45 ans j essaye de faire pour le mieux pour comprendre tous le processus de programmation
je débute avec la programmation autant la partie electronique ne va pas trop me poser de pb malgres que mes etudes la dessus remonte a fort long, j'y arrive encore .

Donc quelque part je suis deçu car j ai des reponses faites par des pro de la programmation pour qui tous est simple il suffit de .................
Mais pour le il suffit de,, ne m'aide pas pour autant , moi je peu faire de meme  sur des forums de dépannage en téléphonie ou internet et je dépanne personne si je ne les guide pas, pas a pas dans leur recherche de panne en y mettant un peu de pedagogie et sur au niveau de mon interlocuteur (par de petites demonstrations simples qui permettes de comprendre les chose simplement) .

bricoleau

Alors,

Après être allé faire un tour sur le site de Cartelectronic je vois un peu mieux de quoi il s'agit.

Comme il s'agit d'un produit commercial, je me garderai bien de donner mon avis sur la qualité du code fourni, mais je n'en pense pas moins  :smiley-evil:

Je n'ai pas décortiqué tout le code, mais en prenant comme hypothèse qu'il fonctionne, tu dois pouvoir effectuer les modifs ci-dessous

J'ai vu que tu as déclaré une variable globale PTEC.
Code: [Select]
char PTEC[4] = "";

D'après la doc ERDF, PTEC est une chaîne de 4 caractères.
Dans ta variable, il te faut prévoir un caractère supplémentaire pour ajouter le \0 terminal.

La bonne déclaration est donc
Code: [Select]
char PTEC[5] = "";

La modif que je te propose consiste à alimenter cette variable globale, lors de l'analyse de la trame.
Charge ensuite à toi d'exploiter le contenu de cette variable pour en faire ce que tu veux.

Dans la fonction traitbuf_cpt(), ajoute les lignes ci-dessous
Code: [Select]
if (strncmp("PTEC ", &buff[1], 5)==0)
{
  strncpy(PTEC, &buff[6], 4);
  PTEC[4]='\0';
}


Par la suite, ailleurs dans ton programme, pour savoir si tu es en heure creuse, le code sera
Code: [Select]
if (strncmp("HC..", PTEC, 4)==0)
{
//on est en heures creuses
...
}


Dis moi si ça fonctionne
Tutoriels arduino : http://forum.arduino.cc/index.php?topic=398112.0

fdufnews

je débute avec la programmation autant la partie electronique ne va pas trop me poser de pb malgres que mes etudes la dessus remonte a fort long, j'y arrive encore .

Donc quelque part je suis deçu car j ai des reponses faites par des pro de la programmation pour qui tous est simple il suffit de .................
Mais pour le il suffit de,, ne m'aide pas pour autant
On est pas devin, on ne peut pas savoir que tu débutes.

Si tu analyses la fonction traitbuf_cpt, tu vois que pour chaque trame traitée il y a un test de la présence d'un mot clé particulier OPTARIF, HCHP, ... ensuite  un traitements sur les caractères qui suivent cet en-tête.

robinson17740

Bonjour
je vais tester des que possible
et je rends compte merci

robinson17740

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

#define ind_ptec, 11
pinMode(ind_ptec,OUTPUT);pinMode(ind_ptec,LOW);

robinson17740

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

Go Up