mirror of
https://github.com/home-assistant/core.git
synced 2025-07-16 09:47:13 +00:00
Update HAP-python to 1.1.8 (#13563)
* Bump version to HAP-python==1.1.8 * Required changes for version change * Small bugfix lights
This commit is contained in:
parent
fe56844a3a
commit
206e38a2ab
@ -28,7 +28,7 @@ from .util import (
|
||||
TYPES = Registry()
|
||||
_LOGGER = logging.getLogger(__name__)
|
||||
|
||||
REQUIREMENTS = ['HAP-python==1.1.7']
|
||||
REQUIREMENTS = ['HAP-python==1.1.8']
|
||||
|
||||
|
||||
CONFIG_SCHEMA = vol.Schema({
|
||||
|
@ -8,8 +8,8 @@ from homeassistant.helpers.event import async_track_state_change
|
||||
|
||||
from .const import (
|
||||
ACCESSORY_MODEL, ACCESSORY_NAME, BRIDGE_MODEL, BRIDGE_NAME,
|
||||
MANUFACTURER, SERV_ACCESSORY_INFO, SERV_BRIDGING_STATE,
|
||||
CHAR_MANUFACTURER, CHAR_MODEL, CHAR_NAME, CHAR_SERIAL_NUMBER)
|
||||
MANUFACTURER, SERV_ACCESSORY_INFO, CHAR_MANUFACTURER, CHAR_MODEL,
|
||||
CHAR_NAME, CHAR_SERIAL_NUMBER)
|
||||
from .util import (
|
||||
show_setup_message, dismiss_setup_message)
|
||||
|
||||
@ -39,15 +39,6 @@ def set_accessory_info(acc, name, model, manufacturer=MANUFACTURER,
|
||||
service.get_characteristic(CHAR_SERIAL_NUMBER).set_value(serial_number)
|
||||
|
||||
|
||||
def override_properties(char, properties=None, valid_values=None):
|
||||
"""Override characteristic property values and valid values."""
|
||||
if properties:
|
||||
char.properties.update(properties)
|
||||
|
||||
if valid_values:
|
||||
char.properties['ValidValues'].update(valid_values)
|
||||
|
||||
|
||||
class HomeAccessory(Accessory):
|
||||
"""Adapter class for Accessory."""
|
||||
|
||||
@ -83,7 +74,6 @@ class HomeBridge(Bridge):
|
||||
|
||||
def _set_services(self):
|
||||
add_preload_service(self, SERV_ACCESSORY_INFO)
|
||||
add_preload_service(self, SERV_BRIDGING_STATE)
|
||||
|
||||
def setup_message(self):
|
||||
"""Prevent print of pyhap setup message to terminal."""
|
||||
|
@ -34,7 +34,6 @@ CATEGORY_WINDOW_COVERING = 'WINDOW_COVERING'
|
||||
|
||||
# #### Services ####
|
||||
SERV_ACCESSORY_INFO = 'AccessoryInformation'
|
||||
SERV_BRIDGING_STATE = 'BridgingState'
|
||||
SERV_HUMIDITY_SENSOR = 'HumiditySensor'
|
||||
# CurrentRelativeHumidity | StatusActive, StatusFault, StatusTampered,
|
||||
# StatusLowBattery, Name
|
||||
@ -47,9 +46,7 @@ SERV_WINDOW_COVERING = 'WindowCovering'
|
||||
|
||||
|
||||
# #### Characteristics ####
|
||||
CHAR_ACC_IDENTIFIER = 'AccessoryIdentifier'
|
||||
CHAR_BRIGHTNESS = 'Brightness' # Int | [0, 100]
|
||||
CHAR_CATEGORY = 'Category'
|
||||
CHAR_COOLING_THRESHOLD_TEMPERATURE = 'CoolingThresholdTemperature'
|
||||
CHAR_CURRENT_HEATING_COOLING = 'CurrentHeatingCoolingState'
|
||||
CHAR_CURRENT_POSITION = 'CurrentPosition'
|
||||
@ -58,13 +55,11 @@ CHAR_CURRENT_SECURITY_STATE = 'SecuritySystemCurrentState'
|
||||
CHAR_CURRENT_TEMPERATURE = 'CurrentTemperature'
|
||||
CHAR_HEATING_THRESHOLD_TEMPERATURE = 'HeatingThresholdTemperature'
|
||||
CHAR_HUE = 'Hue' # arcdegress | [0, 360]
|
||||
CHAR_LINK_QUALITY = 'LinkQuality'
|
||||
CHAR_MANUFACTURER = 'Manufacturer'
|
||||
CHAR_MODEL = 'Model'
|
||||
CHAR_NAME = 'Name'
|
||||
CHAR_ON = 'On' # boolean
|
||||
CHAR_POSITION_STATE = 'PositionState'
|
||||
CHAR_REACHABLE = 'Reachable'
|
||||
CHAR_SATURATION = 'Saturation' # percent
|
||||
CHAR_SERIAL_NUMBER = 'SerialNumber'
|
||||
CHAR_TARGET_HEATING_COOLING = 'TargetHeatingCoolingState'
|
||||
|
@ -152,4 +152,5 @@ class Light(HomeAccessory):
|
||||
self.char_hue.set_value(hue, should_callback=False)
|
||||
self.char_saturation.set_value(saturation,
|
||||
should_callback=False)
|
||||
self._hue, self._saturation = (hue, saturation)
|
||||
self._flag[RGB_COLOR] = False
|
||||
|
@ -5,8 +5,7 @@ from homeassistant.const import (
|
||||
ATTR_UNIT_OF_MEASUREMENT, TEMP_CELSIUS)
|
||||
|
||||
from . import TYPES
|
||||
from .accessories import (
|
||||
HomeAccessory, add_preload_service, override_properties)
|
||||
from .accessories import HomeAccessory, add_preload_service
|
||||
from .const import (
|
||||
CATEGORY_SENSOR, SERV_HUMIDITY_SENSOR, SERV_TEMPERATURE_SENSOR,
|
||||
CHAR_CURRENT_HUMIDITY, CHAR_CURRENT_TEMPERATURE, PROP_CELSIUS)
|
||||
@ -32,7 +31,7 @@ class TemperatureSensor(HomeAccessory):
|
||||
|
||||
serv_temp = add_preload_service(self, SERV_TEMPERATURE_SENSOR)
|
||||
self.char_temp = serv_temp.get_characteristic(CHAR_CURRENT_TEMPERATURE)
|
||||
override_properties(self.char_temp, PROP_CELSIUS)
|
||||
self.char_temp.override_properties(properties=PROP_CELSIUS)
|
||||
self.char_temp.value = 0
|
||||
self.unit = None
|
||||
|
||||
|
@ -22,7 +22,7 @@ attrs==17.4.0
|
||||
DoorBirdPy==0.1.3
|
||||
|
||||
# homeassistant.components.homekit
|
||||
HAP-python==1.1.7
|
||||
HAP-python==1.1.8
|
||||
|
||||
# homeassistant.components.notify.mastodon
|
||||
Mastodon.py==1.2.2
|
||||
|
@ -19,7 +19,7 @@ requests_mock==1.4
|
||||
|
||||
|
||||
# homeassistant.components.homekit
|
||||
HAP-python==1.1.7
|
||||
HAP-python==1.1.8
|
||||
|
||||
# homeassistant.components.notify.html5
|
||||
PyJWT==1.6.0
|
||||
|
@ -6,12 +6,12 @@ import unittest
|
||||
from unittest.mock import call, patch, Mock
|
||||
|
||||
from homeassistant.components.homekit.accessories import (
|
||||
add_preload_service, set_accessory_info, override_properties,
|
||||
add_preload_service, set_accessory_info,
|
||||
HomeAccessory, HomeBridge, HomeDriver)
|
||||
from homeassistant.components.homekit.const import (
|
||||
ACCESSORY_MODEL, ACCESSORY_NAME, BRIDGE_MODEL, BRIDGE_NAME,
|
||||
SERV_ACCESSORY_INFO, SERV_BRIDGING_STATE,
|
||||
CHAR_MANUFACTURER, CHAR_MODEL, CHAR_NAME, CHAR_SERIAL_NUMBER)
|
||||
SERV_ACCESSORY_INFO, CHAR_MANUFACTURER, CHAR_MODEL,
|
||||
CHAR_NAME, CHAR_SERIAL_NUMBER)
|
||||
|
||||
|
||||
class TestAccessories(unittest.TestCase):
|
||||
@ -22,7 +22,7 @@ class TestAccessories(unittest.TestCase):
|
||||
acc = Mock()
|
||||
serv = add_preload_service(acc, 'AirPurifier')
|
||||
self.assertEqual(acc.mock_calls, [call.add_service(serv)])
|
||||
with self.assertRaises(AssertionError):
|
||||
with self.assertRaises(ValueError):
|
||||
serv.get_characteristic('Name')
|
||||
|
||||
# Test with typo in service name
|
||||
@ -68,24 +68,6 @@ class TestAccessories(unittest.TestCase):
|
||||
self.assertEqual(
|
||||
serv.get_characteristic(CHAR_SERIAL_NUMBER).value, '0000')
|
||||
|
||||
def test_override_properties(self):
|
||||
"""Test overriding property values."""
|
||||
serv = add_preload_service(Mock(), 'AirPurifier', 'RotationSpeed')
|
||||
|
||||
char_active = serv.get_characteristic('Active')
|
||||
char_rotation_speed = serv.get_characteristic('RotationSpeed')
|
||||
|
||||
self.assertTrue(
|
||||
char_active.properties['ValidValues'].get('State') is None)
|
||||
self.assertEqual(char_rotation_speed.properties['maxValue'], 100)
|
||||
|
||||
override_properties(char_active, valid_values={'State': 'On'})
|
||||
override_properties(char_rotation_speed, properties={'maxValue': 200})
|
||||
|
||||
self.assertFalse(
|
||||
char_active.properties['ValidValues'].get('State') is None)
|
||||
self.assertEqual(char_rotation_speed.properties['maxValue'], 200)
|
||||
|
||||
def test_home_accessory(self):
|
||||
"""Test HomeAccessory class."""
|
||||
acc = HomeAccessory()
|
||||
@ -110,17 +92,15 @@ class TestAccessories(unittest.TestCase):
|
||||
bridge = HomeBridge(None)
|
||||
self.assertEqual(bridge.display_name, BRIDGE_NAME)
|
||||
self.assertEqual(bridge.category, 2) # Category.BRIDGE
|
||||
self.assertEqual(len(bridge.services), 2)
|
||||
self.assertEqual(len(bridge.services), 1)
|
||||
serv = bridge.services[0] # SERV_ACCESSORY_INFO
|
||||
self.assertEqual(serv.display_name, SERV_ACCESSORY_INFO)
|
||||
self.assertEqual(
|
||||
serv.get_characteristic(CHAR_MODEL).value, BRIDGE_MODEL)
|
||||
serv = bridge.services[1] # SERV_BRIDGING_STATE
|
||||
self.assertEqual(serv.display_name, SERV_BRIDGING_STATE)
|
||||
|
||||
bridge = HomeBridge('hass', 'test_name', 'test_model')
|
||||
self.assertEqual(bridge.display_name, 'test_name')
|
||||
self.assertEqual(len(bridge.services), 2)
|
||||
self.assertEqual(len(bridge.services), 1)
|
||||
serv = bridge.services[0] # SERV_ACCESSORY_INFO
|
||||
self.assertEqual(
|
||||
serv.get_characteristic(CHAR_MODEL).value, 'test_model')
|
||||
|
Loading…
x
Reference in New Issue
Block a user