Bloc Code Action avec variable

Bonjour a tous,

J’ai fais quelques test
Je cherche a allumé un lumière avec une variable dans un TAG

Ca fonctionne avec la variable dans un CODE mais j’aimerais la déporté dans un TAG mais je ne sais pas comment agrémenter

ex en tag ON / OFF / TOGGLE

ceci est un test dans le but de faire quelque chose de plus poussé :wink:

merci de votre aide

Bonsoir,

$tags['#macmd#'] = $commande;
$scenario->setTags($tags);

Bonsoir Bison,

Je vais testé je suis plus au pc.

Je met le nom de mon tag dans #macmd#

dans cet exemple je met #mon_choix# ?

Merci

Tu mets #mon_choix# si tu veux récupérer l’information dans le scénario avec tag(mon_choix)

Je viens de test ca fonctionne pas :

Ah … J’avais pas compris.

Toi tu veux récupérer un tag précédemment défini pour l’utiliser dans le bloc code

$tags = $scenario->getTags();
$mon_choix= $tags['#mon_choix#'];

Merci Beaucoup !

Je viens de tester :

Ca fonctionne parfaitement.

Bonne soirée Bison

Salut,

J’en profite pour remettre ce lien qui n’a pas été partagé depuis un moment :

  • Récupérer un tag
$tags = $scenario->getTags();
$montag = $tags['#monTag#'];
4 « J'aime »

Merci également

Bonsoir a tous

Pour ne pas ouvrir un autre sujet puisque assez similaire,

savez vous comment récupéré un TAG sans le # ?

Le grisé fonctionne avec le lien complet mais si je met le liens les # ça fonctionne pas donc me vient l’idée de le supprimer avec str_replace ça fonctionne.

ensuite si je met le lien complet dans un TAG impossible de supprimer le # avec str_replace

celui activé ne fonctionne pas, c’est celui ci que j’aimerais faire conctionner

Merci de votre coup de main


Pourquoi tu t’embêtes, c’est qu’un tag et tu mets ce que tu veux dedans donc ne mets pas les # qui entoure la commande et tu n’auras pas à essayer de les virer pour les remettre ensuite au final dans le bloc code.

Car il est utilisé avec tag(montag) et en bloc code et avec tag(montag) quand tu met un lien info il fait les #

J’ai pas bien compris ta réponse.

Ton scénario n’est constitué que de ce que tu as montré n’est-ce pas ?

C’est pas parce que tu as utilisé le menu pour aller chercher ta commande info (ce qui est très bien pour éviter les fautes de frappe), que tu ne peux pas ensuite supprimer les 2 # dans la valeur

J’ai d’autre chose dans mon scenario qui utilise le même tag mais qui a besoin des #

et si je change le nom de l’objet sans les # il ne suivra pas le nouveau nom

Je ne vois pas où tu utilises tag(Tag_Name_Thermostat) dans ton scénario mais bref, de tout façon tu ne pourras pas car la commande est évaluée dans le bloc code dès lors que tu as des # autour de la commande dans le tag. Ce n’est donc pas le nom de la commande que tu récupères dans la variable du bloc code mais la valeur de cette commande.

Tu es donc obligé de mettre un tag Tag_Name_Thermostat [Parents][Chauffage][info_slider_thermo] (donc sans les #) puis :

  • Dans le bloc code : ajouter des # autour donc '#'.$montag.'#'
  • En dehors du bloc code : ajouter aussi des # autour mais en demandant une réévaluation de la commande donc value(#tag(montag)#)
1 « J'aime »

Ok merci pour t’es conseil @Bison,

Dans tous les cas tu donnes la solution

C’est ce que j’avais compris avec le # on récupère la valeur !

Merci Bien, Bonne Soirée

Je viens de tester : value(#tag(Tag_Name_Num)#)

Ça ne fonctionne pas.

J’ai recrée un tag identique avec le #

Tu peux montrer l’ensemble du scénario et le log parce que ça m’étonne là.

Ca fonctionne grace au 2éme TAG :

Avec value tag fonctionne pas :

Et les logs du scénario entouré avec la balise de texte préformaté