Si trigger(#[cuisine][lumiere][etat]#) == 1
est remplacé par #trigger_name# == ‹ [cuisine][lumiere][etat] › dans un futur lointain (donc suite à suppression des anciennes commandes,
il faut juste trouver une méthode pour que le changement de nom de la commande se répercute dans le scénario. Ce qui là n’est pas le cas.
Ces nouveaux trigger sont très bien, juste à peaufiner, laisser le temps aux gens et plus tard retirer les anciens trucs et tout ira bien.
J’ai honte , je crois que j’ai un bug dans la tête, mais j’ai beau regarder la class scenario dans tous les sens, je ne vois pas comment remplacer ce p… de $scenario->getRealTrigger()
Je me répond à moi même pour ceux qui aurait le même problème :
il suffit de remplacer $scenario->getRealTrigger()
par $scenario->getTag('trigger')
Changement sur la partie trigger des scénarios : LIEN
triggerId() est maintenant deprecated et sera retiré dans les futures mises à jour du core. Si vous avez triggerId() == 587 il faut le remplacer par #trigger_id# == 587
triggerValue() est maintenant deprecated et sera retiré dans les futures mises à jour du core. Si vous avez triggerValue() == 10 il faut le remplacer par #trigger_value# == 10
#trigger# : Peut être :
api si le lancement a été déclenché par l’API,
TYPEcmd si le lancement a été déclenché par une commande, avec TYPE remplacé par l’id du plugin (ex virtualCmd),
schedule s’il a été lancé par une programmation,
user s’il a été lancé manuellement,
start pour un lancement au démarrage de Jeedom.
#trigger_id# : Si c’est une commande qui a déclenché le scénario alors ce tag prend la valeur de l’id de la commande qui l’a déclenché
#trigger_name# : Si c’est une commande qui a déclenché le scénario alors ce tag prend la valeur du nom de la commande (sous forme [objet][équipement][commande])
#trigger_value# : Si c’est une commande qui a déclenché le scénario alors ce tag prend la valeur de la commande ayant déclenché le scénario
Donc problème réglé puisque la commande reste et qu’on a le reste.
public static function cmdGetId($_cmd) {
return cmd::byString($_cmd)->getId();
}
[2024-10-02 23:35:03][SCENARIO] -- Début : Scenario lance manuellement.
[2024-10-02 23:35:03][SCENARIO] - Exécution du sous-élément de type [condition] : if 7741 == cmdGetId(#[Dev][Dev_Toto][toto]#)
[2024-10-02 23:35:03][SCENARIO] Evaluation de la condition : [7741 == 7741] = Vrai
[2024-10-02 23:35:03][SCENARIO] - Exécution du sous-élément de type [action] : then
[2024-10-02 23:35:03][SCENARIO] Fin correcte du scénario