Welcome: 过滤内部管理实体(backup/event/update等)
This commit is contained in:
13
welcome.html
13
welcome.html
@ -251,10 +251,19 @@ async function loadDevices() {
|
||||
var r = await api('GET', '/api/states');
|
||||
if (!r.ok) throw new Error('HTTP ' + r.status + ' ' + r.statusText);
|
||||
var states = await r.json();
|
||||
document.getElementById('dev-count').textContent = states.length + ' 个实体';
|
||||
|
||||
// 过滤:只显示用户关心的实体(排除 HA 内部管理类实体)
|
||||
var skip = ['event.', 'sensor.backup', 'update.', 'binary_sensor.', 'button.'];
|
||||
var filtered = states.filter(function(e) {
|
||||
for (var i = 0; i < skip.length; i++) {
|
||||
if (e.entity_id.indexOf(skip[i]) === 0) return false;
|
||||
}
|
||||
return true;
|
||||
});
|
||||
document.getElementById('dev-count').textContent = filtered.length + ' 个实体';
|
||||
|
||||
var html = '';
|
||||
states.forEach(function(e) {
|
||||
filtered.forEach(function(e) {
|
||||
var label = names[e.entity_id] || e.entity_id;
|
||||
var stateText = e.state === 'unknown' ? '待检测' : (e.state === 'idle' ? '空闲' : e.state);
|
||||
html += '<div class="device"><span class="device-name">' + label + '</span><span class="device-state">' + stateText + '</span></div>';
|
||||
|
||||
Reference in New Issue
Block a user