Aller au contenu
juanitosolo

création scénario

Recommended Posts

Bonjour à tous,

je viens solliciter votre aide au sujet de la création d'un scénario...

Cela ne me semble pas insurmontable cependant je dois forcément omettre quelque chose...

Voici l'objectif:

lors de l'ouverture d une porte sur laquelle est posée un capteur fibaro door window sensor, je voudrais que la lumière sur laquelle est connectée un single switch s'allume. Cependant je voudrai ajouter une condition: que le motion sensor se situant dans une pièce adjacente détermine si la lumière doit rester allumée en cas de détection ou s 'éteindre sous une minute en cas d'absence de détection.

J'aimerai créer ce scénario en mode bloc... et si jamais trop compliqué à mettre en oeuvre en LUA dans ce cas...

Merci d'avance pour votre aide!

 

Le HC2 est en 4.530

Partager ce message


Lien à poster
Partager sur d’autres sites

en mode bloc tu devras faire 2 scènes :

  1. pour allumer la lampe
  2. pour l'éteindre après une minute si pas de détection de mvt

Partager ce message


Lien à poster
Partager sur d’autres sites

Alors...

j'ai tenté d 'appliquer ce que jojo m'a indiqué...

la scène d'allumage est ok (voir photo en pj).

Par contre, la scène d'extinction ne fonctionne pas... je ne vois pas ce que j ai manqué... (j ai volontairement ajouté en déclencheur à cette scène l'ouverture de porte car je ne veux pas que cette scène se lance en permanence... mais uniquement lorsque la porte s 'ouvre) je vous ai joint également en pj une capture de ce que j'ai fait pour cette scène.

Merci encore de votre attention

allumage.JPG

extinction auto.JPG

Partager ce message


Lien à poster
Partager sur d’autres sites

ta scène d'extinction fait ceci :

Quand la porte est ouverte depuis 60s (c'est long ...) ET qu'il y a du mat

ALORS ia lumière s'éteint.

 

Je ne comprend pas cette logique.

 

Peux-tu décrire en français ce que tu veux ?

Partager ce message


Lien à poster
Partager sur d’autres sites

Je suis à ce point à côté de la plaque??? Ca me désespère dans ce cas!!

Allez, je ravale ma fierté.

Voici ce que j'ai voulu faire en décrivant la scène:

la porte s 'ouvre, une pause de 60 secondes, ensuite le capteur de mouvement analyse s'il y a du monde (d'où la raison pour laquelle j'ai mis normal (absence de détection il me semble) sinon je dois mettre en alerte et dans ce cas cela veut dire qu'il détecte une présence et cela annule l'extinction), puis extinction de la lumière en cas d'absence de détection.

J'espère que j'ai été clair... j'avoue j'en doute un peu...

La finalité c'est quand la porte s'ouvre, il y a un laps de temps de 1 minute dans lequel le capteur de mouvement analyse si il y a une présence: si oui il laisse la lumière allumée, si non il éteint la lumière...

C'est peut être plus clair ainsi... 

Partager ce message


Lien à poster
Partager sur d’autres sites

je résume :

 

Quand la porte s'ouvre

Alors j'allume la lumière pandant 60 sec (quoi qu'il arrive)

PUIS si pas de détection de mvt (Dans quel délais après la minute ?) j'éteins la lumière

SINON je la laisse allumée pour un nouveau cycle de 60 sec et re-test de détection de mot, et on boule ?

Partager ce message


Lien à poster
Partager sur d’autres sites

En fait ce que je veux c'est que la lumière s'allume lors de l'ouverture de la porte PUIS le capteur de mouvement analyse au bout d'une minute après l'ouverture de la porte s'il y a du monde dans la pièce... si oui la lumière reste allumée et si non elle s'éteint. Sans faire de boucle.

Partager ce message


Lien à poster
Partager sur d’autres sites

le soucis, c'est qu'on ne sais pas commander un capteur de mot pour lui dire : analyse !

Mais il va analyser à une certaine fréquence (chez moi j'ai mis 15 sec pour économiser les piles), et si après la minute, il n'y a personne qui bouge (pile poil au moment où il analyse), il éteint la lumière alors qu'il y a des gens.

Je ferais comme suis,  :

créer une variable mot entrée avec 2 valeurs Yes et No

ensuite

scène BLOC 1 : détection de mvt

SI mvt

ALORS mettre variable à Yes

 

scène BLOC 2 : pas mvt

SI pas mvt pot 60 Sec (case rouge)

ALORS mettre variable à NO

 

scène LUA1 lumière

A la suite de ton code,

faire une boucle While (cherche la syntaxe exacte, je n'ai plus de box et je ne sait donc pas comment, mais ç'est possible)

La condition du While est Tant que la variable est à Yes.

on attends (sleep(60*1000))

et à la sortie du While, on éteint la lampe

Partager ce message


Lien à poster
Partager sur d’autres sites

Bonjour Jojo!

Alors... la variable while induit une boucle qui ne s'arrête qu en absence de détection il me semble. Or je ne veux pas cela, je souhaite que la lumière reste allumée jusqu'à extinction manuelle en cas de détection durant cette minute d analyse de présence.

J'ai bien créé les variables, cependant j'avoue que je suis un peu perdu  avec les différentes options entre armé / désarmé / en alerte /... dans cette scène il me semble logique de mettre "normal" et 60 secondes pour le capteur de mouvement pour signifier absence de mouvement durant cette période et donc éteindre la lumière... Non?

Dans le cas où une présence est détectée, la lumière reste allumée et la scène d extinction s 'annule

Modifié par juanitosolo

Partager ce message


Lien à poster
Partager sur d’autres sites
Il y a 4 heures, juanitosolo a dit :

je souhaite que la lumière reste allumée jusqu'à extinction manuelle en cas de détection durant cette minute d analyse de présence.

comprends pas, surtout la seconde partie de la phrase.

 

Il y a 4 heures, juanitosolo a dit :

je souhaite que la lumière reste allumée jusqu'à extinction manuelle

= jusque quand tu appuies sur l'interrupteur => pas besoins de scénario d'extinction.

 

Je n'ai plus de HC2/L depuis plus de 2 ans, alors il m'est très difficile de t'aider plus que ce dont je me souviens par coeur. Pour les différentes options armé / désarmé / en alerte /...  je sais qu'il y a une notion de porte ouverte et porte ouverte ET alarme activée. Mais je ne sais plus quoi correspond à quoi => doc ?

 

Partager ce message


Lien à poster
Partager sur d’autres sites

bon... zut...

alors j essaye autrement au cas où cela soit plus clair, ou que quelqu'un apporte sa contribution...

j'ouvre la porte la lumière s 'allume; ensuite le capteur de présence vérifie pendant une minute si quelqu'un est présent; 2 options: 1ere - y a personne et la lumière s'éteint / 2eme - il y a quelqu'un et la lumière reste allumée et dans ce cas, la lumière devra être éteinte avec l'interrupteur dès que la personne présente voudra éteindre.

En fait pour comprendre mon raisonnement imaginez une chambre d’hôtel, le client ouvre pour ENTRER dans la chambre et la lumière s'allume, sachant qu'il ENTRE et reste dans la chambre, le capteur détecte une présence et laisse la lumière allumée. Ca, c'est si le client ENTRE dans la chambre... Deuxième cas de figure: le client SORT de la chambre, la lumière s'allume en effet car la scène est liée à l'action d'ouvrir la porte (même si c'est pour en sortir il faut l'ouvrir...), MAIS c'est là où l'intérêt de vérifier une présence ou non avec le capteur entre en jeu: comme il ne détecte rien car le client est SORTI, la scène éteint la lumière...

Est-ce plus explicite ainsi?

Modifié par juanitosolo

Partager ce message


Lien à poster
Partager sur d’autres sites

ah oui, c'est BEAUCOUP plus clair.

Je peux te faire le raisonnement logique pour faire cela en bloc, mais pour les valeurs armé / désarmé / en alerte /..., il faudra faire des tests.

 

Il faut créer les variables suivantes :

  1. MVT : Yes / No
  2. CHECK : Yess / No

 

scène 1 allumer lumière :

SI porte ouverte

ALORS allumer lumière ET MVT = No ET CHECK = Yes ET CHECK = No (après 60 s, dans la case rouge)

 

scène 2 :

SI CHECK = Yes ET le détecteur détecte un mvt

ALORS MVT = Yes

 

scène 3 :

SI CHECK = No et MVT = No

ALORS Eteindre la lumière

 

scène n4 :

SI CHECK = No (après 1 s, dans la case rouge, pour être sûr que cette scène s'exécute après la 3)

ALORS MVT = No 

 

Je crois que ça devrait le faire

Partager ce message


Lien à poster
Partager sur d’autres sites

J'avoue que je nage un peu... la variable CHECK représente quoi?

Si j'ai bien compris, après la création des variables, il faut leur attribuer ce à quoi elle correspond non? 

Autant pour le MVT je comprends qu'il faut l'assimiler à la détection de mouvement ou non du motion sensor (YES et NO dans ton exemple).

Mais le CHECK, je lui attribue quoi?

Aussi, je ne vois pas comment ajouter une temporisation de 60 sec sur une variable (voir pièce jointe)

De toute manière je ne pourrait faire ça que Mardi...

Je suis désolé d' être une plaie à ce point!!!

J'aimerai vraiment comprendre la logique des créations de scènes chez Fibaro... De quelle manière as tu appris tout cela? As tu des compétences en programmation avant Fibaro ou es tu auto didacte?

Capture.JPG

Modifié par juanitosolo

Partager ce message


Lien à poster
Partager sur d’autres sites
il y a 47 minutes, juanitosolo a dit :

la variable CHECK représente quoi?

CHECK est la variable qui se met à Yes pot 60 s, puis redevient No.

Quand elle est à Yes, il fait les vérification des mvt, car si après 1 min, il ne détecte plus de mvt, il ne faut pas en tenir compte.

En fait tu ne doit pas attribuer les variables à qqch, dans ce cas ci ce sont les scènes qui modifiront la variable check.

 

Pour ma temporisation de la variable, ce n'est pas possible, mais on va être plus futé alors:P.

Je crois qu'il doit être possible de temporiser l'exécution d'un scène en mode bloc ?

 

Alors tu crées un scène 5 :

SI : tus fait n'importe quoi (car quand on demandera l'exécution manuelle de la scène, il ne vérifiera pas la condition)

ALORS CHECK = No

 

et tu modifies la scène 1 comme ceci :

scène 1 allumer lumière :

SI porte ouverte

ALORS allumer lumière ET MVT = No ET CHECK = Yes ET démarrer scène 5 (après 60 s, dans la case rouge)

Partager ce message


Lien à poster
Partager sur d’autres sites

Bonjour jojo, je suis en train de mettre en place ce que tu m'as indiqué.

J'ai bien tout paramétré cependant, pour la scène 4 que tu m'as demandé de faire, je ne peux pas temporiser la variable à 1 sec... Et je ne peux pas non plus mettre la scène 5 comme élément déclencheur car ce n'est possible uniquement que pour ALORS et non pas SI...

Une petite astuce pour contourner cela?

Je t'ai mis des captures d'écran en PJ.

Merci pour le temps que tu m'accordes...

Capture.JPG

Capture1.JPG

Partager ce message


Lien à poster
Partager sur d’autres sites

Bon ben j'ai trouvé une solution...

j'ai mis un déclenchement de module sans intérêt...

du coup ça fonctionne!

Merci 1000 fois jojo!!! T'imagines même pas à quel point ton conseil m'a été précieux!

Je te souhaite une excellente journée.

 

Capture2.JPG

Partager ce message


Lien à poster
Partager sur d’autres sites

Est-il envisageable de créer une seule scène en LUA pour toutes ces scènes?

En fait je dois la répéter de nombreuses fois...

Partager ce message


Lien à poster
Partager sur d’autres sites

×