<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>