Bonjour,
me voilà de nouveau avec mon problème d'escalier.
Merci encore pour les explications et voilà le résultat.
Je viens d'uploader les vidéos, j'espère qu'elles ne sont pas trop lourdes et qu'elles vont apparaitre sur le site.
Une vidéo pour une détection de présence en haut des escaliers (les marches s'éclairent de haut en bas)
Une vidéo pour une détection en bas des escaliers (les marches s'éclairent de bas en haut)
Alors ça, c'est ce qui se passe lorsque je lance la scène depuis l'interface fibaro et c'est ce que je voudrais qu'il se passe.
mais en pratique c'est différent:
En effet, j'ai suivi tes conseils Lazer et j'ai transformé ma scène blocs graphiques en LUA : super, cela m'a permis de transformer les secondes en millième de secondes.
Maintenant c'est un autre problème qui se pose.
En lisant la scène en LUA ci-dessous, vous pouvez constater que pour que la scène se déclenche il faut que :
La lumière des détecteurs soit inférieure à 5 lumens, que la marche 1 soit éteinte, que le détecteur de mouvement haut soit en alerte et alors les marches s'allument avec un intervalle d'un centième de seconde puis s'éteignent après dix secondes dans un intervalle d'un centième de secondes également
La condition que la marche 1 soit éteinte était selon moi la solution pour que lorsque je passerai dans l'escalier l'autre scène (celle qui détecte le mouvement en bas de l'escalier) ne se déclenche pas.
Et bien cela ne fonctionne pas car lorsque je passe dans l'escalier et bien forcément je passe devant les deux détecteurs (haut et bas) et cela provoque ce qu'on peut constater dans la dernière vidéo, c'est à dire que les deux scènes se déclenchent et provoque une extinction des marches anarchique.
Voilà, j'espère avoir été clair dans mes explications.
Par avance, merci pour vos conseils.
--[[
%% properties
275 value
280 value
352 value
344 value
%% weather
%% events
%% globals
--]]
local startSource = fibaro:getSourceTrigger();
if (
( tonumber(fibaro:getValue(275, "value")) < 5 or tonumber(fibaro:getValue(280, "value")) < 5 )
and
( tonumber(fibaro:getValue(352, "value")) > 0 )
and
( tonumber(fibaro:getValue(344, "value")) == 0 )
or
startSource["type"] == "other"
)
then
fibaro:call(338, "turnOn");
setTimeout(function()
fibaro:call(336, "turnOn");
end, 100)
setTimeout(function()
fibaro:call(334, "turnOn");
end, 200)
setTimeout(function()
fibaro:call(332, "turnOn");
end, 300)
setTimeout(function()
fibaro:call(342, "turnOn");
end, 400)
setTimeout(function()
fibaro:call(340, "turnOn");
end, 500)
setTimeout(function()
fibaro:call(350, "turnOn");
end, 600)
setTimeout(function()
fibaro:call(348, "turnOn");
end, 700)
setTimeout(function()
fibaro:call(346, "turnOn");
end, 800)
setTimeout(function()
fibaro:call(344, "turnOn");
end, 900)
setTimeout(function()
fibaro:call(338, "turnOff");
end, 10000)
setTimeout(function()
fibaro:call(336, "turnOff");
end, 10100)
setTimeout(function()
fibaro:call(334, "turnOff");
end, 10200)
setTimeout(function()
fibaro:call(332, "turnOff");
end, 10300)
setTimeout(function()
fibaro:call(342, "turnOff");
end, 10400)
setTimeout(function()
fibaro:call(340, "turnOff");
end, 10500)
setTimeout(function()
fibaro:call(350, "turnOff");
end, 10600)
setTimeout(function()
fibaro:call(348, "turnOff");
end, 10700)
setTimeout(function()
fibaro:call(346, "turnOff");
end, 10800)
setTimeout(function()
fibaro:call(344, "turnOff");
end, 10900)
end
VID_20180528_121010.mp4
VID_20180528_120949.mp4
VID_20180528_123512.mp4