mirror of
https://github.com/Laxilef/OTGateway.git
synced 2025-12-11 02:34:29 +05:00
179 lines
6.7 KiB
HTML
179 lines
6.7 KiB
HTML
<!doctype html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="utf-8" />
|
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
<title>OpenTherm Gateway</title>
|
|
<link rel="stylesheet" href="/static/pico.min.css">
|
|
<link rel="stylesheet" href="/static/app.css"/>
|
|
</head>
|
|
|
|
<body>
|
|
<header class="container">
|
|
<nav>
|
|
<ul>
|
|
<li><a href="/"><div class="logo">OpenTherm Gateway</div></a></li>
|
|
</ul>
|
|
<ul>
|
|
<li><a href="https://github.com/Laxilef/OTGateway/wiki" role="button" class="secondary" target="_blank">Help</a></li>
|
|
</ul>
|
|
</nav>
|
|
</header>
|
|
|
|
<main class="container">
|
|
<article>
|
|
<div>
|
|
<hgroup>
|
|
<h2>Network</h2>
|
|
<p></p>
|
|
</hgroup>
|
|
|
|
<div id="main-busy" aria-busy="true"></div>
|
|
<table id="main-table" class="hidden">
|
|
<tbody>
|
|
<tr>
|
|
<th scope="row">Hostname:</th>
|
|
<td><b id="network-hostname"></b></td>
|
|
</tr>
|
|
<tr>
|
|
<th scope="row">MAC:</th>
|
|
<td><b id="network-mac"></b></td>
|
|
</tr>
|
|
<tr>
|
|
<th scope="row">Connected:</th>
|
|
<td><input type="radio" id="network-connected" aria-invalid="false" checked disabled /></td>
|
|
</tr>
|
|
<tr>
|
|
<th scope="row">SSID:</th>
|
|
<td><b id="network-ssid"></b></td>
|
|
</tr>
|
|
<tr>
|
|
<th scope="row">Signal:</th>
|
|
<td><b id="network-signal"></b> %</td>
|
|
</tr>
|
|
<tr>
|
|
<th scope="row">IP:</th>
|
|
<td><b id="network-ip"></b></td>
|
|
</tr>
|
|
<tr>
|
|
<th scope="row">Subnet:</th>
|
|
<td><b id="network-subnet"></b></td>
|
|
</tr>
|
|
<tr>
|
|
<th scope="row">Gateway:</th>
|
|
<td><b id="network-gateway"></b></td>
|
|
</tr>
|
|
<tr>
|
|
<th scope="row">DNS:</th>
|
|
<td><b id="network-dns"></b></td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
<div class="grid">
|
|
<a href="/network.html" role="button">Network settings</a>
|
|
</div>
|
|
</div>
|
|
</article>
|
|
|
|
<article>
|
|
<div>
|
|
<hgroup>
|
|
<h2>System</h2>
|
|
<p></p>
|
|
</hgroup>
|
|
|
|
<div id="system-busy" aria-busy="true"></div>
|
|
<table id="system-table" class="hidden">
|
|
<tbody>
|
|
<tr>
|
|
<th scope="row">Version:</th>
|
|
<td><b id="version"></b></td>
|
|
</tr>
|
|
<tr>
|
|
<th scope="row">Build date:</th>
|
|
<td><b id="build-date"></b></td>
|
|
</tr>
|
|
<tr>
|
|
<th scope="row">Uptime:</th>
|
|
<td><b id="uptime-days"></b> days, <b id="uptime-hours"></b> hours, <b id="uptime-min"></b> min., <b id="uptime-sec"></b> sec.</td>
|
|
</tr>
|
|
<tr>
|
|
<th scope="row">Free memory:</th>
|
|
<td><b id="free-heap"></b> of <b id="total-heap"></b> bytes (min: <b id="min-free-heap"></b> bytes)<br />max free block: <b id="max-free-block-heap"></b> bytes (min: <b id="min-max-free-block-heap"></b> bytes)</td>
|
|
</tr>
|
|
<tr>
|
|
<th scope="row">Last reset reason:</th>
|
|
<td><b id="reset-reason"></b></td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
|
|
<div class="grid">
|
|
<a href="/dashboard.html" role="button">Dashboard</a>
|
|
<a href="/settings.html" role="button">Settings</a>
|
|
<a href="/upgrade.html" role="button">Upgrade</a>
|
|
<a href="/restart.html" role="button" class="secondary restart">Restart</a>
|
|
</div>
|
|
</div>
|
|
</article>
|
|
</main>
|
|
|
|
<footer class="container">
|
|
<small>
|
|
<b>Made by Laxilef</b>
|
|
• <a href="https://github.com/Laxilef/OTGateway/blob/master/LICENSE" target="_blank" class="secondary">License</a>
|
|
• <a href="https://github.com/Laxilef/OTGateway/blob/master/" target="_blank" class="secondary">Source code</a>
|
|
• <a href="https://github.com/Laxilef/OTGateway/wiki" target="_blank" class="secondary">Help</a>
|
|
• <a href="https://github.com/Laxilef/OTGateway/issues" target="_blank" class="secondary">Issue & questions</a>
|
|
• <a href="https://github.com/Laxilef/OTGateway/releases" target="_blank" class="secondary">Releases</a>
|
|
</small>
|
|
</footer>
|
|
|
|
<script src="/static/app.js"></script>
|
|
<script>
|
|
window.onload = async function () {
|
|
setTimeout(async function onLoadPage() {
|
|
try {
|
|
const response = await fetch('/api/info', { cache: 'no-cache' });
|
|
if (!response.ok) {
|
|
throw new Error('Response not valid');
|
|
}
|
|
|
|
const result = await response.json();
|
|
setValue('#network-hostname', result.network.hostname);
|
|
setValue('#network-mac', result.network.mac);
|
|
setState('#network-connected', result.network.connected);
|
|
setValue('#network-ssid', result.network.ssid);
|
|
setValue('#network-signal', result.network.signalQuality);
|
|
setValue('#network-ip', result.network.ip);
|
|
setValue('#network-subnet', result.network.subnet);
|
|
setValue('#network-gateway', result.network.gateway);
|
|
setValue('#network-dns', result.network.dns);
|
|
setBusy('#main-busy', '#main-table', false);
|
|
|
|
setValue('#version', result.system.version);
|
|
setValue('#build-date', result.system.buildDate);
|
|
setValue('#uptime', result.system.uptime);
|
|
setValue('#uptime-days', Math.floor(result.system.uptime / 86400));
|
|
setValue('#uptime-hours', Math.floor(result.system.uptime % 86400 / 3600));
|
|
setValue('#uptime-min', Math.floor(result.system.uptime % 3600 / 60));
|
|
setValue('#uptime-sec', Math.floor(result.system.uptime % 60));
|
|
setValue('#total-heap', result.system.totalHeap);
|
|
setValue('#free-heap', result.system.freeHeap);
|
|
setValue('#min-free-heap', result.system.minFreeHeap);
|
|
setValue('#max-free-block-heap', result.system.maxFreeBlockHeap);
|
|
setValue('#min-max-free-block-heap', result.system.minMaxFreeBlockHeap);
|
|
setValue('#reset-reason', result.system.resetReason);
|
|
setBusy('#system-busy', '#system-table', false);
|
|
|
|
} catch (error) {
|
|
console.log(error);
|
|
}
|
|
|
|
setTimeout(onLoadPage, 10000);
|
|
}, 1000);
|
|
};
|
|
</script>
|
|
</body>
|
|
</html>
|