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

**URL:** <https://community.gladysassistant.com/t/faire-une-operation-mathematique-sur-une-variable-de-scene/7030>\
**Category:** Demandes livrées\
**Tags:** feature-core, scene, scene-action\
**Created:** [Mars 7, 2022, 8:44 UTC](https://community.gladysassistant.com/t/faire-une-operation-mathematique-sur-une-variable-de-scene/7030 "2022-03-07T20:44:49Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![spenceur](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/spenceur/32/1961_2.png) [@spenceur](https://community.gladysassistant.com/u/spenceur)\
**Post date:** [Mars 7, 2022, 8:44 UTC](https://community.gladysassistant.com/t/faire-une-operation-mathematique-sur-une-variable-de-scene/7030/1 "2022-03-07T20:44:49Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![guim31](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/guim31/32/4840_2.png) [@guim31](https://community.gladysassistant.com/u/guim31)\
**Post date:** [Mars 7, 2022, 8:58 UTC](https://community.gladysassistant.com/t/faire-une-operation-mathematique-sur-une-variable-de-scene/7030/2 "2022-03-07T20:58:18Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![lmilcent](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/lmilcent/32/7023_2.png) [@lmilcent](https://community.gladysassistant.com/u/lmilcent)\
**Post date:** [Mars 9, 2022, 2:34 UTC](https://community.gladysassistant.com/t/faire-une-operation-mathematique-sur-une-variable-de-scene/7030/3 "2022-03-09T14:34:17Z")

</div>

Vous voulez dire ça ?

> [@Somme, moyenne, calculs dans les scènes](https://community.gladysassistant.com/t/somme-moyenne-calculs-dans-les-scenes/6646):
>
> Feature description Dans une scène, permettre les calculs : Moyenne des valeurs sur une période Somme des valeurs sur une période Comparaison de valeurs (exemple 4) Exemples 1. Humidité moyenne dans les pièces de mon logement “Si la moyenne des valeurs d’humidité est supérieur à 60% sur 6h, alors je déclenche une action (ou j’envoie un message)” 2. Température moyenne sur une période “Si mon réfrigérateur a une température moyenne supérieur à 6°C en 2h, alors j’avertis qu’il est pas asse…

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

---

<div class="post-metadata">

**Author:** ![spenceur](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/spenceur/32/1961_2.png) [@spenceur](https://community.gladysassistant.com/u/spenceur)\
**Post date:** [Mars 9, 2022, 3:04 UTC](https://community.gladysassistant.com/t/faire-une-operation-mathematique-sur-une-variable-de-scene/7030/4 "2022-03-09T15:04:15Z")

</div>

Pi @lmilcent

> [@Incrémenter ou decrementer la valeur d'un appareil](https://community.gladysassistant.com/t/incrementer-ou-decrementer-la-valeur-dun-appareil/7025/9):
>
> Clairement slight_smile Il y a une demande de fonctionnalité qui s’en approche : [Somme, moyenne, calculs dans les scènes](https://community.gladysassistant.com/t/somme-moyenne-calculs-dans-les-scenes/6646) Après cette demande part un peu dans tous les sens, c’est pas très concret, donc je créerait bien des demandes de fonctionnalités concrètes. Là en gros concrètement pour ta demande il manque 2 trucs : Etre capable de faire une opération mathématique sur une “variable de scène”: addition, soustraction, multiplication, division Etre capable d’injecter une variable dans une…

---

<div class="post-metadata">

**Author:** ![lmilcent](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/lmilcent/32/7023_2.png) [@lmilcent](https://community.gladysassistant.com/u/lmilcent)\
**Post date:** [Mars 9, 2022, 4:10 UTC](https://community.gladysassistant.com/t/faire-une-operation-mathematique-sur-une-variable-de-scene/7030/5 "2022-03-09T16:10:56Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![spenceur](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/spenceur/32/1961_2.png) [@spenceur](https://community.gladysassistant.com/u/spenceur)\
**Post date:** [Mars 9, 2022, 4:12 UTC](https://community.gladysassistant.com/t/faire-une-operation-mathematique-sur-une-variable-de-scene/7030/6 "2022-03-09T16:12:20Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![pierre-gilles](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/pierre-gilles/32/5886_2.png) [@pierre-gilles](https://community.gladysassistant.com/u/pierre-gilles)\
**Post date:** [Mars 9, 2022, 5:43 UTC](https://community.gladysassistant.com/t/faire-une-operation-mathematique-sur-une-variable-de-scene/7030/7 "2022-03-09T17:43:23Z")

</div>

> [@lmilcent](#):
>
> En tout cas c’est bien mon besoin, faire des calculs sur les données récupérée dans les scènes !

Ta PR demande pas mal de trucs, par exemple «&nbsp;moyenne de valeurs sur une période&nbsp;», 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 ?

---

<div class="post-metadata">

**Author:** ![lmilcent](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/lmilcent/32/7023_2.png) [@lmilcent](https://community.gladysassistant.com/u/lmilcent)\
**Post date:** [Mars 14, 2022, 4:42 UTC](https://community.gladysassistant.com/t/faire-une-operation-mathematique-sur-une-variable-de-scene/7030/8 "2022-03-14T16:42:29Z")

</div>

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à 😅

---

<div class="post-metadata">

**Author:** ![pierre-gilles](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/pierre-gilles/32/5886_2.png) [@pierre-gilles](https://community.gladysassistant.com/u/pierre-gilles)\
**Post date:** [Mars 14, 2022, 4:49 UTC](https://community.gladysassistant.com/t/faire-une-operation-mathematique-sur-une-variable-de-scene/7030/9 "2022-03-14T16:49:23Z")

</div>

> [@lmilcent](#):
>
> surtout ce qui n’est pas dans le périmètre de cette demande là

C’est pour ça que les demandes de fonctionnalités doivent être très concrètes, et lister exactement ce qui est attendu 🙂 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 😛

---

<div class="post-metadata">

**Author:** ![guim31](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/guim31/32/4840_2.png) [@guim31](https://community.gladysassistant.com/u/guim31)\
**Post date:** [Septembre 22, 2022, 9:49 UTC](https://community.gladysassistant.com/t/faire-une-operation-mathematique-sur-une-variable-de-scene/7030/10 "2022-09-22T09:49:18Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![lmilcent](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/lmilcent/32/7023_2.png) [@lmilcent](https://community.gladysassistant.com/u/lmilcent)\
**Post date:** [Septembre 22, 2022, 11:54 UTC](https://community.gladysassistant.com/t/faire-une-operation-mathematique-sur-une-variable-de-scene/7030/11 "2022-09-22T11:54:00Z")

</div>

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

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/](https://api.mathjs.org/)

 ![image](https://gladys-assistant-community.b-cdn.net/uploads/default/original/2X/5/57605581af1bbbf979c6ed4f34713faf480d7856.png)

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

---

<div class="post-metadata">

**Author:** ![lmilcent](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/lmilcent/32/7023_2.png) [@lmilcent](https://community.gladysassistant.com/u/lmilcent)\
**Post date:** [Septembre 22, 2022, 11:59 UTC](https://community.gladysassistant.com/t/faire-une-operation-mathematique-sur-une-variable-de-scene/7030/12 "2022-09-22T11:59:26Z")

</div>

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).

 ![image](https://gladys-assistant-community.b-cdn.net/uploads/default/original/2X/4/4a858ed11fa30b5ea75b00cf9d3ebc13889bc797.png)

---

<div class="post-metadata">

**Author:** ![VonOx](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/vonox/32/10128_2.png) [@VonOx](https://community.gladysassistant.com/u/VonOx)\
**Post date:** [Septembre 22, 2022, 4:45 UTC](https://community.gladysassistant.com/t/faire-une-operation-mathematique-sur-une-variable-de-scene/7030/13 "2022-09-22T16:45:34Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![pierre-gilles](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/pierre-gilles/32/5886_2.png) [@pierre-gilles](https://community.gladysassistant.com/u/pierre-gilles)\
**Post date:** [Septembre 23, 2022, 8:03 UTC](https://community.gladysassistant.com/t/faire-une-operation-mathematique-sur-une-variable-de-scene/7030/14 "2022-09-23T08:03:38Z")

</div>

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

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

---

<div class="post-metadata">

**Author:** ![lmilcent](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/lmilcent/32/7023_2.png) [@lmilcent](https://community.gladysassistant.com/u/lmilcent)\
**Post date:** [Septembre 23, 2022, 8:30 UTC](https://community.gladysassistant.com/t/faire-une-operation-mathematique-sur-une-variable-de-scene/7030/15 "2022-09-23T08:30:08Z")

</div>

Oui je te fais ça.

[EDIT]

> <https://github.com/GladysAssistant/Gladys/issues/1605>
>
> Hello all!
> 
> When using the "HTTP Call Request" with a Body, the last value use…d it not parsed correctly and all brackets are sent with the request.
> 
> !\[image\](https://user-images.githubusercontent.com/14235706/191924128-2534cfdc-ff3d-4e54-b671-340cb727ed2d.png)
> 
> When trying to execute the request (here the bug is visible) : 
> 
> !\[image\](https://user-images.githubusercontent.com/14235706/191924173-596c71d2-80c3-4e98-a750-afedbee17de9.png)
> 
> The bug is that the value sent by Gladys contains \`{{\` and \`.lastvalue\`.

---

<div class="post-metadata">

**Author:** ![Will\_71](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/will_71/32/9582_2.png) [@Will\_71](https://community.gladysassistant.com/u/Will_71)\
**Post date:** [Septembre 23, 2022, 9:34 UTC](https://community.gladysassistant.com/t/faire-une-operation-mathematique-sur-une-variable-de-scene/7030/16 "2022-09-23T09:34:05Z")

</div>

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

 ![IMG_20220923_111128](https://gladys-assistant-community.b-cdn.net/uploads/default/original/2X/2/2e5390bf65cdc0812d16508ab6682af7442543b3.jpeg)

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

---

<div class="post-metadata">

**Author:** ![Will\_71](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/will_71/32/9582_2.png) [@Will\_71](https://community.gladysassistant.com/u/Will_71)\
**Post date:** [Septembre 23, 2022, 9:37 UTC](https://community.gladysassistant.com/t/faire-une-operation-mathematique-sur-une-variable-de-scene/7030/17 "2022-09-23T09:37:11Z")

</div>

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

 ![IMG_20220923_113519](https://gladys-assistant-community.b-cdn.net/uploads/default/original/2X/c/c2a33c25a48bf851f91639de61ee71676ba89b66.jpeg)

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

---

<div class="post-metadata">

**Author:** ![lmilcent](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/lmilcent/32/7023_2.png) [@lmilcent](https://community.gladysassistant.com/u/lmilcent)\
**Post date:** [Septembre 23, 2022, 9:55 UTC](https://community.gladysassistant.com/t/faire-une-operation-mathematique-sur-une-variable-de-scene/7030/18 "2022-09-23T09:55:44Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![lmilcent](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/lmilcent/32/7023_2.png) [@lmilcent](https://community.gladysassistant.com/u/lmilcent)\
**Post date:** [Septembre 23, 2022, 9:59 UTC](https://community.gladysassistant.com/t/faire-une-operation-mathematique-sur-une-variable-de-scene/7030/19 "2022-09-23T09:59:27Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![spenceur](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/spenceur/32/1961_2.png) [@spenceur](https://community.gladysassistant.com/u/spenceur)\
**Post date:** [Septembre 23, 2022, 10:02 UTC](https://community.gladysassistant.com/t/faire-une-operation-mathematique-sur-une-variable-de-scene/7030/20 "2022-09-23T10:02:02Z")

</div>

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

[Page suivante](https://community.gladysassistant.com/t/faire-une-operation-mathematique-sur-une-variable-de-scene/7030.md?page=2)
