Script Compteur Incrémental Temps
Publié : 09 avr. 2018, 14:32
Re bonjour à tous.
Alors j'ai domotisé ma VMC, j'ai créé un compteur incrémental virtuel (counter, temps, minutes) et un scrip qui me l'incrémente.
Tout marche bien, enfin presque....
le compteur s'incrémente bien, SAUF l'histogramme de la "semaine passée" qui reste à 0. Si quelqu'un à une idée pour me dépanner....., je suis preneur.
J'ai fait sur le même principe des compteurs pour mes chauffages et j'ai le même problème.... Je ne sais pas d'ou ça peur venir.
Voici mon script:
Alors j'ai domotisé ma VMC, j'ai créé un compteur incrémental virtuel (counter, temps, minutes) et un scrip qui me l'incrémente.
Tout marche bien, enfin presque....
le compteur s'incrémente bien, SAUF l'histogramme de la "semaine passée" qui reste à 0. Si quelqu'un à une idée pour me dépanner....., je suis preneur.
J'ai fait sur le même principe des compteurs pour mes chauffages et j'ai le même problème.... Je ne sais pas d'ou ça peur venir.
Voici mon script:
Code : Tout sélectionner
-----------------------------------------------------------------------------------------------------
-- Durée fonctionnement VMC -------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------
-- 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: "Compteur VMC", type décimal, valeur départ :0 et un counter , offset:0, type Temps, Mn
----------------------------------------------------------------------------------------------------
------ Variables à éditer --------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
local switch = 'VMC' -- Nom de l'interrupteur dans Domoticz
local counter = 214 -- Numéro idx du Counter Incremental dans Domoticz (VMC H, 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 "Compteur VMC" --
if (otherdevices[switch]=='On') then
commandArray['Variable:Compteur VMC']= tostring(uservariables['Compteur VMC'] +1)
end
-- Envoi de la variable valeur Compteur VMC dans le Custom Counter Valeur_Compteur --
Valeur_Compteur = tostring(uservariables['Compteur VMC'])
-- 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 VMC "..Valeur_Compteur.." Minutes".." // "..math.floor((Valeur_Compteur/60)).. " Heures")
print("")
end
return commandArray