1 """Creates HomeWizard Number entities."""
3 from __future__
import annotations
11 from .
import HomeWizardConfigEntry
12 from .coordinator
import HWEnergyDeviceUpdateCoordinator
13 from .entity
import HomeWizardEntity
14 from .helpers
import homewizard_exception_handler
21 entry: HomeWizardConfigEntry,
22 async_add_entities: AddEntitiesCallback,
24 """Set up numbers for device."""
25 if entry.runtime_data.supports_state():
30 """Representation of status light number."""
32 _attr_entity_category = EntityCategory.CONFIG
33 _attr_translation_key =
"status_light_brightness"
34 _attr_native_unit_of_measurement = PERCENTAGE
38 coordinator: HWEnergyDeviceUpdateCoordinator,
40 """Initialize the control number."""
43 f
"{coordinator.config_entry.unique_id}_status_light_brightness"
46 @homewizard_exception_handler
48 """Set a new value."""
49 await self.coordinator.api.state_set(
56 """Return if entity is available."""
57 return super().available
and self.coordinator.data.state
is not None
61 """Return the current value."""
63 not self.coordinator.data.state
64 or (brightness := self.coordinator.data.state.brightness)
is None
float|None native_value(self)
None async_set_native_value(self, float value)
None __init__(self, HWEnergyDeviceUpdateCoordinator coordinator)
None async_setup_entry(HomeAssistant hass, HomeWizardConfigEntry entry, AddEntitiesCallback async_add_entities)
float brightness_to_value(tuple[float, float] low_high_range, int brightness)
int value_to_brightness(tuple[float, float] low_high_range, float value)