mirror of
https://github.com/home-assistant/core.git
synced 2025-11-16 14:30:22 +00:00
HomeKit Controller: Adopt config entries for pairing with homekit accessories (#23825)
* Fix user initiated pairing + show more user friendly name * Add lock around async_refresh_entity_map * Migrate homekit_controller to config entries. * Improve docstring Co-Authored-By: Martin Hjelmare <marhje52@kth.se> * Add dummy async_setup_platform * add_service -> async_add_service * Add missing returns * Enable coverage checks for homekit_controller
This commit is contained in:
@@ -11,21 +11,35 @@ UNIT_PERCENT = "%"
|
||||
UNIT_LUX = "lux"
|
||||
|
||||
|
||||
def setup_platform(hass, config, add_entities, discovery_info=None):
|
||||
"""Set up Homekit sensor support."""
|
||||
if discovery_info is not None:
|
||||
accessory = hass.data[KNOWN_DEVICES][discovery_info['serial']]
|
||||
devtype = discovery_info['device-type']
|
||||
async def async_setup_platform(
|
||||
hass, config, async_add_entities, discovery_info=None):
|
||||
"""Legacy set up platform."""
|
||||
pass
|
||||
|
||||
|
||||
async def async_setup_entry(hass, config_entry, async_add_entities):
|
||||
"""Set up Homekit covers."""
|
||||
hkid = config_entry.data['AccessoryPairingID']
|
||||
conn = hass.data[KNOWN_DEVICES][hkid]
|
||||
|
||||
def async_add_service(aid, service):
|
||||
devtype = service['stype']
|
||||
info = {'aid': aid, 'iid': service['iid']}
|
||||
if devtype == 'humidity':
|
||||
add_entities(
|
||||
[HomeKitHumiditySensor(accessory, discovery_info)], True)
|
||||
elif devtype == 'temperature':
|
||||
add_entities(
|
||||
[HomeKitTemperatureSensor(accessory, discovery_info)], True)
|
||||
elif devtype == 'light':
|
||||
add_entities(
|
||||
[HomeKitLightSensor(accessory, discovery_info)], True)
|
||||
async_add_entities([HomeKitHumiditySensor(conn, info)], True)
|
||||
return True
|
||||
|
||||
if devtype == 'temperature':
|
||||
async_add_entities([HomeKitTemperatureSensor(conn, info)], True)
|
||||
return True
|
||||
|
||||
if devtype == 'light':
|
||||
async_add_entities([HomeKitLightSensor(conn, info)], True)
|
||||
return True
|
||||
|
||||
return False
|
||||
|
||||
conn.add_listener(async_add_service)
|
||||
|
||||
|
||||
class HomeKitHumiditySensor(HomeKitEntity):
|
||||
|
||||
Reference in New Issue
Block a user