mirror of
https://github.com/home-assistant/core.git
synced 2025-04-24 01:08:12 +00:00
Introduce actuator base entity to microBees (#111000)
* changed library imports and added sensors to coordinator and new entity * revert library * revert library
This commit is contained in:
parent
5b470ff16f
commit
ac926f9c64
@ -7,7 +7,9 @@ from http import HTTPStatus
|
||||
import logging
|
||||
|
||||
import aiohttp
|
||||
from microBeesPy.microbees import Actuator, Bee, MicroBees, MicroBeesException
|
||||
from microBeesPy.bee import Actuator, Bee
|
||||
from microBeesPy.exceptions import MicroBeesException
|
||||
from microBeesPy.microbees import MicroBees
|
||||
|
||||
from homeassistant.core import HomeAssistant
|
||||
from homeassistant.exceptions import ConfigEntryAuthFailed
|
||||
|
@ -1,6 +1,6 @@
|
||||
"""Base entity for microBees."""
|
||||
|
||||
from microBeesPy.microbees import Actuator, Bee
|
||||
from microBeesPy.bee import Actuator, Bee
|
||||
|
||||
from homeassistant.helpers.device_registry import DeviceInfo
|
||||
from homeassistant.helpers.update_coordinator import CoordinatorEntity
|
||||
@ -18,13 +18,10 @@ class MicroBeesEntity(CoordinatorEntity[MicroBeesUpdateCoordinator]):
|
||||
self,
|
||||
coordinator: MicroBeesUpdateCoordinator,
|
||||
bee_id: int,
|
||||
actuator_id: int,
|
||||
) -> None:
|
||||
"""Initialize the microBees entity."""
|
||||
super().__init__(coordinator)
|
||||
self.bee_id = bee_id
|
||||
self.actuator_id = actuator_id
|
||||
self._attr_unique_id = f"{bee_id}_{actuator_id}"
|
||||
self._attr_device_info = DeviceInfo(
|
||||
identifiers={(DOMAIN, str(bee_id))},
|
||||
manufacturer="microBees",
|
||||
@ -46,6 +43,21 @@ class MicroBeesEntity(CoordinatorEntity[MicroBeesUpdateCoordinator]):
|
||||
"""Return the bee."""
|
||||
return self.coordinator.data.bees[self.bee_id]
|
||||
|
||||
|
||||
class MicroBeesActuatorEntity(MicroBeesEntity):
|
||||
"""Base class for microBees entities with actuator."""
|
||||
|
||||
def __init__(
|
||||
self,
|
||||
coordinator: MicroBeesUpdateCoordinator,
|
||||
bee_id: int,
|
||||
actuator_id: int,
|
||||
) -> None:
|
||||
"""Initialize the microBees entity."""
|
||||
super().__init__(coordinator, bee_id)
|
||||
self.actuator_id = actuator_id
|
||||
self._attr_unique_id = f"{bee_id}_{actuator_id}"
|
||||
|
||||
@property
|
||||
def actuator(self) -> Actuator:
|
||||
"""Return the actuator."""
|
||||
|
@ -9,7 +9,7 @@ from homeassistant.helpers.entity_platform import AddEntitiesCallback
|
||||
|
||||
from .const import DOMAIN
|
||||
from .coordinator import MicroBeesUpdateCoordinator
|
||||
from .entity import MicroBeesEntity
|
||||
from .entity import MicroBeesActuatorEntity
|
||||
|
||||
SOCKET_TRANSLATIONS = {46: "socket_it", 38: "socket_eu"}
|
||||
|
||||
@ -28,7 +28,7 @@ async def async_setup_entry(
|
||||
async_add_entities(switches)
|
||||
|
||||
|
||||
class MBSwitch(MicroBeesEntity, SwitchEntity):
|
||||
class MBSwitch(MicroBeesActuatorEntity, SwitchEntity):
|
||||
"""Representation of a microBees switch."""
|
||||
|
||||
def __init__(
|
||||
|
@ -2,7 +2,9 @@
|
||||
import time
|
||||
from unittest.mock import AsyncMock, patch
|
||||
|
||||
from microBeesPy.microbees import Bee, MicroBees, Profile
|
||||
from microBeesPy.bee import Bee
|
||||
from microBeesPy.microbees import MicroBees
|
||||
from microBeesPy.profile import Profile
|
||||
import pytest
|
||||
|
||||
from homeassistant.components.application_credentials import (
|
||||
|
@ -1,7 +1,7 @@
|
||||
"""Tests for config flow."""
|
||||
from unittest.mock import AsyncMock, patch
|
||||
|
||||
from microBeesPy.microbees import MicroBeesException
|
||||
from microBeesPy.exceptions import MicroBeesException
|
||||
import pytest
|
||||
|
||||
from homeassistant.components.microbees.const import DOMAIN
|
||||
|
Loading…
x
Reference in New Issue
Block a user