gargamel01000 Posté(e) le 2 septembre 2016 Signaler Posté(e) le 2 septembre 2016 Bonjour à tous, Je sollicite votre aide pour un petit bout de code en lua. Je dispose actuellement de 7 sonos connect amp installés dans un rack qui consomment en moyenne 70 watts au repos. L'objectif est de pouvoir éteindre le système pendant les journées de travail, c'est à dire démarrage tous les jours du système multiroom à 17h00 et coupure à 08h00 si jour chomé = NON voici mon bout de code, pensez vous que cela puisse fonctionner --[[ %% autostart %% properties %% events %% globals JourChome --]] local currentDate = os.date("*t"); if ( ( ((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) and string.format("%02d", currentDate.hour) .. ":" .. string.format("%02d", currentDate.min) == "17:00") ) ) then fibaro:call(150, "turnOn"); end if ( ( fibaro:getGlobalValue("JourChome") == "NON" ) and ( ((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) and string.format("%02d", currentDate.hour) .. ":" .. string.format("%02d", currentDate.min) == "08:10") ) ) then fibaro:call(150, "turnOff"); end Merci pour votre aide
Steven Posté(e) le 2 septembre 2016 Signaler Posté(e) le 2 septembre 2016 Alors Ton script actuel ne fonctionnera que : Au démarrage de ta box ou sauvegarde de ton script Lorsque la variable JourChome va changer Donc à 17h00 et 8h00 rien ne se passera. Voici donc une proposition .. NON TESTEE mais que devrait te donner une bonne base, voir plus. --[[ %% autostart --]] while true do -- date du jours local currentDate = os.date("*t") -- heure actuel au format HH:mm local heure = string.format("%02d", currentDate.hour) .. ":" .. string.format("%02d", currentDate.min) -- jour de travail local jourdetravail = fibaro:getGlobalValue("JourChome") == "NON" if (heure == "17:00") then -- allumage fibaro:call(150, "turnOn") elseif (heure == "08:00" and jourdetravail) then -- éteindre fibaro:call(150, "turnOff") end -- on attend 1 minute fibaro:sleep(60*1000) end Cordialement
gargamel01000 Posté(e) le 2 septembre 2016 Auteur Signaler Posté(e) le 2 septembre 2016 Merci beaucoup, je teste ca
gargamel01000 Posté(e) le 6 septembre 2016 Auteur Signaler Posté(e) le 6 septembre 2016 Merci Steven ça fonctionne parfaitement
Messages recommandés