SNZB01 - Scénario Bouton 3Etats (zigbee2mqtt)

Bonjour à tous :smiley:

Je suis entrain de créer un scénario pour gerer les pressions du bonton
simple double et long avec un changement d’information dans une virtuel pour faire un ON/OFF sur 3 équimpements différente avec un seul bouton

Hélas ça ne fonctionne pas …

Je suis sur docker/jeedom/zigbee2mqtt/mqtt

#[Salon][Bouton 1 sonoff][action]# ==> BOUTON PHYSIQUE
#[Salon][BTN01 SONOFF][VARBTN01-**]#
VARBTN01-A ==> variable appuie simple
VARBTN01-B ==> variable appuie double
VARBTN01-C ==> variable appuie long

Merci à vous pour votre retour :smiley:

Hello
Dans les logs y a quoi ?
Quel est le déclencheur de ce scénario ?

@chris94440

1 « J'aime »

Salut,

Il faudrait plutôt faire :

SI action == 'single'
ALORS
  SI VARBTN01-A == 1
  ALORS
    variable....
  SINON
    variable...
SI action == 'double'

Etc…

1 « J'aime »

Salut le déclencheur c’est quand j’appuie sur le bouton

Voici le log quand j’appuie dessus

[2022-01-10 18:15:07][INFO] : Evènement sur la commande [Salon][Bouton 1 sonoff][Bouton 01] valeur : {"action":"single","battery":100,"linkquality":47,"voltage":3200}
[2022-01-10 18:15:07][INFO] : Evènement sur la commande [Salon][Bouton 1 sonoff][LinkQuality] valeur : 47
[2022-01-10 18:15:07][INFO] : Evènement sur la commande [Salon][Bouton 1 sonoff][Bouton 01] valeur : {"action":"","battery":100,"linkquality":47,"voltage":3200}
[2022-01-10 18:15:13][INFO] : Evènement sur la commande [Salon][Bouton 1 sonoff][Bouton 01] valeur : {"action":"single","battery":100,"linkquality":84,"voltage":3200}
[2022-01-10 18:15:13][INFO] : Evènement sur la commande [Salon][Bouton 1 sonoff][LinkQuality] valeur : 84
[2022-01-10 18:15:13][INFO] : Evènement sur la commande [Salon][Bouton 1 sonoff][Bouton 01] valeur : {"action":"","battery":100,"linkquality":84,"voltage":3200}

et le log du scénario

[2022-01-10 18:17:28][SCENARIO] Start : Scenario lance manuellement.
[2022-01-10 18:17:28][SCENARIO] Exécution du sous-élément de type [condition] : if
[2022-01-10 18:17:28][SCENARIO] Evaluation de la condition : ["single" == 'single' ET "single" == '1'  ] = Faux
[2022-01-10 18:17:28][SCENARIO] Exécution du sous-élément de type [action] : else
[2022-01-10 18:17:28][SCENARIO] Affectation de la variable VARBTN01-A => 1 = 1
[2022-01-10 18:17:28][SCENARIO] Exécution du sous-élément de type [condition] : if
[2022-01-10 18:17:28][SCENARIO] Evaluation de la condition : ["single" == 'double' ET "" == '2'  ] = Faux
[2022-01-10 18:17:28][SCENARIO] Exécution du sous-élément de type [action] : else
[2022-01-10 18:17:28][SCENARIO] Affectation de la variable VARBTN01-B => 2 = 2
[2022-01-10 18:17:28][SCENARIO] Exécution du sous-élément de type [condition] : if
[2022-01-10 18:17:28][SCENARIO] Evaluation de la condition : ["single" == 'long' ET "" == '3'  ] = Faux
[2022-01-10 18:17:28][SCENARIO] Exécution du sous-élément de type [action] : else
[2022-01-10 18:17:28][SCENARIO] Affectation de la variable VARBTN01-C => 3 = 3
[2022-01-10 18:17:28][SCENARIO] Fin correcte du scénario

Merci Bison j’essaie ça

1 « J'aime »

Indépendamment de ce que j’ai dis et qui tient toujours, dans les logs on voit des moments où aucune action n’est transmise, tu fais quelque chose de particulier à ce moment là ?

Et en déclencheur ? Tu as bien mis la commande action de ton bouton ?

Parce qu’on ne voit qu’un lancement manuel.

Quand je change d’état … de single à double ou a long le scénario se lance

Mais quand plusieurs fois d’affilé « single » un clic sur le bouton rien ne se passe, car il n’y a pas d’état « intermédiaire »… ça reste sur single mais j’ai bien un log dans jeedom mqtt (comme au-dessus)

Sur le bouton hue … j’ai quand j’appuie dans MQTT une fois ça passe a ON et la fois suivante ça passe à OFF

En déclancheur :

#[Salon][Bouton 1 sonoff][action]# == "single"
#[Salon][Bouton 1 sonoff][action]# == "double"
#[Salon][Bouton 1 sonoff][action]# == "long"

Je viens de refaire le scénario selon ton retour « double clic »

[2022-01-10 20:12:07][SCENARIO] Start : Scenario execute automatiquement sur evenement venant de : [Salon][Bouton 1 sonoff][action].
[2022-01-10 20:12:07][SCENARIO] Exécution du sous-élément de type [condition] : if
[2022-01-10 20:12:07][SCENARIO] Evaluation de la condition : ["double" == 'single'  ] = Faux
[2022-01-10 20:12:07][SCENARIO] Exécution du sous-élément de type [action] : else
[2022-01-10 20:12:07][SCENARIO] Exécution du sous-élément de type [condition] : if
[2022-01-10 20:12:07][SCENARIO] Evaluation de la condition : ["double" == 'double'  ] = Vrai
[2022-01-10 20:12:07][SCENARIO] Exécution du sous-élément de type [action] : then
[2022-01-10 20:12:07][SCENARIO] Exécution d'un bloc élément : 50
[2022-01-10 20:12:07][SCENARIO] Exécution du sous-élément de type [condition] : if
[2022-01-10 20:12:07][SCENARIO] Evaluation de la condition : [VARBTN01-B == '2'] = VARBTN01-B == '2'
[2022-01-10 20:12:07][SCENARIO] Expression non valide : VARBTN01-B == '2'
[2022-01-10 20:12:07][SCENARIO] Exécution du sous-élément de type [condition] : if
[2022-01-10 20:12:07][SCENARIO] Evaluation de la condition : ["double" == 'long'  ] = Faux
[2022-01-10 20:12:07][SCENARIO] Exécution du sous-élément de type [action] : else
[2022-01-10 20:12:07][SCENARIO] Fin correcte du scénario

Attention dans la comparaison c’est
SI variable(VARBTN01-x) == '..'

Merci à tout le monde :smiley:

Ci-après mon scénario avec infos supplementaires (si ça peux aider d’autres)

Mon déclancheur c’est le bouton, il y a une valeur qui passe de «  » à "null"dans mon info MQTT qui reviens à chaque clic du coup pas de pb et le fait de passer de 1clic à 2 clics pour déceler le changement de valeur

Mais je pense que l’on peut faire un déclencheur sur la ligne de réception de base du MQTT avant de faire un json pour isoler les valeurs avec #****# != 1

Docker :
Container Jeedom
Container MQTT
Container Zigbee2MQTT « option homeassistant : true » quand la détection des « components » ne fonctionne pas
Container Zigbee2MqttAssistant

Il y a aussi un virtuel dans lequel j’ai mis les infos en binaire pour voir les états de ceux-ci.
avec la ligne « event »

De ce fait, on peut utiliser les 3 fonctions du bouton « simple » « double » et « long » pour 3 applications différentes au lieux de faire une changement d’etat de « simple » a « double »

Quel modèle ton bouton sonoff ?
Car certains modèle poussoirs ne remontent que deux états plus un commun .
Etat appuyé
Etat appuyé long
Etat relâché

Donc avec ces derniers difficile de commander facilement plus de deux « circuits » différents.
Jouer avec des séquences appuis courts est plus qu’aléatoire et ergonomiquement non pertinent.

1 « J'aime »

Super, n’oublie pas de fermer ton sujet en cliquant sur la solution d’un post qui t’a aidé.

A+

1 « J'aime »

C’est le SNZB01 le bouton Zigbee
SNZB-01

J’ai fait quelques test avec simple clic double clic et long clic j’ai toujours le retour
Quand je vais trop vite entre 2 appuis simple ça « lag » un peu
virtuel 3 etats

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