Avec ce code je trouve la commande qui a déclenché un scénario
$trigger = cmd::cmdToHumanReadable($scenario->getRealTrigger());
Comment puis-je connaître le nom de l’équipement auquel appartient la commande?
Avec ce code je trouve la commande qui a déclenché un scénario
$trigger = cmd::cmdToHumanReadable($scenario->getRealTrigger());
Comment puis-je connaître le nom de l’équipement auquel appartient la commande?
$trigger = cmd::cmdToHumanReadable($scenario->getRealTrigger());
$eqLogicName = cmd::byString($trigger)->getEqLogic()->getHumanName();
mon code final
$trigger = cmd::cmdToHumanReadable($scenario->getRealTrigger());
$eqLogicName = cmd::byString($trigger)->getEqLogic()->getHumanName();
$Variable_J = "nombre_variable";
$scenario->setData($Variable_J, $eqLogicName);
J’envoie la variable "nom_variable dans un télégramme
Salut,
Si c’est juste pour récupérer le nom de l’équipement tu as cette possibilité aussi en 1 ligne :
$eqLogicName = cmd::byId(str_replace('#', '', $scenario->getRealTrigger()))->getEqLogic()->getHumanName();
$scenario->setData('nom_variable', $eqLogicName);
Je ne sais pas quelle est la finalité mais si tu as la possiiblité d’utiliser un tag plutôt qu’une variable cela semble à privilégier.
Plutôt avec byString :
$eqLogicName = cmd::byString($scenario->getRealTrigger())->getEqLogic()->getHumanName();
C’est du chipotage mais niveau ressources byId
est plus léger car voici ce que fait byString
:
$cmd = self::byId(str_replace('#', '', self::humanReadableToCmd($_string)));
J’ai aussi découvert
name(eqLogic, trigger())
Ce sujet a été automatiquement fermé après 24 heures suivant le dernier commentaire. Aucune réponse n’est permise dorénavant.