Mesurer un niveau de fioul dans une cuve

plus ou moins 5 litres, ça va, et c’est raccordée direct sur l IPX?

Bonjour,

Désolé de déterrer un vieux post, mais je viens d’installer une sonde dans ma cuve.

J’ai fait un copier / coller du Javascript
mais ça ne fonctionne pas :slight_smile:

voici ce qui s’affiche
image

Bonjour
il y a une erreur dans le code, je regarde

EDIT : il y avait 2 parenthèses en trop dans la ligne de déclaration de la datasource.
voici la ligne corrigée :

var hauteurFuel=(datasources["STATUS"]["response"]["analog0"] * 100).toFixed(2);

Je l’ai corrigée dans le code plus haut.
Cdt

Mince,
J’ai modifié la ligne, j’ai toujours l’erreur

pouvez-vous poster votre code complet ?

var volumeCuve = 3000; //volume cuve pleine en litres

//calcul de la consommation à partir de la baisse du niveau
var consommation = (datasources["IPX"]["response"]["cpt0"]/206)*4.54).toFixed(2); //consommation en litres
//calcul volume Fuel restant
var vf=volumeCuve-consommation;
var pourcent=100 - (100*vf/volumeCuve);
return `
<style>

body { 
  background:$bgColor; 
  font: 14px/1 'Open Sans', helvetica, sans-serif; 
  -webkit-font-smoothing: antialiased; 
  color:#fff; 
} 
.box{ 
  height: 80px;
  width: 80px;
  position: absolute;
  top: 50%;
  left: 10px;
  transform: translate(0, -50%);
  background: #666666;
  border-radius:15%;
  overflow: hidden; 
}
   
 .fuel{ 
    position: absolute;
    left: 0;
    top: 0;
    width: 80px;
    height: 80px;
transform:translate(0,${pourcent}%);
    background:#76B558;
  } 
</style>
<div class="box"> 
  <div id="fuel" class="fuel"></div> 
</div> 
<div style="float:left;margin-left:100px;margin-top:15px;font-size:12px;"> 
	<span >consommation : ${consommation} </span> litres<br>
	<span style="font-weight:bold;">Volume Fioul : ${vf}  litres</span><br>
    <span >Ratio volume : ${(100 - pourcent).toFixed(2)}</span> %<br> 
</div> 

`;

c’est un code différent de celui que vous avez utilisé la première fois.
lequel dois-je corriger ? lequel correspond à vote besoin ?

Ma cuve est rectangulaire

vous avez un capteur analogique ou bien vous devez faire en fonction de la conso du gicleur ?
j’avoue ne pas comprendre, il va falloir en dire plus car vous avez utilisé les 2 types de widget, fondamentalement différents.

1 « J'aime »

analogique
J’ai une sonde ultrason

pour une sonde utltrason qui mesure donc la hauteur « vide » si je comprends bien, il vous faudra ajuster le code.

Voici le code à ajuster :


var hauteurCuve=120; //hauteur cuve en cm
var hauteurFuel=hauteurCuve-(datasources["STATUS"]["response"]["analog0"] * 100).toFixed(2);

var largeurCuve=120; //largeur cuve en cm
var longueurCuve=209; //longueur cuve en cm
var volumeCuve=3000; //volume cuve pleine en litres

var pourcentage=100 - (100*hauteurFuel/hauteurCuve);

//calcul de la consommation à partir de la baisse du niveau
var consommation=((hauteurCuve-hauteurFuel)*largeurCuve*longueurCuve)/1000 //consommation en litres

//calcul volume Fuel
var vf=0;
vf=hauteurFuel*largeurCuve*longueurCuve;
vf=(vf/1000).toFixed(0);
return `
<style> 
.box{ 
  height: 80px;
  width: 80px;
  position: absolute;
  top: 50%;
  left: 10px;
  transform: translate(0, -50%);
  background: #666666;
  border-radius:15%;
  overflow: hidden; 
}
   
 .fuel{ 
    position: absolute;
    left: 0;
    top: 0;
    width: 80px;
    height: 80px;
transform:translate(0,${pourcentage}%);
    background:#76B558;
  } 
</style>
<div class="box"> 
  <div id="fuel" class="fuel"></div> 
</div> 
<div style="float:left;margin-left:100px;margin-top:15px;font-size:12px;"> 
	<span >Contenance cuve: ${volumeCuve}</span> litres<br>
	<span >consommation : ${consommation} </span> litres<br>
	<span >Hauteur Fioul : ${hauteurFuel}</span> cm<br>
	<span style="font-weight:bold;">Volume Fioul : ${vf}  litres</span><br>
    <span >Ratio volume : ${(vf/volumeCuve*100).toFixed(2)}</span> %<br> 
</div> 

`;

n’oubliez pas d’ajuster le nom de la datasource et de la ressource analogique

j’ai fait un copié / Collé
rien ne s’affiche
image
HTLM et Java

vous avez modifié la datasource ?

La Datasource ?? Je trouve cela ou ?
Ma sonde est branchée sur Analog 3
j’ai donc remplacé Anolog 0 par 3

  • il faut créer une source de données sur le dashboard. voir mes messages plus haut
  • dans le fichier status.xml, « analog3 » correspond à l’entrée analogique n°4 puisque l’identification commence à 0
    image
    Il vous faut donc mettre « analog2 »

Je vais relire le sujet du debut jusqu’a la fin
le pire c’est que cela fonctionné jusqu’a ce que je fasse la mise à jour

vous pouvez restaurer votre config si vous n’avez pas fait d’autres modifs dans vos scénarios ou dashboards et repartir sur une base qui fonctionnait.

malheureusement je n’ai pas fait de sauvegarde

dans ajouter une source de données j’ai cela :

je choisi quoi ?

je ne comprends plus rien :wink: j’ai pourtant réussi la 1ère fois du premier coup.
et la impossible

il faut choisir le type « XML »


Le nom doit être identique à celui qui figure dans le code (sensible à la casse)