Récupérer une valeur issue d'une commande Shell

Bonjour,

Je déterre ce sujet qui correspond a mon pb sans avoir la solution.
Comment utiliser le plugin-script pour un script shell pour récupérer une information?

un cas simple: (un script qui fait un echo toto) et jeedom récupère toto pour le mettre dans une variable.
Le type action « action » exécute mais ne récupère pas de valeur mais peut lancer une action « info » (si c’est précisé)
Le type « info » est la pour cela, mais je ne sais pas comment récupérer la sortie standard, le contenu d’un fichier, ou une variable de mon script.

J’ai testé, plein de trucs…
des fois j’arrive a récupérer la valeur dans mon scenario via: #[maison][script][info]# mais pas toujours !? (Une première fois alors que je demande l’exécution du script plusieurs fois)

ps: Je pourrais le faire avec un bloc code php dans mon scenario, mais je cherche à comprendre/utiliser (qui est fait pour ca) ce plugin-script et précisement le type script « script » avec Type « info »

La doc du plugin, n’est pas clair sur l’usage de ce type « info » voire les interactions avec le type action, j’ai cherché dans la doc core, rien trouvé non plus.

Merci d’avance

C.

Bonjour @zaibakker,

La commande dans le plugin script:

Le shell script TestShell.sh est exécutable:

echo "toto"

Quand je clique dans l’onglet Commandes sur Sauvegarder puis sur Tester, il affiche: image

Puis en plaçant cette commande dans un virtuel:
image
elle apparait dans le virtuel sur le dashboard:
image

Salut,
Je ne connais pas la notion de virtuel, tu parles du plug-in virtuel d’après google/jeedom j’imagine.
Je vais re tester cela ce soir car à part ça, c’est bien ce que je faisais…:confused:

Merci pour la réponse rapide et détaillée👌

Oui, je parlais bien du plugin virtuel.
C’est la même chose dans un scénario, la commande a le même nom. ( #[Test][Horaires][Info]# dans mon exemple )

Je n’ai pas attendu, j’ai testé, mais pas encore ça, j’avais ce comportement étrange ce we également.

Le stdout, n’est pas mis à jour. Comme pour la commande test, il faut faire sauvegarder pour que le stdout soit maj. Le script a l’air d’être mis en cache comme la sortie standard.
Au lieu de faire echo toto, si tu mets echo $(date) on se rend compte qu il n’execute qu’une fois le script. C’est tjs la même date.
J’ai fait ça ds scénario, une boucle, ptre différent avec virtuel.

C’est aussi pour cela que je me posais la question sur ce ‹ info ›. Jeedom n’execute pas le script de nx car info n’a pas été maj par une autre action jeedom… Bref, j’essaye de comprendre, avant de dire que c’est un bug.

C.

En direct dans le plugin script, il faut faire Exécuter. Tester ne fait que récupérer la valeur de la dernière exécution.

Pour recup dans un scénario, il faut que le script soit exécuté régulièrement:
image

Avec une maj du script chaque minute, mon virtuel change chaque minute:
image

Merci. ca fonctionne now. :heart_eyes:
En fait le champs info est mis a jour uniquement si la cron est activé et/ou une action ‹ action › est exécuté juste avant.
Du coup, je fais une action bidon dans mon plugin-script, pwd par ex. et si j’execute cette action, alors l’action ‹ info › est mise a jour.
Sans action de type ‹ action › ou la cron, info n’est mis a jour qu’une fois.
Ca, faut le deviner, je me doutais de cette piste…bref, merci beaucoup a toi de m’avoir remis sur les rails. :hugs:

Affaire classée.

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