1 """Tracks the latency of a host by sending ICMP echo requests (ping)."""
3 from __future__
import annotations
6 BinarySensorDeviceClass,
13 from .
import PingConfigEntry
14 from .const
import CONF_IMPORTED_BY
15 from .coordinator
import PingUpdateCoordinator
16 from .entity
import PingEntity
20 hass: HomeAssistant, entry: PingConfigEntry, async_add_entities: AddEntitiesCallback
22 """Set up a Ping config entry."""
27 """Representation of a Ping Binary sensor."""
29 _attr_device_class = BinarySensorDeviceClass.CONNECTIVITY
30 _attr_available =
False
34 self, config_entry: ConfigEntry, coordinator: PingUpdateCoordinator
36 """Initialize the Ping Binary sensor."""
37 super().
__init__(config_entry, coordinator, config_entry.entry_id)
40 if CONF_IMPORTED_BY
in config_entry.data:
42 config_entry.data[CONF_IMPORTED_BY] ==
"binary_sensor"
47 """Return true if the binary sensor is on."""
48 return self.coordinator.data.is_alive
None __init__(self, ConfigEntry config_entry, PingUpdateCoordinator coordinator)
_attr_entity_registry_enabled_default
None async_setup_entry(HomeAssistant hass, PingConfigEntry entry, AddEntitiesCallback async_add_entities)