1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
|
from aiohomekit import Controller
from aiohomekit.controller.ip import IpDiscovery, IpPairing
from aiohomekit.model.categories import Categories
from aiohomekit.zeroconf import HomeKitService
async def test_pair(controller_and_unpaired_accessory: tuple[Controller, int]):
controller, port = controller_and_unpaired_accessory
discovery = IpDiscovery(
controller,
HomeKitService(
name="Test",
id="00:01:02:03:04:05",
model="Test",
feature_flags=0,
status_flags=1,
config_num=0,
state_num=0,
category=Categories.OTHER,
protocol_version="1.0",
type="_hap._tcp.local",
address="127.0.0.1",
addresses=["127.0.0.1"],
port=port,
),
)
finish_pairing = await discovery.async_start_pairing("alias")
pairing = await finish_pairing("031-45-154")
assert isinstance(pairing, IpPairing)
assert await pairing.get_characteristics([(1, 9)]) == {
(1, 9): {"value": False},
}
async def test_identify(controller_and_unpaired_accessory: tuple[Controller, int]):
controller, port = controller_and_unpaired_accessory
discovery = IpDiscovery(
controller,
HomeKitService(
name="Test",
id="00:01:02:03:04:05",
model="Test",
feature_flags=0,
status_flags=0,
config_num=0,
state_num=0,
category=Categories.OTHER,
protocol_version="1.0",
type="_hap._tcp.local",
address="127.0.0.1",
addresses=["127.0.0.1"],
port=port,
),
)
identified = await discovery.async_identify()
assert identified is True
|