mirror of
https://github.com/home-assistant/core.git
synced 2025-07-29 16:17:20 +00:00
Move velux base entity to separate module (#126185)
This commit is contained in:
parent
da4f401d17
commit
93de46b50e
@ -1,11 +1,10 @@
|
||||
"""Support for VELUX KLF 200 devices."""
|
||||
|
||||
from pyvlx import Node, PyVLX, PyVLXException
|
||||
from pyvlx import PyVLX, PyVLXException
|
||||
|
||||
from homeassistant.config_entries import ConfigEntry
|
||||
from homeassistant.const import CONF_HOST, CONF_PASSWORD, EVENT_HOMEASSISTANT_STOP
|
||||
from homeassistant.core import HomeAssistant, ServiceCall, callback
|
||||
from homeassistant.helpers.entity import Entity
|
||||
from homeassistant.core import HomeAssistant, ServiceCall
|
||||
|
||||
from .const import DOMAIN, LOGGER, PLATFORMS
|
||||
|
||||
@ -67,33 +66,3 @@ class VeluxModule:
|
||||
LOGGER.debug("Velux interface started")
|
||||
await self.pyvlx.load_scenes()
|
||||
await self.pyvlx.load_nodes()
|
||||
|
||||
|
||||
class VeluxEntity(Entity):
|
||||
"""Abstraction for al Velux entities."""
|
||||
|
||||
_attr_should_poll = False
|
||||
|
||||
def __init__(self, node: Node, config_entry_id: str) -> None:
|
||||
"""Initialize the Velux device."""
|
||||
self.node = node
|
||||
self._attr_unique_id = (
|
||||
node.serial_number
|
||||
if node.serial_number
|
||||
else f"{config_entry_id}_{node.node_id}"
|
||||
)
|
||||
self._attr_name = node.name if node.name else f"#{node.node_id}"
|
||||
|
||||
@callback
|
||||
def async_register_callbacks(self):
|
||||
"""Register callbacks to update hass after device was changed."""
|
||||
|
||||
async def after_update_callback(device):
|
||||
"""Call after device was updated."""
|
||||
self.async_write_ha_state()
|
||||
|
||||
self.node.register_device_updated_cb(after_update_callback)
|
||||
|
||||
async def async_added_to_hass(self):
|
||||
"""Store register state change callback."""
|
||||
self.async_register_callbacks()
|
||||
|
@ -18,7 +18,8 @@ from homeassistant.config_entries import ConfigEntry
|
||||
from homeassistant.core import HomeAssistant
|
||||
from homeassistant.helpers.entity_platform import AddEntitiesCallback
|
||||
|
||||
from . import DOMAIN, VeluxEntity
|
||||
from .const import DOMAIN
|
||||
from .entity import VeluxEntity
|
||||
|
||||
PARALLEL_UPDATES = 1
|
||||
|
||||
|
36
homeassistant/components/velux/entity.py
Normal file
36
homeassistant/components/velux/entity.py
Normal file
@ -0,0 +1,36 @@
|
||||
"""Support for VELUX KLF 200 devices."""
|
||||
|
||||
from pyvlx import Node
|
||||
|
||||
from homeassistant.core import callback
|
||||
from homeassistant.helpers.entity import Entity
|
||||
|
||||
|
||||
class VeluxEntity(Entity):
|
||||
"""Abstraction for al Velux entities."""
|
||||
|
||||
_attr_should_poll = False
|
||||
|
||||
def __init__(self, node: Node, config_entry_id: str) -> None:
|
||||
"""Initialize the Velux device."""
|
||||
self.node = node
|
||||
self._attr_unique_id = (
|
||||
node.serial_number
|
||||
if node.serial_number
|
||||
else f"{config_entry_id}_{node.node_id}"
|
||||
)
|
||||
self._attr_name = node.name if node.name else f"#{node.node_id}"
|
||||
|
||||
@callback
|
||||
def async_register_callbacks(self):
|
||||
"""Register callbacks to update hass after device was changed."""
|
||||
|
||||
async def after_update_callback(device):
|
||||
"""Call after device was updated."""
|
||||
self.async_write_ha_state()
|
||||
|
||||
self.node.register_device_updated_cb(after_update_callback)
|
||||
|
||||
async def async_added_to_hass(self):
|
||||
"""Store register state change callback."""
|
||||
self.async_register_callbacks()
|
@ -11,7 +11,8 @@ from homeassistant.config_entries import ConfigEntry
|
||||
from homeassistant.core import HomeAssistant
|
||||
from homeassistant.helpers.entity_platform import AddEntitiesCallback
|
||||
|
||||
from . import DOMAIN, VeluxEntity
|
||||
from .const import DOMAIN
|
||||
from .entity import VeluxEntity
|
||||
|
||||
PARALLEL_UPDATES = 1
|
||||
|
||||
|
@ -9,7 +9,7 @@ from homeassistant.config_entries import ConfigEntry
|
||||
from homeassistant.core import HomeAssistant
|
||||
from homeassistant.helpers.entity_platform import AddEntitiesCallback
|
||||
|
||||
from . import DOMAIN
|
||||
from .const import DOMAIN
|
||||
|
||||
PARALLEL_UPDATES = 1
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user