hass.tibber_prices/custom_components/tibber_prices
Julian Pawlowski c8e9f7ec2a feat(apexcharts): add server-side metadata with dynamic yaxis and gradient
Implemented comprehensive metadata calculation for chart data export service
with automatic Y-axis scaling and gradient positioning based on actual price
statistics.

Changes:
- Added 'metadata' parameter to get_chartdata service (include/only/none)
- Implemented _calculate_metadata() with per-day price statistics
  * min/max/avg/median prices
  * avg_position and median_position (0-1 scale for gradient stops)
  * yaxis_suggested bounds (floor(min)-1, ceil(max)+1)
  * time_range with day boundaries
  * currency info with symbol and unit
- Integrated metadata into rolling_window modes via config-template-card
  * Pre-calculated yaxis bounds (no async issues in templates)
  * Dynamic gradient stops based on avg_position
  * Server-side calculation ensures consistency

Visual refinements:
- Best price overlay opacity reduced to 0.05 (ultra-subtle green hint)
- Stroke width increased to 1.5 for better visibility
- Gradient opacity adjusted to 0.45 with "light" shade
- Marker configuration: size 0, hover size 2, strokeWidth 1
- Header display: Only show LOW/HIGH rating_levels (min/max prices)
  * Conditional logic excludes NORMAL and level types
  * Entity state shows meaningful extrema values
- NOW marker label removed for rolling_window_autozoom mode
  * Static position at 120min lookback makes label misleading

Code cleanup:
- Removed redundant all_series_config (server-side data formatting)
- Currency names capitalized (Cents, Øre, Öre, Pence)

Translation updates:
- Added metadata selector translations (de, en, nb, nl, sv)
- Added metadata field description in services
- Synchronized all language files

Impact: Users get dynamic Y-axis scaling based on actual price data,
eliminating manual configuration. Rolling window charts automatically
adjust axis bounds and gradient positioning. Header shows only
meaningful extreme values (daily min/max). All data transformation
happens server-side for optimal performance and consistency.
2025-12-05 18:14:18 +00:00
..
api feat(interval-pool): add intelligent interval caching and memory optimization 2025-11-25 20:44:39 +00:00
binary_sensor fix(binary_sensor): restore push updates from coordinator 2025-12-03 13:14:26 +00:00
config_flow_handlers refactor(config_flow): reorganize options flow steps with section structure 2025-12-02 20:23:31 +00:00
coordinator fix(coordinator): add _is_fetching flag and fix tomorrow data detection 2025-12-02 19:00:20 +00:00
custom_translations Add connect_segments parameter and fix ApexCharts header N/A display (#46) 2025-12-01 03:19:52 +01:00
entity_utils refactor(price_info): price data handling to use unified interval retrieval 2025-11-24 10:49:34 +00:00
interval_pool feat(interval-pool): add intelligent interval caching and memory optimization 2025-11-25 20:44:39 +00:00
sensor refactor: simplify needs_tomorrow_data() - remove tomorrow_date parameter 2025-11-24 16:26:08 +00:00
services feat(apexcharts): add server-side metadata with dynamic yaxis and gradient 2025-12-05 18:14:18 +00:00
translations feat(apexcharts): add server-side metadata with dynamic yaxis and gradient 2025-12-05 18:14:18 +00:00
utils refactor(logging): remove verbose debug logging from price enrichment 2025-11-25 20:44:39 +00:00
__init__.py feat(interval-pool): add intelligent interval caching and memory optimization 2025-11-25 20:44:39 +00:00
config_flow.py refactor(config_flow): rename TibberPricesFlowHandler to TibberPricesConfigFlowHandler 2025-11-25 20:44:39 +00:00
const.py feat(apexcharts): add server-side metadata with dynamic yaxis and gradient 2025-12-05 18:14:18 +00:00
data.py feat(interval-pool): add intelligent interval caching and memory optimization 2025-11-25 20:44:39 +00:00
diagnostics.py refactor: migrate from multi-home to single-home-per-coordinator architecture 2025-11-24 16:24:37 +00:00
entity.py feat(api): add multi-home support and diagnostic sensors 2025-11-16 00:11:56 +00:00
icons.json feat(services): add new services and icons for enhanced functionality and user experience 2025-12-02 18:46:15 +00:00
manifest.json chore(release): bump version to 0.19.0 2025-12-04 14:39:16 +00:00
services.yaml feat(apexcharts): add server-side metadata with dynamic yaxis and gradient 2025-12-05 18:14:18 +00:00