# Min-Max capteur X-THL / capteur 0-10V / capteur 4-20mA

**URL:** <https://forum.gce-electronics.com/t/min-max-capteur-x-thl-capteur-0-10v-capteur-4-20ma/5697>\
**Category:** Cartes Ethernet IPX800\
**Created:** [Novembre 23, 2017, 8:46 UTC](https://forum.gce-electronics.com/t/min-max-capteur-x-thl-capteur-0-10v-capteur-4-20ma/5697 "2017-11-23T08:46:54Z")\
**Posts on this page:** 15\
**Page:** 1

<div class="post-metadata">

**Author:** ![rom1](https://forum.gce-electronics.com/letter_avatar_proxy/v4/letter/r/db5fbb/32.png) [@rom1](https://forum.gce-electronics.com/u/rom1)\
**Post date:** [Novembre 23, 2017, 8:46 UTC](https://forum.gce-electronics.com/t/min-max-capteur-x-thl-capteur-0-10v-capteur-4-20ma/5697/1 "2017-11-23T08:46:55Z")

</div>

Bonjour,  
Y a-t-il une solution pour obtenir sur un widget un visuel min et max des valeurs d’un capteur (température ou hygrométrie pour un [X-THL](https://gce-electronics.com/1266-.html), vitesse anémomètre sur entrée 0-10V ou 4-20mA) ?  
Les valeurs seraient mise à jour automatiquement sur une période glissante (exemple 12h /24h) ou alors manuellement via un bouton RESET (pour l’anémomètre par exemple).  
Merci d’avance de votre aide.  
Romain.

---

<div class="post-metadata">

**Author:** ![didierm](https://forum.gce-electronics.com/user_avatar/forum.gce-electronics.com/didierm/32/4_2.png) [@didierm](https://forum.gce-electronics.com/u/didierm)\
**Post date:** [Novembre 23, 2017, 12:49 UTC](https://forum.gce-electronics.com/t/min-max-capteur-x-thl-capteur-0-10v-capteur-4-20ma/5697/2 "2017-11-23T12:49:35Z")

</div>

Bonjour le widget courbe analogique fait un suivi sur 12 heures avec un point sur le mini et maxi

 ![4ED3636F-0C90-44A5-8B54-436691618F73](https://forum.gce-electronics.com/uploads/default/original/2X/0/0b38e1216635aae01253a42e6c1fd28b21ccfb23.jpeg)  
Cdt

---

<div class="post-metadata">

**Author:** ![rom1](https://forum.gce-electronics.com/letter_avatar_proxy/v4/letter/r/db5fbb/32.png) [@rom1](https://forum.gce-electronics.com/u/rom1)\
**Post date:** [Novembre 23, 2017, 2:48 UTC](https://forum.gce-electronics.com/t/min-max-capteur-x-thl-capteur-0-10v-capteur-4-20ma/5697/3 "2017-11-23T14:48:44Z")

</div>

Oui en effet cela répond en partis à mon besoin.  
Le but escompté était d’avoir uniquement les valeurs numériques en 1 seul visuel comme ci-dessous.  
Mais je chipote les courbes analogiques c’est déja bien !  
Merci didierm !

![image](https://forum.gce-electronics.com/uploads/default/original/2X/c/c9eaae7d40e2cd929a7c31417bf9c0bca57f05c7.png)

@gce et @Benjamin_GCE pour avis 😉

---

<div class="post-metadata">

**Author:** ![Fred60](https://forum.gce-electronics.com/user_avatar/forum.gce-electronics.com/fred60/32/2764_2.png) [@Fred60](https://forum.gce-electronics.com/u/Fred60)\
**Post date:** [Novembre 23, 2017, 3:00 UTC](https://forum.gce-electronics.com/t/min-max-capteur-x-thl-capteur-0-10v-capteur-4-20ma/5697/4 "2017-11-23T15:00:55Z")

</div>

Effectivement c’est une excellente idée !

---

<div class="post-metadata">

**Author:** ![fgtoul](https://forum.gce-electronics.com/user_avatar/forum.gce-electronics.com/fgtoul/32/28801_2.png) [@fgtoul](https://forum.gce-electronics.com/u/fgtoul)\
**Post date:** [Novembre 23, 2017, 3:10 UTC](https://forum.gce-electronics.com/t/min-max-capteur-x-thl-capteur-0-10v-capteur-4-20ma/5697/5 "2017-11-23T15:10:12Z")

</div>

ça ne devrait pas être difficile d’obtenir une vue complète  
 ![image](https://forum.gce-electronics.com/uploads/default/original/2X/6/6de87304e775431f36afce9a819b8594ab3d572d.png)  
@gce : est-il possible de reporter les min / max en clair sur les widgets graphiques ?  
et pourquoi pas Moyenne en plus ?

---

<div class="post-metadata">

**Author:** ![ZogStriP](https://forum.gce-electronics.com/user_avatar/forum.gce-electronics.com/zogstrip/32/27654_2.png) [@ZogStriP](https://forum.gce-electronics.com/u/ZogStriP)\
**Post date:** [Novembre 23, 2017, 3:20 UTC](https://forum.gce-electronics.com/t/min-max-capteur-x-thl-capteur-0-10v-capteur-4-20ma/5697/6 "2017-11-23T15:20:42Z")

</div>

Je pense qu’il y a largement moyen de faire un petit widget HTML qui lit ces données et affiche valeur, min, max et moyenne 😉

---

<div class="post-metadata">

**Author:** ![fgtoul](https://forum.gce-electronics.com/user_avatar/forum.gce-electronics.com/fgtoul/32/28801_2.png) [@fgtoul](https://forum.gce-electronics.com/u/fgtoul)\
**Post date:** [Novembre 23, 2017, 3:23 UTC](https://forum.gce-electronics.com/t/min-max-capteur-x-thl-capteur-0-10v-capteur-4-20ma/5697/7 "2017-11-23T15:23:03Z")

</div>

je pensais aux non développeurs 🙂

le widget connait déjà les valeurs, puisqu’il construit une courbe et affiche des points repères sur min/max. Alors ça doit être simple pour GCE de mettre 3 étiquettes en plus, je pense.  
De plus, ce sera surement moins consommateur de mémoire dans le dashboard.

---

<div class="post-metadata">

**Author:** ![fgtoul](https://forum.gce-electronics.com/user_avatar/forum.gce-electronics.com/fgtoul/32/28801_2.png) [@fgtoul](https://forum.gce-electronics.com/u/fgtoul)\
**Post date:** [Novembre 23, 2017, 5:49 UTC](https://forum.gce-electronics.com/t/min-max-capteur-x-thl-capteur-0-10v-capteur-4-20ma/5697/8 "2017-11-23T17:49:50Z")

</div>

> [@ZogStriP](#):
>
> Je pense qu’il y a largement moyen de faire un petit widget HTML qui lit ces données et affiche valeur, min, max et moyenne

Pour ceux que le développement ne rebute pas, les données sont dans le fichier Graph.xml.

Cependant : extrait de la doc :

> **graph.xml**  
> Ce fichier est disponible dans les dossier admin et user. Il est régulièrement interrogé par la [V4](https://gce-electronics.com/1483-.html) et  
> reste lourd à charger, donc à utiliser avec modération également.

---

<div class="post-metadata">

**Author:** ![ZogStriP](https://forum.gce-electronics.com/user_avatar/forum.gce-electronics.com/zogstrip/32/27654_2.png) [@ZogStriP](https://forum.gce-electronics.com/u/ZogStriP)\
**Post date:** [Novembre 23, 2017, 9:26 UTC](https://forum.gce-electronics.com/t/min-max-capteur-x-thl-capteur-0-10v-capteur-4-20ma/5697/9 "2017-11-23T21:26:23Z")

</div>

Voilà ce que j’ai fait rapidement

![image](https://forum.gce-electronics.com/uploads/default/original/2X/a/a8d0fb163dfd4855c7cdb9a86f0bce8f5d0d8ba2.png)

Commencez par créer une source de données qui s’appelle «&nbsp;`GRAPH.XML`&nbsp;» et qui pointe vers «&nbsp;`/user/graph.xml`&nbsp;».

Ensuite, ajoutez un nouveau widget **HTML** avec le code JavaScript suivant

```javascript
// numéro de la variable analogique
const ANA = 4;

// formule de conversion Analogue > Valeur
formule = (x) => 175.72 * x / 65535 - 46.85;

let val, min = Infinity, max = -Infinity, sum = 0;

for (let i = 0; i < 24; i++) {
    val = formule(parseInt(datasources["GRAPH.XML"]["response"][`ana${ANA}val${i}`]));
    if (val < min) min = val;
    if (val > max) max = val;
    sum += val;
}

return `
<p>Val: ${val.toFixed(2)}</p> 
<p>Min: ${min.toFixed(2)}</p>
<p>Max: ${max.toFixed(2)}</p>
<p>Moy: ${(sum / 24).toFixed(2)}</p>
`;

```

Il y a **2** choses à changer

- le numéro de la variable analogique que vous souhaitez utiliser
- la formule de conversion Analogue \> Valeur

Pour trouver le numéro de la variable analogique à utiliser, le plus simple que j’ai trouvé est de commencer à ajouter un `Graphique` et d’inspecter (clic droit, inspecter) la liste des analogiques dans la modale qui s’ouvre.

Chez moi, ça donne

```html
<select id="value">
  <option value="0">Entrée Analogique 1</option>
  <option value="1">Entrée Analogique 2</option>
  <option value="2">Entrée Analogique 3</option>
  <option value="3">Entrée Analogique 4</option>
  <option value="4">SDB #1 Température</option>
  <option value="8">SDB #1 Humidité</option>
  <option value="12">SDB #1 Luminosité</option>
  <option value="5">SDB #2 Température</option>
  <option value="9">SDB #2 Humidité</option>
  <option value="13">SDB #2 Luminosité</option>
  <option value="6">SDB #3 Température</option>
  <option value="10">SDB #3 Humidité</option>
  <option value="14">SDB #3 Luminosité</option>
  <option value="7">SUD OUEST Température</option>
  <option value="11">SUD OUEST Humidité</option>
  <option value="15">SUD OUEST Luminosité</option>
</select>

```

Le numéro de la variable analogique est le nombre «&nbsp;`value`&nbsp;».  
Dans mon exemple, j’ai affiché la température de la SDB #1, donc c’est la variable **4**.

Ensuite, il faut utiliser la formule de conversion Analogue \> Valeur adéquate en fonction du type de la variable analogique. Vous trouverez toutes les formules dans le [HelpDesk](http://gce-electronics.com/helpdesk/knowledgebase.php?article=39).

Je laisse le soin aux amateurs (@fgtoul ?) de rendre le HTML plus jolis 😉

---

<div class="post-metadata">

**Author:** ![fgtoul](https://forum.gce-electronics.com/user_avatar/forum.gce-electronics.com/fgtoul/32/28801_2.png) [@fgtoul](https://forum.gce-electronics.com/u/fgtoul)\
**Post date:** [Novembre 23, 2017, 10:43 UTC](https://forum.gce-electronics.com/t/min-max-capteur-x-thl-capteur-0-10v-capteur-4-20ma/5697/10 "2017-11-23T22:43:41Z")

</div>

> [@ZogStriP](#):
>
> Je laisse le soin aux amateurs (@fgtoul ?) de rendre le HTML plus jolis 😉

amateur ? moi? 😉 🙂 au sens étymologique alors (amo, amare) 🙂

perso je pense que l’IPX devrait le faire en natif. Ce serait moins lourd que css + javascript + datasource.  
J’ai déjà réussi à saturer le dashboard N°1 (32ko) avec mes widgets faits maison, alors maintenant je reste prudent 🙂

---

<div class="post-metadata">

**Author:** ![fgtoul](https://forum.gce-electronics.com/user_avatar/forum.gce-electronics.com/fgtoul/32/28801_2.png) [@fgtoul](https://forum.gce-electronics.com/u/fgtoul)\
**Post date:** [Novembre 24, 2017, 1:33 UTC](https://forum.gce-electronics.com/t/min-max-capteur-x-thl-capteur-0-10v-capteur-4-20ma/5697/11 "2017-11-24T01:33:56Z")

</div>

Attention,je pense que les valeurs relevées dans le fichier Graph.xml sont des moyennes calculées par l’IPX sur 1 heure.  
Les Min, Max sont donc approximatifs. La valeur en grand est aussi une moyenne horaire, donc pas la valeur en cours.

widget sans prétention :  
 ![image](https://forum.gce-electronics.com/uploads/default/original/2X/3/3f4746550b7796a3005ae33aafd7eee1684183dd.png)

```auto
// numéro de la variable analogique
const ANA = 4;

// formule de conversion Analogue &gt; Valeur
formule = (x) => 175.72 * x / 65535 - 46.85;

let val, min = Infinity, max = -Infinity, sum = 0;

for (let i = 0; i < 24; i++) {
    val = formule(parseInt(datasources["GRAPH.XML"]["response"][`ana${ANA}val${i}`]));
    if (val < min) min = val;
    if (val > max) max = val;
    sum += val;
}

return `
<style>
.Tableau span {
   display:inline;
   float:left;

  }
.Tableau p {
   clear:left;

  }
.Tableau p.legende {
	font-weight:bold;
	}
.Tableau span.col1 {width:30%}
.Tableau span.col2 {width:30%}
.Tableau span.col3 {width:30%}

</style>
<center>
<div style="font-size:3em;">${val.toFixed(2)} °C</div>
<div class="Tableau">
   <p class="legende">
      <span class="col1">Min</span>
      <span class="col2">Moy</span>
      <span class="col3">Max</span>
   </p>
   <p>
      <span class="col1">${min.toFixed(2)}</span>
      <span class="col2">${(sum / 24).toFixed(2)}</span>
      <span class="col3">${max.toFixed(2)}</span>
   </p>
</div>
</center>
`;

```

---

<div class="post-metadata">

**Author:** ![Fred60](https://forum.gce-electronics.com/user_avatar/forum.gce-electronics.com/fred60/32/2764_2.png) [@Fred60](https://forum.gce-electronics.com/u/Fred60)\
**Post date:** [Novembre 24, 2017, 7:42 UTC](https://forum.gce-electronics.com/t/min-max-capteur-x-thl-capteur-0-10v-capteur-4-20ma/5697/12 "2017-11-24T07:42:20Z")

</div>

Super ! Si l’ipx le fait en natif dans un widget, la remise à zéro des mini/maxi devrait se faire d’une façon programmable…

---

<div class="post-metadata">

**Author:** ![rom1](https://forum.gce-electronics.com/letter_avatar_proxy/v4/letter/r/db5fbb/32.png) [@rom1](https://forum.gce-electronics.com/u/rom1)\
**Post date:** [Novembre 24, 2017, 11:51 UTC](https://forum.gce-electronics.com/t/min-max-capteur-x-thl-capteur-0-10v-capteur-4-20ma/5697/13 "2017-11-24T11:51:21Z")

</div>

Un travail formidable !!! Ce partage est vraiment génial ! Merci à vous tous !  
En effet fgtoul je pense qu il ne faut pas trop alourdir les dashboards ! Un widget GCE serait TOP 😉  
GCE peut faire quelque chose pour nous ??

---

<div class="post-metadata">

**Author:** ![fgtoul](https://forum.gce-electronics.com/user_avatar/forum.gce-electronics.com/fgtoul/32/28801_2.png) [@fgtoul](https://forum.gce-electronics.com/u/fgtoul)\
**Post date:** [Novembre 24, 2017, 12:05 UTC](https://forum.gce-electronics.com/t/min-max-capteur-x-thl-capteur-0-10v-capteur-4-20ma/5697/14 "2017-11-24T12:05:50Z")

</div>

je confirme qu’avec des widgets HTML et javascript, on atteint vite les limites du dashboard. Je l’ai encore éprouvé ce matin, obligé de supprimer des widgets pour pouvoir enregistrer les modifications de l’IHM, et bien sur, pas mal de boulot perdu entre temps.

---

<div class="post-metadata">

**Author:** ![rom1](https://forum.gce-electronics.com/letter_avatar_proxy/v4/letter/r/db5fbb/32.png) [@rom1](https://forum.gce-electronics.com/u/rom1)\
**Post date:** [Janvier 22, 2018, 9:38 UTC](https://forum.gce-electronics.com/t/min-max-capteur-x-thl-capteur-0-10v-capteur-4-20ma/5697/15 "2018-01-22T09:38:41Z")

</div>

Bonjour à tous,

Je reviens sur mon sujet des Min Max en lecture digital plutôt que graphique.  
D’autant plus que sur notre super [X-Display](https://gce-electronics.com/1421-.html) la fonctionnalité serait intéressante !  
@gce, @Benjamin_GCE pensez-vous qu’il est possible de faire un widget sur IPX et [X-DISPLAY](https://gce-electronics.com/1421-.html) ?  
Merci.  
🕶
