Fix homebridge devices becoming unavailable frequently ()

Update to aiohomekit 0.4.3 and make sure service type UUID is normalised before comparison

Co-authored-by: J. Nick Koston <nick@koston.org>
pull/52556/head^2
Jc2k 2021-07-08 17:26:25 +01:00 committed by GitHub
parent 49181d6ba8
commit 5b257d2be8
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 15 additions and 4 deletions
homeassistant/components/homekit_controller
tests/components/homekit_controller

View File

@ -3,7 +3,7 @@
"name": "HomeKit Controller",
"config_flow": true,
"documentation": "https://www.home-assistant.io/integrations/homekit_controller",
"requirements": ["aiohomekit==0.4.2"],
"requirements": ["aiohomekit==0.4.3"],
"zeroconf": ["_hap._tcp.local."],
"after_dependencies": ["zeroconf"],
"codeowners": ["@Jc2k", "@bdraco"],

View File

@ -44,7 +44,8 @@ SIMPLE_SENSOR = {
"unit": TEMP_CELSIUS,
# This sensor is only for temperature characteristics that are not part
# of a temperature sensor service.
"probe": lambda char: char.service.type != ServicesTypes.TEMPERATURE_SENSOR,
"probe": lambda char: char.service.type
!= ServicesTypes.get_uuid(ServicesTypes.TEMPERATURE_SENSOR),
},
}

View File

@ -175,7 +175,7 @@ aioguardian==1.0.4
aioharmony==0.2.7
# homeassistant.components.homekit_controller
aiohomekit==0.4.2
aiohomekit==0.4.3
# homeassistant.components.emulated_hue
# homeassistant.components.http

View File

@ -112,7 +112,7 @@ aioguardian==1.0.4
aioharmony==0.2.7
# homeassistant.components.homekit_controller
aiohomekit==0.4.2
aiohomekit==0.4.3
# homeassistant.components.emulated_hue
# homeassistant.components.http

View File

@ -86,6 +86,16 @@ async def test_temperature_sensor_read_state(hass, utcnow):
assert state.attributes["device_class"] == DEVICE_CLASS_TEMPERATURE
async def test_temperature_sensor_not_added_twice(hass, utcnow):
"""A standalone temperature sensor should not get a characteristic AND a service entity."""
helper = await setup_test_component(
hass, create_temperature_sensor_service, suffix="temperature"
)
for state in hass.states.async_all():
assert state.entity_id == helper.entity_id
async def test_humidity_sensor_read_state(hass, utcnow):
"""Test reading the state of a HomeKit humidity sensor accessory."""
helper = await setup_test_component(