// Setto la versione del software
var version= '2.8.04';
// Stampo il titolo
$('title').empty().html('Nord Panel 2019');
// Sblocca la pagina dall' inattivitÃ
$(".overlay2").click(function(e) {location.reload();});
/*------------------------------
VOCI DI MENU
--------------------------------*/
// Verifico se ho i cookie e quindi so quali voci del MENU devo visualizzare
// ATTENZIONE!
// se l'utente va in internet potrebbe non avere cookies vuoti a causa di google/account che ne aggiunge alla navigazione
if (document.cookie=="" && pagina!='0' && pagina!='prod'){window.location.href = "index.html";}
/*------------------------------
DISEGNO L'HEADER
--------------------------------*/
//$('#headerC').empty().html('
');
$('#headerL').empty().html('
');
function menu(){
//sarebbe bello così
var menu;
menu ='';
menu+='';
menu+='';
menu+='';
menu+='';
menu+='';
$('#headerC').empty().html('
'+ menu +'
');
$('#headerR').empty().html('
');
}
function debug(){
//questa popola l'header di debug con 2 attivo
var dbg_righe;
dbg_righe='';
dbg_righe+=' ';
dbg_righe+='';
dbg_righe+=' ';
dbg_righe+=' ';
dbg_righe+=' ';
dbg_righe+=' ';
dbg_righe+=' ';
dbg_righe+='';
$('#debug').empty().html(dbg_righe);
//qui per vederle!
//debug_c("Chiamata?");
//debug_r("Risposta?");
debug_p("pulsante?");
}
// BOX MODALI PER POWER
$('#modal1').empty().html('×
');
/*------------------------------
GESTIONE DEBUG ?debug=2
--------------------------------*/
var onDebug = '1';
if (pagina=="x"){onDebug='2'}else{onDebug='1'}
ddd=(getUrlVars()["debug"]);
if(ddd!== undefined){
var first = getUrlVars()["debug"];
WrCookie("debugon",first,7);
}
if((RdCookie("debugon"))!="" ){
var onDebug=RdCookie("debugon");
}
/*----------------------------------
VARIABILI/COSTANTI DI SISTEMA
-----------------------------------*/
// costante per Bypassare le chiamate
var ajaxbypass ='1'; // 1 le processa ma va ancora attivata
// FERMA POLLING
var stoppolling='1';
// CONTO ALLA ROVESCIA
var stopCont=1;// 1 per tenerlo attivo e 0 cosa per fermarlo
var tempo='';
var tempo2='';
var alert_1='funzione attiva...';
var SLOTPW="";
var SLOTSSID="";
// converte per la stringa
aHex = ["0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F"];
sDelimit = "";
var sOut = "";
function pollingstop(){
//0 ferma il polling
if (stoppolling==1){stoppolling=0}else{stoppolling=1}
}
/*----------QUANDO SON CARICATO-----------*/
$(window).load(function() {
// se attive scrivo qualcosa nelle fx di debug
debug();
//alert_d("alert");
//tempo_d("TEMPO");
if (pagina!="x"){
leggiData();
menu();
menucustom();
setmenu();
//Lancio il timeout
InitSessionTimer() ;
}
}
);
/*------------------------------
MENU
--------------------------------*/
function setmenu(){
// GESTIONE MENU QUI IMPOSTO LA VOCE ACCESA E invio il nome pagina al modulo
//sendData(
//'pag_id0', CHI SONO
//1); CHI CHIAMERO IN CALLDATA
switch (pagina){
case '0' :
//HOME
$("#home").removeClass();
$("#home").addClass('fanta fanta-m_home_1') ;
callData('pag_id0',1);
//azione=1;
break;
case '1' :
//CALDAIA
$("#boil").removeClass();
$("#boil").addClass('fanta fanta-m_cald_1') ;
callData('pag_id1',3);
//azione=3;
break;
case '2' :
// CONFIG 2 O BATTERIA 4
$("#conf").removeClass();
$("#conf").addClass('fanta fanta-m_bat_1') ;
callData('pag_id2',4);
//azione=4;
break;
case '3' :
//PASSWORD
$("#pass").removeClass();
$("#pass").addClass('fanta fanta-m_pass_1') ;
callData('pag_id3',6);
//azione=0;
stopCont=0;
stoppolling="0";
break;
case '4' :
// INFO
$("#info").removeClass(); //
$("#info").addClass('fanta fanta-m_info_1') ;
//$('#napp').empty().html(version);
$('#napp').empty().val(version);
callData('pag_id4',5);
//azione=0;
break;
case '5' :
//Climatizzatore
$("#clim").removeClass(); //
$("#clim").addClass('fanta fanta-m_cli_1') ;
callData('pag_id5',8);
//$('#stringa input').val('{"A":"110100","L":"000.0","M":"11","I":"33","X":"1001","Y":"111111"}');
azione=0;
break;
case 'prod' :
//PRODUZIONE PASSWORD produzione
callData('pag_id3',6);
$('#napp').empty().val(version);
//azione=0;
stopCont=0;
stoppolling="0";
break;
}
}
/*------------------------------
CHIAMATE
--------------------------------*/
/*------------Read--------------*/
function leggiData(){
var params;
params = { "p": 1, "l": 250, "t": 1, "e":"656F72"};
debug_c(JSON.stringify(params));
$.ajax({
type: "POST",
url: "/sws/uart/rd",
data: {Params: JSON.stringify(params)},
dataType: "jsonp"
}).done()
.error()
.always();
}
/*----------WRITE---------------*/
function sendData(data,pag) {
//funzione master per invio di qualcosa
idp=0;
if (stoppolling=='0'){
InitSessionTimer();// rilancio il conto alla rovescia
stoppolling='1'; // risetto on il polling
idp=pag; // uso l'info per far ripartire il polling della pagina
}
tempo = new Date().getTime();
// si lo so non è il massimo
var chiamata = function(){callData('pag_id'+pagina,idp);}
if(!data.search("am")){
//alert(data);
var selettore='#'+data;
data="sel_"+data+$(selettore).val();
//alert(data);
chiamata = "";
}
if(!data.search("bt")){
var selettore='#'+data;
var data="sel_"+data+$(selettore).val();
//alert(data);
chiamata = "";
}
debug_p(data);
var params;
toHex(data);
params = { "p": 1, "v": sOut};
//debug2(JSON.stringify(params));
//alert("chiamata:"+chiamata);
$.ajax({
type: "POST",
url: "/sws/uart/wr",
data: {Params: JSON.stringify(params)},
success: chiamata,
//error: sedebug,
dataType: "jsonp"
});
// per andare diretto al callData
//alert("fine di sendData");
if(ajaxbypass==2){
alert_1 ="attenzione: risposta senData bypassata";
alert_d();
//chiamata();
}}
function sendDataS(data,pag) {
//funzione master2 per invio di qualcosa
debug_p(data);
if (onDebug==3){ alert("sendataS:bypass");return;}
var params;
toHex(data);
params = { "p": 1, "v": sOut};
$.ajax({
type: "POST",
url: "/sws/uart/wr",
data: {Params: JSON.stringify(params)},
async:false,
timeout: 1,
//success: chiamata,
//
dataType: "jsonp"
});
}
/*--------Write 2 Read----------*/
function callData(polldata,azione) {
// richiesta stringa all'APN
/////////////DI FATTO IL POLLING//////////////////
// TIPO identifica quale funzione o albero di funzioni verranno chiamati per interpretare la stringa ricevuta
// opzione 0 nessuna richiesta post o non leggo se mi rispondi
var polling="";
var lettura="";
//alert (lettura);
if(onDebug==1){var sedebug="";}
if (stoppolling=="0"){TrgModalOverlay3();return;}
switch (azione){
case 0 :
///////////// non fare nulla
return;
break;
case 1 : // HOME
lettura = function(data2){toAscii(data2.v);data=sOut;debug_r(data);rd_home(data);};
polling = function(){setTimeout(function(){ callData('pag_id0',1); }, 1000);};
break;
case 2 :
// Configurazione
//lettura = function(data2){rd_cfg(data2);}
break;
case 3 :
//Caldaia
lettura = function(data2){toAscii(data2.v);data=sOut;debug_r(data);rd_cal(data);}
polling = function(){setTimeout(function(){ callData('pag_id1',3); }, 1000);};
break;
case 4 :
//Battery
lettura = function(data2){toAscii(data2.v);data=sOut;debug_r(data);rd_bat(data);}
polling = function(){setTimeout(function(){ callData('pag_id2',4); }, 1000);};
break;
case 5 :
//Info
lettura = function(data2){toAscii(data2.v);data=sOut;debug_r(data);rd_info(data);}
polling = function(){setTimeout(function(){ callData('pag_id4',5); }, 1000);};
break;
case 6 :
//password
lettura = function(data2){toAscii(data2.v);data=sOut;debug_r2(data);rd_psw(data);}
break;
case 7 :
//password PRODUZIONE non uso
lettura = function(data2){toAscii(data2.v);data=sOut;debug_r2(data);rd_psw2(data);}
break;
case 8 :
//Climatizzatore
lettura = function(data2){toAscii(data2.v);data=sOut;debug_r(data);rd_cli(data);}
polling = function(){setTimeout(function(){ callData('pag_id5',8); }, 1000);};
break;
}
//lettura = function(data2){toAscii(data2.v);data=sOut;debug(data);};
datat = new Date();
var params;
toHex(polldata);
params = { "p": 1, "v": sOut, "l": 250, "t": 5, "e":"656F72"};
debug_c(polldata);
$.ajax({
type: "POST",
url: "/sws/uart/w2r",
data: {Params: JSON.stringify(params)},
//async:false,
dataType: "jsonp"
}).done(lettura)
.error(sedebug)
.always(polling);
}
function callDataS(polldata,pag) {
/////////////DI FATTO W2R//////////////////
////////////////// pag non usata
stoppolling="0";
if (onDebug==3){alert("callDataS: bypass");rd_psw(2); return;}
var lettura = function(data3){toAscii(data3.v);data=sOut;debug_r2(data);rd_psw(data);}
//if (onDebug==3){var letturadebug=function(){rd_psw(2);}
//}else{var letturadebug="";}
var params;
toHex(polldata);
params = { "p": 1, "v": sOut, "l": 250, "t": 5, "e":"656F72"};
debug_c(polldata);
$.ajax({
type: "POST",
url: "/sws/uart/w2r",
data: {Params: JSON.stringify(params)},
async:false,
dataType: "jsonp"
}).done(lettura)
.error()
.always();
}
function TestComunicazione(campovar,pag) {
/////////////DI FATTO W2R//////////////////
////////////////// pag non usata
if (pag==1){
debug_p(campovar);
if (onDebug==3){ alert("sendataS:bypass");return;}
var params;
toHex(campovar);
params = { "p": 1, "v": sOut};
$.ajax({
type: "POST",
url: "/sws/uart/wr",
data: {Params: JSON.stringify(params)},
async:false,
timeout: 1,
dataType: "jsonp"
});
/***************************************************/
}else if (pag==2){
stoppolling="0";
if (onDebug==3){alert("callDataS: bypass");rd_psw(2); return;}
var lettura = function(data3){toAscii(data3.v);data=sOut;debug_r2(data);rd_test(data)}
//if (onDebug==3){var letturadebug=function(){rd_psw(2);}
//}else{var letturadebug="";}
var params;
toHex(campovar);
params = { "p": 1, "v": sOut, "l": 250, "t": 5, "e":"656F72"};
debug_c(campovar);
$.ajax({
type: "POST",
url: "/sws/uart/w2r",
data: {Params: JSON.stringify(params)},
async:false,
dataType: "jsonp"
}).done(lettura)
.error()
.always();
}else if (pag==3){
var lettura = function(data3){toAscii(data3.v);data=sOut;debug_r2(data);rd_test(data)}
var params;
params = { "p": 1, "l": 250, "t": 1, "e":"656F72"};
//debug_c(JSON.stringify(params));
$.ajax({
type: "POST",
url: "/sws/uart/rd",
data: {Params: JSON.stringify(params)},
dataType: "jsonp"
}).done(lettura)
.error()
.always();
}
}
/******************************************
FUNZIONI DIALOGO MODULO
*******************************************/
/*-------INTERPRETATORE RD_--------*/
function rd_test(dataout){
//alert ("SONO IN HOME : "+dataout);return;
// metti la x alla variabile sopra e attiva un chiamante
var dataout2 = '{"A": "011101","B": "001","C": "14.9","D": "11.9","E": "-9.9","F": "100","G": "70","H": "15","I": "50","J": "10","L": "20.5","M": "01","N": "1", "O":"","P":"","X":"111111","Y":"1000000","Z":"0"}';
var formatdataout=dataout2.replace(/,/g ,'\n');
formatdataout=formatdataout.replace("}","");
formatdataout=formatdataout.replace("{","");
if (dataout==2){dataout=dataout2;alert(formatdataout);}
debug_r(dataout)
// restituisce la var sOut nuova al posto di [data]
//var c0=dataout.indexOf('{')-0;
//var c1=dataout.indexOf('}')+1;
//if (c1==-1 ){return;}
//if (c0==-1 ){return;}
//var text=dataout.substring(c0,c1);
// questo è un array
//var json=$.parseJSON(text);
}
function rd_home(dataout){
//alert ("SONO IN HOME : "+dataout);return;
// metti la x alla variabile sopra e attiva un chiamante
var dataout2 = '{"A": "0111011","B": "001","C": "14.9","D": "11.9","E": "-9.9","F": "100","G": "70","H": "15","I": "50","J": "10","L": "20.5","M": "11","N": "1","O":"","P":"","X":"111111","Y":"1000000","Z":"0"}';
var formatdataout=dataout2.replace(/,/g ,'\n');
formatdataout=formatdataout.replace("{","");
formatdataout=formatdataout.replace("}","");
if (dataout==2){dataout=dataout2;alert(formatdataout);}
// restituisce la var sOut nuova al posto di [data]
var c0=dataout.indexOf('{')-0;
var c1=dataout.indexOf('}')+1;
if (c1==-1 ){return;}
if (c0==-1 ){return;}
var text=dataout.substring(c0,c1);
// questo è un array
var json=$.parseJSON(text);
var alarms = json.B;
var bat_b1 = json.C;
var bat_b2 = json.D;
var bat_c1 = json.E;
var ser_s1 = json.F;
var ser_s2 = json.G;
var ser_s3 = json.H;
var ser_s4 = json.I;
var gas_g1 = json.J;
// config per tutte le pagine
var cfg = json.X;
var arr_cfg = cfg.split("");
// mostra nasconti parti pagina
var pag_hs = json.Y;
var arr_pag_hs = pag_hs.split("");
// gestione del power dopo il cfg
var status = json.A;
var arr_st = status.split("");
accensione(cmd_gen, arr_st[0]);
// gestione GSM
var gsm = json.M;
var arr_gs = gsm.split("");
display('ico_gsm',arr_gs[1]); // mostra
bottone(ico_gsm,arr_gs[0],'gsm'); // ACCENDI
//trasformo le stringhe in array
//var arr_st = status.split("");
var arr_al = alarms.split("");
//--------------porcheria-------------
if(RdCookie("logo")!=arr_cfg[0] || RdCookie("Pcal")!=arr_cfg[1] || RdCookie("Pbat")!=arr_cfg[2] || RdCookie("Ppsw")!=arr_cfg[3] || RdCookie("Pwfx")!=arr_cfg[4] || RdCookie("Pcli")!=arr_cfg[5]){
WrCookie("logo",arr_cfg[0],7);
WrCookie("Pcal",arr_cfg[1],7);
WrCookie("Pbat",arr_cfg[2],7);
WrCookie("Ppsw",arr_cfg[3],7);
WrCookie("Pwfx",arr_cfg[4],7);
WrCookie("Pcli",arr_cfg[5],7);
location.reload();
}
// questo per trovare se l'allarme è 0
var control = arr_al.indexOf('1');
//if (control== -1){$("#avvisi").hide();}else{$("#avvisi").show();}
$("#avvisi").hide();
if (control!= -1 || arr_gs[2]==1){$("#avvisi").show();}
//ATTENZIONE se manca il l'id/tag del bottone la funzione va in errore
bottone(ico_lux, arr_st[1],'c_luce');
bottone(ico_ext, arr_st[2],'c_ext');
bottone(ico_pom, arr_st[3],'c_pmp');
bottone(ico_aux, arr_st[4],'c_aux');
avvisi(al_0, arr_al[0],'a_gen');
avvisi(al_1, arr_al[1],'a_ret');
avvisi(al_2, arr_al[2],'a_acc');
//avvisi(al_3, arr_al[3]);
display('aux1',arr_pag_hs[0]);
//meter
display('amp1',arr_pag_hs[1]);
display('ser1',arr_pag_hs[2]);
display('ser2',arr_pag_hs[3]);
display('ser3',arr_pag_hs[4]);
display('ser4',arr_pag_hs[5]);
display('gas1',arr_pag_hs[6]);
// Qui rimpiazzo la virgola e tolgo l'unitÃ
bat_b1 = bat_b1.replace(",",".");
bat_b2 = bat_b2.replace(",",".");
bat_c1 = bat_c1.replace(",",".");
//**************************************************************************************
//document.getElementById("pippo").style.color='#fff';
//controllo dei misuratori
btv1.innerHTML=bat_b1;
btv2.innerHTML=bat_b2;
apv1.innerHTML=bat_c1;
srv1.innerHTML=ser_s1;
srv2.innerHTML=ser_s2;
srv3.innerHTML=ser_s3;
srv4.innerHTML=ser_s4;
gav1.innerHTML=gas_g1;
//MISURATORI
metro(bt1,bat_b1,9,6);
metro(bt2,bat_b2,9,6);
metro2(ap1,bat_c1,-40,80);
metro(sr1,ser_s1,0,100);
metro(sr2,ser_s2,0,100);
metro(sr3,ser_s3,0,100);
metro(sr4,ser_s4,0,100);
metro(ga1,gas_g1,0,20);
}
function rd_cal(dataout){
// metti la x alla variabile sopra e attiva un chiamante
var dataout2 = '{"A":"110100","B":"00000","C":"14.9","D":"14.8","E":" 0.0","F":" 0","G":" 70","H":" 15","I":" 50","L":"00.0","M":"1100","X":"10011101111"}';
if (dataout==2){dataout=dataout2;alert(dataout2);}
//alert(dataout);
//alert("asino il return");
//return;
var c0=dataout.indexOf('{')-0;
var c1=dataout.indexOf('}')+1;
if (c1==-1 ){return;}
if (c0==-1 ){return;}
var text=dataout.substring(c0,c1);
// questo è un array
var json=$.parseJSON(text);
// config
//var cfg = json.X;
//var arr_cfg = cfg.split("");
// gestione del power dopo il cfg
var status = json.A;
var arr_st = status.split("");
accensione(cmd_gen, arr_st[0]);
var temp = json.L;
if (temp<5){temp2="OFF";}else{temp2=temp;}
var cald = json.M;
var t_ext = json.I;
$('#t_ext').empty().html(t_ext);
//trasformo le stringhe in array
var arr_cald = cald.split("");
// 0 Acqua
// 1 elettricitÃ
// 2 caldaia
// 3 rete
var rete = arr_cald[3];
$("#rete").removeClass();
if(rete==0){$("#rete").addClass('fanta fanta-a_ret0');}else{$("#rete").addClass('fanta fanta-a_ret');}
$("#t_ext").val(t_ext);
$("#temper").val(temp);
$("#temper_d").val(temp2);
$("#temper_s").removeClass();
if(temp2=="OFF"){$("#temper_s").addClass('riquadro bt_off');}else{$("#temper_s").addClass('riquadro bt_on');}
$("#water").val(arr_cald[0]);
$("#water_d").val(arr_cald[0]);
$("#water_s").removeClass();
if(arr_cald[0]==0){$("#water_s").addClass('riquadro bt_off');}else{$("#water_s").addClass('riquadro bt_on');}
setico();
$("#elett").val(arr_cald[1]);
$("#elett_d").val(arr_cald[1]);
$("#elett_s").removeClass();
if(arr_cald[1]==0){$("#elett_s").addClass('riquadro bt_off');}else{$("#elett_s").addClass('riquadro bt_on');}
$("#calda_s").removeClass();
if (arr_cald[2]==1){
$("#calda_s").addClass('riquadro bt_on') ;
}else{
$("#calda_s").addClass('riquadro bt_off') ;
}
}
function simulastringa(cosa){}
function rd_cli(dataout){
// Clima
//var dataout2 = '{"A":"110100","L":"000.0","M":"11","I":"33","X":"1001","Y":"111111"}';
//var dataout2 = simulastringa();
var dataout2 = $("#stringa input").val();
//return
var formatdataout=dataout2.replace(/,/g ,'\n');
//formatdataout=formatdataout.replace('' , '');
//formatdataout=formatdataout.replace('' , '');
if (dataout==2){dataout=dataout2;alert(formatdataout);}
//alert(dataout);
//alert("asino il return");
//return;
var c0=dataout.indexOf('{')-0;
var c1=dataout.indexOf('}')+1;
if (c1==-1 ){return;}
if (c0==-1 ){return;}
var text=dataout.substring(c0,c1);
// questo è un array
var json=$.parseJSON(text);
// config
//var cfg = json.X;
//var arr_cfg = cfg.split("");
// gestione del power dopo il cfg
var status = json.A;
var arr_st = status.split("");
accensione(cmd_gen, arr_st[0]);
var temp = json.L;
if (temp<5){temp2="-";}else{temp2=temp;}
var clima = json.M;
var t_ext = json.I;
$('#t_ext').empty().html(t_ext);
//trasformo le stringhe in array
var arr_clima = clima.split("");
$("#tpcold").val(temp);
$("#tpcold_d").val(temp2);
//Prima rimuovi poi setti
$("#tpcold_s").removeClass();
if(temp2=="-"){$("#tpcold_s").addClass('riquadro bt_off');}else{$("#tpcold_s").addClass('riquadro bt_on');}
for(i = 1; i < 4; i++){
$("#vento_"+i).removeClass();
$("#vento_"+i).addClass('riquadro bt_off');
}
if(arr_clima[1]!=0){$("#vento_"+arr_clima[1]).addClass('riquadro bt_on')};
for(i = 1; i < 5; i++){
$("#cmode_"+i).removeClass();
$("#cmode_"+i).addClass('riquadro bt_off');
}
if(arr_clima[0]!=0){$("#cmode_"+arr_clima[0]).addClass('riquadro bt_on')};
//alert(i);
}
function rd_bat(dataout){
// metti la x alla variabile sopra e attiva un chiamante
//var dataout2 = '{"A": "111100","B": "42896","C": "5","D": "10","E": "5","F": "10","G": "30","H": "70","I": "50","L": "125","M": "2","N": "100","X":"111101"}';
//var dataout2 = '{"A": "210001","B": "00158","C": "20","D": "00276","E": "-20","F": "00494","G": "00503","H": "00612","I": "00721","L": "00830","M": "5","N": "1","X":"111011"}';
var dataout2 = '{"A": "100001 ","B": " ","C": " -0.194","D": " 0.00","E": " 27.0","F": " 67.0","G": " 78.0","H": "8","I": "7","L": "6","M": "6","N": "10","O": "10","P": "10","Q": "10","R": "10","S": "10","T": "05","U": "1","X":"1111111111111"}';
if (dataout==2){dataout=dataout2;alert(dataout2);}
// restituisce la var sOut nuova al posto di [data]
var c0=dataout.indexOf('{')-0;
var c1=dataout.indexOf('}')+1;
if (c1==-1 ){return;}
if (c0==-1 ){return;}
var text=dataout.substring(c0,c1);
// questo è un array
var json=$.parseJSON(text);
var alarms = json.N;
var mi1 = json.O;
var mi2 = json.P;
var mi3 = json.Q;
var mi4 = json.R;
var mi5 = json.S;
var cb1 = json.T;
var cb2 = json.U;
// config
//var cfg = json.X;
//var arr_cfg = cfg.split("");
// gestione del power dopo il cfg
var status = json.A;
var arr_st = status.split("");
accensione(cmd_gen, arr_st[0]);
//trasformo le stringhe di configurazione A e Y in array
//var arr_st = status.split("");
if (alarms==""){$("#avvisi").hide();}else{$("#avvisi").show();}
avvisi2.innerHTML=alarms;
$( '#bt').val(cb2);
$( '#am').val(cb1);
miv1.innerHTML=mi1;
miv2.innerHTML=mi2;
miv3.innerHTML=mi3;
miv4.innerHTML=mi4;
miv5.innerHTML=mi5;
metro2(mib1,mi1,-40,80);
scalam(2,1);
metro(mib2,mi2,9,6);
scalam(1,2);
metro3(mib3,mi3,-40,160);
scalam(3,3);
metro(mib4,mi4,0,100);
scalam(0,4);
metro(mib5,mi5,0,100);
scalam(0,5);
}
function rd_psw(dataout){
// funzione di controllo password e se poi errata la richiamo 3 volte
var dataout2 = '{"Y":"rd_psw2","Z":"rd_psw","A":"110100","B":"1234567890","C":" SonoIlSsid ","D":"5","E":"vodafone","F":"216083","G":" 45.1245,54.56841","H":" 1584685","I":" 50","L":" 4","M":"141","X":"10110101"}';
if (dataout==2){dataout=dataout2;alert(dataout2);}
//debug_str(dataout);
var c0=dataout.indexOf('{')-0;
var c1=dataout.indexOf('}')+1;
if (c1==-1 ){return;}
if (c0==-1 ){return;}
var text=dataout.substring(c0,c1);
// questo è un array
var json=$.parseJSON(text);
SLOTPW = json.B;
if (pagina!="prod"){
// in produzione viene tolta
SLOTSSID = $.trim(json.C);
$('#SSID').val(SLOTSSID);
//var cfg = json.X;
//var arr_cfg = cfg.split("");
// gestione del power dopo il cfg
var status = json.A;
var arr_st = status.split("");
accensione(cmd_gen, arr_st[0]);
}
debug_r2("rd_psw: PW: "+SLOTPW+" | SSID:"+SLOTSSID)
}
function rd_psw2(dataout){
/////// PER LA PRODUZIONE MA NON USO
//
var dataout2 = '{"Y":"rd_psw_2","Z":"rd_psw_2","A":"110100","B":"1234567890","C":"1234567890","D":"5","E":"vodafone","F":"216083","G":" 45.1245,54.56841","H":" 1584685","I":" 50","L":" 4","M":"141","X":"10110101"}';
if (dataout==2){dataout=dataout2;alert(dataout2);}
var c0=dataout.indexOf('{')-0;
var c1=dataout.indexOf('}')+1;
if (c1==-1 ){return;}
if (c0==-1 ){return;}
var text=dataout.substring(c0,c1);
// questo è un array
var json=$.parseJSON(text);
SLOTPW = json.B;
debug_r2("rd_psw222:"+SLOTPW)
}
function rd_info(dataout){
// metti la x alla variabile sopra e attiva un chiamante
var dataout2 = '{"A":"110100","B":"123456789123456789","C":"3498510142","D":"5","E":"vodafone","F":"216083","G":" 45.1245,54.56841","H":" 1584685","I":" 50","L":" 4","M":"11","N":"0","Y":"1"}';
if (dataout==2){dataout=dataout2;alert(dataout2);}
//alert(dataout);
//alert("asino il return");
//return;
var c0=dataout.indexOf('{')-0;
var c1=dataout.indexOf('}')+1;
if (c1==-1 ){return;}
if (c0==-1 ){return;}
var text=dataout.substring(c0,c1);
// questo è un array
var json=$.parseJSON(text);
//alert (Object.values(json));
//alert (Object.keys(json));
//return
var imei = json.B;
//campo rimosso var sim = json.C;
var levl = json.D;
var oper = json.E;
var pin = json.F;
var gps1 = json.G;
var gps2 = json.H;
var gps3 = json.I;
var wifi = json.L;
var mdm = json.N;
// config
var pg_hs = json.Y;
var arr_pg_hs = pg_hs.split("");
// gestione del power dopo il cfg
var status = json.A;
var arr_st = status.split("");
accensione(cmd_gen, arr_st[0]);
// gestione GSM
var gsm = json.M;
var arr_gs = gsm.split("");
//display('ico_gsm',arr_gs[2]);
display('infogsm',arr_gs[1]);
bottone(ico_gsm,arr_gs[0],'gsm');
$("#imei").val(imei);
// campo rimosso $("#sim").val(sim);
$("#levl").val(levl);
$("#oper").val(oper);
$("#pin").val(pin);
$("#gps1").val(gps1);
$("#gps2").val(gps2);
$("#gps3").val(gps3);
$("#wifi").val(wifi);
$("#mdm").val(mdm);
display('Rinfo1',arr_pg_hs[0]);
display('Rinfo2',arr_pg_hs[0]);
display('Rinfo3',arr_pg_hs[0]);
display('Rinfo4',arr_pg_hs[0]);
display('Rinfo5',arr_pg_hs[0]);
display('Rinfo6',arr_pg_hs[0]);
display('Rinfo7',arr_pg_hs[0]);
display('Rinfo8',arr_pg_hs[0]);
}
/*----------------------------------------
/ FUNZIONI DIALOGO MODULO
------------------------------------------*/
function setvalore(campo,passo,fmin,fmax){
//controllori +- della caldaia e clima
// si può sistemare meglio
var stato=Number($("#"+campo).val());
var somma = (stato + passo);
var risultato= String(somma);
/*
MA QUESTA SERVE??????????
var lunghezza= String(risultato).length;
if (campo=='temper'){
switch (lunghezza){
case 1 :
risultato = "0"+risultato;
break;
case 2 :
risultato =risultato;
break;
case 3 :
risultato ="0"+risultato;
break;
}
}*/
// questo per pulsante on off che manda via sempre 1
if (passo==0){risultato=1;}
// flassha la spia
if (fmin!=stato){
//$("."+campo+"_b").click(function(){//alert("premo");//});
$("#"+campo+"_s").removeClass();
$("#"+campo+"_s").addClass('riquadro bt_off') ;
setTimeout(function() {$("#"+campo+"_s").removeClass();$("#"+campo+"_s").addClass('riquadro bt_on') ;}, 300);
}
sendData(campo+"_"+risultato,3);
}
function setvalore2(campo,passo){
// comandi bottoni clima
// flassha la spia
//if (fmin!=stato){
//$("."+campo+"_b").click(function(){//alert("premo");//});
cheval=campo+"_"+passo;
$("#"+cheval).removeClass();
$("#"+cheval).addClass('riquadro bt_off') ;
setTimeout(function() {$("#"+cheval).removeClass();$("#"+cheval).addClass('riquadro bt_on') ;}, 300);
//$("#"+cheval).addClass('riquadro bt_off') ;
//}
sendData(cheval,3);
}
function buttonTest(){
//sendData('gsm_pwr',1)
alert("pronti qua");
}
function codesplit(){
// per la produzione che passa con il lettore codici a barrre
var x = document.getElementById("INPUT").value;
var ssid=x.substring(0, 15);
var pwd=x.substring(15, 25);
document.getElementById("SSID").value = ssid;
document.getElementById("PWD").value = pwd;
}
function verifyPw(tipo){
var pwd3=$("#PWD3").val();
var pwd=$("#PWD").val();
var pwd2=$("#PWD2").val();
var ssid=$("#SSID").val();
var regexp = /^[a-zA-Z0-9]+$/;
if(tipo==1){
//FUNZIONI DI CONTROLLO
////////////////SSID/////////////////////////
if (ssid==""){
alert('Wrong SSID min 5, MAX 15!');
return;
}
var quantissid = $("#SSID").val().length;
if (quantissid<5){
alert('Wrong SSID min 5, MAX 15!');
return;}
if (regexp.test(ssid) == false)
{
alert("Wrong SSID. PLS use letter or number only.");
return;
}
/////////////////PASSWORD/////////////////////
if (pwd3!=SLOTPW){
alert('Wrong old Password!');
return;
}
if (pwd==""){
alert('Password is blank!');
return;
}
//CONTROLLO LUNGHEZZA
var quantipwd = $("#PWD").val().length;
if (quantipwd!=10){
alert('Password 10 chr!');
return;}
//CONTROLLO repeat
if (pwd!=pwd2 && tipo==1){
alert ('Password not mach!');
return;
}
if (regexp.test(pwd) == false)
{
alert("Wrong Password. PLS use letter or number only.");
return;
}
}
//////////////////////////FISSO SSID A 15 CARATTERI ///////////////
var ssidx = ssid;
ssid_L=15 - ssid.length;
i=0;
while (i < ssid_L) {
//ATTENZIONE SE SONO 15CHR qui non entri!
ssidx += "#";
i++;
}
///////////////////////////////////////////////////////////
//CONTROLLO CONFERMA
var r = confirm('Press OK to change, then wait a few seconds and reconnect wifi.');
if (r == false) { return;}
//**************************salvo
alert(ssidx);
sendDataS('secursid '+ ssidx,6);
//alert("step 02");
sendDataS('password '+ pwd,6);
//alert("step 03");
setTimeout(function(){
callDataS('cmd_PWD',6);
//alert("step 04");
debug_r2("InVerify PW:(slot: "+ SLOTPW +")-(campo: "+ pwd+")");
//alert("step 05");
debug_r2("InVerify SSID:(slot: "+ SLOTSSID +")-(campo: "+ ssid+")");
//alert("step 06");
// controlli di verifica dopo aver scritto sugli slot
if (SLOTPW == ""){alert("ERROR: PW03");return;}
if (SLOTSSID == "" && tipo==1){alert("ERROR: PW04");return;}
if (pwd!=SLOTPW ){alert("ERROR: PW05");return;}
// non puoi confrontarli uno ha il cancelletto if (ssid!=SLOTSSID){alert("ERROR: PW06");return;}
//alert("step 07");
savePw(pwd,ssid);
}, 2000);
}
function ctrldig(campo){
// realtime check number or letter
var contenuto = $(campo).val();
var regexp = /^[a-zA-Z0-9]+$/;
if (regexp.test(contenuto) == false)
{
alert("PLS use letter or number only.");
$("#"+ campo.id).val("");
return;
}
}
function savePw(pwds,ssids){
// SALVA PASSWORD EBBASTA
debug_r2("savePw : "+ssids+"-"+pwds);
//////////////////Controlli///////////////
if(onDebug!="1"){alert ("nel debug non salvo!! \n Comunque salverei questo: \n ssid:"+ssids+" \n pass:"+pwds);return;}
//alert("fine");
//alert("Salvo questo: \n ssid:"+ssids+" \n pass:"+pwds);
var uri ='/sws/wifi/ap';
var params;
var pers = (1);
var sid = encodeURIComponent(ssids);
var ch = parseInt(3);
var sec = parseInt(4);
var pass = encodeURIComponent(pwds);
params = {"on":2,"pers":pers,"ssid":sid,"chan":ch,"sec":sec,"pwd":pass};
var params2 = JSON.stringify(params);
debug_c(params2);
$.post( uri,params2,"","jsonp").done(function(feed){
var show = "Result: "+((feed.s == 0)?"ok saved! remember reconnect wifi.":"fail save");
//alert(show);
// qui si esegue con la sequenza
location.reload();
});
//$(window.location).attr('href', 'index.html');
}
/******************************************
FUNZIONI SERVIZIO
*******************************************/
/*-----------COOKIE------------*/
function WrCookie(nomeCookie,valoreCookie,durataCookie){
// var scadenza = new Date();
var scadenza="0";
var adesso = new Date();
//alert(scadenza);
//alert(adesso);
//scadenza.setTime(adesso.getTime() + (parseInt(durataCookie) * 60000));
//alert(nomeCookie + '=' + escape(valoreCookie) + '; expires=' + scadenza.toGMTString() + '; path=/');
//document.cookie = nomeCookie + '=' + escape(valoreCookie) + '; expires=' + scadenza.toGMTString() + '; path=/';
document.cookie = nomeCookie + '=' + escape(valoreCookie) + '; expires=' + scadenza + '; path=/';
}
function RdCookie(nomeCookie){
if (document.cookie.length > 0)
{
var inizio = document.cookie.indexOf(nomeCookie + "=");
if (inizio != -1)
{
inizio = inizio + nomeCookie.length + 1;
var fine = document.cookie.indexOf(";",inizio);
if (fine == -1) fine = document.cookie.length;
return unescape(document.cookie.substring(inizio,fine));
}else{
return "";
}
}
return "";}
function DelCookie(nomeCookie){ WrCookie(nomeCookie,'',-1);}
//visualizza tutti i cookie
function mostratutticookie() {alert(document.cookie);}
/*----------------------------------
GESTIONE VOCI MENU COOKIES
-----------------------------------*/
function menucustom(){
//nasconde gli elementi
if(RdCookie("Pcal")==0){
$("#boil").css("display","none");
}
if(RdCookie("Pbat")==0){
$("#conf").css("display","none");
}
if(RdCookie("Ppsw")==0){
$("#pass").css("display","none");
}
if(RdCookie("Pcli")==0){
$("#clim").css("display","none");
}
if(RdCookie("logo")!=""){
var logoid=RdCookie("logo");
$(".logo").css({"background": "url(logo"+logoid+".png)","width": "110px","height": "110px"});
}
if(RdCookie("Pwfx")==""){
$("#cmd_gen").css("display","none");
}
}
function DelAllCook(){
DelCookie("logo");
DelCookie("Pcal");
DelCookie("Pbat");
DelCookie("Ppsw");
DelCookie("Pcli");
DelCookie("Pwfx");
DelCookie("debugon");
//document.cookie="logo=;Pcald=;Pbat=";
}
/*------------MODALE-----------*/
function TrgModalOverlay() {
//return;
$("#cmd_gen").click(function(e) {
var id_modal = $(this).attr("data");
//alert(id_modal)
if(id_modal=="0"){return;};
$(".overlay").show().css("top", $(document).scrollTop()).css("opacity", "0.7")
var top = ($(window).height() - $("#" + id_modal + "").height()) / 2;
var left = ($(window).width() - $("#" + id_modal + "").width()) / 2;
$("#" + id_modal + "").css("left", left).css("top", top).fadeIn();
//alert(id_modal);
e.stopPropagation()
});
$(".overlay").click(function(e) {
//alert("funzione errata")
$(".overlay").hide();
$(".trg-overlay").hide();
e.stopPropagation()
//location.reload();
});
$(".close-overlay").click(function(e) {
$(".overlay").hide();
$(".trg-overlay").hide();
e.stopPropagation()
})
$(".close").click(function(e) {
$(".overlay").hide();
$(".trg-overlay").hide();
e.stopPropagation()
})}
function TrgModalOverlay3() {
// per riattivare pagina
var id_modal = $(this).attr("data");
if(id_modal=="0"){return;};
$(".overlay2").show().css("top", $(document).scrollTop()).css("opacity", "0.7")
var top = ($(window).height() - $("#" + id_modal + "").height()) / 2;
var left = ($(window).width() - $("#" + id_modal + "").width()) / 2;
$("#" + id_modal + "").css("left", left).css("top", top).fadeIn();
e.stopPropagation()
}
/*---------GESTIONE BARRE--------*/
function metro(obj,valore,trasla,scala){
var fattore =(((valore-trasla)/scala)*100);
var value = fattore.toFixed(2);
$(obj).css('width', value+'%');
$(obj).css("background", "yellow");
//alert(value);
}
function metro2(obj,valore,trasla,scala){
if(valore<0){trasla=0;a=-1;}else{a=1;}
var fattore =(((a*valore-trasla)/scala)*100);
var value = fattore.toFixed(2);
var value2 = 50-value;
if (valore>=2){
$(obj).css('width', value-50+'%');
$(obj).css("background", "green");
$(obj).css('margin-left', '50%');
}else if(valore<=-2){
$(obj).css('width', value+'%');
$(obj).css('margin-left', value2+'%');
$(obj).css("background", "red");
}else{
$(obj).css('width', '2%');
$(obj).css('margin-left', '49%');
$(obj).css("background", "yellow");
};
}
function metro3(obj,valore,trasla,scala){
//if(valore<0){trasla=0;a=-1;}else{a=1;}
var fattore =(((valore-trasla)/scala)*100);
var value = fattore.toFixed(2);
//var value2 = 1+value;
if (value<'25'){
$(obj).css('width', value+'%');
$(obj).css("background", "white");
//$(obj).css('width', value-50+'%');
//$(obj).css("background", "red");
//$(obj).css('margin-left', '25%');// quanto disto da destra quindi da dove parto
}else if((value >= '25') && (value <= '50')){
$(obj).css('width', value+'%');
$(obj).css("background", "green");
}else{
$(obj).css('width', value+'%');
$(obj).css("background", "red");
};
}
function scalam(tipom,idmisu){
switch (tipom){
case 0 :
//percentuale
$('#scala'+idmisu).empty().html('
0
20
40
60
80
100
');
break;
case 1 :
//9>15
$('#scala'+idmisu).empty().html('
9
10.5
12
13.5
15
');
break;
case 2 :
$('#scala'+idmisu).empty().html('
-40
-20
0
20
40
');
break;
case 3 :
$('#scala'+idmisu).empty().html('
-40
0
40
80
125
');
break;
case 4 :
$('#scala'+idmisu).empty().html('
0
30
60
90
125
');
break;
case 5 :
$('#scala'+idmisu).empty().html('
0
60
120
180
250
');
break;
}
}
function check(btn,val){
if (val == '1')
{
$("#"+btn).prop( "checked", true );
}else{
$("#"+btn).prop( "checked", false );
}
}
function display(btn,val){
if (val != '1'){document.getElementById(btn).style.display="none";}
}
function accensione(btn,val){
//interruttore on off
// di base il bottone è data=0 e attr on click non c'è
// purtroppo 2 stati richiamano le finestre modali
//quindi $("#cmd_gen").attr("data","0"); blocca le modali
// $("#cmd_gen").removeAttr("onclick"); rimuove onclick.
///////////////////////////////////////
/// da questa versione le modali vengono fissate dal cookies
var tipo=RdCookie("Pwfx");
///////////////////////////////////////////////////////
if (tipo==0){
if (val=='0'){
//$("#cmd_gen").attr("data","0");
btn.className='fanta fanta-c_on_0';
$("#cmd_gen").attr("onclick","sendData('cmd_ge1',0);");
}else if (val == '1')
{
$("#cmd_gen").removeAttr("onclick");
btn.className ="fanta fanta-c_on_1";
$("#cmd_gen").attr("onclick","sendData('cmd_ge0',0);");
}
}else{
TrgModalOverlay();
if (val=='0'){
$("#cmd_gen").attr("data","0");
btn.className='fanta fanta-c_on_0';
$("#cmd_gen").attr("onclick","sendData('cmd_ge1',0);");
}else if (val == '1')
{
$("#cmd_gen").removeAttr("onclick");
btn.className ="fanta fanta-c_on_1";
$("#cmd_gen").attr("data","modal1");
}else{
$("#cmd_gen").removeAttr("onclick");
btn.className='fanta fanta-c_on_2';
$("#cmd_gen").attr("data","modal2");
}
}
}
function bottone(btn,val,name){
if (val == '1')
{
btn.className="fanta fanta-" + name + "_1";
}else{
btn.className="fanta fanta-" + name + "_0";
}
}
function avvisi(btn,val,name){
if (val == '0')
{
btn.className="fanta fanta-a_vuota";
}else{
btn.className='fanta fanta-' + name ;
}
}
function setico(){
var valore = $("#water").val();
switch (valore){
case '0' :
//alert(valore);
$("#acquaico").removeClass();
$("#acquaico").addClass('fanta fanta-cl_acq1') ;
break;
case '1' :
//alert(valore);
$("#acquaico").removeClass();
$("#acquaico").addClass('fanta fanta-cl_acq2') ;
break;
case '2' :
//alert(valore);
$("#acquaico").removeClass();
$("#acquaico").addClass('fanta fanta-cl_acq3') ;
break;
}
}
function sendTime(){
var data = new Date();
var giorno = String(data.getDay());
var ora =String(data.getHours());
var minuti=String(data.getMinutes());
if (minuti.length==1){minuti= "0"+minuti;}
if (ora.length==1){ora= "0"+ora;}
//alert(ora+"."+minuti+"-"+giorno);
var totale= ("tempo_"+ora+"."+minuti+"-"+giorno);
sendData(totale,0);
}
/*---------CONVERTITORI-------*/
function toHex(sIn) {
//IN ESADECIMALE
var l = sIn.length;
var nBuf;
var sBuf;
sOut = "";
for (var i=0;i'+alert_1+'
');
}
function tempo_d(){
if (onDebug=='1'){return;}
conto= tempo+timeout_sec-tempo2;
$('#countdown').empty().html('
Conto alla rovescia :
'+conto+'
');
}
function polling_d(){
//alert(onDebug);
if (onDebug=='1'){return;}
//$('#stoptempo').empty().html('
'+tempo+' <> '+tempo2+'
');
$('#stoppoll').empty().html('
Polling 0=off 1=on:
'+stoppolling+'
');
}
function debug_p(chi){
//alert(onDebug);
if (onDebug=='1'){return;}
$('#debug_p').empty().html('
Pulsante WR :
'+chi+'
');
}
var contachi=0;
function debug_c(stringa){
if (onDebug=="1"){return;}
////////SIMULAZIONE///////////// per simulare ma ricorda di cambiare il nome della funzione a seconda della pag.
$('#simulazione').html(' ');
//$('#stringa').html('');
$("#stringa").css("display","block");
//
//
// visualizza dati inviati
contachi++;
$('#debug_c').empty().html('
Stringa inviata con W2R (poll) :
'+stringa+'
Conta chiamate (che possono essere di W2R) : '+contachi+'
');
}
function debug_r(stringa){
if (onDebug=="1"){return;}
$('#debug_r').empty().html('
Il Modulo WIFI ha RISPOSTO :
'+stringa+'
');
}
function debug_r2(stringa){
if (onDebug=="1"){return;}
$('#risp').append("["+stringa+"]");
}
function debug_str(stringa){
//if (onDebug=="1"){return;}
$('#debug_str').empty().html('
old pw è la lettera B :
'+stringa+'
');
}
//////////////////////////////////////////////////////////////////////////
// ******************************************************************** //
// ***** Session Timeout Warning and Redirect mReschke 2010-09-29 ***** //
///////////////////////CUSTOM DENI////////////////////////////////////////
function InitSessionTimer() {
// mReschke 2010-09-29 //
warn_sec = 1000; //Warning time in milliseconds
timeout_sec = 60000; //Actual timeout in milliseconds
show_warning = true;
tempo = new Date().getTime();
if (stopCont==0){return;}
CheckSessionStatus();
}
function CheckSessionStatus() {
// mReschke 2010-09-29 //
/*SOLO QUESTA VA IN CICLO*/
if (stopCont==0){return;}
//Check for session warning
tempo2 = new Date().getTime();
tempo_d();
polling_d();
//if (onDebug=="2"){return ;}
if (tempo2 > tempo + timeout_sec) {
stoppolling='0';
} else {
down = setTimeout("CheckSessionStatus();", 1000);
//alert("salto!");
}
}
///////CHI USA QUESTA///////////
if (!DG)var DG = {};
DG.OnOffSwitchAuto = function (config) {
var properties = DG.OnOffSwitchProperties;
$( document ).ready(function() {
if(config.cls){
var els = $(config.cls);
var index = 0;
for(var i=0,len=els.length;i