Files
sillyhome-next-dev/app/api/v1/entities.py

25 lines
765 B
Python

from __future__ import annotations
from typing import List
from fastapi import APIRouter, Request
from app.ha.models import HaEntitySummary
from app.ha.reader import HaReader
from app.rules.recommender import Recommender
router = APIRouter(prefix="/v1", tags=["entities"])
@router.get(
"/entities",
summary="Home-Assistant-Entities auflisten",
description="Gibt eine kompakte Zusammenfassung aller erreichbaren HA-Entitäten zurück.",
response_model=List[HaEntitySummary],
)
def list_entities(request: Request) -> List[HaEntitySummary]:
ha_reader: HaReader = request.app.state.ha_reader
recommender: Recommender = request.app.state.recommender
entities = ha_reader.read_entities()
recommender.run(entities)
return entities