You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Audit of implementation vs CLAUDE.md surfaced several issues:
Bugs/gaps fixed:
- The three lifecycle-overhaul knobs (battery_cycle_cost_eur_kwh,
optimization_priority, block_export_on_negative_price) had no UI
entities — users could not change them. Added:
* battery_cycle_cost_eur_kwh -> number (0-0.50 EUR/kWh)
* optimization_priority -> select (cost/longevity/self_consumption)
* block_export_on_negative_price -> select (on/off)
- coordinator now converts block_export string ("on"/"off") to bool
correctly (str(...).lower() not in off/false/0), tolerating the
legacy bool value too
- reserve_target_pct and arbitrage_price_delta were missing
default_value, so they greyed out on upgrades — added defaults
- __init__.py defaults_to_set was missing 6 keys (reserve_target_pct,
arbitrage_price_delta, max_amperage_per_phase, battery_cycle_cost,
optimization_priority, block_export) so existing installs upgrading
never backfilled them — added
Documentation fixes (CLAUDE.md):
- battery_capacity_kwh range 1-100 -> 1-200 (matches code)
- daily_consumption_estimate range 0-100 -> 0-120 (matches code)
- added the 3 new config entities to the Configuration Entities table
- fixed stale coordinator line-number references for State Transitions
and Safe Power Management
- documented that discharging SOC floor uses computed reserve_target
in auto mode (was undocumented)
- added C6 section describing the new UI entities
ems.py and the frontend cards audited clean — no inconsistencies.
148 tests pass, ruff clean.
https://claude.ai/code/session_01P9LAQ5ET6SU9dLWULxv2uF
0 commit comments