Quantcast
Channel: Domotique Info
Viewing all articles
Browse latest Browse all 261

Tuto Fibaro : Distinguer l’entrée de la sortie pour exécuter une scéne

$
0
0

Il peut être parfois intéressant dans nos scénarios domotique de distinguer différentes actions comme lorsque l’on rentre on que l’on sort d’une pièce. Par exemple pour la porte d’entrée et que l’on quitte la maison, nous souhaitons éteindre les lumières, fermer les volets, activer l’alarme… et lorsqu’on rentre l’inverse.

J’ai mis cela en place chez moi sur ma box Fibaro HC2, mais je pense que vous pourrez adapter l’idée sur l’ensemble des box.

Présentation

Il faut 2 modules à l’entrée de votre maison : Un détecteur d’ouverture de porte (tel que le FGK-101 de Fibaro) et un détecteur de mouvement (tel que le Motion Sensor Z-Wave+ de Fibaro).

/var/www/vhosts/domotique info.fr/httpdocs/wp content/uploads/2016/10/domotique info fgk101 w    motion

Je possédai déjà ces 2 modules pour détecter l’ouverture de la porte pour le 1er, et le second l’entrée étant un point de passage, cela permet aussi d’allumer la lumière automatiquement et de l’éteindre au bout de quelques secondes lorsqu’il n’y a plus personne.

Mais l’idée est venue d’utiliser les 2  pour détecter l’entrée ou la sortie de la maison. Pour cela il suffit de déterminer quel module a changé d’état en premier, sur le principe suivant :

  • Si la porte s’ouvre avant que le Motion Sensor détecte un mouvement, alors c’est qu’on rentre
  • Si le Motion Sensor avant que la porte s’ouvre, alors c’est qu’on sort
Préparation

Nous allons avoir besoin d’une variable globale que j’appelle ici « InOut ». Aller dans le menu Panneau de votre HC2, puis Panneau Variable. Puis créer une variable prédéfinies avec les 5 valeurs :

  • Entrée
  • Mouv
  • Porte
  • Rien
  • Sortie

La valeur par défaut doit être à « Rien »

/var/www/vhosts/domotique info.fr/httpdocs/wp content/uploads/2016/10/domotique info variable

Scénario

Dans le menu scène, créer un scénario que l’on appelle ici « Entrée Sortie »

Mettre les lignes suivantes au début du scénario pour indiquer les modules qui en changeant d’état vont lancer ce scénario

–[[
%% properties
108 value
188 value
%% events
%% globals
–]]

Modifier les valeurs 108 et 188 par l’Id de vos modules (ici le 108 correspond au détecteur de mouvement et le 188 à celui de la porte)

Maintenant on récupère

On récupère le statut des 2 modules et de la variable

local inout=fibaro:getGlobalValue(« InOut »)
local porte=fibaro:getValue(188, « value »)
local mouv=fibaro:getValue(108, « value »)

Les lignes suivantes permettent de déterminer si on rentre ou on sort :

— Le sensor vient de détecter un mouvement

if inout== »Rien » and mouv== »1″ then
fibaro:setGlobal(« InOut », « Mouv »);
end

— La porte vient de s’ouvrir

if inout== »Rien » and porte== »1″ then
fibaro:setGlobal(« InOut », « Porte »);
end

— Le motion sensor a détecté un mouvement, puis plus rien (mouv= »0″) et la porte ne s’est pas ouverte alors on repasse à rien lorsque le le sensor ne détecte plus de mouvement (c’est le cas lorsqu’on passe dans l’entrée sans sortir de la maison)

if inout== »Mouv » and mouv== »0″ then
fibaro:setGlobal(« InOut », « Rien »);
end

— La porte s’est ouverte puis refermée sans qu’il n’y ait eu de détection de mouvement, alors on repasse la variable à rien

if inout== »Porte » and porte== »0″ then
fibaro:setGlobal(« InOut », « Rien »);
end

— La porte s’est ouverte avant que l’on détecte un mouvement alors c’est une sortie

if inout== »Porte » and mouv== »1″ then
fibaro:setGlobal(« InOut », « Entrée »);

— Ajouter ici vos lignes de codes pour les actions suite à détection de l’entrée : allumer la lumière, ouverture des volets, dire un message de bienvenue sur votre tablette ou sonos, notifier sur vos smartphones,….

end

— Il y a eu un mouvement avant et la porte s’ouvre, alors c’est une sortie

if inout== »Mouv » and porte== »1″ then
fibaro:setGlobal(« InOut », « Sortie »);

— Ajouter ici vos lignes de codes pour les actions suite à détection de la sortie : éteindre la lumière, fermer les volets, dire un message d’au revoir sur votre tablette ou sonos, notifier sur vos smartphones,….

end

— On est entrée ou sortie, la porte est fermée et on ne détecte plus de mouvement alors on positionne la variable à « Rien »

if (inout== »Entrée » or inout== »Sortie ») and porte== »0″ and mouv== »0″ then
fibaro:setGlobal(« InOut », « Rien »);
end

Amusez-vous bien !

banner my domotique


Viewing all articles
Browse latest Browse all 261

Trending Articles