esphome-ratgdo/static/webui_documentation.html

671 lines
12 KiB
HTML
Raw Permalink Normal View History

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>ESPHome ratgdo Web UI Documentation</title>
<meta name="description" content="Install ratgdo on your ESPHome devices." />
<meta name="viewport" content="width=device-width" />
<meta name="color-scheme" content="dark light" />
<meta property="og:title" content="ESPHome ratgdo Web UI Documentation" />
<meta property="og:site_name" content="ESPHome ratgdo" />
<meta property="og:url" content="https://ratgdo.github.io/esphome-ratgdo/" />
<meta property="og:type" content="website" />
<meta property="og:description" content="Documentation for the web user interface of ratgdo ESPHome" />
<meta property="og:image" content="https://ratgdo.github.io/esphome-ratgdo/header.png" />
<meta name="twitter:card" content="summary_large_image" />
<meta name="twitter:site" content="@esphome_ratgdo" />
<meta name="twitter:title" content="ESPHome ratgdo" />
<meta name="twitter:description" content="Documentation for the web user interface of ratgdo ESPHome" />
<meta name="twitter:image" content="https://ratgdo.github.io/esphome-ratgdo/header.png" />
<style>
body {
font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI",
Roboto, Ubuntu, sans-serif;
padding: 0;
margin: 0;
line-height: 1.4;
}
.content {
max-width: 600px;
margin: 0 auto;
padding: 12px;
}
.header {
display: block;
width: 100%;
aspect-ratio: 1200 / 675;
border-radius: 12px;
}
h3 {
margin-top: 1.5em;
}
a {
color: #03a9f4;
}
.hidden {
display: none;
}
li {
padding: 4px 0;
}
.footer {
margin-top: 24px;
border-top: 1px solid #ccc;
padding-top: 24px;
text-align: center;
}
.footer .initiative {
font-style: italic;
margin-top: 16px;
}
input:checked+img {
border-color: #58a6ff;
}
@media (prefers-color-scheme: dark) {
body {
background-color: #333;
color: #fff;
}
a {
color: #58a6ff;
}
}
@media only screen and (max-width: 450px) {
.radios label {
width: calc(50% - 16px);
max-width: initial;
}
}
.diy::after {
content: "DIY";
background-color: #f44336;
color: #fff;
padding: 2px 4px;
border-radius: 4px;
font-size: 0.8em;
position: absolute;
bottom: 12px;
left: 12px;
}
body .diy {
display: none;
}
body.show-diy .diy {
display: initial;
}
table,
th,
td {
border: 1px solid;
border-spacing: 0px;
}
table thead th {
text-align: left;
}
table tr.odd {
background-color: rgba(127, 127, 127, 0.3);
}
table td, table th{
padding: 10px;
}
</style>
</head>
<body>
<div class="content">
<img class="header" src="./header.png" alt="ESPHome ratgdo" />
<h1>ESPHome ratgdo Web UI Documentation</h1>
<table>
<thead>
<tr class="odd">
<th>Name</th>
<th>State</th>
<th>Actions</th>
<th>Explanation</th>
</tr>
</thead>
<tbody>
<tr>
<td>
Button
</td>
<td>
OFF
</td>
<td></td>
<td>
A sensor indicating when the wall panel button is pressed to toggle the door.
</td>
</tr>
<tr class="odd">
<td>
Client ID
</td>
<td>
1234
</td>
<td>
<div class="range">
<label>
1337
</label>
<input type="number" name="number-client_id" id="number-client_id" step="4096" min="1337"
max="8385849" value="12345">
<label>
8385849
</label>
</div>
</td>
<td>
A unique identifier used to generate security + 2.0 codes
</td>
</tr>
<tr>
<td>
Closing duration
</td>
<td>
0.0 s
</td>
<td>
<div class="range">
<label>
0
</label>
<input type="range" name="number-closing_duration" id="number-closing_duration" step="0.1"
min="0" max="180">
<label>
180
</label>
</div>
</td>
<td>
The amount of time it takes for the door to close (learned after one door cycle)
</td>
</tr>
<tr class="odd">
<td>
Door
</td>
<td>
OPEN | CLOSED
</td>
<td>
<button class="rnd">
</button>
<button class="rnd">
</button>
<button class="rnd">
</button>
</td>
<td>
Discrete controls for the door.
<ul>
2024-01-23 20:31:54 +00:00
<li><button class="rnd"></button> - open the door, ignore if already opened.</li>
<li><button class="rnd"></button> - stop the door, only if door is moving.</li>
<li><button class="rnd"></button> - close the door, ignore if already closed.</li>
</ul>
</td>
</tr>
<tr>
<td>
Dry contact close
</td>
<td>
OFF | ON
</td>
<td>
</td>
<td>The state of the ratgdo trigger door close input.
<ul>
<li>OFF - input is floating</li>
<li>ON - input is connected to GND</li>
</ul>
</td>
</tr>
<tr class="odd">
<td>
Dry contact light
</td>
<td>
OFF | ON
</td>
<td>
</td>
<td>The state of the ratgdo trigger light input.
<ul>
<li>OFF - input is floating</li>
<li>ON - input is connected to GND</li>
</ul>
</td>
</tr>
<tr>
<td>
Dry contact open
</td>
<td>
OFF | ON
</td>
<td>
</td>
<td>The state of the ratgdo trigger door open input.
<ul>
<li>OFF - input is floating</li>
<li>ON - input is connected to GND</li>
</ul>
</td>
</tr>
<tr class="odd">
<td>
Learn
</td>
<td>
OFF | ON
</td>
<td>
<esp-switch color="var(--primary-color,currentColor)"></esp-switch>
</td>
<td>
Put the GDO in learn mode (same as pressing the learn button)
</td>
</tr>
<tr>
<td>
Light
</td>
<td>
OFF | ON
</td>
<td>
<esp-switch color="var(--primary-color,currentColor)"></esp-switch>
</td>
<td>
Toggle the GDO's light on or off.
</td>
</tr>
<tr class="odd">
<td>
Lock remotes
</td>
<td>
UNLOCKED
</td>
<td>
<button class="rnd">
🔐
</button>
<button class="rnd">
🔓
</button>
<button class="rnd">
</button>
</td>
<td>
Lockout the wireless remotes.
<ul>
<li><button class="rnd">🔐</button> - lock the remotes. Wireless remotes will be ignored by
the GDO.</li>
<li><button class="rnd">🔓</button> - unlock the remotes. The GDO will respond to commands
from wireless remotes.</li>
</ul>
</td>
</tr>
<tr>
<td>
Motion
</td>
<td>
OFF | ON
</td>
<td>
</td>
<td>
ON - Motion was detected by the wall control panel (on Sec + 1.0, triggers when the light turns
on)
</td>
</tr>
<tr class="odd">
<td>
Motor
</td>
<td>
OFF | ON
</td>
<td>
</td>
<td>
Indicates whether the GDO motor is running or not.
</td>
</tr>
<tr>
<td>
Obstruction
</td>
<td>
OFF | ON
</td>
<td>
</td>
<td>
Indicates whether the obstruction sensor beam is blocked by an object or not.
</td>
</tr>
<tr class="odd">
<td>
Opening duration
</td>
<td>
0.0 s
</td>
<td>
<div class="range">
<label>
0
</label>
<input type="range" name="number-opening_duration" id="number-opening_duration" step="0.1"
min="0" max="180">
<label>
180
</label>
</div>
</td>
<td>
The amount of time it takes for the door to open (learned after one door cycle)
</td>
</tr>
<tr>
<td>
Openings
</td>
<td>
200 openings
</td>
<td>
</td>
<td>
The number of times the GDO has cycled
</td>
</tr>
<tr class="odd">
<td>
Paired Devices
</td>
<td>
6
</td>
<td>
</td>
<td>
The number of clients which are paired with the GDO.
</td>
</tr>
<tr>
<td>
Query Paired Devices
</td>
<td>
</td>
<td>
<button class="rnd">
</button>
</td>
<td>
Send a query to the GDO to get the number of paired devices.
</td>
</tr>
<tr class="odd">
<td>
Query openings
</td>
<td>
</td>
<td>
<button class="rnd">
</button>
</td>
<td>
Send a query to the GDO to get the current Openings count. This value is automatically updated
during normal status updates.
</td>
</tr>
<tr>
<td>
Query status
</td>
<td>
</td>
<td>
<button class="rnd">
</button>
</td>
<td>
Get the current physical status of the garage door, light, wireless lockout, learn, openings,
etc.
</td>
</tr>
<tr class="odd">
<td>
Restart
</td>
<td>
</td>
<td>
<button class="rnd">
</button>
</td>
<td>
Restart ratgdo
</td>
</tr>
<tr>
<td>
Rolling code counter
</td>
<td>
22 codes
</td>
<td>
<div class="range">
<label>
0
</label>
<input type="number" name="number-rolling_code_counter" id="number-rolling_code_counter"
step="1" min="0" max="268435500" value="55">
<label>
268435500
</label>
</div>
</td>
<td>
The current rolling code counter for Security + 2.0, it's increemnted for each operation.
</td>
</tr>
<tr class="odd">
<td>
Safe mode boot
</td>
<td>
</td>
<td>
<button class="rnd">
</button>
</td>
<td>
Restarts the device in a safe mode, useful if the device is missbehaving/crashing in a way that is preventing an Over-The-Air update to be performed.
</td>
</tr>
<tr>
<td>
Sync
</td>
<td>
</td>
<td>
<button class="rnd">
</button>
</td>
<td>
Manually sync the ratgdo client with the GDO. If the GDO isn't responding to commands from
ratgdo, a sync should force them to be on the same rolling code counter.
</td>
</tr>
<tr class="odd">
<td>
Toggle door
</td>
<td>
</td>
<td>
<button class="rnd">
</button>
</td>
<td>
Cycles the door regardless of it's current state.
</td>
</tr>
</tbody>
</table>
<div class="footer">
<a href="https://esphome.io">ESPHome</a>
&mdash; Installer powered by
<a href="https://esphome.github.io/esp-web-tools/">ESP Web Tools</a>.
</div>
</div>
<script>
document.querySelectorAll('input[name="type"]').forEach((radio) =>
radio.addEventListener("change", () => {
const button = document.querySelector("esp-web-install-button");
button.manifest = `./${radio.value}-manifest.json`;
document.querySelectorAll(".info").forEach((info) => {
info.classList.add("hidden");
});
document
.querySelector(`.info.${radio.value}`)
.classList.remove("hidden");
})
);
document
.querySelector('input[name="type"]:checked')
.dispatchEvent(new Event("change"));
</script>
</body>
2024-01-23 20:31:54 +00:00
</html>