Script récupération consommation électrique
Script récupération consommation électrique
Bonjour
Je souhaite faire un petit script et je y arrive pas!
c Est pourtant assez basic mais je ne trouve pas de base aussi simple en fait.
J ai un domotics qui tourne sur un rpi avec un teleinfo branché dessus jusqu ici aucun souci il me sert quasiment qu a ca.
J ai un autre domotics sur un nas synology avec une clef zwave qui gère le reste on va dire!
Le but est de créer 1 ou plus capteur qui me remonterai l& consommation électrique sur ce domotics!
donc l idée c est simplement d extraire la donnée data du device teleinfo en JSON mais je ne sais pas comment mettre ca en oeuvre;
j arrive bien à afficher les données sur un navigateur mais je n arrive pas a les integrer a domotics!
http://IPRPI:port/json.htm?type=devices&rid=numedevice
Je sais que c est tout bête mais je n ai trouvé que des script en bash ou qui interroge un site internet.
Merci de votre aide
Je souhaite faire un petit script et je y arrive pas!
c Est pourtant assez basic mais je ne trouve pas de base aussi simple en fait.
J ai un domotics qui tourne sur un rpi avec un teleinfo branché dessus jusqu ici aucun souci il me sert quasiment qu a ca.
J ai un autre domotics sur un nas synology avec une clef zwave qui gère le reste on va dire!
Le but est de créer 1 ou plus capteur qui me remonterai l& consommation électrique sur ce domotics!
donc l idée c est simplement d extraire la donnée data du device teleinfo en JSON mais je ne sais pas comment mettre ca en oeuvre;
j arrive bien à afficher les données sur un navigateur mais je n arrive pas a les integrer a domotics!
http://IPRPI:port/json.htm?type=devices&rid=numedevice
Je sais que c est tout bête mais je n ai trouvé que des script en bash ou qui interroge un site internet.
Merci de votre aide
Re: Script récupération consommation électrique
y'a plus simple, le serveur maitre/esclave !!
Tu fait communiquer tes 2 domoticz ensemble pour avoir les données sur les 2.
Regarde sur le wiki, c'est tout expliqué !
Tu fait communiquer tes 2 domoticz ensemble pour avoir les données sur les 2.
Regarde sur le wiki, c'est tout expliqué !
Dz version : 2024.7
Rpi 4 avec dongle téléinfo, GPIO pour le moment !
Rpi 4 avec dongle téléinfo, GPIO pour le moment !
Re: Script récupération consommation électrique
il te faudrait "déclencher" un script toute les minutes par exemple sur le PI avec la télé-info pour
1) collecter la donnée
2) lancer la requête json sur le pi de destination en intégrant la donnée collectée juste avant
1) collecter la donnée
2) lancer la requête json sur le pi de destination en intégrant la donnée collectée juste avant
Re: Script récupération consommation électrique
bonjour
en mode maitre esclave certain device remonte mais pas le teleinfo.
Donc reste le script a faire tourner sur la pi et l autre sur le maitre qui est sur un synology.
bon pour l instant j ai un souci avec la beta sur le synology ou aucun script ne fonctionne même le bloky, je vais poster ce pb ailleurs.
Je reviendrai ici quand ca ira mieux!
Merci de vos piste et reponse.
en mode maitre esclave certain device remonte mais pas le teleinfo.
Donc reste le script a faire tourner sur la pi et l autre sur le maitre qui est sur un synology.
bon pour l instant j ai un souci avec la beta sur le synology ou aucun script ne fonctionne même le bloky, je vais poster ce pb ailleurs.
Je reviendrai ici quand ca ira mieux!
Merci de vos piste et reponse.
Re: Script récupération consommation électrique
Non
Un seul script sur le pi avec le teleinfo
En lua ou en dzvents
Ton compteur teleinfo sur ton pi il est de quel type custom device, rfx counter,..?
Sans iinfo sur ta config on a du mal à se projeter sur ton projet et t’aider
Un seul script sur le pi avec le teleinfo
En lua ou en dzvents
Ton compteur teleinfo sur ton pi il est de quel type custom device, rfx counter,..?
Sans iinfo sur ta config on a du mal à se projeter sur ton projet et t’aider
Re: Script récupération consommation électrique
à adapter à ton install
Code : Tout sélectionner
-- Auteur papoo
local fetchIntervalMins = 1 -- intervalle de mise à jour en minute.
local scriptName = 'teleinfo'
local scriptVersion = '1.0'
local device_teleinfo = 'EDF'
local url_dz_synology = '192.168.1.48'
local port_dz_synology = '8080'
local idx_teleinfo_syno = 710
return {
active = true, -- true, --
on = {
timer = {'every '..tostring(fetchIntervalMins)..' minutes',},
--devices = { 'device_teleinfo' }
},
logging = { level = domoticz.LOG_DEBUG,
-- level = domoticz.LOG_INFO, -- Seulement un niveau peut être actif; commenter les autres
-- level = domoticz.LOG_ERROR, -- Only one level can be active; comment others
-- level = domoticz.LOG_MODULE_EXEC_INFO,
marker = scriptName..' v'..scriptVersion },
execute = function(domoticz)
--domoticz.log(domoticz.devices(device_teleinfo).dump(), domoticz.LOG_DEBUG)
domoticz.log('Puissance EDF '..tostring(domoticz.devices(device_teleinfo).usage)..' Watts', domoticz.LOG_DEBUG)
domoticz.log('EDF consommation '..tostring(domoticz.devices(device_teleinfo).rawData[2])..' wh', domoticz.LOG_DEBUG)
domoticz.log('http://'..url_dz_synology..':'..port_dz_synology..'/json.htm?type=command¶m=udevice&idx='..idx_teleinfo_syno..'&nvalue=0&svalue='..domoticz.devices(device_teleinfo).usage..';'..domoticz.devices(device_teleinfo).rawData[2], domoticz.LOG_DEBUG)
domoticz.openURL('http://'..url_dz_synology..':'..port_dz_synology..'/json.htm?type=command¶m=udevice&idx='..idx_teleinfo_syno..'&nvalue=0&svalue='..domoticz.devices(device_teleinfo).usage..';'..domoticz.devices(device_teleinfo).rawData[2])
end
}Re: Script récupération consommation électrique
un enorme merci papoo!!!
j ai adapter ton script c est nickel ; j ai utiliser la valeur state pour recuperer les indices heure pleine creuse et consommation et tout envoyer au syno!! c est top.
Encore merci
j ai adapter ton script c est nickel ; j ai utiliser la valeur state pour recuperer les indices heure pleine creuse et consommation et tout envoyer au syno!! c est top.
Code : Tout sélectionner
-- Auteur papoo
local fetchIntervalMins = 1 -- intervalle de mise à jour en minute.
local scriptName = 'teleinfo'
local scriptVersion = '1.0'
local device_teleinfo = 'Teleinfo'
local url_dz_synology = '192.168.1.1'
local port_dz_synology = '8080'
local idx_teleinfo_syno = 148
return {
active = true, -- true, --
on = {
timer = {'every '..tostring(fetchIntervalMins)..' minutes',},
--devices = { 'device_teleinfo' }
},
logging = { level = domoticz.LOG_DEBUG,
-- level = domoticz.LOG_INFO, -- Seulement un niveau peut être actif; commenter les autres
-- level = domoticz.LOG_ERROR, -- Only one level can be active; comment others
-- level = domoticz.LOG_MODULE_EXEC_INFO,
marker = scriptName..' v'..scriptVersion },
execute = function(domoticz)
--domoticz.log(domoticz.devices(device_teleinfo).dump(), domoticz.LOG_DEBUG)
domoticz.log('STATE '..tostring(domoticz.devices(device_teleinfo)._state)..' Watts', domoticz.LOG_DEBUG)
--domoticz.log('Total'..tostring(domoticz.devices(device_teleinfo).rawData[2])..' wh', domoticz.LOG_DEBUG)
domoticz.log('http://'..url_dz_synology..':'..port_dz_synology..'/json.htm?type=command¶m=udevice&idx='..idx_teleinfo_syno..'&nvalue=0&svalue='..domoticz.devices(device_teleinfo)._state, domoticz.LOG_DEBUG)
domoticz.openURL('http://'..url_dz_synology..':'..port_dz_synology..'/json.htm?type=command¶m=udevice&idx='..idx_teleinfo_syno..'&nvalue=0&svalue='..domoticz.devices(device_teleinfo)._state)
end
}