1.6 KiB
SillyHome Next
Modern, lokal-first und datenschutzfreundliches Smart-Home-Intelligenzsystem für Home Assistant.
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
Lokaler Quickstart
Voraussetzung ist Python 3.11 oder neuer.
python -m venv .venv
. .venv/bin/activate
python -m pip install --upgrade pip
python -m pip install -e ".[dev]"
cp .env.example .env
In .env müssen für echte Home-Assistant-Daten diese Werte gesetzt werden:
SILLYHOME_HA_URL=http://homeassistant.local:8123
SILLYHOME_HA_TOKEN=<long-lived-access-token>
Alternativ werden aus Kompatibilitätsgründen auch HA_URL und HA_TOKEN gelesen.
Tokens bleiben lokal und dürfen nicht committed, geloggt oder in Issues kopiert werden.
API starten:
uvicorn app.main:app --reload
Nützliche Checks:
curl http://127.0.0.1:8000/health
curl http://127.0.0.1:8000/v1/entities
Die interaktive API-Dokumentation liegt unter http://127.0.0.1:8000/docs.
Qualität
Vor jedem Pull Request lokal laufen lassen:
pytest -q
ruff check .
mypy app tests
Der Gitea-Actions-Workflow in .gitea/workflows/quality.yml führt dieselben Checks für
Pushes und Pull Requests aus.