Bonsoir,
J’ai besoin d’un esprit brillant sur la création d’un scénario qui me semblait simple…
J’ai donc:
- zigbee2mqtt
- jMQTT
J’ai créé un équipement à partir d’un interrupteur EnOcean PTM215
Les actions boutons sont sous « la commande » action
.
Quand on appuie, la valeur est: press_1
pour le bouton 1 press_2
pour le bouton 2 et pour le 3 et le 4 je vous laisse deviner…
Et dès que l’on relâche le bouton, la valeur se transforme en release_1
pour le bouton 1, releas...
bon je crois que vous avez compris!
Premier problème:
En appuyant sur n’importe quel bouton, vu qu’il y a l’action: press_?
et release_?
cela déclenche 2 fois le scénario à chaque fois.
Alors dans mon scénario, je me suis dis, je fais sur un évènement provoqué par l’équipement:
SI
press_1
ALORS = une action
Mais le coquin! Il ne réagit pas comme cela!
Dans les log, il détecte bien le press_1
MAIS! Il récupère comme comme valeur release_1
[2023-02-10 22:49:47][SCENARIO] -- Start : Scenario execute automatiquement sur evenement venant de : [hangar 2][double interrupteur][zigbee2mqtt:0x000000000152d010:action] (press_1).
[2023-02-10 22:49:47][SCENARIO] - Exécution du sous-élément de type [condition] : if #[hangar 2][double interrupteur][zigbee2mqtt:0x000000000152d010:action]# == 'press_1' || #[hangar 2][double interrupteur][zigbee2mqtt:0x000000000152d010:action]# == 'press_3'
[2023-02-10 22:49:47][SCENARIO] Evaluation de la condition : ["release_1" == 'press_1' || "release_1" == 'press_3'] = Faux
[2023-02-10 22:49:47][SCENARIO] - Exécution du sous-élément de type [action] : else
[2023-02-10 22:49:47][SCENARIO] - Exécution du sous-élément de type [condition] : if #[hangar 2][double interrupteur][zigbee2mqtt:0x000000000152d010:action]# == 'press_2' || #[hangar 2][double interrupteur][zigbee2mqtt:0x000000000152d010:action]# == 'press_4'
[2023-02-10 22:49:47][SCENARIO] Evaluation de la condition : ["release_1" == 'press_2' || "release_1" == 'press_4'] = Faux
[2023-02-10 22:49:47][SCENARIO] - Exécution du sous-élément de type [action] : else
[2023-02-10 22:49:47][SCENARIO] Fin correcte du scénario
------------------------------------
[2023-02-10 22:49:48][SCENARIO] -- Start : Scenario execute automatiquement sur evenement venant de : [hangar 2][double interrupteur][zigbee2mqtt:0x000000000152d010:action] (release_1).
[2023-02-10 22:49:48][SCENARIO] - Exécution du sous-élément de type [condition] : if #[hangar 2][double interrupteur][zigbee2mqtt:0x000000000152d010:action]# == 'press_1' || #[hangar 2][double interrupteur][zigbee2mqtt:0x000000000152d010:action]# == 'press_3'
[2023-02-10 22:49:48][SCENARIO] Evaluation de la condition : ["release_1" == 'press_1' || "release_1" == 'press_3'] = Faux
[2023-02-10 22:49:48][SCENARIO] - Exécution du sous-élément de type [action] : else
[2023-02-10 22:49:48][SCENARIO] - Exécution du sous-élément de type [condition] : if #[hangar 2][double interrupteur][zigbee2mqtt:0x000000000152d010:action]# == 'press_2' || #[hangar 2][double interrupteur][zigbee2mqtt:0x000000000152d010:action]# == 'press_4'
[2023-02-10 22:49:48][SCENARIO] Evaluation de la condition : ["release_1" == 'press_2' || "release_1" == 'press_4'] = Faux
[2023-02-10 22:49:48][SCENARIO] - Exécution du sous-élément de type [action] : else
[2023-02-10 22:49:48][SCENARIO] Fin correcte du scénario
Je me suis dit, je vais donc mettre
SI
release_1
ALORS = action
Sauf que…
------------------------------------
[2023-02-10 22:53:04][SCENARIO] -- Start : Scenario execute automatiquement sur evenement venant de : [hangar 2][double interrupteur][zigbee2mqtt:0x000000000152d010:action] (press_1).
[2023-02-10 22:53:04][SCENARIO] - Exécution du sous-élément de type [condition] : if #[hangar 2][double interrupteur][zigbee2mqtt:0x000000000152d010:action]# == 'release_1' || #[hangar 2][double interrupteur][zigbee2mqtt:0x000000000152d010:action]# == 'release_3'
[2023-02-10 22:53:04][SCENARIO] Evaluation de la condition : ["release_1" == 'release_1' || "release_1" == 'release_3'] = Vrai
[2023-02-10 22:53:04][SCENARIO] - Exécution du sous-élément de type [action] : then
[2023-02-10 22:53:04][SCENARIO] - Exécution du sous-élément de type [condition] : if #[hangar 2][double interrupteur][zigbee2mqtt:0x000000000152d010:action]# == 'release_2' || #[hangar 2][double interrupteur][zigbee2mqtt:0x000000000152d010:action]# == 'release_4'
[2023-02-10 22:53:04][SCENARIO] Evaluation de la condition : ["release_1" == 'release_2' || "release_1" == 'release_4'] = Faux
[2023-02-10 22:53:04][SCENARIO] - Exécution du sous-élément de type [action] : else
[2023-02-10 22:53:04][SCENARIO] Fin correcte du scénario
------------------------------------
[2023-02-10 22:53:05][SCENARIO] -- Start : Scenario execute automatiquement sur evenement venant de : [hangar 2][double interrupteur][zigbee2mqtt:0x000000000152d010:action] (release_1).
[2023-02-10 22:53:05][SCENARIO] - Exécution du sous-élément de type [condition] : if #[hangar 2][double interrupteur][zigbee2mqtt:0x000000000152d010:action]# == 'release_1' || #[hangar 2][double interrupteur][zigbee2mqtt:0x000000000152d010:action]# == 'release_3'
[2023-02-10 22:53:05][SCENARIO] Evaluation de la condition : ["release_1" == 'release_1' || "release_1" == 'release_3'] = Vrai
[2023-02-10 22:53:05][SCENARIO] - Exécution du sous-élément de type [action] : then
[2023-02-10 22:53:05][SCENARIO] - Exécution du sous-élément de type [condition] : if #[hangar 2][double interrupteur][zigbee2mqtt:0x000000000152d010:action]# == 'release_2' || #[hangar 2][double interrupteur][zigbee2mqtt:0x000000000152d010:action]# == 'release_4'
[2023-02-10 22:53:05][SCENARIO] Evaluation de la condition : ["release_1" == 'release_2' || "release_1" == 'release_4'] = Faux
[2023-02-10 22:53:05][SCENARIO] - Exécution du sous-élément de type [action] : else
[2023-02-10 22:53:05][SCENARIO] Fin correcte du scénario
Vu que cela démarre 2 fois le scénario, cela valide 2 fois la condition, et donc déclenche 2 fois l’action qui vont se contrarier.
J’ai essayé avec les trigger
mais là aussi, cela valide 2 fois ou rien.
Je me dis qu’avant de me lancer dans l’injection de variable dans un objet virtuel qui déclenche un scénario. Peut-être quelqu’un aurait LA brillante idée qui pourrait illuminer ma sombre ignorance!
Merci d’avance et bon week-end!