Dragoniacs Posté(e) le 20 août 2018 Signaler Posté(e) le 20 août 2018 Du coup si on veut temporiser l'exécution d'un VD on utilise sleep()?Envoyé de mon SM-A520F en utilisant Tapatalk
jjacques68 Posté(e) le 20 août 2018 Signaler Posté(e) le 20 août 2018 Il me semble que c’est déconseillé... Après si c’est une petite valeur quelques secondes ça doit aller.Envoyé de mon iPhone en utilisant Tapatalk Pro
Steven Posté(e) le 20 août 2018 Signaler Posté(e) le 20 août 2018 Mettre un sleep dans le Main Loop est une très mauvaise idée. Le main loop étant executé toutes les 3 secondes, c'est vite compliqué car le turnOn va s'exécuter toutes les 3 secondes pendant une minutes puisque le code ne vérifie que l'heure et les minutes (ex : 8:02) donc entre 8h02 et 8h03 il va s’exécuter une vingtaine de fois. Perso, j'utilise un code similaire à celui-ci pour temporiser mais "main loop" local nbMinute = 1 function doIt() -- VOTRE CODE -- fibaro:log(os.date("%d %B %Y - %H:%M:%S")) fibaro:call(fibaro:getSelfId(), "setProperty", "logTemp", "TxtGray" ) end if (not instance) then instance = { lastrun = os.time(), every = nbMinute } end diff = os.date("*t", os.difftime(os.time(), instance.lastrun)) if (diff.min >= instance.every) then doIt() instance.lastrun = os.time() end 2
jjacques68 Posté(e) le 20 août 2018 Signaler Posté(e) le 20 août 2018 Et pourquoi j’accede plus si site du forum depuis l’adsl ??????? Depuis quelques minutes !!Envoyé de mon iPhone en utilisant Tapatalk Pro
971jmd Posté(e) le 20 août 2018 Auteur Signaler Posté(e) le 20 août 2018 j’essaye d'aller plus loin avec les jour de la semain mai je pense qu'il manque une condition la lampe 14 s'allume bien a l'heure et s'éteint bien à l'heure même si je mes un jour différent de celui aujourd’hui local alarmClockDevice = fibaro:getSelfId() local currentDate = os.date("%H:%M") local currentDate2 = os.date("*t") ----Heur local heure = fibaro:getValue(423, "ui.lblTime.value") fibaro:debug(heure) local heure2 = fibaro:getValue(423, "ui.lblTime2.value") fibaro:debug(heure2) ----Date local date1 = fibaro:getValue(423, "ui.lblDays.value") fibaro:debug(date1) local date2 = fibaro:getValue(423, "ui.lblDays.value") fibaro:debug(date2) if currentDate == heure then fibaro:call(14, "turnOn") end if currentDate == heure2 then fibaro:call(14, "turnOff") end
jjacques68 Posté(e) le 20 août 2018 Signaler Posté(e) le 20 août 2018 Sans l’accès au forum depuis un pc je peux rien faire pour t’aider !! Le code est pas lisible dans Tapatalk Envoyé de mon iPhone en utilisant Tapatalk Pro
971jmd Posté(e) le 20 août 2018 Auteur Signaler Posté(e) le 20 août 2018 FIBARO voit les date comme ça si je me trompe pas (currentDate.wday == 1 or currentDate.wday == 2 or currentDate.wday == 3 or currentDate.wday == 4 or currentDate.wday == 5 or currentDate.wday == 6 or currentDate.wday == 7)
jjacques68 Posté(e) le 20 août 2018 Signaler Posté(e) le 20 août 2018 Mais les dates risquent d’être plus compliqué, notion de TimeStamp...Envoyé de mon iPhone en utilisant Tapatalk Pro
jjacques68 Posté(e) le 20 août 2018 Signaler Posté(e) le 20 août 2018 Nan il me semble que c’estlocal currentDate2 = os.date(´%w ‘)Avec 0 = dimanche et samedi = 6Envoyé de mon iPhone en utilisant Tapatalk Pro
971jmd Posté(e) le 20 août 2018 Auteur Signaler Posté(e) le 20 août 2018 oui %w – jour de la semaine, numérique, avec Dimanche = 0
971jmd Posté(e) le 20 août 2018 Auteur Signaler Posté(e) le 20 août 2018 (currentDate.wday == 1) dimanche (currentDate.wday == 2) lundi (currentDate.wday == 3) mardi (currentDate.wday == 4) mercredi (currentDate.wday == 5) jeudi (currentDate.wday == 6) vendredi (currentDate.wday == 7) samedi (currentDate.wday == 1) dimanche
jjacques68 Posté(e) le 20 août 2018 Signaler Posté(e) le 20 août 2018 1 = lundi....6 = samedi0 = dimanche Envoyé de mon iPhone en utilisant Tapatalk Pro
Steven Posté(e) le 20 août 2018 Signaler Posté(e) le 20 août 2018 local jours_en_anglais = os.date("%A") Retourne le jours de la semaine en anglais. Pour aujourd'hui, c'est donc "Monday".
971jmd Posté(e) le 20 août 2018 Auteur Signaler Posté(e) le 20 août 2018 non j'ai bien vérifier dimanche = 1
Steven Posté(e) le 20 août 2018 Signaler Posté(e) le 20 août 2018 Nous sommes LUNDI et le code retourne 1 donc désolé mais tu n'as pas bien vérifié, @jjacques68 a raison. Dimanche, nous étions le 19.08.2018 donc local dim = os.time{year=2018, month=8, day=19, hour=0} print(os.date("%w", dim)) le résultat est bien 0.
jjacques68 Posté(e) le 20 août 2018 Signaler Posté(e) le 20 août 2018 Alors la faut qu’on m’explique : Essayez ça :print(os.date(‘%w’)print(os.date(‘*t’).wday)Le premier renvoie 1Le deuxième renvoie 2????????Envoyé de mon iPhone en utilisant Tapatalk Pro
jjacques68 Posté(e) le 20 août 2018 Signaler Posté(e) le 20 août 2018 Et les admin !! Pitié !! Faites qqch pour l’accès au forum !!!!Envoyé de mon iPhone en utilisant Tapatalk Pro
jjacques68 Posté(e) le 20 août 2018 Signaler Posté(e) le 20 août 2018 Alors la faut qu’on m’explique : Alors en fait c’est comme ça, avec le paramètre *t dimanche = 1Avec le %w, dimanche = 0Encore logique ça ...Lu sur lua.org.Envoyé de mon iPhone en utilisant Tapatalk Pro
971jmd Posté(e) le 20 août 2018 Auteur Signaler Posté(e) le 20 août 2018 (modifié) voici comment j'ai vérifier currentDate.wday == 2) Modifié le 20 août 2018 par 971jmd
jjacques68 Posté(e) le 20 août 2018 Signaler Posté(e) le 20 août 2018 Oui, tout dépend de l’option envoyée à os.date()Envoyé de mon iPhone en utilisant Tapatalk Pro
jjacques68 Posté(e) le 20 août 2018 Signaler Posté(e) le 20 août 2018 On a tous raison dans l’histoire Envoyé de mon iPhone en utilisant Tapatalk Pro
Messages recommandés