mirror of
https://github.com/Laxilef/OTGateway.git
synced 2025-12-10 18:24:27 +05:00
226 lines
9.6 KiB
HTML
226 lines
9.6 KiB
HTML
<!doctype html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="utf-8" />
|
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
<title data-i18n>index.title</title>
|
|
<link rel="stylesheet" href="/static/app.css?{BUILD_TIME}" />
|
|
</head>
|
|
|
|
<body>
|
|
<header class="container">
|
|
<nav>
|
|
<ul>
|
|
<li><a href="/">
|
|
<div class="logo" data-i18n>logo</div>
|
|
</a></li>
|
|
</ul>
|
|
<ul>
|
|
<!--<li><a href="https://github.com/Laxilef/OTGateway/wiki" role="button" class="secondary" target="_blank">Help</a></li>-->
|
|
<li>
|
|
<select id="lang" aria-label="Lang">
|
|
<option value="en" selected>EN</option>
|
|
<option value="ru">RU</option>
|
|
</select>
|
|
</li>
|
|
</ul>
|
|
</nav>
|
|
</header>
|
|
|
|
<main class="container">
|
|
<article>
|
|
<div>
|
|
<hgroup>
|
|
<h2 data-i18n>index.section.network</h2>
|
|
<p></p>
|
|
</hgroup>
|
|
|
|
<div id="main-busy" aria-busy="true"></div>
|
|
<table id="main-table" class="hidden">
|
|
<tbody>
|
|
<tr>
|
|
<th scope="row" data-i18n>network.params.hostname</th>
|
|
<td><b id="network-hostname"></b></td>
|
|
</tr>
|
|
<tr>
|
|
<th scope="row" data-i18n>network.params.mac</th>
|
|
<td><b id="network-mac"></b></td>
|
|
</tr>
|
|
<tr>
|
|
<th scope="row" data-i18n>network.wifi.connected</th>
|
|
<td><input type="radio" id="network-connected" aria-invalid="false" checked disabled /></td>
|
|
</tr>
|
|
<tr>
|
|
<th scope="row" data-i18n>network.wifi.ssid</th>
|
|
<td><b id="network-ssid"></b></td>
|
|
</tr>
|
|
<tr>
|
|
<th scope="row" data-i18n>network.wifi.signal</th>
|
|
<td><b id="network-signal"></b> %</td>
|
|
</tr>
|
|
<tr>
|
|
<th scope="row" data-i18n>network.params.ip</th>
|
|
<td><b id="network-ip"></b></td>
|
|
</tr>
|
|
<tr>
|
|
<th scope="row" data-i18n>network.params.subnet</th>
|
|
<td><b id="network-subnet"></b></td>
|
|
</tr>
|
|
<tr>
|
|
<th scope="row" data-i18n>network.params.gateway</th>
|
|
<td><b id="network-gateway"></b></td>
|
|
</tr>
|
|
<tr>
|
|
<th scope="row" data-i18n>network.params.dns</th>
|
|
<td><b id="network-dns"></b></td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
<div class="grid">
|
|
<a href="/network.html" role="button" data-i18n>network.name</a>
|
|
</div>
|
|
</div>
|
|
</article>
|
|
|
|
<article>
|
|
<div>
|
|
<hgroup>
|
|
<h2 data-i18n>index.section.system</h2>
|
|
<p></p>
|
|
</hgroup>
|
|
|
|
<div id="system-busy" aria-busy="true"></div>
|
|
<table id="system-table" class="hidden">
|
|
<tbody>
|
|
<tr>
|
|
<th scope="row" data-i18n>index.system.build.version</th>
|
|
<td><b id="build-version"></b></td>
|
|
</tr>
|
|
<tr>
|
|
<th scope="row" data-i18n>index.system.build.title</th>
|
|
<td>
|
|
Env: <b id="build-env"></b><br />
|
|
<span data-i18n>index.system.build.date</span>: <b id="build-date"></b><br />
|
|
<span data-i18n>index.system.build.core</span>: <b id="build-core"></b><br />
|
|
<span data-i18n>index.system.build.sdk</span>: <b id="build-sdk"></b>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<th scope="row" data-i18n>index.system.uptime</th>
|
|
<td>
|
|
<b id="uptime-days"></b> <span data-i18n>time.days</span>,
|
|
<b id="uptime-hours"></b> <span data-i18n>time.hours</span>,
|
|
<b id="uptime-min"></b> <span data-i18n>time.min</span>,
|
|
<b id="uptime-sec"></b> <span data-i18n>time.sec</span>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<th scope="row" data-i18n>index.system.memory.title</th>
|
|
<td>
|
|
<b id="heap-free"></b> of <b id="heap-total"></b> bytes (<span data-i18n>index.system.memory.min</span>: <b id="heap-min-free"></b> bytes)<br />
|
|
<span data-i18n>index.system.memory.maxFreeBlock</span>: <b id="heap-max-free-block"></b> bytes (<span data-i18n>index.system.memory.min</span>: <b id="heap-min-max-free-block"></b> bytes)
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<th scope="row" data-i18n>index.system.board</th>
|
|
<td>
|
|
<span data-i18n>index.system.chip.model</span>: <b id="chip-model"></b> (rev. <span id="chip-rev"></span>)<br />
|
|
<span data-i18n>index.system.chip.cores</span>: <b id="chip-cores"></b>, <span data-i18n>index.system.chip.freq</span>: <b id="chip-freq"></b> mHz<br />
|
|
<span data-i18n>index.system.flash.size</span>: <b id="flash-size"></b> MB (<span data-i18n>index.system.flash.realSize</span>: <b id="flash-real-size"></b> MB)
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<th scope="row" data-i18n>index.system.lastResetReason</th>
|
|
<td>
|
|
<b id="reset-reason"></b><br />
|
|
<a href="/api/debug" target="_blank"><small>Save debug data</small></a>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
|
|
<div class="grid" style="grid-template-columns: repeat(auto-fit,minmax(12rem,1fr)) !important;">
|
|
<a href="/dashboard.html" role="button" data-i18n>dashboard.name</a>
|
|
<a href="/settings.html" role="button" data-i18n>settings.name</a>
|
|
<a href="/sensors.html" role="button" data-i18n>sensors.name</a>
|
|
<a href="/upgrade.html" role="button" data-i18n>upgrade.name</a>
|
|
<a href="/restart.html" role="button" class="secondary restart" data-i18n>button.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" data-i18n>nav.license</a>
|
|
• <a href="https://github.com/Laxilef/OTGateway/blob/master/" target="_blank" class="secondary" data-i18n>nav.source</a>
|
|
• <a href="https://github.com/Laxilef/OTGateway/wiki" target="_blank" class="secondary" data-i18n>nav.help</a>
|
|
• <a href="https://github.com/Laxilef/OTGateway/issues" target="_blank" class="secondary" data-i18n>nav.issues</a>
|
|
• <a href="https://github.com/Laxilef/OTGateway/releases" target="_blank" class="secondary" data-i18n>nav.releases</a>
|
|
</small>
|
|
</footer>
|
|
|
|
<script src="/static/app.js?{BUILD_TIME}"></script>
|
|
<script>
|
|
document.addEventListener('DOMContentLoaded', async () => {
|
|
const lang = new Lang(document.getElementById('lang'));
|
|
lang.build();
|
|
|
|
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('#reset-reason', result.system.resetReason);
|
|
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('#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('#build-version', result.build.version);
|
|
setValue('#build-date', result.build.date);
|
|
setValue('#build-env', result.build.env);
|
|
setValue('#build-core', result.build.core);
|
|
setValue('#build-sdk', result.build.sdk);
|
|
|
|
setValue('#heap-total', result.heap.total);
|
|
setValue('#heap-free', result.heap.free);
|
|
setValue('#heap-min-free', result.heap.minFree);
|
|
setValue('#heap-max-free-block', result.heap.maxFreeBlock);
|
|
setValue('#heap-min-max-free-block', result.heap.minMaxFreeBlock);
|
|
|
|
setValue('#chip-model', result.chip.model);
|
|
setValue('#chip-rev', result.chip.rev);
|
|
setValue('#chip-cores', result.chip.cores);
|
|
setValue('#chip-freq', result.chip.freq);
|
|
setValue('#flash-size', result.flash.size / 1024 / 1024);
|
|
setValue('#flash-real-size', result.flash.realSize / 1024 / 1024);
|
|
|
|
setBusy('#system-busy', '#system-table', false);
|
|
|
|
} catch (error) {
|
|
console.log(error);
|
|
}
|
|
|
|
setTimeout(onLoadPage, 10000);
|
|
}, 1000);
|
|
});
|
|
</script>
|
|
</body>
|
|
</html> |