From da51ac20633d3353925600f6c06ae55eb19b5ade Mon Sep 17 00:00:00 2001 From: Otto Date: Sun, 14 Jun 2026 11:02:38 +0200 Subject: [PATCH] UI-001: simplify addon setup and explain ingress workflow --- CHANGELOG.md | 7 ++++ addon/config.yaml | 24 +------------ app/main.py | 2 +- app/static/index.html | 72 +++++++++++++++++++++++++++----------- pyproject.toml | 2 +- tests/test_addon_config.py | 10 ++++++ tests/test_dashboard.py | 7 ++-- 7 files changed, 77 insertions(+), 47 deletions(-) create mode 100644 tests/test_addon_config.py diff --git a/CHANGELOG.md b/CHANGELOG.md index 05915c9..02687db 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,12 @@ # Changelog +## 0.5.1 - 2026-06-14 +- Technische Modell-, Intervall- und Sicherheitsparameter aus der normalen + Home-Assistant-Add-on-Konfiguration entfernt; sichere Standardwerte bleiben aktiv +- Ingress um einen klaren Ablauf mit Aktorauswahl, Beobachtungsphase und späterer + Ausführungsfreigabe ergänzt +- Bedienelemente und Diagnosen in verständlicher Alltagssprache erklärt + ## 0.5.0 - 2026-06-14 - Ingress auf reine Aktorauswahl, automatischen Lernstatus und Vorhersagen reduziert - Automatische Kontextzuordnung ohne Sensor-Overrides oder Review-Blockade diff --git a/addon/config.yaml b/addon/config.yaml index 080c736..7169122 100644 --- a/addon/config.yaml +++ b/addon/config.yaml @@ -1,5 +1,5 @@ name: SillyHome Next -version: "0.5.0" +version: "0.5.1" slug: sillyhome_next description: Lernt automatisch aus deinem Verhalten und steuert freigegebene Aktoren url: http://192.168.6.31:3000/pino/sillyhome-next @@ -16,28 +16,6 @@ panel_admin: true homeassistant_api: true hassio_api: false auth_api: false -options: - history_days: 14 - min_training_points: 24 - retrain_stale_hours: 24 - reconcile_interval_seconds: 900 - min_behavior_actions: 3 - prediction_confidence: 0.82 - prediction_window_minutes: 30 - prediction_interval_seconds: 60 - execution_cooldown_seconds: 900 - timezone: Europe/Berlin -schema: - history_days: "int(1,31)" - min_training_points: "int(2,10000)" - retrain_stale_hours: "int(1,720)" - reconcile_interval_seconds: "int(60,86400)" - min_behavior_actions: "int(2,100)" - prediction_confidence: "float(0.5,0.99)" - prediction_window_minutes: "int(5,120)" - prediction_interval_seconds: "int(30,3600)" - execution_cooldown_seconds: "int(60,86400)" - timezone: "str" map: - type: addon_config read_only: false diff --git a/app/main.py b/app/main.py index d019e72..a7801f9 100644 --- a/app/main.py +++ b/app/main.py @@ -77,7 +77,7 @@ async def lifespan(app: FastAPI) -> AsyncIterator[None]: app = FastAPI( title="SillyHome Next API", description="Lokales Smart-Home-Intelligenzsystem für Home Assistant.", - version="0.5.0", + version="0.5.1", lifespan=lifespan, ) app.state.settings = load_settings() diff --git a/app/static/index.html b/app/static/index.html index 243b29b..65bb8a6 100644 --- a/app/static/index.html +++ b/app/static/index.html @@ -13,6 +13,10 @@ main { display: grid; grid-template-columns: repeat(auto-fit,minmax(320px,1fr)); gap: 14px; padding: 14px; } section { background: #18212b; border: 1px solid #2d3a47; border-radius: 12px; padding: 16px; } .wide { grid-column: 1 / -1; } + .steps { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:12px; } + .step { background:#111a23; border:1px solid #31404d; border-radius:10px; padding:14px; } + .step-number { display:inline-grid; place-items:center; width:28px; height:28px; border-radius:50%; background:#23715b; font-weight:700; margin-bottom:8px; } + .step p { margin:5px 0; } .ok { color: #66dfa9; } .warn { color: #f3c969; } .bad { color: #ff8f8f; } @@ -34,34 +38,61 @@

SillyHome Next

-

Du wählst nur die Aktoren. SillyHome findet Kontext, lernt Gewohnheiten und trifft Vorhersagen im Shadow-Modus.

-

Geschaltet wird erst nach deiner ausdrücklichen Freigabe pro Aktor.

+

Hier wählst du nur Geräte aus, deren Bedienung SillyHome lernen soll. Sensoren, Zusammenhänge und Modelle werden automatisch verwaltet.

+

Sicherer Start: Zuerst wird nur beobachtet und vorhergesagt. Ohne deine spätere Freigabe wird nichts geschaltet.

+
+

So gehst du vor

+
+
+ 1 +

Aktor auswählen

+

Wo? Unten im Feld „Gerät auswählen“.

+

Was passiert? SillyHome ordnet Raum, Sensoren, Zustände und vorhandene Historie automatisch zu.

+
+
+ 2 +

Wie gewohnt bedienen

+

Wo? Weiterhin in Home Assistant, an Schaltern oder über deine bisherigen Bedienwege.

+

Was passiert? SillyHome lernt deine Handlungen und zeigt Vorhersagen an, schaltet aber noch nicht selbst.

+
+
+ 3 +

Später freigeben

+

Wo? In den Details des ausgewählten Geräts, sobald genug Verhalten gelernt wurde.

+

Was passiert? Erst dann darf SillyHome passende Vorhersagen automatisch ausführen. Die Freigabe kann jederzeit gestoppt werden.

+
+
+
+

Systemstatus

+

Zeigt, ob Verbindung, Lernsystem und automatische Prüfungen funktionieren. Hier musst du normalerweise nichts einstellen.

Prüfung läuft ...
-

Aktor freigeben

-

Nach der Auswahl analysiert SillyHome automatisch passende Sensoren, Zustände und Historie.

- +

1. Gerät zum Lernen auswählen

+

Wähle eine Lampe, einen Rollladen oder einen anderen unterstützten Aktor. Du wählst keine Sensoren und erstellst keine Regeln.

+ - +

Noch kein Aktor ausgewählt.

-

Ausgewählte Aktoren

+

2. Beobachtete Geräte

+

Öffne „Details“, um Lernfortschritt, aktuelle Vorhersage und den automatisch gefundenen Kontext zu sehen.

Noch nicht geladen.
-

Automatisch erkannter Lernkontext

-
Wähle einen Aktor aus der Liste.
+

3. Lernfortschritt und Freigabe

+

Die Freigabe erscheint erst, wenn genug eindeutig zugeordnete Handlungen gelernt wurden. Vorher bleibt das Gerät sicher im Beobachtungsmodus.

+
Öffne bei einem beobachteten Gerät die Details.