Files
sillyhome-next/README.md
Otto 1cb2630cec
Some checks failed
Quality / test (push) Has been cancelled
Quality / test (pull_request) Has been cancelled
integrate heating rule fix and quality workflow
2026-06-10 21:59:38 +02:00

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.