MQTT-based live CPU/RAM metrics + remove auth from HA control

- Enrich server data with MQTT system topics (cpu_usage_percent,
  ram_usage_percent, temp, model etc.) published by Unraid MQTT Agent
- Works for both Daddelolymp and Adriahub topics
- MQTT overlay runs on every request (even cached) for fresh metrics
- Remove JWT auth from /api/ha/control — local dashboard doesn't need it
- Add cpu brand field to GraphQL query

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Sam 2026-03-02 22:41:16 +01:00
parent 94727ebe70
commit 5d3d4f4015
3 changed files with 97 additions and 6 deletions

View file

@ -5,10 +5,9 @@ from __future__ import annotations
import logging
from typing import Any, Dict, Optional
from fastapi import APIRouter, Depends
from fastapi import APIRouter
from pydantic import BaseModel
from server.auth import require_admin
from server.cache import cache
from server.config import get_settings
from server.services.ha_service import call_ha_service, fetch_ha_data
@ -58,7 +57,6 @@ class HAControlRequest(BaseModel):
@router.post("/ha/control")
async def control_ha(
body: HAControlRequest,
admin_user: str = Depends(require_admin), # noqa: ARG001
) -> Dict[str, Any]:
"""Control a Home Assistant entity (toggle light, open cover, etc.)."""