mirror of
https://github.com/jpawlowski/hass.tibber_prices.git
synced 2026-03-29 21:03:40 +00:00
When runtime config override entities (number/switch) are enabled, the Options Flow now displays warning indicators at the top of each affected section. Users see which fields are being managed by config entities and can still edit the base values if needed. Changes: - Add ConstantSelector warnings in Best Price/Peak Price sections - Implement multi-language support for override warnings (de, en, nb, nl, sv) - Add _get_override_translations() to load translated field labels - Add _get_active_overrides() to detect enabled override entities - Extend get_best_price_schema/get_peak_price_schema with translations param - Add 14 number/switch config entities for runtime period tuning - Document runtime configuration entities in user docs Warning format adapts to overridden fields: - Single: "⚠️ Flexibility controlled by config entity" - Multiple: "⚠️ Flexibility and Minimum Distance controlled by config entity" Impact: Users can now dynamically adjust period calculation parameters via Home Assistant automations, scripts, or dashboards without entering the Options Flow. Clear UI indicators show which settings are currently overridden.
38 lines
1.2 KiB
Python
38 lines
1.2 KiB
Python
"""
|
|
Switch platform for Tibber Prices integration.
|
|
|
|
Provides configurable switch entities for runtime overrides of Best Price
|
|
and Peak Price period calculation boolean settings (enable_min_periods).
|
|
|
|
When enabled, these entities take precedence over the options flow settings.
|
|
When disabled (default), the options flow settings are used.
|
|
"""
|
|
|
|
from __future__ import annotations
|
|
|
|
from typing import TYPE_CHECKING
|
|
|
|
from .core import TibberPricesConfigSwitch
|
|
from .definitions import SWITCH_ENTITY_DESCRIPTIONS
|
|
|
|
if TYPE_CHECKING:
|
|
from custom_components.tibber_prices.data import TibberPricesConfigEntry
|
|
from homeassistant.core import HomeAssistant
|
|
from homeassistant.helpers.entity_platform import AddEntitiesCallback
|
|
|
|
|
|
async def async_setup_entry(
|
|
_hass: HomeAssistant,
|
|
entry: TibberPricesConfigEntry,
|
|
async_add_entities: AddEntitiesCallback,
|
|
) -> None:
|
|
"""Set up Tibber Prices switch entities based on a config entry."""
|
|
coordinator = entry.runtime_data.coordinator
|
|
|
|
async_add_entities(
|
|
TibberPricesConfigSwitch(
|
|
coordinator=coordinator,
|
|
entity_description=entity_description,
|
|
)
|
|
for entity_description in SWITCH_ENTITY_DESCRIPTIONS
|
|
)
|