Probleme script pour liste de dates
Publié : 30 sept. 2018, 21:59
Bonjour tout le monde.
Voilà plusieurs heures que je m'arrache les cheveux avec ce script. Je l'ai tiré d'un site mais il ne semble pas adapté parfaitement à notre LUA.
Je voudrais en fait entrer une liste de date et que le mon switch s'enclenche ou non en fonction de cette liste de date.
J'ai donc trouvé le script ci dessous mais il ne fonctionne pas.... Où se trouve mon erreur ?
Merci par avance
Je vous precise que j'ai créé les deux variables josdJourChomeToday et josdJourChomeReturn au cas ou mais ca ne change rien
Voilà plusieurs heures que je m'arrache les cheveux avec ce script. Je l'ai tiré d'un site mais il ne semble pas adapté parfaitement à notre LUA.
Je voudrais en fait entrer une liste de date et que le mon switch s'enclenche ou non en fonction de cette liste de date.
J'ai donc trouvé le script ci dessous mais il ne fonctionne pas.... Où se trouve mon erreur ?
Merci par avance
Code : Tout sélectionner
weekend=uservariables["weekend"]
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)
secondes = string.sub(s, 18, 19)
t1 = os.time()
t2 = os.time{year=year, month=month, day=day, hour=hour, min=minutes, sec=seconds}
t3 = os.date("%H:%M")
date1 = os.date ("%x")
difference = os.difftime(t1, t2)
---switchs :
local SCE='Seche Serviette SDB Etage'
local SCRDC='Seche Serviette SDB RDC'
local ZoneVacances='Zone C'
local Absent='Vacances'
commandArray = {}
-- Retourne true si le jour courant est un jour chômé (passé à la maison)
-- Le calcul effectif n'est fait qu'une fois par jour (ou si la Vera reboot)
josdJourChomeToday="NULL" -- Variable globale (date du dernier calcul) pour ne pas recalculer le résultat à chaque appel
josdJourChomeReturn=false -- Variable globale (résulat du dernier calcul) pour ne pas recalculer le résultat à chaque appel
function josdJourChome()
local today=os.date("%Y-%m-%d")
if(today~=josdJourChomeToday) then -- Faut-il refaire le calcul ?
josdJourChomeToday=today
josdJourChomeReturn=(josdJourEnfants())
end
return josdJourChomeReturn
end
function josdJourEnfants()
local date1 = os.date ("%x")
local enfants=false
if (date1>="10/05/18" or date1<="10/06/18") then enfants=true
elseif (date1>="10/19/18" or date1<="10/25/18") then enfants=true
elseif (date1>="11/02/18" or date1<="11/03/18") then enfants=true
elseif (date1>="11/16/18" or date1<="11/17/18") then enfants=true
elseif (date1>="11/30/18" or date1<="11/01/18") then enfants=true
elseif date1=="09/30/18" then enfants=true
end
return enfants
end
if josdJourChomeReturn == 'true' then
print ("cool ca marche !!!") --cette etape me sert à voir si mon script fonctionne mais elle ne passe pas...
end
--Ce qui suit fonctionne
if t3 == '17:10' and otherdevices[SCE] == 'Off' and otherdevices[ZoneVacances]=='Off' and weekend == 'non' and otherdevices[Absent] == 'Off' then
print("Mise en route Seche Serviette RDC pour 1H30")
commandArray[SCE] = 'On FOR 60'
elseif
t3 == '21:30' and otherdevices[SCRDC] == 'Off' and otherdevices[Absent] == 'Off' then
print("Mise en route Seche Serviette RDC pour 1H00")
commandArray[SCRDC] = 'On FOR 60'
end
return commandArray