1 """Contains base entity classes for Starlink entities."""
3 from __future__
import annotations
9 from .const
import DOMAIN
10 from .coordinator
import StarlinkUpdateCoordinator
14 """A base Entity that is registered under a Starlink device."""
16 _attr_has_entity_name =
True
19 self, coordinator: StarlinkUpdateCoordinator, description: EntityDescription
21 """Initialize the device info and set the update coordinator."""
25 (DOMAIN, self.coordinator.data.status[
"id"]),
27 sw_version=self.coordinator.data.status[
"software_version"],
28 hw_version=self.coordinator.data.status[
"hardware_version"],
30 configuration_url=f
"http://{self.coordinator.channel_context.target.split(':')[0]}",
31 manufacturer=
"SpaceX",
34 self.
_attr_unique_id_attr_unique_id = f
"{self.coordinator.data.status['id']}_{description.key}"
None __init__(self, StarlinkUpdateCoordinator coordinator, EntityDescription description)