diff --git a/homeassistant/components/device_tracker/legacy.py b/homeassistant/components/device_tracker/legacy.py index 3614beccdfa..cc27bb49d2f 100644 --- a/homeassistant/components/device_tracker/legacy.py +++ b/homeassistant/components/device_tracker/legacy.py @@ -3,7 +3,7 @@ from __future__ import annotations import asyncio from collections.abc import Callable, Coroutine, Sequence -from datetime import timedelta +from datetime import datetime, timedelta import hashlib from types import ModuleType from typing import Any, Final, final @@ -337,7 +337,7 @@ def async_setup_scanner_platform( # Initial scan of each mac we also tell about host name for config seen: Any = set() - async def async_device_tracker_scan(now: dt_util.dt.datetime | None) -> None: + async def async_device_tracker_scan(now: datetime | None) -> None: """Handle interval matches.""" if update_lock.locked(): LOGGER.warning( @@ -578,7 +578,7 @@ class DeviceTracker: ) @callback - def async_update_stale(self, now: dt_util.dt.datetime) -> None: + def async_update_stale(self, now: datetime) -> None: """Update stale devices. This method must be run in the event loop. @@ -616,7 +616,7 @@ class Device(RestoreEntity): location_name: str | None = None gps: GPSType | None = None gps_accuracy: int = 0 - last_seen: dt_util.dt.datetime | None = None + last_seen: datetime | None = None battery: int | None = None attributes: dict | None = None @@ -744,7 +744,7 @@ class Device(RestoreEntity): await self.async_update() - def stale(self, now: dt_util.dt.datetime | None = None) -> bool: + def stale(self, now: datetime | None = None) -> bool: """Return if device state is stale. Async friendly. diff --git a/homeassistant/helpers/condition.py b/homeassistant/helpers/condition.py index 71d23758799..0fc2ade1746 100644 --- a/homeassistant/helpers/condition.py +++ b/homeassistant/helpers/condition.py @@ -5,7 +5,7 @@ import asyncio from collections import deque from collections.abc import Container, Generator from contextlib import contextmanager -from datetime import datetime, timedelta +from datetime import datetime, time as dt_time, timedelta import functools as ft import logging import re @@ -687,8 +687,8 @@ def async_template_from_config(config: ConfigType) -> ConditionCheckerType: def time( hass: HomeAssistant, - before: dt_util.dt.time | str | None = None, - after: dt_util.dt.time | str | None = None, + before: dt_time | str | None = None, + after: dt_time | str | None = None, weekday: None | str | Container[str] = None, ) -> bool: """Test if local time condition matches. @@ -702,12 +702,12 @@ def time( now_time = now.time() if after is None: - after = dt_util.dt.time(0) + after = dt_time(0) elif isinstance(after, str): if not (after_entity := hass.states.get(after)): raise ConditionErrorMessage("time", f"unknown 'after' entity {after}") if after_entity.domain == "input_datetime": - after = dt_util.dt.time( + after = dt_time( after_entity.attributes.get("hour", 23), after_entity.attributes.get("minute", 59), after_entity.attributes.get("second", 59), @@ -726,12 +726,12 @@ def time( return False if before is None: - before = dt_util.dt.time(23, 59, 59, 999999) + before = dt_time(23, 59, 59, 999999) elif isinstance(before, str): if not (before_entity := hass.states.get(before)): raise ConditionErrorMessage("time", f"unknown 'before' entity {before}") if before_entity.domain == "input_datetime": - before = dt_util.dt.time( + before = dt_time( before_entity.attributes.get("hour", 23), before_entity.attributes.get("minute", 59), before_entity.attributes.get("second", 59),