|
|
- """Discover Yeelight bulbs, based on Kodi discoverable."""
- from . import MDNSDiscoverable
- from ..const import ATTR_DEVICE_TYPE
-
- DEVICE_NAME_PREFIX = 'yeelink-light-'
-
-
- class Discoverable(MDNSDiscoverable):
- """Add support for discovering Yeelight."""
-
- def __init__(self, nd):
- """Initialize the Yeelight discovery."""
- super(Discoverable, self).__init__(nd, '_miio._udp.local.')
-
- def info_from_entry(self, entry):
- """Return most important info from mDNS entries."""
- info = super().info_from_entry(entry)
-
- # Example name: yeelink-light-ceiling4_mibt72799069._miio._udp.local.
- info[ATTR_DEVICE_TYPE] = \
- entry.name.replace(DEVICE_NAME_PREFIX, '').split('_', 1)[0]
-
- return info
-
- def get_entries(self):
- """ Return yeelight devices. """
- return self.find_by_device_name(DEVICE_NAME_PREFIX)
|