HomeKit Bugfix: names (#13031)
* Fix display_names, changed default port (+1) * Revert port changepull/13033/head
parent
3c41c0c46e
commit
a58d8fc68b
|
@ -5,16 +5,17 @@ from pyhap.accessory import Accessory, Bridge, Category
|
|||
|
||||
from .const import (
|
||||
SERV_ACCESSORY_INFO, SERV_BRIDGING_STATE, MANUFACTURER,
|
||||
CHAR_MODEL, CHAR_MANUFACTURER, CHAR_SERIAL_NUMBER)
|
||||
CHAR_MODEL, CHAR_MANUFACTURER, CHAR_NAME, CHAR_SERIAL_NUMBER)
|
||||
|
||||
|
||||
_LOGGER = logging.getLogger(__name__)
|
||||
|
||||
|
||||
def set_accessory_info(acc, model, manufacturer=MANUFACTURER,
|
||||
def set_accessory_info(acc, name, model, manufacturer=MANUFACTURER,
|
||||
serial_number='0000'):
|
||||
"""Set the default accessory information."""
|
||||
service = acc.get_service(SERV_ACCESSORY_INFO)
|
||||
service.get_characteristic(CHAR_NAME).set_value(name)
|
||||
service.get_characteristic(CHAR_MODEL).set_value(model)
|
||||
service.get_characteristic(CHAR_MANUFACTURER).set_value(manufacturer)
|
||||
service.get_characteristic(CHAR_SERIAL_NUMBER).set_value(serial_number)
|
||||
|
@ -49,7 +50,7 @@ class HomeAccessory(Accessory):
|
|||
def __init__(self, display_name, model, category='OTHER', **kwargs):
|
||||
"""Initialize a Accessory object."""
|
||||
super().__init__(display_name, **kwargs)
|
||||
set_accessory_info(self, model)
|
||||
set_accessory_info(self, display_name, model)
|
||||
self.category = getattr(Category, category, Category.OTHER)
|
||||
|
||||
def _set_services(self):
|
||||
|
@ -62,7 +63,7 @@ class HomeBridge(Bridge):
|
|||
def __init__(self, display_name, model, pincode, **kwargs):
|
||||
"""Initialize a Bridge object."""
|
||||
super().__init__(display_name, pincode=pincode, **kwargs)
|
||||
set_accessory_info(self, model)
|
||||
set_accessory_info(self, display_name, model)
|
||||
|
||||
def _set_services(self):
|
||||
add_preload_service(self, SERV_ACCESSORY_INFO)
|
||||
|
|
|
@ -22,6 +22,7 @@ CHAR_HEATING_THRESHOLD_TEMPERATURE = 'HeatingThresholdTemperature'
|
|||
CHAR_LINK_QUALITY = 'LinkQuality'
|
||||
CHAR_MANUFACTURER = 'Manufacturer'
|
||||
CHAR_MODEL = 'Model'
|
||||
CHAR_NAME = 'Name'
|
||||
CHAR_ON = 'On'
|
||||
CHAR_POSITION_STATE = 'PositionState'
|
||||
CHAR_REACHABLE = 'Reachable'
|
||||
|
|
|
@ -13,7 +13,7 @@ from homeassistant.components.homekit.accessories import (
|
|||
HomeAccessory, HomeBridge)
|
||||
from homeassistant.components.homekit.const import (
|
||||
SERV_ACCESSORY_INFO, SERV_BRIDGING_STATE,
|
||||
CHAR_MODEL, CHAR_MANUFACTURER, CHAR_SERIAL_NUMBER)
|
||||
CHAR_MODEL, CHAR_MANUFACTURER, CHAR_NAME, CHAR_SERIAL_NUMBER)
|
||||
|
||||
from tests.mock.homekit import (
|
||||
get_patch_paths, mock_preload_service,
|
||||
|
@ -69,21 +69,23 @@ def test_override_properties():
|
|||
def test_set_accessory_info():
|
||||
"""Test setting of basic accessory information with MockAccessory."""
|
||||
acc = MockAccessory('Accessory')
|
||||
set_accessory_info(acc, 'model', 'manufacturer', '0000')
|
||||
set_accessory_info(acc, 'name', 'model', 'manufacturer', '0000')
|
||||
|
||||
assert len(acc.services) == 1
|
||||
serv = acc.services[0]
|
||||
|
||||
assert serv.display_name == SERV_ACCESSORY_INFO
|
||||
assert len(serv.characteristics) == 3
|
||||
assert len(serv.characteristics) == 4
|
||||
chars = serv.characteristics
|
||||
|
||||
assert chars[0].display_name == CHAR_MODEL
|
||||
assert chars[0].value == 'model'
|
||||
assert chars[1].display_name == CHAR_MANUFACTURER
|
||||
assert chars[1].value == 'manufacturer'
|
||||
assert chars[2].display_name == CHAR_SERIAL_NUMBER
|
||||
assert chars[2].value == '0000'
|
||||
assert chars[0].display_name == CHAR_NAME
|
||||
assert chars[0].value == 'name'
|
||||
assert chars[1].display_name == CHAR_MODEL
|
||||
assert chars[1].value == 'model'
|
||||
assert chars[2].display_name == CHAR_MANUFACTURER
|
||||
assert chars[2].value == 'manufacturer'
|
||||
assert chars[3].display_name == CHAR_SERIAL_NUMBER
|
||||
assert chars[3].value == '0000'
|
||||
|
||||
|
||||
@patch(PATH_ACC, side_effect=mock_preload_service)
|
||||
|
|
Loading…
Reference in New Issue