Scenario volet condition ouverture (erreur?)

Bonjour,

j’ai un scenario qui gère mes ouvertures de volets le matin avec des conditions de verfiication de jour / si ferie ou non, de presence etc

Seulement voila ce matin ils se sont ouvert comme si on était en semaine et ca reveille femme et enfant… (je vous laisse penser ce que ma Mme pense de la domotique ce jour :roll_eyes:

sauf que voila je ne me l’'explique pas.
1 on est samedi 2) on est présent 3) ce n’est pas un jour ferie
Voila mon scénario



le script qui gère la partie weekend

#sjour#  in ['Samedi', 'Dimanche'] && #[Membres][Arnauld][Etat]# == 0   && #[Membres][Carine][Etat]# == 0

hors etat me concernant et concernant ma femme est bien à 1…
donc que peux expliquer l’ouverture ce jour à 7h50 ???

ai je fais une erreur quelque part?
merci à vous pour votre aide

Le mieux est de regarder le log du scénario.

Antoine

voici le log du scénario

scenario34.log (54,2 Ko)

1 « J'aime »

tu es sur que cette syntaxe existe dans Jeedom, je ne l’ai jamais vu et ne fonctionne pas dans le testeur d’expression
2 solutions,
la basique avec un OU

#sday# == 'Samedi' || #sday# == 'Dimanche' 

ou l’utilisation du plugin dayinfo qui te remontera un binaire Week-End oui/non

EDIT : je viens de dire une betise, ce type de condition semble fonctionner, je ne connaissais pas !

1 « J'aime »

c’est ce que je j’utilise depuis le début et pour coup cela fonctionne bien la semaine.
#sjour# in ['Lundi', 'Mardi', 'Mercredi', 'Jeudi', 'Vendredi']

Salut,

Vous pouvez combiner n’importe quelle comparaison avec les opérateurs suivants :

  • && / ET / et / AND / and : et,
  • || / OU / ou / OR / or : ou,

https://doc.jeedom.com/fr_FR/core/4.0/scenario

du coup, pas de pb de SI, c’est ton scenario qui s’est exécuté la veille à 8h46 qui a planifié la tache à 7h50 (donc le lendemain)

il faut que ton remove_inat soit en 1er à l’extérieur de toutes les boucles

Moi, j’ai abandonné l’ouverture automatique des volets dans les chambres … sujet trop sensible et WAF trop élevé au réveil

ah bah voila un bonne piste merci
mais cela reviendra à mettre

avant le

#sjour# in [‹ Lundi ›, ‹ Mardi ›, ‹ Mercredi ›, ‹ Jeudi ›, ‹ Vendredi ›] && #[Maison][Jour][Jour férié]# == 0 && (#[Membres][Arnauld][Etat]# == 1 || #[Membres][Carine][Etat]# == 1)

??

Oui, c’est ce que j’aurais fait. En debut de scenario, tu commences par ca pour annuler toutes les programmations prevues (mais peut-etre que ton scenario n’est pas pensé comme ca !)

ok merci pour cette piste je vais tenter de voir dans ce sens

Bonjour,
le soucis c’est que les déclencheurs [Maison][Annuler Fermeture Volets Soir][Etat] et [Maison][Annuler Ouverture Volets Soir][Etat] sont manuel (virtuel je suppose) et donc peuvent intervenir a tous moment de la journée, ce qui provoque une désorganisation du scénario. J’enlèverai ces 2 déclencheurs, je garderai simplement un déclencheur programmé pour que le scénario s’exécute 1 seul fois par jour, et ensuite c’est dans le bloc A que je ferais la condition :
A 0900 → Si #[Maison][Annuler Ouverture Volets Matin][Etat]# == 1 → Ouverture
A 0750 → Si #[Maison][Annuler Ouverture Volets Matin][Etat]# == 0 → Ouverture

et comme conseillé, sortir le remove_inat hors des conditions.

image

Hello @Furaxworld , c’est juste que le texte n’a pas été formaté par son auteur, et donc community transforme ' par <.
dans les captures on voit bien que c’est les simples quotes qui ont été utilisés :wink:

2 « J'aime »

Ok merci phpvarious,

Les modes d’annulation sont effectivement manuels et par virtuel (bien vu :))

Donc en gros je comprends qu’il me faut revoir cela

bonjour,

j’ai donc repris le scénario et ai sorti le remove inat et placer tout dans le sinon

est ce correct selon vous?


merci par avance pour votre retour

Oups,

  • alors je sortirai le remove_inat de toute condition.
  • il y a une sorte de condition dans une action !

Peux-tu poster les déclencheurs aussi .

Le déclencheur se fait en programme tous les jours à 4h30 du matin
Oui pour l’action c’est pour annuler la variable d’annulation automatiquement si j’oublie de le faire à la main

Par sortir le remove inat c’est à dire que je mets tous les si dans le sinon en si en dehors?

plus spécifiquement sur le declencheur

si j’ai bien compris cela donnerait


Dans ce cas il faut utiliser le mot-clé event :

Pour les déclencheur, comme déja expliqué :