Commit Graph

85 Commits (415042f356cb77f136d7abbcc93c8bec9fb85c1d)

Author SHA1 Message Date
J. Nick Koston 0eca433004
Update zeroconf discovery to use IPAddress objects to avoid conversions (#100567) 2023-09-19 18:58:46 +02:00
J. Nick Koston 3b588a839c
Bump zeroconf to 0.103.0 (#100012) 2023-09-09 19:49:26 -05:00
J. Nick Koston e9620c62b8
Fix assertions in zeroconf tests (#96957) 2023-07-20 20:36:46 +02:00
J. Nick Koston 605c4db142
Relocate async_get_announce_addresses from zeroconf to network (#94816) 2023-06-21 11:29:04 +02:00
J. Nick Koston e0ae7a31fe
Remove _raw from zeroconf properties (#94615)
* Remove _raw from zeroconf properties

This was added in #31059 but it appears it was never used.

To preserve backwards compatibility, properties are still decoded
but utf-8 errors are replaced instead of dropped

* Remove _raw from zeroconf properties

This was added in #31059 but it appears it was never used.

To preserve backwards compatibility, properties are still decoded
but utf-8 errors are replaced instead of dropped
2023-06-14 21:31:52 -04:00
J. Nick Koston 331102e592
Dismiss discoveries when the underlying device disappears (#88340)
* Implement discovery removals

Bluetooth, HomeKit, SSDP, and Zeroconf now implement
dismissing discoveries when the underlying discovered
device disappears

* cover

* add zeroconf test

* cover

* cover bluetooth

* fix rediscover
2023-02-17 15:51:19 -05:00
epenet 5b80b1f55a
Add type hints to integration tests (part 25) (#88308) 2023-02-17 16:52:28 +01:00
J. Nick Koston c83ea297b5
Refactor zeroconf task handling (#88204)
* Refactor zeroconf task handling

- Avoid the need to create tasks for most callbacks
- Fixes the untracked task that could get unexpectedly GCed

* be consistant

* be consistant

* fix zeroconf tests

* runtime

* Revert "runtime"

This reverts commit 19e6b61837.

* precalc

* refactor

* tweak

* update tests
2023-02-15 21:44:11 -05:00
epenet 278050a73f
Add type hints to integration tests (t-z) (#87707) 2023-02-08 19:10:53 +01:00
J. Nick Koston 4d0e236c6a
Ignore invalid zeroconf names from devices with broken firmwares (#87414) 2023-02-04 16:29:03 -06:00
Franck Nijhof 5e81d28116
Update black to 23.1.0 (#87188) 2023-02-02 18:35:24 +01:00
Franck Nijhof 4aba3fdad6
Code styling tweaks to the zeroconf integration (#86048) 2023-01-16 18:35:23 -10:00
J. Nick Koston 5c38321c4f
Ignore unspecified addresses from zeroconf (#81620) 2022-11-07 15:50:45 -06:00
J. Nick Koston a72e906ac1
Fix zeroconf when location name has a period (#81022) 2022-10-26 10:39:13 -05:00
J. Nick Koston abb3ce6d69
Fix zeroconf starting later than expected (#81023) 2022-10-26 10:06:56 -05:00
Paulus Schoutsen 6e893d9162
Store alternative domain for Zeroconf homekit discovery (#79240) 2022-09-29 22:21:00 -04:00
J. Nick Koston df6892b908
Offer HKC local push control option when there are multiple zeroconf homekit matches (#74441) 2022-07-05 21:02:18 -07:00
epenet 141688e210
Cleanup ServiceInfo compatibility (#60540)
Co-authored-by: epenet <epenet@users.noreply.github.com>
Co-authored-by: J. Nick Koston <nick@koston.org>
2022-05-09 14:17:48 +02:00
J. Nick Koston cec7e53302
Fix zeroconf tests (#71557) 2022-05-08 19:15:18 -07:00
J. Nick Koston ad1241a116
Fix missing patching of homekit matchers in zeroconf tests (#70141) 2022-04-16 16:41:10 +02:00
Steven Looman dbbb5655e5
Bump async-upnp-client to 0.25.0 (#66414)
Co-authored-by: J. Nick Koston <nick@koston.org>
2022-02-27 08:29:29 -10:00
Joshua Roys bc2cc42955
Don't abort zeroconf discovery for IPv6-only devices (#66455) 2022-02-13 15:24:23 -06:00
Joshua Roys 9134e5c844
Get discovered zeroconf IPv6 addresses (#65462) 2022-02-11 16:46:17 -06:00
J. Nick Koston ee375ff42d
Offer local control option when there are multiple zeroconf homekit matches (#62649) 2022-01-04 16:51:38 +01:00
J. Nick Koston 615872a5d1
Align zeroconf matching with ZeroconfServiceInfo (#62133) 2021-12-19 02:09:21 -06:00
epenet c05eca1c82
Remove log flooding prevention logic from discovery info (#61243)
Co-authored-by: epenet <epenet@users.noreply.github.com>
2021-12-08 10:28:26 -10:00
epenet d64bf3cc6c
Use dataclass properties in Zeroconf tests (#61109)
Co-authored-by: epenet <epenet@users.noreply.github.com>
2021-12-06 09:16:39 -10:00
epenet 37430e7c9e
Add get method to ZeroconfServiceInfo (#60528)
Co-authored-by: epenet <epenet@users.noreply.github.com>
2021-11-29 17:37:55 +01:00
J. Nick Koston 347c4ea137
Bump zeroconf to 0.37.0 (#59932) 2021-11-18 20:23:20 -08:00
J. Nick Koston b75476e844
Add support for matching the zeroconf model property (#58922) 2021-11-07 07:44:15 -08:00
J. Nick Koston 5958e6a3f9
Ensure zeroconf uses the newest non-link local address in discovery (#58257) 2021-10-23 08:50:19 -10:00
J. Nick Koston 26f73779cc
Avoid enabling ipv6 dual stack for zeroconf on unsupported platforms (#56584) 2021-09-26 09:51:34 -07:00
J. Nick Koston 88e42a540e
Remove leftover debug prints in tests (#56409) 2021-09-19 12:43:02 +02:00
Erik Montnemery bce4c5eb11
Prevent 3rd party lib from opening sockets in zeroconf tests (#56324) 2021-09-16 23:19:32 -10:00
J. Nick Koston 1325b38256
Handle case where location_name is set to "" for zeroconf (#54880) 2021-08-20 14:33:23 -07:00
J. Nick Koston 5d19575a84
Exclude global scope IPv6 when setting up zeroconf interfaces (#54632) 2021-08-18 09:00:09 -07:00
J. Nick Koston 74a30af79b
Always set interfaces explicitly when IPv6 is present (#54268) 2021-08-09 21:13:55 +02:00
J. Nick Koston 5f790f6bd9
Fetch interface index from network integration instead of socket.if_nametoindex in zeroconf (#54152) 2021-08-06 09:15:35 -07:00
Yuxiang Zhu ce663f629c
Fix various zeroconf IPv6 compatibility issues (#53505) 2021-07-27 19:31:51 +02:00
J. Nick Koston 9f16e390f5
Deprecate IPv6 zeroconf setting in favor of the network integration (#51173) 2021-06-29 17:13:31 -10:00
J. Nick Koston 64661ee2b7
Add network configuration integration (#50874)
Co-authored-by: Ruslan Sayfutdinov <ruslan@sayfutdinov.com>
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-05-26 09:06:30 -07:00
J. Nick Koston f1d02bb137
Expand homekit zeroconf matching to use fnmatch (#50381) 2021-05-19 00:20:56 -05:00
J. Nick Koston 3cc3cacd08
Start ServiceBrowser as soon as possible in zeroconf (#50784)
Co-authored-by: Ruslan Sayfutdinov <ruslan@sayfutdinov.com>
2021-05-17 20:51:05 -07:00
J. Nick Koston dd3965e4e2
Ensure zeroconf does not generate config flows when matching attributes are missing (#50208)
If macaddress, name, or manufacturer were missing from the
discovery info, the matcher would accept instead of reject.
2021-05-11 21:24:42 -07:00
J. Nick Koston 3f547e58d7
Fix zeroconf test inadvertently matching strings that start with name (#49578)
* Fix zeroconf test inadvertently matching strings that start with name

* adjust

* adjust
2021-04-28 11:47:36 +02:00
J. Nick Koston cb4558c088
Autodetect zeroconf interface selection when not set (#49529) 2021-04-21 22:10:34 -07:00
J. Nick Koston 493bd4cdca
Add manufacturer matching support to zeroconf (#48810)
We plan on matching with _airplay which means we need
to able to limit to specific manufacturers to avoid
generating flows for integrations with the wrong
manufacturer
2021-04-08 09:03:10 -10:00
Paulus Schoutsen 46e593485e
Handle zeroconf updated events (#47683) 2021-03-09 10:14:00 -10:00
Paulus Schoutsen caf14b78d1
Homekit has two types (#44879) 2021-01-07 08:44:34 -10:00
Franck Nijhof 65cf2fcb6f
Drop asynctest (#44746) 2021-01-01 22:31:56 +01:00