Calcul de valeur absolue : abs() absente de jeedom ?
Calcul de valeur absolue : abs() absente de jeedom ?
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
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
Re: Calcul de valeur absolue : abs() absente de jeedom ?
Hello,
(variable(maValeur) >=0?variable(maValeur):-variable(maValeur))
non ?
(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 :)
- 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 :)
Re: Calcul de valeur absolue : abs() absente de jeedom ?
ah oui je ne savais pas que des formules comme çà marchait ! top je vais essayer, merci !
Re: Calcul de valeur absolue : abs() absente de jeedom ?
Bonjour,
La fonction abs() fonctionne.
La fonction abs() fonctionne.
Il y a 10 catégories de personnes, celles qui connaissent le binaire et les autres
.
.
Re: Calcul de valeur absolue : abs() absente de jeedom ?
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 ...
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 ...
Re: Calcul de valeur absolue : abs() absente de jeedom ?
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.
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
[TUTO]Index HP/HC avec pinces Ampèremétriques
Trucs&Astuces
Re: Calcul de valeur absolue : abs() absente de jeedom ?
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
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
Re: Calcul de valeur absolue : abs() absente de jeedom ?
Bonjour,
C'est un soucis connu nous n'avons jamais reussi a améliorer cette partie malheureusement.
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
Re: Calcul de valeur absolue : abs() absente de jeedom ?
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)
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)
Qui est en ligne ?
Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 12 invités