hass.tibber_prices/custom_components/tibber_prices/services
Julian Pawlowski ada17f6d90 refactor(services): process chartdata intervals as unified timeline instead of per-day
Changed from iterating over each day separately to collecting all
intervals for selected days into one continuous list before processing.

Changes:
- Collect all intervals via get_intervals_for_day_offsets() with all
  day_offsets at once
- Remove outer `for day in days:` loop around interval processing
- Build date->day_key mapping during average calculation for lookup
- Add _get_day_key_for_interval() helper for average_field assignment
- Simplify midnight handling: only extend at END of entire selection
- Remove complex "next day lookup" logic at midnight boundaries

The segment boundary handling (bridge points, NULL insertion) now works
automatically across midnight since intervals are processed as one list.

Impact: Fixes bridge point rendering at midnight when rating levels
change between days. Simplifies code structure by removing ~60 lines
of per-day midnight-specific logic.
2025-12-21 14:55:52 +00:00
..
__init__.py feat(services): add fetch_price_info_range service and update schema 2025-11-25 20:44:39 +00:00
formatters.py fix: support main and subunit currency 2025-12-11 23:07:06 +00:00
get_apexcharts_yaml.py fix: conditionally enable tooltips for first series based on highlight_best_price 2025-12-21 10:44:29 +00:00
get_chartdata.py refactor(services): process chartdata intervals as unified timeline instead of per-day 2025-12-21 14:55:52 +00:00
get_price.py refactor(services): rename service modules to match service names 2025-11-25 20:44:39 +00:00
helpers.py feat(services): add rolling 48h window support to chart services 2025-12-01 23:46:09 +00:00
refresh_user_data.py refactor(services): split monolithic services.py into package 2025-11-18 20:07:05 +00:00