Migrate proximity to use async_track_state_change_event (#115002)

This commit is contained in:
J. Nick Koston 2024-04-06 00:00:30 -10:00 committed by GitHub
parent 34bf4dc962
commit b6d0c9d1c3
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 15 additions and 5 deletions

View file

@ -20,7 +20,7 @@ from homeassistant.core import DOMAIN as HOMEASSISTANT_DOMAIN, HomeAssistant
import homeassistant.helpers.config_validation as cv
from homeassistant.helpers.event import (
async_track_entity_registry_updated_event,
async_track_state_change,
async_track_state_change_event,
)
from homeassistant.helpers.issue_registry import IssueSeverity, async_create_issue
from homeassistant.helpers.typing import ConfigType
@ -142,7 +142,7 @@ async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool:
coordinator = ProximityDataUpdateCoordinator(hass, entry.title, dict(entry.data))
entry.async_on_unload(
async_track_state_change(
async_track_state_change_event(
hass,
entry.data[CONF_TRACKED_ENTITIES],
coordinator.async_check_proximity_state_change,

View file

@ -15,7 +15,13 @@ from homeassistant.const import (
CONF_ZONE,
UnitOfLength,
)
from homeassistant.core import Event, HomeAssistant, State, callback
from homeassistant.core import (
Event,
EventStateChangedData,
HomeAssistant,
State,
callback,
)
from homeassistant.helpers import entity_registry as er
from homeassistant.helpers.issue_registry import IssueSeverity, async_create_issue
from homeassistant.helpers.typing import ConfigType
@ -100,10 +106,14 @@ class ProximityDataUpdateCoordinator(DataUpdateCoordinator[ProximityData]):
self.entity_mapping[tracked_entity_id].append(entity_id)
async def async_check_proximity_state_change(
self, entity: str, old_state: State | None, new_state: State | None
self,
event: Event[EventStateChangedData],
) -> None:
"""Fetch and process state change event."""
self.state_change_data = StateChangedData(entity, old_state, new_state)
data = event.data
self.state_change_data = StateChangedData(
data["entity_id"], data["old_state"], data["new_state"]
)
await self.async_refresh()
async def async_check_tracked_entity_change(