first commit

This commit is contained in:
Souti
2025-03-06 11:09:58 +01:00
commit 11f7d440ff
330 changed files with 38306 additions and 0 deletions

112
lua/test.lua Executable file
View File

@@ -0,0 +1,112 @@
-- script domoticz/scripts/lua/script_device_compteurHC-HP.lua
-- Initialisation des variables locales
local capteurGlobal = uservariables['Capteur électricité']
local capteurCptHP = uservariables['ConsoCapteurHP']
local capteurCptHC = uservariables['ConsoCapteurHC']
local idxCptHP = uservariables['IdxCptHP']
local idxCptHC = uservariables['IdxCptHC']
local flagHC = uservariables['FlagHC']
local flagHP = uservariables['FlagHP']
local lastValueCptElecGlobal = uservariables['LastValueCptElecGlobal']
-- Mode debug Oui / Non
local debug = uservariables['debug']
-- Fonction de mise à jour
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