hass.tibber_prices/custom_components/tibber_prices/services
Julian Pawlowski b93eedf00e feat(services): add power-profile-weighted window selection
Add `include_current_interval` parameter to `find_cheapest_block` and
`find_cheapest_schedule` services, controlling whether the currently
active price interval can be the start of the selected window.

Add power-profile weighting to `find_cheapest_contiguous_window`: accepts
an optional `power_profile` list that weights each interval's price by
relative power draw (e.g. heat-up phase heavier than steady state). Without
a profile the behaviour is unchanged (uniform weighting).

Extend search-range tests and add price-window unit tests covering weighted
and unweighted scenarios, edge cases, and sequential scheduling interactions.
Update scheduling-actions documentation with parameter and profile examples.

Impact: Users can now model appliances with non-uniform power draw (e.g. heat
pumps, washing machines) to find truly cheapest windows based on actual energy
cost rather than average price.
2026-05-03 22:16:08 +00:00
..
charging feat(services): add plan_charging service for battery/EV scheduling 2026-04-20 21:43:41 +00:00
__init__.py feat(services): add plan_charging service for battery/EV scheduling 2026-04-20 21:43:41 +00:00
debug_clear_tomorrow.py fix(services): use injected now in resolve_search_range day offset 2026-04-14 19:33:24 +00:00
entity_resolver.py feat(services): allow entity IDs as service parameter values 2026-04-20 18:44:24 +00:00
find_cheapest_block.py feat(services): add power-profile-weighted window selection 2026-05-03 22:16:08 +00:00
find_cheapest_hours.py feat(services): allow entity IDs as service parameter values 2026-04-20 18:44:24 +00:00
find_cheapest_schedule.py feat(services): add power-profile-weighted window selection 2026-05-03 22:16:08 +00:00
find_most_expensive_block.py feat(services): add 5 scheduling services for price-optimized time windows 2026-04-11 18:58:27 +00:00
find_most_expensive_hours.py feat(services): add 5 scheduling services for price-optimized time windows 2026-04-11 18:58:27 +00:00
formatters.py fix(services): use injected now in resolve_search_range day offset 2026-04-14 19:33:24 +00:00
get_apexcharts_yaml.py feat(services): add price_source parameter to get_chartdata and get_apexcharts_yaml 2026-05-03 18:48:36 +00:00
get_chartdata.py feat(services): add price_source parameter to get_chartdata and get_apexcharts_yaml 2026-05-03 18:48:36 +00:00
get_price.py feat(services): allow entity IDs as service parameter values 2026-04-20 18:44:24 +00:00
helpers.py feat(services): add power-profile-weighted window selection 2026-05-03 22:16:08 +00:00
plan_charging.py feat(services): add plan_charging service for battery/EV scheduling 2026-04-20 21:43:41 +00:00
refresh_user_data.py feat(services): add 5 scheduling services for price-optimized time windows 2026-04-11 18:58:27 +00:00
relaxation.py feat(pricing): add relaxation logic for progressive filter loosening 2026-04-18 21:27:05 +00:00