Files
sillyhome-next-dev/README.md
Otto 816a516106
Some checks failed
quality / test (3.11) (push) Has been cancelled
quality / test (3.13) (push) Has been cancelled
HA-008 HA-009: add discovery and history pipeline
Closes #17

Closes #18
2026-06-13 20:06:05 +02:00

2.5 KiB
Raw Blame History

SillyHome Next

Lokaler, datenschutzfreundlicher API-Prototyp für Home Assistant.

Reifegrad

Version 0.1.0 stellt eine gehärtete technische Basis bereit: Home-Assistant-Entities lesen, regelbasierte Bausteine und eine persistente Modell-Artefakt-Registry. Die aktuelle Trainings- und Vorhersagelogik ist noch eine deterministische Schnittstellen-Implementierung und kein produktives Machine-Learning-Modell.

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

  1. Python-Venv anlegen und Abhängigkeiten installieren:
python -m venv .venv
source .venv/bin/activate
pip install -e ".[dev]"
  1. Konfiguration aus .env.example übernehmen und anpassen:
cp .env.example .env
  1. API starten:
uvicorn app.main:app --reload
  1. Erreichbar unter:
  • http://127.0.0.1:8000/health - Health-Check
  • http://127.0.0.1:8000/docs/ - OpenAPI-Dokumentation
  • http://127.0.0.1:8000/v1/entities - Home-Assistant-Entities
  • http://127.0.0.1:8000/v1/discovery - klassifizierte, filterbare Entities
  • http://127.0.0.1:8000/v1/history - normalisierte numerische Zeitreihen
  • http://127.0.0.1:8000/ml/health - Registry-/Serving-Health
  • POST http://127.0.0.1:8000/ml/retrain - Modell-Metadaten aktualisieren

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 Rechten
  • SILLYHOME_MODEL_STORE Verzeichnis für persistierte Modell-Metadaten

Niemals Administrator-Tokens oder Passwörter eintragen. .env gehört nicht ins Versionskontrollsystem.

Tests

pytest
ruff check .
mypy