Calaos, Home Automation Forum

Full Version: Scenario panique
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2 3
Bonjour a tous,

En cas de malaise, agression ou autre danger, je voudrais que le fait d'appuyer plus de 5 fois de suite sur n'importe quel bouton poussoir de la maison declenche un "scenario panique" pour lequel je pourrais definir certaines actions.  Comment je pourrais faire ca ?
Alors, les boutons poussoir peuvent recevoir maximum 3 appuis. A noter quand même, que 3 clic d'affilé  sur un bouton, il faut le vouloir, et pas être mourant :-)
Pour tester, tu peux:
- prendre un bouton de test dans Calaos Installer
- le convertir en bouton triple clic
- définir une règle sur l'appuis 3 fois, en mettant les allumages de lumières que tu veux.

Le fait de passer un bouton en double et triple clic ajoute un délai de réaction quand tu appuis dessus. C'est normal puisqu'il "attend" un peu histoire de voir s'il y a un autre appuis ensuite ou pas.

Si tu veux mettre la même action à plusieurs boutons, tu peux créer un scénario, et affecter ce scénario comme règle de tous les boutons.
En fait j'utilise deja certains poussoirs en appuis longs ou 3 clics.  Ce que je voudrais c'est garder les fonctionnalites existantes (car j'en ai besoin) mais ajouter une "couche" qui ferait des actions supplementaires en cas de plus de 5 appuis successifs.  Je n'ai pas encore pris le temps d'essayer les scripts LUA mais je pensais qu'il y avait moyen d'ecrire un script qui faisait ca. Possible ?

Question additionnelle : Comment ecrire une regle (dans un script ou non) qui prend en compte un groupe d'entrees ?  Par exemple, tous les poussoirs d'une piece ou tous les poussoirs de la maison ?
Pas de reponse j'en deduis que ca n'est pas possible ou pas simple...

Et avec Calaos v3 ?
En LUA ce la doit être possible en fesant un compteur pour compter les clics, mais à mon avis ça va être une usine à gaz
Je partage l'avis de Diouk. Comme indiqué les boutons poussoir gèrent 3 clic, pas 4 ni 5.
Après tu peux peut-être faire un compteur effectivement style:
- 3 clic sur un bouton: passe une variable Var_Compteur à TRUE
- 3 clic à nouveau et si Var_Compteur = TRUE alors déclenche ton scénario panique.
Ne pas oublier de repasser la variable à FALSE de temps en temps.
Mais bon... ça sent l'usine à gaz.

Pour les groupes, non pas à ma connaissance.
C'est plus ou moins faisable.

Il faut creer un compteur de click, un timer et une regle avec un script dans la condition.
Dans la condition avec le script tu peux choisir quelle entrée vont déclencher le script (donc dans l'idee tu peux y mettre tous le inters dans un "groupe").
Puis dans le script il faut incrementer le compteur de click, et lancer le timer. Quand le timer (genre 1s) a finit il faut remettre le compteur a 0. Tu auras donc 1s pour clicker le nombre de fois que tu veux.
Ensuite si tu depasses le nombre de click requis (5 pour toi) tu retournes "true" dans le script (false sinon) et dans l'action de cette regle tu peux lancer ton scenario panique.

La ou c'est moins simple c'est avec les inters triple click. Car tu as deja une tempo de 500ms pour le click de ces inters. Tu peux cependant ecrire un 2eme script juste avec les inters triple ou tu geres ton compteur que pour 2 x 3 clicks par inter.
Ok merci mais comment manipuler les timers dans un script ? Je ne trouve pas d'exemple sur le wiki et forum.

Autre question : Si je veux par exemple allumer toutes les lumieres de la maison dans les actions, est-ce qu'il y a un autre moyen que d'enumerer toutes les outputs ?
Tu peux faire ça comme ça pour les timers:

Code:
-- lancement du timer
calaos:setOutputValue("id_timer", "start");

Puis une regle avec
Si Timer == true

Pour la liste des lumières, il faut lister le tout
(02-28-2016, 10:20 AM)raoulh Wrote: [ -> ]Pour la liste des lumières, il faut lister le tout

On ne peut pas faire une boucle for avec un index?
Pages: 1 2 3