| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138 | <html><head><meta charset='utf-8'><meta name='viewport' content='width=device-width,initial-scale=1,user-scalable=no'/><link rel='stylesheet' href='style.css'><title>WiFiThermostat - WTherm-T5WZ</title><script>  function g(i) { return document.getElementById(i) };  function sp(i){g(i).type=(g(i).type==='text'?'password':'text');}  var xhttp, reqTime, reqFin;  function setCbx(el, da) {    if(da == '1') {      el.checked = true;      el.style.visibility = 'visible';    }    else {      el.checked = false;      el.style.visibility = 'visible';    }  }  function updCbxVal(el) {    if (el.checked) el.value = '1';    else {      el.checked = true;    el.value = '0';      el.style.visibility = 'hidden';    }  }    function transmit(f) {    if (!xhttp) {       reqTime = 0;    reqFin = false;    updCbxVal(g('autoSaveTemp'));    updCbxVal(g('autoSaveMode'));    updCbxVal(g('saveToMqttRet'));    updCbxVal(g('PIRenDisp'));    updCbxVal(g('PIRenDispPs0'));    updCbxVal(g('togTHdisp'));    xhttp = new XMLHttpRequest();    xhttp.timeout = 1000;    xhttp.overrideMimeType('application/json');    xhttp.open('POST', 'confDataBas');    xhttp.send(f ? (new FormData(f)) : '');    xhttp.onreadystatechange = function () {      if (xhttp.readyState === XMLHttpRequest.DONE && xhttp.status === 200) {        var data = JSON.parse(xhttp.responseText);        g('tempMin').value = data.tempMin;        g('tempMax').value = data.tempMax;        g('measInt').value = data.measInt;        g('dispInt').value = data.dispInt;        g('dispTout').value = data.dispTout;        setCbx(g('autoSaveTemp'), data.autoSaveTemp);        setCbx(g('autoSaveMode'), data.autoSaveMode);        setCbx(g('saveToMqttRet'), data.saveToMqttRet);        setCbx(g('PIRenDisp'), data.PIRenDisp);        setCbx(g('PIRenDispPs0'), data.PIRenDispPs0);        setCbx(g('togTHdisp'), data.togTHdisp);        xhttp = null;        reqFin = true;       }       else {         if(!reqFin && reqTime > 10) {           xhttp = null;           reqFin = true;         }       }     }   }    return false;  }  //transmit();  function saveConf() {    updCbxVal(g('autoSaveTemp'));    updCbxVal(g('autoSaveMode'));    updCbxVal(g('saveToMqttRet'));    updCbxVal(g('PIRenDisp'));    updCbxVal(g('PIRenDispPs0'));    updCbxVal(g('togTHdisp'));    g('frmConf').submit();  }  function init() {    transmit();  }  setInterval(function () { ++reqTime; }, 1000);</script></head><body onload='init()'><div id='main'><div id='head'>WiFiThermostat - WTherm-T5WZ</div><hr><div></div><b>Configuration - Thermostat Basic</b><div class='config'><form id='frmConf' action='setConfBas' method='POST'><br><fieldset><legend>Thermostat</legend><p><b>Minimum Set Temperature [°C]</b><br><input type='text' name='tempMin' id='tempMin'></p><p><b>Maximum Set Temperature [°C]</b><br><input type='text' name='tempMax' id='tempMax'></p></fieldset><div></div><br><fieldset><legend>Auto Save</legend><p><b>Temperature *</b> <input type='checkbox' name='autoSaveTemp' id='autoSaveTemp'/></p><p><b>Mode/Preset *</b> <input type='checkbox' name='autoSaveMode' id='autoSaveMode'/></p><p class='n'>To minimize flash writes, this can also be <br>achieved by using MQTT with retain flag, when using <br>an external controller, especially for Mode/Preset, <br>as these will change frequently in most cases. <br>WiFiThermostat will receive the last value from retained MQTT <br>message automatically on startup/reconnect.</p><p><b>Preserve States MQTT retained</b> <input type='checkbox' name='saveToMqttRet' id='saveToMqttRet'/></p></fieldset><div></div><br><fieldset><legend>Intervals / Timeouts</legend><p><b>Measurement Interval [s]</b><br><input type='number' name='measInt' id='measInt'></p><p><b>Display Update Interval [s]</b><br><input type='number' name='dispInt' id='dispInt'></p><p><b>Display Timeout [s]</b><br><input type='number' name='dispTout' id='dispTout'></p></fieldset><div></div><br><fieldset><legend>Misc</legend><p><b>PIR enables LCD backlight</b> <input type='checkbox' name='PIRenDisp' id='PIRenDisp'/></p><p><b>  only in normal heating mode</b> <input type='checkbox' name='PIRenDispPs0' id='PIRenDispPs0'/></p><br><p><b>Toggling I/O-Temp/Hum on LCD</b> <input type='checkbox' name='togTHdisp' id='togTHdisp'/></p></fieldset><br></form><div></div><table style='width:100%'><td style='width:50%'><button onclick='location="conf";' class='bgrey'>Cancel</button></td><td style='width:50%'><button onclick='return saveConf()' class='bred'>Save</button></td></tr></table></div><div style='text-align:right;font-size:0.7em;color:#AAA;'><hr/><a href='https://git.flokra.at/flo/WiFiThermostat' target='_blank' style='color:#AAA;'>WiFiThermostat</a> v0.6.0 by <a href='https://www.flokra.at/' target='_blank' style='color:#AAA;'>FloKra</a></div></div></body></html>
 |