Affichage de deux jauges avec valeurs de températures ( 2 sondes XTHL )

Bonjour a tous,
je voudrais avec ce code afficher la valeur de deux sondes, je ne vois pas comment faire j’ai toujours une seule jauge qui fonctionne.
merci d’avance.

<script type="text/javascript">
  /* Get state and set widget */
    
    function init() {
      getState((ipx) => {
          var gauge1 = document.gauges.get('meteo5'); 
      gauge1.value=ipx.value; // Isolated relay state
    });
  }

     function getState(cb) { 
    let ID="262195";
    let ApiKey="1CgV9dOQJtNkmYH";
    let uri = "/api/core/ana/"+ID+"?ApiKey=" +ApiKey;
    fetch(uri, {method: "GET"}).then((ret) => { // Get IPX object
      ret.json().then((ipx) => {
        cb(ipx); // Return IPX state from API
      });
    });
  }

  /***/
  /* Auto refresh (optional) */
  function autoRefresh() {
    setInterval(() => {
      init();
    }, 10000); // 10 sec
  }
  /***/
  
  init();
  autoRefresh(); // Optional
  </script>

Bonjour,
Je suppose que vous utilisez les widgets HTML Canvas-Gauges ?

le code doit appeler 2 fois la fonction getState avec les ID de vos variables analogiques.

<script type="text/javascript">
  /* Get state and set widget */
    var ID;
    var gauge1,gauge2;
    //IDs={analog1,analog2};
    var IDs=["327770","327754"];
   
    function init() {
      //jauge1
      ID=IDs[0];
      getState((ipx) => {
      gauge1 = document.gauges.get('idJauge1');
      gauge1.value=ipx.value;
      });
      //jauge2
      ID=IDs[1];
       getState((ipx) => {
      gauge2 = document.gauges.get('idJauge2');
      gauge2.value=ipx.value;
      });
  }

     function getState(cb) {
    let ApiKey="ZoTxxxxxxxxxWR0W";
    let uri = "/api/core/ana/"+ID+"?ApiKey=" +ApiKey;
    fetch(uri, {method: "GET"}).then((ret) => { // Get IPX object
      ret.json().then((ipx) => {
        cb(ipx); // Return IPX state from API
      });
    });
  }

  /***/
  /* Auto refresh (optional) */
  function autoRefresh() {
    setInterval(() => {
      init();
    }, 1000); // 1 sec
  }
  /***/
 
  init();
  autoRefresh(); // Optional
  </script>
  script

Renseignez les ID de vos variables analogiques en ligne 6 et l’ApiKey de votre V5 en ligne 24.
'idJauge1' et 'idJauge2' représentent les ID de vos widgets html.

Sinon, le plus simple est d’utiliser les widgets Jauges natifs qui ont l’avantage d’être fonctionnels même en cas de panne de réseau internet :slight_smile: .

Bonjour fgtoul,
oui j’ai repris votre code et j’utilise bien les widgets HTML Canvas-Gauges.
je vais essayer, merci pour votre réponse.

ça fonctionne très bien merci beaucoup, et pour répondre a votre suggestion pourquoi pas les natifs
j’ai besoin de comprendre le fonctionnement de l’IPX et cela permet de toucher a tout HTML, CSS, JAVASCRIPT et le plus important IPX800 V5.

MERCI de m’avoir aidé bonne journée.

1 « J'aime »

Un message a été scindé en un nouveau sujet : Installation anémomètre et girouette