123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106 |
- <html><head><body>
- <h3>Base configuration</h3>
- <a href='/'>Home</a><br><br>
- <input type='button' value='reload' onclick='return transmit()'/><br><br>
- <form id='form1' onsubmit='return transmit(this)'>
- Device Name: <input type='text' name='devName' id='devName'/><br><br>
- HTTP User *: <input type='text' name='httpUser' id='httpUser'/><br>
- HTTP Password *: <input type='text' name='httpPass' id='httpPass'/><br><br>
- MQTT Server *: <input type='text' name='mqttHost' id='mqttHost'/><br>
- MQTT Port *: <input type='number' name='mqttPort' id='mqttPort'/><br>
- MQTT User *: <input type='text' name='mqttUser' id='mqttUser'/><br>
- MQTT Password *: <input type='text' name='mqttPass' id='mqttPass'/><br><br>
- In Topic *: <input type='text' name='inTop' id='inTop'/><br>
- Out Topic: <input type='text' name='outTop' id='outTop'/><br>
- Out Retain *: <input type='checkbox' name='outRet' id='outRet'/><br><br>
- LastWill Topic *: <input type='text' name='willTop' id='willTop'/><br>
- LastWill Qos *: <select name='willQos' id='willQos'><option>0</option><option>1</option><option>2</option></select><br>
- LastWill Retain *: <input type='checkbox' name='willRet' id='willRet'/><br>
- LastWill Message *: <input type='text' name='willMsg' id='willMsg'/><br><br>
- Domoticz Out Topic *: <input type='text' name='domOutTop' id='domOutTop'/><br><br>
- All ON/OFF Topic *: <input type='text' name='allOnOffTop' id='allOnOffTop'/><br>
- <br>
- <input type='submit' value='Save'/>
- </form>
- <form id='restartForm' onsubmit='return res()'>
- <input type='hidden' name='restart' value='1'>
- <input type='submit' value='Restart'/>
- </form>
- <script>
- function g(i) { return document.getElementById(i) };
- var xhttp, reqTime, reqFin, rxhttp;
-
- function res() {
- rxhttp = new XMLHttpRequest();
- rxhttp.timeout = 1000;
- rxhttp.open('POST', 'restart');
- rxhttp.send('');
- rxhttp = null;
- return false;
- }
- function setCheckbox(ele, dat) {
- if(dat == 1) {
- ele.checked = true;
- ele.style.visibility = 'visible';
- }
- else {
- ele.checked = false;
- ele.style.visibility = 'visible';
- }
- }
- function updateCheckboxValue(ele) {
- if (ele.checked) ele.value ='1';
- else {
- ele.value = '0';
- ele.checked = true;
- ele.style.visibility = 'hidden';
- }
- }
-
- function transmit(f) {
- if (!xhttp) {
- reqTime = 0;
- reqFin = false;
- updateCheckboxValue(g('outRet'));
- updateCheckboxValue(g('willRet'));
- xhttp = new XMLHttpRequest();
- xhttp.timeout = 2000;
- xhttp.open('POST', 'confdata');
- xhttp.send(f ? (new FormData(f)) : '');
- xhttp.onreadystatechange = function () {
- if (xhttp.readyState === XMLHttpRequest.DONE && xhttp.status === 200) {
- var data = JSON.parse(xhttp.responseText);
- g('httpUser').value = data.httpUser;
- g('httpPass').value = data.httpPass;
- g('devName').value = data.devName
- g('mqttHost').value = data.mqttHost;
- g('mqttPort').value = data.mqttPort;
- g('mqttUser').value = data.mqttUser;
- g('mqttPass').value = data.mqttPass;
- g('inTop').value = data.inTop;
- g('outTop').value = data.outTop;
- g('willTop').value = data.willTop;
- g('willQos').value = data.willQos;
- setCheckbox(g('outRet'), data.outRet);
- setCheckbox(g('willRet'), data.willRet);
- g('willMsg').value = data.willMsg;
- g('domOutTop').value = data.domOutTop;
- g('allOnOffTop').value = data.allOnOffTop;
- xhttp = null;
- reqFin = true;
- }
- else {
- if(!reqFin && reqTime > 10) {
- xhttp = null;
- reqFin = true;
- }
- }
- }
- }
- return false;
- }
- transmit();
- setInterval(function () { ++reqTime; }, 1000);
- </script>
- </body></html>
|