mirror of https://github.com/home-assistant/core
40 lines
1.0 KiB
Python
40 lines
1.0 KiB
Python
"""Proxmox parent entity class."""
|
|
|
|
from homeassistant.helpers.update_coordinator import (
|
|
CoordinatorEntity,
|
|
DataUpdateCoordinator,
|
|
)
|
|
|
|
|
|
class ProxmoxEntity(CoordinatorEntity):
|
|
"""Represents any entity created for the Proxmox VE platform."""
|
|
|
|
def __init__(
|
|
self,
|
|
coordinator: DataUpdateCoordinator,
|
|
unique_id: str,
|
|
name: str,
|
|
icon: str,
|
|
host_name: str,
|
|
node_name: str,
|
|
vm_id: int | None = None,
|
|
) -> None:
|
|
"""Initialize the Proxmox entity."""
|
|
super().__init__(coordinator)
|
|
|
|
self.coordinator = coordinator
|
|
self._attr_unique_id = unique_id
|
|
self._attr_name = name
|
|
self._host_name = host_name
|
|
self._attr_icon = icon
|
|
self._available = True
|
|
self._node_name = node_name
|
|
self._vm_id = vm_id
|
|
|
|
self._state = None
|
|
|
|
@property
|
|
def available(self) -> bool:
|
|
"""Return True if entity is available."""
|
|
return self.coordinator.last_update_success and self._available
|