oui, il manque un c
les données sont en cm, les formules traduisent en mètres et litres, …
rien de figé pour le moment, ![]()
même la formule peut bouger … ![]()
Bonjour a tous,
Je suis toujours a la recherche de doc mais les fournisseur ne me fournisse uniquement l’impedence mini-max sans plus d’info,
Pour resumer jauge 1m20 — 10/180ohm —12v
Elle existe avec des tailles bien differente de 10 a 120cm, et est compatible carburant/eau
Je pence comander un nouvelle alim 12 volt avec mais je sait pas quoi prendre d’autre …
Si quelque pourrait envoyer l’info !?
@fgtoul tu n’aurait pas besoin d’une sonde de ce genre par hasard ??
Je suis pret a t’en payer une pour avoir des info de raccordement/config.
Pour mon install :
-Cuve de 1500 litre
-Hauteur cuve = 150cm
-En partant du haut 120cm reste 500 litre de reserve (j’aurait preferé une sonde de 140cm mais impossible de trouver)
L’idée serait d’avoir une indication en temp reel du niveau et si le flotteur descend a fond l’amarme de reserve retentit et me laisse suffisament de temp pour appel le livreur fioul.
Bonjour David,
c’est sympa, mais je n’en ai pas besoin ![]()
je suis chauffé au nucléaire ![]()
cdt
Bonjour, cela m interresse votre Widget, et l on peut l insérer dans un dashboard de la V4? MI
bonjour,
oui, le widget est dédié V4 ![]()
usage : il suffit de renseigner le volume total de la cuve en litres, le diamètre de la cuve en cm, puis lier la variable hauteurFuel à la datasource, sur l’analogique de la sonde . la hauteur est attendue en cm.
voici le code Javascript pour un widget HTML
var hauteurFuel=43; // hauteur en cm. lier à la datasource
var diametreCuve=86; //diametre en cm
var volumeCuve=2000; //volume cuve pleine en litres
var pourcentage=100 - (100*hauteurFuel/diametreCuve);
var vc=volumeCuve/1000; //conversion en m3
var d=diametreCuve/100; //conversion en m
var r=d/2;
var h=hauteurFuel/100; //conversion en m
//calcul de la longueur de la cuve
var lc=(vc/Math.PI/Math.pow(r,2)).toFixed(2);
//calcul volume Fuel
var vf=0;
if(h<=r && h>=0){// hauteur inférieure à rayon cuve
vf=(Math.sqrt(r*r-(h-r)*(h-r))*(h-r)+r*r*Math.asin(Math.sqrt(r*r-(h-r)*(h-r))/r))*vc/(Math.PI*r*r);
}
else if (h>r && h<=2*r) {// hauteur supérieure à rayon cuve
vf=(Math.PI*r*r-Math.sqrt(r*r-(2*r-h-r)*(2*r-h-r))*(2*r-h-r)-r*r*Math.asin(Math.sqrt(r*r-(2*r-h-r)*(2*r-h-r))/r))*vc/(Math.PI*r*r);
}
vf=(vf*1000).toFixed(0);
return `
<div style="margin-left:10px;margin-top:10px;">
<span >Contenance cuve: ${volumeCuve}</span> litres<br>
<span >Longueur cuve: ${lc}</span> m<br>
<span >Diamètre cuve : ${diametreCuve} </span> cm<br>
<span >Hauteur Fioul : ${hauteurFuel}</span> cm<br>
<span >Volume Fioul : ${vf}</span> litres<br>
<span >Ratio volume : ${(vf/volumeCuve*100).toFixed(2)}</span> %<br>
</div>
`;

pour l’instant, j’ai supprimé le graphisme CSS pour vous en faire bénéficier au plus vite.
Bonnes vacances à tous
EDIT 11/07
Code JavaScript corrigé.
bonjour,
EDIT : en cours de correction
Bonjour @fgtoul
dans votre exemple il reste 51% de fioul, soit quasiment la moitié, mais le dessin indique plutôt 3/4… normal?
Bonne journée
Vu la forme de la cuve, oui c’est normal.
Mais je vérifierai
En fait le dessin est juste par rapport à la hauteur de 60 cm affichée mais le calcul de volume me semble faux, 1027 l correspondent plutôt à une hauteur d’environ 44 cm.
Bonne journée
je reprends le widget. ne pas utiliser pour le moment.
bonsoir,
Merci @grocrabe ![]()
Voici le code corrigé du widget pour IPX800 V4. J’ai également corrigé le widget plus haut, dans sa version non graphique.
usage : comme précédemment, il suffit de renseigner le volume total de la cuve en litres, le diamètre de la cuve en cm, puis lier la variable hauteurFuel à la datasource, sur l’analogique de la sonde . la hauteur est attendue en cm.
var hauteurFuel=63; // hauteur en cm. lier à la datasource
var diametreCuve=86; //diametre en cm
var volumeCuve=2000; //volume cuve pleine en litres
var pourcentage=100 - (100*hauteurFuel/diametreCuve);
var vc=volumeCuve/1000; //conversion en m3
var d=diametreCuve/100; //conversion en m
var r=d/2;
var h=hauteurFuel/100; //conversion en m
//calcul de la longueur de la cuve
var lc=(vc/Math.PI/Math.pow(r,2)).toFixed(2);
//calcul volume Fuel
var vf=0;
if(h<=r && h>=0){// hauteur inférieure à rayon cuve
vf=(Math.sqrt(r*r-(h-r)*(h-r))*(h-r)+r*r*Math.asin(Math.sqrt(r*r-(h-r)*(h-r))/r))*vc/(Math.PI*r*r);
}
else if (h>r && h<=2*r) {// hauteur supérieure à rayon cuve
vf=(Math.PI*r*r-Math.sqrt(r*r-(2*r-h-r)*(2*r-h-r))*(2*r-h-r)-r*r*Math.asin(Math.sqrt(r*r-(2*r-h-r)*(2*r-h-r))/r))*vc/(Math.PI*r*r);
}
vf=(vf*1000).toFixed(0);
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:100%;
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 >Longueur cuve: ${lc}</span> m<br>
<span >Diamètre cuve : ${diametreCuve} </span> cm<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>
`;


cdt
Bonjour,
de rien et bravo pour le travail énorme que vous faites sur ce forum…
Bonne journée
Bonjour et merci …si je veux mettre une entrée anna a la place de la hauteur en cm…c’est a quelle endroit que cela se passe? je debute en javascript, merci
En fait ce que je souhaiterais, moi je fonctionne avec le temps de fonctionnement du bruleur…et j’aimerais représenter comme vous la cuve(3000 litres) mais sans les dimensions et le volume restant que j’ai en litres…si vous pouviez me faire afin que j en comprenne le fonctionnement. Une cuve carré(volume total 3000 l et j’ai un chiffres en litres qui est ce que j’ai consommer depuis le dernier remplissage.
Bonjour @micht
- Il faudra modifier le script avec les dimensions de la cuve en cm,
- Il faudra également remplacer analog0 par la bonne entrée analogique qui renvoie la hauteur de fuel restant et adapter la formule (j’ai arbitrairement multiplié la valeur analogique par 100)
- il faudra remplacer le nom de la datasource pointant vers status.xml (STATUS dans mon code)

var hauteurFuel=(datasources["STATUS"]["response"]["analog0"] * 100).toFixed(2);
var hauteurCuve=120; //hauteur cuve en cm
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>
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,${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>
`;
Cdt
Merci FG super, moi j’ai le volume restant en chiffre, qui vient d un compteur:
3000-(((datasources[« IPX »][« response »][« cpt0 »])/206)*4.54).toFixed(2)
Pouvez vous modifier le script afin de prendre ce compteur et non une hauteur
Merci
dites moi exactement ce que vous voulez car je ne sais plus ce que je dois enlever ou laisser ![]()
J’ai une cuve de 3000 litres. J’ai mon volume restant par cette formule:
3000-(((datasources[“IPX”][“response”][“cpt0”])/206)*4.54).toFixed(2)
se serait d’avoir le graphique correspondant. merci. MI…
PS. Peut on se tel?
voici le script
:
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>
`;

cdt
super, merci, et du premier coup, ca marche…exactement ce que je souhaitais, MI
Bonjour,
le résultat est presque satisfaisant sauf qu’elle n’ai pas très stable l’indication des litres bougent ,
sur une cuve de 3500 Litres les chiffres indique +/- 5 litres , faut que je trouve une solution pour stabiliser.
cdt