Remove entity description mixin in Goodwe (#112773)
parent
3301117223
commit
b26f00bf39
|
@ -19,20 +19,13 @@ from .const import DOMAIN, KEY_DEVICE_INFO, KEY_INVERTER
|
|||
_LOGGER = logging.getLogger(__name__)
|
||||
|
||||
|
||||
@dataclass(frozen=True)
|
||||
class GoodweButtonEntityDescriptionRequired:
|
||||
"""Required attributes of GoodweButtonEntityDescription."""
|
||||
@dataclass(frozen=True, kw_only=True)
|
||||
class GoodweButtonEntityDescription(ButtonEntityDescription):
|
||||
"""Class describing Goodwe button entities."""
|
||||
|
||||
action: Callable[[Inverter], Awaitable[None]]
|
||||
|
||||
|
||||
@dataclass(frozen=True)
|
||||
class GoodweButtonEntityDescription(
|
||||
ButtonEntityDescription, GoodweButtonEntityDescriptionRequired
|
||||
):
|
||||
"""Class describing Goodwe button entities."""
|
||||
|
||||
|
||||
SYNCHRONIZE_CLOCK = GoodweButtonEntityDescription(
|
||||
key="synchronize_clock",
|
||||
translation_key="synchronize_clock",
|
||||
|
|
|
@ -24,22 +24,15 @@ from .const import DOMAIN, KEY_DEVICE_INFO, KEY_INVERTER
|
|||
_LOGGER = logging.getLogger(__name__)
|
||||
|
||||
|
||||
@dataclass(frozen=True)
|
||||
class GoodweNumberEntityDescriptionBase:
|
||||
"""Required values when describing Goodwe number entities."""
|
||||
@dataclass(frozen=True, kw_only=True)
|
||||
class GoodweNumberEntityDescription(NumberEntityDescription):
|
||||
"""Class describing Goodwe number entities."""
|
||||
|
||||
getter: Callable[[Inverter], Awaitable[int]]
|
||||
setter: Callable[[Inverter, int], Awaitable[None]]
|
||||
filter: Callable[[Inverter], bool]
|
||||
|
||||
|
||||
@dataclass(frozen=True)
|
||||
class GoodweNumberEntityDescription(
|
||||
NumberEntityDescription, GoodweNumberEntityDescriptionBase
|
||||
):
|
||||
"""Class describing Goodwe number entities."""
|
||||
|
||||
|
||||
def _get_setting_unit(inverter: Inverter, setting: str) -> str:
|
||||
"""Return the unit of an inverter setting."""
|
||||
return next((s.unit for s in inverter.settings() if s.id_ == setting), "")
|
||||
|
|
Loading…
Reference in New Issue