xavier49300 Posté(e) le 29 décembre 2016 Signaler Posté(e) le 29 décembre 2016 (modifié) Bonjour, je viens de la part de domotique store ;-) j'ai un problème avec mon scénario ci-dessous, qui fonctionne qu'a moitié, je n'ai que le lever sans les 60min . j'aimerai ouvrir et fermer mes volet roulant en fonction du lever + 60min après et du coucher + 60 min après du soleil. Si vous avez une idée de correction je suis preneur, merci pour votre aide. commande LUA ci-dessous: (merci pour votre aide) --[[ %% autostart %% properties %% globals --]] local sourceTrigger = fibaro:getSourceTrigger(); local heure = os.date("%H:%M"); local lever = string.format(fibaro:getValue(1, "sunriseHour")); local coucher = string.format(fibaro:getValue(1, "sunsetHour")); fibaro:debug("Démarrage du Gestion Automatisée des volets"); --Affichage de l'heure de couché de soleil au démarrage du script: fibaro:debug(" Lancement : Heure de levé de soleil : "..lever); fibaro:debug(" Lancement : Heure de couché de soleil : "..coucher); fibaro:debug("----------------------------------------------------------------------------------"); if (sourceTrigger["type"] == "autostart") then while true do local currentDate = os.date("*t"); local startSource = fibaro:getSourceTrigger(); -- Test OUVERTURE if ( -- à 8H55 --string.format("%02d", currentDate.hour) .. ":" .. string.format("%02d", currentDate.min) == "08:55" -- ou à l'heure du lever de soleil : -- os.date("%H:%M", os.time()-140*60) == fibaro:getValue(1, "sunriseHour") -- ou à l'heure du lever de soleil + 140 minutes: os.date("%H:%M", os.time()+60*60) == fibaro:getValue(1, "sunriseHour") ) then -- Ouverture des Volets local currentHour = string.format("%02d", currentDate.hour); fibaro:debug(" Lancement ouverture volet : "..currentHour); fibaro:call(5, "open"); fibaro:call(5, "setValue2", "99"); fibaro:call(83, "open"); fibaro:call(83, "setValue2", "99"); fibaro:call(192, "open"); fibaro:call(192, "setValue2", "99"); fibaro:call(109, "open"); fibaro:call(109, "setValue2", "99"); fibaro:call(43, "open"); fibaro:call(43, "setValue2", "99"); fibaro:call(45, "open"); fibaro:call(45, "setValue2", "99"); end -- Test FERMETURE if ( -- Test si heure = heure de coucher de soleil + 60 minutes os.date("%H:%M", os.time()+60*60) == fibaro:getValue(1, "sunsetHour") ) then -- Fermeture des volets -- tu mets tes commandes LUA pour fermer tes volets local currentHour = string.format("%02d", currentDate.hour); fibaro:debug(" Lancement fermeture volet : "..currentHour); fibaro:call(5, "close"); fibaro:call(83, "close"); fibaro:call(45, "close"); fibaro:call(192, "close"); fibaro:call(109, "close"); fibaro:call(87, "close"); fibaro:call(43, "close"); end fibaro:sleep(60*1000); end else local currentDate = os.date("*t"); local startSource = fibaro:getSourceTrigger(); end Modifié le 29 décembre 2016 par xavier49300
mprinfo Posté(e) le 29 décembre 2016 Signaler Posté(e) le 29 décembre 2016 Regarde sur le forum j'ai fais un script du genre je sais plus où cela ce trouve Envoyé de mon SM-G901F en utilisant Tapatalk
mprinfo Posté(e) le 29 décembre 2016 Signaler Posté(e) le 29 décembre 2016 https://www.domotique-fibaro.fr/topic/4218-sunrisehour-sunsethour-osdate-et-variable-jour_nuit/Envoyé de mon SM-G901F en utilisant Tapatalk
xavier49300 Posté(e) le 29 décembre 2016 Auteur Signaler Posté(e) le 29 décembre 2016 mprinfo, merci pour ton aide. peux tu faire une correction de la commande LUA directement stp, je pense que je suis pas loin du mon but, je pense que ces lignes qui déconnes : -- Test si heure = heure de coucher de soleil + 60 minutes os.date("%H:%M", os.time()+60*60) == fibaro:getValue(1, "sunsetHour") ET -- ou à l'heure du lever de soleil + 140 minutes:(((j'ai plutôt mis 60 au lieu de 140))) os.date("%H:%M", os.time()+60*60) == fibaro:getValue(1, "sunriseHour")
Fanou Posté(e) le 1 janvier 2017 Signaler Posté(e) le 1 janvier 2017 As tu tenter de creer en mode bloc et de le convertir ensuite en lua. Puis d'ajouter tes qlq modif ?Envoyé de mon SM-G928F en utilisant Tapatalk
Messages recommandés