Bonjour, j’aurais besoin d’un petit coup de pouce sur l’optimisation d’un scénario :
Je n’ai pas de soucis avec le fonctionnement ou le jargon mais il me manque la bonne logique.
Pour ouvrir mes volets, j’ai de nombreuses conditions (je simplifie en enlevant les conditions de temp°, de présence et de saison) :
Au lever du soleil :
Si le temps sera très nuageux → ouvrir à 100%
Si le temps sera nuageux → ouvrir à 60%
Si le temps sera peu nuageux → ouvrir à 40%
Si le temps sera très ensoleillé → ouvrir à 20%
Je ne voudrais pas que ces conditions s’exécutent systématiquement au lever du soleil (à 6h00, l’été, je dors encore) Mais uniquement à partir de 8h00 seulement SI le lever est prévu avant 8h00 (SINON, à l’heure du lever).
Comment donc traduire cela dans mon scénario :
SI lever de soleil avant 8h00, on attend 8h00 et on exécute TOUT
SINON, on execute tout immédiatement au lever
sans avoir à appeler un autre scénario ou à répéter les MEMES blocs dans le SI et le SINON ?
Les commandes wait ? remove_inat ? autres ?
Merci pour vos réponses.
Je ne suis pas sur que cela soit ma solution, je n’ai pas de soucis pour lancer le scénario ni même pour gérer les conditions. Je veux juste éviter de recopier l’ensemble de mes conditions à cause d’UNE seule condition initiale…
Ou alors je n’ai pas compris vos réponses
Voilà ce qui fonctionne, mais qui n’est pas optimisé :
Si lever du soleil avant 8h00 :
Attendre 8h00, puis :
Si condition1 → ouvrir à 100%
Si condition2 → ouvrir à 60%
Si condition3→ ouvrir à 40%
Si condition4 → ouvrir à 20%
Si NON (et donc, lever du soleil après 8h)
Si condition1 → ouvrir à 100%
Si condition2 → ouvrir à 60%
Si condition3→ ouvrir à 40%
Si condition4 → ouvrir à 20%
En fait, je veux trouver un moyen d’éviter de recopier le même bloc de conditions 1 à 4 .
C’est surement tout bête mais je bloque là dessus !
Merci
Scénario 1 que tu lances à 7h50 tt les jours par exemple.
Tu lances un bloc A du scénario 2 planifié avec le résultat du max entre l’heure de lever du soleil et 8h
------------------------------------
[2020-06-02 21:57:06][SCENARIO] Start : Scénario lancé manuellement.
[2020-06-02 21:57:06][SCENARIO] Exécution du sous-élément de type [condition] : at
[2020-06-02 21:57:06][SCENARIO] Evaluation de la condition : [800] = 800
[2020-06-02 21:57:06][SCENARIO] Tâche : 907 programmée à : 2020-06-03 08:00:00
[2020-06-02 21:57:06][SCENARIO] Fin correcte du scénario
Scénario 2
Tu y places tes conditions 1 à 4…
Il faut pas rêver, tu ne va pas pouvoir faire tout dans 1 scénario ET ne pas avoir à dupliquer les actions…
Salut,
Effectivement, cette solution fonctionnera mais le soucis est que j’ai 7 volets qui on chacun leur scénario de monté ET de descente donc je ne me vois pas tout doubler à cause de ça…
Il n’existe vraiment pas de solution avec un wait ou autre ? c’est sans appel ?
Du genre :
Si condition1 → wait puis A
Si NON → A
sans répéter « A » au sein du même scénario ? le remove_inat ne me permettrait justement pas de supprimer un A / DANS ?
Il me semble que c’est exactement mon exemple
$Heure = lever soleil
Si $heure < 8h00 alors $heure = 8h00
A $heure faire
Si condition1 → ouvrir à 100%
Si condition2 → ouvrir à 60%
Si condition3→ ouvrir à 40%
Si condition4 → ouvrir à 20%
Comme quoi il faut bien détailler son besoin … On découvre que tu veux faire ça 7 fois… Bref…
Si tu ouvres/fermes tous tes volets en même temps, rien n’empêche de faire 2 scenario (M et D) pour tes 7 volets …4 conditions pour 7 actions à chaque fois c’est pas infaisable.
Question bonus : 50% ouvert ou 50% fermé c’est différent ? c’est pas un moyen de ne faire qu’un scénario
L’autre solution c’est de passer par un plugin… Volets (celui de @mika-nt28 que j’ai) ou l’officiel. Tu pourra faire tes 7 programmations avec un tas de conditions…
En dernier choix, te farcir tout avec un bloc code… Là c’est une question de niveau. C’est jouable mais pour un débutant c’est pas simple du tout…