mirror of
https://github.com/myronblair/jarvis
synced 2026-06-30 17:50:23 -05:00
HA tab: remove toggle buttons, read-only view only
This commit is contained in:
@@ -1144,32 +1144,18 @@ function renderHATable(entities) {
|
||||
let rows = entities.map(e => {
|
||||
const on = ['on','home','open','playing','mowing','active'].includes(e.state);
|
||||
const dc = domainColors[e.domain] || 'var(--dim)';
|
||||
const toggleable = ['light','switch','input_boolean','fan'].includes(e.domain);
|
||||
return `<tr>
|
||||
<td><span style="color:${dc};font-size:0.6rem">${esc(e.domain)}</span></td>
|
||||
<td>${esc(e.name||e.entity_id)}</td>
|
||||
<td style="font-size:0.65rem;color:var(--dim)">${esc(e.entity_id)}</td>
|
||||
<td><span class="badge ${on?'badge-green':'badge-dim'}">${esc(e.state)}</span></td>
|
||||
<td>${toggleable?`<button class="btn btn-xs" onclick="haToggle('${esc(e.entity_id)}','${esc(e.state)}',this)">${on?'TURN OFF':'TURN ON'}</button>`:''}</td>
|
||||
</tr>`;
|
||||
}).join('');
|
||||
document.getElementById('ha-tbl').innerHTML = `<table>
|
||||
<thead><tr><th>DOMAIN</th><th>NAME</th><th>ENTITY ID</th><th>STATE</th><th>ACTION</th></tr></thead>
|
||||
<thead><tr><th>DOMAIN</th><th>NAME</th><th>ENTITY ID</th><th>STATE</th></tr></thead>
|
||||
<tbody>${rows}</tbody></table>`;
|
||||
}
|
||||
|
||||
async function haToggle(eid, state, btn) {
|
||||
btn.disabled=true; btn.textContent='...';
|
||||
const fd=new FormData(); fd.append('action','ha_toggle'); fd.append('entity_id',eid); fd.append('state',state);
|
||||
try {
|
||||
const r=await fetch(location.href,{method:'POST',body:fd});
|
||||
const d=await r.json();
|
||||
if(d.ok) { toast('Toggled '+eid,'ok'); setTimeout(loadHA,1500); }
|
||||
else toast('Toggle failed','err');
|
||||
} catch(e){ toast('Failed','err'); }
|
||||
btn.disabled=false;
|
||||
}
|
||||
|
||||
// ── NEWS ──────────────────────────────────────────────────────────────────────
|
||||
async function loadNews() {
|
||||
document.getElementById('news-custom').innerHTML='<div class="loading">LOADING...</div>';
|
||||
|
||||
Reference in New Issue
Block a user