Page 4 sur 6

Re: Téleinfo filaire avec Linky

Posté : 19 oct. 2018, 12:36
par olybop
manuloup a écrit :
18 oct. 2018, 15:55
Personnellement j'ai laissé cette solution en place, et cela me convient, en attendant de lire que le problème est corrigé un jour :)
manuloup a écrit :
31 mai 2018, 22:48
Bonne question.

N'ayant pas trouvé, j'ai créé temporairement un script shell et un device virtuel pour palier au problème. Pour ceux qui voudraient faire de même, voici comment j'ai procédé :

- 1) Installer le github de teleinfuse :
cd /home/pi
git clone https://github.com/neomilium/teleinfuse
Un petit coup de make pour compiler :
cd teleinfuse
make

2) Monter le teleinfo grâce à teleinfuse :
mkdir /mnt/teleinfo
./teleinfuse /dev/ttyUSB0 /mnt/teleinfo

Vérifiez que vous avez bien des répertoires sous le montage : ls /mnt/teleinfo . Vous devez avoir des fichiers PAPP etc.

3) Copier mon script "teleinfo_domoticz.sh" et le mettre à jour avec vos infos :
#!/bin/bash
DOMO_IP="192.168.1.5" # Domoticz IP Address
DOMO_PORT="8080" # Domoticz Port
TELEINFO_IDX="861" # Teleinfo IDX
MNT_BASE="/mnt/teleinfo"
if [ -z $MNT_BASE ]; then
echo "Pas de montage /mnt/teleinfo !"
exit 0
fi
PAPP=`cat ${MNT_BASE}/PAPP` # read power value
PAPP=`expr $PAPP + 0`
HCHP=`cat ${MNT_BASE}/HCHP` # read power value
HCHP=`expr $HCHP + 0`
echo "PAPP : $PAPP"
echo "HCHP : $HCHP"
curl -s -i -H "Accept: application/json" "http://$DOMO_IP:$DOMO_PORT/json.htm?type=command&param=udevice&idx=$TELEINFO_IDX&nvalue=0&svalue=$PAPP,$HCHP"
Ne pas oublier de mettre le script exécutable : chmod +x teleinfo_domoticz.sh

4) Créer le device virtuel type Electric et noter l'idx qui lui correspond. Le mettre à jour dans le script (TELEINFO_IDX)

5) Tester. Si tout est OK, on l'ajoute dans la crontab :
* * * * * /home/pi/domoticz/scripts/shell/teleinfo_domoticz.sh >/dev/null 2>&1
installable sur synology ?

Re: Téleinfo filaire avec Linky

Posté : 19 oct. 2018, 12:53
par manuloup
Avec entware je pense que oui.

Re: Téleinfo filaire avec Linky

Posté : 25 mai 2019, 14:18
par manuloup
Bonjour,

J'étais resté depuis sur cette solution avec teleinfuse. Cela fonctionnait parfaitement jusqu'il y a 2 jours.

J'ai retrouvé mon raspberry planté. J'ai relancé, ça recommence. Je soupçonnais un problème de disque dur mais je crois bien que c'est mon modem Teleinfo USB qui est mort. Voici ce que je trouve comme erreur dans syslog :

Code : Tout sélectionner

May 24 20:50:05 raspberrypi2 teleinfuse[663]: ETX detected but not expected, frame is invalid
May 24 20:50:05 raspberrypi2 teleinfuse[663]: dumping buffer to /tmp/teleinfo-dump-1558723805 (165 bytes)
May 24 20:50:07 raspberrypi2 teleinfuse[663]: wrong checksum: 0x20 should be 0x32
May 24 20:50:07 raspberrypi2 teleinfuse[663]: wrong checksum: 0x5d should be 0x49
May 24 20:50:07 raspberrypi2 teleinfuse[663]: wrong checksum: 0x2c should be 0x36
May 24 20:50:07 raspberrypi2 teleinfuse[663]: status changed: was "online", now "error"
May 24 20:50:07 raspberrypi2 teleinfuse[663]: CR should be followed by ETX or LF, frame is invalid
May 24 20:50:07 raspberrypi2 teleinfuse[663]: dumping buffer to /tmp/teleinfo-dump-1558723807 (48 bytes)
May 24 20:50:09 raspberrypi2 teleinfuse[663]: wrong checksum: 0x4a should be 0x20
May 24 20:50:09 raspberrypi2 teleinfuse[663]: wrong checksum: 0x00 should be 0x2f
May 24 20:50:09 raspberrypi2 teleinfuse[663]: status changed: was "error", now "online"
May 24 20:50:11 raspberrypi2 teleinfuse[663]: wrong checksum: 0x2c should be 0x2b
May 24 20:50:11 raspberrypi2 teleinfuse[663]: wrong checksum: 0x00 should be 0x22

May 24 21:12:11 raspberrypi2 teleinfuse[651]: wrong checksum: 0x4a should be 0x59
May 24 21:12:11 raspberrypi2 teleinfuse[651]: wrong checksum: 0x00 should be 0x20
May 24 21:12:24 raspberrypi2 teleinfuse[651]: wrong checksum: 0x4a should be 0x57
May 24 21:12:24 raspberrypi2 teleinfuse[651]: wrong checksum: 0x36 should be 0x33
May 24 21:12:24 raspberrypi2 teleinfuse[651]: wrong checksum: 0x53 should be 0x4e
May 24 21:12:24 raspberrypi2 teleinfuse[651]: status changed: was "online", now "error"
May 24 21:12:51 raspberrypi2 teleinfuse[651]: dumping buffer to /tmp/teleinfo-dump-1558725171 (49 bytes)
May 24 21:12:55 raspberrypi2 teleinfuse[651]: LF detected but not expected, frame is invalid
May 24 21:12:55 raspberrypi2 teleinfuse[651]: dumping buffer to /tmp/teleinfo-dump-1558725175 (18 bytes)
May 24 21:12:57 raspberrypi2 teleinfuse[651]: LF detected but not expected, frame is invalid
May 24 21:12:57 raspberrypi2 teleinfuse[651]: dumping buffer to /tmp/teleinfo-dump-1558725177 (59 bytes)
May 24 21:13:10 raspberrypi2 teleinfuse[651]: wrong checksum: 0x2c should be 0x4c
May 24 21:13:10 raspberrypi2 teleinfuse[651]: wrong checksum: 0x00 should be 0x20
May 24 21:13:18 raspberrypi2 teleinfuse[651]: wrong checksum: 0x3c should be 0x5c
May 24 21:13:18 raspberrypi2 teleinfuse[651]: wrong checksum: 0x00 should be 0x20
May 24 21:13:18 raspberrypi2 teleinfuse[651]: STX should be followed by LF, frame is invalid
May 24 21:13:18 raspberrypi2 teleinfuse[651]: dumping buffer to /tmp/teleinfo-dump-1558725198 (1 bytes)
May 24 21:13:21 raspberrypi2 teleinfuse[651]: wrong checksum: 0x4a should be 0x53
May 24 21:13:21 raspberrypi2 teleinfuse[651]: wrong checksum: 0x00 should be 0x3a
May 24 21:13:21 raspberrypi2 teleinfuse[651]: wrong checksum: 0x00 should be 0x20
J'ai également testé avec un autre câble USB, même résultat.

Avez-vous déjà eu des problèmes de ce genre ? Domoticz gère-t-il maintenant correctement le Téléinfo avec Linky ?

Re: Téleinfo filaire avec Linky

Posté : 26 mai 2019, 22:39
par manuloup
Bonjour,

Bon, je pense avoir trouvé le problème : teleinfuse ne fonctionne plus. Je m'en suis aperçu en le désactivant et en faisant un cat /dev/ttyUSB0 |grep PAPP qui me ramenait bien la bonne valeur. Dès que j'activais teleinfuse, j'ai des erreurs, malgré avoir essayé de le recompler. Il ne doit plus être compatible avec certaines libs actuelles.

Quoiqu'il en soit, j'ai résolu mon problème, en utilisant la commande suivante pour interroger mon Teleinfo USB :

Code : Tout sélectionner

PAPP=$(dd if=/dev/ttyUSB0  bs=512 count=1 iflag=fullblock 2>/dev/null | grep PAPP | tail -1 | awk '{ print $2}')
Du coup j'ai mis mon script à jour. Si vous aussi vous galérez avec votre teleinfo + linky + domoticz, voici mon script :

Code : Tout sélectionner

pi@raspberrypi2:/home/pi/domoticz/scripts/shell# cat teleinfo_domoticz.sh
#!/bin/bash
DOMO_IP="192.168.1.1"       # Domoticz IP Address
DOMO_PORT="8080"            # Domoticz Port
TELEINFO_IDX="864"           # Teleinfo IDX

PAPP=$(dd if=/dev/ttyUSB0  bs=512 count=1 iflag=fullblock 2>/dev/null | grep PAPP | tail -1 | awk '{ print $2}')
PAPP=`expr $PAPP + 0`
HCHP=`dd if=/dev/ttyUSB0  bs=512 count=1 iflag=fullblock 2>/dev/null | grep HCHP | tail -1 | awk '{ print $2}'` # read power value
HCHP=`expr $HCHP + 0`
echo "PAPP : $PAPP"
echo "HCHP : $HCHP"
curl -s -i -H "Accept: application/json" "http://$DOMO_IP:$DOMO_PORT/json.htm?type=command&param=udevice&idx=$TELEINFO_IDX&nvalue=0&svalue=$PAPP,$HCHP"

Re: Téleinfo filaire avec Linky

Posté : 02 juin 2019, 13:07
par manuloup
Bonjour à tous,

Cette fois-ci, je n'ai plus rien qui fonctionne. J'ai regardé sur le /dev/ttyUSB0, et plus aucune trame :(

J'ai acheté un autre module teleinfo USB pour m'apercevoir que le mien n'a pas de problème.

Il ne me reste donc plus qu'à tester directement sur le linky avec un pc portable pour voir si cela fonctionne, mais j'ai bien l'impression que mon linky n'envoie plus d'infos. J'ai également vérifié sur le linky, et je suis bien toujours en mode tic historique. Bref, je ne comprends pas.

A suivre ...

Re: Téleinfo filaire avec Linky

Posté : 02 juin 2019, 18:37
par Neutrino
Le port n'a pas changé par hasard ?

Re: Téleinfo filaire avec Linky

Posté : 05 juin 2019, 10:02
par manuloup
Bonjour Neutrino,

Non, toujours le ttyUSB0. Par contre, le signal est revenu. Au début j'avais des erreurs, mais j'en ai de moins en moins.

J'ai les impressions que le linky envoie parfois de la merde, voir n'envoie plus rien, comme ça a été mon cas.

Vraiment bizarre.

Parfois avec ma commande : dd if=/dev/ttyUSB0 bs=512 count=1 iflag=fullblock 2>/dev/null | grep PAPP | tail -1

, j'obtiens un message "fichier binaire....".

Re: Téleinfo filaire avec Linky

Posté : 20 juin 2019, 20:22
par manuloup
Bonjour,

La suite de mes aventures, car cela ne fonctionne toujours pas.

J'ai donc testé sur 2 RPI différents, 2 modem USB Téléinfo et même constat : aucun résultat quand je fais un cat /dev/ttyUSB0 . J'ai donc soupçonné mon câble, sauf qu'au moment où j'ai voulu voir s'il était bien mis, j'ai vu la led data qui clignote.

La question que je me pose est donc la suivante : est-il possible qu'EDF ou Enedys ait fait des modifs dans les trames qui fait que les modem Téléinfo ne sachent plus décoder les trames ?

J'avoue que je suis perdu.

Manu

Re: Téleinfo filaire avec Linky

Posté : 20 juin 2019, 20:58
par adv
Non non avec le cat il devrait afficher les trames dans tous les cas.

Est ce que ça vaudrait pas le cout de tester temporairement avec un convertisseur USB<->TTL et un optocoupleur + résistance ? ceci afin d'écarter un problème sur tes modules DIN ?

Ça branché à un PC avec putty ou teraterm et tu seras vite fixé

Re: Téleinfo filaire avec Linky

Posté : 21 juin 2019, 14:18
par manuloup
Bonjour,

Je pense que c'est lié à mon système. Je me suis aperçu que dans la partie harware de domoticz, on me propose également le port /dev/serial/by-id/usb-FTDI_FT230X_Basic_UART_DN04SF1J-if00-port0

Du coup je tente un cat dessus et bingo, les trames apparaissent. Du coup j'avais modifié mon script pour taper directement dessus. Je reboote, et là ça ne marche plus. Plus rien ni sur /dev/ttyUSB0 ni sur le /dev/serial...

J'utilise Jessie, installé depuis assez longue date.

Linux raspberrypi2 4.19.50-v7+ #1234 SMP Thu Jun 13 11:06:37 BST 2019 armv7l

Dans dmesg je vois ceci :

Code : Tout sélectionner

[   10.241889] usbcore: registered new interface driver ftdi_sio
[   10.242101] usbserial: USB Serial support registered for FTDI USB Serial Device
[   10.243764] ftdi_sio 1-1.5.4:1.0: FTDI USB Serial Device converter detected
[   10.244007] usb 1-1.5.4: Detected FT-X
[   10.244940] usb 1-1.5.4: FTDI USB Serial Device converter now attached to ttyUSB0
[   10.635801] Under-voltage detected! (0x00050000)
[   10.853663] cfg80211: Loading compiled-in X.509 certificates for regulatory database
[   10.897407] cfg80211: Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7'
[   10.899308] platform regulatory.0: Direct firmware load for regulatory.db failed with error -2
[   10.899334] cfg80211: failed to load regulatory.db
Peut-être est-ce lié ?