var InitFait=false; var IdxMessage=0; var MessageLinky=''; const M=[]; //Pour UxIx2 M.push(['Tension_M','Tension efficace','V','V']); M.push(['Intensite_M','Courant efficace','A','A']); M.push(['PuissanceS_M','Puissance (Pw)','W','W']); M.push(['PowerFactor_M','Facteur de puissance','','phi']); M.push(['Energie_M_Soutiree','Energie active soutirée','Wh','Wh']); M.push(['Energie_M_Injectee','Energie active injectée','Wh','Wh']); M.push(['Tension_T','Tension efficace','V','V']); M.push(['Intensite_T','Courant efficace','A','A']); M.push(['PuissanceS_T','Puissance (Pw)','W','W']); M.push(['PowerFactor_T','Facteur de puissance','','phi']); M.push(['Energie_T_Soutiree','Energie active consommée','Wh','Wh']); M.push(['Energie_T_Injectee','Energie active produite','Wh','Wh']); M.push(['Frequence','Fréquence','Hz','Hz']); const E=[]; //Pour Enphase E.push(['Tension_M','Tension efficace','V','V']); E.push(['Intensite_M','Courant efficace','A','A']); E.push(['PuissanceS_M','Puissance réseau public (Pw)','W','W']); E.push(['PowerFactor_M','Facteur de puissance','','phi']); E.push(['Energie_M_Soutiree','Energie active soutirée','Wh','Wh']); E.push(['Energie_M_Injectee','Energie active injectée','Wh','Wh']); E.push(['PactProd','Puissance produite (Pw)','W','W']); E.push(['PactConso_M','Puissance consommée (Pw)','W','W']); E.push(['SessionId','Session Id','','Enph']); E.push(['Token_Enphase','Token','','Enph']); const L=[]; L.push(['EAST','Energie active soutirée',false,'Wh',0]); L.push(['EASF01','Energie active soutirée Fournisseur,
index 01',true,'Wh',0]); L.push(['EASF02','Energie active soutirée Fournisseur,
index 02',true,'Wh',0]); L.push(['EASF03','Energie active soutirée Fournisseur,
index 03',true,'Wh',0]); L.push(['EASF04','Energie active soutirée Fournisseur,
index 04',true,'Wh',0]); L.push(['EASF05','Energie active soutirée Fournisseur,
index 05',true,'Wh',0]); L.push(['EASF06','Energie active soutirée Fournisseur,
index 06',true,'Wh',0]); L.push(['EASF07','Energie active soutirée Fournisseur,
index 07',true,'Wh',0]); L.push(['EASF08','Energie active soutirée Fournisseur,
index 08',true,'Wh',0]); L.push(['EASF09','Energie active soutirée Fournisseur,
index 09',true,'Wh',0]); L.push(['EASF10','Energie active soutirée Fournisseur,
index 10',true,'Wh',0]); L.push(['EAIT','Energie active injectée',false,'Wh',0]); L.push(['IRMS1','Courant efficace, phase 1',true,'A',0]); L.push(['IRMS2','Courant efficace, phase 2',true,'A',0]); L.push(['IRMS3','Courant efficace, phase 3',true,'A',0]); L.push(['URMS1','Tension efficace, phase 1',true,'V',0]); L.push(['URMS2','Tension efficace, phase 2',true,'V',0]); L.push(['URMS3','Tension efficace, phase 3',true,'V',0]); L.push(['SINSTS','Puissance app. Instantanée soutirée',false,'VA',0]); L.push(['SINSTS1','Puissance app. Instantanée soutirée phase 1',true,'VA',0]); L.push(['SINSTS2','Puissance app. Instantanée soutirée phase 2',true,'VA',0]); L.push(['SINSTS3','Puissance app. Instantanée soutirée phase 3',true,'VA',0]); L.push(['SMAXSN','Puissance app. max. soutirée n',false,'VA',1]); L.push(['SMAXSN1','Puissance app. max. soutirée n phase 1',true,'VA',1]); L.push(['SMAXSN2','Puissance app. max. soutirée n phase 2',true,'VA',1]); L.push(['SMAXSN3','Puissance app. max. soutirée n phase 3',true,'VA',1]); L.push(['SMAXSN-1','Puissance app. max. soutirée n-1',false,'VA',1]); L.push(['SMAXSN1-1','Puissance app. max. soutirée n-1 phase 1',true,'VA',1]); L.push(['SMAXSN2-1','Puissance app. max. soutirée n-1 phase 2',true,'VA',1]); L.push(['SMAXSN3-1','Puissance app. max. soutirée n-1 phase 3',true,'VA',1]); L.push(['SINSTI','Puissance app. Instantanée injectée',false,'VA',0]); L.push(['SMAXIN','Puissance app. max injectée n',false,'VA',1]); L.push(['SMAXIN-1','Puissance app. max injectée n-1',false,'VA',1]); L.push(['LTARF','Option Tarifaire',false,'',2]); function creerTableauUxIx2(){ var S=''; for (var i=0;i'; } S+='
'+M[i][1]+''+M[i][2]+'
'; GH('tableau', S); } function creerTableauEnphase(){ var S=''; for (var i=0;i'; } S+='
'+E[i][1]+''+E[i][2]+'
'; GH('tableauEnphase', S); } function creerTableauLinky(){ var S=''; for (var i=0;i'; } S+='
'+L[i][1]+''+L[i][3]+'
'; GH('tableauLinky', S); } function LoadData() { GID('LED').style='display:block;'; var xhttp = new XMLHttpRequest(); xhttp.onreadystatechange = function() { if (this.readyState == 4 && this.status == 200) { GID('LED').style='display:none;'; var DuRMS=this.responseText; var groupes=DuRMS.split(GS) var G0=groupes[0].split(RS); GH('date',G0[0]); Source_data=G0[1]; if (Source_data == "UxI"){ GID('infoUxI').style.display="block"; GH('Ueff',parseInt(G0[2],10)); GH('Ieff',G0[3]); GH('cosphi',G0[4]); var volt=groupes[1].split(RS); var amp=groupes[2].split(RS); var S= ""; S += ""; S += ""; var Vmax = 500; var Imax = 500; for (var i = 0; i < 100; i++) { Vmax = Math.max(Math.abs(volt[i]), Vmax); Imax = Math.max(Math.abs(amp[i]), Imax); } S += ""; } GH('dataSmartG', S); } if (Source_data == "ShellyEm"){ GID('infoShellyEm').style.display="block"; groupes[1] = groupes[1].replaceAll('"',''); var G1=groupes[1].split(","); var S=""; for (var i=0;i"; } GH('dataShellyEm', S); } if (Source_data == "Linky"){ GID('infoLinky').style.display="block"; if(!InitFait){ InitFait=true; creerTableauLinky(); } MessageLinky +=groupes[1]; var blocs=MessageLinky.split(String.fromCharCode(2)); var lg=blocs.length; if (lg>2){ MessageLinky=String.fromCharCode(2)+blocs[lg-1]; GH('DataLinky', '
'+blocs[lg-2]+'
'); var lignes=blocs[lg-2].split(String.fromCharCode(10)); for (var i=0;i0){ GID('L'+L[j][0]).style.display="table-row"; switch (L[j][4]){ case 0: GH(L[j][0], LaVal(colonnes[1])); break; case 1: GH('h'+L[j][0], LaDate(colonnes[1])); GH(L[j][0], LaVal(colonnes[2])); break; case 2: //Texte GH('h'+L[j][0], colonnes[1]); break; } } } } } GID('LED').style='display:none;'; } IdxMessage=groupes[2]; } setTimeout('LoadData();',2000); } }; xhttp.open('GET', 'ajax_dataRMS?idx='+IdxMessage, true); xhttp.send(); } function LoadDataESP32() { var xhttp = new XMLHttpRequest(); xhttp.onreadystatechange = function() { if (this.readyState == 4 && this.status == 200) { var dataESP=this.responseText; var message=dataESP.split(RS); var S=''; var H=parseInt(message[0]); H=H + (message[0]-H)*0.6; H=H.toFixed(2); H=H.replace(".", "h ")+"mn"; var LaSource=Source; if (LaSource=='Ext') LaSource="Externe ("+Source_data+")
" +int2ip(RMSextIP); S+=''; S+=''; S+=''; S+="'; S+=''; S+=''; S+=''; S+=''; S+=''; S+=''; S+=''; S+=''; S+="'; S+=''; S +=''; for (var i=0;i<4;i++){ S +=''; } S+='
ESP On depuis :'+H+'
Source des mesures :'+LaSource+'
Niveau WiFi :'+message[1]+' dBm
Point d'accès WiFi :"+message[2]+'
Adresse MAC ESP32 :'+message[3]+'
Réseau WiFi :'+message[4]+'
Adresse IP ESP32 :'+message[5]+'
Adresse passerelle :'+message[6]+'
Masque du réseau :'+message[7]+'
Charge coeur 0 (Lecture RMS) Min, Moy, Max :'+message[8]+' ms
Charge coeur 1 (Calcul + Wifi) Min, Moy, Max :'+message[9]+' ms
Espace mémoire EEPROM utilisé :'+message[10]+' %
Nombre d'interruptions en 15ms du Gradateur (signal Zc) : Filtrés/Brutes :"+message[11]+'
Synchronisation 10ms au Secteur ou asynchrone horloge ESP32'+message[12]+'
Messages
'+message[13+i]+'
'; GH('DataESP32', S); setTimeout('LoadDataESP32();',5000); } }; xhttp.open('GET', 'ajax_dataESP32', true); xhttp.send(); } function LaDate(d){ return d.substr(0,1)+' '+d.substr(5,2)+'/'+d.substr(3,2)+'/'+d.substr(1,2)+' '+d.substr(7,2)+'h '+d.substr(9,2)+'mn '+d.substr(11,2)+'s'; } function LaVal(d){ d=parseInt(d); d=' '+d.toString(); return d.substr(-9,3)+' '+d.substr(-6,3)+' '+d.substr(-3,3); } function AdaptationSource(){ if(Source=="Ext"){ GID("donneeDistante").style.display="block"; } LoadData();LoadDataESP32(); }