HA tab: remove toggle buttons, read-only view only

This commit is contained in:
2026-05-30 03:36:27 +00:00
parent 21af9a08e0
commit 88dbefa831
+1 -15
View File
@@ -1144,32 +1144,18 @@ function renderHATable(entities) {
let rows = entities.map(e => { let rows = entities.map(e => {
const on = ['on','home','open','playing','mowing','active'].includes(e.state); const on = ['on','home','open','playing','mowing','active'].includes(e.state);
const dc = domainColors[e.domain] || 'var(--dim)'; const dc = domainColors[e.domain] || 'var(--dim)';
const toggleable = ['light','switch','input_boolean','fan'].includes(e.domain);
return `<tr> return `<tr>
<td><span style="color:${dc};font-size:0.6rem">${esc(e.domain)}</span></td> <td><span style="color:${dc};font-size:0.6rem">${esc(e.domain)}</span></td>
<td>${esc(e.name||e.entity_id)}</td> <td>${esc(e.name||e.entity_id)}</td>
<td style="font-size:0.65rem;color:var(--dim)">${esc(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><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>`; </tr>`;
}).join(''); }).join('');
document.getElementById('ha-tbl').innerHTML = `<table> 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>`; <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 ────────────────────────────────────────────────────────────────────── // ── NEWS ──────────────────────────────────────────────────────────────────────
async function loadNews() { async function loadNews() {
document.getElementById('news-custom').innerHTML='<div class="loading">LOADING...</div>'; document.getElementById('news-custom').innerHTML='<div class="loading">LOADING...</div>';