267 lines
14 KiB
Markdown
267 lines
14 KiB
Markdown
# Changelog
|
|
|
|
## 1.0.0 - 2026-06-17
|
|
- Neuer blockweiser Dashboard-Start über `/v1/actuators/dashboard`: lokale
|
|
Store-/Cache-Daten laden sofort, HA-Discovery und Vorschläge laufen
|
|
nachgelagert.
|
|
- Discovery liest Entities pro Anfrage nur noch einmal und klassifiziert aus
|
|
diesem Snapshot weiter. Dadurch entfallen doppelte HA-Vollabfragen.
|
|
- Persistenter JSON-Entity-Cache wird für Friendly Name, Raum, Gerät,
|
|
Discovery-Gruppen und schnelle Summaries genutzt.
|
|
- Dashboard mit Orange als Primärfarbe, kompakter Navigation, aufklappbarer
|
|
Anleitung, aufklappbaren Gerätegruppen und Cache-/Systemstatistik.
|
|
- Aktor-/Sensor-Kategorien erweitert: Feuchte, Wetter, Helligkeit, Bewegung,
|
|
Tür/Fenster, Präsenz, Lichtzustände, Schalter, Steckdosen, Lüftung, Heizung,
|
|
Cover, Helper, PV/Akku/Einspeisung.
|
|
- Kontextvorschläge vermeiden weitere doppelte HA-Discovery und sortieren
|
|
aktortypbezogen nach relevanten Bereichen.
|
|
|
|
## 0.7.21 - 2026-06-17
|
|
- Dashboard-Ladepfad getrennt: beobachtete Geräte laden sofort über
|
|
`/v1/actuators/summary`; Status, Discovery und Vorschläge laufen unabhängig
|
|
nachgelagert und blockieren die Übersicht nicht mehr.
|
|
- Systemstatus nutzt Timeouts und bleibt auch bei langsamem ML-/HA-Status
|
|
bedienbar.
|
|
- HA-Entity-Metadaten werden als JSON-Cache gespeichert und für Friendly Name,
|
|
Raum und Gerät in schlanken Summaries wiederverwendet.
|
|
- Anleitung, Gerätegruppen und manuelle Kontextauswahl sind aufklappbar und
|
|
kompakter für Smartphone- und Desktopansichten.
|
|
|
|
## 0.7.20 - 2026-06-17
|
|
- Dashboard-Übersicht ist kompatibel mit dem leichten Summary-Format und greift
|
|
nicht mehr auf `record.behavior.status` aus dem Vollformat zu.
|
|
|
|
## 0.7.19 - 2026-06-17
|
|
- Dashboard-Übersicht nutzt einen leichten `/v1/actuators/summary`-Endpunkt
|
|
statt voller Lernmuster und kompletter HA-Entityliste.
|
|
- Nach Aktionen werden Dashboard-Caches gezielt invalidiert, damit keine
|
|
stale oder doppelt geladenen Einträge entstehen.
|
|
|
|
## 0.7.18 - 2026-06-16
|
|
- Dashboard lädt Aktoren, Entities und Discovery nur noch einmal pro Refresh und
|
|
rendert daraus Auswahl und Übersicht ohne doppelte API-Ladewege.
|
|
- Manuelle Kontext-Evidenz wird dedupliziert, damit Hinweise wie
|
|
"Manuell vom Nutzer als relevant festgelegt" nicht mehrfach erscheinen.
|
|
- Kontextauswahl ist vollständiger: Feuchte, Wetter, Licht-/Schalterzustände,
|
|
Bewegungs-/Tür-/Präsenzmelder, PV/Akku/Einspeisung und Helper werden sauberer
|
|
kategorisiert und per Suche/Kategorie erreichbar.
|
|
- Domainspezifische Zuordnung geschärft: Lüftungen bevorzugen Feuchte/Temperatur,
|
|
Lichter Helligkeit/Bewegung/Tür/Präsenz, Heizungen Temperatur/Anwesenheit/Wetter.
|
|
|
|
## 0.7.17 - 2026-06-16
|
|
- WebSocket-Eventpfad ist schneller: irrelevante HA-State-Changes werden vor
|
|
dem teuren State-Cache-Listenbau verworfen.
|
|
- WebSocket nutzt Keepalive und reconnectet nach Abbrüchen nach 1s statt 5s.
|
|
|
|
## 0.7.16 - 2026-06-16
|
|
- Beobachtete Aktoren werden in der Übersicht nach Raum oder Typ gruppiert und
|
|
mit Friendly Name angezeigt.
|
|
|
|
## 0.7.15 - 2026-06-16
|
|
- Add-on-Start ist robust gegen Home-Assistant-Core-502 beim Systemboot:
|
|
API und WebSocket-Listener starten trotzdem, Reconciliation/Training werden
|
|
im Hintergrund mit Retry nachgeholt.
|
|
- Periodische Reconciliation und Fallback-Auswertung beenden den Dienst nicht
|
|
mehr bei temporären HA-Fehlern.
|
|
- Add-on-Watchdog prüft `/health`, damit Supervisor den Dienst nach Absturz
|
|
wieder starten kann.
|
|
|
|
## 0.7.14 - 2026-06-16
|
|
- Onboarding-Vorschläge laden im Dashboard nachgelagert, damit Status,
|
|
Aktor-Auswahl und bestehende Geräte nicht auf Automation-Discovery warten.
|
|
|
|
## 0.7.13 - 2026-06-16
|
|
- Diagnose-/Schutzsensoren wie Überhitzung und Überlast werden nicht mehr nur
|
|
wegen gleicher Strom-/Monitoring-Bereiche automatisch als Lichtkontext
|
|
übernommen.
|
|
- Verwendete Kontext-Entities können pro Aktor direkt entfernt und damit als
|
|
manuelle Zuordnung überschrieben werden.
|
|
- Onboarding-Vorschläge zeigen passende, noch nicht eingerichtete Aktoren aus
|
|
bestehenden Automationen und naheliegenden Kontexten.
|
|
- TV-/Medien-Aktoren über `media_player` und Fernbedienungen über `remote`
|
|
werden in Discovery und Auswahl berücksichtigt.
|
|
|
|
## 0.7.12 - 2026-06-16
|
|
- Aktor-Auswahlliste zeigt maximal 50 Treffer gleichzeitig und fordert bei
|
|
größeren Mengen zum Eingrenzen per Suche oder Typfilter auf.
|
|
|
|
## 0.7.11 - 2026-06-16
|
|
- Aktor-Discovery erkennt weitere steuerbare HA-Domains wie Buttons, Helper,
|
|
Heizungen, Schlösser, Ventile und numerische Helper.
|
|
- Aktor-Auswahl dedupliziert Licht-/Schalter-Doppelungen pro Gerät und gruppiert
|
|
zusätzliche Typen im Dashboard.
|
|
- Discovery liefert Kategorien für Mess-, Binär-, Kontext- und Aktor-Entities.
|
|
- Nutzerfeedback kann Vorhersagen als korrekt oder falsch markieren und direkt
|
|
als Lernsignal speichern.
|
|
|
|
## 0.7.10 - 2026-06-16
|
|
- WebSocket-State-Changes aktualisieren einen internen Home-Assistant-State-
|
|
Cache und werten Aktoren direkt gegen diesen frischen Event-Zustand aus.
|
|
- Event-Auswertungen lösen keine REST-Statusabfrage mehr aus, bevor sie
|
|
aktive Aktoren schalten.
|
|
|
|
## 0.7.9 - 2026-06-15
|
|
- Event-basierte Vorhersagen verwenden den frischen Sensorzustand direkt aus
|
|
dem Home-Assistant-WebSocket-Event, damit Kontextwechsel ohne REST-Race sofort
|
|
bewertet und geschaltet werden können
|
|
- Regressionstest stellt sicher, dass ein Türsensor-Event trotz veraltetem
|
|
HA-Snapshot direkt `light.turn_on` auslöst
|
|
|
|
## 0.7.8 - 2026-06-15
|
|
- Home-Assistant-WebSocket-Listener deaktiviert den clientseitigen Keepalive-
|
|
Ping, damit stabile HA-Verbindungen nicht durch Ping-Timeouts ständig neu
|
|
aufgebaut werden
|
|
- Fallback-Auswertung läuft bei getrenntem WebSocket kurzfristig alle 5 Sekunden,
|
|
damit übernommene Aktoren nicht ohne Steuerung bleiben
|
|
|
|
## 0.7.7 - 2026-06-15
|
|
- WebSocket-State-Changes lesen jetzt das echte Home-Assistant-Eventformat
|
|
(`event.data.entity_id`), damit Kontextwechsel wie Türsensoren sofort
|
|
Vorhersagen und Schaltungen auslösen statt erst beim nächsten Statusabruf
|
|
|
|
## 0.7.6 - 2026-06-14
|
|
- Kontextvorschläge blenden zusätzlich Batterie-, Status-, Node-, Last-Seen-
|
|
und Basic-Entities aus, sofern sie nicht bewusst manuell ausgewählt wurden
|
|
|
|
## 0.7.5 - 2026-06-14
|
|
- Kontextvorschläge weiter geschärft: Standardliste zeigt nur gleiche Räume,
|
|
gemeinsame Geräte/Tokens oder echte globale Außenwerte
|
|
- Diagnosewerte wie MQTT-, WiFi-, Restart- und Connect-Zähler werden nicht mehr
|
|
als fachliche Kontextvorschläge angeboten
|
|
|
|
## 0.7.4 - 2026-06-14
|
|
- Kontext-Auswahl liefert jetzt aktorbezogene Vorschläge statt einer pauschalen
|
|
Roh-Liste aller Sensoren und Zustände
|
|
- Dashboard-Auswahl für Aktoren und Kontext nach Typ/Kategorie gruppiert und
|
|
durchsuchbar; lange Listen werden begrenzt statt mobil unbedienbar zu werden
|
|
- Manuelle Entity-ID-Eingabe ergänzt, damit relevante Sensoren auch ohne
|
|
Dropdown-Treffer gespeichert werden können
|
|
- Irrelevante System-/VPN-/pfSense-Sensoren tauchen bei Lichtaktoren ohne
|
|
fachlichen Bezug nicht mehr als Standardvorschläge auf
|
|
|
|
## 0.7.3 - 2026-06-14
|
|
- Automatische Kontextzuordnung ignoriert generische Bereiche wie `Monitoring`,
|
|
damit System-/Disk-/Überhitzungssensoren nicht fälschlich Lichtaktoren erklären
|
|
- Aktor-Auswahl auf tatsächlich sicher steuerbare Domains begrenzt:
|
|
`light`, `switch`, `cover`, `fan`, `humidifier`
|
|
- Neue manuelle Kontext-Zuordnung pro Aktor: Haupt-Messsensor optional setzen und
|
|
mehrere relevante Kontext-Entities wie PIR, Außenhelligkeit, Luftfeuchtigkeit
|
|
oder andere Lichtzustände auswählen
|
|
- Dashboard-Dropdown durch echtes Select plus Suche ersetzt; mobile Bedienung und
|
|
Aktor-Details enthalten Speichern/Neu-laden-Aktionen für manuelle Kontextwahl
|
|
|
|
## 0.7.2 - 2026-06-14
|
|
- Home-Assistant-Entity-Metadaten werden in Batches gelesen, damit große HA-
|
|
Installationen nicht mehr am Template-Ausgabe-Limit scheitern
|
|
- Nicht über die HA-Config-API exponierte Automationen werden leise übersprungen,
|
|
statt wiederholt Warnungen in die Logs zu schreiben
|
|
- Dashboard für mobile Nutzung optimiert: Sticky-Schnellnavigation, Karten statt
|
|
breiter Tabelle, größere Touch-Ziele und bessere Detail-/Menüführung
|
|
- WebSocket-Status ist direkt im Dashboard-Systemstatus sichtbar
|
|
|
|
## 0.7.1 - 2026-06-14
|
|
- Event-basierter Home-Assistant-WebSocket-Listener authentifiziert sich jetzt
|
|
mit dem echten HA-WebSocket-Protokoll (`auth_required` -> `auth` -> `auth_ok`)
|
|
- Kompatibilität mit aktuellen `websockets`-Versionen wiederhergestellt
|
|
- WebSocket-Healthcheck und Event-Listener-Tests laufen ohne zusätzliches
|
|
Async-Pytest-Plugin
|
|
- Add-on-Version angehoben, damit Home Assistant das aktualisierte Image baut
|
|
|
|
## 0.7.0 - 2026-06-14
|
|
- Freie Eingabe von Home-Assistant-Entitätsnamen mit Vorschlagsliste
|
|
- Freigabestatus und Blockadegrund sind in Übersicht und Details immer sichtbar
|
|
- Vorhersagen erklären konkret, warum sie ausgeführt oder nicht ausgeführt wurden
|
|
- Cooldown blockiert nur Wiederholungen desselben Zielzustands; Gegenaktionen
|
|
wie `Licht an` gefolgt von `Licht aus` bleiben sofort möglich
|
|
- Passende HA-Automationen werden aus ihren echten Konfigurationen erkannt und
|
|
können pausiert oder fortgesetzt werden
|
|
- Sichere Steuerungsübergabe: SillyHome kann übernehmen und passende
|
|
HA-Automationen pausieren; beim Stoppen können sie gezielt fortgesetzt werden
|
|
- Dashboard wird ohne Browser-Cache ausgeliefert
|
|
- Reproduzierbare Runbooks für Debugging, Berechnung, Entwicklung, Tests,
|
|
Release, Add-on-Update, Live-Verifikation und Rollback
|
|
|
|
## 0.6.2 - 2026-06-14
|
|
- Eindeutig im Home-Assistant-Logbuch erkannte Automationen und Scripts zählen für
|
|
Lernen und Freigabe gleichwertig wie manuelle Bedienungen
|
|
- Automationsmuster erhalten dieselbe Modellgewichtung wie manuelle Handlungen
|
|
- Oberfläche zeigt die gemeinsame Zahl als `eindeutig geregelt`; eine
|
|
ausdrückliche Aktivierung pro Aktor bleibt weiterhin erforderlich
|
|
|
|
## 0.6.1 - 2026-06-14
|
|
- Manuelle Prüfung als `Aktuelle Situation auswerten` eindeutig von Simulation
|
|
oder Aktorschaltung abgegrenzt
|
|
- Sichtbare Rückmeldung mit Prüfzeitpunkt, vorhergesagtem Zustand und Sicherheit
|
|
oder klarem Hinweis auf einen fehlenden frischen Sensorwechsel
|
|
|
|
## 0.6.0 - 2026-06-14
|
|
- Kausales Shadow-Lernen erkennt frische Kontextwechsel unmittelbar vor einer
|
|
Aktorhandlung, etwa `Tür geschlossen → offen` vor `Licht aus → an`
|
|
- Historische Home-Assistant-Automationen dürfen Vorhersagen begründen, zählen
|
|
aber weiterhin niemals als eindeutige Benutzerhandlung oder Ausführungsfreigabe
|
|
- Aktuelle `last_changed`-Zeitpunkte verhindern Vorhersagen aus längst
|
|
unveränderten Sensorzuständen
|
|
- Oberfläche trennt gelernte Benutzerhandlungen und erkannte HA-Automationen
|
|
|
|
## 0.5.4 - 2026-06-14
|
|
- Tür-, Bewegungs- und andere belastbare Kontextsensoren werden auch ohne
|
|
numerischen Sensor als vollständige automatische Kontextzuordnung angezeigt
|
|
- Status und Zuordnungssicherheit bilden das aktive Verhaltenslernen ab statt
|
|
eines optionalen numerischen Modells
|
|
- Ausführungsfreigabe erscheint erst, wenn genügend eindeutig manuelle
|
|
Bedienungen vorliegen; bis dahin nennt die Oberfläche die noch fehlende Anzahl
|
|
|
|
## 0.5.3 - 2026-06-14
|
|
- Verhindert fachlich falsche Sensorzuordnungen nur aufgrund generischer Namen wie
|
|
`Licht` oder `Lichtschalter`
|
|
- Übernimmt numerische Sensoren nur noch bei einem belastbaren absoluten Score und
|
|
einer eindeutigen Abgrenzung zum zweitbesten Kandidaten
|
|
- Begrenzt Zusatzkontext auf relevante Sensoren und bevorzugt bei Lichtaktoren
|
|
echte Beleuchtungsstärke gegenüber fremden Leistungs- oder Energiezählern
|
|
|
|
## 0.5.2 - 2026-06-14
|
|
- Add-on-Build invalidiert den Docker-Cache bei jeder Versionsänderung, damit
|
|
Versionsmetadaten und tatsächlich ausgelieferter Anwendungscode übereinstimmen
|
|
- Korrigierte Ingress-Oberfläche aus 0.5.1 dadurch erstmals zuverlässig ausgeliefert
|
|
|
|
## 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
|
|
- Historische Handlungserkennung aus HA-State-History und Logbook-Herkunft
|
|
- Persistentes Verhaltensmodell pro Aktor mit Zeit-, Wochentags- und Kontextmustern
|
|
- Shadow-Vorhersagen vor jeder Ausführungsfreigabe
|
|
- Explizite Aktivierung pro Aktor, Konfidenzschwelle, Cooldown und enge Service-Whitelist
|
|
- Schutz vor dem Lernen erkannter HA-Automationen und eigener Schaltvorgänge
|
|
- Automation-Proposal- und Override-Endpunkte aus dem aktiven Produkt entfernt
|
|
|
|
## 0.4.0 - 2026-06-13
|
|
- Aktuator-zentrierte Einrichtung: Nutzer wählen nur noch Aktuatoren, Sensoren werden deterministisch gefunden und bewertet
|
|
- Persistente automatische und manuelle Sensorzuordnungen mit Evidenz, Confidence, Review-Gating und Neustart-Sicherheit
|
|
- Autonomer Modell-Lebenszyklus auf echter HA-Historie: Training, Retraining bei Staleness oder Datenänderung, Archivierung von Waisen
|
|
- Neues Dashboard und API für Aktuatorauswahl, Reconciliation, Overrides, Modellstatus und Audit-Trail
|
|
- Neue Container-/Add-on-Defaults für Aktuator-Store und periodische Reconciliation ohne zusätzliche Gerätesteuerung
|
|
|
|
## 0.2.0 - 2026-06-13
|
|
- Klassifizierte Home-Assistant-Entity-Discovery mit Lernrelevanz und Filtern
|
|
- Validierter Zugriff auf die Home-Assistant-History-API
|
|
- Normalisierte, chronologisch sortierte numerische Zeitreihen über `/v1/history`
|
|
- Trainierbares statistisches Baseline-Modell mit persistierten Parametern
|
|
- Numerische Vorhersagen mit Confidence sowie MAE-/RMSE-Evaluation
|
|
|
|
## 0.1.0 - 2026-06-13
|
|
- Projektinitiierung
|
|
- Architektur, ADRs und Roadmap
|
|
- Einheitliche produktive FastAPI-App für HA- und ML-Routen
|
|
- Funktionierende ENV-Konfiguration und sauberer HA-503-Zustand
|
|
- Persistente, validierte und gegen Path Traversal gehärtete Model Registry
|
|
- Reproduzierbares Packaging, CI-Gates und gehärteter non-root Container
|
|
- Definierte API-Fehler und korrigierte Evaluationsmetriken
|
|
- Scheduler-tauglicher Retraining-Service mit API und atomischem Registry-Update
|