Comme annoncé, ce forum est passé en lecture seule au 1er janvier 2020. Désormais nous vous invitons à vous rendre sur notre nouvelle page communauté :
Image

A très bientôt !

Calcul de valeur absolue : abs() absente de jeedom ?

Réservé à la création de scénarios dans JEEDOM
flotheouf
Timide
Messages : 41
Inscription : 10 nov. 2018, 19:53

Calcul de valeur absolue : abs() absente de jeedom ?

Message par flotheouf » 12 déc. 2018, 10:34

Bonjour,
Je cherche à calculer la valeur absolue d'une différence, pour tester un scenario de pilotage de mes radiateurs.
On a accès à une fonction max() et min(), mais pas abs()... Existe-t-il un moyen ?

Merci !

Florent

Avatar de l’utilisateur
Nebz
Modérateur
Messages : 6514
Inscription : 23 avr. 2017, 01:37
Localisation : Belgique

Re: Calcul de valeur absolue : abs() absente de jeedom ?

Message par Nebz » 12 déc. 2018, 10:40

Hello,

(variable(maValeur) >=0?variable(maValeur):-variable(maValeur))

non ?
Dev plugin Homebridge

- Fournissez les logs, la capture de vos commandes et vos types génériques svp
- Constructif et bonne humeur, on est pas là pour se lancer des périfs z-wave à la figure :-)

Un petit don ça fait toujours plaisir :)

flotheouf
Timide
Messages : 41
Inscription : 10 nov. 2018, 19:53

Re: Calcul de valeur absolue : abs() absente de jeedom ?

Message par flotheouf » 12 déc. 2018, 14:33

ah oui je ne savais pas que des formules comme çà marchait ! top je vais essayer, merci !

Avatar de l’utilisateur
tomdom
Actif
Messages : 925
Inscription : 14 nov. 2016, 05:46

Re: Calcul de valeur absolue : abs() absente de jeedom ?

Message par tomdom » 14 déc. 2018, 06:33

Bonjour,

La fonction abs() fonctionne.
Il y a 10 catégories de personnes, celles qui connaissent le binaire et les autres
.

FRED777
Timide
Messages : 13
Inscription : 30 mars 2019, 22:31

Re: Calcul de valeur absolue : abs() absente de jeedom ?

Message par FRED777 » 19 juil. 2019, 12:58

Bonjour tomdom
La fonction abs fonctionne en effet mais avec des expressions simples. Sinon, les résultats sont farfelus.
Exemple : avec abs(((10-15)/5)+1) le testeur d'expression donne 8 là ou nous attendons 0....
C'est une expérience passée :( ...

toregreb
Actif
Messages : 2510
Inscription : 20 août 2014, 22:19

Re: Calcul de valeur absolue : abs() absente de jeedom ?

Message par toregreb » 19 juil. 2019, 13:27

Le testeur d'expression (mais aussi les calculs dans les scénarios et les virtuels) accepte toutes les fonctions PHP, sauf que l'accumulation des parenthèses perturbe le parser d'expression. Peut-être qu'un message d'erreur serait préférable à une valeur erronée (j'ai eu le même souci avec la fonction round par exemple).

Donc pour l'expression ternaire proposée ci-dessus, ça peut également ne pas marcher lorsque l'expression devient complexe. Par conséquent, il est recommandé :
- de simplifier au maximum ses calculs, et de les décomposer sur plusieurs lignes dans un scénario par exemple
- d'utiliser les formules de calcul et l'arrondi dans la configurations avancées des commandes.
Jeedom v2.2.6 sur RPi2+razberry (Zwave)+RFXCom, Enocean et MySensors.
[TUTO]Index HP/HC avec pinces Ampèremétriques
Trucs&Astuces

FRED777
Timide
Messages : 13
Inscription : 30 mars 2019, 22:31

Re: Calcul de valeur absolue : abs() absente de jeedom ?

Message par FRED777 » 22 juil. 2019, 10:43

Bonjour toregreb,
Ta proposition est effectivement pertinente dans le cas où ces expressions sont utilisées dans des scénarios.
Là ou je m'étonne, c'est lorsque ces calculs avec parenthèse imbriquées sont injectés hors fonction, les résultats sont bons !!
Dans l'exemple cité, ((10-15)/5)+1 donne bien 0 !
Dans mon cas, c'était un calcul dans un virtuel ; plus précisément, une info binaire mise à jour par un opérateur ternaire avec un calcul d'abs comme indiqué précédemment. Du coup, j'ai remplacé le abs par un carré... l'expression fait 3 lignes, c'est horrible à lire, mais c'est juste :D

Avatar de l’utilisateur
loic
Administrateur
Messages : 14862
Inscription : 01 févr. 2014, 16:21

Re: Calcul de valeur absolue : abs() absente de jeedom ?

Message par loic » 22 juil. 2019, 10:57

Bonjour,
C'est un soucis connu nous n'avons jamais reussi a améliorer cette partie malheureusement.
Aide nous à t'aider : mets des logs, détaille ton soucis... Vous n'aurez aucune réponse de ma part si votre demande n'est pas détaillée (log, capture d'écran lisible...) ou si vous ne postez pas dans la bonne section

FRED777
Timide
Messages : 13
Inscription : 30 mars 2019, 22:31

Re: Calcul de valeur absolue : abs() absente de jeedom ?

Message par FRED777 » 22 juil. 2019, 12:41

Merci Loïc
Le sujet n'est pas bloquant car une solution de contournement existe :!:
J'en profite pour saluer la qualité des développements (qui s'exprime notamment par la stabilité de la solution) :D

Répondre

Revenir vers « Scénarios »

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 2 invités