Aller au contenu

Scene ouverture automatique des volets


Recommended Posts

Hello tout le monde,

 

J'ai une scène écrite en mode blocs graphiques qui me permet de simuler l'ouverture de mes volets en cas d'absence avec une variable Simu_presence...

 

Les conditions sont :  tous les jours à 8h00 et variable Simu_presence = 1...

 

Que du basique, quoi...

 

Le problème est que les volets s'ouvrent systématiquement quelque soit l'heure dès que la variable passe à 1... 

 

C'est incompréhensible....

 

Ai je rater qque chose dans la mise en place de la scene en mode blocs... C'est vrai que j'ai très peu de scene en blocs graphiques.... Donc pas l'habitude de ce mode, mais bon , ça n'a pas l'air trop compliqué......

 

Et pourtant...

Lien vers le commentaire
Partager sur d’autres sites

--[[
%% autostart
%% properties
%% weather
%% events
%% globals
Simu_presence
--]]

local sourceTrigger = fibaro:getSourceTrigger();
function tempFunc()
local currentDate = os.date("*t");
local startSource = fibaro:getSourceTrigger();
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) == "07:21") )
and
 ( fibaro:getGlobalValue("Simu_presence") == "1" )
)
then
    fibaro:call(253, "open");
end

setTimeout(tempFunc, 60*1000)
end
if (sourceTrigger["type"] == "autostart") then
tempFunc()
else

local currentDate = os.date("*t");
local startSource = fibaro:getSourceTrigger();
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
 ( fibaro:getGlobalValue("Simu_presence") == "1" )
or
startSource["type"] == "other"
)
then
    fibaro:call(253, "open");
end

end

Lien vers le commentaire
Partager sur d’autres sites

Je viens de vérifier chez moi et j'ai une scène qui est quasiment la copie de la tienne (j'ai comparé le code LUA) et qui lance un simulateur d'aube et je n'ai pas ton pb....

Ma scène ne se déclenche qu'à l'heure indiquée et quand ma variable globale change d'état, je n'ai pas de déclenchement intempestif...

 

SimuPresence, c'est bien une variable globale ?

Lien vers le commentaire
Partager sur d’autres sites

Pour faire simple : j'ai une alarme paradox reliée à mon ipx800 qui quand j'enclenche l'alarme envoie un push sur ma hc2 (bouton virtuel) qui passe ma variable Simu_presence à 1...

 

J ai oté cette scene plusieurs fois et je l'ai recréee donc elle change d'ID à chaque fois .... Si un module que j'aurai oublié qque part lançait cette scene , ça ne marcherait pas puisque l'ID a changé...

 

Je sais pas si c'est clair....

 

Donc seul le paramètre variable presence_simu lance la scene...

A devenir fou...

Lien vers le commentaire
Partager sur d’autres sites

je viens de créer une autre scene avec une autre variable... Même conditions, Même problème...

C'est fou parce que la condition temps(heure) ne se déclenche que quand la variable est à 1 dons la hc2 tient compte des deux conditions 

alors que dès que la variable passe à 1, la scene démarre... sans tenir compte de la condition temps(heure)... donc ne tient compte que d'une condition...

Lien vers le commentaire
Partager sur d’autres sites

je continue mon auto analyse...

si je remplace la condition temps(heure) par une condition module (tv on par exemple), ça fonctionne !!! Il tient bien compte des deux conditions et le changement de variable ne lance pas la scene à elle seule..

 

Donc c'est la hc2 qui ne tient pas compte de la variable temps(heure)...

une idée?? ou j'ai oublié qque chose dans les déclencheurs...au dessus du mode bloc..??

Lien vers le commentaire
Partager sur d’autres sites

Ta HC2 est hantée...:angry:

 

Pour essayer dans les trucs à la onc, est ce que tu peux changer les valeurs prises par ta variable globale de déclenchement ?

C'est à dire au lieu d'utiliser les chiffres 0 et 1, d'utiliser les valeurs 'oui' et 'non' pour voir si cela fonctionne mieux ?

 

Maintenant que j'y pense, c'est bien une variable globale prédéfinie ?

Parce que dans mon cas, j'ai le même script lua que toi, (mais le mien fonctionne), mais j'utilise une variable globale prédéfinie (avec deux valeurs : oui/non).

Lien vers le commentaire
Partager sur d’autres sites

Figure toi que j'ai essayé avec variable prédéfinie et autre variable... C'est tout pareil..
Je pense que c'est la hc2 et la notion de temps qui ne va pas..
Pourtant quand il n'y a qu'une variable temps, ça marche.. Affreux, c'est affreux..

Envoyé de mon SM-G950F en utilisant Tapatalk

Lien vers le commentaire
Partager sur d’autres sites

Voilà, voilà :

 

--[[
%% autostart
%% properties
%% weather
%% events
%% globals
JourChome
--]]

local sourceTrigger = fibaro:getSourceTrigger();
function tempFunc()
local currentDate = os.date("*t");
local startSource = fibaro:getSourceTrigger();
if (
 ( ((currentDate.wday == 2 or currentDate.wday == 3 or currentDate.wday == 4 or currentDate.wday == 5 or currentDate.wday == 6) and string.format("%02d", currentDate.hour) .. ":" .. string.format("%02d", currentDate.min) == "07:00")  and  fibaro:getGlobalValue("JourChome") == "NON" )
)
then
    fibaro:call(72, "pressButton", "1");
end

setTimeout(tempFunc, 60*1000)
end
if (sourceTrigger["type"] == "autostart") then
tempFunc()
else

local currentDate = os.date("*t");
local startSource = fibaro:getSourceTrigger();
if (
 ( (currentDate.wday == 2 or currentDate.wday == 3 or currentDate.wday == 4 or currentDate.wday == 5 or currentDate.wday == 6)  and  fibaro:getGlobalValue("JourChome") == "NON" )
or
startSource["type"] == "other"
)
then
    fibaro:call(72, "pressButton", "1");
end

end

Lien vers le commentaire
Partager sur d’autres sites

×
×
  • Créer...