mirror of
https://github.com/home-assistant/core.git
synced 2026-02-14 23:28:42 +00:00
Use HassKey in qwikswitch (#161066)
This commit is contained in:
@@ -24,9 +24,9 @@ from homeassistant.helpers.discovery import load_platform
|
|||||||
from homeassistant.helpers.dispatcher import async_dispatcher_send
|
from homeassistant.helpers.dispatcher import async_dispatcher_send
|
||||||
from homeassistant.helpers.typing import ConfigType
|
from homeassistant.helpers.typing import ConfigType
|
||||||
|
|
||||||
_LOGGER = logging.getLogger(__name__)
|
from .const import DATA_QUIKSWITCH, DOMAIN
|
||||||
|
|
||||||
DOMAIN = "qwikswitch"
|
_LOGGER = logging.getLogger(__name__)
|
||||||
|
|
||||||
CONF_DIMMER_ADJUST = "dimmer_adjust"
|
CONF_DIMMER_ADJUST = "dimmer_adjust"
|
||||||
CONF_BUTTON_EVENTS = "button_events"
|
CONF_BUTTON_EVENTS = "button_events"
|
||||||
@@ -96,7 +96,7 @@ async def async_setup(hass: HomeAssistant, config: ConfigType) -> bool:
|
|||||||
if not await qsusb.update_from_devices():
|
if not await qsusb.update_from_devices():
|
||||||
return False
|
return False
|
||||||
|
|
||||||
hass.data[DOMAIN] = qsusb
|
hass.data[DATA_QUIKSWITCH] = qsusb
|
||||||
|
|
||||||
comps: dict[Platform, list] = {
|
comps: dict[Platform, list] = {
|
||||||
Platform.SWITCH: [],
|
Platform.SWITCH: [],
|
||||||
@@ -168,7 +168,7 @@ async def async_setup(hass: HomeAssistant, config: ConfigType) -> bool:
|
|||||||
@callback
|
@callback
|
||||||
def async_stop(_):
|
def async_stop(_):
|
||||||
"""Stop the listener."""
|
"""Stop the listener."""
|
||||||
hass.data[DOMAIN].stop()
|
hass.data[DATA_QUIKSWITCH].stop()
|
||||||
|
|
||||||
hass.bus.async_listen(EVENT_HOMEASSISTANT_STOP, async_stop)
|
hass.bus.async_listen(EVENT_HOMEASSISTANT_STOP, async_stop)
|
||||||
|
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ from homeassistant.core import HomeAssistant, callback
|
|||||||
from homeassistant.helpers.entity_platform import AddEntitiesCallback
|
from homeassistant.helpers.entity_platform import AddEntitiesCallback
|
||||||
from homeassistant.helpers.typing import ConfigType, DiscoveryInfoType
|
from homeassistant.helpers.typing import ConfigType, DiscoveryInfoType
|
||||||
|
|
||||||
from . import DOMAIN
|
from .const import DATA_QUIKSWITCH, DOMAIN
|
||||||
from .entity import QSEntity
|
from .entity import QSEntity
|
||||||
|
|
||||||
_LOGGER = logging.getLogger(__name__)
|
_LOGGER = logging.getLogger(__name__)
|
||||||
@@ -30,7 +30,7 @@ async def async_setup_platform(
|
|||||||
if discovery_info is None:
|
if discovery_info is None:
|
||||||
return
|
return
|
||||||
|
|
||||||
qsusb = hass.data[DOMAIN]
|
qsusb = hass.data[DATA_QUIKSWITCH]
|
||||||
_LOGGER.debug("Setup qwikswitch.binary_sensor %s, %s", qsusb, discovery_info)
|
_LOGGER.debug("Setup qwikswitch.binary_sensor %s, %s", qsusb, discovery_info)
|
||||||
devs = [QSBinarySensor(sensor) for sensor in discovery_info[DOMAIN]]
|
devs = [QSBinarySensor(sensor) for sensor in discovery_info[DOMAIN]]
|
||||||
add_entities(devs)
|
add_entities(devs)
|
||||||
|
|||||||
13
homeassistant/components/qwikswitch/const.py
Normal file
13
homeassistant/components/qwikswitch/const.py
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
"""Support for Qwikswitch devices."""
|
||||||
|
|
||||||
|
from __future__ import annotations
|
||||||
|
|
||||||
|
from typing import TYPE_CHECKING
|
||||||
|
|
||||||
|
from homeassistant.util.hass_dict import HassKey
|
||||||
|
|
||||||
|
if TYPE_CHECKING:
|
||||||
|
from pyqwikswitch.async_ import QSUsb
|
||||||
|
|
||||||
|
DOMAIN = "qwikswitch"
|
||||||
|
DATA_QUIKSWITCH: HassKey[QSUsb] = HassKey(DOMAIN)
|
||||||
@@ -7,7 +7,7 @@ from homeassistant.core import callback
|
|||||||
from homeassistant.helpers.dispatcher import async_dispatcher_connect
|
from homeassistant.helpers.dispatcher import async_dispatcher_connect
|
||||||
from homeassistant.helpers.entity import Entity
|
from homeassistant.helpers.entity import Entity
|
||||||
|
|
||||||
from . import DOMAIN
|
from .const import DATA_QUIKSWITCH
|
||||||
|
|
||||||
|
|
||||||
class QSEntity(Entity):
|
class QSEntity(Entity):
|
||||||
@@ -67,8 +67,8 @@ class QSToggleEntity(QSEntity):
|
|||||||
async def async_turn_on(self, **kwargs):
|
async def async_turn_on(self, **kwargs):
|
||||||
"""Turn the device on."""
|
"""Turn the device on."""
|
||||||
new = kwargs.get(ATTR_BRIGHTNESS, 255)
|
new = kwargs.get(ATTR_BRIGHTNESS, 255)
|
||||||
self.hass.data[DOMAIN].devices.set_value(self.qsid, new)
|
self.hass.data[DATA_QUIKSWITCH].devices.set_value(self.qsid, new)
|
||||||
|
|
||||||
async def async_turn_off(self, **_):
|
async def async_turn_off(self, **_):
|
||||||
"""Turn the device off."""
|
"""Turn the device off."""
|
||||||
self.hass.data[DOMAIN].devices.set_value(self.qsid, 0)
|
self.hass.data[DATA_QUIKSWITCH].devices.set_value(self.qsid, 0)
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ from homeassistant.core import HomeAssistant, callback
|
|||||||
from homeassistant.helpers.entity_platform import AddEntitiesCallback
|
from homeassistant.helpers.entity_platform import AddEntitiesCallback
|
||||||
from homeassistant.helpers.typing import ConfigType, DiscoveryInfoType
|
from homeassistant.helpers.typing import ConfigType, DiscoveryInfoType
|
||||||
|
|
||||||
from . import DOMAIN
|
from .const import DATA_QUIKSWITCH, DOMAIN
|
||||||
from .entity import QSEntity
|
from .entity import QSEntity
|
||||||
|
|
||||||
_LOGGER = logging.getLogger(__name__)
|
_LOGGER = logging.getLogger(__name__)
|
||||||
@@ -28,7 +28,7 @@ async def async_setup_platform(
|
|||||||
if discovery_info is None:
|
if discovery_info is None:
|
||||||
return
|
return
|
||||||
|
|
||||||
qsusb = hass.data[DOMAIN]
|
qsusb = hass.data[DATA_QUIKSWITCH]
|
||||||
_LOGGER.debug("Setup qwikswitch.sensor %s, %s", qsusb, discovery_info)
|
_LOGGER.debug("Setup qwikswitch.sensor %s, %s", qsusb, discovery_info)
|
||||||
devs = [QSSensor(sensor) for sensor in discovery_info[DOMAIN]]
|
devs = [QSSensor(sensor) for sensor in discovery_info[DOMAIN]]
|
||||||
add_entities(devs)
|
add_entities(devs)
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ from homeassistant.core import HomeAssistant
|
|||||||
from homeassistant.helpers.entity_platform import AddEntitiesCallback
|
from homeassistant.helpers.entity_platform import AddEntitiesCallback
|
||||||
from homeassistant.helpers.typing import ConfigType, DiscoveryInfoType
|
from homeassistant.helpers.typing import ConfigType, DiscoveryInfoType
|
||||||
|
|
||||||
from . import DOMAIN
|
from .const import DATA_QUIKSWITCH, DOMAIN
|
||||||
from .entity import QSToggleEntity
|
from .entity import QSToggleEntity
|
||||||
|
|
||||||
|
|
||||||
@@ -21,7 +21,7 @@ async def async_setup_platform(
|
|||||||
if discovery_info is None:
|
if discovery_info is None:
|
||||||
return
|
return
|
||||||
|
|
||||||
qsusb = hass.data[DOMAIN]
|
qsusb = hass.data[DATA_QUIKSWITCH]
|
||||||
devs = [QSSwitch(qsid, qsusb) for qsid in discovery_info[DOMAIN]]
|
devs = [QSSwitch(qsid, qsusb) for qsid in discovery_info[DOMAIN]]
|
||||||
add_entities(devs)
|
add_entities(devs)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user