Changement dynamique d'une action sur la valeur

Bonjour,
Afin de détecter le démarrage d’un cycle de lave-linge, je me sers de la ligne de commande « Action sur la valeur » de l’info Puissance de ma prise Fibaro.
Le test est SI Puissance > 2W pendant plus de 2 mn alors démarrage du cycle.
Sur cette détection, ça lance un scénario qui, au final, me permet de savoir quand la machine est terminée.
Ce scénario fonctionne mais la détection de fin de cycle est moche et pas élégante du tout. Je fais un scénario programmé qui revient toutes les 10 mn pour savoir si c’est fini.
Aussi, je voudrais savoir s’il est possible de modifier dynamiquement l’action sur valeur dans l’équipement.
En gros, ce que je voudrais faire, c’est mettre la condition qui est au-dessus pour démarrer le cycle et quand celui-ci a démarré, je voudrais changer cette condition par scénario ou autre pour mettre SI Puissance < 2W pendant plus de 2 mn alors fin du cycle et quand c’est détecté, remettre la valeur initiale sur action toujours de la même façon.
Je ne pense pas que cela puisse se faire mais sait-on jamais.
Par avance, merci de vos retours.

J’ai un scenario sans action sur valeur pour ce genre de chose, avec deux déclencheurs:
#[Salon][Prise TV][Puissance]# > 20
#[Salon][Prise TV][Puissance]# < 5

Par contre j’ai tapé dans les paramètres de la prise pour pas qu’elle remonte les variations de puissance trop souvent. Au final çà marche nickel

Sinon c’est faisable avec un bloc code, mais va falloir être béton dans les check et le code …

Merci
Bon, finalement, je vais faire l’essai avec 2 scénarios, un pour le démarrage du cycle l’autre pour la fin.
Le 1er se lance sur détection de puissance pendant plus de 2mn, le 2ème sur absence de puissance pendant plus de 2mn.
Chacun des scénarios active l’autre et se désactive à la fin. De la sorte, je n’ai pas besoin de changer la fréquence de remontées de puissance.
Manque plus qu’à attendre la prochaine machine pour voir si ça marche, je ne vais pas en lancer une juste pour ça.
A la prochaine

Bonsoir @mich0111

Je suis dans un cas similaire pour mon lave vaisselle.
Je teste sur valeur de la puissance inférieure à 3 plus d’une minute et je passe une variable à 0.
Or la variable ne passe pas à zéro même en attendant très longtemps et je suis certain que j’ai moins de 3W

La configuration de la commande puissance, est ce que j’ai fait une boulette :

Lés déclencheurs de mon scénario où j’utilise la variable précédente

Sinon ta dernière solution avec 2 scénarios fonctionnent ?
Je ne vois pas encore comment tu as fait mais je viens juste de tomber sur l’idée

Bonsoir,
Ça fonctionne comme ça depuis tellement longtemps que j’ai oublié depuis quand.
Je n’utilise pas de variable à part heure de début et heure fin pour connaître la durée du cycle. juste 2 scénarios, LL démarrage et LL arrêt.
J’ai mis un déclenchement à 60W pour pallier au lancement programmé qui, sinon, prendrait comme heure de début non pas le lancement du lavage mais de la programmation.
Le principe est simple, quand un scénario est réveillé, il fait ce qu’il a à faire puis active l’autre et se désactive dans la foulée.

- Nom du scénario : LL - Démarrage
- Objet parent : Garage
- Mode du scénario : provoke
    - Evènement : #[Garage][Plug LL][PUISSANCE]# > 60

Détection de fin de cycle de lavage

    
    ACTION
     (sleep) Pause de  : 120
    
    SI #[Garage][Plug LL][PUISSANCE]# > 3.2
    ALORS
     (variable) Affectation de la variable : DébutCycle à time_op(#time#,-2)
     equipement - Options : {"enable":"1","background":"0","eqLogic":"#[Garage][LL conso]#","action":"show"}
     (scenario) activate de [Maison][Garage][LL - Arrêt]
     (scenario) deactivate de [Maison][Garage][LL - Démarrage]
    SINON
- Nom du scénario : LL - Arrêt
- Objet parent : Garage
- Mode du scénario : provoke
    - Evènement : #[Garage][Plug LL][PUISSANCE]# < 1.5



    
    ACTION
     (sleep) Pause de  : 120
         
        SI #[Garage][Plug LL][PUISSANCE]# < 1.5  
        ALORS
             
            ACTION
             (variable) Affectation de la variable : FinCycle à time_op(#time#,-2)
             #[Système][FreeSMS][Michel]# - Options : {"enable":"1","background":"0","title":"Michel","message":"M Fin Lave-Linge - variable(D\u00e9butCycle):variable(FinCycle)"}
             #[Système][FreeSMS][Vero]# - Options : {"enable":"1","background":"0","title":"Vero","message":"M Fin Lave-Linge - variable(D\u00e9butCycle):variable(FinCycle)"}
             equipement - Options : {"enable":"1","background":"0","eqLogic":"#[Garage][LL conso]#","action":"hide"}
             (scenario) activate de [Maison][Garage][LL - Démarrage]
             (scenario) deactivate de [Maison][Garage][LL - Arrêt]
        SINON

Bonsoir @mich0111

Merci pour le partage, je vais tester de cette manière demain et te dit si je suis un boulet ou pas sur ce lave vaisselle :rofl::rofl:

Sinon, je ne vois pas trop ce que tu veux faire de cette façon.
Tél que c’est écrit ton scénario déclenche si la puissance est supérieure à 10W ou ta variable est à vrai ou 1.
Je ne vois pas ce que le passage de la variable à 0 va changer, ni même la puissance inférieure à 10W.
Peux-tu poster ton scénario que je vois ce que tu fais exactement ?

Voici le scénario :

- Nom du scénario : Lave Vaisselle
- Objet parent : Cuisine
- Mode du scénario : provoke
    - Evènement : #[Cuisine][PC_Lave_Vaisselles][Puissance]#>10
    - Evènement : variable(PC_Lave_Vaisselle)
    
    SI #[Cuisine][PC_Lave_Vaisselles][Puissance]# > 10 ET variable(Vaisselle) == 0 ET variable(PC_Lave_Vaisselle) == 0
    ALORS
     #[Cuisine][V_Lave_Vaisselle][Encours]# - Options : {"enable":"1","background":"0"}
     (variable) Affectation de la variable : Vaisselle à 1
     (variable) Affectation de la variable : PC_Lave_Vaisselle à 1
     (variable) Affectation de la variable : Cycle_Lave_Vaisselle à variable(Cycle_Lave_Vaisselle)+1
    SINON
    
    SI #[Cuisine][PC_Lave_Vaisselles][Puissance]# < 3 ET variable(Vaisselle) == 1 ET variable(PC_Lave_Vaisselle) == 0
    ALORS
     #[Cuisine][V_Lave_Vaisselle][A vider]# - Options : {"enable":"1","background":"0"}
         
        SI (#[Membres][V_Presence_Jérôme][Présence]# == 1  OU #[Membres][V_Presence_Camille][Présence]# == 1)
        ALORS
             
            SI #time# >= 730 ET #time# <= 2300
            ALORS
             #[Organisation][Discord Notifications][Envoi message évolué]# - Options : {"enable":"1","background":"0","Titre":":lavevaisselle: Lave Linge termin\u00e9e :lavevaisselle:","url":"","description":"Le lave vaisselle peut \u00eatre vid\u00e9e","footer":"","colors":"#colors#"}
             wait - Options : {"enable":"1","background":"0","condition":"","timeout":"300"}
             #[Organisation][Echo Dot  - LEBAUD][Faire parler Alexa]# - Options : {"enable":"1","background":"0","message":"Le Lave Vaisselle est termin\u00e9 depuis 5 min on peut le vider","volume":"30"}
             (variable) Affectation de la variable : Vaisselle à 0
             (scenario) start de [05 - Divers][Cuisine][Lave Vaisselle]
            SINON
                 
                A 0800
                FAIRE
                 (scenario) start de [05 - Divers][Cuisine][Lave Vaisselle]
        SINON
    SINON

J’alimente aussi un virtuel avec le complément d’un autre scénario sur le tps de fonctionnement pour avoir ceci :

Ouh là, trop compliqué pour moi le matin.
J’essaierais de comprendre plus tard quand j’aurais l’esprit plus clair.

@kiboost, tu pourrais mettre une capture d’écran , je ne vois pas comment tu as fais … Merci

Il y a un très ancien tuto fait par Sarakha, je l’ai mis en œuvre il y a quelques semaines avec une prise intelligente Fibaro Wall Plug et mon lave linge. ça fonctionne impec:

1 seul scénario et quelques variables.

Par contre, comme le suggère @kiboost, il faut rentrer dans les paramètres de la prise pour éviter de remonter trop souvent les infos en saturant le réseau Zwave dans mon cas.

J’essaye de vous retrouver le lien, il y a un topic qui en parle.

EDIT:

L’excellent tuto de sarakha:

Le post ou on en parle, avec plusieurs exemples: