Téléinformation EDF en script

Vous avez des questions concernant les scripts dans Domoticz, posez vos questions ici, quelque soit le langage nous tenterons des réponses pertinentes ...
Répondre
pigloox
Messages : 78
Enregistré le : 18 janv. 2016, 16:12

Téléinformation EDF en script

Message par pigloox » 18 janv. 2016, 16:22

Bonjour,

Je débute avec Domoticz sur un RPi.
Je possède un stick USB Téléinfo et j'aurais aimais savoir si il était possible de :

-faire en sorte qu'au basculement HC/HP "réel" du compteur un switch dans Domoticz soit lui aussi basculé à ce moment plutôt que de se baser sur les heures ?
- avoir le retour d"information de la couleur du jour actuel ainsi que le lendemain, (valeurs lues par le stick)

Merci de m'aiguiller sur le meilleur moyen d'y arriver
Raspberry PI 3 & Raspbian 9 (Stretch) sur disque dur, Domoticz Beta Release,
RFX433E + USB Teleinfo + Zwave Stick
Modules Chacon DI-O, Fibaro, Qubino et sondes de températures

Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


mulot35
Messages : 199
Enregistré le : 20 déc. 2014, 00:27

Re: Téléinformation EDF en script

Message par mulot35 » 18 janv. 2016, 21:26

Salut,
Je suis en compteur HP/HC je n'ai pas donnée a domoticz mais heures de permutation mais je suppose que lorsque le compteur HC augmente et que le compteur HP ne bouge plus il sais que je suis passé en HC.Ca c'est donc fait en automatique chez moi.

Pour les couleurs je ne sais pas
Raspi B+ avec Domoticz ,6 Chacon 2300W , 6 Sondes Oregon, 1 Sonde DIY Oregon ds18b20, Téléinfo sur photovoltaique, script backup ftp & anti offline.

patrice
Messages : 1630
Enregistré le : 22 sept. 2014, 21:51

Re: Téléinformation EDF en script

Message par patrice » 18 janv. 2016, 21:48

Bonsoir
Pour la couleur du jour tu as une api chez Domogeek qui fait le boulot
http://easydomoticz.com/couleur-tempo-e ... -domoticz/

Si tu interroge l'API avec : /tempoedf/{now | tomorrow} tu obitiens pour ajourd'hui ou demain
ex
http://domogeek.entropialux.com/tempoedf/now
http://domogeek.entropialux.com/tempoedf/tomorrow
Raspberry Pi model B+, RFXComm,8 interrupteurs Chacon, 5 ds180b 1-Wire, 3 douilles Chacon, 1 contact de porte Chacon, 1 module variateur,module emetteur 54700, Aeon Stick Z-wave, 1 MultiSensor Aeon, accés à distance.
aka thegritche@domoticz forum

vil1driver
Messages : 5224
Enregistré le : 30 janv. 2015, 11:07
Localisation : Rennes (35)

Re: Téléinformation EDF en script

Message par vil1driver » 19 janv. 2016, 09:18

Salut,

Pour la commutation d'un switch, comme le dit mulot35, ça peut se faire en regardant l'évolution du compteur..

Un script ici à adapter fait très bien l'affaire,
Juste ajouter la commande de switch après les print de passage en HC HP..

viewtopic.php?p=5851#p5851
Modifié en dernier par vil1driver le 19 janv. 2016, 19:01, modifié 1 fois.

Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


pigloox
Messages : 78
Enregistré le : 18 janv. 2016, 16:12

Re: Téléinformation EDF en script

Message par pigloox » 19 janv. 2016, 15:48

mulot35 a écrit :Salut,
Je suis en compteur HP/HC je n'ai pas donnée a domoticz mais heures de permutation mais je suppose que lorsque le compteur HC augmente et que le compteur HP ne bouge plus il sais que je suis passé en HC.Ca c'est donc fait en automatique chez moi.

Pour les couleurs je ne sais pas
Ah ??? Chez moi Domoticz ne m'affiche qu'un seul compteur, de plus j'ai l'impression qu'il est erroné.
Tu as fait une manip particulière pour ça ? Car je devrais avoir 6 compteurs chez moi alors...
patrice a écrit :Bonsoir
Pour la couleur du jour tu as une api chez Domogeek qui fait le boulot
http://easydomoticz.com/couleur-tempo-e ... -domoticz/

Si tu interroge l'API avec : /tempoedf/{now | tomorrow} tu obitiens pour ajourd'hui ou demain
ex
http://domogeek.entropialux.com/tempoedf/now
http://domogeek.entropialux.com/tempoedf/tomorrow
J'ai actuellement cette solution mais ça ne reflète pas toujours la vrai couleur du jour et parfois, EDF "oublie" de me basculer en HC ou se trompe dans les couleurs...

vil1driver a écrit :Salut,

Pour la commutation d'un switch, comme le dit oula, ça peut se faire en regardant l'évolution du compteur..

Un script ici à adapter fait très bien l'affaire,
Juste ajouter la commande de switch après les print de passage en HC HP..

viewtopic.php?p=5851#p5851
Je vais essayer de regarder de ce coté mais comme dit plus haut, dans la ligne de la téléinformation, Domoticz n'a l'air de voir que le compteur Bleu
Raspberry PI 3 & Raspbian 9 (Stretch) sur disque dur, Domoticz Beta Release,
RFX433E + USB Teleinfo + Zwave Stick
Modules Chacon DI-O, Fibaro, Qubino et sondes de températures

meumeu34
Messages : 4
Enregistré le : 21 janv. 2016, 08:16

Re: Téléinformation EDF en script

Message par meumeu34 » 21 janv. 2016, 19:39

Bonjour
Effectivement Domoticz ne récupère pas toutes les données de conso des contrat tempo EDF par le Télé info USB.
Pour ma part j'utilise la solution de collecte et de visualisation de ces données via Highcharts (super classe je trouve 8-) ) telque décrit dans ce blog :
http://penhard.anthony.free.fr/?p=283.
A noter que ce n'est pas forcément trivial :shock: mais le jeu en vaut la chandelle.
J ai ensuite créé des devices virtuels dans domoticz alimentés par des scripts shell qui récupèrent les infos (couleur du jour, du lendemain, conso puissance instantanée et HC/HP)directement dans la base de données mysql alimentée par la solution précédente ...

Sinon de manière plus simple si on ne veut pas la solution de visualisation, la seule solution de collecte des infos d alimentation des devices dans domoticz peut se faire avec un shell script exécuté régulièrement automatiquement.
Exemple de commande à scripter :

Code : Tout sélectionner

dd if=/dev/ttyUSB0  bs=512 count=1 iflag=fullblock 2>/dev/null | grep PTEC | tail -1 | awk '{ print $2}'
dd if=/dev/ttyUSB0  bs=512 count=1 iflag=fullblock 2>/dev/null | grep PAPP | tail -1 | awk '{ print $2}'
dd if=/dev/ttyUSB0  bs=512 count=1 iflag=fullblock 2>/dev/null | grep DEMAIN | tail -1 | awk '{ print $2}'

mulot35
Messages : 199
Enregistré le : 20 déc. 2014, 00:27

Re: Téléinformation EDF en script

Message par mulot35 » 09 mars 2016, 21:25

pigloox a écrit :
mulot35 a écrit :Salut,
Je suis en compteur HP/HC je n'ai pas donnée a domoticz mais heures de permutation mais je suppose que lorsque le compteur HC augmente et que le compteur HP ne bouge plus il sais que je suis passé en HC.Ca c'est donc fait en automatique chez moi.

Pour les couleurs je ne sais pas
Ah ??? Chez moi Domoticz ne m'affiche qu'un seul compteur, de plus j'ai l'impression qu'il est erroné.
Tu as fait une manip particulière pour ça ? Car je devrais avoir 6 compteurs chez moi alors...
patrice a écrit :Bonsoir
Pour la couleur du jour tu as une api chez Domogeek qui fait le boulot
http://easydomoticz.com/couleur-tempo-e ... -domoticz/

Si tu interroge l'API avec : /tempoedf/{now | tomorrow} tu obitiens pour ajourd'hui ou demain
ex
http://domogeek.entropialux.com/tempoedf/now
http://domogeek.entropialux.com/tempoedf/tomorrow
J'ai actuellement cette solution mais ça ne reflète pas toujours la vrai couleur du jour et parfois, EDF "oublie" de me basculer en HC ou se trompe dans les couleurs...

vil1driver a écrit :Salut,

Pour la commutation d'un switch, comme le dit oula, ça peut se faire en regardant l'évolution du compteur..

Un script ici à adapter fait très bien l'affaire,
Juste ajouter la commande de switch après les print de passage en HC HP..

viewtopic.php?p=5851#p5851
Je vais essayer de regarder de ce coté mais comme dit plus haut, dans la ligne de la téléinformation, Domoticz n'a l'air de voir que le compteur Bleu
J'ai bien qu'un seul compteur de type "p1 smart meter" sous domoticz avec deux couleurs une pour mes HC une pour mes HP
et depuis la mise a jour stable v3.brouette j'ai meme la conso instantané alors que je n'ai pas de Papp.
Raspi B+ avec Domoticz ,6 Chacon 2300W , 6 Sondes Oregon, 1 Sonde DIY Oregon ds18b20, Téléinfo sur photovoltaique, script backup ftp & anti offline.

ded38fr
Messages : 6
Enregistré le : 23 janv. 2016, 09:17

Re: Téléinformation EDF en script

Message par ded38fr » 25 mars 2016, 08:48

Hello,

J'utilise un script pour envoyer ma consomation instantannée (en ampères) et la période EDF à Domoticz, via une variable utilisateur:

Code : Tout sélectionner

#!/bin/bash
##########################################################
# Script: send_teleinfo_to_domoticz.sh                   #
# Auteur: ded38fr                                        #
# Version: 1.01 - 2015/02/26                             #
##########################################################
# Description:                                           #
#   Envoi des informations recues du TeleInfo EDF a      #
#   domoticz (Intensite Instantannee par phase, mode de  #
#   tarification en cours (Heures pleines/Heures creuses #
##########################################################
# V1.01: Correction d'un probleme d'affichage de label   #
#   sur les variables IntensitePhase1 2 et 3             #
##########################################################

TeleInfoDevice=/dev/ttyAMA0

DomoticzJSONURL="http://127.0.0.1:8080/json.htm"
IDDomConsoInst=27
IDDomVarIPhase1=5
IDDomVarIPhase2=3
IDDomVarIPhase3=4

PIDFile=/home/pi/domoticz/ramfs/send_iinst_to_domoticz.pid

if test -f $PIDFile
then
        echo "Another instance already running..."
        exit 1
fi
echo $$ > $PIDFile

stty -F /dev/ttyAMA0 1200 sane evenp parenb cs7 -crtscts

### Lecture des informations envoyees par le TeleInfo EDF ###
echo -n "Lecture du TeleInfo EDF..."
Value=`head -36 $TeleInfoDevice |awk ' /IINST1/ { I1=$2 } /IINST2/ { I2=$2 } /IINST3/ { I3=$2 } /P
TEC/ { PTEC=$2 } END { print I1";"I2";"I3";"PTEC }'`
echo " OK."

### Memorisation des valeures recues par le TeleInfo ###
I1=`echo $Value|awk -F';' '{printf("%d",$1)}'`
I2=`echo $Value|awk -F';' '{printf("%d",$2)}'`
I3=`echo $Value|awk -F';' '{printf("%d",$3)}'`
PTEC=`echo $Value|awk -F';' '{print $4}'|sed s/[.]//g`

### Lecture et memorisation des valeurs des variables Domoticz ###
for i in  `curl -s "$DomoticzJSONURL?type=command&param=getuservariables"|jq --raw-output '.result
[] | {idx, Value}'|jq --raw-output '"\(.idx);\(.Value)"'|sed s/2\;/OldPTEC=/| sed s/3\;/OldI2=/| s
ed s/4\;/OldI3=/|sed s/5\;/OldI1=/ | grep -v ";"`
do
                echo Lu $i
                declare $i
done

### Affichage des informations trouvees ###
echo Informations trouvees
echo "I1=$I1 (Old $OldI1)"
echo "I2=$I2 (Old $OldI2)"
echo "I3=$I3 (Old $OldI3)"
echo "PTEC=$PTEC (Old $OldPTEC)"

### Envoi de la consomation instantanee par phase au capteur de mesure ###
echo Envoi des valeurs $Value a Domoticz pour le DeviceID $IDDomConsoInst
curl "$DomoticzJSONURL?type=command&param=udevice&idx=$IDDomConsoInst&nvalue=0&svalue=$I1;$I2;$I3"

### Mise a jour des variables de Domoticz ###
if [ "$OldI1" != "$I1" ]
then
        echo "Envoi de la mise a jour de la variable Intensite Phase 1"
        curl "$DomoticzJSONURL?type=command&param=updateuservariable&idx=$IDDomVarIPhase1&vname=In
tensitePhase1&vtype=0&vvalue=$I1"
else
        echo "Pas de mise a jour Intensite Phase 1 a envoyer"
fi

if [ "$OldI2" != "$I2" ]
then
        echo "Envoi de la mise a jour de la variable Intensite Phase 2"
        curl "$DomoticzJSONURL?type=command&param=updateuservariable&idx=$IDDomVarIPhase2&vname=In
tensitePhase2&vtype=0&vvalue=$I2"
else
        echo "Pas de mise a jour Intensite Phase 2 a envoyer"
fi

if [ "$OldI3" != "$I3" ]
then
        echo "Envoi de la mise a jour de la variable Intensite Phase 3"
        curl "$DomoticzJSONURL?type=command&param=updateuservariable&idx=$IDDomVarIPhase3&vname=In
tensitePhase3&vtype=0&vvalue=$I3"
else
        echo "Pas de mise a jour Intensite Phase 3 a envoyer"
fi

# Si le tarif EDF a change, mise a jour de la variable PeriodeEDF (Heure creuses/Heures pleines)
if [ "$OldPTEC" != "$PTEC" ]
then
        echo "Envoi de la mise a jour de la variable PeriodeEDF"
        curl "$DomoticzJSONURL?type=command&param=updateuservariable&idx=2&vname=PeriodeEDF&vtype=
2&vvalue=$PTEC"
else
        echo "Pas de mise a jour PeriodeEDF a envoyer"
fi

rm $PIDFile
J'ai un abonnement triphasé, c'est pourquoi je récupère les 3 intensitées instantannées (ce qui me permet aussi de m'aider à équilibrer mes phases :D ).

Dans domoticz, j'ai ensuite un petit évenement pour basculer un switch.
J'airai pu basculer directement le switch via le script, mais cela me faisait faire une seconde requete http à Domoticz pour récupérer l'état de mon switch. J'avai choisi d'utiliser les évènements pour diminuer le nombre d'envoi d'URLs.

Il faudrait probablement refaire cela en lua, histoire de tout avoir à un seul endroit, mais je n'ai pas eu le temps de faire un script lua pour cela :)

Voici l'évenement blocky qui permet de basculer mon switch:
Image

Si cela peut t'aider :)


A+,
Ded

manuloup
Messages : 507
Enregistré le : 18 févr. 2015, 13:05

Re: Téléinformation EDF en script

Message par manuloup » 25 mai 2019, 14:51

meumeu34 a écrit :
21 janv. 2016, 19:39

Exemple de commande à scripter :

Code : Tout sélectionner

dd if=/dev/ttyUSB0  bs=512 count=1 iflag=fullblock 2>/dev/null | grep PTEC | tail -1 | awk '{ print $2}'
dd if=/dev/ttyUSB0  bs=512 count=1 iflag=fullblock 2>/dev/null | grep PAPP | tail -1 | awk '{ print $2}'
dd if=/dev/ttyUSB0  bs=512 count=1 iflag=fullblock 2>/dev/null | grep DEMAIN | tail -1 | awk '{ print $2}'
Merci à toi, je viens de mettre à jour mon script, car j'utilisais teleinfuse pour cela, mais il ne fonctionne plus.

Du coup mon script fonctionne à nouveau :D

Manu
Rapberry PI 2 (RaspBian), RFplayer, Aeon Labs Z-Stick Gen5, Everspring ST814 Temperature Sensor, Everspring SF812 Smoke Detector, 4x Fibaro Wallplug, Aeon Zwave Miniremote , Teleinfo USB

Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Répondre