Scénario "SI : commande ET Scénario lancé" alors

Bonjour,

Je ne trouve pas comment faire syntaxe suivante dans un scénario :

SI : COMMANDE_01 ET Scénario « mode vacance » arrêté
alors action…

C’est bête de galérer la dessus…merci d’avance.

Bonjour,
Il me semble que gérer l’état d’un scénario ne se fait que par code.
Mais peut-être que j’ai loupé un truc.
Si c’est bien ça, ça ne passerait que par l’écriture d’un bloc code.

Bonjour,

Dans la doc.

scenario(scenario) : Renvoie le statut du scénario. 1 : En cours, 0 : Arrêté, -1 : Désactivé, -2 : Le scénario n’existe pas, -3 : L’état n’est pas cohérent. Pour avoir le nom “humain” du scénario, vous pouvez utiliser le bouton dédié à droite de la recherche de scénario.

5 « J'aime »

non ca ne marche pas « expression invalide »

@mich0111 j’avais pensé à ta solution en gros SI condition 1 alors je lance un autre SI et après mes actions. Mais c’était pour « économiser » de la ressource jeedom et faire ça proprement

Namion, @mich0111 et @Madcow disaient de passer par un bloc code pour vérifier si un scénario est en cours d’exécution ou non. C’est seulement à l’issue du bloc code que tu pourrais récupérer son état dans les blocs normaux de ton scénario donc par exemple comme ça si #[Systeme][Sécurité][Mode vacance]# est le scénario qui doit être testé.

Le tag ScenarioIsRunning permettra de récupérer l’état (0 ou 1)

$sc = scenario::byString('#[Systeme][Sécurité][Mode vacance]#');
$running = $sc->running();
$tags = $scenario->getTags();

if ($running) {
  $tags['#ScenarioIsRunning#'] = '1';
} else {
  $tags['#ScenarioIsRunning#'] = '0';
}

$scenario->setTags($tags);

EDIT : en effet, par besoin de bloc code, la fonction scenario() est disponible sans ça.

1 « J'aime »

Bonjour,
Ou sinon tu passes une variable à 1 dans ton 1er scénario et dans le 2ème tu vérifies l’état de ta variable (au lieu du scénario)
Suivant ce que tu veux faire, ça peut suffire…

@Madcow t’a donné la bonne réponse.
Il faut utiliser la bonne syntaxe qu’il t’a fourni.

scenario(#[Le nom][de mon][scenario]#) == 0

Donc, pas besoin de bloc code.

6 « J'aime »

Merci pour le détails du script, j’avais mis les parenthèses jusqu’à la valeur 0 donc ça ne marché pas…saleté, pour les commandes ça englobe tout et pour une « variable » non…

Merci @Bison pour le « code » j’avou être encore trop newbie pour y avoir pensé/arriver à le faire marcher.

Voilà ma finalité/solution si ça peut en aider d’autres :

C’est @Madcow qui a donné la bonne solution.
@namion, il faudrait cocher la case solution sur son post.

3 « J'aime »

Merci à tous !

1 « J'aime »

Ce sujet a été automatiquement fermé après 24 heures suivant le dernier commentaire. Aucune réponse n’est permise dorénavant.