Hello,
Sur mes commandes d’ouvrant (contact= 0 ou 1) j’aimerais pouvoir déclencher deux scénarios selon différents déclencheurs :
scénario 1 qui se déclenche quand contact =1 depuis 20 minutes
scénario 2 qui se déclenche avec des tags quand contact = 0.
Hors il n’est pas possible de configurer plusieurs conditions dans la section « Action sur valeur » d’une commande, seulement plusieurs actions pour une même condition (c’est dommage d’ailleurs, amélioration à proposer?).
A l’inverse, je pourrais juste mettre en déclencheur de scénario 2 contact= 0 mais je perds l’appel des tags.
Ou alors je modifie scénario 1 pour qu’il vérifie lui-même la durée de Passage à contact=1 ?
Bref, j’en appelle aux magiciens des scénarios pour me proposer leur meilleure idée pour combiner mes deux besoins.
J’ai du mal à comprendre concrètement ce que ça fait
C’est quoi comme tags que tu passes dans le scénario 2 ?
Ca ne serait pas possible de tout inclure dans un seul et unique scénario qui aurait pour déclencheur le changement d’état du contact avec pour gérer le cas du scénario 1 un bloc qui programme un DANS 20 minutes ?
Les tags cest des strings à rechercher dans le centre de messages.
Si je mets un DANS, il faut gérer le cas où pendant les 20min le statut change et annule ce DANS ? il me semble que c’est le remove_inat qui pourrait faire ça non ?
Effectivement un remove_inat en début de scénario. Etant donné qu’il se déclencherait sur changement de la commande info du contact (qu’il passe à 0 ou à 1), le scénario se redéclenchera sur passage à 0 et pourra donc supprimer le bloc DANS programmé précédemment
A l’intérieur de ton bloc DANS un SI qui vérifie que le contact est toujours à 1 avant de faire quoi que ce soit (normalement non necessaire mais bon au cas où)
J’ai aussi utilisé la solution de Bison avec une (ou plusieurs) commande virtuelle égale à la commande d’origine. ainsi sur chaque commande virtuelle il est possible de mettre une action sur valeur différente.
Simple et efficace !
Alors oui effectivement, si ton scénario n’est pas déclenché par l’action sur valeur d’une commande, tu ne pourras pas pousser ces tags.
Cela dit, au vu de ce que tu passes comme tag, je pense que tu dois pouvoir faire une table de correspondance directement dans le scénario non ?
Du genre SI déclencheur du scénario == [Salon][Porte-fenetre cuisine][contact]
ALORS
tag(plugin) = thermosat
tag(equipement) = [Salon][Thermostat salon]
Si en effet, ça fonctionnerait. Je trouve ça moins propre puisque ça oblige à modifier le scénario si j’ajoute un ouvrant mais ça le ferait. Je vais creuser ça et la piste de dupliquer la commande en virtuel (que je trouve dommage aussi).
Perso je préfère ce genre de solutions car ça permet de centraliser la conf à un seul endroit, plutot que d’avoir des bouts un peu partout. Le jour où tu veux debugger ton scénario tu n’est pas obligé d’aller en plus ouvrir l’équipement pour voir ce qu’il y a comme tags dedans.
Mais bon les gouts et les couleurs
Ca je suis pas vraiment fan même si je conçois que ça puisse dépanner.
Aurel est tombé juste. J’ai un scénario qui efface les messages générés par le plugin thermostat (quand le thermostat est actif) quand la fenêtre est fermée, et j’ai un deuxième scenario pour l’été qui m’alerte si une fenêtre est ouverte et que la température extérieure est élevée.
En repensant à la suite du post, je pense que tu va avoir un souci avec cette méthode.
Je n’avais pas conscience que ton scénario était potentiellement mutualisé avec plusieurs ouvrants, or si tu utilise la technique du DANS et du remove_inat, si tu veux vérifier plusieurs ouvertures le scénario risque de se marcher sur les pieds entre différents ouvrants.
Est ce que tu comptais t’en servir pour plusieurs ouvrants simultanément ?