Afficher infos variables dans log d'un scenario

Bonjour
Pour trouver des erreurs dans mon scenario je voudrai afficher le contenu de variables
j’ai trouve des infos dans le lien ci dessous par contre incapable de l’adapter.

https://community.jeedom.com/t/isoler-des-valeurs-multiples-separees-par-une-virgule/61959

Je souhaite remonter en l’ occurrence ceci
le $xml des lignes ci dessous dans mon virtuel je n’ai rien

$valeur = $pXml->getElementsByTagName($pXmlNoeud)->item(0)->getElementsByTagName($pXmlAttribut)->item(0)->nodeValue;

ou pour
lireValeurTableauXml($xml, 1, 1899);

J’ai écris une ligne du genre

$scenario->setLog('$xml',$xml);
Cela remonte dans le log $xml sans la valeur

ou est l’erreur ??

Hello

C’est pas plutot $scenario->setLog("$xml ",$valeur); ?

Salut,

Tel qu’indiqué dans la documentation des scénarios :

$scenario->setLog($message);

Écrit un message dans le log du scénario

donc dans ton cas :

$scenario->setLog($valeur);

Bonsoir,

$scenario->setLog('$xml = '.$xml);

1 « J'aime »

Merci pour ce retour rapide

la piste est bonne par contre cela ne fonctionne pas
je voulais faire un tests avec truc du genre pour valider cela ne fonctionne pas avez vous une idée

$test = « 50 »
`$scenario->setLog(’$test = '.$test);

[2021-05-25 18:24:50][SCENARIO] syntax error, unexpected end of file, expecting ‹ ` ›

Avec vos infos j’ai ces resultats
$scenario->setLog($valeur); >> dans le log le retour est vide
$scenario->setLog('$xml = '.$xml); >> dans le log le retour est vide et j’ai le nom de la variable

Cela correspond au tests que j’avais déja fait et qui ne donnait rien

[2021-05-25 18:11:34][SCENARIO] Exécution d’un bloc code
[2021-05-25 18:11:34][SCENARIO]
[2021-05-25 18:11:34][SCENARIO] $xml =
[2021-05-25 18:11:34][SCENARIO] Fin correcte du scénario

@naboleo dans un premier temps je sépare les infos après je pense que je regrouperais comme proposé $scenario->setLog("$xml ",$valeur);

Il te manque un point virgule a la fin de ta 1ere ligne.

il te faudrait formuler

$test = "50";
$scenario->setLog('$test = '.$test);
1 « J'aime »

Merci @olive

Mauvais copier coller il y avais bien le point virgule
$test = ‹ 50 ›;
`$scenario->setLog(’$test = '.$test);
par contre il y avais un petit tilde devant $scenario, je viens de le supprimer maintenant dans le log j’ai

[2021-05-25 18:36:26][SCENARIO] $test = 50

Donc un peu sec sur les autres variables qui ne remonte pas

Ta ligne de tout début me semble bien compliqué.

maintenant que tu sais faire un setLog prend ton temps et redécoupe chaque partie
pour trouver ce qui ne va pas.

ps lorsque tu copie du code dans community
sur une ligne vide clique sur </> et colle le texte la ou c’est indiqué.
si non beaucoup de caractère sont transformé et ça deviennent illisible.

j’ai êtes un peu vite

$scenario->setLog et peux etre le premier truc que je comprends
Par contre je ne maitrise pas le reste donc le découpage pas encore pour moi

N’y a t il pas une autre méthode car je n’arrive pas à voir le contenu de certaine variable donc je ne sais pas si elle est vraiment vide ou si je ne pointe pas vraiment dessus

Reprenons depuis le début si tu le veut bien.

d’ou viennent tes données ? un objet/equipement/commande ?

quel est leur forme et contenu ?

Je vais récupérer les infos de mon serveur Wes via mon scenario qui ouvre un lien sur un fichier .cgx

le scenario trouve ces infos

<data>
<info>
<time>19:50</time>
</info>
<TblanTIC1>
<tr class='A0'><td>Ann&eacute;e HP</td><td align=right>4071</td><td align=right>618</td></tr> <tr class='A0'><td>Ann&eacute;e HC</td><td align=right>2881</td><td align=right>330</td></tr>
</TblanTIC1>
<temp>
<SONDE1>10.6</SONDE1>
<SONDE2>21.0</SONDE2>
<SONDE3>0.0</SONDE3>
<SONDE4>22.2</SONDE4>
<SONDE5>21.4</SONDE5>
<SONDE6>20.8</SONDE6>
</temp>
</data>

Mon scenario fonctionne bien pour les sondes, je visualise le résultat dans un virtuel

Pour tester le bon fonctionnement du programme j’ ai fait un test log sur

lireValeurXml($xml, 'temp', 'SONDE2', 1508, 0);
  $scenario->setLog('$xml',$xml);

dans le log j’ai ce retour

`[2021-05-25 19:55:01][SCENARIO] Exécution d'un bloc code
[2021-05-25 19:55:02][SCENARIO] $xml
[2021-05-25 19:55:02][SCENARIO] Fin correcte du scénario
`

Alors que dans mon virtuel j’ai bien « 21.0 »

J’ai donc déjà un pb pour faire du debug (résultat ok dans virtuel et nok dans log
je cherche un moyen fiable pour aller plus loin
ou le pb vient que je n’ écris au bonne endroit les choses dans le script

Avant de passer sur mon vrai problème je voulais déjà valider sur le bout de code qui fonctionnel

Le problème que je veux traiter au final est sur un tableau qui renvoi du fichier cgx ces infos

<TblanTIC1>
<tr class='A0'><td>Ann&eacute;e HP</td><td align=right>4071</td><td align=right>618</td></tr> <tr class='A0'><td>Ann&eacute;e HC</td><td align=right>2881</td><td align=right>330</td></tr>
</TblanTIC1>

Comme t’as dit @olive il faut faire $scenario->setLog('$xml'.$xml);
Il faut un point pas une virgule …

Vue le données de ton fichier je t’invite a utiliser le plugin-script
car tes données sont de type XML …

voir ici

Je viens de corriger résultat identique

Passe en MP si tu veux bien …

Essaye un json_encode($xml) …

Bonjour

Tu me propose de passer d’un scenario au plugin script, je ne maitrise déjà pas les scenarios le fait de passer au plugin script pour un débutant comme moi ne risque t il pas d’être un peu plus compliqué

Avec ce plugin mon code va fonctionner autrement ?

Hormis la doc officiel y a t il des tutos sur le sujet.

Bonne journée

Bonjour,

Je ne comprends pas bien ce que tu cherches à faire avec un nouveau plugin Wes qui fait déjà bien + mais bon…

Je t’invite à prendre des cours de développement web.

1 « J'aime »

De base j’utilise le plugin Wes et maintenant le nouveau plugin Wes control

Je cherche juste à visualiser des choses non dispos dans ces 2 plugins et c’est pas simple

Si tu as les indices CGX de ces données non disponibles dans le nouveau plugin Wes (actuellement en 1ère beta avant stable) il serait plus intéressant des le faire remonter aux développeurs afin de les intégrer dans le plugin.