Bono2007 Posté(e) le 24 février 2015 Signaler Posté(e) le 24 février 2015 Bonsoir, ma 1e contribution, soyez indulgents. Si cela peut servir à quelqu'un. Je veux programmer un réglage du chauffage via des têtes TH et une vanne électrique. Pour cela la HC2 a besoin de savoir si je suis là ou au travail, et si je suis au rdc ou à l'étage. Comme cela je peux régler le chauffage à 16 si je suis au boulot, et quand je rentre, à 19 en bas, 16 à l'étage, et l'inverse quand je dois aller me coucher. Donc j'ai créé cela : local presMaison=true -- présence dans la maison ? local presRDC=true -- présence au rdc ? local hlevSem=0620;local hlevWE=0830 -- heures lever en semaine et le weekend local hcouSem=2300;local hcouWE=2330 -- heures coucher en semaine et le weekend local hdepW=0730;local hretW=1630 -- heures départ et retour travail local day = string.lower(os.date("%A")) local hour = tonumber(os.date("%H")..os.date("%M")) local day="tuesday" -- var pour tester le script local hour=1100 -- idem if (( day == "monday" or day =="friday" ) and ( hour > hdepW and hour < hretW )) then presMaison=false;end if (( day == "tuesday" or day == "wednesday" or day == "thursday" ) and ( hour > hdepW and hour < 1230 )) then presMaison=false; end; -- car ces jours là je termine à 12h30 if ( (presMaison) and ( day == "saturday" or day == "sunday" ) and ( hour > hlevWE and hour < hcouWE ) ) then PresRDC = true; else presRDC = false;end if ( (presMaison) and ( day == "monday" or day == "tuesday" or day == "wednesday" or day == "thursday" or day == "friday" ) and ( hour > hlevSem and hour < hcouSem )) then presRDC = true;end -- bilan if presMaison then fibaro:debug("presMaison=oui") else fibaro:debug("presMaison=non") end if presRDC then fibaro:debug("presRDC=ok"); else fibaro:debug("presRDC=non"); end On peut aussi procéder ainsi, mais j'ai trouvé la 1e méthode plus simple à programmer pour ma gestion des horaires plus complexe local weekjob = {"monday","tuesday","wednesday","thursday","friday"} local weekend = {"saturday","sunday"} for k,v in pairs(weekJob) do if ( v == day ) then presMaison=false; end
Messages recommandés