lone
Novembre 29, 2020, 5:23
1
Hello,
Après de longues fouilles j’ai enfin trouvé la formule pour calculer l’humidité absolue mais je galère avec la fonction exponentielle.
La formule fonctionne et donne le bon résultat en python mais impossible de la faire marcher dans un virtuel.
(6.112 * exp((17.67 * T) / (T + 243.5)) * rh * 2.1674 / (273.15 + T))
(avec T pour température et rh le taux d’humidité bien sûr).
C’est le « exp » qui bloque, quelqu’un sait comment faire svp ?
JAG
Novembre 29, 2020, 5:37
2
Mon plugin #plugin-rosee le fait directement
3 « J'aime »
lone
Novembre 29, 2020, 5:40
3
Merci, je ferais ça si je ne trouve pas mais j’aimerais bien savoir comment faire quand même
olive
Novembre 29, 2020, 5:41
4
un petit script en python …
dans le bloc code de scenario !
olive
Novembre 29, 2020, 5:43
6
non direct depuis un bloc code de scenario
lone
Novembre 29, 2020, 5:44
7
Faudra que je teste .
Sinon la fonction exp n’est pas dispo dans virtuel alors ?
olive
Novembre 29, 2020, 5:48
8
$req='python3 ////script.py parametres1 2 3'
$scenario->setLog('DEBUG REQUETTE : '.$req);
$output0 = shell_exec($req);
$scenario->setLog('DEBUG RETOUR : '.$output0);
/// exploitation du résultat dans $output0
jpty
Novembre 29, 2020, 5:49
9
Je me demandais où vous tapiez la formule dans un virtuel ?
lone
Novembre 29, 2020, 5:52
10
Je colle ça en haut de mon script et je mets $output0 dans la valeur du virtuel ?
lone
Novembre 29, 2020, 5:53
11
Dans nom information et tu te sers de rechercher l’équipement en dessous pour sélectionner tes équipements
1 « J'aime »
jpty
Novembre 29, 2020, 6:13
12
OK, alors la formule est trop compliquée pour Jeedom.
Le testeur d’expression n’y arrive pas non plus: avec T = 1 et rh =67
Il y a trop de niveau de parenthèses. Même calcul avec moins de parenthèse:
Il vous reste les solutions:
du plugin de @JAG qui vous donnera en meme temps les alertes givre ou rosée
celle d ’ @olive dans un bloc code de scénario avec l’appel d’un script python à exécuter
ou directement en php dans un bloc code de scénario avec la création d’une variable à récupérer dans un virtuel.
lone
Novembre 29, 2020, 6:18
13
En python ça passe bien
#!/usr/bin/python3
from math import exp
T = 20
rh = 50
ah = float(6.112 * exp((17.67 * T) / (T + 243.5)) * rh * 2.1674 / (273.15 + T))
print ((ah),"g/m3")
Mais j’ai du mal à l’intégrer dans jeedom.
jpty
Novembre 29, 2020, 6:21
14
Ya pas la pression atmosphérique à prendre en compte aussi ?
lone
Novembre 29, 2020, 6:22
15
J’ai déjà pleuré pour trouver cette formule alors on va dire que 1024mbar ça ira
jpty
Novembre 29, 2020, 6:27
16
1024 c’est dans un anticyclone. La normale est à 1013.
Le plugin rosée de @JAG utilise la pression atmo.
1 « J'aime »
lone
Novembre 29, 2020, 6:29
17
L’école c’est loin pour moi, lol.
Effectivement je crois que je vais finir avec le plugin rosée.
Merci de votre aide.
jpty
Novembre 29, 2020, 6:34
20