Plugin calculateur mathématique

Discussion et échanges de scripts pour la box eedomus

Plugin calculateur mathématique

Messagepar díadeluz » 22 Nov 2021 18:23

Bonjour,

J’ai un état E créé via le plugin calculateur mathématique et utilisant comme formule device(xxxxx)+0.5, où xxxxx désigne un actionneur http dont les valeurs vont de 15 à 27 par pas de 0.5. La période de màj est à 1 minute.

J’utilise une règle qui de temps à autre vient modifier la valeur de cet actionneur (la passant par ex de 18 à 20), et demande un update de l’état E (qui valait 18.5).

J’ai quelques constatations qui peuvent être utiles à certains :

- L’instruction update semble ignorée et E ne passe (par ex) de 18.5 à 20.5 qu’à sa propre période de màj.
- Si l’on met cette période à zéro, l’instruction update est ignorée également.
- Si, pour noter les valeurs brutes entières de l’actionneur, on utilise par ex 21.0 au lieu de 21, le recalcul de E ne se fait pas, avec ou sans update. En revanche 21.5 sur l’actionneur permet bien d’obtenir 22 sur E

Bonne soirée à tous.
díadeluz
 
Messages : 81
Inscription : 24 Fév 2020

Re: Plugin calculateur mathématique

Messagepar opa95 » 22 Nov 2021 20:56

díadeluz a écrit:Bonjour,

J’ai un état E créé via le plugin calculateur mathématique et utilisant comme formule device(xxxxx)+0.5, où xxxxx désigne un actionneur http dont les valeurs vont de 15 à 27 par pas de 0.5. La période de màj est à 1 minute.


- Si l’on met cette période à zéro, l’instruction update est ignorée également.
- Si, pour noter les valeurs brutes entières de l’actionneur, on utilise par ex 21.0 au lieu de 21, le recalcul de E ne se fait pas, avec ou sans update. En revanche 21.5 sur l’actionneur permet bien d’obtenir 22 sur E

Bonne soirée à tous.

Bonjour [quote="díadeluz"]
Pour les comparaisons qui servent au déclenchement, la comparaison ne se fait sur la valeur numérique, mais sur la valeur texte donc "20.1" n'est pas identique à "20" (valeur renvoyée par le capteur). Pour les entiers, xpath supprime le point et les décimales.
eedomus+, Zibase V1, RFP1000, RFXcom, RadioDriver CPL 630 X2D, capteurs puissance OWL, thermometres Oregon, téléinfo (USB Linky), detecteurs ouverture X2D, pilotage chauffage X2D, Ecoflow River PRO, PAC Shogun (Atlantic-Cozytouch)
opa95
 
Messages : 731
Inscription : 04 Fév 2019
Localisation : Val d'Oise

Re: Plugin calculateur mathématique

Messagepar díadeluz » 22 Nov 2021 21:45

opa95 a écrit:Pour les comparaisons qui servent au déclenchement, la comparaison ne se fait sur la valeur numérique, mais sur la valeur texte donc "20.0" n'est pas identique à "20" (valeur renvoyée par le capteur). Pour les entiers, xpath supprime le point et les décimales.


Bonsoir @opa95 et merci pour ces précisions qui éclairent mon dernier point. La flemme d’aller lire le php des plugins me perdra ! :oops:

As-tu stp un avis sur le fait que “update” ne lance pas un recalcul ?

Bonne soirée.
díadeluz
 
Messages : 81
Inscription : 24 Fév 2020

Re: Plugin calculateur mathématique

Messagepar opa95 » 23 Nov 2021 09:18

Bonjour díadeluz
Si tu veux pouvoir faire un formatage de la sortie avec xpath, il faut transformer le résultat en chaîne de caractères.
Pour avoir une sortie avec un chiffre après la virgule, il faut multiplier result par 10 et modifier le xpath.
Donc la formule à traiter doit être : 10(device(xxxxx)+0.5) (pour obtenir un entier) et le Xpath : concat(substring(/result,1,string-length(/result)-1),'.',substring(/result,string-length(/result),2))
Pour 2 chiffres après la virgule : 100(device(xxxxx)+0.5) et le Xpath : concat(substring(/result,1,string-length(/result)-2),'.',substring(/result,string-length(/result)-1,2))
ça fonctionne pour tous les nombres, même négatifs, sauf si result = 0.
Pour que ça fonctionne avec result= 0 et pour une décimale, il faut
concat(substring(concat('0',(/result)),1,string-length(concat('0',(/result)))-1),'.',substring(/result,string-length(/result),2))
Pour 2 décimales :
concat(substring(concat('00',(/result)),1,string-length(concat('00',(/result)))-2),'.',substring(/result,string-length(/result)-1,2))
Pour ce qui est des update, il faudrait nous montrer les règles et le panneau de configuration du plugin.
:)
eedomus+, Zibase V1, RFP1000, RFXcom, RadioDriver CPL 630 X2D, capteurs puissance OWL, thermometres Oregon, téléinfo (USB Linky), detecteurs ouverture X2D, pilotage chauffage X2D, Ecoflow River PRO, PAC Shogun (Atlantic-Cozytouch)
opa95
 
Messages : 731
Inscription : 04 Fév 2019
Localisation : Val d'Oise

Re: Plugin calculateur mathématique

Messagepar díadeluz » 10 Déc 2021 15:19

Mille mercis opa95 !!
Pour info, le non-déclenchement de l’update était aussi dû à une valeur à “20.0” que j’aurais dû mettre à “20” :cry:
Bonne journée.
díadeluz
 
Messages : 81
Inscription : 24 Fév 2020


Retour vers Scripts & Périphériques du store

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 41 invité(s)