Add type hint on inherrited attribute _message_callback for MQTT mixin classes (#142011)

This commit is contained in:
Jan Bouwhuis 2025-04-01 20:28:11 +02:00 committed by GitHub
parent e7fadcda7b
commit 177fff3ff0
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -399,6 +399,9 @@ class MqttAttributesMixin(Entity):
_attributes_extra_blocked: frozenset[str] = frozenset()
_attr_tpl: Callable[[ReceivePayloadType], ReceivePayloadType] | None = None
_message_callback: Callable[
[MessageCallbackType, set[str] | None, ReceiveMessage], None
]
def __init__(self, config: ConfigType) -> None:
"""Initialize the JSON attributes mixin."""
@ -433,7 +436,7 @@ class MqttAttributesMixin(Entity):
CONF_JSON_ATTRS_TOPIC: {
"topic": self._attributes_config.get(CONF_JSON_ATTRS_TOPIC),
"msg_callback": partial(
self._message_callback, # type: ignore[attr-defined]
self._message_callback,
self._attributes_message_received,
{"_attr_extra_state_attributes"},
),
@ -482,6 +485,10 @@ class MqttAttributesMixin(Entity):
class MqttAvailabilityMixin(Entity):
"""Mixin used for platforms that report availability."""
_message_callback: Callable[
[MessageCallbackType, set[str] | None, ReceiveMessage], None
]
def __init__(self, config: ConfigType) -> None:
"""Initialize the availability mixin."""
self._availability_sub_state: dict[str, EntitySubscription] = {}
@ -547,7 +554,7 @@ class MqttAvailabilityMixin(Entity):
f"availability_{topic}": {
"topic": topic,
"msg_callback": partial(
self._message_callback, # type: ignore[attr-defined]
self._message_callback,
self._availability_message_received,
{"available"},
),