Demodulateur teleinformation EDF

De MicElectroLinGenMet.

(Retour Accueil ou Liste des articles)

Sommaire

La liaison téléinfo

(Source: [GESTIONNAIRE D'ÉNERGIE])

Les compteurs électroniques EDF possèdent deux bornes de téléinformation à disposition du client. Sur celles-ci, il est possible d'y lire des données informatiques sur la consommation électrique du client.

L'utilisation de ces bornes est surtout destinée aux gestionnaire d'energie disponible dans le commerce. Mais il est aussi possible d'exploiter ces données sur un PC.

Ces informations sont émises cycliquement sous forme de messages composés d’une étiquette d’identification suivie généralement d’une valeur. Le signal est modulé à 50 KHz : la présence de modulation correspondant à un 0 logique, l’absence à un 1 logique.

Il est donc nécessaire de démoduler ce signal. Après quoi on obtient une suite de caractères ASCII émise à 1200 bits/s, 7 bits/caractères, parité paire, 1 bit de stop.

Chaque information débute par le caractère LF (0A hexa), suivie de l’étiquette, de la valeur associée et se termine par le caractère CR (0D).


Autres sources d'informations sur le sujet:

[Domotic's]

[CompteurEdf - MacodaWiki]



Détail des trames téléinformation

(Source: [GESTIONNAIRE D'ÉNERGIE] et [Teleinfo])

Les infos sont transmises cycliquement sur la ligne, modulées en ASK à 50kHz, ce qui correspond en gros à : soit aucune tension présente, soit un signal à 50kHz de 10V CC environ. Le 0V équivaut à un 1 logique, le 50kHz à un 0 logique.

Pour être exploitées, ces infos doivent être démodulées pour être aux formats TTL ou RS232.

C'est donc une liaison série qui délivre des caractères ASCII suivant le protocole suivant :

  • 1200 bits/s
  • 7 bits/caractères
  • parité paire
  • 1 bit de stop

Un groupe de messages complet constitue une trame qui débute par le caractère STX (code ASCII = 02), et se termine par ETX (03).

Chaque message composant la trame comprend :

LF (0x0A) Etiquette (4 à 8 caractères) SP (0x20) Données (1 à 12 caractères) SP (0x20) CC (caractère de contrôle) CR (0x0D) 


Ces différents messages donnent les indications suivantes en fonction de l'abonnement souscrit :

  • n° d'identification du compteur, étiquette: ADCO (12 caractères)
  • option tarifaire (type d'abonnement) : OPTARIF (4 car.)
  • intensité souscrite : ISOUSC ( 2 car. unité = ampères)
  • index si option = base : BASE ( 9 car. unité = Wh)
  • index heures creuses si option = heures creuses : HCHC ( 9 car. unité = Wh)
  • index heures pleines si option = heures creuses : HCHP ( 9 car. unité = Wh)
  • index heures normales si option = EJP : EJP HN ( 9 car. unité = Wh)
  • index heures de pointe mobile si option = EJP : EJP HPM ( 9 car. unité = Wh)
  • index heures creuses jours bleus si option = tempo : BBR HC JB ( 9 car. unité = Wh)
  • index heures pleines jours bleus si option = tempo : BBR HP JB ( 9 car. unité = Wh)
  • index heures creuses jours blancs si option = tempo : BBR HC JW ( 9 car. unité = Wh)
  • index heures pleines jours blancs si option = tempo : BBR HP JW ( 9 car. unité = Wh)
  • index heures creuses jours rouges si option = tempo : BBR HC JR ( 9 car. unité = Wh)
  • index heures pleines jours rouges si option = tempo : BBR HP JR ( 9 car. unité = Wh)
  • préavis EJP si option = EJP : PEJP ( 2 car.) 30mn avant période EJP
  • période tarifaire en cours : PTEC ( 4 car.)
  • couleur du lendemain si option = tempo : DEMAIN
  • intensité instantanée : IINST ( 3 car. unité = ampères)
  • avertissement de dépassement de puissance souscrite : ADPS ( 3 car. unité = ampères) (message émis uniquement en cas de dépassement effectif, dans ce cas il est immédiat)
  • intensité maximale : IMAX ( 3 car. unité = ampères)
  • Puissance apparente : PAPP ( 5 car. unité = Volt.ampères)
  • groupe horaire si option = heures creuses ou tempo : HHPHC (1 car.)
  • mot d'état (autocontrôle) : MOTDETAT (6 car.)

Nota : le compteur peut être configuré en mode "veille" et n'émettre que l'étiquette ADCO. Pour avoir accès au jeu d'informations complet, il suffit de le faire paramétrer en conséquent par EDF.


Documentation plus complète:


Le bornier téléinformation est situé dans mon cas (compteur Landis Gyr) en haut à droite du compteur électronique (Borne I1 - I2).

La liaison vers l'utilisation se fait par un câble 2 conducteurs avec écran relié à la terre.



Shéma du démodulateur

Shéma repris du site [GESTIONNAIRE D'ÉNERGIE], redessiné sous Kicad (version Linux).

Shéma PDF: teleinfo.pdf


Partie démodulateur seul avec sortie TTL

La led a été rajoutée pour visualiser la réception. Celle-ci clignote rapidement à la réception des trames.



Montage démodulateur seul sur plaquette d'essais


Montage sur ci


Adaptateur TTL/RS232

Shéma à base du circuit Max232 pour la connexion à un port RS232 de PC.


Test du montage sur un PC Linux


Réception des trame sous minicom

Minicom est un programme de communication par port série sous Linux/Unix.


Bienvenue avec minicom 2.2

OPTIONS: I18n 
Compilé le Jan  7 2007, 18:00:43.
Port /dev/ttyS1

               Tapez CTRL-A Z pour voir l'aide concernant les touches spéciales

  ADCO 70060936XXXX ?			(paranoiac inside)
OPTARIF HC.. <
ISOUSC 20 8
HCHC 004063750 _
HCHP 004423070 '
PTEC HC.. S
IINST1 001 I
IINST2 000 I
IINST3 001 K
IMAX1 006 6
IMAX2 016 8
IMAX3 015 8
PMAX 05710 3
PAPP 00280 +
HHPHC E 0
MOTDETAT 000000 B
PPOT 00 #
  ADCO 70060936XXXX ?
OPTARIF HC.. <
ISOUSC 20 8
HCHC 004063751  
HCHP 004423070 '
PTEC HC.. S
IINST1 001 I
IINST2 000 I
IINST3 001 K
IMAX1 006 6
IMAX2 016 8
IMAX3 015 8
PMAX 05710 3
PAPP 00280 +
HHPHC E 0
MOTDETAT 000000 B
PPOT 00 #
  Aide : CTRL-A Z  |  1200 7E1 | NOR | Minicom 2.2    | VT102 |   Déconnecté


Démodulateur + Max232 (boite noire) relié au PC Linux

Trame téléinfo

L'abonnement est de type Heures Creuses en tri-phasée.

ADCO 70060936XXXX ?
OPTARIF HC.. <
ISOUSC 20 8
HCHC 003064470 ^
HCHP 003660820 ,
PTEC HP..  
IINST1 001 I
IINST2 001 J
IINST3 001 K
IMAX1 015 6
IMAX2 022 5
IMAX3 026 :
PMAX 09040 3
PAPP 00600 '
HHPHC E 0
MOTDETAT 000000 B
PPOT 00 #


En hexa.:

00116940  0a 41 44 43 4f 20 37 30  30 36 30 39 33 36 XX XX  |.ADCO 70060936XX|
00116950  XX XX 20 3f 0d 0a 4f 50  54 41 52 49 46 20 48 43  |XX ?..OPTARIF HC|
00116960  2e 2e 20 3c 0d 0a 49 53  4f 55 53 43 20 32 30 20  |.. <..ISOUSC 20 |
00116970  38 0d 0a 48 43 48 43 20  30 30 33 30 36 34 34 37  |8..HCHC 00306447|
00116980  30 20 5e 0d 0a 48 43 48  50 20 30 30 33 36 36 32  |0 ^..HCHP 003662|
00116990  33 34 34 20 2f 0d 0a 50  54 45 43 20 48 50 2e 2e  |344 /..PTEC HP..|
001169a0  20 20 0d 0a 49 49 4e 53  54 31 20 30 30 31 20 49  |  ..IINST1 001 I|
001169b0  0d 0a 49 49 4e 53 54 32  20 30 30 30 20 49 0d 0a  |..IINST2 000 I..|
001169c0  49 49 4e 53 54 33 20 30  30 31 20 4b 0d 0a 49 4d  |IINST3 001 K..IM|
001169d0  41 58 31 20 30 31 35 20  36 0d 0a 49 4d 41 58 32  |AX1 015 6..IMAX2|
001169e0  20 30 32 32 20 35 0d 0a  49 4d 41 58 33 20 30 32  | 022 5..IMAX3 02|
001169f0  36 20 3a 0d 0a 50 4d 41  58 20 30 39 30 34 30 20  |6 :..PMAX 09040 |
00116a00  33 0d 0a 50 41 50 50 20  30 30 35 39 30 20 2f 0d  |3..PAPP 00590 /.|
00116a10  0a 48 48 50 48 43 20 45  20 30 0d 0a 4d 4f 54 44  |.HHPHC E 0..MOTD|
00116a20  45 54 41 54 20 30 30 30  30 30 30 20 42 0d 0a 50  |ETAT 000000 B..P|
00116a30  50 4f 54 20 30 30 20 23  0d 03 02 0a 41 44 43 4f  |POT 00 #....ADCO|


Trame dépassement d'intensité en triphasé (ici phase 2):

00000000  0a 41 44 49 52 32 20 30  32 35 20 29 0d 0a 41 44  |.ADIR2 025 )..AD|
00000010  43 4f 20 37 30 30 36 30  39 33 36 XX XX XX XX 20  |CO 70060936XXXX |
00000020  3f 0d 0a 49 49 4e 53 54  31 20 30 30 31 20 49 0d  |?..IINST1 001 I.|
00000030  0a 49 49 4e 53 54 32 20  30 32 35 20 50 0d 0a 49  |.IINST2 025 P..I|
00000040  49 4e 53 54 33 20 30 30  33 20 4d 0d 03           |INST3 003 M..|

Ce type de trames est suivi de trames courtes:

00000000  0a 41 44 43 4f 20 37 30  30 36 30 39 33 36 XX XX  |.ADCO 70060936XX|
00000010  XX XX 20 3f 0d 0a 49 49  4e 53 54 31 20 30 30 31  |XX ?..IINST1 001|
00000020  20 49 0d 0a 49 49 4e 53  54 32 20 30 31 39 20 53  | I..IINST2 019 S|
00000030  0d 0a 49 49 4e 53 54 33  20 30 30 31 20 4b 0d 03  |..IINST3 001 K..|

Exemple d'une trame normale interrompue par une trame ADIR:

00000000  0a 41 44 43 4f 20 37 30  30 36 30 39 33 36 XX XX  |.ADCO 70060936XX|
00000010  XX XX 20 3f 0d 0a 4f 50  54 41 52 49 46 20 48 43  |XX ?..OPTARIF HC|
00000020  2e 2e 20 3c 0d 0a 49 53  4f 55 53 43 20 32 30 20  |.. <..ISOUSC 20 |
00000030  38 0d 0a 48 43 48 43 20  30 31 34 33 31 39 30 36  |8..HCHC 01431906|
00000040  35 20 23 0d 04 02 0a 41  44 49 52 33 20 30 32 33  |5 #....ADIR3 023|
00000050  20 28 0d 0a 41 44 43 4f  20 37 30 30 36 30 39 33  | (..ADCO 7006093|
00000060  36 XX XX XX XX 20 3f 0d  0a 49 49 4e 53 54 31 20  |6XXXX ?..IINST1 |
00000070  30 31 32 20 4b 0d 0a 49  49 4e 53 54 32 20 30 31  |012 K..IINST2 01|
00000080  35 20 4f 0d 0a 49 49 4e  53 54 33 20 30 32 33 20  |5 O..IINST3 023 |
00000090  4f 0d 03                                          |O..|


Attention pour le monophasé: la trame de dépassement d'intensité commence par ADPS.


Programmes sous Linux

Teleinfos serial

Programme de test en C pour lire les données téléinfo et les stocker dans fichier csv ou base MySql: teleinfoserial_csv.c ou teleinfoserial_mysql.c

(Voir ci-dessous avec un Wrt54gl)


Teleinfo ethernet

  • Programme pour lire les données Téléinfo sur interface ethernet/série de type EZL-60 ou machine embarquée comme un routeur utilisant le daemon ser2net (socket réseau)

Voir programme: Teleinfosocket mysql.c


  • Programme réseau utilisant le protocol xPL

Version gérant le protocole xPL de manière simplifiée (pas d'utilisation de la librairie C xPL: xPLLib): Teleinfosocket_xPL.c
(Voir ci-dessous avec un Wrt54gl)


Fork

Versions du programme teleinfo_serial.c adaptées/modifiées par d'autres utilisateurs

  1. Version pour compteur monophasé heures creuses, (Modifiée/Testée par Ludovic Gomez): Teleinfo_serial_mono.c
  2. Version qui broadcaste les trames téléinfo. sur le réseau: http://hallard.wikidot.com/teleinfo-broadcast
  3. Version pour compteur monophasé et sans heures creuses: http://frank.villaro-dixon.eu/article-76-t%C3%A9l%C3%A9information-edf-enercoop-compteur.html


Interface teleinfo. pilote par un WRT54GL

L'arrivée du câble téléinformation n'étant pas à proximité du PC Linux, l'interface téléinfo. sera piloté par un port série du routeur wifi Wrt54gl flasher OpenWrt.

Le matériel

Le montage utilise une interface simple utilisant un 74HC05 pour adapter les niveaux 3.3V du port série au 5V.On pourra reprendre le montage de l'interface 1-wire pour wrt54gl car il reste 2 portes du 74HC05 de libres.Celle-ci utilisant le port série ttyS1, l'interface Téléinfo. prendra le port ttyS0.
Il faudra désactiver la console système utilisant ce port au niveau d'OpenWrt en modifiant un fichier.

root@wrt54gl:# cat /etc/inittab 
::sysinit:/etc/init.d/rcS
#tts/0::askfirst:/bin/ash --login		=> ligne diésée.

suivi d'un reboot.

ATTENTION: OpenWrt ne sera plus joignable par la console série mais le CFE doit rester joignable au boot normalement.
Ceci n'est pas génant pour l'interface Téléinfo car elle ne reçoit pas de données.


Shéma de l'interface


Photos du cablâge

Vu de l'interface 1-wire et téléinfo en test (78HC05 + DS2480B + DS18B20 sur la platine et un autre en extérieur):

Wrt54gl, interface owfs + teleinfo
Vu de l'interface 78HC05 + le DS2480B pour le 1-wire


Programmes

Voici deux programmes pour gérer l'interface sur le Wrt54gl (Voir Compiler_des_programmes_pour_le_Wrt54gl).
(Ces programmes fonctionneront aussi sur PC aprés compilation en précisant le bon port série).

Teleinfoserial_csv

Le premier (teleinfoserial_csv.c) va lire les données Téléinfo. demandées et les enregistrer dans un fichier.

Les données Téléinfo. sont disponible dans le fichier /tmp/teleinfo.csv

 root@wrt54gl:~# cat teleinfo.csv
'1223717885','2008-10-11','11:38:05','70060936XXXX','HC..','20','8430133','8216484','HP','1','0','1','11','20','19','7470','420','E','000000','00','0','0','0'
'1223717944','2008-10-11','11:39:04','70060936XXXX','HC..','20','8430140','8216484','HP','1','0','1','11','20','19','7470','410','E','000000','00','0','0','0'
'1223718005','2008-10-11','11:40:05','70060936XXXX','HC..','20','8430147','8216484','HP','1','0','1','11','20','19','7470','420','E','000000','00','0','0','0'
'1223718065','2008-10-11','11:41:05','70060936XXXX','HC..','20','8430154','8216484','HP','1','0','1','11','20','19','7470','410','E','000000','00','0','0','0'
'1223718124','2008-10-11','11:42:04','70060936XXXX','HC..','20','8430160','8216484','HP','1','0','1','11','20','19','7470','450','E','000000','00','0','0','0'
'1223718185','2008-10-11','11:43:05','70060936XXXX','HC..','20','8430167','8216484','HP','1','0','1','11','20','19','7470','430','E','000000','00','0','0','0'
'1223718244','2008-10-11','11:44:04','70060936XXXX','HC..','20','8430174','8216484','HP','1','0','1','11','20','19','7470','410','E','000000','00','0','0','0'
'1223718305','2008-10-11','11:45:05','70060936XXXX','HC..','20','8430180','8216484','HP','1','0','1','11','20','19','7470','410','E','000000','00','0','0','0'
'1223718365','2008-10-11','11:46:05','70060936XXXX','HC..','20','8430187','8216484','HP','1','0','1','11','20','19','7470','440','E','000000','00','0','0','0'
'1223718424','2008-10-11','11:47:04','70060936XXXX','HC..','20','8430194','8216484','HP','1','0','1','11','20','19','7470','410','E','000000','00','0','0','0'
'1223718485','2008-10-11','11:48:05','70060936XXXX','HC..','20','8430200','8216484','HP','1','0','1','11','20','19','7470','410','E','000000','00','0','0','0'
'1223718544','2008-10-11','11:49:04','70060936XXXX','HC..','20','8430207','8216484','HP','1','0','1','11','20','19','7470','400','E','000000','00','0','0','0'

En mode DEBUG, le programme affiche la trame Téléinfo. reçue.

root@wrt54gl:~# ./teleinfoserial_csv 
----- 2008-10-12 15:59:52 -----
ADCO='70060936XXXX'
OPTARIF='HC..'
ISOUSC='20'
HCHP='008444126'
HCHC='008228815'
PTEC='HP'
IINST1='002'
IINST2='000'
IINST3='001'
IMAX1='011'
IMAX2='020'
IMAX3='019'
PMAX='07470'
PAPP='00610'
HHPHC='E'
MOTDETAT='000000'
PPOT='00'
ADIR1=''
ADIR2=''
ADIR3=''


Voir dans la syslog les messages d'erreurs ou d'informations.


Cette nouvelle version détecte les trames de dépassement d'intensité (ADIRn) en envoyant un message par la syslog et gère la vérification des checksums en bouclant jusqu'à 3 essais si erreurs.

En mode DEBUG, une erreur de checksum génére un fichier contenant la trame Téléinfo:

root@wrt54gl:~# hexdump -C teleinfotrame.1222095735
00000000  0a 41 44 43 4f 20 37 30  30 36 30 39 33 36 XX XX  |.ADCO 70060936XX|
00000010  XX XX 20 3f 0d 0a 4f 50  54 41 52 49 46 20 48 43  |XX ?..OPTARIF HC|
00000020  2e 2e 20 3c 0d 0a 49 53  4f 55 53 43 20 32 30 20  |.. <..ISOUSC 20 |
00000030  38 0d 0a 48 43 48 43 20  30 30 38 30 30 35 39 32  |8..HCHC 00800592|
00000040  37 20 25 0d 0a 48 43 48  50 20 30 30 38 31 39 37  |7 %..HCHP 008197|
00000050  39 39 33 20 41 0d 0a 50  54 45 43 20 48 50 2e 2e  |993 A..PTEC HP..|
00000060  20 20 0d 0a 49 49 4e 53  54 31 20 30 30 31 20 49  |  ..IINST1 001 I|
00000070  0d 0a 49 49 4e 53 54 32  20 30 30 30 20 49 0d 0a  |..IINST2 000 I..|
00000080  49 49 4e 53 54 33 20 30  30 31 20 4b 0d 0a 49 4d  |IINST3 001 K..IM|
00000090  41 58 31 20 30 31 31 20  32 0d 0a 49 4d 41 58 32  |AX1 011 2..IMAX2|
000000a0  20 30 31 39 20 3b 0d 0a  49 4d 41 58 33 20 30 31  | 019 ;..IMAX3 01|
000000b0  36 20 39 0d 0a 50 4d 41  58 20 30 35 30 39 30 20  |6 9..PMAX 05090 |
000000c0  34 0d 0a 50 41 50 50 20  30 30 33 33 30 20 27 0d  |4..PAPP 00330 '.|
000000d0  0a 48 48 50 48 43 20 45  20 30 0d 0a 4d 4f 54 44  |.HHPHC E 0..MOTD|
000000e0  45 54 41 54 20 30 30 30  30 30 30 20 42 0d 0a 50  |ETAT 000000 B..P|
000000f0  50 4f 54 20 30 30 20 23  0d 03                    |POT 00 #..|


Paramètres à adapter dans le source en fonction de ses besoins:

  1. Port série à modifier en conséquence avec 'SERIALPORT.
  2. Nombre de valeurs à relever: NB_VALEURS + tableaux "etiquettes".


Teleinfoserial_mysql

Le deuxième (teleinfoserial_mysql.c) va lire les données Téléinfo. demandées et les enregistrer sur une base de données MySql distante.
Si le serveur MySql n'est pas accessible le programme sauvegarde les données en local sur le Wrt54gl (/tmp/teleinfo.csv) pour réimport ultérieure par exemple.
Ce programme détecte aussi les trames de dépassement d'intensité (ADIRn) en envoyant un message par la syslog et gère la vérification des checksums en bouclant jusqu'à 3 essais si erreurs.

Voir la table MySql Téléinfo: Structure de la table Teleinfo à adapter suivant abonnement EDF (ici données pour du triphasé).


Le programme sera lancer en crontab du Wrt54gl:

* * * * * /jffs/bin/teleinfoserial_mysql >> /tmp/teleinfoserial_mysql.log 2>&1


Ne pas oublier d'installer la "library" libmysqlclient pour utiliser les fonctions MySql:

root@wrt54gl:~# ipkg install libmysqlclient


Il n'y a pas d'affichage à la console sauf en mode DEBUG (affichage de la trame Téléinfo. reçue), Les messages d'erreurs ou d'informations étant renvoyés dans la syslog.

Voici une partie des données Téléinfo. enregistrées dans une base MySql sur la Debian:

dan@vesta:~$ ~/bin/listdatateleinfo.sh
timestamp       date            heure           hchp    hchc    ptec    inst1   inst2   inst3   papp
1222352044      25/09/2008      16:14:04        8215020 8030891 HP      1       0       1       300
1222351984      25/09/2008      16:13:04        8215016 8030891 HP      1       0       1       300
1222351925      25/09/2008      16:12:05        8215012 8030891 HP      1       0       1       300
1222351864      25/09/2008      16:11:04        8215007 8030891 HP      1       0       1       300
1222351805      25/09/2008      16:10:05        8215003 8030891 HP      1       0       1       300
1222351744      25/09/2008      16:09:04        8214999 8030891 HP      1       0       1       300
1222351683      25/09/2008      16:08:03        8214995 8030891 HP      1       0       1       300
1222351625      25/09/2008      16:07:05        8214991 8030891 HP      1       0       1       300


Execution du programme en mode DEBUG:

root@wrt54gl:~# ./teleinfoserial_mysql
----- 2008-10-12 15:59:52 -----
ADCO='70060936XXXX'
OPTARIF='HC..'
ISOUSC='20'
HCHP='008444126'
HCHC='008228815'
PTEC='HP'
IINST1='002'
IINST2='000'
IINST3='001'
IMAX1='011'
IMAX2='020'
IMAX3='019'
PMAX='07470'
PAPP='00610'
HHPHC='E'
MOTDETAT='000000'
PPOT='00'
ADIR1=
ADIR2=
ADIR3=


Paramètres à adapter dans le source en fonction de ses besoins:

  1. Port série à modifier en conséquence avec SERIALPORT.
  2. Nombre de valeurs à relever: NB_VALEURS + tableaux "etiquettes" à modifier selon abonnement.
  3. Paramètres Mysql (Serveur, Base, table et login/password)
  4. Autorisé le serveur MySql à accepter les connexions distantes pour le Wrt54gl.


Ser2net

Il est possible d'utiliser le package ser2net sur le Wrt54gl pour rediriger le port série du WRT vers un port réseau.
Il suffira de lire les données avec un programme comme Teleinfosocket mysql.c tournant sur un Linux distant.


Configuration sur le Wrt54gl, fichier ser2net.conf (sur OpenWrt Kamikaze 8.09):

root@wrt54gl:~# grep ttyS0 /etc/ser2net.conf 
2001:raw:10:/dev/ttyS0:1200 EVEN 1STOPBIT 7DATABITS LOCAL -RTSCTS


Message xPL

Programme C tournant sur le Wrt54gl pour envoyer les données téléinfo par message xPL.
Compilé avec le SDK de OpenWrt Kamikaze 8.09 mais doit fonctionner avec la WhiteRussian 0.9 en reprenant le Makefile de l'exemple


Voir source pour Wrt54gl: Teleinfosocket_xPL.c et le package complet pour SDK OpenWrt 8.09 Teleinfosocket_xPL.tgz.


  • Messages xPL reçus avec xPL_Logger:
09/12/09 00:51:01 xpl-stat {domos-wrt54gl.teleinfo *} teleinfo.basic { ADCO='70060936xxxx' OPTARIF='HC..' ISOUSC='20' HCHP='014304442' HCHC='013822589' PTEC='HP' IINST1='001' IINST2='000' IINST3='001' IMAX1='014' IMAX2='023' IMAX3='018' PMAX='07240' PAPP='00260' HHPHC='E' MOTDETAT='000000' PPOT='00' }
09/12/09 00:52:00 xpl-stat {domos-wrt54gl.teleinfo *} teleinfo.basic { ADCO='70060936xxxx' OPTARIF='HC..' ISOUSC='20' HCHP='014304446' HCHC='013822589' PTEC='HP' IINST1='001' IINST2='000' IINST3='001' IMAX1='014' IMAX2='023' IMAX3='018' PMAX='07240' PAPP='00260' HHPHC='E' MOTDETAT='000000' PPOT='00' }
09/12/09 00:53:01 xpl-stat {domos-wrt54gl.teleinfo *} teleinfo.basic { ADCO='70060936xxxx' OPTARIF='HC..' ISOUSC='20' HCHP='014304450' HCHC='013822589' PTEC='HP' IINST1='001' IINST2='000' IINST3='001' IMAX1='014' IMAX2='023' IMAX3='018' PMAX='07240' PAPP='00250' HHPHC='E' MOTDETAT='000000' PPOT='00' }
09/12/09 00:54:02 xpl-stat {domos-wrt54gl.teleinfo *} teleinfo.basic { ADCO='70060936xxxx' OPTARIF='HC..' ISOUSC='20' HCHP='014304454' HCHC='013822589' PTEC='HP' IINST1='001' IINST2='000' IINST3='001' IMAX1='014' IMAX2='023' IMAX3='018' PMAX='07240' PAPP='00270' HHPHC='E' MOTDETAT='000000' PPOT='00' }


  • Messages lors d'un dépassement de capacité ADIRn:
09/12/04 06:43:00 xpl-trig {domos-wrt54gl.teleinfo *} teleinfo.basic { ADIR2='022' ADCO='70060936xxxx' IINST1='000' IINST2='022' IINST3='006' }                                         
09/12/04 06:43:01 xpl-trig {domos-wrt54gl.teleinfo *} teleinfo.basic { ADIR2='022' ADCO='70060936xxxx' IINST1='000' IINST2='019' IINST3='006' }                                         
09/12/04 06:43:01 xpl-trig {domos-wrt54gl.teleinfo *} teleinfo.basic { ADCO='70060936xxxx' IINST1='000' IINST2='019' IINST3='006' }                                                     
09/12/04 06:43:02 xpl-trig {domos-wrt54gl.teleinfo *} teleinfo.basic { ADCO='70060936xxxx' IINST1='000' IINST2='019' IINST3='006' }                                                     
09/12/04 06:43:03 xpl-trig {domos-wrt54gl.teleinfo *} teleinfo.basic { ADCO='70060936xxxx' IINST1='000' IINST2='019' IINST3='006' }                                                     
09/12/04 06:43:03 xpl-trig {domos-wrt54gl.teleinfo *} teleinfo.basic { ADCO='70060936xxxx' IINST1='000' IINST2='016' IINST3='006' }                  


Avec un script Perl personnel (xpl-lcdteleinfo.pl) basé sur la libxpl-perl.

Affichage de quelques données téléinfo. xPL



Export donnee Teleinfo sur base MySql externe d'un FAI

Le fichier CSV généré par le programme teleinfoserial_csv.c pourra être exporté sur une base MySql de FAI (free.fr en l'occurence).

Voici un exemple de script: Export_donnee_Teleinfo_sur_base_FAI.php


Wrt54gl en situation Teleinfo/1-wire

Vue du Wrt54gl connecté à l'interface 1-wire et téléinfo:

Wrt54gl + cartes 1-wire et teleinfo
Vu de l'interface 1-wire (DS2480B) et carte teleinfo


Résultats sous forme graphique

Scripts PHP

Les données Téléinfo. sont lus par le script PHP dans la base MySql.
La librairie JpGraph permet de généré facilement un graphe en fonction de ces données.
(Dernière version des scripts PHP: 19/02/2009)


Consommation sur 24h. En vert apparait la consommation en période "heures creuse".

Puissance apparente (Teleinfo papp jpgraph.php)


Intensité sur 24h des 3 phases (abonnement tri-phasé), décalées sur le graphes de 10A pour la lisibilité.

Intensité sur les 3 phases (Teleinfo iinst jpgraph.php)


Consommation sur une période de 8 jours.

Consommation sur 8 jours en kwh (Teleinfo kwh-7j jpgraph.php ou sur plusieurs périodes Teleinfo_kwh_jpgraph.php)


Scripts RRDTool

Exemples de scripts Shell pour générer des graphiques Téléinfo. avec RRDTool.
Pour le Wrt54gl, les packages rrdtool / rrdcgi sont disponibles. Il sont utilisé par temploggerd et owfs (Bus 1-wire sur Linksys Wrt54gl). A tester ...

Ci-dessous, graphes obtenus avec RRDTool sur PC.


Puissance apparente


Intensité sur les 3 phases


Les scripts rrdtool n'ont pas évolué depuis car les données Téléinfo. étant stockés dans une base MySql cela faisait double emploi avec une base RRD en plus qui reste moins souple à utiliser.



12 Mai 2007