55 Commits
Author SHA1 Message Date
Franck Nijhof a419c78524 Rename HomeKit to HomeKit Bridge (#91741) 2023-04-20 09:03:12 -04:00
J. Nick Koston b4fec762bc Switch to fnv-hash-fast from fnvhash (#90761)
* Switch to fnv-hash-fast from fnvhash

Replaces the pure python implemention with a fast cpp one
when available (with fallback to pure python)

changelog: https://github.com/bdraco/fnv-hash-fast/releases/tag/v0.3.1
source: https://github.com/bdraco/fnv-hash-fast/tree/main/src/fnv_hash_fast

* Apply suggestions from code review

* lint
2023-04-05 20:52:23 -04:00
Erik Montnemery 899adef590 Sort manifests 4 (#87025) 2023-02-08 20:27:05 +01:00
J. Nick Koston bd342ddc13 Bump HAP-python to 4.6.0 (#83729) 2022-12-10 17:25:36 -10:00
J. Nick Koston d327355afc Bump HAP-python to fix pairing with iOS 16 (#80301)
Using the ha- fork until upstream can pickup and merge
pending PRs. The plan is to revert back to upstream
HAP-python when its back in sync

Fixes #79305 Fixes #79304
2022-10-14 08:51:27 +02:00
J. Nick Koston 0063274f83 Bump HAP-python to 4.5.0 (#74127) 2022-06-28 15:24:20 +02:00
J. Nick Koston 4dc6aab17e Move camera to after deps for HomeKit (#67190) 2022-02-24 20:03:59 +01:00
J. Nick Koston 5b755b74fb Add loggers to integration manifest.json (#65083) 2022-01-28 13:37:53 -08:00
J. Nick Koston d3f980d402 Convert siri requests for target heating cooling state auto to a valid mode (#60220) 2022-01-12 15:06:09 -08:00
J. Nick Koston ddab7f3024 Bump HAP-python to 4.30 (#57284) 2021-10-07 20:06:27 -07:00
J. Nick Koston 459bc55e32 Bump HAP-python to 4.2.1 (#55804) 2021-09-11 18:58:19 -07:00
J. Nick Koston 99465f53c7 Bump HAP-python to 4.1.0 (#55005) 2021-08-23 21:00:26 +02:00
J. Nick Koston e99576c094 Pass width and height when requesting camera snapshot (#53835) 2021-08-10 19:33:06 -05:00
J. Nick Koston 65c6943784 Bump HAP-python to 4.0.0 (#53780) 2021-08-02 15:08:32 +02:00
J. Nick Koston 72bd3f7128 Bump HAP-python to 3.6.0 (#53754) 2021-07-30 12:44:28 -07:00
J. Nick Koston bfdbb93d2d Bump HAP-python to 3.5.2 (#53362) 2021-07-22 12:06:37 -10:00
J. Nick Koston 30d465e9dd Update homekit to use network integration (#52946) 2021-07-14 11:44:58 +02:00
J. Nick Koston cfe2017dd9 Bump HAP-python to 3.5.1 (#52508)
- Fixes additional cases of invalid mdns hostnames
2021-07-04 17:16:42 +03:00
J. Nick Koston 0e7c2cddf7 Upgrade HAP-python to 3.5.0 (#51261)
* Upgrade HAP-python to 3.4.2

- Fixes for malformed event sending

- Performance improvements

* Bump

* update tests to point to async
2021-05-31 20:47:12 +02:00
Franck Nijhof 990b7c371f Upgrade PyTurboJPEG to 1.5.0 (#50670) 2021-05-15 19:41:48 +02:00
Franck Nijhof 055cdc64c0 Add support for IoT class in manifest (#46935) 2021-04-15 10:21:38 +02:00
J. Nick Koston a7d0fc2f86 Bump HAP-python to 3.4.1 for homekit (#48444) 2021-03-28 11:57:39 -10:00
J. Nick Koston 2e89f152ba Bump HAP-python to 3.4.0 (#47476)
* Bump HAP-python to 3.3.3

* bump

* fix mocking
2021-03-07 01:30:57 +01:00
J. Nick Koston cb94e7949b Bump HAP-python to 3.3.2 to fix unavailable condition on restart (#47213)
Fixes

https://github.com/ikalchev/HAP-python/compare/v3.3.1...v3.3.2
2021-02-28 22:00:31 -10:00
J. Nick Koston 6ff3eb0569 Update HAP-python to 3.3.1 (#47180)
Fixes disconnect when setting a single char fails
https://github.com/ikalchev/HAP-python/compare/v3.3.0...v3.3.1
2021-02-28 19:27:36 +01:00
J. Nick Koston 2f40f44670 Update HAP-python to 3.3.0 for homekit (#46497)
Changes: https://github.com/ikalchev/HAP-python/compare/v3.2.0...v3.3.0
2021-02-13 20:30:55 +01:00
J. Nick Koston 852af7e372 Update homekit for new async library changes (#45731) 2021-01-31 21:40:24 +01:00
J. Nick Koston 350ffd3e85 Bump HAP-python to 3.1.0 (#44176)
Fixes many spec compliance issues, unavailable cases
following an unexpected exception, and a thread safety
race condition.
2020-12-13 14:00:53 -05:00
J. Nick Koston 047dc19351 Add zeroconf discovery to homekit (#39907)
Ensures HomeKit Bridge is offered for onboarding if
homekit is detected on the network.
2020-09-10 20:44:11 +02:00
J. Nick KostonandPaulus Schoutsen 3206f4dc83 Support multiple camera streams in HomeKit (#37968)
* Support multiple camera stream in HomeKit

* Update homeassistant/components/homekit/type_cameras.py

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>

* Revert "Update homeassistant/components/homekit/type_cameras.py"

This reverts commit d7624c5bffcd9d6cecd9e096ea7ae34b29c21e74.

* Update homeassistant/components/homekit/type_cameras.py

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>

* Update homeassistant/components/homekit/type_cameras.py

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>

* black

* bump pyhap

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-07-25 07:12:14 -10:00
J. Nick Koston debb928b30 Use the main event loop for homekit (#37441)
* use hass.loop for homekit

* update calls for upstream pr

* Bump HAP-python to 2.9.2
2020-07-05 12:27:07 -05:00
Paulus Schoutsen 5bc6ed4cef Add logbook platforms (#37078)
* Add logbook platforms

* Fix logbook describe test
2020-06-24 18:14:50 -07:00
J. Nick KostonandFranck Nijhof 1c663dc179 Mark homekit accessories unavailable if the underlying entity is unavailable (#35685)
* Mark homekit accessories unavailable if the underlying entity is unavailable.

* bump pyhap to 2.9.0

* bump hap

* Update homeassistant/components/homekit/accessories.py

Co-authored-by: Franck Nijhof <git@frenck.dev>

Co-authored-by: Franck Nijhof <git@frenck.dev>
2020-06-01 10:11:48 -05:00
J. Nick Koston 1bb01dccf5 Update HAP-python to 2.8.4 (#35541)
Fix race condition that causes pairing and unpairing failures. ikalchev/HAP-python#246
Fix loop on dropped connections that causes temporary stalls and connection loss. ikalchev/HAP-python#249
Fix exception on missing video fields. ikalchev/HAP-python#245
2020-05-12 10:03:12 -05:00
J. Nick Koston 751529feca Use system zeroconf singleton for homekit (#35502)
Zeroconf instances are expensive so we share a single instance
instead of running multiple.
2020-05-11 13:21:16 -05:00
J. Nick Koston 2e018ad841 Make homekit camera snapshots HAP spec compliant (#35299) 2020-05-10 22:09:05 -07:00
dd715fcc3a Add homekit camera support (#32527)
* Add homekit camera support

* Cleanup pyhapcamera inheritance

* Add camera to homekit manifest

* Use upstream pyhap server handler in homekit

* Remove unused homekit constants

* Fix lint errors in homekit camera

* Update homekit camera log messages

* Black after conflict fixes

* More conflict fixes

* missing srtp

* Allow streaming retry when ffmpeg fails to connect

* Fix inherit of camera config, force kill ffmpeg on failure

* Fix audio (Home Assistant only comes with OPUS)

* Fix audio (Home Assistant only comes with OPUS)

* Add camera to the list of supported domains.

* add a test for camera creation

* Add a basic test (still needs more as its only at 44% cover)

* let super handle reconfigure_stream

* Remove scaling as it does not appear to be needed and causes artifacts

* Some more basic tests

* make sure no exceptions when finding the source from the entity

* make sure the bridge forwards get_snapshot

* restore full coverage to accessories.py

* revert usage of super for start/stop stream

* one more test

* more mocking

* Remove -tune zerolatency, disable reconfigure_stream

* Restore -tune zerolatency

Co-authored-by: John Carr <john.carr@unrouted.co.uk>
Co-authored-by: J. Nick Koston <nick@koston.org>
2020-05-04 19:03:46 -05:00
J. Nick Koston e6be297fba Bump HAP-python to 2.8.3 (#35023)
* Fixes camera support
2020-05-01 11:03:20 -05:00
J. Nick KostonandPaulus Schoutsen 793592b2b8 Config flow for homekit (#34560)
* Config flow for homekit

Allows multiple homekit bridges to run

HAP-python state is now stored at .storage/homekit.{entry_id}.state
aids is now stored at .storage/homekit.{entry_id}.aids

Overcomes 150 device limit by supporting
multiple bridges.

Name and port are now automatically allocated
to avoid conflicts which was one of the main
reasons pairing failed.

YAML configuration remains available in order to offer entity
specific configuration.

Entries created by config flow can add and remove
included domains and entities without having to restart

* Fix services as there are multiple now

* migrate in executor

* drop title from strings

* Update homeassistant/components/homekit/strings.json

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>

* Make auto_start advanced mode only, add coverage

* put back title

* more references

* delete port since manual config is no longer needed

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-04-30 23:05:06 -05:00
J. Nick KostonandPaulus Schoutsen d06fce6997 Display Homekit QR code when pairing (#34449)
* Display a QR code for homekit pairing

This will reduce the failure rate with HomeKit
pairing because there is less chance of entry
error.

* Add coverage

* Test that the qr code is created

* I cannot spell

* Update homeassistant/components/homekit/__init__.py

Co-Authored-By: Paulus Schoutsen <paulus@home-assistant.io>

* Update homeassistant/components/homekit/__init__.py

Co-Authored-By: Paulus Schoutsen <paulus@home-assistant.io>

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-04-21 17:38:43 -05:00
Paulus Schoutsen 19be31d13a Migrate HomeKit to use describe_event for logbook support (#34485) 2020-04-20 17:48:09 -07:00
Jc2kandJ. Nick Koston a80ce60e75 Store HomeKit generated accessory id against unique_id where possible (#33109)
* HomeKit: Store generated aid against unique_id where possible

* Fix conflict

* Fix max accessories check

* homekit counts the bridge as an accessory

* Add coverage for aidmanager

* prepare for merge

Co-authored-by: J. Nick Koston <nick@koston.org>
2020-04-19 13:51:09 -05:00
J. Nick KostonandPaulus Schoutsen 5d649b2541 Convert homekit thermostats to use service callbacks (#34073)
* Convert homekit thermostats to use service callbacks

Service callbacks allow us to get all the temperature
changes in one request so we can avoid all the
need to store state and debounce.

* remove excess debug

* Fix lock and light tests

* Ensure all code for Thermostats has coverage

* I am answering all the homekit cases anyways so might as well be aware of regressions

* Make lock notifications reliable

* Update homeassistant/components/homekit/type_lights.py

Co-Authored-By: Paulus Schoutsen <paulus@home-assistant.io>

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-04-12 17:38:33 -05:00
Knapoc 496da8823d Fix turning off/on light groups in homekit (#33965) 2020-04-10 10:34:10 -07:00
J. Nick Koston cf563df42a Bump HAP-python to 2.8.1 (#33756) 2020-04-06 23:30:10 +02:00
Paulus Schoutsen f1d3c0d19b Remove unused manifest fields (#33595) 2020-04-03 12:58:19 -07:00
J. Nick Koston 36a606f81d Bump HAP-python to 2.8.0 (#33539) 2020-04-02 23:09:35 +02:00
Franck Nijhof 6be9a45333 Upgrade HAP-python to 2.7.0 (#31201) 2020-01-27 11:42:09 +01:00
Franck Nijhof 345cc244ed Correct names in manifests (C-L) (#30532) 2020-01-07 08:19:17 +01:00
Franck Nijhof a84741392b Format all manifests with prettier (#30521) 2020-01-06 21:28:23 +01:00