bonjour Ă tous,
voici une amélioration du widget pour IPX800 V5 avec l’API HTML Widget :
<img id="sepia" style="position:absolute;left:2px;top:0px;width:98%;display:block;" src="https://zupimages.net/up/23/15/j0p1.png"/>
<div id="pointeurNTU1" style="position:absolute;top:50px;left:0px;width:30px;font-size:32px;">⇪</div>
<span id="turbid1" style="position:absolute;top:80px;color:#666666;left:10px;font-size:14px;font-weight:bolder;">TROUBLE</span>
<div style="position:absolute;left:10px;top:120px;">
<div id="txtUNT1"></div>
<div id="txtmV1"></div>
<div id="txtSeuil1"></div>
</div>
<script>
window.GCE_Refresh.push(function(data) {
switch (data['_id'])
{
case 262144:
turbidity(data.value);
break;
}
})
function init() {
GCE_API.getANA(262144).then((ret) => {
turbidity(ret.value);
})
}
function turbidity(brute){
var Volts=0,
offset=0,
color,
SEUIL=10,
screenWidth = screen.width,
windowWidth = window.innerWidth;
//formule du capteur:
var analog=(( -1/141998.7926 * brute * brute) + (0.455257387 * brute ) - 4352.9).toFixed(0);
//NTU : couleur si dépassement de seuil
color = analog > SEUIL ? '#ff0' : '#0f0';
//NTU : déplacement du pointeur graphique
if (analog<SEUIL){offset=0;turbide="CLAIRE";}
else if(analog >=SEUIL && analog<30){offset=1;turbide="TRES PEU TROUBLE";}
else if(analog >=30 && analog<75){offset=2;turbide="PEU TROUBLE";}
else if(analog >=75 && analog<250){offset=3;turbide="TROUBLE";}
else if(analog >=250){offset=4;turbide="TRES TROUBLE";}
//mVolts
Volts=(brute * 0.050354).toFixed(1);
var zoom=( screenWidth / windowWidth).toFixed(2);
var sepia= document.getElementById("sepia");
document.getElementById("pointeurNTU1").style.left = -4+(sepia.offsetWidth/10)+offset*(sepia.offsetWidth/5)+"px";
document.getElementById("pointeurNTU1").style.top = (sepia.offsetHeight*0.7)+ "px";
document.getElementById("pointeurNTU1").style.color=color;
document.getElementById("pointeurNTU1").style.height=32*zoom;
document.getElementById("turbid1").style.top=sepia.offsetHeight +16*zoom +"px" ;
document.getElementById("txtUNT1").innerHTML="UNT : " + analog;
document.getElementById("txtmV1").innerHTML="U : " + Volts + " mV";
document.getElementById("txtSeuil1").innerHTML="Seuil : " + SEUIL;
document.getElementById("turbid1").innerHTML="EAU " + turbide;
}
init();
</script>
Dans mon code, l’id 262144 est celui de l’entrée analogique liée au capteur (voir plus haut).
Bonne journée