Script lua : compteur
-
davidmarli
- Messages : 31
- Inscription : 19 janv. 2016, 14:54
Script lua : compteur
Bonjour,
nous avons fait récemment installé des panneaux photovoltaiques.
Depuis l'onduleur, je me suis fait un script .sh sur le raspberry, dans lequel je stocke toutes les heures la production en kw et l'heure du relevé. (je stocke les valeurs dans un fichier différent tous les jours (Prod_horaire_2019-10-09.txt, par exemple pour la prod du ç octobre.)
J'aimerais afficher un compteur dans domoticz qui m'affiche la valeur du dernier relevé voire avoir le graphique journalier.
Quelqu'un peut-il prendre un moment pour m'expliquer comment faire avec un script lua ?
J'ai crée un dummy dans domoticz, puis un compteur. Il me semble que c'est lui qu'il faut renseigner, mais je ne sais comment faire ...
Je vous remercie par avance pour votre aide.
nous avons fait récemment installé des panneaux photovoltaiques.
Depuis l'onduleur, je me suis fait un script .sh sur le raspberry, dans lequel je stocke toutes les heures la production en kw et l'heure du relevé. (je stocke les valeurs dans un fichier différent tous les jours (Prod_horaire_2019-10-09.txt, par exemple pour la prod du ç octobre.)
J'aimerais afficher un compteur dans domoticz qui m'affiche la valeur du dernier relevé voire avoir le graphique journalier.
Quelqu'un peut-il prendre un moment pour m'expliquer comment faire avec un script lua ?
J'ai crée un dummy dans domoticz, puis un compteur. Il me semble que c'est lui qu'il faut renseigner, mais je ne sais comment faire ...
Je vous remercie par avance pour votre aide.
Re: Script lua : compteur
Bonjour
Je pense que tu n'as pas besoin d'un script lua pour ce que tu veux faire.
Il suffit d'utiliser l'api json de domoticz.
Ca me parait beaucoup plus simple.
Dans ton script shell, tu ajoutes une commande curl avec l'url qui correspond a ton device.
ex
curl "url_domoticz/json.htm?type=command¶m=udevice&idx=IDX&nvalue=0&svalue=POWER;ENERGY"
La doc bien faite en francois
https://easydomoticz.com/traduction-fra ... -domoticz/
ou l'original
https://www.domoticz.com/wiki/Domoticz_API/JSON_URL%27s
cordialement
Je pense que tu n'as pas besoin d'un script lua pour ce que tu veux faire.
Il suffit d'utiliser l'api json de domoticz.
Ca me parait beaucoup plus simple.
Dans ton script shell, tu ajoutes une commande curl avec l'url qui correspond a ton device.
ex
curl "url_domoticz/json.htm?type=command¶m=udevice&idx=IDX&nvalue=0&svalue=POWER;ENERGY"
La doc bien faite en francois
https://easydomoticz.com/traduction-fra ... -domoticz/
ou l'original
https://www.domoticz.com/wiki/Domoticz_API/JSON_URL%27s
cordialement
Domoticz 3.7115, raspberry pi3, (raspbian jessie).
rfx433 (Rfxcom) : sonde innovaley, 1wire (DS9490R) : DS2406 & DS18B20, Zwave (Stick G5) : fgms-001,fgsd-002,zw080.
rfx433 (Rfxcom) : sonde innovaley, 1wire (DS9490R) : DS2406 & DS18B20, Zwave (Stick G5) : fgms-001,fgsd-002,zw080.
-
davidmarli
- Messages : 31
- Inscription : 19 janv. 2016, 14:54
Re: Script lua : compteur
Merci bp. Effectivement c'est simple.
En revanche cela ne fait pas tout à fait ce que je voudrais.
Pour l'instant mon script .sh, récupère les données de production des panneaux solaires en cumulé heure par heure.
Du coup j'ai par exemple :
8h00 : 17000
9h00 : 18500
10h00 : 19000
etc ...
Je voudrais que qd le compteur est actualisé toutes les heures, je puisse avoir un graphique heure par heure de la production horaire : 8h00-->9h00 1500; 9h00-->10h00 : 500 ...
Du coup j'ai essayé un counter, un energy counter et un managed counter, mais j'ai l'impression que je ne peux avoir de graph ...
Merci pour votre aide.
En revanche cela ne fait pas tout à fait ce que je voudrais.
Pour l'instant mon script .sh, récupère les données de production des panneaux solaires en cumulé heure par heure.
Du coup j'ai par exemple :
8h00 : 17000
9h00 : 18500
10h00 : 19000
etc ...
Je voudrais que qd le compteur est actualisé toutes les heures, je puisse avoir un graphique heure par heure de la production horaire : 8h00-->9h00 1500; 9h00-->10h00 : 500 ...
Du coup j'ai essayé un counter, un energy counter et un managed counter, mais j'ai l'impression que je ne peux avoir de graph ...
Merci pour votre aide.
Re: Script lua : compteur
normalement tu dois pouvoir le faire.
Je fais un peu la même chose avec mon chauffe eau.
J'utilise cette url (c'est en python)
url = domoticz_url+'/json.htm?type=command¶m=udevice&idx=510&nvalue=0&svalue=0;'+str(val_cosy)
En pj mon dispositif
et le résultat
Je fais un peu la même chose avec mon chauffe eau.
J'utilise cette url (c'est en python)
url = domoticz_url+'/json.htm?type=command¶m=udevice&idx=510&nvalue=0&svalue=0;'+str(val_cosy)
En pj mon dispositif
et le résultat
- Pièces jointes
-
- Annotation 2019-10-11 224915.png (319.24 Kio) Consulté 5808 fois
-
- Annotation 2019-10-11 224732.png (54.07 Kio) Consulté 5808 fois
Domoticz 3.7115, raspberry pi3, (raspbian jessie).
rfx433 (Rfxcom) : sonde innovaley, 1wire (DS9490R) : DS2406 & DS18B20, Zwave (Stick G5) : fgms-001,fgsd-002,zw080.
rfx433 (Rfxcom) : sonde innovaley, 1wire (DS9490R) : DS2406 & DS18B20, Zwave (Stick G5) : fgms-001,fgsd-002,zw080.
-
davidmarli
- Messages : 31
- Inscription : 19 janv. 2016, 14:54
Re: Script lua : compteur
Merci pour ces infos.
Du coup tu as pris quel type de counter ?
De plus dans ta ligne json, nvalue, svalue et val_cosy correspondent à quoi ?
svalue : conso instantannée ?
val_cosy : conso totale ?
Merci.
Du coup tu as pris quel type de counter ?
De plus dans ta ligne json, nvalue, svalue et val_cosy correspondent à quoi ?
svalue : conso instantannée ?
val_cosy : conso totale ?
Merci.
-
denis_brasseur
- Messages : 898
- Inscription : 24 déc. 2018, 17:05
- Localisation : (26)
Re: Script lua : compteur
davidmarli a écrit : 12 oct. 2019, 06:45 Merci pour ces infos.
Du coup tu as pris quel type de counter ?
De plus dans ta ligne json, nvalue, svalue et val_cosy correspondent à quoi ?
svalue : conso instantannée ?
val_cosy : conso totale ?
Merci.
La doc bien faite en francois
https://easydomoticz.com/traduction-fra ... -domoticz/
Électricité (instantané et compteur)
/json.htm?type=command¶m=udevice&idx=IDX&nvalue=0&svalue=POWER;ENERGY
IDX = idx de votre capteur. A obtenir depuis l’écran des dispositifs.
POWER = Puissance actuelle consommée.
ENERGY = cumul en Watt-heures (Wh) (c’est juste un « compteur virtuel », tous les cumuls doivent être faits par VOUS)
Pi3 + DD PiDrive - RFXtrx433 - AEON Labs ZW090
-
davidmarli
- Messages : 31
- Inscription : 19 janv. 2016, 14:54
Re: Script lua : compteur
Bon, je suis désolé je reviens à la charge ...
Le script suivant fonctionne bien
Si je lance le script pas de soucis, domoticz s'actualise, le compteur fonctionne à merveille.
MAIS en mettant la même commande dans le crontab, rien ne se passe :
*/10 * * * * sudo python /home/pi/domoticz/scripts/piko_heure_mp.py
Chez moi je ne vois pas comment lancer l'url avec CURL ...
PS : je vois que si je fais sudo crontab -e ou crontab -e (sans sudo) j'ai deux fichiers différents ...
Moi j'ai rempli sudo crontab -e. Ce n'est peut-être pas le bon ?
Merci.
Le script suivant fonctionne bien
Oui, je sais le script est pas optimisé au top, mais bon ...#!/usr/bin/python
import urllib,os
import xml.etree.ElementTree as ET
import urllib2
the_location = "/var/tmp/"
urllib.urlcleanup()
url="http://192.168.1.243/yields.xml"
dest=the_location + "yields.xml"
monurl = urllib.urlretrieve(url,dest)
with open("/var/tmp/last_hour_total.txt") as fic :
for line in fic :
val = line[0]
with open(dest) as f :
for line in f :
if line.find('YieldValue') != -1:
index = line.find('YieldValue') + 18
pos2 = line.find(' TimeStamp')
s = line[index:pos2-1]
if line.find(' DateTime=') != -1:
index = line.find(' DateTime') + 11
pos2 = index + 11
heure = line[index:pos2-1]
heure2 = line[pos2:pos2+8]
print the_location + "Production_horaire_" + heure + ".txt"
prod_hor = int(s) - int(val)
print(prod_hor)
fic = open("/var/tmp/last_hour_total.txt",'w')
fic.write(s)
fic.close()
fichier = open(the_location + "Production_horaire_" + heure + ".txt","a")
fichier.write(s + "\n")
#fichier.write(heure + "\n")
fichier.write(heure2 + "\n")
fichier.close()
ENERGY = s
adress = "http://192.168.1.159:8080/json.htm?type ... ";"+ENERGY
r = urllib.urlopen(adress)
Si je lance le script pas de soucis, domoticz s'actualise, le compteur fonctionne à merveille.
MAIS en mettant la même commande dans le crontab, rien ne se passe :
*/10 * * * * sudo python /home/pi/domoticz/scripts/piko_heure_mp.py
Chez moi je ne vois pas comment lancer l'url avec CURL ...
PS : je vois que si je fais sudo crontab -e ou crontab -e (sans sudo) j'ai deux fichiers différents ...
Moi j'ai rempli sudo crontab -e. Ce n'est peut-être pas le bon ?
Merci.
Re: Script lua : compteur
Salut
Moi je me suis fait un script shell "cosytouch.sh" qui lance mon scrypt python
Ensuite dans le crontab -e
Moi je me suis fait un script shell "cosytouch.sh" qui lance mon scrypt python
Code : Tout sélectionner
LOGFILE="/home/pi/domoticz/scripts/cosytouch.log"
DATE_DEBUT=`date +%d-%m-%Y`
H_DEPART=`date +%H:%M:%S`
echo 'Debut cosytouch.sh ' $DATE_DEBUT $H_DEPART >> $LOGFILE
python /home/pi/domoticz/scripts/cosytouch.py >> $LOGFILE
DATE_FIN=`date +%d-%m-%Y`
H_FIN=`date +%H:%M:%S`
echo 'Fin cosytouch.sh ' $DATE_FIN $H_FIN >> $LOGFILE
echo '=====' >> $LOGFILE
Code : Tout sélectionner
#Recupere les informations du chauffe eau cosytouch
*/10 * * * * /home/pi/domoticz/scripts/cosytouch.sh
Domoticz 3.7115, raspberry pi3, (raspbian jessie).
rfx433 (Rfxcom) : sonde innovaley, 1wire (DS9490R) : DS2406 & DS18B20, Zwave (Stick G5) : fgms-001,fgsd-002,zw080.
rfx433 (Rfxcom) : sonde innovaley, 1wire (DS9490R) : DS2406 & DS18B20, Zwave (Stick G5) : fgms-001,fgsd-002,zw080.