Bonjour,
Je cherche un petit script en blocky qui me permet de mesurer le temps de fct total (temps entre le off/on et le on/off) d'un radiateur électrique et de me l'afficher dans l'onglet Mesures par exemple.
Merci d'avance.
Calcul du temps de fct total
Calcul du temps de fct total
NUC sous Ubuntu Server / RFXCom / Domoticz Version: 2020.2
Re: Calcul du temps de fct total
Bonsoir,
Faute de blocky, ce script (de ce forum, à l'origine pour le calcul de la durée de fonctionnement d'une chaudière) me permet de connaître le temps de fonctionnement de ma VMC.
Il faut créer la variable utilisateur Total_compteur ( Reglage/Plus d'options/Variables utilisateur),
le "Counter" (Reglage/Materiel/créer des capteurs virtuels)
Aller dans Reglage/dispositifs pour connaître l'IDX du counter précédemment créé. (en l'occurrence 631 pour ma VMC)
Script Lua de type Time
cdt
Bertrand
Faute de blocky, ce script (de ce forum, à l'origine pour le calcul de la durée de fonctionnement d'une chaudière) me permet de connaître le temps de fonctionnement de ma VMC.
Il faut créer la variable utilisateur Total_compteur ( Reglage/Plus d'options/Variables utilisateur),
le "Counter" (Reglage/Materiel/créer des capteurs virtuels)
Aller dans Reglage/dispositifs pour connaître l'IDX du counter précédemment créé. (en l'occurrence 631 pour ma VMC)
Script Lua de type Time
Code : Tout sélectionner
-- Ce script permet de remonter la durée de fonctionnement d'un dispositif dans un capteur virtuel de type "Counter Incremental"
-- Pré requit, création variable utilisateur: "Total_compteur", type décimal, valeur départ :0 et un counter , offset:0, type Temps, Mn
--------------------------------Durée fonctionnement VMC
------ Variables à éditer ------
--------------------------------
local switch = 'VMC' -- Nom de l'interrupteur dans Domoticz
local counter = 631 -- Numéro idx du Counter Incremental dans Domoticz (Duree-Marche-Ventilation, Counter à créer, offset: 0 Temps, Mn)
local current_date = (os.date("%d/%m/%Y")) -- Date courante
local current_heure = (os.date("%X")) -- Heure courante
--------------------------------
-- Fin des variables à éditer --
--------------------------------
-------------------
-- Fonction time --
-------------------
time = os.date("*t")
function timedifference(d)
s = otherdevices_lastupdate[d]
year = string.sub(s, 1, 4)
month = string.sub(s, 6, 7)
day = string.sub(s, 9, 10)
hour = string.sub(s, 12, 13)
minutes = string.sub(s, 15, 16)
seconds = string.sub(s, 18, 19)
t1 = os.time()
t2 = os.time{year=year, month=month, day=day, hour=hour, min=minutes, sec=seconds}
difference = os.difftime (t1, t2)
return difference
end
------------------- --------------------
-- Fonction arrondir à deux décimales --
------------------- --------------------
-- Le chiffre"x" (dec or x) correspond au nombre de décimales à prendre en compte dans le resultat
function arrondir(num, dec)
if num == 0 then
return 0
else
local mult = 10^(dec or 2)
return math.floor(num * mult + 0.5) / mult
end
end
commandArray = {}
-----------------------------------------------------------------------------------------------------
--------------------Calcul du temps de fonctionnement de la VMC -------------------------------
-----------------------------------------------------------------------------------------------------
-- Si VMC ON incrémentation de la variable Domoticz "Total_compteur" --
if (otherdevices[switch]=='On') then
commandArray['Variable:Total_compteur']= tostring(uservariables["Total_compteur"] +1)
end
-- Envoi de la variable valeur Total_compteur dans le Custom Counter Valeur_Compteur --
Valeur_Compteur = tostring(uservariables["Total_compteur"])
-- Envoi de la valeur dans le compteur "counter" --
commandArray['UpdateDevice'] = counter .. '|0|' .. tostring(Valeur_Compteur)
-- Envoi des informations dans le LOG si VMC ON --
if (otherdevices[switch]=='On') then
print("")
print("Cumul du temps de fonctionnement de la ventilation "..Valeur_Compteur.." Minutes".." // "..math.floor((Valeur_Compteur/60)).. " Heures")
print("")
end
return commandArray
Bertrand
2024.6 PC Windows10 ; 2ème DEBIAN 10;DANFOSS LC13, Topp; Senseurs univ FIBARO FGBS001, Flood Sensor, ZMNHBD1 Flush 2 Relays ; FIBARO FGS222-FGS212;RFXCOM-RFXtrx433 USB 433.92MHz , Prises Phénix, Prises et Eclairage DI-O, SOMFY RTS,Sonoff ..