[Résolu] Moyenne d'un pourcentage

Discussion et échanges de scripts pour la box eedomus

[Résolu] Moyenne d'un pourcentage

Messagepar totodup » 09 Nov 2021 01:34

Bonjour à tous,
J'habite une maison où le chauffage est assuré par une chaudière au gaz sur laquelle j'ai installé un FGS-214 pour activer le mode chauffage. Sur mes radiateurs, j'ai installé des têtes thermostatiques Aeotec ZWA021. Dans chaque pièce chauffée et à l'extérieur, j'ai des sondes 433 mhz pour mesurer la température de façon plus précise qu'avec la sonde de la tête thermostatique.

J'ai créé différentes zones de chauffage qui pilote les têtes thermostatiques pour que la puissance de chauffe soit indexée avec la température extérieure. Les valeurs envoyées sont de 0 à 100%.

Maintenant je souhaiterais faire une moyenne de ces valeurs pour que lorsqu'elle dépasse une certaine valeur, la chaudière s'allume. J'ai déjà essayé avec différents calculateurs du store mais à chaque fois j'ai des messages d'erreur: cf capture d'écran
Je pense que cela vient du fait que j'ai des 0 sur certains périphériques.

Est-ce que quelqu'un auraient une explication et une solution à mes problèmes ?

Merci d'avance pour votre aide !!!

Capture d’écran 2021-11-09 à 01.21.17.png
Calculight
Capture d’écran 2021-11-09 à 01.21.17.png (43.45 Kio) Consulté 5565 fois

Capture d’écran 2021-11-09 à 01.17.01.png
Capture d’écran 2021-11-09 à 01.17.01.png (463.73 Kio) Consulté 5565 fois
totodup
 
Messages : 16
Inscription : 17 Nov 2020

Re: Moyenne d'un pourcentage

Messagepar merguez07 » 09 Nov 2021 08:20

bonjour,

pourrais tu nous donner le xml complet lorsque le calcul est vu en erreur
tuto 1 -->Programmation des scripts Eedomus
tuto 2 -->SmartDevice
tuto 3 -->Le déclenchement de règles
scripts -->Météo du jour | GH Thermostat | TotalWatt | Detecfire | smartbattery
Skype Eedomus -->lien vers le skype Eedomus
merguez07
 
Messages : 2351
Inscription : 15 Sep 2017
Localisation : Le Teil en Ardèche

Re: Moyenne d'un pourcentage

Messagepar opa95 » 09 Nov 2021 09:02

Bonjour totodup
Une valeur 0 ne doit pas faire planter le résultat, tout au plus la moyenne sera fausse car divisée par 9 au lieu de 8.
Ce qui peut faire planter le résultat serait une valeur non numérique
Peux-tu identifier le capteur qui pose problème?
Tu n'as pas chargé ma dernière version du script, qui renvoie des résultats en minuscules, commence par la charger :
Code : Tout sélectionner
<?xml version="1.0" encoding="UTF-8"?>
<root>
   <time>2021-11-09 08:54:08</time>
   <gmt>1636444448</gmt>
   <result>48.2</result>
   <somme>48.2</somme>
   <sommeBrute>48.2</sommeBrute>
   <moyenne>16.066666666667</moyenne>
   <nombre>3</nombre>
   <mode>GET:mem0</mode>
</root>

as-tu bien dans XPath : //moyenne (en minuscules)?
essaie un utilisant la fonction tester du plugin et renvoie le résultat obtenu?
Dans l'attente de ta réponse.
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 : 871
Inscription : 04 Fév 2019
Localisation : Val d'Oise

Re: Moyenne d'un pourcentage

Messagepar totodup » 09 Nov 2021 12:54

merguez07 a écrit:bonjour,

pourrais tu nous donner le xml complet lorsque le calcul est vu en erreur


Je ne sais pas trop comment trouver ce que tu me demande, c'est ceci que tu as besoin ?

<?xml version="1.0" encoding="UTF-8"?>
<root>
<Somme>320</Somme>
<Moyenne>35.555555555556</Moyenne>
<Nombre>9</Nombre>
<Min>
<value>0</value>
<num>9</num>
<Id>2327749</Id>
<change>2021-11-09 08:45:08</change>
<GMT>1636443908</GMT>
</Min>
<Max>
<value>100</value>
<num>4</num>
<Id>2316348</Id>
<change>2021-10-28 19:43:38</change>
<GMT>1635443018</GMT>
</Max>
<Last>
<value>0</value>
<num>1</num>
<Id>2327756</Id>
<change>2021-11-09 08:45:10</change>
<GMT>1636443910</GMT>
</Last>
<vals>
<val>
<num>1</num>
<value>0</value>
<Id>2327756</Id>
<change>2021-11-09 08:45:10</change>
<GMT>1636443910</GMT>
</val>
<val>
<num>2</num>
<value>30</value>
<Id>2517382</Id>
<change>2021-11-09 01:36:50</change>
<GMT>1636418210</GMT>
</val>
<val>
<num>3</num>
<value>100</value>
<Id>2317005</Id>
<change>2021-10-28 19:43:34</change>
<GMT>1635443014</GMT>
</val>
<val>
<num>4</num>
<value>100</value>
<Id>2316348</Id>
<change>2021-10-28 19:43:38</change>
<GMT>1635443018</GMT>
</val>
<val>
<num>5</num>
<value>30</value>
<Id>2316425</Id>
<change>2021-11-09 01:36:54</change>
<GMT>1636418214</GMT>
</val>
<val>
<num>6</num>
<value>30</value>
<Id>2517338</Id>
<change>2021-11-09 01:36:58</change>
<GMT>1636418218</GMT>
</val>
<val>
<num>7</num>
<value>30</value>
<Id>2327793</Id>
<change>2021-11-09 01:37:07</change>
<GMT>1636418227</GMT>
</val>
<val>
<num>8</num>
<value>0</value>
<Id>2316249</Id>
<change>2021-11-09 08:45:07</change>
<GMT>1636443907</GMT>
</val>
<val>
<num>9</num>
<value>0</value>
<Id>2327749</Id>
<change>2021-11-09 08:45:08</change>
<GMT>1636443908</GMT>
</val>
</vals>
</root>

Merci pour le coup de main
totodup
 
Messages : 16
Inscription : 17 Nov 2020

Re: Moyenne d'un pourcentage

Messagepar totodup » 09 Nov 2021 13:06

@opa95:
Comment je peux faire pour voir quelle capteur fait bugger ? ce sont tous les même.

Une valeur 0 ne doit pas faire planter le résultat, tout au plus la moyenne sera fausse car divisée par 9 au lieu de 8.
Ce qui peut faire planter le résultat serait une valeur non numérique


Moi j'aimerais que les 0 soit prit en compte dans le calcul.

Oui le message me dit "Valeur non numérique" cf capture d'écran avec les réglages du plugin.
pourtant j'ai vérifier mes numéros API 3 fois.

Merci de ton aide
Pièces jointes
Capture d’écran 2021-11-09 à 13.00.58.png
Capture d’écran 2021-11-09 à 13.00.58.png (266.19 Kio) Consulté 5534 fois
totodup
 
Messages : 16
Inscription : 17 Nov 2020

Re: Moyenne d'un pourcentage

Messagepar opa95 » 09 Nov 2021 15:49

Bonjour totodup
Tu as du charger une version qui était en cours de développement.
Si je teste ton résultat avec la valeur //Moyenne dans le XPATH et non la valeur /Moyenne, j'obtiens le bon résultat.
Cependant, il peut y avoir des problèmes de moyenne si les capteurs donnent une valeur 0 qui correspond à une réponse non valide (renvoi d'un texte, erreur de transmission...) : dans ce cas, il faut remplacer dans XPATH //Moyenne par (//Somme) div count(//val[value!=0]/value) qui va éliminer les valeurs 0.
De toute façon, fais la mise à jour pour avoir la dernière version, et, avec cette nouvelle version mets dans XPATH //moyenne (en minuscules).
Dans la nouvelle version, l'élimination des valeurs nulles conduirait à :
(//somme) div count(//val[value!=0]/value) (minuscules).
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 : 871
Inscription : 04 Fév 2019
Localisation : Val d'Oise

Re: Moyenne d'un pourcentage

Messagepar totodup » 09 Nov 2021 20:22

D'accord opa95,

Comment je fais pour charger la dernière version du plugin ?

Excuse-moi mais je suis novice dans l'édition des plugins.

Merci pour ton aide
totodup
 
Messages : 16
Inscription : 17 Nov 2020

Re: Moyenne d'un pourcentage

Messagepar opa95 » 09 Nov 2021 20:35

Bonsoir
Dans le panneau configuration du capteur, tu cliques sur le lien
Vérifier les mises à jour de calculight.php, qui va te dire si tu as la dernière version.
La dernière version est : calculight.php (2021-10-29 16:43)
Ensuite tu cliques sur le lien de mise à jour.
S'il reste des problèmes, tu me les signales.
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 : 871
Inscription : 04 Fév 2019
Localisation : Val d'Oise

Re: Moyenne d'un pourcentage

Messagepar totodup » 09 Nov 2021 20:48

Le plugin est bien a jour.

Pour info j'ai aussi un problème avec ce plugin pour additionné des consomations voici ce qu'il me mets par moments

Capture d’écran 2021-11-09 à 20.46.40.png
Capture d’écran 2021-11-09 à 20.46.40.png (192.66 Kio) Consulté 5503 fois
totodup
 
Messages : 16
Inscription : 17 Nov 2020

Re: Moyenne d'un pourcentage

Messagepar totodup » 09 Nov 2021 20:57

Capture d’écran 2021-11-09 à 20.57.21.png
Capture d’écran 2021-11-09 à 20.57.21.png (28.39 Kio) Consulté 5502 fois
totodup
 
Messages : 16
Inscription : 17 Nov 2020

Re: Moyenne d'un pourcentage

Messagepar opa95 » 09 Nov 2021 21:05

Bonsoir
Quand tu as envoyé la copie du xml à 12h54, la version n'était pas à jour, tu l'as donc rechargée depuis?
Voici ce que donne le xml pour la version à jour
Code : Tout sélectionner
<?xml version="1.0" encoding="UTF-8"?>
<root>
   <time>2021-11-09 12:32:23</time>
   <gmt>1636457543</gmt>
   <result>64.2</result>
   <somme>64.2</somme>
   <sommeBrute>64.2</sommeBrute>
   <moyenne>10.7</moyenne>
   <nombre>6</nombre>
   <mode>GET:mem0</mode>
   <min>
       <value>0</value>
       <rawValue>0</rawValue>
       <change>2021-06-04 17:17:18</change>
       <gmt>1622819838</gmt>
       <num>5</num>
       <numTri>1</numTri>
       <id>2315738</id>
       <name>DureeEau Eau</name>
   </min>
   <max>
       <value>bof</value>
       <rawValue>bof</rawValue>
       <change>2021-11-09 10:38:36</change>
       <gmt>1636450716</gmt>
       <num>4</num>
       <numTri>6</numTri>
       <id>2519164</id>
       <name>Bof ZBof</name>
   </max>
   <last>
       <value>18.9</value>
       <rawValue>18.9</rawValue>
       <change>2021-11-09 12:19:57</change>
       <gmt>1636456797</gmt>
       <num>3</num>
       <numTri>5</numTri>
       <id>1338790</id>
       <name>T3_RFP SondesT</name>
   </last>
   <med>
       <num>6 1</num>
       <numTri>3.5</numTri>
       <value>16.45</value>
       <rawValue>16.45</rawValue>
       <id>2519327 1338783</id>
       <change>0</change>
       <name>T4_ZB #1 SondesT / T1_RFP SondesT</name>
       <gmt>0</gmt>
   </med>
   <vals>
       <val>
          <value>18.9</value>
          <rawValue>18.9</rawValue>
          <change>2021-11-09 12:04:56</change>
          <gmt>1636455896</gmt>
          <num>1</num>
          <numTri>4</numTri>
          <id>1338783</id>
          <name>T1_RFP SondesT</name>
       </val>
       <val>
          <value>12.4</value>
          <rawValue>12.4</rawValue>
          <change>2021-11-09 12:19:03</change>
          <gmt>1636456743</gmt>
          <num>2</num>
          <numTri>2</numTri>
          <id>1338786</id>
          <name>T2_RFP SondesT</name>
       </val>
       <val>
          <value>18.9</value>
          <rawValue>18.9</rawValue>
          <change>2021-11-09 12:19:57</change>
          <gmt>1636456797</gmt>
          <num>3</num>
          <numTri>5</numTri>
          <id>1338790</id>
          <name>T3_RFP SondesT</name>
       </val>
       <val>
          <value>bof</value>
          <rawValue>bof</rawValue>
          <change>2021-11-09 10:38:36</change>
          <gmt>1636450716</gmt>
          <num>4</num>
          <numTri>6</numTri>
          <id>2519164</id>
          <name>Bof ZBof</name>
       </val>
       <val>
          <value>0</value>
          <rawValue>0</rawValue>
          <change>2021-06-04 17:17:18</change>
          <gmt>1622819838</gmt>
          <num>5</num>
          <numTri>1</numTri>
          <id>2315738</id>
          <name>DureeEau Eau</name>
       </val>
       <val>
          <value>14</value>
          <rawValue>14</rawValue>
          <change>2021-11-09 12:18:03</change>
          <gmt>1636456683</gmt>
          <num>6</num>
          <numTri>3</numTri>
          <id>2519327</id>
          <name>T4_ZB #1 SondesT</name>
       </val>
   </vals>
</root>

avec XPATH //moyenne (minuscules)
ou XPATH //somme (minuscules)
Bonne soirée
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 : 871
Inscription : 04 Fév 2019
Localisation : Val d'Oise

Re: Moyenne d'un pourcentage

Messagepar totodup » 10 Nov 2021 01:33

Je suis vraiment désolé je me focalisé sur cette histoire de version, mais en faite il y avait une majuscule à moyenne.

Pardon du dérangement

Et merci beaucoup pour l'aide !!!!

Tout fonctionne niquel

Merci merci
totodup
 
Messages : 16
Inscription : 17 Nov 2020

Re: [Résolu] Moyenne d'un pourcentage

Messagepar opa95 » 10 Nov 2021 09:35

Bonjour totodup
Je suis content que tu aies pu résoudre le problème.
L'informatique doit être très rigoureuse, pour le programmeur (certes), mais aussi pour l'utilisateur : le plugin est relativement bien protégé au niveau des données passées dans la ligne de commande ([VAR1], [VAR2], [VAR3]) mais pour le XPATH c'est pas vraiment faisable à moins de multiplier les lignes pour qu'il accepte moyenne, Moyenne, MOYENNE, moYenne ....
Beaucoup de personnes ne lisent pas vraiment les instructions, moi aussi d'ailleurs quand il s'agit de monter un meuble en kit, et j'ai passé ma vie professionnelle (physicien à l'université durant 42 années) à devoir mettre en doute les affirmations des étudiants en Travaux Pratiques d'électronique et d'informatique qui prétendent avoir bien fait quelque chose, alors qu'en fait ce n'est pas le cas, pas par mauvaise volonté, mais plutôt par inattention (Cf. le docteur House; c'est aussi le problème des SAV) : il faut donc de la patience et de la pédagogie, et c'est moins facile à distance. A part cela, je continue à aimer résoudre ce genre de problèmes et suis assez disponible pour cela.
J'ai préféré corriger rapidement, plutôt que d'avoir à le faire lorsque les utilisateurs seront plus nombreux. J'ai été surpris qu'un certain nombre d'utilisateurs aient été intéressés par l'obtention du min ou max de plusieurs capteurs ainsi que par la moyenne, qui elle était déjà faisable avec le plugin calculator; mois j'avais déjà développé la fonction lastValue pour sécuriser mes mesures.
La confusion certaine a été liée au besoin de certains utilisateurs qui étaient pressés d'avoir un outil (merci à Merguez07 pour la mise en ligne). Il serait d'ailleurs bien que les développeurs adoptent une philosophie commune au sujet de la forme des résultats et le passage des arguments dans [VAR]
De nombreux plugin utilisent /result ou //result (qui est plus sur) et d'autres des résultats du genre /SOMME..., j'ai donc décidé de reprendre la philosophie des minuscules sauf pour les noms composés //valeurBrute (on aurait pu mettre //valeur_brute). Dans la mesure où les résultats sont parfois encapsulés, le double // systématique est plus sur.
Dans calculight //result fonctionne comme //somme si on demande toutes les opérations mais peut correspondre aussi à //min si on restreint au calcul au minimum.
Cdt
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 : 871
Inscription : 04 Fév 2019
Localisation : Val d'Oise


Retour vers Scripts & Périphériques du store

Qui est en ligne ?

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

cron