deCONZ - Support device registry (#16115)
Add support for device registry in deCONZ component
This commit is contained in:
parent
e8775ba2b4
commit
e91a1529e4
12 changed files with 162 additions and 36 deletions
|
@ -6,13 +6,14 @@ https://home-assistant.io/components/light.deconz/
|
|||
"""
|
||||
from homeassistant.components.deconz.const import (
|
||||
CONF_ALLOW_DECONZ_GROUPS, DOMAIN as DATA_DECONZ,
|
||||
DATA_DECONZ_ID, DATA_DECONZ_UNSUB, SWITCH_TYPES)
|
||||
DATA_DECONZ_ID, DATA_DECONZ_UNSUB, DECONZ_DOMAIN, SWITCH_TYPES)
|
||||
from homeassistant.components.light import (
|
||||
ATTR_BRIGHTNESS, ATTR_COLOR_TEMP, ATTR_EFFECT, ATTR_FLASH, ATTR_HS_COLOR,
|
||||
ATTR_TRANSITION, EFFECT_COLORLOOP, FLASH_LONG, FLASH_SHORT,
|
||||
SUPPORT_BRIGHTNESS, SUPPORT_COLOR, SUPPORT_COLOR_TEMP, SUPPORT_EFFECT,
|
||||
SUPPORT_FLASH, SUPPORT_TRANSITION, Light)
|
||||
from homeassistant.core import callback
|
||||
from homeassistant.helpers.device_registry import CONNECTION_ZIGBEE
|
||||
from homeassistant.helpers.dispatcher import async_dispatcher_connect
|
||||
import homeassistant.util.color as color_util
|
||||
|
||||
|
@ -199,3 +200,19 @@ class DeconzLight(Light):
|
|||
if self._light.type == 'LightGroup':
|
||||
attributes['all_on'] = self._light.all_on
|
||||
return attributes
|
||||
|
||||
@property
|
||||
def device(self):
|
||||
"""Return a device description for device registry."""
|
||||
if (self._light.uniqueid is None or
|
||||
self._light.uniqueid.count(':') != 7):
|
||||
return None
|
||||
serial = self._light.uniqueid.split('-', 1)[0]
|
||||
return {
|
||||
'connection': [[CONNECTION_ZIGBEE, serial]],
|
||||
'identifiers': [[DECONZ_DOMAIN, serial]],
|
||||
'manufacturer': self._light.manufacturer,
|
||||
'model': self._light.modelid,
|
||||
'name': self._light.name,
|
||||
'sw_version': self._light.swversion,
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue