Requete compteur / Stats
-
jackslayter
- Messages : 1040
- Inscription : 30 sept. 2014, 14:40
- Localisation : Isère (38)
Re: Requete compteur / Stats
script en test 
Raspberry Pi + RFLink + Domoticz Beta
Oregon - 3x Thgr122Nx / Chacon - micromodule 200w, télécommande 3b et 16b, 2x module 1000w, détecteur de fumée, contact de porte, 2x prise 3500w / OWL - CM180 / TRC02 v2 RGB 3M / Cheap - PIR, contact de porte
Oregon - 3x Thgr122Nx / Chacon - micromodule 200w, télécommande 3b et 16b, 2x module 1000w, détecteur de fumée, contact de porte, 2x prise 3500w / OWL - CM180 / TRC02 v2 RGB 3M / Cheap - PIR, contact de porte
Re: Requete compteur / Stats
Lol c'est moi qui ai lancé ce sujet sur le forum de domoticz.com 
Synology DS920+ avec VM Debian 12, Aeon Labs Z-Stick Gen5, Aeon Zwave et devices zwaves , Teleinfo USB, devices Zigbee, batterie Marstek Venus E, Shelly Pro 3EM...
-
jackslayter
- Messages : 1040
- Inscription : 30 sept. 2014, 14:40
- Localisation : Isère (38)
Re: Requete compteur / Stats
par contre il faut mettre à zéro le virtuel non utilisé (si HC alors HP = 0) car actuellement il garde la dernière valeur et elle reste alors qu'elle devrait être à 0
Raspberry Pi + RFLink + Domoticz Beta
Oregon - 3x Thgr122Nx / Chacon - micromodule 200w, télécommande 3b et 16b, 2x module 1000w, détecteur de fumée, contact de porte, 2x prise 3500w / OWL - CM180 / TRC02 v2 RGB 3M / Cheap - PIR, contact de porte
Oregon - 3x Thgr122Nx / Chacon - micromodule 200w, télécommande 3b et 16b, 2x module 1000w, détecteur de fumée, contact de porte, 2x prise 3500w / OWL - CM180 / TRC02 v2 RGB 3M / Cheap - PIR, contact de porte
-
chandler45
- Messages : 49
- Inscription : 09 mars 2015, 15:05
Re: Requete compteur / Stats
@manuloup : ah oups, désolé j'avais pas vu !... du coup effectivement tu dois être au courant ! 
Domoticz (dernière beta)
Raspberry Pi / RFXTrx433e
Sondes : 3 Sonde Oregon THN132N + 1 OWL Micro+ CM180
Interrupteurs : 3 Prises COCO (AWS APA3-1500R) + 3 Micro modules COCO AWS3500
Raspberry Pi / RFXTrx433e
Sondes : 3 Sonde Oregon THN132N + 1 OWL Micro+ CM180
Interrupteurs : 3 Prises COCO (AWS APA3-1500R) + 3 Micro modules COCO AWS3500
-
chandler45
- Messages : 49
- Inscription : 09 mars 2015, 15:05
Re: Requete compteur / Stats
@jackslayter : Effectivement j'ai eu ce problème là aussi... et je comprenais plus parce qu'il me semblait que je l'avais corrigé... Ce que j'ai effectivement fait, mais j'avais oublié ce point là sur la description de ma solution... désolé pour l'oubli 
Donc en plus du script principal, j'ai 2 scripts (script_device_bascule-CompteurHC.lua et script_device_bascule-CompteurHP.lua) qui permettent de mettre la conso instantanée à 0 lors de la bascule HC/HP... Maintenant je suis pas revenu dessus, mais il y a peut être moyen de le faire en moins de scripts...
script_device_bascule-CompteurHC.lua
script_device_bascule-CompteurHP.lua
Donc en plus du script principal, j'ai 2 scripts (script_device_bascule-CompteurHC.lua et script_device_bascule-CompteurHP.lua) qui permettent de mettre la conso instantanée à 0 lors de la bascule HC/HP... Maintenant je suis pas revenu dessus, mais il y a peut être moyen de le faire en moins de scripts...
script_device_bascule-CompteurHC.lua
Code : Tout sélectionner
local flagHC = uservariables['FlagHC']
local capteurCptHP = uservariables['CapteurCptHP']
local idxCptHP = uservariables['IdxCptHP']
function update(device, id, power, energy, index)
commandArray[index] = {['UpdateDevice'] = id .. "|0|" .. power .. ";" .. energy}
return
end
commandArray = {}
if (devicechanged[flagHC] == 'On') then
-- Mise à 0 de la conso intantanee du compteur HP
local consoInstantHP
local consoCumuleHP
consoInstantHP, consoCumuleHP = otherdevices_svalues[capteurCptHP]:match("([^;]+);([^;]+)")
consoInstantHP = 0
update(capteurCptHP, idxCptHP, consoInstantHP, consoCumuleHP, 1)
end
return commandArray
Code : Tout sélectionner
local flagHP = uservariables['FlagHP']
local capteurCptHC = uservariables['CapteurCptHC']
local idxCptHC = uservariables['IdxCptHC']
function update(device, id, power, energy, index)
commandArray[index] = {['UpdateDevice'] = id .. "|0|" .. power .. ";" .. energy}
return
end
commandArray = {}
if (devicechanged[flagHP] == 'On') then
-- Mise à 0 de la conso intantanee du compteur HC
local consoInstantHC
local consoCumuleHC
consoInstantHC, consoCumuleHC = otherdevices_svalues[capteurCptHC]:match("([^;]+);([^;]+)")
consoInstantHC = 0
update(capteurCptHC, idxCptHC, consoInstantHC, consoCumuleHC, 1)
end
return commandArray
Domoticz (dernière beta)
Raspberry Pi / RFXTrx433e
Sondes : 3 Sonde Oregon THN132N + 1 OWL Micro+ CM180
Interrupteurs : 3 Prises COCO (AWS APA3-1500R) + 3 Micro modules COCO AWS3500
Raspberry Pi / RFXTrx433e
Sondes : 3 Sonde Oregon THN132N + 1 OWL Micro+ CM180
Interrupteurs : 3 Prises COCO (AWS APA3-1500R) + 3 Micro modules COCO AWS3500
-
jackslayter
- Messages : 1040
- Inscription : 30 sept. 2014, 14:40
- Localisation : Isère (38)
Re: Requete compteur / Stats
vala
Code : Tout sélectionner
--script /domoticz/scripts/lua/script_device_compteurHC-HP.lua
local capteurGlobal = uservariables['CapteurGlobal']
local capteurCptHP = uservariables['CapteurCptHP']
local capteurCptHC = uservariables['CapteurCptHC']
local idxCptHP = uservariables['IdxCptHP']
local idxCptHC = uservariables['IdxCptHC']
local flagHC = uservariables['FlagHC']
local flagHP = uservariables['FlagHP']
local lastValueCptElecGlobal = uservariables['LastValueCptElecGlobal']
local debug = uservariables['debug']
function update(device, id, power, energy, index)
commandArray[index] = {['UpdateDevice'] = id .. "|0|" .. power .. ";" .. energy}
return
end
commandArray = {}
-- On prend en compte a chaque changement de valeur du compteur global
if (devicechanged[capteurGlobal]) then
if (debug == 'OUI') then
print('-- Calcul Compteurs HC / HP --')
print('CapteurGlobal = '..capteurGlobal)
print('CapteurCptHP = '..capteurCptHP)
print('CapteurCptHC = '..capteurCptHC)
print('idxCptHP = '..tostring(idxCptHP))
print('idxCptHC = '..tostring(idxCptHC))
print('flagHP = '..tostring(flagHP))
print('flagHC = '..tostring(flagHC))
print('LastValueCptElecGlobal = '..tostring(lastValueCptElecGlobal))
end
-- Recuperation des valeurs du compteur global
local consoCumule
local consoInstant
consoInstant, consoCumule = otherdevices_svalues[capteurGlobal]:match("([^;]+);([^;]+)")
consoInstant = tonumber(consoInstant)
consoCumule = tonumber(consoCumule)
if (debug == 'OUI') then
print('Conso Instant = '..tostring(consoInstant)..' / Conso Cumule = '..tostring(consoCumule)..' ')
end
-- Calcul de l'ecart avec le dernier envoi de donnees
lastValueCptElecGlobal = tonumber(lastValueCptElecGlobal)
local consoDelta = consoCumule - lastValueCptElecGlobal
if (debug == 'OUI') then
print('Delta conso = '..tostring(consoDelta))
end
local consoCumuleCible
local consoInstantCible
if (otherdevices[flagHC] == 'On') then
-- Periode heures creuse
-- Recuperation des valeurs du compteur global
consoInstantCible, consoCumuleCible = otherdevices_svalues[capteurCptHC]:match("([^;]+);([^;]+)")
-- Seul le cumule du compteur nous interesse pour calculer la nouvelle valeur
consoCumuleCible = tonumber(consoCumuleCible)
if (debug == 'OUI') then
print('Compteur cible = HC')
print('Valeur precedente = '..tostring(consoCumuleCible))
print('Valeur ajustee = '..tostring(consoCumuleCible + consoDelta))
end
consoCumuleCible = consoCumuleCible + consoDelta
-- Mise à jour du compteur
update(capteurCptHC, idxCptHC, consoInstant, consoCumuleCible, 1)
-- Mise à 0 de la conso intantanee du compteur HP
consoInstantHP, consoCumuleHP = otherdevices_svalues[capteurCptHP]:match("([^;]+);([^;]+)")
consoInstantHP = 0
update(capteurCptHP, idxCptHP, consoInstantHP, consoCumuleHP, 2)
else
-- Periode heures pleines
-- Recuperation des valeurs du compteur global
consoInstantCible, consoCumuleCible = otherdevices_svalues[capteurCptHP]:match("([^;]+);([^;]+)")
-- Seul le cumule du compteur nous interesse pour calculer la nouvelle valeur
consoCumuleCible = tonumber(consoCumuleCible)
if (debug == 'OUI') then
print('Compteur cible = HP')
print('Valeur precedente = '..tostring(consoCumuleCible))
print('Valeur ajustee = '..tostring(consoCumuleCible + consoDelta))
end
consoCumuleCible = consoCumuleCible + consoDelta
-- Mise à jour du compteur
update(capteurCptHP, idxCptHP, consoInstant, consoCumuleCible, 3)
-- Mise à 0 de la conso intantanee du compteur HC
consoInstantHC, consoCumuleHC = otherdevices_svalues[capteurCptHC]:match("([^;]+);([^;]+)")
consoInstantHC = 0
update(capteurCptHC, idxCptHC, consoInstantHC, consoCumuleHC, 4)
end
-- Sauvegarde de la valeur du compteur global pour prochain calcul
commandArray['Variable:LastValueCptElecGlobal'] = tostring(consoCumule)
if (debug == 'OUI') then
print('-- Fin Calcul Compteur HC / HP --')
end
end
return commandArray
Raspberry Pi + RFLink + Domoticz Beta
Oregon - 3x Thgr122Nx / Chacon - micromodule 200w, télécommande 3b et 16b, 2x module 1000w, détecteur de fumée, contact de porte, 2x prise 3500w / OWL - CM180 / TRC02 v2 RGB 3M / Cheap - PIR, contact de porte
Oregon - 3x Thgr122Nx / Chacon - micromodule 200w, télécommande 3b et 16b, 2x module 1000w, détecteur de fumée, contact de porte, 2x prise 3500w / OWL - CM180 / TRC02 v2 RGB 3M / Cheap - PIR, contact de porte
-
chandler45
- Messages : 49
- Inscription : 09 mars 2015, 15:05
Re: Requete compteur / Stats
Super !!! Merci, je vais mettre ça en place de suite !
Parce que moins de scripts c'est quand même plus facile. Ca évite d'en oublier quand on fait une modif... ou quand on explique le fonctionnement sur un forum !!
Au passage, je vois que tu as aussi un CM180... Est ce qu'il t'arrive d'avoir des valeurs "farfelues" par moment ? soit juste à l'affichage, soit des fois qui viennent pourrir les stats (des valeurs en millions voir plus sur 1 ou 2 relevés)...
Parce que moins de scripts c'est quand même plus facile. Ca évite d'en oublier quand on fait une modif... ou quand on explique le fonctionnement sur un forum !!
Au passage, je vois que tu as aussi un CM180... Est ce qu'il t'arrive d'avoir des valeurs "farfelues" par moment ? soit juste à l'affichage, soit des fois qui viennent pourrir les stats (des valeurs en millions voir plus sur 1 ou 2 relevés)...
Domoticz (dernière beta)
Raspberry Pi / RFXTrx433e
Sondes : 3 Sonde Oregon THN132N + 1 OWL Micro+ CM180
Interrupteurs : 3 Prises COCO (AWS APA3-1500R) + 3 Micro modules COCO AWS3500
Raspberry Pi / RFXTrx433e
Sondes : 3 Sonde Oregon THN132N + 1 OWL Micro+ CM180
Interrupteurs : 3 Prises COCO (AWS APA3-1500R) + 3 Micro modules COCO AWS3500
-
jackslayter
- Messages : 1040
- Inscription : 30 sept. 2014, 14:40
- Localisation : Isère (38)
Re: Requete compteur / Stats
peut être à mettre dans les tutos
Raspberry Pi + RFLink + Domoticz Beta
Oregon - 3x Thgr122Nx / Chacon - micromodule 200w, télécommande 3b et 16b, 2x module 1000w, détecteur de fumée, contact de porte, 2x prise 3500w / OWL - CM180 / TRC02 v2 RGB 3M / Cheap - PIR, contact de porte
Oregon - 3x Thgr122Nx / Chacon - micromodule 200w, télécommande 3b et 16b, 2x module 1000w, détecteur de fumée, contact de porte, 2x prise 3500w / OWL - CM180 / TRC02 v2 RGB 3M / Cheap - PIR, contact de porte
-
chandler45
- Messages : 49
- Inscription : 09 mars 2015, 15:05
Re: Requete compteur / Stats
Oui tu as raison... Je m'en occupe dans l'après midi ! 
Domoticz (dernière beta)
Raspberry Pi / RFXTrx433e
Sondes : 3 Sonde Oregon THN132N + 1 OWL Micro+ CM180
Interrupteurs : 3 Prises COCO (AWS APA3-1500R) + 3 Micro modules COCO AWS3500
Raspberry Pi / RFXTrx433e
Sondes : 3 Sonde Oregon THN132N + 1 OWL Micro+ CM180
Interrupteurs : 3 Prises COCO (AWS APA3-1500R) + 3 Micro modules COCO AWS3500
Re: Requete compteur / Stats
Bonjour,
Je n'ai jamais utilisé de script de ce type. C'est possible de faire un tuto complet pour expliquer où le mettre, screenshots etc ? Ca serait top.
Merci !
Bonne journée.
Manu
Je n'ai jamais utilisé de script de ce type. C'est possible de faire un tuto complet pour expliquer où le mettre, screenshots etc ? Ca serait top.
Merci !
Bonne journée.
Manu
Synology DS920+ avec VM Debian 12, Aeon Labs Z-Stick Gen5, Aeon Zwave et devices zwaves , Teleinfo USB, devices Zigbee, batterie Marstek Venus E, Shelly Pro 3EM...