Files
sillyhome-next/CHANGELOG.md
Otto 2ec2c64cba
Some checks failed
quality / test (3.11) (push) Has been cancelled
quality / test (3.13) (push) Has been cancelled
Add adaptive learning and model rollback
2026-06-17 18:41:03 +02:00

18 KiB

Changelog

1.2.0 - 2026-06-17

  • Automatische Sensor-Gewichtungsanpassung aus Nutzerfeedback: korrektes Feedback staerkt aktuelle Kontextsignale leicht, falsches Feedback wertet sie vorsichtig ab.
  • Modell-Snapshots mit aktivem Modellstand und Rollback-API ergaenzt.
  • Dashboard zeigt Modell-Snapshots, Rollback, Zeitprofile, adaptive Gewichtungsupdates und Automation-Konflikte.
  • Automation-Refresh markiert Konflikte, wenn SillyHome aktiv ist und passende HA-Automationen parallel aktiv bleiben.
  • Zeitprofile fuer Nacht, Morgen, Tag, Abend und Wochenende werden aus gelernten Handlungen gebildet.

1.1.0 - 2026-06-17

  • Dashboard als Einrichtungs- und Visualisierungszentrale erweitert: Job-Queue, Sicherheitsprofil, Entscheidungsakte, Wissen/Annahmen/ Unsicherheiten und Beitragsfaktoren pro Aktor.
  • Lokales Safety-Profil pro Aktor eingefuehrt: manuelle Sperre, Freigabestufe, Mindest-Confidence und optionaler Cooldown werden vor autonomem Schalten ausgewertet.
  • Sofort-Schaltpfad bleibt schnell: Safety prueft nur lokale Daten; der Home-Assistant-Serviceaufruf wird nicht durch Discovery, Training oder Statistik blockiert.
  • Sichtbare Job-Queue fuer Discovery, Reconciliation, Training, Evaluation und Automation-Refresh mit Status, Dauer, Fehler und Zusammenfassung.
  • Entscheidungsstatistik erweitert: Sensor-/Kontextfaktoren, aktive Gewichtungen, Sample-/Confidence-Trends und Feedbackzaehler werden persistiert.

1.0.5 - 2026-06-17

  • Lange Friendly Names, Entity-IDs, Chips, Tabellenwerte und Metriken brechen im Dashboard responsiv um und laufen nicht mehr aus Karten oder Boxen.
  • Automatisierter Performance-Budget-Test fuer Root-HTML und /v1/actuators/dashboard gegen das 5-Sekunden-Limit ergaenzt.
  • HA-/Ingress-Verifikation mit Supervisor-Status, Backup, Watchdog, Hard-Reload und Rollback im Operating Guide dokumentiert.

1.0.4 - 2026-06-17

  • Sensor-Relevanz ist in der Aktor-Detailansicht sichtbar: automatische Relevanz, aktive Gewichtung und Score werden pro verwendetem Sensor/Zustand angezeigt.
  • Gewichtungen koennen im Dashboard korrigiert und per API unter /v1/actuators/{actuator_entity_id}/weights gespeichert werden.
  • Gruppen-Gewichtungen buendeln mehrere Sensoren/Zustaende fuer einen Aktor, damit verbundene Kontextsignale gemeinsam bewertet werden koennen.

1.0.3 - 2026-06-17

  • Header-Menue als Pulldown umgesetzt; die separate Navigationsleiste entfaellt.
  • Geraetegruppen und manuelle Kontextbereiche sind standardmaessig geschlossen.
  • Dashboard startet in Phasen: leere Bedienoberflaeche, dann Status, danach Geraetedaten.
  • Detailansicht oeffnet streamartiger: zuerst Basis-Shell, dann Aktorwerte, danach Kontextvorschlaege.

1.0.2 - 2026-06-17

  • v1.0-Abnahme als docs/V1_0_ACCEPTANCE.md dokumentiert: erledigte, teilweise erledigte und offene v1.0.x-Punkte sind getrennt sichtbar.
  • Dashboard-Startstatistik erweitert: Freigabebereitschaft, Aktiv/Shadow, Gelernt/Wartet und gelernte Handlungen werden direkt im Startbereich zusammengefasst.

1.0.1 - 2026-06-17

  • Dashboard-UI nach v1-Korrektur neu strukturiert: feste Steuerungsleiste, separate Geräteübersicht, klare Freigabe-/Detailfläche und Statusbereich.
  • Orange bleibt Primärfarbe; Cyan ist die sichtbare Komplementärfarbe. Rote Aktions- und Fehlerflächen wurden aus der Oberfläche entfernt.
  • Startpfad weiter beschleunigt: Dashboard lädt nur noch lokale Startdaten. HA-Discovery, Vorschläge und Automation-Refresh laufen erst nach Nutzeraktion.
  • Detailansicht öffnet ohne automatische Automation-Discovery. Passende Automationen können gezielt per Button neu gesucht werden.

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