1 """Support for Modbus fans."""
3 from __future__
import annotations
14 from .const
import CONF_FANS
15 from .entity
import BaseSwitch
16 from .modbus
import ModbusHub
24 async_add_entities: AddEntitiesCallback,
25 discovery_info: DiscoveryInfoType |
None =
None,
27 """Read configuration and create Modbus fans."""
28 if discovery_info
is None:
32 for entry
in discovery_info[CONF_FANS]:
33 hub: ModbusHub =
get_hub(hass, discovery_info[CONF_NAME])
39 """Class representing a Modbus fan."""
41 _enable_turn_on_off_backwards_compatibility =
False
44 self, hass: HomeAssistant, hub: ModbusHub, config: dict[str, Any]
46 """Initialize the fan."""
49 self._attr_supported_features |= (
50 FanEntityFeature.TURN_OFF | FanEntityFeature.TURN_ON
55 percentage: int |
None =
None,
56 preset_mode: str |
None =
None,
64 """Return true if fan is on.
66 This is needed due to the ongoing conversion of fan.
None async_turn(self, int command)
None __init__(self, HomeAssistant hass, ModbusHub hub, dict[str, Any] config)
None async_turn_on(self, int|None percentage=None, str|None preset_mode=None, **Any kwargs)
None async_setup_platform(HomeAssistant hass, ConfigType config, AddEntitiesCallback async_add_entities, DiscoveryInfoType|None discovery_info=None)
ModbusHub get_hub(HomeAssistant hass, str name)