TeleInfo
Publié : 12 nov. 2017, 14:08
Bonjour à tous,
Il y'a plus de 2 ans , j'ai mis en place la teleInfo en branchant le montage à base d'optocoupleur sur le GPIO du Raspberry.
Hors depuis la réécriture du module Téléinfo, je me rends compte que mes compteurs ne se mettent à jour que tous les 5 mns.
J'ai fait un tours sur le GitHub pour regarder un peu les sources ...
Le test avant mise à jour des compteurs se fait sur la valeur de PAPP, hors mon compteur ne renvoie pas cette info.
(Fichier TeleinfoBase.cpp procedure ProcessTeleinfo()).
Il y'a bien dans cette procedure un test qui calcul le PAPP en fonction de la valeur du IINST :
mais a priori "teleinfo.PAPP" doit être mal initialisé car la mise à jour doit se faire apres cette condition :
Hors chez moi la mise à jour ne se fait que tous les 5 mns malgré la variation de IINST.
Cela est embêtant pour moi car j'utilise le compteur de pourcentage de charge pour mes scripts de chauffage ...
Aujourd'hui je suis obligé de mettre un délai d'attente de donnée à 1 minutes afin de redémarrer le service Teleinfo plus fréquemment.
Ce problème est-il connu ? Je ne trouve aucune info en ce sens ...
Par avance merci.
Il y'a plus de 2 ans , j'ai mis en place la teleInfo en branchant le montage à base d'optocoupleur sur le GPIO du Raspberry.
Hors depuis la réécriture du module Téléinfo, je me rends compte que mes compteurs ne se mettent à jour que tous les 5 mns.
J'ai fait un tours sur le GitHub pour regarder un peu les sources ...
Le test avant mise à jour des compteurs se fait sur la valeur de PAPP, hors mon compteur ne renvoie pas cette info.
(Fichier TeleinfoBase.cpp procedure ProcessTeleinfo()).
Il y'a bien dans cette procedure un test qui calcul le PAPP en fonction de la valeur du IINST :
Code : Tout sélectionner
// PAPP only exist on some meter versions. If not present, we can approximate it as (current x 230V)
if ((teleinfo.PAPP == 0) && ((teleinfo.IINST > 0) || (teleinfo.IINST1 > 0) || (teleinfo.IINST2 > 0) || (teleinfo.IINST3 > 0)))
teleinfo.PAPP = (teleinfo.triphase ? (teleinfo.IINST1 + teleinfo.IINST2 + teleinfo.IINST3) : (teleinfo.IINST)) * 230;
Code : Tout sélectionner
if ((teleinfo.pAlertPAPP != teleinfo.PAPP) || (difftime(atime, teleinfo.last) >= 290))Cela est embêtant pour moi car j'utilise le compteur de pourcentage de charge pour mes scripts de chauffage ...
Aujourd'hui je suis obligé de mettre un délai d'attente de donnée à 1 minutes afin de redémarrer le service Teleinfo plus fréquemment.
Ce problème est-il connu ? Je ne trouve aucune info en ce sens ...
Par avance merci.
