Aller au contenu
oldelvis

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...

Partager ce message


Lien à poster
Partager sur d’autres sites

pourrait-on avoir une copie d'écran de ta scène bloc ?

Partager ce message


Lien à poster
Partager sur d’autres sites

as-tu bien coché la case dans l'onglet général "satart with Home Center " ?

Partager ce message


Lien à poster
Partager sur d’autres sites

Oui... Mais ce qui chagrine c est que la scene ne tient uniquement compte que du parametre variable Simu_presence... comme si la condition de l'heure ne servait à rien...

Partager ce message


Lien à poster
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

Partager ce message


Lien à poster
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 ?

Partager ce message


Lien à poster
Partager sur d’autres sites

Oui , qui peut prendre deux valeurs 0 et 1...

Envoyé de mon SM-G950F en utilisant Tapatalk

  • Upvote 1

Partager ce message


Lien à poster
Partager sur d’autres sites

C'est quoi qui fait changer ta variable globale ?  

Tu n'aurais pas un module qui lancerait directement la scène ?

Partager ce message


Lien à poster
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...

Partager ce message


Lien à poster
Partager sur d’autres sites

un petit restart de ta HC2 ?

Partager ce message


Lien à poster
Partager sur d’autres sites

Déjà fait, malheureusement.. Et je suis même passé à la dernière version du soft... Rien ne change..

Envoyé de mon SM-G950F en utilisant Tapatalk

Partager ce message


Lien à poster
Partager sur d’autres sites

je suis sec également. La seule chose que je puisse proposer, c'est d'envoyer un mail au support Fibaro ...

Partager ce message


Lien à poster
Partager sur d’autres sites

On est d accord que c'est pas moi qui débloque.. Merci..

Envoyé de mon SM-G950F en utilisant Tapatalk

Partager ce message


Lien à poster
Partager sur d’autres sites

toi ? ça m'aurait étonné.

Fibaro ? C'est normal ...

Partager ce message


Lien à poster
Partager sur d’autres sites

C'est pourtant une scene basique de domotique.... comprends pas...

 

Peut etre qu'il faut que je passe par GEA....que je n'ai jamais utilisé....

Partager ce message


Lien à poster
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...

Partager ce message


Lien à poster
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..??

Partager ce message


Lien à poster
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).

Partager ce message


Lien à poster
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

Partager ce message


Lien à poster
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

Partager ce message


Lien à poster
Partager sur d’autres sites

Merci bien.. Je regarderai ça en rentrant..

Envoyé de mon SM-G950F en utilisant Tapatalk

Partager ce message


Lien à poster
Partager sur d’autres sites

×