Faire une opération mathématique sur une “variable de scène”

En tant qu’utilisateur
Je veux pouvoir additionner, soustraire, multiplier, diviser une variable de scene
Afin de pouvoir réaliser des calculs plus complexe dans les scenes

Très bonne idée, cela peut être intéressant dans pas mal de cas de figure !

Vous voulez dire ça ?

Je te propose de la modifier pour prendre ton cas de figure en compte aussi et fusionner les votes :slight_smile:

Pi @lmilcent

1 « J'aime »

Bon, bon, ok je vous donne mon vote :wink:
En tout cas c’est bien mon besoin, faire des calculs sur les données récupérée dans les scènes !

Haha :wink:
On pourrait faire des fusions oui parce que certain voulait ça aussi ^^

Ta PR demande pas mal de trucs, par exemple « moyenne de valeurs sur une période », ce qui est un dev costaud.

C’est pas du tout ce dont on parle ici ^^

Ici, on parle juste de prendre une valeur de capteur qu’on a déjà dans la scène, et de faire +1, x2, -4, /5.

Ta PR est toujours d’actualité du coup ?

Je vois. En effet, il faut bien déterminer les deux demandes de fonctionnalité du coup !
Les deux sont mes besoins, mais surtout ce qui n’est pas dans le périmètre de cette demande là :sweat_smile:

C’est pour ça que les demandes de fonctionnalités doivent être très concrètes, et lister exactement ce qui est attendu :slight_smile: Sinon :

  • Personne ne vote pour car la demande n’est pas comprise
  • Même moi je ne comprend pas ce qu’il faut développer :stuck_out_tongue:

Je remonte aussi ce topic pour y laisser ma vision de la chose, peut-être que des exemples concrets peuvent guider les gens.

Mon utilisation (en tout cas la première pour le moment) serait pour le fonctionnement de ma piscine.
Actuellement je contrôle le lancement / l’arret de la pompe depuis une scène qui est définie avec des horaires fixes.
Or il est conseillé de régler le temps de fonctionnement d’une pompe en fonction de la température de l’eau. Si je schématise, on doit diviser la température par 2 pour savoir combien d’heures la pompe doit tourner par jour. Cela permet d’éviter que l’eau ne vire au vert si elle ne tourne pas assez / de faire des économies si on évite qu’elle tourne pour rien !

Le fait de pouvoir faire des calculs est un point de départ important pour cette utilisation. Car si la température de l’eau baisse rapidement / monte rapidement, je n’ai pas envie de modifier ma scène sans cesse, cela s’ajusterait tout seul.

1 « J'aime »

Pour moi Gladys ne peut avancer dans le bon sens qu’en donnant des exemples concrets des besoins !
Tu as très bien fait :slight_smile:

Je suis en train de me demander si en attendant, il n’existerait pas une API en ligne permettant d’effectuer un calcul et d’en retourner le résultat ?
Gladys étant en mesure de faire des appels API, ça permettrait presque de se passer de la fonctionnalité le temps qu’elle soit développée.

[EDIT]
Ben oui ça existe :
https://api.mathjs.org/

Il va falloir que j’approfondisse ça moi un de ces 4 :sweat_smile:

2 « J'aime »

Attention, Gladys ne peut pas faire d’appels API GET avec des arguments provenant des capteurs. Mais heureusement, il existe une API en POST et Gladys peut alors utiliser des arguments dynamiques !

[EDIT]
@pierre-gilles : serait-ce un bug ?
Les valeurs des capteurs sont envoyées avec les crochets { (visible sur la capture à droite).

La valeur n’est pas substituée sur la capture de droite :thinking:

Effectivement c’est un bug! Tu as de quoi reproduire le bug pour faire une issue Github?

1 « J'aime »

Oui je te fais ça.

[EDIT]

Pour moi ton problème est normal d’après l’explication ci dessous si tu fait essayer

Et le body, mise à part les variables, n’est pas écrit correctement.

1 « J'aime »

Par contre je n’ai pas essayé avec des variables mais juste avec des valeurs, j’ai le résultat mais j’obtiens un message d’erreur

J’essaierai plus tard avec des variables quand je serais chez moi.

Mais oui bien sur, heureusement que j’ai pas lu…

Mais le problème c’est qu’on peut pas trop savoir quelle variable utiliser ensuite dans le reste de la scène.

remplace ta variable par une valeur que tu es sensé avoir pour connaitre le resultat
Quand tu auras la réponse tu pourras la re remplacé par ta variable