Téleinfo filaire avec Linky

Forum dédié aux questions concernant la configuration de votre serveur sous Linux
Sebsibou
Messages : 13
Inscription : 07 janv. 2021, 15:13

Re: Téleinfo filaire avec Linky

Message par Sebsibou »

Bonjour tout le monde,

Petit à petit je me familiarise avec ces lignes de commande, mais n'ayant aucune base je suis presque en aveugle 8-) .

Lorsque J'utilise ce script :

#!/bin/bash
DOMO_IP="192.168.12.90" # Domoticz IP Address à renseigner
DOMO_PORT="8080" # Domoticz Port à renseigner
TELEINFO_CONSO_IDX="87" # Teleinfo CONSO IDX à renseigner

# EAST=$(grep EAST /dev/ttyUSB0 -m 1 | awk '{ print $2}')
SINSTS=$(grep SINSTS /dev/ttyUSB0 -m 1 | awk '{ print $2}')

# echo "EAST : $EAST"
echo "SINSTS : $SINSTS"

if [[ $SINSTS = +([0-9]) ]] ; then
curl -s -i -H "Accept: application/json" "http://$DOMO_IP:$DOMO_PORT/json.htm?type=command&param=udevice&idx=$TELEINFO_CONSO_IDX&nvalue=0&svalue=$SINSTS"
fi

J'ai ça en retour :

pi@Rpi-Domoticz:~/domoticz/scripts $ ./teleinfo
SINSTS : 00726
HTTP/1.1 401 Unauthorized
Content-Length: 91
Content-Type: text/html
Set-Cookie: DMZSID=none; HttpOnly; Expires=Thu, 01 Jan 1970 00:00:00 GMT

<html><head><title>Unauthorized</title></head><body><h1>401 Unauthorized</h1></b

Je me dit que mon script n'arrive pas à inscrire une valeur dans mon compteur.
Peut etre me faut-il lui donner mot de passe et user?

Non?
manuloup
Messages : 701
Inscription : 18 févr. 2015, 13:05

Re: Téleinfo filaire avec Linky

Message par manuloup »

2 possibilités :

- ajouter le login/mdp pour ta commande qui va accéder en http
- autoriser la connexion sans login/passwd pour les ips locales dans domoticz.
Synology DS920+ avec VM Debian 11, RFplayer, Aeon Labs Z-Stick Gen5, Everspring ST814 Temperature Sensor, Everspring SF812 Smoke Detector, 4x Fibaro Wallplug, Aeon Zwave Miniremote , Teleinfo USB
Sebsibou
Messages : 13
Inscription : 07 janv. 2021, 15:13

Re: Téleinfo filaire avec Linky

Message par Sebsibou »

MERCI, MERCI et MERCI

Alors tout ne fonctionne pas encore à 100%, mais j'ai déjà des remontées dans domoticz! Elles ne correspondent pas vraiment a ce que je devrais avoir (injection a des valeurs alors que j'ai pas de panneaux :lol: )mais j'ai des remontées!!
Capture.JPG
Capture.JPG (58.88 Kio) Consulté 2715 fois
Et là l'avancée est énorme!
Sebsibou
Messages : 13
Inscription : 07 janv. 2021, 15:13

Re: Téleinfo filaire avec Linky

Message par Sebsibou »

Bonjour, tout le monde,
Juste pour indiquer que mes panneaux ont été mis en place en mai 2021 et que depuis, ma conso, mon injection et la charge sont OK.
Merci pour tout
grostoto28
Messages : 17
Inscription : 01 nov. 2023, 13:12

Re: Téleinfo filaire avec Linky

Message par grostoto28 »

Bonjour
je suis en train d'essayer de faire fonctionner ce script, mais en ajoutant les index tempo.

je ne suis pas très aguéri en programmation( pour ne pas dire nul)

quand je met ton script dans ma fenètre terminal de raspberry, elle me renvoi bien des infos, que je reçois bien dans domoticz.

plusieurs questions;

peux tu m'expliquer cette ligne et ces différents arguments le plus précisément possible :

Code : Tout sélectionner

if [[ $SINSTS = +([0-9]) ]] ; then
curl -s -i -H "Accept: application/json" "http://$DOMO_IP:$DOMO_PORT/json.htm?type=command&param=udevice&idx=$TELEINFO_CONSO_IDX&nvalue=0&svalue=$SINSTS"
et comment faire pour ajouter les 6 index de tempo sur le même modèle.

ensuite, j'aimerais savoir comment je peux automatiser ce script dans le raspberry, par exemple toute les 30s. (quasi un tuto.. car je suis nul).

Merci beaucoup.
Keros
Messages : 5229
Inscription : 23 juil. 2019, 20:57

Re: Téleinfo filaire avec Linky

Message par Keros »

Il faut faire autant d'appel que tu as d'index.

Tu trouveras les explications sur le fonctionnement de l'API dans le wiki.

Et pour automatiser des scripts dans le PI, tu peux utiliser la CRONTAB. Tu trouveras beaucoup d'explication sur internet. Un lancement toutes les minutes sera facile. Toutes les 30 secondes, beaucoup moins.
grostoto28
Messages : 17
Inscription : 01 nov. 2023, 13:12

Re: Téleinfo filaire avec Linky

Message par grostoto28 »

Merci beaucoup..
le pb cest que c'est tout en anglais.. mais je vais tenter..


sinon, peux tu m'expliquer le fonctionnement de ce code ?

Code : Tout sélectionner

if [[ $SINSTS = +([0-9]) ]] ; then
curl -s -i -H "Accept: application/json" "http://$DOMO_IP:$DOMO_PORT/json.htm?type=command&param=udevice&idx=$TELEINFO_CONSO_IDX&nvalue=0&svalue=$SINSTS"
je cherche à savoir ce que l'argument '[ $SINSTS = +([0-9]) ]" signifie.

le reste je comprend qu'on envoie la donnée vers le idx du domoticz.
Keros
Messages : 5229
Inscription : 23 juil. 2019, 20:57

Re: Téleinfo filaire avec Linky

Message par Keros »

La condition vérifie que la variable n'est pas nul donc qu'on poussera bien une valeur dans DomoticZ.
grostoto28
Messages : 17
Inscription : 01 nov. 2023, 13:12

Re: Téleinfo filaire avec Linky

Message par grostoto28 »

bonjour

je progresse lentement jour après jour..

j'ai pu identifié le port ou est branché le téléinfo, et récupérer tout ce qu'il communique:
je tape donc ceci dans la console:

Code : Tout sélectionner

cat /dev/serial/by-id/usb-Cartelectronic_Interface_USB_1_TIC_DAOSG5Y-if00-port0

Code : Tout sélectionner

ADSC	------------	6
VTIC	02	J
DATE	H231121152919		F
NGTF	     TEMPO      	F
LTARF	    HP  BLEU    	+
EAST	004825768	7
EASF01	002585759	K
EASF02	002240009	4
EASF03	000000000	$
EASF04	000000000	%
EASF05	000000000	&
00SF06	(00000000	'
EASF08	000000000	)
EASF09	000000000	*
EASF10	000000000	"
EASD01	002491883	C
EASD02	002153922	9
EASD03	000093875	B
EASD04	000086088	A
IRMS1	001	/
URMS1	238	G
PREF	06	E
PCOUP	06	_
SINSTS	00308	Q
SMAXSN	H231121014950	02250	3
SMAXSN-1	H231115002002	03080	G
CCASN	H231121150000	00216	4
CCASN-1	H231121143000	00206	S
TGEY1	013AC40152000	R37	,
DPM1	 231122060000	00	^
FPM1	 231123060000	00	!
MSG1	     PAS DE          MESSAGE    	<
PRM	09492764074964	H
RELAIS	000	B
NTARF	02	O
NJOURF	00	&
NJOURF+1	00	B
PJOURF+1	00004001 06004002 16004001 NONUTILE NONUTILE NONUTILE NONUTILE NONUTILE NONUTILE NONUTILE NONUTILE	1
PPOINTE	00004003 06004004 16004003 NONUTILE NONUTILE NONUTILE NONUTILE NONUTILE NONUTILE NONUTILE NONUTILE	$
comme cela défile sans stopper, je tape ctrl-c pour interrompre la commande.

cela me permet déjà de remonter chaque info que donne téléinfo dans le cadre
- d'un TIC standard
- d'un abonnement TEMPO

A suivre donc.

question: ou ce trouve le fichier dans le raspberry domoticz qui est natif, qui interprete cela ?
Car je souhaiterai plutot travailler directement dedans plutot que de rajouter encore un script.

dans le dossier ici
https://github.com/domoticz/domoticz/bl ... infoBase.h

ils disent qui se trouve dans le dossier "hardware', mais sauf erreur, impossible de le trouver dans mon installation sur rapberry.
Keros
Messages : 5229
Inscription : 23 juil. 2019, 20:57

Re: Téleinfo filaire avec Linky

Message par Keros »

DomoticZ est compilé : tout ce qui est natif n'est plus accessible.
Tu peux seulement ajouter le plugin et l'utiliser. Aucun moyen de modifier quelque-chose à moins de recompiler.

À la vue des retours, j'ai l'impression que le mode standard pose des soucis.
Répondre