hass-core/homeassistant/components/starlink/entity.py
Jack Boswell 43cc8a1ebf
Add binary_sensor to Starlink (#85409)
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-01-11 17:18:54 -10:00

32 lines
1.2 KiB
Python

"""Contains base entity classes for Starlink entities."""
from __future__ import annotations
from homeassistant.helpers.entity import DeviceInfo, Entity
from homeassistant.helpers.update_coordinator import CoordinatorEntity
from .const import DOMAIN
from .coordinator import StarlinkUpdateCoordinator
class StarlinkEntity(CoordinatorEntity[StarlinkUpdateCoordinator], Entity):
"""A base Entity that is registered under a Starlink device."""
_attr_has_entity_name = True
def __init__(
self,
coordinator: StarlinkUpdateCoordinator,
) -> None:
"""Initialize the device info and set the update coordinator."""
super().__init__(coordinator)
self._attr_device_info = DeviceInfo(
identifiers={
(DOMAIN, self.coordinator.data.status["id"]),
},
sw_version=self.coordinator.data.status["software_version"],
hw_version=self.coordinator.data.status["hardware_version"],
name="Starlink",
configuration_url=f"http://{self.coordinator.channel_context.target.split(':')[0]}",
manufacturer="SpaceX",
model="Starlink",
)