Comment éviter les appuis consécutifs sur un bouton d'un virtuel?

Bonsoir,

J’ai réalisé un virtuel avec un bouton ON/OFF pour commander la pompe de ma piscine. A ce stade tout fonctionne correctement.
Je viens ici chercher des idées sur comment faire pour éviter de faire des ON et OFF consécutifs? En fait je souhaiterais avoir l’impossibilité de re-cliquer sur le bouton pendant 1 minute par exemple.
si je clique pour allumer, je ne pourrai ensuite l’éteindre qu’apres une minute; pendant ce temps le bouton est inactif…

Merci d’avance pour vos idées; j’espère être dans la bonne section.
Olivier

Hello,

Sur ton virtuel dans la config « actions à exécuter avant la commande » tu mets un sleep de 1 minute ainsi apres un appuie sur off ta commande off s’exécutera 1 minute après ton appuie

Si tu veux le faire dans les deux sens il te faudra passer par un scénario avec 1 variable « en allumage » que tu met a 1 pensant 1 minute après ta commande on et une variable « en extinction « que tu mets a 1 pendant une minute après ta commande off et selon l’état de tes variable tu exécute ou non ton action

1 « J'aime »

Salut,

Plutôt sleep 60 secondes

2 « J'aime »

Salut,

Tu pourrais faire en sorte d’avoir tes 2 boutons On et Off distinct puis lancer un scénario lors du On avec :

Bloc code

cmd::byId(478)->setIsVisible(0)->save();

Dans 1 alors
Bloc code

cmd::byId(478)->setIsVisible(1)->save();

Remplacer l’id 478 par celui de la commande Off

1 « J'aime »

Hello,

Effectivement le sleep est exprimé en secondes my bad

Merci pour cette réponse rapide !
J’avais pas du tout pensé à cette option hyper simple…

Mais un petit complément: je souhaite que l’action ON/OFF s’exécute lorsque j’appuie sur le bouton, et qu’ensuite je ne puisse plus rien faire sur ce bouton pendant 60 secondes
Je viens d’essayer en selectionnant: « Action après exécution de la commande » + sleep 60secondes
je ne constate pas de « désactivation », j’arrive a allumer et éteindre autant de fois que je le souhaite…

J’ai fais ce réglage sur les 2 actions ON et OFF:
image

1 « J'aime »

Snif oui, je corrige

Les écrans des téléphones sont trop petit :wink:

Alors tu devras passer par un scénario

Je l’ai fait sur un vidéo proj

1 « J'aime »

Merci Bison, j’aime bien cette solution, sauf que j’ai un beau bouton, qui change d’aspect (et donc 1 seul bouton):
image
image

Il y a peut etre autre chose que « setIsvisible » genre « enable »… je vais chercher…

1 « J'aime »

Essai avec setisEnable à la place mais je promets rien, il me semble que c’est plutôt utilisé pour les activation/déscativation des scénarios par exemple

1 « J'aime »

Pourquoi tant de haine :smile:

Et un truc dans le genre sur ton équipement ?

A voir si mieux dans « Action après exécution de la commande ».

J’avais pensé d’abord au Activer/Désactiver mais il faut valider que ça désactive pas les actions programmées en même temps…

J’ai tenté avant, apres et comme ca:

J’arrive quand meme à cliquer sur le bouton et les actions associées s’exécutent… bizarre

J’ai tenté « désactiver », c’est toute la tuile qui disparait… pour le coup ca marche mais j’aimerais un truc plus « doux » :slight_smile:

Je vais y refléchir cette nuit…
Merci beaucoup pour votre aide, j’ai des pistes maintenant…

j’ai aussi testé ca:

$eq = eqLogic::byId(986);
$eq ->setIsEnable(false);
$eq ->save();

Mais y a un truc qui passe pas…

[2022-07-07 22:55:06][SCENARIO] -- Start : Scenario lance manuellement.
[2022-07-07 22:55:06][SCENARIO] - Exécution du sous-élément de type [action] : code
[2022-07-07 22:55:06][SCENARIO] Exécution d'un bloc code 
[2022-07-07 22:55:06][SCENARIO] Call to a member function setIsEnable() on bool
[2022-07-07 22:55:06][SCENARIO] Fin correcte du scénario

Bonsoir,
Autre moyen de contournement, mais sa oblige a historiser ta commande Info Etat :

image

Bonne soirée.

2 « J'aime »

Sinon on crée une variable après la première action qui prend la valeur #timestamp#.

ce qui donne:

on teste cette variable avant l’action et si le timestamp actuel est > variable +1min alors on exécute l’action (on ou off) et on met a jour la variable.
sinon on ne fait rien

NB sur le tel donc pas simple a mettre en forme ‹ jeedom › :wink: c’est juste l’idée

3 « J'aime »

Hello

Merci pour cette solution que je vais tester aussi … aucun pb pour historiser :slight_smile:

Ce sujet a été automatiquement fermé après 24 heures suivant le dernier commentaire. Aucune réponse n’est permise dorénavant.