Oui il y en a plein et j’ai pu constater que ma formule est bonne en comparant les résultats
//#!/usr/bin/python3
//from math import exp
//# T = 20
//# rh = 500
//ah=float(6.112 * exp((17.67 * argv[1]) / (argv[1] + 243.5)) * argv[2] * 2.1674 / (273.15 + argv[1]))
//print ((ah),"g/m3")
$t=20;
$rh=500;
$req='python3 monscript.py '.$t.' '.$rh ;
$scenario->setLog('DEBUG REQUETTE : '.$req);
//$output0 = shell_exec($req);
$scenario->setLog('DEBUG RETOUR : '.$output0);
avec passage de paramètre c’est mieux
Merci olive, je vais essayer de comprendre 
J’ai pas le bac 
Tu sais parler aux machines c’est déjà ça 
Je la récupère comment la sortie $output0 ?
$output0
c’est une variable qui contiens la valeur de retour / du print que tu a fait a la fin de ton script
ah reste toujours à 0 
ta modifier ton script pour qu’il prennent des paramètres ??
tu peut aussi a la fin mettre la valeur dans un tag
que dit le log du scenario ?
//#!/usr/bin/python3
//from math import exp
//# T = 20
//# rh = 500
// ah=float(6.112 * exp((17.67 * argv[1]) / (argv[1] + 243.5)) * argv[2] * 2.1674 / (273.15 + argv[1]))
//print ((ah),"g/m3")
$t=20;
$rh=500;
$req='python3 monscript.py '.$t.' '.$rh ;
$scenario->setLog('DEBUG REQUETTE : '.$req);
$output0 = shell_exec($req);
$scenario->setLog('DEBUG RETOUR : '.$output0);
$tags['#monTag#'] =$output0 ;
$scenario->setTags($tags);
Je vais voir ça demain à tête reposée parce que je ne me rappelle même plus comment on passe des arguments avec python.
Merci de ton aide en tout cas 
script.py param1 param2 param3 …
et on récupère
argv[1] argv[2] argv[3] …
Merci je teste ça
De rien python est une passion n’hésite pas !
Pour lancer mon script dans une console je fais
python3 ha.py 20 50
C’était pas ça ?
Ca me répond que:
NameError: name ‹ argv › is not defined
Le log du scenario, lui, dit ras
Bon ok j’ai réussi en important sys et en renommant les argv en sys.argv
Maintenant j’ai un problème entre float et int, je l’ai résolu en mettant des float partout.
Ca donne:
#!/usr/bin/python3
import sys
from math import exp
ah=float(6.112 * exp((17.67 * float(sys.argv[1])) / (float(sys.argv[1]) + 243.5)) * float(sys.argv[2]) * 2.1674 / (273.15 + float(sys.argv[1])))
print ((ah),"g/m3")
Mais ah reste toujours à 0 ![]()
Oui pardon
il faut faire
from sys import argv
voilà un truc un peut plus complet
$tags = $scenario->getTags();
$t = $tags['#t#'];
$rh = $tags['#rh#'];
$req='python3 monscript.py '.$t.' '.$rh ;
$scenario->setLog('DEBUG REQUETTE : '.$req);
$rep = shell_exec($req);
$scenario->setLog('DEBUG RETOUR : '.$rep);
$tags = $scenario->getTags();
$tags['#rep#'] = $rep;
$scenario->setTags($tags);
C’est tout bon, le retour debug donne la bonne valeur mais je n’arrive pas à l’attribuer à mon virtuel, en fait j’arrive pas à la sortir du bloc code du scenario.
Edit, j’ai trouvé, il y a une petite erreur dans ton code:
$tags[’#rep#’] = $req;
c’est plutôt :
$tags[’#rep#’] = $rep;
Un grand merci à toi @olive , j’y serais pas arrivé seul c 'est sûr 
ben tu remplace juste alert par :
event command #rep#
ou command est ton virtuel command info
j’ai corrigé plus haut le rep/req (comme jai pas fait ton script j’ai mis le le req dans le tag pour verifier ![]()
Là ça marche nickel !!!
Super dans la première action tu peut aussi aller chercher les 2 commandes d’un virtuel source de l’info !
Oui je suis entrain de faire ça pour tous mes virtuels qui ont hum et temp 

