mirror of
https://github.com/jpawlowski/hass.tibber_prices.git
synced 2026-04-07 08:03:40 +00:00
Add calculation summary attributes to best_price_period and peak_price_period binary sensors for diagnostic transparency. New attributes (all excluded from recorder history): - min_periods_configured: User's configured target per day (always shown) - periods_found_total: Actual periods found across all days (always shown) - flat_days_detected: Days where CV <= 10% reduced target to 1 (only when > 0) - relaxation_incomplete: Some days couldn't reach the target (only when true) These attributes explain observed behavior without requiring users to read logs: seeing "flat_days_detected: 1" alongside "min_periods_configured: 2, periods_found_total: 1" immediately explains why the count is lower than configured on uniform-price days. Implementation: - _compute_day_effective_min() now returns (dict, int) tuple to propagate the flat day count through to the metadata dict - flat_days_detected added to metadata["relaxation"] in calculate_periods_with_relaxation() - build_final_attributes_simple() gains optional period_metadata parameter - New add_calculation_summary_attributes() function handles the rendering - Attributes are shown even when no period is currently active Updated recorder-optimization.md: attribute counts + clarified that timestamp is correctly excluded (entity native_value is recorded separately by HA as the entity state itself). Impact: Users can understand why they received fewer periods than configured without enabling debug logging. |
||
|---|---|---|
| .. | ||
| api | ||
| binary_sensor | ||
| config_flow_handlers | ||
| coordinator | ||
| custom_translations | ||
| entity_utils | ||
| interval_pool | ||
| number | ||
| sensor | ||
| services | ||
| switch | ||
| translations | ||
| utils | ||
| __init__.py | ||
| config_flow.py | ||
| const.py | ||
| data.py | ||
| diagnostics.py | ||
| entity.py | ||
| icons.json | ||
| manifest.json | ||
| services.yaml | ||