var tabPW2sM=[]; var tabPW2sT=[]; var initUxIx2=false; var biSonde=false; var TableauX = []; var TableauY0 = []; var TableauY1 = []; var myTimeout; function LoadData() { GID('LED').style='display:block;'; var xhttp = new XMLHttpRequest(); xhttp.onreadystatechange = function() { if (this.readyState == 4 && this.status == 200) { var DuRMS=this.responseText; var groupes=DuRMS.split(GS); var G0=groupes[0].split(RS); var G1=groupes[1].split(RS); var G2=groupes[2].split(RS); GID('date').innerHTML = G0[1]; Source_data= G0[2]; if (!initUxIx2){ initUxIx2=true; var d='none'; if(groupes.length==4){ // Cas pour les sources externes UxIx2 et Shelly monophasé d="table-cell"; } const collection = document.getElementsByClassName('dispT'); for (let i = 0; i < collection.length; i++) { collection[i].style.display = d; } } GID('PwS_M').innerHTML = LaVal(G1[0]); //Maison GID('PwI_M').innerHTML = LaVal(G1[1]); //Maison GID('PVAS_M').innerHTML = LaVal(G1[2]); //Maison GID('PVAI_M').innerHTML = LaVal(G1[3]); //Maison GID('EAJS_M').innerHTML = LaVal(G1[4]); GID('EAJI_M').innerHTML = LaVal(G1[5]); GID('EAS_M').innerHTML = LaVal(G1[6]); GID('EAI_M').innerHTML = LaVal(G1[7]); tabPW2sM.shift(); //Enleve Pw Maison tabPW2sM.shift(); //Enleve PVA tabPW2sM.push(parseFloat(G1[0]-G1[1])); tabPW2sM.push(parseFloat(G1[2]-G1[3])); Plot('SVG_PW2sM',tabPW2sM,'#f44','Puissance Active '+GID("nomSondeMobile").innerHTML+' sur 10 mn en W','aqua','Puissance Apparente sur 10 mn en VA'); var Tarif=["NON_DEFINI","PLEINE","CREUSE","BLEU","BLANC","ROUGE"]; var couleur=["#ddf","#f00","#0f0","#00bfff","#fff","#f00"]; var tarif=["","H.
pleine","H.
creuse","Tempo
Bleu","Tempo
Blanc","Tempo
Rouge"]; var idx=0; for (i=0;i<6;i++){ if ( G0[3].indexOf(Tarif[i])>=0){ //LTARF dans Link idx=i; } } GID('couleurTarif_jour').style.backgroundColor= couleur[idx]; GID('couleurTarif_jour').innerHTML =tarif[idx]; var tempo = parseInt(G0[4], 16); //Tempo lendemain et jour STGE tempo =Math.floor(tempo/4) ; //Tempo lendemain uniquement idx=-2; var txtJ = ""; if (tempo>0){ idx = tempo; txtJ = "Tempo
J+1"; } GID('couleurTarif_J1').style.backgroundColor= couleur[idx+2]; GID('couleurTarif_J1').innerHTML =txtJ; if (groupes.length==4) { // La source_data des données est de type UxIx2 ou on est en shelly monophas avec un deuxièeme canal GID('PwS_T').innerHTML = LaVal(G2[0]); //Triac GID('PwI_T').innerHTML = LaVal(G2[1]); //Triac GID('PVAS_T').innerHTML = LaVal(G2[2]); //Triac GID('PVAI_T').innerHTML = LaVal(G2[3]); //Triac GID('EAJS_T').innerHTML = LaVal(G2[4]); GID('EAJI_T').innerHTML = LaVal(G2[5]); GID('EAS_T').innerHTML = LaVal(G2[6]); GID('EAI_T').innerHTML = LaVal(G2[7]); tabPW2sT.shift(); //Enleve Pw Triav tabPW2sT.shift(); //Enleve PVA tabPW2sT.push(parseFloat(G2[0]-G2[1])); tabPW2sT.push(parseFloat(G2[2]-G2[3])); Plot('SVG_PW2sT',tabPW2sT,'#f44','Puissance Active '+GID("nomSondeFixe").innerHTML+' sur 10 mn en W','aqua','Puissance Apparente sur 10 mn en VA'); if (parseInt(G2[5])==0 && Source!="ShellyEm") { //Il n'y a pas d'injecté normalement GID('produite').innerHTML=''; GID('PwI_T').innerHTML=''; GID('PVAI_T').innerHTML=''; GID('EAJI_T').innerHTML=''; GID('EAI_T').innerHTML=''; } biSonde=true; } else{ biSonde=false; } if (Source_data=='SmartG') { GID('ligneVA').style='display:none;';} GID('LED').style='display:none;'; setTimeout('LoadData();',2000); } }; xhttp.open('GET', 'ajax_data', true); xhttp.send(); } function LoadHisto10mn() { var xhttp = new XMLHttpRequest(); xhttp.onreadystatechange = function() { if (this.readyState == 4 && this.status == 200) { var retour=this.responseText; var groupes=retour.split(GS); tabPW2sM.splice(0,tabPW2sM.length); tabPW2sM=groupes[1].split(','); tabPW2sM.pop(); Plot('SVG_PW2sM',tabPW2sM,'#f44','Puissance Active '+GID("nomSondeMobile").innerHTML+' sur 10 mn en W','aqua','Puissance Apparente sur 10 mn en VA'); if (biSonde){ tabPW2sT.splice(0,tabPW2sT.length); tabPW2sT=groupes[2].split(','); tabPW2sT.pop(); GID('SVG_PW2sT').style.display="block"; Plot('SVG_PW2sT',tabPW2sT,'#f44','Puissance Active '+GID("nomSondeFixe").innerHTML+' sur 10 mn en W','aqua','Puissance Apparente sur 10 mn en VA'); } LoadHisto1an(); } }; xhttp.open('GET', 'ajax_data10mn', true); xhttp.send(); } function LoadHisto48h() { var xhttp = new XMLHttpRequest(); xhttp.onreadystatechange = function() { if (this.readyState == 4 && this.status == 200) { var retour=this.responseText; var groupes=retour.split(GS); var tabPWM=groupes[1].split(','); tabPWM.pop(); Plot('SVG_PW48hM',tabPWM,'#f33','Puissance Active '+GID("nomSondeMobile").innerHTML+' sur 48h en W','',''); if (biSonde){ var tabPWT=groupes[2].split(','); tabPWT.pop(); GID('SVG_PW48hT').style.display="block"; Plot('SVG_PW48hT',tabPWT,'#f33','Puissance Active '+GID("nomSondeFixe").innerHTML+' sur 48h en W','',''); } if (parseFloat(groupes[3])> -100) { var tabTemperature=groupes[4].split(','); tabTemperature.pop(); GID('SVG_Temp48h').style.display="block"; Plot('SVG_Temp48h',tabTemperature,'#3f3',nomTemperature+' sur 48h ','',''); } setTimeout('LoadHisto48h();',300000); } }; xhttp.open('GET', 'ajax_histo48h', true); xhttp.send(); } function LoadHisto1an() { var xhttp = new XMLHttpRequest(); xhttp.onreadystatechange = function() { if (this.readyState == 4 && this.status == 200) { var retour=this.responseText; var tabWh=retour.split(','); tabWh.pop(); Plot('SVG_Wh1an',tabWh,'#ff4','Energie Active Wh / Jour sur 1an','',''); LoadHisto48h(); } }; xhttp.open('GET', 'ajax_histo1an', true); xhttp.send(); } function Plot(SVG,Tab,couleur1,titre1,couleur2,titre2){ var Vmax=0; var Vmin=0; var TabX=[]; var TabY0=[]; var TabY1=[]; for (var i = 0; i < Tab.length; i++) { Vmax = Math.max(Math.abs(Tab[i]), Vmax); } var cadrageMax=1; var cadrage1=1000000; var cadrage2=[10,8,5,4,2,1]; for (var m=0;m<7;m++){ for (var i=0;i"; S += ""; S += ""; for (var x=1000+X0;x>100;x=x-pixelTic){ var X=x; var Y2=Y0+6; S +=""; X=X-8; Y2=Y0+22; if (SVG=='SVG_Wh1an') { X=X+8; S +=""+Mois[H00]+""; }else{ S +=""+H00+""; } H00=(H00-dTextTic+moduloText)%moduloText; } Y2=Y0-3; S +=""+label+""; for (var y=-10 ;y<=10;y=y+dy){ Y2=Y0-Yamp*y/10; if (Y2<=480){ S +=""; Y2=Y2+7; var T=cadrageMax*y/10;T=T.toString(); var X=90-9*T.length; S +=""+T+""; } } if (dI==2 && Source_data!='SmartG'){ //Pas de puissance apparente pour SmartG S +=""+titre2+""; S += ""; } S +=""+titre1+""; S += ""; S += ""; GID(SVG).innerHTML = S; TableauX["S_" + SVG] = TabX; //Sauvegarde valeurs TableauY0["S_" + SVG] = TabY0; //Sauvegarde valeurs TableauY1["S_" + SVG] = TabY1; //Sauvegarde valeurs } function DispVal(t,evt,couleur1,couleur2){ var ClientRect = t.getBoundingClientRect(); var largeur_svg=ClientRect.right-ClientRect.left-20; //20 pixels de marge var x= Math.round(evt.clientX - ClientRect.left-10); x=x*1030/largeur_svg; if(x>=0 && x<=1000){ var p=-1; var distM=10000; for (var i=0;i=0){ var S="
" + TableauY0[t.id][p] + "
"; if (TableauY1[t.id].length>0) S ="
"+ TableauY1[t.id][p]+ "
" + S; x = evt.pageX+10; GID("info").style.left=x + "px"; x = evt.pageY+10; GID("info").style.top=x +"px"; GH("info",S); GID("info").style.display="block"; if (myTimeout !=null) clearTimeout(myTimeout); myTimeout=setTimeout(stopAffiche, 5000); } } } function stopAffiche(){ GID("info").style.display="none"; } function EtatActions() { var xhttp = new XMLHttpRequest(); xhttp.onreadystatechange = function() { if (this.readyState == 4 && this.status == 200) { var retour=this.responseText; var message=retour.split(GS); Source_data=message[1]; var T=""; if(message[0]>-100){ var Temper=parseFloat(message[0]).toFixed(1); T="" + nomTemperature +""+Temper+"°C"; } var S=""; if (message[3]>0){ //Nb Actions for (var i=0;i"; if (data[2]=="On" || data[2]=="Off"){ S+="
"+data[2]+"
"; } else { var W=1+1.99*data[2]; S+="
"+data[2]+"%
"; } } } S=S+T; if (S!=""){ S="
" +S; S +="
"; GH("etatActions",S); if(Source=="Ext" ){ GID("donneeLocale").style.display="block"; } } setTimeout('EtatActions();',3500); } }; xhttp.open('GET', 'ajax_etatActions', true); xhttp.send(); } function LaVal(d){ d=parseInt(d); d=' '+d.toString(); return d.substr(-9,3)+' '+d.substr(-6,3)+' '+d.substr(-3,3); } function AdaptationSource(){ var d='none'; if(biSonde){ d="table-cell"; } const collection = document.getElementsByClassName('dispT'); for (let i = 0; i < collection.length; i++) { collection[i].style.display = d; } var S='Source : ' if(Source=="Ext"){ S +='ESP distant '+int2ip(RMSextIP); GID("donneeDistante").style.display="block"; }else { S +='ESP local'; } GH('source',S); }