Aller au contenu

Conversion Block / Lua


Rem's

Messages recommandés

Mes cher amis,

Depuis tout ce temps, je ne sais toujours pas écrire une scène correctement, sans passer par le mode block, puis la convertir.

Le problème est que cela double le script, ce qui ne rend pas la lecture claire, en tout cas pour moi ....  :(

 

Quelqu'un aurait-il la gentillesse de m'écrire ce code, à  la façon des grands garçons, comme les pros quoi ... :huh: 

--[[
%% properties
%% globals
--]]

local sourceTrigger = fibaro:getSourceTrigger();
if (sourceTrigger["type"] == "autostart") then
while true do

local currentDate = os.date("*t");
local startSource = fibaro:getSourceTrigger();
if (
 ( ((currentDate.wday == 1 or currentDate.wday == 7) and string.format("%02d", currentDate.hour) .. ":" .. string.format("%02d", currentDate.min) == "19:15") )
)
then
	fibaro:call(90, "turnOn");
end

fibaro:sleep(60*1000);
end
else

local currentDate = os.date("*t");
local startSource = fibaro:getSourceTrigger();
if (
startSource["type"] == "other"
)
then
	fibaro:call(90, "turnOn");
end

end


Merci de votre aide ... :)

Lien vers le commentaire
Partager sur d’autres sites

Voilà ... A essayer :

 

--[[
%% autostart
%% properties
%% globals
--]]

local sourceTrigger = fibaro:getSourceTrigger();
local heure = os.date("%H:%M");

local jour ="";

if( os.date("*t").wday == 2 ) then jour = "Lundi"; end
if( os.date("*t").wday == 3 ) then jour = "Mardi"; end
if( os.date("*t").wday == 4 ) then jour = "Mercredi"; end
if( os.date("*t").wday == 5 ) then jour = "Jeudi"; end
if( os.date("*t").wday == 6 ) then jour = "Vendredi"; end
if( os.date("*t").wday == 7 ) then jour = "Samedi"; end
if( os.date("*t").wday == 1 ) then jour = "Dimanche"; end

fibaro:debug("Démarrage du Script Automatisée ");
fibaro:debug(" ("..jour.." - "..heure..")");


fibaro:debug("------------------------------------------------------------------------------------");

if (sourceTrigger["type"] == "autostart") then
    while true do
        local currentDate = os.date("*t");
        local startSource = fibaro:getSourceTrigger();

        if
        (    -- à  19H15
            string.format("%02d", currentDate.hour) .. ":" .. string.format("%02d", currentDate.min) == "19:15" and
            (-- Test de tous les DIMANCHE et SAMEDI
                currentDate.wday == 1 or
                currentDate.wday == 7
            )
        )
        then
            fibaro:call(90, "turnOn");
        end
        fibaro:sleep(60*1000);
    end
else
    local currentDate = os.date("*t");
    local startSource = fibaro:getSourceTrigger();
end
Lien vers le commentaire
Partager sur d’autres sites

×
×
  • Créer...