Affichage de variables dans une vue tableau?

Salut,

Est-ce qu’il y a moyen d’afficher dans une vue de type tableau, le contenu d’une ou plusieurs variables ?
J’aimerais bien avoir sous les yeux le contenu d’une variable de type array.

Bisons

Salut @Bison,

Elle est générée par un bloc-code ta variable tableau ? pour afficher un tableau dans l’idée:

print_r(variable, true);

à prendre avec des pincettes je me suis mis au php que depuis mercredi :wink:

Salut @Salvialf,

Oui, la variable a été générée depuis un bloc code :

$a_TabTemperatures[0] = 5001; // exemple
$scenario->setData('a_tabTemperatures', $a_TabTemperatures);

Mais sans parler de cette subtilité, je n’arrive déjà pas à faire afficher la variable d’un scénario « normal » dans une vue de type tableau.

J’ai essayé avec :

variable(var)
print_r(var, true)
print_r(var)
$scenario->getData('var');

Pour le moment rien ne fonctionne, il n’y a pas d’interprétation et ça affiche ce que j’écris.

Je viens de tenter de passer par un virtuel puisqu’il a l’air de falloir des commandes dans la vue tableau mais impossible de faire afficher ma variable de type array dans le virtuel : variable(a_tabTemperatures[0])

ça ne retourne pas de valeur :frowning:

J’en ai mangé toute la semaine je suis chaud.

J’imagine que tu as retourné ce post:

Donc si je te suis bien il faut faire un truc dans ce genre pour récupérer dans les logs déjà:

$a = print_r($a_TabTemperatures, true);
$scenario->setLog($a);

Je débute alors faut être indulgent :sweat_smile: :innocent:

Oui je suis parti de ce post pour voir comment utiliser le bloc code en lien avec Jeedom.
Moi le PHP je connais … mais il me manque un peu l’interfaçage avec Jeedom :slight_smile:

Donc oui on peut effectivement utiliser le code que tu as donné pour afficher dans un scénario et c’est ce moyen que j’utilise (par avec print_r mais c’est pas important) pour afficher le contenu du tableau quand je veux voir les valeurs.

Effectivement y’a un truc que je dois pas comprendre…

En fait tu veux envoyer directement dans une disposition tableau d’un équipement les valeurs du array() ??

Pour récupérer la variable initiée au-dessus c’est:

$scenario->getData($a_tabTemperatures);

Plutôt dans une vue tableau, c’est peut-être ce que tu veux dire ?

Par exemple même pour récupérer une variable toute bête et l’afficher dans la vue de type tableau, ça ne fonctionne pas

Aaahh je connaissais pas ça !! Je n’ai jamais utilisé les vues c’est pas mal !!! Ajouté sur la to-do :wink: merci

Et si tu mets ta variable dans une commande virtuelle et que tu ajoutes la commande dans le tableau de la vue?

C’est ce que j’ai tenté oui mais ça ne retourne pas de valeur sur le virtuel déjà avec ça : variable(a_tabTemperatures[0])

Ah oui tu ne pourras pas te balader dans un tableau php à partir d’une variable dans une commande.

En même temps j’arrive pas trop à comprendre pourquoi.

Cette variable de type array existe bien dans Jeedom (On voit une valeur : [object Object]) donc c’est bizarre que l’on puisse pas la récupérer avec un bête variable(var_tableau)[x] en dehors d’un bloc php

bah les commandes ne retournent que des string, des float ou des int selon moi. Elles ne sont pas en mesure de parcourir un tableau.

J’espère ne pas dire trop de bêtise je commence à peine à y mettre le nez.

Faudrait arriver à jeter un oeil au plugin virtuel pour savoir comment rectifier ça en fait.

Tu as pu passer sur la V4 avec promox au fait ?

J’ai refait une fresh install proxmox avec une vm V4 et une vm restaurée de ma V3.

Je passe tout au fur et à mesure en V4.

Bon alors j’ai un peu regarder le plugin virtuel, il a l’air de faire faire le job à une fonction de Jeedom : jeedom::evaluateExpression

On retrouve cette fonction dans le core mais je ne comprends pas trop ce qu’il fait car elle appelle une fonction evaluate et je ne connais pas. eval, oui mais evaluate, non

@Loic est-ce que tu sais comment faire ou pourquoi la fonction d’évaluation du core ne permet pas l’accès à une variable de type array en dehors d’un bloc code ?

Ben pck la fonction evaluate ne sait pas gérer de tableaux tout simplement ? Elle est là pour faire du calcul où sortir une chaîne de caractères avec un tableau elle ne sait pas quoi faire c’est tout a fait normal

OK merci. Est-ce qu’il est envisageable de faire quelque chose pour que les tableaux soient pris en charge, comme c’est le cas avec un bloc code ?

D’ailleurs elle est documenté où cette fonction evaluate() ? Je ne trouve que eval() en php

Non on ne prendra pas en charge les tableaux dans cette fonction désolé.

La fonction evaluate appel une fonction d’un composant synfony

Ce sujet a été automatiquement fermé après 24 heures suivant le dernier commentaire. Aucune réponse n’est permise dorénavant.