25 lines
765 B
Python
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 |