Add support for Shelly Cloud API
This commit is contained in:
@@ -122,7 +122,7 @@
|
||||
<nav class="tabs">
|
||||
<button class="tab-btn active" data-tab="keypasses">Keypasses</button>
|
||||
<button class="tab-btn" data-tab="gates">Gates</button>
|
||||
<button class="tab-btn admin-only" data-tab="credentials">AVConnect Credentials</button>
|
||||
<button class="tab-btn admin-only" data-tab="credentials">API Credentials</button>
|
||||
<button class="tab-btn" data-tab="stats">Statistics</button>
|
||||
<button class="tab-btn admin-only" data-tab="admins">Admins</button>
|
||||
<button class="tab-btn admin-only" data-tab="telegram">Notifications</button>
|
||||
@@ -167,7 +167,8 @@
|
||||
<th>Name</th>
|
||||
<th>Group</th>
|
||||
<th>Type</th>
|
||||
<th>AVConnect Macro ID</th>
|
||||
<th>Provider</th>
|
||||
<th>Device / Macro ID</th>
|
||||
<th>Status</th>
|
||||
<th></th>
|
||||
</tr>
|
||||
@@ -179,7 +180,10 @@
|
||||
|
||||
<!-- ── Credentials pane ───────────────────────────────────────────── -->
|
||||
<div id="tab-credentials" class="tab-pane">
|
||||
<h3 style="margin-bottom:1rem">AVConnect Credentials</h3>
|
||||
<h3 style="margin-bottom:1rem">API Credentials</h3>
|
||||
|
||||
<!-- AVConnect -->
|
||||
<h4 style="margin:0 0 .75rem">AVConnect</h4>
|
||||
<div class="card" style="max-width:440px">
|
||||
<form id="credentials-form">
|
||||
<div class="field">
|
||||
@@ -195,14 +199,34 @@
|
||||
<button type="submit" class="btn btn-primary">Save</button>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<!-- Shelly Cloud -->
|
||||
<h4 style="margin:1.5rem 0 .75rem">Shelly Cloud</h4>
|
||||
<div class="card" style="max-width:440px">
|
||||
<form id="shelly-credentials-form">
|
||||
<div class="field">
|
||||
<label for="shelly-server-uri">Server URI</label>
|
||||
<input id="shelly-server-uri" type="url" autocomplete="off"
|
||||
placeholder="e.g. https://shelly-3.eu.shelly.cloud" />
|
||||
</div>
|
||||
<div class="field">
|
||||
<label for="shelly-auth-key">Auth Key</label>
|
||||
<input id="shelly-auth-key" type="password" autocomplete="new-password"
|
||||
placeholder="Leave empty to keep current" />
|
||||
</div>
|
||||
<p id="shelly-cred-error" class="error-msg hidden"></p>
|
||||
<button type="submit" class="btn btn-primary">Save</button>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<h3 style="margin:1.5rem 0 1rem">Mock Mode</h3>
|
||||
<div class="card" style="max-width:440px">
|
||||
<p style="color:var(--text-muted);font-size:.9rem;margin-bottom:1rem">
|
||||
When enabled, gate open requests always succeed without contacting AVConnect.
|
||||
When enabled, gate open requests always succeed without contacting any API.
|
||||
</p>
|
||||
<label style="display:flex;align-items:center;gap:.75rem;cursor:pointer;margin:0">
|
||||
<input type="checkbox" id="mock-toggle" style="width:1.1rem;height:1.1rem;flex-shrink:0;cursor:pointer" />
|
||||
<span style="font-weight:600">Enable mock AVConnect</span>
|
||||
<span style="font-weight:600">Enable mock mode</span>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
@@ -450,8 +474,19 @@
|
||||
</select>
|
||||
</div>
|
||||
<div class="field">
|
||||
<label for="gate-api-provider">API Provider</label>
|
||||
<select id="gate-api-provider">
|
||||
<option value="avconnect">AVConnect</option>
|
||||
<option value="shelly">Shelly Cloud</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="field" id="gate-avconnect-field">
|
||||
<label for="gate-avconnect-macro-id">AVConnect Macro ID</label>
|
||||
<input id="gate-avconnect-macro-id" type="text" placeholder="e.g. 42" required />
|
||||
<input id="gate-avconnect-macro-id" type="text" placeholder="e.g. 42" />
|
||||
</div>
|
||||
<div class="field" id="gate-shelly-field" style="display:none">
|
||||
<label for="gate-shelly-device-id">Shelly Device ID</label>
|
||||
<input id="gate-shelly-device-id" type="text" placeholder="e.g. e0:98:06:xx:xx:xx" />
|
||||
</div>
|
||||
<div class="field">
|
||||
<label for="gate-status">Status</label>
|
||||
|
||||
Reference in New Issue
Block a user