Bonjour,
Pour suivre ma consommation électrique j'utilise depuis plus d'un an le script math.php, trouvé sur ce forum, pour faire des opérations (addition, division) sur des états virtuels.(conso sur 1min, cumul sur la journée, ...)
Voici le script en question :
$idperiph = getArg('idperiph');
$operation = getArg('operation');
$val1 = getArg('val1');
$val2 = getArg('val2');
$precision = getArg('precision',false,NULL);
switch ( $operation ) {
case "addition" :
$resultat = $val1 + $val2;
break;
case "soustraction" :
$resultat = $val1 - $val2;
break;
case "multiplication" :
$resultat = $val1 * $val2;
break;
case "division" :
$resultat = $val1 / $val2;
break;
}
$res = setValue($idperiph, round($resultat,$precision));
Ces états sont des valeurs numériques avec 5 chiffres derrière la virgule.
Depuis mardi midi (peut être lié à la dernière mise à jour que je fait manuellement ?) certains de ces états, issus de l'addition d'autres états, ne comportent plus qu'un chiffre derrière la virgule alors que la précision demandée dans le script math reste toujours à 5.
J'ai vérifié en testant le script que par exemple : 0.11500 + 0.00200 donne 0.11700, ce qui sous entend que le script fonctionne avec la bonne précision derrière la virgule.
Par contre si je remplace chaque valeur à additionner par [LAST_VALUE PERIPH_ID=xxxxx]+ [LAST_VALUE PERIPH_ID=yyyyy], le résultat donne 0.1
Il semblerai dans ce cas que le script ne prenne pas les 5 chiffres derrière la virgule de LAST_VALUE PERIPH
Avez vous une idée du pb avant que je ne sollicite le support ?