1 """The Tailscale integration."""
3 from __future__
import annotations
5 from tailscale
import Device
as TailscaleDevice
11 DataUpdateCoordinator,
14 from .const
import DOMAIN
18 """Defines a Tailscale base entity."""
20 _attr_has_entity_name =
True
25 coordinator: DataUpdateCoordinator,
26 device: TailscaleDevice,
27 description: EntityDescription,
29 """Initialize a Tailscale sensor."""
30 super().
__init__(coordinator=coordinator)
37 """Return the device info."""
38 device: TailscaleDevice = self.coordinator.data[self.
device_iddevice_id]
40 configuration_url =
"https://login.tailscale.com/admin/machines/"
42 configuration_url += device.addresses[0]
45 configuration_url=configuration_url,
46 entry_type=DeviceEntryType.SERVICE,
47 identifiers={(DOMAIN, device.device_id)},
48 manufacturer=
"Tailscale Inc.",
50 name=device.name.split(
".")[0],
51 sw_version=device.client_version,
None __init__(self, *DataUpdateCoordinator coordinator, TailscaleDevice device, EntityDescription description)
DeviceInfo device_info(self)