[LUA] C'est le Week-End

Vous avez créé un script LUA dont vous êtes fier, un .sh génial, un programme Python hors du commun, un Tuto, c'est ici que vous pouvez les partager.
Phebus06
Messages : 213
Inscription : 26 janv. 2017, 09:25

[LUA] C'est le Week-End

Message par Phebus06 »

Bonjour,

En farfouillant sur le net j'ai trouvé des scripts long et plutôt compliqué pour moi, par contre j'ai réussi à en sortir un script qui nous dit si c'est le week end ou pas.

J'ai créé un interrupteur On/Off qui va passer à On quand....c'est le Week-End et Off en semaine.
Perso je l'ai créé pour m'en servir dans des scénari avec Blocky ;)

C'est un script_time qui se lance tous les jours à 00h01

Code : Tout sélectionner

function IsWeekend()
     local dayNow = tonumber(os.date("%w"))
     local weekend
     if (dayNow == 0) or (dayNow == 6) then weekend = "True"
     else weekend = "False"
     end 
     return weekend
end

commandArray = {}
time=os.date("*t")
if (time.hour==00 and time.min==1) then

weekend = IsWeekend();
if (uservariables["Weekend"] ~= weekend) then 
commandArray['Week-End'] = 'On'
else commandArray['Week-End'] = 'Off'

end
end
return commandArray
Voili voilou...
si je me suis trompé quelque part n'hésitez pas à le corriger, car la j'attends lundi pour voir si l'interrupteur passe bien à Off LoL...
Dernière modification par Phebus06 le 02 oct. 2017, 18:22, modifié 1 fois.
vil1driver
Messages : 5661
Inscription : 30 janv. 2015, 11:07
Localisation : Rennes (35)

Re: Script Lua : C'est le Week-End

Message par vil1driver »

Salut,

Que vient faire ce uservariables dans ton code ?

Sinon pourquoi ne pas simplement avoir utilisé le planning de ton switch ?
MAJ = VIDER LE CACHE(<-Clicable)
/!\Les mises à jour de Domoticz sont souvent sources de difficultés, ne sautez pas dessus
modules.lua

Un ex domoticzien
Phebus06
Messages : 213
Inscription : 26 janv. 2017, 09:25

Re: Script Lua : C'est le Week-End

Message par Phebus06 »

c'était pour faire un script lol mais oui je peux le faire directement avec le planning interrupteur...

quand au script je ne comprend pas vraiment tout je bidouille jusqu'à ce que ça fonctionne ;)
Phebus06
Messages : 213
Inscription : 26 janv. 2017, 09:25

Re: Script Lua : C'est le Week-End

Message par Phebus06 »

Bon mon script ne fonctionne pas complètement lol

Il commute bien l'interrupteur à On le week end, mais il n'est pas repassé à Off ce matin...

Je vais essayer de corriger cela
vil1driver
Messages : 5661
Inscription : 30 janv. 2015, 11:07
Localisation : Rennes (35)

Re: Script Lua : C'est le Week-End

Message par vil1driver »

Ba ouai :D

Et aucun print dans ton code donc comment tu peux savoir ce qu'il s'y passe..
Et puis tu n'as pas tenu compte de ma remarque ;)
Donc ça ne pouvait pas fonctionner :D

C'était bien parti pourtant alors voici un coup de pouce

True et False ne se mettent pas entre guillemets
Teste directement ta fonction

Code : Tout sélectionner

if IsWeekend() then
MAJ = VIDER LE CACHE(<-Clicable)
/!\Les mises à jour de Domoticz sont souvent sources de difficultés, ne sautez pas dessus
modules.lua

Un ex domoticzien
Phebus06
Messages : 213
Inscription : 26 janv. 2017, 09:25

Re: Script Lua : C'est le Week-End

Message par Phebus06 »

Ok je fais ça dès ce soir ;)
Phebus06
Messages : 213
Inscription : 26 janv. 2017, 09:25

Re: Script Lua : C'est le Week-End

Message par Phebus06 »

Et le voici épuré :

Code : Tout sélectionner

commandArray = {}
time=os.date("*t")
if (time.hour==00 and time.min==1) then
--if time.min%1==0 then

print('lancement du script Is Week-End')

     local dayNow = tonumber(os.date("%w"))
print('dayNow : '..dayNow)

     if (dayNow == 0) or (dayNow == 6) then
     commandArray['Week-End'] = 'On'
     else commandArray['Week-End'] = 'Off'    
     end
     
print('fin')
end
return commandArray
Voilou :D
Répondre