Si vous avez un module ConsoSpy pour enregistrer votre consommation électrique et un autre module ConsoSpy pour enregistrer votre production photovoltaïque (revente totale), vous avez été surpris de constater qu'après le passage sous LINKY votre module de production ne fonctionnait plus du tout. La petite LED rouge clignotait tout le temps sur le module et l'application ConsoSpy signalait que votre module n'arrivait plus à communiquer avec votre compteur.
Peut-être avez-vous pu également constater que votre module de consommation fonctionnait encore mais que vous aviez un pic de consommation anormal le jour du changement de compteur.
Ce site web décrit une solution qui vous permettra de retrouver un environnement fonctionnel, à peu de frais, moyennant un peu de votre temps pour régler la partie injection du problème, dans un premier temps.
Lors du changement de compteurs, le technicien ENEDIS a remplacé vos 2 compteurs de gestion d'énergie par des compteurs LINKY.
En principe, il a dû configurer le nouveau compteur LINKY de production en mode STANDARD. Du coup, le module ConsoSpy de comptage de production ne fonctionne plus et vous n'avez plus ni données ni statistiques.
En complément, il a probablement paramétré le compteur LINKY de consommation en mode HISTORIQUE si vous avez des délesteurs voire d'autres équipements qui utilisent la téléinformation. Si ce n'est pas le cas, il est a pu paramétrer votre compteur LINKY de consommation en mode STANDARD, auquel cas, vous avez la double peine car vos relevés de consommation ne fonctionnent plus et vraisemblablement les autres appareils qui s'appuyaient sur la téléinformation.
Qu'est ce qui change entre le mode HISTORIQUE et le mode STANDARD ?
- au niveau physique : "presque" rien de ce côté-là, modulation d'amplitude tout ou rien (ASK) avec un signal alternatif de 50 khz (kilo hertz), logique inversée. Pour un 0 logique (zéro) à envoyer sur la ligne le compteur envoie le signal alternatif, si c'est un 1 logique (un) il n'envoie rien. On est dans les deux cas sur une transmission 1 bit de start, 7 bits de données, parité paire, 1 bit de stop. PAR CONTRE les débits sont différents !!! En mode STANDARD on discute à 9600 bauds alors qu'en mode HISTORIQUE on est à 1200 bauds.
- au niveau liaison : Les informations envoyées en mode STANDARD sont bien plus riches qu'avec le mode HISTORIQUE. De plus, bien que toujours organisé en trames, chaque groupe au sein d'une trame n'est plus codé de la même manière et les groupes sont différents.
Tout savoir sur la téléinformation : la spécification LINKY
Récupérer le signal de téléinformation émis par le Linky en mode standard (9600 bauds) et le transformer en mode historique (1200 bauds) en effectuant au passage les changements nécessaires.
Effectuer également une correction d'index pour avoir une continuité cohérente de l'historique de production au cours des années passées et à venir. On évite ainsi des pics de production artificiels sur les statistiques annuelles, mensuelles, journalières le jour où le compteur a été changé.
Le premier prototype fonctionne depuis quelques semaines, sans erreur. J'ai également retrouvé de jolies courbes et des données statistiques utilisables.
Cette solution ne demande qu'à évoluer au grès de votre imagination en fonction de vos besoins. Elle très certainement perfectible et vraisemblablement transposable à d'autres situations.
Vous pouvez poster vos commentaires (bienveillants), suggestions (constructives) sur le site ci-dessous qui sert de point d'entrée à ce post :
Vous trouverez ci-dessous un lien vers une présentation vidéo in situ de la solution. J'espère que cela vous donnera une bonne idée générale de la solution avant de poursuivre votre lecture puis commencer vos travaux pratiques ;-).
- 1 arduino UNO (Arduino c'est quoi/qui ?)
- l'environnement de développement arduino (Environnement de développement ARDUINO)
- une breadboard
- des fils (jumpers) pour breadboard
- 1 résistance de 2,2 kohms
- 1 résistance de 4,7 kohms
- 1 résistance de 33 kohms
- 1 cable USB OTG si vous utilisez votre tablette ou votre mobile pour faire quelques tests (recommandé)
- le cable USB généralement fourni avec l'arduino (au bout duquel vous placerez éventuellement l'adaptateur OTG)
- 1 SFH620a-3 (Je n'ai pas testé de SFH620a-1 ou SFH620a-2)
- un peu de matériel électrique que vous avez sans doute déjà chez vous (dominos, fils électrique...)
- un logiciel du genre "Serial USB Terminal" que vous pouvez récupérer sur Google Play. Tout autre logiciel est ok à condition que vous puissiez paramétrer les caractéristiques de la liaison série, ce qui est généralement le cas.
- un chargeur pour mobile 5V 2A mais 1A ça devrait passer.
OTG c'est quoi ? un premier pointeur .... et hop, soyons fous, un second pointeur
Merci à tous les passionnés qui ont pris le temps de publier beaucoup d'informations et de partager leurs expériences et passions.
ATmega328P datasheet - Chapitre 18 : 8-bit Timer/Counter2 with PWM
Modulations de base dont ASK et plus encore
Dans cette étape nous allons vérifier que vous êtes en mesure de récupérer correctement les trames de téléinformation envoyées par le Linky.
1- réalisez le montage tel que décrit sur le schéma et illustré sur la photo.
2- récupérez le programme, compilez et téléchargez le binaire dans votre arduino.
3- allez auprès de votre compteur Linky de production et connectez votre montage aux bornes I1 et I2 de votre compteur
4- utilisez votre cable USB et l'adaptateur OTG pour connecter votre mobile ou tablette à l'arduino.
5- votre arduino doit maintenant être alimenté (led rouge ou verte ou ... allumée)
6- lancez l'application "USB Serial Terminal" (ou équivalent) si ce n'est déjà fait
7- vérifiez dans "settings" que votre liaison série est bien configurée sur : baud rate 9600, stop bit 1, parity even, réception newline CR+LF
8- repassez sur l'écran de visualisation
9- laissez défiler 1 ou 2 minutes
10- enregistrez sur votre mobile les traces obtenues, vous pourrez les regarder si il n'y a rien à la télé ;-). Plus sérieusement vous pouvez voir votre index de production, exprimé en wh (et pas en kwh !!!)
Si tout s'est bien passé vous avez vu défiler les informations envoyées par le Linky. Exemple ci-dessous.
Note 1 : les timestamps ont été ajoutés par l'application "USB Serial Terminal" à la réception de chaque ligne et à ma demande. Vous ne les aurez pas forcément.
Note 2 : On ne voit pas dans les traces les tabulations qui séparent les champs d'un goupe, ni les caractères de début de trame (STX), fin de trame (ETX), début et fin de groupe.
17:42:26.771 ADSC031764580327;
17:42:26.791 VTIC02J
17:42:26.803 DATEE171021174223=
17:42:26.828 NGTF PRODUCTEUR .
17:42:26.853 LTARF INDEX NON CONSO0
17:42:26.881 EAST000000000O
17:42:26.902 EASF01000000000"
17:42:26.922 EASF02000000000#
17:42:26.943 EASF03000000000$
17:42:26.963 EASF04000000000%
17:42:26.985 EASF05000000000&
17:42:27.004 EASF06000000000'
17:42:27.025 EASF07000000000(
17:42:27.046 EASF08000000000)
17:42:27.070 EASF09000000000*
17:42:27.090 EASF10000000000"
17:42:27.111 EASD01000000000
17:42:27.131 EASD02000000000!
17:42:27.152 EASD03000000000"
17:42:27.172 EASD04000000000#
17:42:27.193 EAIT000567710_
17:42:27.213 ERQ1000000000;
17:42:27.229 ERQ2000007971T
17:42:27.250 ERQ3000067550T
17:42:27.270 ERQ4000000003A
17:42:27.287 IRMS10064
17:42:27.299 URMS1238G
17:42:27.315 PREF03B
17:42:27.328 PCOUP03\
17:42:27.340 SINSTS00000F
17:42:27.356 SMAXSNE171021090645000233
17:42:27.385 SMAXSN-1E17102009024300022I
17:42:27.422 SINSTI01333F
17:42:27.438 SMAXINE17102114582002414+
17:42:27.467 SMAXIN-1E17102014531402445J
17:42:27.500 UMOY1E1710211740002380
17:42:27.529 STGE002A0301<
17:42:27.549 MSG1PAS DE MESSAGE <
17:42:27.590 PRM02491316831999B
17:42:27.614 RELAIS000B
17:42:27.627 NTARF01N
17:42:27.639 NJOURF00&
17:42:27.655 NJOURF+100B
17:42:27.672 PJOURF+100008001 NONUTILE NONUTILE NONUTILE NONUTILE NONUTILE NONUTILE NONUTILE NONUTILE NONUTILE NONUTILE9
Félicitations ! Le plus gros du travail a été fait !!!! Nous allons maintenant finaliser le montage et personnaliser votre programme.
1- vous êtes de retour devant votre PC, votre arduino est connecté au PC avec son cable USB, mobile dans la poche, la breadboard toujours reliée à votre arduino
2- effectuez les connections suivantes avec les cables jumpers :
- relier 1 et 2
3- récupérez le programme "Teleinfo.ino" ci-dessous :
4- stoppez votre logiciel ConsoSpy puis faites une sauvegarde de votre base de donnée ConsoSpy
5- vérifiez ensuite que votre module ConsoSpy est alimenté.
6- lancez le logiciel ConsoSpy pour que celui-ci récupère tous les enregistrements et remette le dispositif à la bonne heure. Dans les traces (onglet Informations) vous ne devriez avoir que des erreurs.
7- revenez sur l'IDE arduino. Repérez la variable "offset" en début de programme et remplacez la valeur présente par la valeur qu'avait votre compteur lorsque le technicien ENEDIS a procédé au changement de compteur. Il a dû la noter sur un dossier qu'il vous a remis. Elle est exprimée en KWH, vous devez la transformer en WH (exemple: 67855 kwh -> 67855000 wh). A défaut, vous pouvez la récupérer dans la dernière courbe de statistiques journalière correcte en passant le curseur sur le dernier point de la courbe.
8- repérez ensuite l'instruction :
group += "ADCO 030928276866 ";
9- remplacez "030928276866" par la valeur qu'avait votre précédent contrat et qui est affichée dans votre logiciel ConsoSpy dans un des onglets relatifs à votre compteur de production. Vous aurez une autre valeur, du genre : group += "ADCO 03XYZTTTTUYU ";
ATTENTION: ConsoSpy n'affiche pas le premier 0 (juste avant 3XYZ...) mais il nous le faut. Ne retirez pas le blanc après le 12 eme chiffre, ni le guillement, ni le point virgule.
10- compilez et téléchargez dans votre arduino.
1- allez auprès de votre compteur Linky de production
- connectez votre montage aux bornes I1 et I2 de votre compteur
- reliez le fil bleu de votre entrée ConsoSpy à la pin 11 de l'arduino
- reliez le fil marron de votre entrée ConsoSpy à la masse (directement sur une pin GND libre ou sur la carte breadboard au niveau de la patte 3 du SFH620a-3).
Note : sur la photo ci-dessous la couleur des fils ne respecte pas celle du schéma précédent.
2- branchez votre cable USB à l'arduino
3- branchez l'autre extrémité au chargeur de téléphone mobile
4- lancez le logiciel ConsoSpy pour qu'il puisse effectuer la mise à jour de la date du module, sinon le module restera en erreur quand ses piles sont déchargées
5- c'est l'étape de vérité, branchez le chargeur et attendez que la lumière rouge clignotante sur le ConsoSpy cesse de battre. Il faut compter moins d'une minute.
Pour information, voici la trame de téléinformation qui est envoyée en mode historique :
ADCO 031764580327 E //valeur forcée dans le code au numéro de votre précédent contrat
OPTARIF BASE 0 //valeur forcée dans le code
ISOUSC 15 < //valeur forcée dans le code pour les installations de 3 kwc
BASE 019051009 $ //valeur = ancien index + nouvel index
PTEC TH.. $ //valeur forcée dans le code
IINST 000 W //valeur forcée dans le code
IMAX 090 H //valeur forcée dans le code
PAPP 00000 ! //valeur forcée dans le code
HHPHC A , //valeur forcée dans le code
MOTDETAT 000000 B //valeur forcée dans le code
Deux cas :
a- plus de lumière rouge ...c'est le cas :-) => foncez sur le logiciel ConsoSpy et vous devriez voir des données arriver. Merci de m'indiquer que ça a fonctionné.
b- toujours une lumière rouge... c'est le cas :-( => tentez un RESET de l'arduino (petit bouton à côté du connecteur USB de l'arduino), vérifiez vos branchements, revérifiez et si ça ne suffit pas contactez moi.
Bon bricolage ! :-)
Quelques captures d'écran récapitulant presqu'un mois de fonctionnement sans erreur !!! :-)
La journée du 4 octobre est absente car ENEDIS a procédé à une coupure secteur pour travaux. Comme je n'avais et n'ai pas encore pris le temps de remettre des piles dans mon module, la date et l'heure ont été perdues et les données n'ont pas été stockées par le module. Donc, statistiques journalières du 4 octobre absentes car pas calculables sur cette journée.
Avant installation du coupleur
Après installation du module
Analyses par jour retrouvées
Statistiques par jour retrouvées