Passage tag sur scénario en cascade

Bonjour
Après plusieurs années d’apprentissage sur jeedom je m’en sors pas trop mal (un peu aussi grâce au forum)
Je souhaite tester les tags et j’ai lu plusieurs sujets dessus
Mais ça ne répond a priori pas a ce que je souhaite
J’ai bien compris qu’on peut faire passer un tag d’une scénario a un autre
Mais j’ai 4 scénario en cascade et j’aimerai en faire un 5me qui centralise et m’envoie par mail tous les tags de tous les scénarios

Pour info actuellement j’essaie avec des variables mais ça marche pas terrible car il faut les réinitialiser avant le lancement

Slt tu pourrais nous dire ce que tu veux faire? 5 scénario en cascade c’est pour faire quoi?

Je me suis fait une simulation de lumière assez complexe

  1. Scénario jour et heure aléatoire
  2. Scénario nbre d’allumage aléatoire
  3. Scénario nbre de lampes aléatoire
  4. Scénario allumage aléatoire

Je me retrouve avec plus de 100 combinaisons d’allumage

Et dans le 5 je souhaiterai avoir le rapport de chacun des scénarios

Pour info c’est plus pour m’amuser a appeler des scénarios et tester les capacités a en faire avec toutes les fonctions
Rand. A. Dans. Time etc

Scénario (scenario) : Permet de contrôler des scénarios. La partie tags permet d’envoyer des tags au scénario, ex : montag=2 (attention il ne faut utiliser que des lettre de a à z. Pas de majuscules, pas d’accents et pas de caractères spéciaux). On récupère le tag dans le scénario cible avec la fonction tag(montag). La commande “Remise à zéro des SI” permet de remettre à zéro le statut des “SI” (ce statut est utilisé pour la non répétition des actions d’un “SI” si on passe pour la 2ème fois consécutive dedans)

Tu peu aussi stocker ça dans un virtuel mais comme les variables faudra linitialiser.

Bonjour,

en cascade…, donc le 1er scénario lance le second et etc… ?
qu’est-ce qui bloque dans l’utilisation des tag ?

Je crois que les tags en cascade sur des scénarios ne fonctionnent pas

Je passe par des variables temporaires et que je supprime à la fin du scénario

Pour l’instant je fais la meme chose
mais comme je suis curieux et jamais utilisé les Tags, je voulais tester cette fonction

l’idée du Virtuel me semble pas mal, je vais aussi tester :+1:

je ne sais pas si à partir du 3me on perd ou pas le Tag du 1er
l’objectif est de les conserver tous pour faire un message global sur le 5me scenario

Bonjour,

Il faut appeler le scénario suivant en passant en tag le tag précédent (j’espère être clair !).

tag_precedent=montag(tag_precedent) 

La méthode « traditionnelle » de @Madcow doit fonctionner, mais elle t’oblige a répertorier tout tes tag de ton scénario, sans en oublier.

Autre méthode, remplacer la méthode traditionnelle d’exécution d’un scénario, par un bloc code, celui-ci se chargera de récupérer tous les tag existant et ainsi lancer le scénario suivant avec les tags récupéré.

1 « J'aime »

Bonjour,

Tu as raison ma méthode n’est adaptée que lorsqu’il y a peu de tags. Or ici il me semble qu’il y en a beaucoup :sweat_smile:

Si tu te sent d’attaque, un bloc code qui est a mettre en remplacement de la méthode traditionnelle.
Ne pas oublier de changer l’id du scénario que tu veut lancer.

$scenarioToExecute = '134'; // id du scénario à lancer.
////////////////////////////////
$actionScenario = scenario::byId($scenarioToExecute);
if (!is_object($actionScenario)) $scenario->setLog($GLOBALS['JEEDOM_SCLOG_TEXT']['unfoundScenario']['txt'] . $scenarioToExecute);
else {
  $actionScenario->setTags($scenario->getTags());
  $scenario->setLog($GLOBALS['JEEDOM_SCLOG_TEXT']['launchScenario']['txt'] . $actionScenario->getName() . 'options : ' . json_encode($actionScenario->getTags()));
  $actionScenario->launch('scenario', $GLOBALS['JEEDOM_SCLOG_TEXT']['startByScenario']['txt'] . $scenario->getHumanName());
}

Le bloc se chargera de récupérer tous les tag, et les transmettre au scénario suivant …

1 « J'aime »

J’ai fait un test et effectivement je me suis perdu dans le nombre de tag

La ça dépasse de loin mes compétences mais je peux essayer

En tout cas merci a tous j’ai pleins de solutions différentes mais peu de temps donc ne m’en voulez pas trop si vous n’avez pas de retours rapides

Bonjour
J’ai passé pas mal de temps a tester vos différentes solutions

Virtuel :
bien mais malheureusement le résultat est le dernier passage qui écrase tous les autres
Il faudrait que je change et affiche toutes les variables. Gros boulot

Tags :
Sur scénario ou via bloc code. Le résultat est le même, trop de tags a gérer. Au bout de 3 scénarios je suis perdu.

Conclusion :
Déjà merci a tous
Je vais rester avec mes variables et analyser les logs pendant 8-10 jours pour vérifier et affiner les horaires
Au moins j’aurai essayé 🫤

Cest pour cela, le bloc code que jai posté, pas besoin de se préoccupé des tags, il les prendra tous.

Ah je dois mal m’y prendre alors d’un scénario a l’autre

A lendroit meme ou tu fait laction de lancer le scenario xx, tu désactive ton bloc action (pas supprimé pour pouvoir revenir en arrière se sera plus simple), et tu ajoute le bloc code, dans ce bloc code change juste l’id du scénario que tu veut appeler.