Evènements en double lors de l'appui sur un bouton

Suite du sujet Evénements en double lors de l'appuis sur un bouton :

Bonjour,

Je retrouve exactement le même problème que dans le sujet ci-dessous depuis la dernière MAJ (RAS dans l’avant dernière version).

Est-ce que la correction apportée n’aurait pas sauté ?

Merci d’avance !

Scénario :

[2024-01-18 16:51:48][SCENARIO] -- Start : Scenario execute automatiquement sur evenement venant de : [Aucun][Hue dimmer chevet][Bouton 1] (initial_press).
[2024-01-18 16:51:48][SCENARIO] - Exécution du sous-élément de type [condition] : if trigger(#[Aucun][Hue dimmer chevet][Bouton 1]#) == 1
[2024-01-18 16:51:48][SCENARIO] Evaluation de la condition : [1 == 1] = Vrai
[2024-01-18 16:51:48][SCENARIO] - Exécution du sous-élément de type [action] : then
[2024-01-18 16:51:48][SCENARIO] Exécution d'un bloc élément : 45
[2024-01-18 16:51:48][SCENARIO] - Exécution du sous-élément de type [condition] : if #[Aucun][Hue dimmer chevet][Bouton 1]# == 'long_release' && lastChangeStateDuration(#[Aucun][Hue dimmer chevet][Bouton 1]#,  long_release) > 1
[2024-01-18 16:51:48][SCENARIO] Evaluation de la condition : ["initial_press" == 'long_release' && -1 > 1] = Faux
[2024-01-18 16:51:48][SCENARIO] - Exécution du sous-élément de type [action] : else
[2024-01-18 16:51:48][SCENARIO] Exécution d'un bloc élément : 49
[2024-01-18 16:51:48][SCENARIO] - Exécution du sous-élément de type [condition] : if #[Aucun][Hue dimmer chevet][Bouton 1]# == 'short_release' && lastChangeStateDuration(#[Aucun][Hue dimmer chevet][Bouton 1]#,  short_release) > 1
[2024-01-18 16:51:48][SCENARIO] Evaluation de la condition : ["initial_press" == 'short_release' && 5 > 1] = Faux
[2024-01-18 16:51:48][SCENARIO] - Exécution du sous-élément de type [action] : else
[2024-01-18 16:51:48][SCENARIO] Action stop
[2024-01-18 16:51:48][SCENARIO] Fin correcte du scénario
------------------------------------
[2024-01-18 16:51:49][SCENARIO] -- Start : Scenario execute automatiquement sur evenement venant de : [Aucun][Hue dimmer chevet][Bouton 1] (short_release).
[2024-01-18 16:51:49][SCENARIO] - Exécution du sous-élément de type [condition] : if trigger(#[Aucun][Hue dimmer chevet][Bouton 1]#) == 1
[2024-01-18 16:51:49][SCENARIO] Evaluation de la condition : [1 == 1] = Vrai
[2024-01-18 16:51:49][SCENARIO] - Exécution du sous-élément de type [action] : then
[2024-01-18 16:51:49][SCENARIO] Exécution d'un bloc élément : 45
[2024-01-18 16:51:49][SCENARIO] - Exécution du sous-élément de type [condition] : if #[Aucun][Hue dimmer chevet][Bouton 1]# == 'long_release' && lastChangeStateDuration(#[Aucun][Hue dimmer chevet][Bouton 1]#,  long_release) > 1
[2024-01-18 16:51:49][SCENARIO] Evaluation de la condition : ["short_release" == 'long_release' && -1 > 1] = Faux
[2024-01-18 16:51:49][SCENARIO] - Exécution du sous-élément de type [action] : else
[2024-01-18 16:51:49][SCENARIO] Exécution d'un bloc élément : 49
[2024-01-18 16:51:49][SCENARIO] - Exécution du sous-élément de type [condition] : if #[Aucun][Hue dimmer chevet][Bouton 1]# == 'short_release' && lastChangeStateDuration(#[Aucun][Hue dimmer chevet][Bouton 1]#,  short_release) > 1
[2024-01-18 16:51:49][SCENARIO] Evaluation de la condition : ["short_release" == 'short_release' && 0 > 1] = Faux
[2024-01-18 16:51:49][SCENARIO] - Exécution du sous-élément de type [action] : else
[2024-01-18 16:51:49][SCENARIO] Action stop
[2024-01-18 16:51:49][SCENARIO] Fin correcte du scénario
------------------------------------
[2024-01-18 16:51:50][SCENARIO] -- Start : Scenario execute automatiquement sur evenement venant de : [Aucun][Hue dimmer chevet][Bouton 1] (short_release).
[2024-01-18 16:51:50][SCENARIO] - Exécution du sous-élément de type [condition] : if trigger(#[Aucun][Hue dimmer chevet][Bouton 1]#) == 1
[2024-01-18 16:51:50][SCENARIO] Evaluation de la condition : [1 == 1] = Vrai
[2024-01-18 16:51:50][SCENARIO] - Exécution du sous-élément de type [action] : then
[2024-01-18 16:51:50][SCENARIO] Exécution d'un bloc élément : 45
[2024-01-18 16:51:50][SCENARIO] - Exécution du sous-élément de type [condition] : if #[Aucun][Hue dimmer chevet][Bouton 1]# == 'long_release' && lastChangeStateDuration(#[Aucun][Hue dimmer chevet][Bouton 1]#,  long_release) > 1
[2024-01-18 16:51:50][SCENARIO] Evaluation de la condition : ["short_release" == 'long_release' && -1 > 1] = Faux
[2024-01-18 16:51:50][SCENARIO] - Exécution du sous-élément de type [action] : else
[2024-01-18 16:51:50][SCENARIO] Exécution d'un bloc élément : 49
[2024-01-18 16:51:50][SCENARIO] - Exécution du sous-élément de type [condition] : if #[Aucun][Hue dimmer chevet][Bouton 1]# == 'short_release' && lastChangeStateDuration(#[Aucun][Hue dimmer chevet][Bouton 1]#,  short_release) > 1
[2024-01-18 16:51:50][SCENARIO] Evaluation de la condition : ["short_release" == 'short_release' && 1 > 1] = Faux
[2024-01-18 16:51:50][SCENARIO] - Exécution du sous-élément de type [action] : else
[2024-01-18 16:51:50][SCENARIO] Action stop
[2024-01-18 16:51:50][SCENARIO] Fin correcte du scénario
------------------------------------
[2024-01-18 16:51:51][SCENARIO] -- Start : Scenario execute automatiquement sur evenement venant de : [Aucun][Hue dimmer chevet][Bouton 1] (initial_press).
[2024-01-18 16:51:51][SCENARIO] - Exécution du sous-élément de type [condition] : if trigger(#[Aucun][Hue dimmer chevet][Bouton 1]#) == 1
[2024-01-18 16:51:51][SCENARIO] Evaluation de la condition : [1 == 1] = Vrai
[2024-01-18 16:51:51][SCENARIO] - Exécution du sous-élément de type [action] : then
[2024-01-18 16:51:51][SCENARIO] Exécution d'un bloc élément : 45
[2024-01-18 16:51:51][SCENARIO] - Exécution du sous-élément de type [condition] : if #[Aucun][Hue dimmer chevet][Bouton 1]# == 'long_release' && lastChangeStateDuration(#[Aucun][Hue dimmer chevet][Bouton 1]#,  long_release) > 1
[2024-01-18 16:51:51][SCENARIO] Evaluation de la condition : ["short_release" == 'long_release' && -1 > 1] = Faux
[2024-01-18 16:51:51][SCENARIO] - Exécution du sous-élément de type [action] : else
[2024-01-18 16:51:51][SCENARIO] Exécution d'un bloc élément : 49
[2024-01-18 16:51:51][SCENARIO] - Exécution du sous-élément de type [condition] : if #[Aucun][Hue dimmer chevet][Bouton 1]# == 'short_release' && lastChangeStateDuration(#[Aucun][Hue dimmer chevet][Bouton 1]#,  short_release) > 1
[2024-01-18 16:51:51][SCENARIO] Evaluation de la condition : ["short_release" == 'short_release' && 2 > 1] = Vrai
[2024-01-18 16:51:51][SCENARIO] - Exécution du sous-élément de type [action] : then
[2024-01-18 16:51:51][SCENARIO] Exécution d'un bloc élément : 50
[2024-01-18 16:51:51][SCENARIO] - Exécution du sous-élément de type [condition] : if #[Chambre][Chevet chambre][Etat Luminosité]# > 0
[2024-01-18 16:51:51][SCENARIO] Evaluation de la condition : [100 > 0] = Vrai
[2024-01-18 16:51:51][SCENARIO] - Exécution du sous-élément de type [action] : then
[2024-01-18 16:51:51][SCENARIO] Arrêt forcé du scénario : Coucher Chevet
[2024-01-18 16:51:52][SCENARIO] Exécution de la commande [Chambre][Virtuel Chevet Chambre][Off]
[2024-01-18 16:51:52][SCENARIO] Action stop
[2024-01-18 16:51:52][SCENARIO] Fin correcte du scénario

Log du plugin :

0433|[2024-01-18 16:51:48][DEBUG] : Received message for bridge : 1 => {"creationtime":"2024-01-18T15:51:48Z","data":[{"button":{"button_report":{"event":"initial_press","updated":"2024-01-18T15:51:49.071Z"},"last_event":"initial_press"},"id":"bff71f21-b1d2-4a9e-a031-a2a6553115d1","id_v1":"\/sensors\/41","owner":{"rid":"078adf66-0b87-4b96-9f00-090e714e2474","rtype":"device"},"type":"button"}],"id":"d655ee0b-421f-4e83-8e7d-a30a2d1ff5e9","type":"update"}
0434|[2024-01-18 16:51:48][DEBUG] : Received message for bridge : 1 => {"creationtime":"2024-01-18T15:51:48Z","data":[{"button":{"button_report":{"event":"initial_press","updated":"2024-01-18T15:51:49.071Z"},"last_event":"initial_press"},"id":"bff71f21-b1d2-4a9e-a031-a2a6553115d1","id_v1":"\/sensors\/41","owner":{"rid":"078adf66-0b87-4b96-9f00-090e714e2474","rtype":"device"},"type":"button"}],"id":"d655ee0b-421f-4e83-8e7d-a30a2d1ff5e9","type":"update"}
0435|[2024-01-18 16:51:49][DEBUG] : Received message for bridge : 1 => {"creationtime":"2024-01-18T15:51:48Z","data":[{"button":{"button_report":{"event":"short_release","updated":"2024-01-18T15:51:49.156Z"},"last_event":"short_release"},"id":"bff71f21-b1d2-4a9e-a031-a2a6553115d1","id_v1":"\/sensors\/41","owner":{"rid":"078adf66-0b87-4b96-9f00-090e714e2474","rtype":"device"},"type":"button"}],"id":"2ce6fc86-346c-4b8d-9c76-01335a506659","type":"update"}
0436|[2024-01-18 16:51:49][DEBUG] : Received message for bridge : 1 => {"creationtime":"2024-01-18T15:51:48Z","data":[{"button":{"button_report":{"event":"short_release","updated":"2024-01-18T15:51:49.156Z"},"last_event":"short_release"},"id":"bff71f21-b1d2-4a9e-a031-a2a6553115d1","id_v1":"\/sensors\/41","owner":{"rid":"078adf66-0b87-4b96-9f00-090e714e2474","rtype":"device"},"type":"button"}],"id":"2ce6fc86-346c-4b8d-9c76-01335a506659","type":"update"}

Bonjour,

maj à jour de quoi?
et ajoutez l’étiquette du plugin concerné, on ne sait pas de quoi vous parlez.

et si c’est le même problème que l’autre post alors appliquez la même solution

Bonjour,

Je pensais avoir mis l’étiquette du plugin, c’est corrigé.

Si le sujet précédent avait une solution, je l’aurais appliquée…

Bonjour
Je rencontre exactement le même problème que @goodvampire depuis la dernière mise à jour du 17/01.

D’ailleurs avec le changement d’API, est ce que vous sauriez comment se gère désormais l’appui long sur le Hue Dimmer Switch ?

Bonjour @Lico ,

Chaque bouton a maintenant son Etat propre ([Bouton 1], [Bouton 2]…).
Chaque appui déclenche d’abord un statut ‹ initial_press › puis pour un appui court ‹ short_release › (au moment de relâcher le bouton), ou pour un appui long des ‹ repeat › à intervalle régulier tant que le bouton est pressé puis un ‹ long_release › (au moment de relâcher le bouton).

En espérant avoir été assez clair :wink:

Comportement identique sur les smart button, avec les 4 états mentionnés ci-dessus.
Je trouve d’ailleurs la remontée d’info plus réactive qu’auparavant :+1:

Par contre la transition « douce » à l’allumage et à l’extinction a disparue; c’est perturbant, j’espère que le paramètre « WAF » ne sera pas trop perturbé :grin:

La même ici, je dois appuyer plusieurs fois avant que l’évènement ne se produise pas en double

Bonjour
Tu peux régler ça avec la commande transition. Pas besoin de l’inclure dans le scénario. Il suffit de la configurer une fois dans l’onglet commande de l’objet et c’est enregistré.

Merci @goodvampire pour ta réponse, j’ai essayé ce que tu as dit, cependant je crois que je m’y suis mal pris car j’ai une erreur du type Expression non valide dans les logs.

EDIT :
J’ai trouvé, en réalité le initial_press se répète à chaque fois qu’un bouton est appuyé et dans n’importe quelle section (long_press, long_release, short_release etc.).
J’ai donc fait une condition short_release pour cibler seulement un appuie court et une condition repeat pour un appuie long. (un exemple ci-dessous avec une capture d’écran quand le scénario du bouton 4 est lancé) !

Je pense c’est un autre probleme, a mon avis le démon a perdu la connexion avec le pont et la relancé et donc ensuite recoit 2 fois les évènements, normalement en redémarrant le démon ca devrait arrêter de le faire et ca devrait être aussi pour tous les évènements (lumière et tout).

La beta de demain intègrera une sécurité la dessus (si le soucis est bien ca).

Yes merci @Loic, en tout cas de mon côté le redémarrage du demon à résolu le problème

Ok donc c’est bien ce que je pense, la beta de demain évitera ce genre de soucis.

Pas pour ma part, par contre j’ai remarqué que cela n’arrive que si je déclenche un scénario.
Par exemple, si sur un bouton j’ai programmé directement un « ON » ou un « OFF », ça marche.
Par contre si j’ai un scénario « si ON alors fais OFF, sinon fais ON », là le bouton va déclencher l’extinctionde la prise puis 1 seconde après, l’allumage de la prise (ou inversement, allumage puis une seconde après, extinction).

Bonjour
Comme dit plus haut il faut tester la bêta qui corrige les événements en double.

Bonjour,

Je suis open pour la tester, mais je ne sais pas comment passer de la stable à la beta, si quelqu’un peut me renseigner svp je veux bien tester la modif.
Il faut désinstaller la stable ? Si c’est ça, je perds tous mes équipements?

Bonjour,
Il y a une doc pour ca sur le site de documentation, pour le cas de cette mise a jour du plugin pas besoin d’avoir le core en beta.

Je vais aller regarder ça dès que possible. Merci

Je viens d’installer la beta et tester mes télécommandes/prises, tout me semble ok désormais! Pas de double commande sur les différents tests effectués

La liste des commandes trappées pour infos si besoin :

initial_press
repeat
short_release
long_release
long_press