Use attributes in comfoconnect fan (#73892)
This commit is contained in:
parent
b4cc9367cf
commit
0787ee1345
1 changed files with 5 additions and 21 deletions
|
@ -53,12 +53,16 @@ def setup_platform(
|
||||||
class ComfoConnectFan(FanEntity):
|
class ComfoConnectFan(FanEntity):
|
||||||
"""Representation of the ComfoConnect fan platform."""
|
"""Representation of the ComfoConnect fan platform."""
|
||||||
|
|
||||||
|
_attr_icon = "mdi:air-conditioner"
|
||||||
|
_attr_should_poll = False
|
||||||
_attr_supported_features = FanEntityFeature.SET_SPEED
|
_attr_supported_features = FanEntityFeature.SET_SPEED
|
||||||
current_speed = None
|
current_speed = None
|
||||||
|
|
||||||
def __init__(self, ccb: ComfoConnectBridge) -> None:
|
def __init__(self, ccb: ComfoConnectBridge) -> None:
|
||||||
"""Initialize the ComfoConnect fan."""
|
"""Initialize the ComfoConnect fan."""
|
||||||
self._ccb = ccb
|
self._ccb = ccb
|
||||||
|
self._attr_name = ccb.name
|
||||||
|
self._attr_unique_id = ccb.unique_id
|
||||||
|
|
||||||
async def async_added_to_hass(self) -> None:
|
async def async_added_to_hass(self) -> None:
|
||||||
"""Register for sensor updates."""
|
"""Register for sensor updates."""
|
||||||
|
@ -74,7 +78,7 @@ class ComfoConnectFan(FanEntity):
|
||||||
self._ccb.comfoconnect.register_sensor, SENSOR_FAN_SPEED_MODE
|
self._ccb.comfoconnect.register_sensor, SENSOR_FAN_SPEED_MODE
|
||||||
)
|
)
|
||||||
|
|
||||||
def _handle_update(self, value):
|
def _handle_update(self, value: float) -> None:
|
||||||
"""Handle update callbacks."""
|
"""Handle update callbacks."""
|
||||||
_LOGGER.debug(
|
_LOGGER.debug(
|
||||||
"Handle update for fan speed (%d): %s", SENSOR_FAN_SPEED_MODE, value
|
"Handle update for fan speed (%d): %s", SENSOR_FAN_SPEED_MODE, value
|
||||||
|
@ -82,26 +86,6 @@ class ComfoConnectFan(FanEntity):
|
||||||
self.current_speed = value
|
self.current_speed = value
|
||||||
self.schedule_update_ha_state()
|
self.schedule_update_ha_state()
|
||||||
|
|
||||||
@property
|
|
||||||
def should_poll(self) -> bool:
|
|
||||||
"""Do not poll."""
|
|
||||||
return False
|
|
||||||
|
|
||||||
@property
|
|
||||||
def unique_id(self):
|
|
||||||
"""Return a unique_id for this entity."""
|
|
||||||
return self._ccb.unique_id
|
|
||||||
|
|
||||||
@property
|
|
||||||
def name(self):
|
|
||||||
"""Return the name of the fan."""
|
|
||||||
return self._ccb.name
|
|
||||||
|
|
||||||
@property
|
|
||||||
def icon(self):
|
|
||||||
"""Return the icon to use in the frontend."""
|
|
||||||
return "mdi:air-conditioner"
|
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def percentage(self) -> int | None:
|
def percentage(self) -> int | None:
|
||||||
"""Return the current speed percentage."""
|
"""Return the current speed percentage."""
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue