diff --git a/homeassistant/components/goodwe/button.py b/homeassistant/components/goodwe/button.py index 62d9151061b..d3d96a19a76 100644 --- a/homeassistant/components/goodwe/button.py +++ b/homeassistant/components/goodwe/button.py @@ -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", diff --git a/homeassistant/components/goodwe/number.py b/homeassistant/components/goodwe/number.py index 8bdcf13ae53..fc8b3864ae9 100644 --- a/homeassistant/components/goodwe/number.py +++ b/homeassistant/components/goodwe/number.py @@ -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), "")