Aller au contenu

Timer Sur Une Scène ...?


Rem's

Messages recommandés

Bonsoir,

 

Je ne sais pas comment faire pour céclencher cette cette à  Minuit.

Ce bout de code est dans un VD et me sert à  remettre à  zéro (click sur toutes les scènes, si désactivé) des scènes.

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

local selfId = fibaro:getSelfId();
local icon = fibaro:get (selfId, "deviceIcon");

fibaro:setSceneEnabled(85,true); -- Réveil Sem
fibaro:setSceneEnabled(86,true); -- Réveil WE
fibaro:debug("Réveil activé"); 
fibaro:setSceneEnabled(42,true); -- Couché du soleil Maison
fibaro:debug("Couché du soleil activé");
fibaro:setSceneEnabled(83,true); -- Zapping TV
fibaro:debug("Zapping activé"); 
-- fibaro:setSceneEnabled(106,true); -- Couché du soleil Terrasse
-- fibaro:debug("Couché du soleil Terrasse activé");
fibaro:call(81, "setProperty", "ui.status.value", "Remise à  zéro");
fibaro:debug(fibaro:getValue(81, "ui.status.value"))

fibaro:sleep(3*1000);
fibaro:call(selfId, "setProperty", "currentIcon", icon);

Pouvez vous m'aider ...? :D

 

D'avance merci

Modifié par Moicphil
Sujet déplacé dans la bonne section / bistrot vers Support HC2
Lien vers le commentaire
Partager sur d’autres sites

Voilà  ce que je ferai :

 

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

local sourceTrigger = fibaro:getSourceTrigger();
local heure = os.date("%H:%M");
local selfId = fibaro:getSelfId();
local icon = fibaro:get (selfId, "deviceIcon");

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 de Remise à  Zéro");
fibaro:debug(" ("..jour.." - "..heure..")");


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

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

        if
        (    -- à  00H01
            string.format("%02d", currentDate.hour) .. ":" .. string.format("%02d", currentDate.min) == "00:01" and
            (-- Test de tous les jours
                currentDate.wday == 7 or
                currentDate.wday == 1 or
                currentDate.wday == 2 or
                currentDate.wday == 3 or
                currentDate.wday == 4 or
                currentDate.wday == 5 or
                currentDate.wday == 6
            )
        )
        then
            fibaro:debug("---------------------");
            fibaro:debug("--- Début de RAZ ----");
            fibaro:setSceneEnabled(85,true); -- Réveil Sem
            fibaro:setSceneEnabled(86,true); -- Réveil WE
            fibaro:debug("Réveil activé");
            fibaro:setSceneEnabled(42,true); -- Couché du soleil Maison
            fibaro:debug("Couché du soleil activé");
            fibaro:setSceneEnabled(83,true); -- Zapping TV
            fibaro:debug("Zapping activé");
            -- fibaro:setSceneEnabled(106,true); -- Couché du soleil Terrasse
            -- fibaro:debug("Couché du soleil Terrasse activé");
            fibaro:call(81, "setProperty", "ui.status.value", "Remise à  zéro");
            fibaro:debug(fibaro:getValue(81, "ui.status.value"))
            
            fibaro:sleep(3*1000);
            fibaro:call(selfId, "setProperty", "currentIcon", icon);
            
            fibaro:debug("---  Fin de RAZ  ----");
        end
        fibaro:sleep(60*1000);
    end
else
    local currentDate = os.date("*t");
    local startSource = fibaro:getSourceTrigger();
end
 

 

 

A tester...

Lien vers le commentaire
Partager sur d’autres sites

De rien ;)

 

ce code est un peu adapté de mes scripts.... j'espère ne pas avoir fait de boulette...

 

Le plus important à  comprendre est ce bout de code :

        if
        (    -- à  00H01
            string.format("%02d", currentDate.hour) .. ":" .. string.format("%02d", currentDate.min) == "00:01" and
            (-- Test de tous les jours
                currentDate.wday == 7 or
                currentDate.wday == 1 or
                currentDate.wday == 2 or
                currentDate.wday == 3 or
                currentDate.wday == 4 or
                currentDate.wday == 5 or
                currentDate.wday == 6
            )
        )
        then
            fibaro:debug("---------------------");
            fibaro:debug("--- Début de RAZ ----");
            fibaro:setSceneEnabled(85,true); -- Réveil Sem
            fibaro:setSceneEnabled(86,true); -- Réveil WE
            fibaro:debug("Réveil activé");
            fibaro:setSceneEnabled(42,true); -- Couché du soleil Maison
            fibaro:debug("Couché du soleil activé");
            fibaro:setSceneEnabled(83,true); -- Zapping TV
            fibaro:debug("Zapping activé");
            -- fibaro:setSceneEnabled(106,true); -- Couché du soleil Terrasse
            -- fibaro:debug("Couché du soleil Terrasse activé");
            fibaro:call(81, "setProperty", "ui.status.value", "Remise à  zéro");
            fibaro:debug(fibaro:getValue(81, "ui.status.value"))
            
            fibaro:sleep(3*1000);
            fibaro:call(selfId, "setProperty", "currentIcon", icon);
            
            fibaro:debug("---  Fin de RAZ  ----");
        end
Lien vers le commentaire
Partager sur d’autres sites

Did,

J'ai un VD qui me sert à  activer (cocher "scène active") ou désactiver (décocher "scène active" + stop lecture en cours).

Le truc c'est que j'oublie de remettre en service pour le lendemain (donc ca ne marche pas et je m'en prend à  M. FIBARO).

 

Donc ce bout de code coche à  ma place ....

Lien vers le commentaire
Partager sur d’autres sites

Juste en complément ( ;))

 

Il est inutile de tester tous les jours si justement le script doit s’exécuter tous les jours, la partie suivante peut être supprimée

            (-- Test de tous les jours
                currentDate.wday == 7 or
                currentDate.wday == 1 or
                currentDate.wday == 2 or
                currentDate.wday == 3 or
                currentDate.wday == 4 or
                currentDate.wday == 5 or
                currentDate.wday == 6
            )

cette partie

else
    local currentDate = os.date("*t");
    local startSource = fibaro:getSourceTrigger();
end

idem.

Lien vers le commentaire
Partager sur d’autres sites

×
×
  • Créer...