Page 1 sur 1
modification uservariable
Publié : 09 janv. 2020, 11:38
par mauk59
Bonjour,
Je voudrais automatiser le lancement de ma cafetière en fonction de l'heure de mon réveil stocké dans une variable.
Je récupère l'heure de mon réveil dans ma variable Recup_alarme sour le format HH:MM. J'aimerai pouvoir faire un calcul sur cette variable.
Par exemple si la variable est de 07:00, je voudrais pouvoir lui retirer 15mn.
Je débute sur les langages Lua, donc je veux bien un petit peu d'aide
Merci pour votre aide précieuse !
Mauk
P.S. peut être que ce n'est pas en LUA qu'il faut le faire ?
Re: modification uservariable
Publié : 09 janv. 2020, 12:54
par J.M.B
Bonjour,
Voici 2 fonctions à intégrer à ton script pour calculer une somme ou une différence :
Code : Tout sélectionner
-------------------------------------------------------------------------------
--Fonction qui calcule et retourne la somme des horaires H1 et H2 (format string 'hh:mm')
-------------------------------------------------------------------------------
function SumTime(H1,H2)
local h1, h2, m1, m2 = string.sub(H1,1,2), string.sub(H2,1,2), string.sub(H1,4,5), string.sub(H2,4,5)
local t = tonumber(h1)*60 + tonumber(h2)*60 + tonumber(m1) + tonumber(m2)
local h, m = math.floor(t/60), math.fmod(t, 60)
if h>=24 then
h=h-24
end
local H, M = tostring(h), tostring(m)
if h<10 then
H = '0'..H
end
if m < 10 then
M = '0'..M
end
return H..':'..M
end
-------------------------------------------------------------------------------
--Fonction qui calcule et retourne la différence (H1 - H2) des horaires H1 et H2 (format string 'hh:mm')
-------------------------------------------------------------------------------
function DiffTime(H1,H2)
local h1, h2, m1, m2 = string.sub(H1,1,2), string.sub(H2,1,2), string.sub(H1,4,5), string.sub(H2,4,5)
local t = tonumber(h1)*60 - tonumber(h2)*60 + tonumber(m1) - tonumber(m2)
local h, m = math.floor(t/60), math.fmod(t, 60)
local H, M = tostring(h), tostring(m)
if h<10 then
H = '0'..H
end
if m < 10 then
M = '0'..M
end
return H..':'..M
end
Bonne journée.
Re: modification uservariable
Publié : 09 janv. 2020, 14:50
par mauk59
Bonjour,
Merci pour ton retour.
alors je suis vraiment débutant, du coup ma variable recup_alarme je la mets à quel endroit? et comment je spécifie ce que je veux retrancher (15mn)?
merci
Mauk
Re: modification uservariable
Publié : 11 janv. 2020, 09:40
par J.M.B
Bonjour,
Les 2 fonctions sont à intégrer au tout début du script.
Ensuite pour faire le calcul tu appelles la fonction avec les bons paramètres.
Par exemple pour enlever 15 min à ta variable recup_alarme :
ou si uservariable :
Code : Tout sélectionner
commandArray[#commandArray+1]={['Variable:recup_alarme']=DiffTime(uservariable['recup_alarme'],"00:15")}
Bon codage.