2.7 KiB
SillyHome Next
Lokaler, datenschutzfreundlicher API-Prototyp für Home Assistant.
Reifegrad
Die aktuelle Entwicklungslinie stellt eine gehärtete technische Basis bereit: Home-Assistant-Entities und Historie lesen, Sensoren klassifizieren, regelbasierte Bausteine sowie ein lokal trainierbares statistisches Baseline-Modell mit persistenter Registry, Confidence und echten Evaluationsmetriken.
Motivation
TheSillyHome zeigte die Idee: statt statischer Regeln das Zuhause aus Verhaltensmustern verstehen. Diese Architektur modernisiert den Ansatz in Richtung Explainable AI, hybride Intelligenzebenen und langlebige Wartbarkeit.
Ziele
- Home Assistant und Sensoren/Aktoren verstehen
- Historie auswerten und Gewohnheiten erkennen
- Vorhersagen erstellen und erklären
- Automationen vorschlagen und direkt generieren
- Lokal-first ohne Cloudpflicht
- Erweiterbar, testbar, dokumentiert
Quickstart
- Python-Venv anlegen und Abhängigkeiten installieren:
python -m venv .venv
source .venv/bin/activate
pip install -e ".[dev]"
- Konfiguration aus
.env.exampleübernehmen und anpassen:
cp .env.example .env
- API starten:
uvicorn app.main:app --reload
- Erreichbar unter:
http://127.0.0.1:8000/health- Health-Checkhttp://127.0.0.1:8000/docs/- OpenAPI-Dokumentationhttp://127.0.0.1:8000/v1/entities- Home-Assistant-Entitieshttp://127.0.0.1:8000/v1/discovery- klassifizierte, filterbare Entitieshttp://127.0.0.1:8000/v1/history- normalisierte numerische Zeitreihenhttp://127.0.0.1:8000/ml/health- Registry-/Serving-HealthPOST http://127.0.0.1:8000/ml/retrain- Modell-Metadaten aktualisierenPOST http://127.0.0.1:8000/ml/evaluate- MAE/RMSE/Coverage berechnenPOST http://127.0.0.1:8000/v1/automations/proposals- sicheren Entwurf anlegen
Ohne vollständige HA-Konfiguration liefert /v1/entities bewusst 503.
Docker Compose
cp .env.example .env
docker compose up --build -d
curl --fail http://127.0.0.1:8000/health
Compose veröffentlicht die API standardmäßig nur auf 127.0.0.1. Für Zugriff aus
dem Netz muss ein authentifizierender Reverse Proxy vorgeschaltet werden.
ENV-Konfiguration (.env.example)
SILLYHOME_HA_URL– Basis-URL deiner Home-Assistant-Instanz (z. B.http://homeassistant.local:8123)SILLYHOME_HA_TOKEN– Long-Lived Access Token eines dedizierten HA-Benutzers mit minimalen RechtenSILLYHOME_MODEL_STORE– Verzeichnis für persistierte Modell-MetadatenSILLYHOME_AUTOMATION_STORE– Verzeichnis für Automation-Entwürfe
Niemals Administrator-Tokens oder Passwörter eintragen. .env gehört nicht ins
Versionskontrollsystem.
Tests
pytest
ruff check .
mypy