Page 1 sur 1
compteur HC HP
Publié : 19 févr. 2015, 09:35
par jackslayter
bonjour, j'ai fait un script pour compter la conso en heures pleines et creuses.
Code : Tout sélectionner
commandArray = {}
time = os.date("*t")
owl, total = otherdevices_svalues['cm180']:match("([^;]+);([^;]+)")
owl = tonumber(owl)
if devicechanged['cm180'] then
if (((time.hour > 1) and (time.hour < 7)) or ((time.hour > 11) and (time.hour < 13))) then
commandArray['UpdateDevice'] = '178|0|' .. owl
else
commandArray['UpdateDevice'] = '177|0|' .. owl
end
end
return commandArray
mais ça fait n'importe quoi, j'ai des valeurs à 10E18
avez vous vu quelque chose qui fait la même chose et qui marche
Re: compteur HC HP
Publié : 19 févr. 2015, 15:23
par jackslayter
petite question comme faire un compteur sous lua
Code : Tout sélectionner
totalhp = 0
totalhp = totalhp + 1
if (time.min == 59) then
print('totalhp ' .. totalhp)
--reset du compteur
bien sur ce code ne marche pas
merci
Re: compteur HC HP
Publié : 19 févr. 2015, 16:12
par patrice
Bonjour
Tu es sur que le time.min fait le job ?
Pas de bibliotheque à importer, c'est 59 ou "59" la valeur à tester
J'y ça, j'dis rien car le Lua ...
Re: compteur HC HP
Publié : 19 févr. 2015, 18:16
par jackslayter
En fait je veux compter les valeurs du cm180 pendant une heure
Envoyer le total et le remettre à zéro l'heure d'après
Re: compteur HC HP
Publié : 19 févr. 2015, 19:05
par vil1driver
@patrice,
time.min fait le job, d'ailleur il y a la série complète

year, month, day, hour, min, sec
mais uniquement si au début de ton script tu as mis
et oui tu testes direct la valeur 59 sans les guillemets
@jackslayter,
pour ton compteur lua il te faut une 'variable utilisateur', car lua ne mémorise rien.
à chaque fois que ton script est lancé, totalhp est remis à 0.
pour le premier script..essai comme ça :
Code : Tout sélectionner
owl, total = string.match(otherdevices_svalues['cm180'], "(%d+%.*%d*);(%d+%.*%d*)")
Re: compteur HC HP
Publié : 19 févr. 2015, 19:45
par jackslayter
Code : Tout sélectionner
mmandArray = {}
time = os.date("*t")
owl, total = string.match(otherdevices_svalues['cm180'], "(%d+%.*%d*);(%d+%.*%d*)")
owl = tonumber(owl)
if devicechanged['cm180'] then
if (((time.hour > 1) and (time.hour < 7)) or ((time.hour > 11) and (time.hour < 13 ))) then
-- compteur pour une heure
totalhc = totalhc + owl -- comment faire le compte ??
if (time.min == 59) then
commandArray['UpdateDevice'] = '181|0|' .. totalhc
-- reset du compteur
end
end
end
return commandArray
Re: compteur HC HP
Publié : 19 févr. 2015, 19:49
par vil1driver
configuration > plus d'options > variables utilisateurs
Re: compteur HC HP
Publié : 19 févr. 2015, 20:11
par jackslayter
j y ai pensé mais je croyais que l'on pourrait le faire avec des variables internes
Re: compteur HC HP
Publié : 19 févr. 2015, 21:36
par vil1driver
non elle ne sont valables que le temps d'exécution du script, au second lancement tout est oublié,
tu n'as pas le choix, il te faut stocker ta valeur dans une variable utilisateur ou un compteur virtuel.
Re: compteur HC HP
Publié : 13 mars 2015, 09:05
par jackslayter