Nora
|
8effa251cf
|
feat(2.5): Blueprints Push & TTS — Epic 2 komplett
Story 2.5 (deklaratives Artefakt, Struktur-Validierung, Suite gruen 130/130):
- blueprints/automation/what_to_wear/notify_push.yaml: device(mobile_app)+time+
boolean, Bedingung changed/gaps_count/alert, notify.mobile_app_ via slugify.
- announce_tts.yaml: tts+media_player+trigger-Selector, tts.speak.
- Beide: what_to_wear.recommend via response_variable, rec.llm_text || full_text,
min_version 2025.3.0, gehaertete Templates (.get()+Defaults), continue_on_error.
- luna-pro-Story-Review: 5/6 Findings uebernommen, 1 verworfen (flat-response-Evidenz).
Epic 2 (15-Minuten-Wow) komplett: Kleiderschrank->Karte->Service->Push/TTS.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-07-13 14:55:01 +00:00 |
|
Nora
|
7d2f434828
|
feat(2.2): Beispiel-Kleiderschrank (12 §8-Stücke beim Setup)
Story 2.2 (TDD, phcc, Suite gruen 118/118, stabil):
- logic/texts.py: example_items(lang) — 12 §8-Stücke, Namen de/en lokalisiert,
englisches Schema, Handschuhe bewusst fehlend (J4-Luecke, FR-1.5).
- config_flow.py: create_example-Checkbox -> async_create_entry(subentries=),
nur im initialen user-Step (single_config_entry -> kein Duplikat).
- tests: §8-Frost/Regen-Abnahmetest mit echtem Set; conftest entlaedt Entries
(kein Coordinator-Timer-Flake unter Randomisierung).
- luna-pro-Story-Review: 2/2 Findings uebernommen.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-07-13 14:36:43 +00:00 |
|
Nora
|
95a077f0c1
|
feat(1.8): Config-Flow (Test-Abruf, 4 Fehler) + Entry-Lebenszyklus
Story 1.8 (TDD, phcc, Suite gruen 105/105):
- config_flow.py: EntitySelector + Offset, sofortiger Test-Abruf, 4 unterscheidbare
uebersetzte Fehler (no_weather_entity/no_forecast/forecast_too_short/temporary).
- __init__.py: async_setup/unload_entry, Coordinator + Zeit-/Entity-Listener leak-frei
via async_on_unload, update_listener->reload, PLATFORMS=[] (Sensor kommt 1.9).
- translations/{en,de}.json (inkrementell, AD-13); requirements-test.txt (yanked-Pin
+ frontend); conftest hass_storage gegen Lingering-Timer.
- luna-pro-Story-Review: 2/3 Findings uebernommen, 1 verworfen (Evidenz im Ledger).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-07-13 14:15:45 +00:00 |
|
Nora
|
5f5cdac259
|
feat(1.6): Wetter-Adapter — WeatherProvider-Port + HA-Entitaet
Story 1.6 (TDD, phcc, Suite gruen 79/79):
- weather/provider.py: runtime-checkable Protocol WeatherProvider (INV-6).
- weather/ha_entity.py: get_forecasts (blocking+return_response), Feature-Check
(nur twice_daily->ForecastUnsupported), dt_util-Parsing/Verwerfen naiver Zeit-
stempel, Einheiten aus State-Attributen (AD-17/24); defensive Struktur-Guards.
- tests/conftest.py: phcc enable_custom_integrations.
- luna-pro-Story-Review: 4/4 Findings uebernommen.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-07-13 13:57:32 +00:00 |
|