Updated apps
This commit is contained in:
@@ -0,0 +1,41 @@
|
||||
"""Spook - Your homie."""
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
from typing import TYPE_CHECKING
|
||||
|
||||
from homeassistant.components.cloud.const import DOMAIN as CLOUD_DOMAIN
|
||||
from homeassistant.helpers.device_registry import DeviceInfo
|
||||
|
||||
from ...const import DOMAIN
|
||||
from ...entity import SpookEntity, SpookEntityDescription
|
||||
|
||||
if TYPE_CHECKING:
|
||||
from hass_nabucasa import Cloud
|
||||
|
||||
from homeassistant.components.cloud.client import CloudClient
|
||||
|
||||
|
||||
class HomeAssistantCloudSpookEntity(SpookEntity):
|
||||
"""Defines an base Spook entity for Home Assistant Cloud related entities."""
|
||||
|
||||
def __init__(
|
||||
self, cloud: Cloud[CloudClient], description: SpookEntityDescription
|
||||
) -> None:
|
||||
"""Initialize the entity."""
|
||||
super().__init__(description=description)
|
||||
self._cloud = cloud
|
||||
self._attr_device_info = DeviceInfo(
|
||||
identifiers={(DOMAIN, CLOUD_DOMAIN)},
|
||||
manufacturer="Nabu Casa Inc.",
|
||||
name="Home Assistant Cloud",
|
||||
configuration_url="https://account.nabucasa.com/",
|
||||
)
|
||||
self._attr_unique_id = f"{CLOUD_DOMAIN}_{description.key}"
|
||||
|
||||
@property
|
||||
def available(self) -> bool:
|
||||
"""Return if cloud services are available."""
|
||||
return (
|
||||
super().available and self._cloud.is_logged_in and self._cloud.is_connected
|
||||
)
|
||||
Reference in New Issue
Block a user