Commit Graph
116 Commits
Author SHA1 Message Date
J. Nick Koston e073f091b1 Cache ip address stringify in zeroconf (#92800)
stringify IPv6 addresses is expensive, and since zeroconf sees the same
ones over and over again an LRU can avoid the constant stringify
2023-05-14 12:07:38 -04:00
J. Nick Koston 0cc9b2e803 Use slots for discovery dataclasses (#90751) 2023-04-04 12:44:59 +02:00
J. Nick Koston 6dc55e4a3a Bump zeroconf to 0.54.0 (#90744)
* Bump zeroconf to 0.54.0

fixes incorrect addresses when the server name changes

changelog: https://github.com/python-zeroconf/python-zeroconf/compare/0.53.0...0.54.0

* fix
2023-04-04 00:02:07 -04:00
J. Nick Koston 17270979e6 Bump zeroconf to 0.52.0 (#90660)
* Bump zeroconf to 0.52.0

Switch to using the new ip_addresses_by_version which avoids
all the ip address conversions

* updates
2023-04-02 14:09:44 -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
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 19e6b6183759279490efbed3129dffd447dc4808.

* precalc

* refactor

* tweak

* update tests
2023-02-15 21:44:11 -05: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 4aba3fdad6 Code styling tweaks to the zeroconf integration (#86048) 2023-01-16 18:35:23 -10:00
Franck Nijhof 8819634b61 String formatting and max line length - Part 6 (#84525) 2022-12-24 13:19:51 +01: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
epenet 7871a517a8 Import constants from root (#78271) 2022-09-12 18:53:05 +02:00
J. Nick Koston c975146146 Reduce discovery integration matching overhead (#77194) 2022-08-23 10:35:20 -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
Franck Nijhof bfb47eb212 Final clean up of helpers accessed via hass (#72032)
* Final clean up of helpers accessed via hass

* Fix circular dep

* Fix import
2022-05-17 23:42:37 +03: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
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 da7c5f4722 Break long lines in discovery_info (#61431) 2021-12-10 12:48:47 +01:00
epenetandepenet 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
epenetandepenet 683eb10f0e Enable warnings for ZeroconfServiceInfo (#60759)
Co-authored-by: epenet <epenet@users.noreply.github.com>
2021-12-01 05:55:36 -10:00
epenetandepenet cbab0ba9c0 Drop base ATTR constants in zeroconf (#60561)
Co-authored-by: epenet <epenet@users.noreply.github.com>
2021-12-01 12:29:41 +01:00
epenetandepenet 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 fd116fc408 Refactor zeroconf matching to be more DRY (#60293) 2021-11-24 19:57:13 +01:00
epenetandepenet 44611d7e26 Use dataclass for ZeroconfServiceInfo (#60206)
Co-authored-by: epenet <epenet@users.noreply.github.com>
2021-11-23 22:59:36 +01:00
epenet d0ff8a9b76 Add id constant for homekit discovery (#59986) 2021-11-20 10:07:59 +00:00
Simone ChemelliandJ. Nick Koston 5fc51130ea Replace util.get_local_ip in favor of components.network.async_get_source_ip() - part 4 (#58669)
Co-authored-by: J. Nick Koston <nick@koston.org>
2021-11-15 09:18:57 -08:00
epenetandepenet ab1e14204f Rename zeroconf service info (#59467)
Co-authored-by: epenet <epenet@users.noreply.github.com>
2021-11-10 15:26:47 +01:00
J. Nick Koston b75476e844 Add support for matching the zeroconf model property (#58922) 2021-11-07 07:44:15 -08:00
epenetandepenet e983370c27 Use zeroconf attributes (A-D) (#58835)
Co-authored-by: epenet <epenet@users.noreply.github.com>
2021-11-02 12:27:06 -05:00
epenetandepenet 2ae86124c7 Add zeroconf ATTR constants (#58671)
Co-authored-by: epenet <epenet@users.noreply.github.com>
2021-10-31 16:13:26 +01:00
Marc Mueller 84618fa831 Use assignment expressions 30 (#58714) 2021-10-30 16:33:42 +02: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 b86e19143d Prevent event loop delay / instability from discovery (#57463) 2021-10-13 08:37:14 -07: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 1325b38256 Handle case where location_name is set to "" for zeroconf (#54880) 2021-08-20 14:33:23 -07:00
J. Nick Koston 6d0ce814e7 Add new network apis to reduce code duplication (#54832) 2021-08-18 12:33:26 -05:00
J. Nick Koston 5d19575a84 Exclude global scope IPv6 when setting up zeroconf interfaces (#54632) 2021-08-18 09:00:09 -07:00
Ville Skyttä 939fde0a50 ConfigType and async_setup/setup type hint improvements (#54739) 2021-08-18 13:22:05 +02: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 25229a9670 Allow zeroconf name change if there is another Home Assistant running on the local network (#53476)
* Allow zeroconf name change if there is another Home Assistant running on the local network

* Remove unused try/except
2021-07-26 09:27:49 +02:00
Simone Chemelli 75f7d3d696 Replace util.get_local_ip in favor of components.network.async_get_source_ip() - part 1 (#52980) 2021-07-22 08:12:33 -10:00
J. Nick Koston 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