hass.tibber_prices/tests
Julian Pawlowski 90e2c3c1dc feat(trend): add direction-group detection, noise floor, and confirmation hysteresis
Refactored trend calculator with direction-group-based trend change detection
(rising/strongly_rising treated as same group, falling/strongly_falling as same
group). Added minimum absolute price change thresholds (noise floor) to prevent
spurious trends at low price levels. Both percentage AND absolute conditions
must now be met.

Updated strongly threshold defaults from ±6% to ±9% (3x base for perceptual
scaling). Added missing strongly thresholds and new config keys to
get_default_options(). calculate_price_trend() now returns volatility_factor
as 4th tuple element for threshold transparency.

Added CONF_PRICE_TREND_CHANGE_CONFIRMATION (default: 3 intervals = 45min)
and CONF_PRICE_TREND_MIN_PRICE_CHANGE / _STRONGLY with validation limits.

Updated tests for new 4-tuple return value.

Impact: More stable trend detection — fewer false trend changes during low-price
periods. Direction-group logic prevents noise from "rising ↔ strongly_rising"
oscillations. Users can fine-tune noise floor for their market.
2026-04-07 13:44:01 +00:00
..
services refactor(currency)!: rename major/minor to base/subunit currency terminology 2025-12-11 08:26:30 +00:00
__init__.py test: add pytest framework and midnight-crossing tests 2025-11-21 23:47:01 +00:00
test_avg_none_fallback.py test(sensors): add comprehensive test coverage for mean/median display 2025-12-18 15:14:22 +00:00
test_best_price_e2e.py feat(periods): handle flat days and absolute low-price scenarios 2026-04-06 12:18:40 +00:00
test_config_validators.py refactor(config): use negative values for Best Price min_distance 2025-11-22 04:44:57 +00:00
test_coordinator_shutdown.py refactor(currency)!: rename major/minor to base/subunit currency terminology 2025-12-11 08:26:30 +00:00
test_interval_pool_memory_leak.py refactor(interval_pool): improve reliability and test coverage 2025-12-23 10:10:35 +00:00
test_interval_pool_optimization.py refactor(scripts): reorganize and standardize development scripts 2025-11-26 13:11:52 +00:00
test_level_filtering.py fix(period_handlers): normalize flex and min_distance to absolute values 2025-11-22 13:01:01 +00:00
test_lifecycle_state.py fix(sensors): ensure connection/tomorrow_data/lifecycle consistency 2025-11-22 04:45:57 +00:00
test_mean_median_display.py test(sensors): add comprehensive test coverage for mean/median display 2025-12-18 15:14:22 +00:00
test_midnight_handler.py feat(coordinator): add atomic midnight turnover coordination 2025-11-22 04:45:41 +00:00
test_midnight_periods.py fix(periods): Periods are now correctly recalculated after tomorrow prices became available. 2025-12-09 16:57:57 +00:00
test_midnight_turnover.py fix(tests): remove unused mock_config_entry and update price_avg to base currency in percentage calculations 2025-12-13 14:07:16 +00:00
test_minmax_none_fallback.py fix(calculations): handle negative electricity prices correctly 2025-11-22 04:45:23 +00:00
test_next_api_poll.py test(timers): comprehensive timer architecture validation 2025-11-22 04:46:30 +00:00
test_peak_price_e2e.py refactor(currency)!: rename major/minor to base/subunit currency terminology 2025-12-11 08:26:30 +00:00
test_percentage_calculations.py feat(trend): add direction-group detection, noise floor, and confirmation hysteresis 2026-04-07 13:44:01 +00:00
test_period_calculation.py test(period): document period calculation testing strategy 2025-11-22 04:47:09 +00:00
test_price_calculations.py refactor: migrate from multi-home to single-home-per-coordinator architecture 2025-11-24 16:24:37 +00:00
test_rating_threshold_validation.py fix(rating): improve gap tolerance to find dominant large blocks 2025-12-22 13:28:25 +00:00
test_resource_cleanup.py test: fix async mocking and add noqa comments for private access 2025-11-25 20:44:39 +00:00
test_sensor_consistency.py refactor: migrate from multi-home to single-home-per-coordinator architecture 2025-11-24 16:24:37 +00:00
test_sensor_timer_assignment.py fix(tests): include current_interval_price_base in interval sensors and remove from known exceptions 2026-01-20 12:06:10 +00:00
test_time_service.py test(time): add boundary tolerance and DST handling tests 2025-11-22 04:46:53 +00:00
test_timer_scheduling.py test(timers): comprehensive timer architecture validation 2025-11-22 04:46:30 +00:00
test_tomorrow_data_refresh.py refactor: migrate from multi-home to single-home-per-coordinator architecture 2025-11-24 16:24:37 +00:00
test_user_data_validation.py fix(validation): enhance user data validation to require active subscription and price info. 2026-01-20 12:33:45 +00:00