Limiter les décimales d'un capteur pour un calcul?

Salut tout le monde,

Je me souviens avoir lu un sujet qui mentionne la même idée, mais sans le retrouver. Sauf la version de Gladys qui apporte les calculs : Faire une opération mathématique sur une “variable de scène” - #69 par pierre-gilles

Contexte
Tous les jours, je calcule la consommation de mon homelab et le prix que cela me coûte.

Chaque jour à minuit, une scène récupère le nombre de Wh consommé il y a 24h, calcule la différence avec maintenant et multiplie avec le prix du Wh de mon fournisseur d’énergie.

  • Consommation actuelle (Wh) - Consommation hier (Wh) = Consommé en 24h
  • Prix du kWh * consommé en 24h = Coût de mon lab sur 24h

Voilà ce que ça donne :

Demande
Le prix de l’électricité est de 0.06704$ le kWh (je suis au Canada). Donc calculer 1.52 kWh* 0.06704$ = 0,1019008$.

Dans les faits, je serais intéressé de n’avoir que la valeur approximative, soit 0.10$.

Je sais que la librairie utilisée par Gladys est Mathjs, et qu’il existe la fonction round() pour ça. Mais impossible de réussir à la faire fonctionner.

@bertrandda si tu passes par là, je suis preneur de ton expertise sur cette intégration :slight_smile:

Hello,
tu peux tester avec ci-dessous, ça devrait le faire.

round(Prix_du _kWh * consommé_en_24h,2)

C’est ce que j’avais essayé dans un bloc, mais peut être pas le bon tout simplement (envoyer un message MQTT).

Au final c’était bien ça. Le bloc MQTT ne prend pas les calculs en compte.
Merci @mutmut !

image

1 « J'aime »

Il y a une subtilité que @prohand avait indiqué dans son tuto machine à laver.
Il faut créer un capteur et un actionneur :

1 « J'aime »

j’ai été un poil trop lent :wink:

1 « J'aime »

Merci pour ton temps :slight_smile:

2 « J'aime »

Incroyable le prix en tout cas :sweat_smile:

1 « J'aime »