1 """Tracks devices by sending a ICMP echo request (ping)."""
3 from __future__
import annotations
5 from datetime
import datetime, timedelta
18 from .
import PingConfigEntry
19 from .const
import CONF_IMPORTED_BY
20 from .coordinator
import PingUpdateCoordinator
24 hass: HomeAssistant, entry: PingConfigEntry, async_add_entities: AddEntitiesCallback
26 """Set up a Ping config entry."""
31 """Representation of a Ping device tracker."""
33 _last_seen: datetime |
None =
None
36 self, config_entry: ConfigEntry, coordinator: PingUpdateCoordinator
38 """Initialize the Ping device tracker."""
44 seconds=config_entry.options.get(
45 CONF_CONSIDER_HOME, DEFAULT_CONSIDER_HOME.seconds
51 """Return the primary ip address of the device."""
52 return self.coordinator.data.ip_address
56 """Return a unique ID."""
61 """Return true if ping returns is_alive or considered home."""
62 if self.coordinator.data.is_alive:
72 """Return if entity is enabled by default."""
None __init__(self, ConfigEntry config_entry, PingUpdateCoordinator coordinator)
bool entity_registry_enabled_default(self)
None async_setup_entry(HomeAssistant hass, PingConfigEntry entry, AddEntitiesCallback async_add_entities)