Commit Graph
66 Commits
Author SHA1 Message Date
J. Nick KostonandGitHub df6892b908 Offer HKC local push control option when there are multiple zeroconf homekit matches (#74441) 2022-07-05 21:02:18 -07:00
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 KostonandGitHub cec7e53302 Fix zeroconf tests (#71557) 2022-05-08 19:15:18 -07:00
J. Nick KostonandGitHub ad1241a116 Fix missing patching of homekit matchers in zeroconf tests (#70141) 2022-04-16 16:41:10 +02:00
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 RoysandGitHub bc2cc42955 Don't abort zeroconf discovery for IPv6-only devices (#66455) 2022-02-13 15:24:23 -06:00
Joshua RoysandGitHub 9134e5c844 Get discovered zeroconf IPv6 addresses (#65462) 2022-02-11 16:46:17 -06:00
J. Nick KostonandGitHub ee375ff42d Offer local control option when there are multiple zeroconf homekit matches (#62649) 2022-01-04 16:51:38 +01:00
J. Nick KostonandGitHub 615872a5d1 Align zeroconf matching with ZeroconfServiceInfo (#62133) 2021-12-19 02:09:21 -06:00
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
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
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 KostonandGitHub b75476e844 Add support for matching the zeroconf model property (#58922) 2021-11-07 07:44:15 -08:00
J. Nick KostonandGitHub 5958e6a3f9 Ensure zeroconf uses the newest non-link local address in discovery (#58257) 2021-10-23 08:50:19 -10:00
J. Nick KostonandGitHub 26f73779cc Avoid enabling ipv6 dual stack for zeroconf on unsupported platforms (#56584) 2021-09-26 09:51:34 -07:00
J. Nick KostonandGitHub 88e42a540e Remove leftover debug prints in tests (#56409) 2021-09-19 12:43:02 +02:00
J. Nick KostonandGitHub 1325b38256 Handle case where location_name is set to "" for zeroconf (#54880) 2021-08-20 14:33:23 -07:00
J. Nick KostonandGitHub 5d19575a84 Exclude global scope IPv6 when setting up zeroconf interfaces (#54632) 2021-08-18 09:00:09 -07:00
J. Nick KostonandGitHub 74a30af79b Always set interfaces explicitly when IPv6 is present (#54268) 2021-08-09 21:13:55 +02:00
J. Nick KostonandGitHub 5f790f6bd9 Fetch interface index from network integration instead of socket.if_nametoindex in zeroconf (#54152) 2021-08-06 09:15:35 -07:00
Yuxiang ZhuandGitHub ce663f629c Fix various zeroconf IPv6 compatibility issues (#53505) 2021-07-27 19:31:51 +02:00
J. Nick KostonandGitHub 9f16e390f5 Deprecate IPv6 zeroconf setting in favor of the network integration (#51173) 2021-06-29 17:13:31 -10:00
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 KostonandGitHub f1d02bb137 Expand homekit zeroconf matching to use fnmatch (#50381) 2021-05-19 00:20:56 -05:00
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 KostonandGitHub 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 KostonandGitHub 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 KostonandGitHub cb4558c088 Autodetect zeroconf interface selection when not set (#49529) 2021-04-21 22:10:34 -07:00
J. Nick KostonandGitHub 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 SchoutsenandGitHub 46e593485e Handle zeroconf updated events (#47683) 2021-03-09 10:14:00 -10:00
Paulus SchoutsenandGitHub caf14b78d1 Homekit has two types (#44879) 2021-01-07 08:44:34 -10:00
Franck NijhofandGitHub 65cf2fcb6f Drop asynctest (#44746) 2021-01-01 22:31:56 +01:00
Paulus SchoutsenandGitHub c7bf7b32a2 Zeroconf lowercase (#44675) 2020-12-31 01:06:26 +01:00
J. Nick KostonandGitHub 7b016063ca Refactor zeroconf setup to be async (#39955)
* Refactor zeroconf setup to be async

Most of the setup was calling back to async because
we were setting up listeners.  Since we only need
to jump into the executor to create the zeroconf
instance, its much faster to setup in async.

In testing this cut the setup time in half
or better.

* partial revert to after_deps
2020-09-13 18:06:19 -05:00
9389a7c9be Limit zeroconf discovery to name/macaddress when provided (#39877)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-09-11 12:19:21 +02:00
J. Nick KostonandGitHub 5a9246468e Prevent invalid data from being passed to zeroconf (#39009) 2020-08-21 14:31:17 +02:00
J. Nick KostonandGitHub 49478298cc Ensure service browser does not collapse on bad dns names (#38851)
If a device on the network presented a bad name, zeroconf
would throw zeroconf.BadTypeInNameException and the service
browser would die off.  We now trap the exception and continue.
2020-08-13 22:00:39 -05:00
J. Nick KostonandGitHub 444df4a7d2 Use the shared zeroconf instance when attempting to create another Zeroconf instance (#38744) 2020-08-12 16:08:33 +02:00
J. Nick KostonandGitHub fdc5208d18 Prevent the zeroconf service browser from terminating when a device without any addresses is discovered. (#38094) 2020-07-22 20:21:57 -10:00
J. Nick KostonandGitHub 5cf7b1b1bc Ensure we do not start discovered flows until after the started event has fired (#38047)
* Ensure we do not start discovered flows until after the start event has fired

This change makes zeroconf and ssdp match discovery behavior of not
creating config flows until the start event has been fired.  This
prevents config flow creation/dependency installs for discovered
config flows from competing for cpu time during startup.

* Start discovery/service browser/ssdp when EVENT_HOMEASSISTANT_STARTED is fired instead of EVENT_HOMEASSISTANT_START
2020-07-21 14:18:43 -10:00
J. Nick KostonandGitHub abe3e3094e Provide workaround for missing/disabled/broken IPv6 (#37887) 2020-07-15 11:26:40 -07:00
J. Nick KostonandGitHub bfbb2826bc Fix homekit_controller discovery via zeroconf (#37725) 2020-07-13 17:45:05 -07:00
J. Nick KostonandGitHub 5e65d8d3c3 Upgrade zeroconf to 0.27.1 (#36277) 2020-06-05 14:33:26 -07:00
J. Nick KostonandGitHub b0578018cb Use a single service browser for zeroconf discovery (#35997) 2020-05-23 18:05:41 +02:00
J. Nick KostonandGitHub a42a654590 Fix reversed logic in zeroconf homekit pairing check (#35596)
* Fix reversed logic in zeroconf homekit pairing check

* s/server_info/service_info/
2020-05-14 18:58:40 +02:00
J. Nick KostonandGitHub 16cc4aed06 Ensure homekit_controller recieves zeroconf c# updates (#35545)
* Ensure homekit_controller recieves zeroconf c# updates

If an integration has a homekit config flow step
homekit controller would not see updates for
devices that were paired with it and would not
rescan for changes.

* Only send updates to homekit controller if the device is paired

This avoids the device showing up a second time.

* remove debug

* fix refactor error
2020-05-12 14:59:29 -05:00
J. Nick KostonandGitHub 3315c4c6c3 Pre-filter zeroconf service browser updates (#35518)
Each ServerBrowser currently runs in its own thread which
processes every A or AAAA record update per instance.

As the list of zeroconf names we watch for grows, each additional
ServiceBrowser would process all the A and AAAA updates on the network.

To avoid overwhemling the system we pre-filter here and only process
DNSPointers for the configured record name (type)
2020-05-11 18:30:15 -05:00
Paulus SchoutsenandGitHub 9d83059f14 Allow zeroconf instance sharing (#35484) 2020-05-10 22:51:23 -07:00
J. Nick KostonandGitHub 70b29dc823 Make interface_choice option effective (#35444)
I missed the second commit that actually makes this
work in the original merge.
2020-05-10 14:30:54 -05:00
J. Nick KostonandGitHub 3219c380c7 Provide zeroconf option to bind to only the default interface (#35281)
By default zeroconf binds to every interface.
2020-05-06 09:16:59 -05:00