Scénario simple clic est activé lors d'un double clic sur bouton SNZB-01

Bonjour,

Depuis que je suis passé en JeeZigbee avec Z2M et en débian 11, mon scénario basé sur le simple clic d’un bouton poussoir Sonoff s’enclenche alors que j’effectue un double clic.
Voici l’élément déclencheur du scénario, c’est bien simple clic :

Voici le Log du scénario où on voit qu’il est déclenché sur un double clic, cela est contradictoire:

Dans le TimeLaps, on voit que mes deux scénarios double clic et simple clic se sont déclenchés en même temps, alors que j’ai fait qu’un double clic :

Pour info, je met aussi le log du scénario double clic, qui a été déclenché simultanément, sur un double clic lui aussi, mais là c’était pas contradictoire :


Parce que son élément déclencheur est bien un double clic :

Bonjour,

le déclencheur ne doit-il pas être == "simple" ou =="double" ??

Salut,

Désolé si ça répond pas directement à ta question mais pourquoi avoir fait 2 scénarios ? Pourquoi pas un scénario unique pour gérer un bouton physique avec un SI simple appui et SI double appui ?

Merci à vous 2,
J’ai mis les guillemets et apparement, ça n’a pas suffit.
Je viens d’ajouter la condition de déclenchement AND … != double pour être sûr qu’un simple clic ne soit pas suivi du 2ième clic d’un double clic, et ça fonctionne.

Il n’y a plus les déclenchements parasites

Pour pouvoir appeler facilement un scénario ou l’autre à partir d’autres fonctions, comme par exemple les modes.

On peut passer un tag à un scénario pour cela.

Je suis un peu dubitatif.
En fait il faudrait voir la valeur remontée dans salon bouton soir button en fonction des appuis pour être sûr de tester la bonne valeur

Peux tu préciser le modèle exact du bouton ?
Je pense que ton bouton envoie simple avant d’envoyer double. Le PB doit donc plutôt être sur le bouton ou z2m (tag du post à changer d’ailleurs !)

Il faut savoir que la valeur affichée dans le scénario n’est pas forcément la valeur ayant déclenché le scénario mais la valeur au moment de l’affichage. D’où ma supposition que ton bouton doit passer par simple lorsque tu appuies la première fois puis tout de suite double.

Si c’est le cas, ne mets pas de conditions dans le déclencheur mais plutôt un SI action == simple ou action == double dans tes scénarios

Norbert

1 « J'aime »

Comme @lperenna j’aurais plutôt tendance à privilégier un tag au scénario pour cela.
Enfin même idéalement je sépare le traitement « fonctionnel » et le scénario d’un module qui le déclenche.

Dans l’idée :

  • Un scénario unique par bouton physique
  • Un scénario unique par traitement fonctionnel (qui peut dans l’absolu être appelé par plusieurs boutons ou par des modes, d’autres scénarios …)

Dans mon scénario bouton :
SI simple appui ALORS lancer scénario fonctionnel avec le tag ouvrir
Si double appui ALORS lancer scénario fonctionnel avec le tag fermer

Dans mon scénario fonctionnel (volets roulants dans l’exemple) :
SI action = ouvrir ALORS ouvrir tous les volets
SI action = fermer ALORS fermer tous les volets

Quand je veux rajouter exactement la même action sur un autre bouton, je n’ai pas à reprendre tout ce qu’il fait. Et le jour où je veux modifier le comportement d’un scénario fonctionnel je n’ai à le faire qu’a un endroit même si il es utiisé par 10 boutons.

1 « J'aime »

Je viens de re-vérifier, c’est bien double pour un appui double et single pour un appui simple :


Ok, Mais tu dois avoir un single furtif avant le double. Historise la commande et regarde le résultat

Norbert

Sinon ça doit se voir dans le log temps réel


Voila, pas de clic furtif apparemment.

Ben, je ne vois pas trop alors !
Que donne ton déclencheur (avec la condition) dans le testeur d’expression ?

Salut.
Il me semble avoir rencontré ce problème il y a quelques mois.
Modifie ton déclencheur en == ‘single‘

Bonjour,

Je tenterai === single

Salut.
j’utilise un bouton qui gère deux scénarios.
1 avec déclencheur == ‘single‘
1 avec déclencheur == ‘double‘
Ca fonctionne.

Bonjour
Petit hors sujet
Tu as en tete (ou sais-tu où trouver l’info) la signification exacte
Des test
X=
X==
X===
?
Car dans la doc des scénarios
On parle que du second
Bien des fois je vois sur le forum le premier
Et là, tu propose le 3eme…?

X= : assignation de valeurs
X == : comparaison non typée
X === : comparaison typée

1 « J'aime »

Dans la doc…

Mais rapidement et de mémoire
= pour affecter une valeur
== comparer deux valeurs
=== comparer strictement deux valeurs

1 « J'aime »

Merci pour le retour

La doc des scénarios ?
J’ai pas vu, même en faisant une recherche avec ===
Dans laquelle sinon ?

Ça je vois pas….
Pour affecter une valeur j’utilise la commande Event.
Du coup je vois pas trop comment affecter une valeur (et a quoi) avec ce = ?
Dans un bloc code alors…?