Improve generic event typing [recorder] (#114736)

This commit is contained in:
Marc Mueller 2024-04-06 21:35:42 +02:00 committed by GitHub
parent 2e3cb1a767
commit 8f425b9ea7
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -1,8 +1,7 @@
"""Recorder entity registry helper.""" """Recorder entity registry helper."""
from collections.abc import Mapping
import logging import logging
from typing import Any from typing import TYPE_CHECKING
from homeassistant.core import Event, HomeAssistant, callback from homeassistant.core import Event, HomeAssistant, callback
from homeassistant.helpers import entity_registry as er from homeassistant.helpers import entity_registry as er
@ -19,10 +18,14 @@ def async_setup(hass: HomeAssistant) -> None:
"""Set up the entity hooks.""" """Set up the entity hooks."""
@callback @callback
def _async_entity_id_changed(event: Event) -> None: def _async_entity_id_changed(
event: Event[er.EventEntityRegistryUpdatedData],
) -> None:
instance = get_instance(hass) instance = get_instance(hass)
old_entity_id: str = event.data["old_entity_id"] if TYPE_CHECKING:
new_entity_id: str = event.data["entity_id"] assert event.data["action"] == "update" and "old_entity_id" in event.data
old_entity_id = event.data["old_entity_id"]
new_entity_id = event.data["entity_id"]
instance.async_update_statistics_metadata( instance.async_update_statistics_metadata(
old_entity_id, new_statistic_id=new_entity_id old_entity_id, new_statistic_id=new_entity_id
) )
@ -31,7 +34,9 @@ def async_setup(hass: HomeAssistant) -> None:
) )
@callback @callback
def entity_registry_changed_filter(event_data: Mapping[str, Any]) -> bool: def entity_registry_changed_filter(
event_data: er.EventEntityRegistryUpdatedData,
) -> bool:
"""Handle entity_id changed filter.""" """Handle entity_id changed filter."""
return event_data["action"] == "update" and "old_entity_id" in event_data return event_data["action"] == "update" and "old_entity_id" in event_data