hass.tibber_prices/custom_components/tibber_prices/interval_pool
Julian Pawlowski feaf748cb6 feat(services): isolate price-fetch failures and add success flag to responses
Add a track_degraded parameter to IntervalPool.get_intervals so service calls
(track_degraded=False) never flip the coordinator's sensor-health flags or use
the covers-current-interval cache fallback; authentication errors still
propagate. All price-fetching services now go through
async_fetch_service_intervals and return a structured response with a
top-level success flag: success=false with reason="price_data_unavailable" on
a real API outage, and success=true (possibly empty) otherwise.

Impact: Action calls (get_price, find_cheapest_*, plan_charging) always return
the expected shape, never impair sensors during a Tibber outage, and let
automations distinguish an outage from "no data yet".
2026-05-30 14:46:23 +00:00
..
__init__.py feat(interval-pool): add intelligent interval caching and memory optimization 2025-11-25 20:44:39 +00:00
cache.py fix(services): use injected now in resolve_search_range day offset 2026-04-14 19:33:24 +00:00
fetcher.py perf(interval_pool): skip redundant API calls when prior fetch covers range 2026-04-17 12:00:57 +00:00
garbage_collector.py fix(interval_pool): rebuild index after dead interval cleanup without empty groups 2026-04-17 12:00:37 +00:00
index.py refactor(interval_pool): improve reliability and test coverage 2025-12-23 10:10:35 +00:00
manager.py feat(services): isolate price-fetch failures and add success flag to responses 2026-05-30 14:46:23 +00:00
routing.py fix(services): use injected now in resolve_search_range day offset 2026-04-14 19:33:24 +00:00
storage.py feat(interval-pool): add intelligent interval caching and memory optimization 2025-11-25 20:44:39 +00:00