Agent TELEINFOEDF¶
Lit la téléinformation client (TIC) d'un compteur électrique français et publie les grandeurs de consommation.
Rôle¶
- Décode en continu la trame série émise par le compteur.
- Publie les index, la puissance apparente, l'intensité, la tension, la période tarifaire.
Pré-requis¶
| Élément | Exigence |
|---|---|
| Matériel | Interface TIC (optocoupleur) reliée aux bornes I1/I2 du compteur |
| Port | Un périphérique série, typiquement /dev/ttyUSB0 |
| Permissions | L'agent doit pouvoir ouvrir le port série |
Les bornes I1/I2 ne sont pas dangereuses, le tableau l'est
Le signal TIC est en très basse tension, mais il se raccorde dans un tableau électrique. Faites intervenir une personne habilitée.
Vérifier la présence du port :
ls -l /dev/ttyUSB*
dmesg | grep -i tty
Installation¶
sudo apt install abls-agent-teleinfoedf
Unité systemd¶
abls-agent-teleinfoedf@.service — unité templatée.
sudo systemctl enable --now abls-agent-teleinfoedf@TIC_COMPTEUR.service
Paramètres spécifiques¶
| Clé JSON | Variable d'environnement | Option | Type | Description |
|---|---|---|---|---|
port |
ABLS_PORT |
--port |
chaîne | Périphérique série, par exemple /dev/ttyUSB0 |
standard |
ABLS_STANDARD |
--standard |
booléen | true = mode standard, false = mode historique |
Le mode conditionne tout le décodage
Un compteur Linky configuré en mode standard émet à 9600 bauds avec un jeu d'étiquettes différent du mode historique (1200 bauds). Se tromper de mode donne une trame illisible et aucune donnée.
Les compteurs électromécaniques et les Linky non reparamétrés sont en mode historique.
Fiabiliser le nom du port¶
/dev/ttyUSB0 peut changer de numéro au redémarrage si plusieurs adaptateurs USB sont présents.
Utilisez un chemin stable :
ls -l /dev/serial/by-id/
{ "port": "/dev/serial/by-id/usb-FTDI_FT232R_USB_UART_A50285BI-if00-port0" }
Permissions¶
Ajoutez le groupe abls aux ports série, ou posez une règle udev :
# /etc/udev/rules.d/60-abls-tic.rules
SUBSYSTEM=="tty", ATTRS{idVendor}=="0403", GROUP="abls", MODE="0660"
Enrôlement¶
sudo abls-agent-teleinfoedf --agent-tech-id TIC_COMPTEUR \
--port /dev/ttyUSB0 \
--standard \
--domain-uuid xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx \
--domain-secret 'votre-secret-ici' \
--api-url api.abls-habitat.fr \
--save
sudo systemctl enable --now abls-agent-teleinfoedf@TIC_COMPTEUR.service
Pour le mode historique, retirez --standard et vérifiez que la clé n'est pas restée à true
dans le fichier de configuration (un drapeau ne sait pas repasser à false).
Dépannage¶
| Symptôme | Piste |
|---|---|
| Aucune trame lue | Polarité I1/I2 inversée, ou interface non alimentée |
| Trames illisibles, caractères parasites | Mauvais mode : basculer standard |
| Le port disparaît après redémarrage | Utiliser /dev/serial/by-id/ |
Permission refusée sur /dev/ttyUSB0 |
Règle udev manquante |
| Index cohérents mais puissance à zéro | Étiquette absente en mode historique : c'est normal sur certains compteurs |
sudo journalctl -u abls-agent-teleinfoedf@TIC_COMPTEUR.service -f
Lire la trame brute pour lever le doute sur le mode :
sudo systemctl stop abls-agent-teleinfoedf@TIC_COMPTEUR.service
stty -F /dev/ttyUSB0 1200 cs7 parenb -parodd && cat /dev/ttyUSB0 # historique
stty -F /dev/ttyUSB0 9600 cs7 parenb -parodd && cat /dev/ttyUSB0 # standard