Page 1 sur 1

Cherche script pour Cumul Journalier Compteur Electrique

Publié : 31 mars 2022, 09:58
par xbu05400
Bonjour ,
J'ai sous domoticz un OWL180 , celui-ci n'est pas fiable et je l'ai remplacé par un Legrand.
Le problème est que le Legrand est juste un compteur instantané , je voudrais retrouver comme avec l'OWL180 le cumul journalier et le cumul à la semaine .Je suis nul en script (j'ai juste programmé en Blocky) .

Si vous avez un script tout fait que je peux modifier ?

Merci
Xavier

Re: Cherche script pour Cumul Journalier Compteur Electrique

Publié : 01 avr. 2022, 08:21
par jackslayter
Bonjour,
tu peux regarder du coté de viewtopic.php?f=17&t=365
et voici mon script épuré.
A adapter mais les formules sont la

Code : Tout sélectionner

local capteurGlobal = 'cm180'
local CptHPHC = 'chchp' --de type "P1 smart meter, energy"
local flagHC = 'EDF Heure creuse' --dummy on/off
--variable a creer LastValueCptElecGlobal
lastValueCptElecGlobal, lastValueCptElecHP, lastValueCptElecHC = uservariables['LastValueCptElecGlobal']:match("([^;]+);([^;]+);([^;]+)")
time = os.date("*t")

commandArray = {}

-- On prend en compte  a chaque changement de valeur du compteur global
if (devicechanged[capteurGlobal]) then

    if (time.hour == 0 and time.min == 0) then
        -- commandArray[1] = {['UpdateDevice'] = otherdevices_idx[CptHPHC]..'|0|0;0;0;0;0;0' } --a activer si le cm180 a de nouvelle piles
        commandArray[10] = {['Variable:LastValueCptElecGlobal'] = tostring(lastValueCptElecGlobal)..";0;0"}
    end

   -- Recuperation des valeurs du compteur global
   local consoCumule
   local consoInstant
   consoInstant, consoCumule = otherdevices_svalues[capteurGlobal]:match("([^;]+);(%d+)")
   consoInstant = tonumber(consoInstant)
   consoCumule = tonumber(consoCumule)

   -- Calcul de l'ecart avec le dernier envoi de donnees
   lastValueCptElecGlobal = tonumber(lastValueCptElecGlobal)
   local consoDelta = consoCumule - lastValueCptElecGlobal

    if (otherdevices[flagHC] == 'On') then
	  ValueCptElecHC = lastValueCptElecHC + consoDelta
	  ValueCptElecHP = lastValueCptElecHP
	  commandArray[20] = {['UpdateDevice'] = otherdevices_idx[CptHPHC]..'|0|'.. ValueCptElecHP ..';'.. ValueCptElecHC ..';0;0;'.. consoInstant ..';0' }
    else
	  ValueCptElecHP = lastValueCptElecHP + consoDelta
	  ValueCptElecHC = lastValueCptElecHC
	  commandArray[30] = {['UpdateDevice'] = otherdevices_idx[CptHPHC]..'|0|'.. ValueCptElecHP ..';'.. ValueCptElecHC ..';0;0;'.. consoInstant ..';0' }
    end

   commandArray[40] = {['Variable:LastValueCptElecGlobal'] = tostring(consoCumule)..";"..tostring(ValueCptElecHP)..";"..tostring(ValueCptElecHC)}
end

return commandArray

Re: Cherche script pour Cumul Journalier Compteur Electrique

Publié : 01 avr. 2022, 09:45
par xbu05400
Merci , je vais regarder cela , je débute en Lua et donc j'ai pas mal de questions .

Est il fiable ton OWL 180 ? le miens de temps en temps bug , il passe dans ce cas avec des valeurs incohérentes et
j'ai vu plusieurs post concernant des pb avec .

Cdtl