feat: server telemetry, update entity, sync-clock controls

- Server device exposing CPU/RAM/GPU/temperature/battery sensors via
  /api/v1/system/performance, plus last-restart timestamp (cached with
  jitter threshold so the recorder doesn't see poll wobble) and version.
- Update entity backed by /api/v1/system/update — installs via
  /apply, hides the install button when the server reports
  can_auto_update=false.
- Sync-clock entities: reset button, speed number, running switch, and
  the event listener now refreshes on entity_changed events too.
- Bump manifest to 0.4.0.
This commit is contained in:
2026-04-27 01:35:42 +03:00
parent e8f2b5e528
commit a666d9eb9c
12 changed files with 1080 additions and 23 deletions
@@ -29,6 +29,9 @@
"button": {
"activate_scene": {
"name": "{scene_name}"
},
"sync_clock_reset": {
"name": "Сброс"
}
},
"light": {
@@ -39,6 +42,9 @@
"switch": {
"processing": {
"name": "Обработка"
},
"sync_clock_running": {
"name": "Активно"
}
},
"sensor": {
@@ -56,6 +62,39 @@
},
"mapped_lights": {
"name": "Привязанные светильники"
},
"sync_clock_elapsed": {
"name": "Прошло времени"
},
"server_cpu_percent": {
"name": "Загрузка CPU"
},
"server_ram_percent": {
"name": "Загрузка ОЗУ"
},
"server_app_cpu_percent": {
"name": "CPU приложения"
},
"server_app_ram": {
"name": "Память приложения"
},
"server_gpu_utilization": {
"name": "Загрузка GPU"
},
"server_gpu_temp": {
"name": "Температура GPU"
},
"server_cpu_temp": {
"name": "Температура CPU"
},
"server_battery": {
"name": "Батарея"
},
"server_last_restart": {
"name": "Последний запуск"
},
"server_version": {
"name": "Версия сервера"
}
},
"number": {
@@ -76,6 +115,9 @@
},
"api_input_timeout": {
"name": "Таймаут подмены"
},
"sync_clock_speed": {
"name": "Скорость"
}
},
"select": {
@@ -93,6 +135,11 @@
"nearest": "Ближайший"
}
}
},
"update": {
"server_update": {
"name": "Обновление сервера"
}
}
}
}