hestia/www/views/index.html

75 lines
3.6 KiB
HTML
Raw Normal View History

2022-12-20 20:17:30 +00:00
<!DOCTYPE html>
<html>
<head>
<title>Pellet Stove Web Portal</title>
<link rel="stylesheet" href="/main.css">
</head>
2022-12-21 18:50:09 +00:00
<body onload="refreshData()">
2022-12-20 20:53:25 +00:00
<%- include('trial.html') -%>
2022-12-20 20:17:30 +00:00
<div id="title">Pellet Stove Web Portal</div>
2022-12-21 18:50:09 +00:00
<div id="status">Auger: <span id="auger-status"></span> | Igniter: <span id="igniter-status"></span> | Combustion Blower: <span id="blower-status"></span></div>
<div id="safeties">Vacuum: <span id="vacuum-status"></span> | Proof of Fire: <span id="pof-status"></span></div>
2022-12-20 20:17:30 +00:00
<div id="controls-container">
2022-12-21 02:12:22 +00:00
<form action="/" method="post">
2022-12-20 20:17:30 +00:00
<!-- Start | Shutdown | Reload Settings -->
<div id="buttons">
2022-12-21 02:12:22 +00:00
<input type="submit" id="ignite" value="Start" name="start"><input type="submit" id="shutdown" value="Shutdown" name="shutdown"><input type="submit" id="reload" value="Reload" name="reload"><br>
2022-12-20 20:17:30 +00:00
</div>
<!-- Set feed rates -->
2022-12-21 18:50:09 +00:00
<label for="augerOn">Auger On Interval: </label><input type="number" id="auger-on" name="augerOn" min="500" max="1000" value="<%= intervals.augerOn %>">ms<br>
<label for="augerOff">Auger Off Interval: </label><input type="number" id="auger-off" name="augerOff" min="1000" max="2000" value="<%= intervals.augerOff %>">ms<br>
<label for="pauseInt">App Pause Interval: </label><input type="number" id="pause-int" name="pauseInt" min="1000" max="600000" value="<%= intervals.pause %>">ms<br>
2022-12-20 20:17:30 +00:00
</form>
</div>
<div id="log-container">
2022-12-21 18:50:09 +00:00
<button id="refresh-log" onclick="refreshLog()">Refresh Log</button><br>
<!-- <textarea id="log-area"></textarea> -->
2022-12-20 20:53:25 +00:00
<iframe id="log-area" src="log.txt"></iframe>
2022-12-20 20:17:30 +00:00
</div>
2022-12-20 20:53:25 +00:00
<script>
2022-12-21 18:50:09 +00:00
function sleep(ms) {
return new Promise((resolve, reject) => {
setTimeout(() => {
resolve();
}, ms);
});
}
function readJSON(path) {
var request = new XMLHttpRequest();
request.open("GET", path, false);
request.send(null)
var JSONObj = JSON.parse(request.responseText);
return JSONObj;
}
function refreshData() {
const log = document.getElementById('log-area');
log.contentWindow.location.reload();
sleep(100).then(() => {
document.getElementById('log-area').contentWindow.scrollTo(0, 9999999);
});
const augerStatus = document.getElementById('auger-status');
const augerOn = document.getElementById('auger-on');
const augerOff = document.getElementById('auger-off');
const igniterStatus = document.getElementById('igniter-status');
const blowerStatus = document.getElementById('blower-status');
const pauseInt = document.getElementById('pause-int');
const config = readJSON('./config.json');
augerStatus.innerHTML = config.status.auger;
augerOn.innerHTML = config.intervals.augerOn;
augerOff.innerHTML = config.intervals.augerOff;
igniterStatus.innerHTML = config.status.igniter;
blowerStatus.innerHTML = config.status.blower;
pauseInt.innerHTML = config.intervals.pause;
sleep(2000).then(() => {
refreshData();
2022-12-20 20:53:25 +00:00
});
};
</script>
2022-12-20 20:17:30 +00:00
</body>
</html>