hass.tibber_prices/custom_components/tibber_prices
Julian Pawlowski aa58c6718f refactor(period_utils): implement per-day relaxation with 4×4 matrix strategy
Restructured relaxation mechanism to process each day independently instead
of globally, enabling different days to relax at different levels.

Key changes:
- Added hierarchical logging with INDENT_L0-L5 constants
- Replaced global relaxation loop with per-day relaxation (_relax_single_day)
- Implemented 4×4 matrix strategy (4 flex levels × 4 filter combinations)
- Enhanced _resolve_period_overlaps with replacement and extension logic
- Added helper functions: _group_periods_by_day, _group_prices_by_day,
  _check_min_periods_per_day

Relaxation strategy:
- Each flex level tries 4 filter combinations before increasing flex
- Early exit after EACH successful combination (minimal relaxation)
- Extensions preserve baseline metadata, replacements use relaxed metadata
- Only standalone periods count toward min_periods requirement

Impact: Users get more accurate period detection per day. Days with clear
cheap/expensive patterns use strict filters while difficult days relax as
needed. Reduces over-relaxation - finds 'good enough' solutions faster.
2025-11-11 21:21:56 +00:00
..
custom_translations fix(translations): restore corrupted Norwegian and Dutch translations 2025-11-09 15:31:56 +00:00
translations feat(periods): add gap tolerance for price level filters with intelligent period splitting 2025-11-10 04:38:44 +00:00
__init__.py fix: handle unknown integration version in setup entry 2025-11-09 16:04:04 +00:00
api.py fix: update return type annotation for API request method and ensure exceptions are raised 2025-11-09 16:04:12 +00:00
average_utils.py feat: Add function to calculate average price for the next N hours 2025-11-06 22:35:53 +00:00
binary_sensor.py feat(periods): add adaptive filter relaxation for minimum period guarantee 2025-11-10 03:34:09 +00:00
config_flow.py feat(periods): add gap tolerance for price level filters with intelligent period splitting 2025-11-10 04:38:44 +00:00
const.py feat(periods): add gap tolerance for price level filters with intelligent period splitting 2025-11-10 04:38:44 +00:00
coordinator.py feat(periods): add gap tolerance for price level filters with intelligent period splitting 2025-11-10 04:38:44 +00:00
data.py refactoring 2025-04-23 16:42:31 +00:00
diagnostics.py update dev environment 2025-11-03 15:54:01 +00:00
entity.py fix: Remove unused model_id attribute from TibberPricesEntity 2025-11-07 14:45:33 +00:00
manifest.json chore(release): bump version to 0.4.0 2025-11-10 12:15:58 +00:00
period_utils.py refactor(period_utils): implement per-day relaxation with 4×4 matrix strategy 2025-11-11 21:21:56 +00:00
price_utils.py refactor(periods): move all period logic to coordinator and refactor period_utils 2025-11-09 23:46:48 +00:00
sensor.py refactor(periods): move all period logic to coordinator and refactor period_utils 2025-11-09 23:46:48 +00:00
services.py refactor(periods): move all period logic to coordinator and refactor period_utils 2025-11-09 23:46:48 +00:00
services.yaml update 2025-05-25 22:15:25 +00:00