Eviter un appareil ne s'allume ou s'éteigne trop souvent

Bonjour,
je suis entrain de faire un scénario pour declencher un déshumidificateur dans une cave en fonction sur surplus solaire, ou des heures creuses et bien sur en fonction du taux d’humidité.

En déclencheur j’ai mis les HCHP; un binaire qui me dit si j’ai un surplus solaire > à 900W ; un binaire avec surplus < 100w et la variable humiditié.

Pour l’humidité j’ai fait un scénario qui met 3 niveaux sur une variable. si humidité supérieure à 75 alors variable =2, >69 variable = 1 sinon variable = 0

Voici le scénario que j’ai fait, mais je voudrai empecher que l’appareil ne se coupe ou s’allume tout le temps lorsqu’il y a un nuage. je voudrais qu’au minimum il reste allumé 1h meme si le surplus est <100w
je ne sais pas comment gérer ce parametre dans mon scénario

Merci pour votre aide

Salut,

Avant ton off tu peux pourrais vérifier la durée de fonctionnement en regardant l’état (il faut l’historisée si ce n’est pas fait).

J’imagine que l’état vaut 1 quand l’appareil est on.

Donc si lastChangeStateDuration(#etat#, 1) > 3600 alors off

1 « J'aime »

merci pour ta reponse, du coup ca donne ca ?


mais du coup je traite comment le OFF si la prise n’est pas allumée depuis 3600s ?

Oui ça donne ça.

Pas sûr de comprendre ta question mais on peut supposer qu’il y aura un nouveau changement d’un des états après 1h de fonctionnement et que la prise s’éteindra alors à ce moment là.

A voir pour savoir s’il faut adapter dans un cas de figure particulier.

dans le dernier SINON je ne peux pas faire un truc du genre
la prise est allumée depuis 1000s, il manque 2600s pour faire 3600s , dans 2600s executer a nouveau le scénario pour verifier les conditions ?

Ou alors j’enleve tous les declencheurs et je mets directement un cron de 10mn qui va verifier les conditions a chaque fois.

La 2eme idée (cron) me semble bien

J’ai fait ceci , mais du coup je suis obligé d’enlever la non répétition des actions sinon ca bloque toujours sauf si je passe a au taux d’humidité élevé non ? variable 2 = taux elevé.

Je pense qu’il vaut mieux retirer la non répétition, en effet.

1 « J'aime »

petite question ,dans le déclencheur j’ai mis la condition mais le scénario se déclenche tout le temps ?
Il me semble qu’avant lorsque qu’on mettais dans condition dans le déclencheur le scénario ne se déclenchait que si la condition etait validée
par exemple

il me semblait que le scenario ne se serait activé que si la production était > 800

[2024-04-15 12:03:50][SCENARIO] -- Début : Scenario execute automatiquement sur evenement venant de : [Energie][Gestion Surplus][moyenne production sur 30mn] (283.6).
[2024-04-15 12:03:50][SCENARIO] - Exécution du sous-élément de type [condition] : if #[Cave][Prise imprimante][Etat]# == 0 && variable(Humidite_cave) == 2 && (#[Energie][EcoRT2][SV HP HC]# == 1 || (#[Energie][Gestion Surplus][moyenne production sur 30mn]# > 800))
[2024-04-15 12:03:50][SCENARIO] Evaluation de la condition : [0 == 0 && 1 == 2 && (0 == 1 || (283.6 > 800))] = Faux
[2024-04-15 12:03:50][SCENARIO] - Exécution du sous-élément de type [action] : else
[2024-04-15 12:03:50][SCENARIO] Exécution d'un bloc élément : 804
[2024-04-15 12:03:50][SCENARIO] - Exécution du sous-élément de type [condition] : if #[Cave][Prise imprimante][Etat]# == 0 && variable(Humidite_cave) == 1 && (#[Energie][EcoRT2][SV HP HC]# == 1 && time_between(#time#,900,2100)) || (#[Energie][Gestion Surplus][moyenne production sur 30mn]# > 800)
[2024-04-15 12:03:50][SCENARIO] Evaluation de la condition : [0 == 0 && 1 == 1 && (0 == 1 && 1) || (283.6 > 800)] = Faux
[2024-04-15 12:03:50][SCENARIO] - Exécution du sous-élément de type [action] : else
[2024-04-15 12:03:50][SCENARIO] Exécution d'un bloc élément : 817
[2024-04-15 12:03:50][SCENARIO] - Exécution du sous-élément de type [condition] : if lastChangeStateDuration(#[Cave][Prise imprimante][Etat]# ,1) > 3600 && #[Cave][Prise imprimante][Etat]# == 1
[2024-04-15 12:03:50][SCENARIO] Evaluation de la condition : [76929 > 3600 && 0 == 1] = Faux
[2024-04-15 12:03:50][SCENARIO] - Exécution du sous-élément de type [action] : else
[2024-04-15 12:03:50][SCENARIO] Fin correcte du scénario

Tu n’avais pas prévu de faire tourner toutes les X mn ? C’est ce que l’on avait « validé » il y a quelques jours.

Le fonctionnement est normal ici.
A chaque fois que ta commande « moyenne production sur 30mn » change (donc à chaque refresh de la puissance de PROD probablement), les déclencheurs sont vérifiés :

  • Est-ce que cette commande est > 800 ?
  • Est-ce que cette commande est < 500 ?

je crois que j’ai compris j’ai fait une erreure…

j’avais mis ces seuils pour optimiser le démarrage en plus du cron de 20mn