Bonjour
J’expose un cas simple pour avoir la meilleure façon de faire.
Je ne sais pas si c’est un bug ou le fonctionnament normal
J’ai un bouton legrand zigbee pour un éclairage extérieur qui dispose d’une commande info état, ON et OFF. Dans la commande info ETAT j’ai une ACTION sur VALEUR qui éteint la lampe si l’état est resté à 1 pendant 30 minutes. Jusque là pas de souci, ça fonctionne.
J’ai un scénario qui sur detection de mouvement (capteur aqara) m’appelle le BOUTON ON. La aussi ça fonctionne. Normal
Je voudrais que l’action sur valeur soit reseté dès qu’il y a une nouvelle détection (pour repartir sur 30 minutes), afin que la lampe ne s’éteigne pas si il y a toujours du mouvement dehors.
Hors comme c’est fait elle s’éteint quand même. J’ai essayé de mettre répétition à ON dans la configuration avancé de la commande info du bouton mais ça ne change rien. Dans l’historique je ne vois pas la répétition de valeur.
Du coup j’ai l’impression que l’action sur valeur se déclenche même si il y a eu répétition.
Après possible que dans le plugin zigbee quand on rappuie sur ON alors que la valeur est déjà à 1, ça ne rafraichit pas la commande info d’état, ce qui semble être le cas.
Même si c’était le cas, pas sur qu’une action sur valeur prenne en compte cette répétition de toute façon.
Autre question, si je passe par un scénario avec DANS x minutes, éteindre la lampe plutôt qu’une action sur valeur. Est ce que l’action DANS est annulée lorsqu’il y a un nouvel appel au scénario ? Ou est ce que ça remplace l’ancienne valeur DANS ? ou est ce que ça rajoute une ACTION dans ?
Hello
Pas tester les répétitions sur actions
Par contre je passe par un scénario, ça fonctionne très bien avec Dans , mais en début de ton scenario, tu dois mettre une action remove_inat pour annuler les programmations « Dans » précédentes.
Du coup si ton scénario se répète, ça replanifie ton action
Le problème ici c’est que l’état ne repasse pas à 0, il reste à 1 quelque soit ce que tu tentes de faire sur l’état pour lui faire répéter la valeur 1. Donc forcément l’action sur valeur 1 se déclenche au bout de 30mn.
Pas d’autres possibilités que ce que propose @networks514
Un bloc DANS va annuler et remplacer une instance précédemment programmée.
Donc si à chaque détection de présence me scénario allume et programme d’éteindre dans 30min, pas besoin de remove_inat, le bloc DANS précédent sera automatiquement annulé.
Notez que cette question a déjà été posée des dizaines de fois sur community et qu’il y a déjà plein d’exemples, n’hésitez pas à faire une recherche pour avoir plus de retour.
Ce comportement est aussi expliqué dans la doc des scénarios.
Ok merci @Mips .
Oui j’ai lu après coup des articles hier soir.
Du coup dans un scénario on ne peut avoir su’un seul bloc DANS ? C’est juste par curiosité.
Si on en a plusieurs, comment sait le scénario lequel il doit réinitialiser ?
Non on peut en avoir plusieurs;
Il le sait car chaque bloc à un ID bien sur
Mais donc attention, il ne va annuler un bloc DANS ou A automatiquement que si celui-ci est reprogrammé.
C’est pour ca que je disais
Donc si le bloc DANS est par exemple dans un bloc SI et que lors de la deuxième exécution la condition n’est pas vérifiée alors forcément le bloc DANS ne sera pas re-programmé et l’ancien, s’il existait, ne sera pas annulé