Script récupération consommation électrique

Forum dédié aux problématiques concernant les scripts pour DomoticZ.
Entourez votre code et les logs avec les balises nommées code grâce au bouton <\>.
psytgc
Messages : 95
Inscription : 30 juil. 2017, 12:10

Script récupération consommation électrique

Message par psytgc »

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
higgins91
Messages : 669
Inscription : 17 nov. 2016, 11:06

Re: Script récupération consommation électrique

Message par higgins91 »

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é !
Dz version : 2024.7
Rpi 4 avec dongle téléinfo, GPIO pour le moment !
papoo
Messages : 2029
Inscription : 10 janv. 2016, 11:29
Localisation : Limoges (87)
Contact :

Re: Script récupération consommation électrique

Message par papoo »

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
domoticz beta/RaspBerry PI3 stretch
https://pon.fr github
psytgc
Messages : 95
Inscription : 30 juil. 2017, 12:10

Re: Script récupération consommation électrique

Message par psytgc »

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.
papoo
Messages : 2029
Inscription : 10 janv. 2016, 11:29
Localisation : Limoges (87)
Contact :

Re: Script récupération consommation électrique

Message par papoo »

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
domoticz beta/RaspBerry PI3 stretch
https://pon.fr github
papoo
Messages : 2029
Inscription : 10 janv. 2016, 11:29
Localisation : Limoges (87)
Contact :

Re: Script récupération consommation électrique

Message par papoo »

à 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&param=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&param=udevice&idx='..idx_teleinfo_syno..'&nvalue=0&svalue='..domoticz.devices(device_teleinfo).usage..';'..domoticz.devices(device_teleinfo).rawData[2])


    end   
}
domoticz beta/RaspBerry PI3 stretch
https://pon.fr github
psytgc
Messages : 95
Inscription : 30 juil. 2017, 12:10

Re: Script récupération consommation électrique

Message par psytgc »

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.

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&param=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&param=udevice&idx='..idx_teleinfo_syno..'&nvalue=0&svalue='..domoticz.devices(device_teleinfo)._state)


    end   
}
Encore merci
papoo
Messages : 2029
Inscription : 10 janv. 2016, 11:29
Localisation : Limoges (87)
Contact :

Re: Script récupération consommation électrique

Message par papoo »

cool
domoticz beta/RaspBerry PI3 stretch
https://pon.fr github
Répondre