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
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.
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é.
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 …
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é 🫤
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.