32 lines
1.1 KiB
JavaScript
32 lines
1.1 KiB
JavaScript
/* Alfred Glass — aperçu Maison alimenté par les préférences de /config. */
|
|
(() => {
|
|
'use strict';
|
|
let rows=null;
|
|
function render(){
|
|
if(!rows)return;
|
|
const card=document.getElementById('avHomeSummary');
|
|
if(!card)return;
|
|
const ids=['avLights','avCovers','avIndoor'];
|
|
rows.slice(0,3).forEach((r,i)=>{
|
|
const node=document.getElementById(ids[i]);
|
|
if(!node)return;
|
|
node.textContent=`${r.label} : ${r.value}`;
|
|
node.closest('p').hidden=false;
|
|
});
|
|
for(let i=rows.length;i<ids.length;i++){
|
|
const node=document.getElementById(ids[i]);
|
|
if(node)node.closest('p').hidden=true;
|
|
}
|
|
}
|
|
window.alfredHomeCardCustomUpdate=render;
|
|
async function update(){
|
|
try {
|
|
const r=await fetch('/api/alfred/home-card',{cache:'no-store'});
|
|
if(!r.ok)throw new Error('HTTP '+r.status);
|
|
const data=await r.json();rows=Array.isArray(data.rows)?data.rows:null;
|
|
render();
|
|
}catch(e){console.warn('[ALFRED MAISON] Informations personnalisées indisponibles',e);}
|
|
}
|
|
update();setInterval(()=>{if(!document.hidden)update();},20000);
|
|
})();
|