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
This commit was created on GitHub.com and signed with GitHub’s verified signature.
Fixed
Dashboard hourly view returned 500 — _aggregate_quarterly_to_hourly was never updated when observedIntent was added to APIDashboardHourlyData in 9.6.2, so every call to GET /api/dashboard?resolution=hourly crashed with a missing required argument.
Inverter platform badge always showed "SolaX Modbus" — InverterStatusDashboard.tsx compared platform against legacy short strings (growatt_min, growatt_sph, solax) that never matched the actual API values (growatt_server_min, growatt_server_sph, etc.), so every user fell through to the else branch and saw "SolaX Modbus". String matching is updated to the current API values. (#60)
Growatt SPH TOU intervals rendered "Segment #undefined" — GrowattSphController.build_schedule built tou_intervals without segment_id or is_default fields. The frontend template assumed both were always present, causing isDefault to render as falsy and the segment label to show as undefined. Both fields are now included. (#60)
AI Analyst returned 404 errors on deprecated model IDs — The AI Analyst feature used claude-sonnet-4-20250514 and claude-opus-4-20250514, the Claude 4.0 launch IDs from May 2025. Anthropic deprecated these IDs (retirement date June 15 2026), causing 404 errors for all users. Updated to claude-sonnet-4-6 and claude-opus-4-8. (#180)
EnergyFlowCards and SystemStatusCard stayed frozen between refreshes — Both components called useDashboardData() without a refresh interval, so they fetched only on mount. The main dashboard page polls every 60 s but the cards remained stale. Both now pass a 60 s interval, staying in sync with the dashboard cadence. (#179)
Energy Prediction health check validates active consumption strategy — The health check was hardcoded to validate get_estimated_consumption (the sensor strategy sensor) regardless of which strategy was configured, producing false-positive warnings for users running fixed, influxdb_7d_avg, or ha_statistics. The check now only validates get_estimated_consumption when sensor is the active strategy; solar forecast validation is unchanged. (#160)
Nord Pool HACS continental areas mapped to Norway — The entity-id regex in _parse_nordpool_area_from_entity_id only matched original Nord Pool members (SE/NO/DK/FI/EE/LT/LV). HACS users with continental area codes (NL, BE, DE, DE-LU, FR, AT, PL) got None from the parser; the raw.upper() fallback produced a long string starting with "NO", so _hints_from_nordpool_area read the "NO" prefix and returned Norwegian krone instead of the correct currency. The regex is extended to cover all continental areas. (#171)
Nord Pool Currency field always read-only in UI — Both Nord Pool provider variants rendered the Currency input with readOnly: true unconditionally, preventing users from correcting a wrong auto-detected currency. The field is now editable when area or currency detection has not produced a value. (#171)
Next-day schedule timestamps stamped with today's date — The prepare_next_day path set optimization_period=0 and then called period_index_to_timestamp(0..95), which anchors index 0 to today. Period timestamps in the next-day schedule were therefore labeled YYYY-MM-DD (today) HH:MM instead of YYYY-MM-DD (tomorrow) HH:MM. _add_timestamps_to_period_data now accepts a next_day flag that offsets the period index by today's period count before timestamp conversion, so all periods resolve to tomorrow's date. (#155)
Refactored
Unified prepare_next_day and extended-horizon data paths — _gather_optimization_data previously had two independent branches that each fetched tomorrow's solar forecast and the consumption forecast separately. Any bug had to be fixed twice. The two branches now share a single fetch stage (_fetch_tomorrow_solar_forecast helper + cache-first consumption fetch) before diverging only for array-building. The 23:55 next-day publish and the rolling hourly run behave identically to before; only the duplication is removed. (#157)