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;iMaison | | | ';
}
if (i==6){
S+='Triac | | |
';
}
S+=''+M[i][1]+' | | '+M[i][2]+' |
';
}
S+='
';
GH('tableau', S);
}
function creerTableauEnphase(){
var S='';
for (var i=0;iMaison | | | ';
}
S+=''+E[i][1]+' | | '+E[i][2]+' |
';
}
S+='
';
GH('tableauEnphase', S);
}
function creerTableauLinky(){
var S='';
for (var i=0;i'+L[i][1]+' | | '+L[i][3]+' | | ';
}
S+='
';
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= "";
GH('SVG',S);
}
if (Source_data == "UxIx2"){
GID('infoUxIx2').style.display="block";
var G1=groupes[1].split(RS);
if(!InitFait){
InitFait=true;
creerTableauUxIx2();
GH("nomSondeFixe",nomSondeFixe);
GH("nomSondeMobile",nomSondeMobile);
}
for (var j=0;j";
}
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+='ESP On depuis : | '+H+' |
';
S+='Source des mesures : | '+LaSource+' |
';
S+='Niveau WiFi : | '+message[1]+' dBm |
';
S+="Point d'accès WiFi : | "+message[2]+' |
';
S+='Adresse MAC ESP32 : | '+message[3]+' |
';
S+='Réseau WiFi : | '+message[4]+' |
';
S+='Adresse IP ESP32 : | '+message[5]+' |
';
S+='Adresse passerelle : | '+message[6]+' |
';
S+='Masque du réseau : | '+message[7]+' |
';
S+='Charge coeur 0 (Lecture RMS) Min, Moy, Max : | '+message[8]+' ms |
';
S+='Charge coeur 1 (Calcul + Wifi) Min, Moy, Max : | '+message[9]+' ms |
';
S+='Espace mémoire EEPROM utilisé : | '+message[10]+' % |
';
S+="Nombre d'interruptions en 15ms du Gradateur (signal Zc) : Filtrés/Brutes : | "+message[11]+' |
';
S+='Synchronisation 10ms au Secteur ou asynchrone horloge ESP32 | '+message[12]+' |
';
S +='Messages | |
';
for (var i=0;i<4;i++){
S +=''+message[13+i]+' | |
';
}
S+='
';
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();
}