Commit Graph

500 Commits (bcb93d95bbacded427cdd80904a1bbf6557e0f84)

Author SHA1 Message Date
HomeAssistant Azure a1472b174c [ci skip] Translation update 2021-03-30 00:03:46 +00:00
J. Nick Koston a7d0fc2f86
Bump HAP-python to 3.4.1 for homekit (#48444) 2021-03-28 11:57:39 -10:00
HomeAssistant Azure 6660fb7478 [ci skip] Translation update 2021-03-25 00:03:36 +00:00
HomeAssistant Azure 55b689b464 [ci skip] Translation update 2021-03-23 00:03:29 +00:00
J. Nick Koston 6b93c4073d
Ensure homekit yaml config works when there is an ignored config entry (#48175) 2021-03-21 21:17:04 -10:00
J. Nick Koston fd310e1f41
Update homekit to improve representation of activity based remotes (#47261) 2021-03-21 21:55:20 -07:00
HomeAssistant Azure 6fab4a2c82 [ci skip] Translation update 2021-03-22 00:08:34 +00:00
Ikko Ashimine 7473f25afd
Fix typo in homekit strings.json (#48176)
Co-authored-by: J. Nick Koston <nick@koston.org>
2021-03-21 12:39:33 +01:00
Franck Nijhof 87499989a0
Small code styling tweaks for HomeKit (#48163) 2021-03-20 17:08:49 -10:00
J. Nick Koston c820dd4cb5
Have pylint warn when user visible log messages do not start with capital letter or end with a period (#48064)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-03-19 09:26:36 -05:00
HomeAssistant Azure 4306c8fbb4 [ci skip] Translation update 2021-03-17 00:03:55 +00:00
HomeAssistant Azure c11b85af2f [ci skip] Translation update 2021-03-16 00:04:36 +00:00
J. Nick Koston 15aa00d6cc
Fix homekit checking for port cleanup too many times (#47836)
* Fix homekit checking for port cleanup too many times

The loop should have terminated as soon as the port was available

* coverage

* tweak homekit shutdown wait
2021-03-15 05:14:46 +01:00
Mick Vleeshouwer 9a98dcf432
Add HomeKit support for new CO / CO2 device class (#47737) 2021-03-12 09:03:47 -10:00
J. Nick Koston 40c28aa38a
Ensure homekit reset accessory service can target any entity (#47787) 2021-03-12 11:41:01 +01:00
J. Nick Koston f4b775b125
Cleanup homekit and remove aid storage from hass.data (#47488) 2021-03-11 22:05:03 -08:00
J. Nick Koston 6af754a7d3
Fix turning off scene in homekit (#47604) 2021-03-08 14:19:05 -08:00
J. Nick Koston 0d07dae3bc
Change default homekit ports to 21063 and 21064 (#47491)
We previously used a value in the linux default ephemerial port range
which meant that if something else happened to use that port HomeKit
would not start up.  We now use a value below 32768 to ensure that
the port is not randomly unavailable
2021-03-06 21:41:56 -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
Franck Nijhof 61be29117d
Deprecate HomeKit auto start (#47470) 2021-03-05 11:51:49 -08:00
Ville Skyttä dc880118a4
Lint suppression cleanups (#47248)
* Unused pylint suppression cleanups

* Remove outdated pylint bug references

* Add flake8-noqa config and note to run it every now and then

* Add codes to noqa's

* Unused noqa cleanups
2021-03-02 09:02:04 +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 853da40e70
Increment the homekit config version when restarting (#47209)
If an entity changes between restart the iOS/controller
device may have cached the old chars for the accessory.
To force the iOS/controller to reload the chars, we
increment the config version when Home Assistant restarts
2021-02-28 20:42:09 -08:00
HomeAssistant Azure 44ed6cda40 [ci skip] Translation update 2021-03-01 00:09:01 +00: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
HomeAssistant Azure 43621091b7 [ci skip] Translation update 2021-02-27 00:05:45 +00:00
HomeAssistant Azure 989d3e5c87 [ci skip] Translation update 2021-02-26 00:06:13 +00:00
HomeAssistant Azure bb7f1b748f [ci skip] Translation update 2021-02-25 00:05:20 +00:00
J. Nick Koston 87cbbcb014
Automatically create HomeKit accessory mode entries (#46473)
When we set up HomeKit, we asked users if they wanted
to create an entry in bridge or accessory mode.

This approach required the user to understand how HomeKit works and
choose which type to create.

When the user includes the media player or camera domains,
we exclude them from the bridge and create the additional entries
for each entity in accessory mode.
2021-02-23 16:22:23 -08:00
HomeAssistant Azure 9159f54900 [ci skip] Translation update 2021-02-24 00:04:14 +00:00
J. Nick Koston d9ab1482bc
Add support for preset modes in homekit fans (#45962) 2021-02-20 19:24:14 -08:00
HomeAssistant Azure 0cb1f61deb [ci skip] Translation update 2021-02-21 00:07:04 +00:00
J. Nick Koston b775a0d796
Run homekit service calls in async since the server is now async (#45859)
* Simplify homekit runs and service calls

Now that the homekit server is async, call_service
and run are running in the Home Assistant event loop

* remove comment

* remove another comment
2021-02-19 21:34:52 -10:00
J. Nick Koston 773a202777
Implement percentage step sizes in HomeKit (#46722) 2021-02-19 22:37:12 -08:00
HomeAssistant Azure fd60d4273b [ci skip] Translation update 2021-02-20 00:08:25 +00:00
Franck Nijhof 113059c1c7
Add selectors to HomeKit service definitions (#46745) 2021-02-18 17:32:48 +01:00
J. Nick Koston 20d93b4b29
Remove support for migrating pre-config entry homekit (#46616)
HomeKit pairings and accessory ids from versions 0.109 and earlier are no longer
migrated on upgrade. Users upgrading directly to 2021.3 from 0.109
and older should upgrade to 2021.2 first if they wish to preserve
HomeKit configuration and avoid re-pairing the bridge.

This change does not affect upgrades from 0.110 and later.
2021-02-16 08:37:43 +01:00
HomeAssistant Azure 1bb535aa67 [ci skip] Translation update 2021-02-16 00:03:57 +00:00
J. Nick Koston c5b9ad83c2
Log ffmpeg errors for homekit cameras (#46545) 2021-02-15 12:39:51 +01:00
tkdrob a5a45f29e2
Cleanup unused loggers (#46510) 2021-02-14 13:46:58 +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 bc8a52038b
Fix homekit migration not being awaited (#46460) 2021-02-12 08:45:19 -10:00
J. Nick Koston 6467eff09c
Fix incorrect current temperature for homekit water heaters (#46076) 2021-02-08 23:23:02 +01:00
HomeAssistant Azure 818501216e [ci skip] Translation update 2021-02-07 00:06:57 +00:00
HomeAssistant Azure ce159d7db3 [ci skip] Translation update 2021-02-06 00:07:22 +00:00
J. Nick Koston 374aa3aee1
Fix homekit options not being prefilled (#45926)
* Fix homekit options not being prefilled

When changing homekit options, the existing ones
were not being prefilled on the form.

* hide camera screen if no cameras
2021-02-05 02:39:07 +01:00
HomeAssistant Azure c6bd5b1b71 [ci skip] Translation update 2021-02-05 00:03:54 +00:00
Philip Allgaier 5a0715d388
Consistent spelling of IT abbreviations / protocol / format names (#45913) 2021-02-04 01:43:07 +01:00
Paulus Schoutsen 959ed6d077 Update translations 2021-02-03 11:46:49 +01:00
J. Nick Koston 463a32819c
Ensure homekit never picks a port that another config entry uses (#45433) 2021-02-02 14:30:38 +01:00
J. Nick Koston 385b7e17ef
Move homekit accessory creation to async (#45788) 2021-01-31 11:36:19 -10:00
J. Nick Koston 852af7e372
Update homekit for new async library changes (#45731) 2021-01-31 21:40:24 +01:00
J. Nick Koston dac9626112
Resolve homekit cover adjustment slowness (#45730) 2021-01-31 21:39:35 +01:00
J. Nick Koston 5f9a1d105c
Improve HomeKit Accessory Mode UX (#45402) 2021-01-29 09:57:13 -06:00
J. Nick Koston 3ff75eee53
Update homekit to use new fan entity model (#45549) 2021-01-28 12:38:18 +01:00
J. Nick Koston 38a5f25b59
Fix vacuums that do not support start with homekit (#45030)
* Fix vacuums that do not support start with homekit

* fix tests
2021-01-11 14:38:42 +01:00
J. Nick Koston af21893652
Remove safe mode from HomeKit (#45028)
Safe mode was added to work around a race condition where
the mdns announcment was sent too early and would cause
pairing to fail. Since this has been corrected in
HAP-python, there is no longer a need to have
safe mode.
2021-01-11 14:26:09 +01:00
J. Nick Koston f5b389faa8
Warn users when their HomeKit configuration may be unstable (#44999) 2021-01-10 09:38:41 -10:00
J. Nick Koston 4905be0c40
Move HomeKit autostart to advanced options flow (#44599) 2020-12-29 13:54:24 +01:00
Tomasz Pieczykolan d385a51653
Fix the docstring in type_fans.py (#44511) 2020-12-24 20:40:30 +01:00
J. Nick Koston 677fc6e2bb
Translate siri requests to turn on thermostats to valid targets (#44236)
Siri always requests auto mode even when the device does not
support auto which results in the thermostat failing to turn
on as success is assumed.  We now determine the heat cool
target mode based on the current temp, target temp, and
supported modes to ensure the thermostat will reach the
requested target temp.
2020-12-23 17:23:26 -10:00
HomeAssistant Azure 6b743c3d16 [ci skip] Translation update 2020-12-24 00:03:44 +00: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
HomeAssistant Azure 19ff83790e [ci skip] Translation update 2020-12-12 00:06:00 +00:00
HomeAssistant Azure 9c63fbfcb1 [ci skip] Translation update 2020-12-07 00:04:18 +00:00
HomeAssistant Azure 42f00cff30 [ci skip] Translation update 2020-12-04 00:05:42 +00:00
HomeAssistant Azure 301a3e5481 [ci skip] Translation update 2020-11-27 00:03:57 +00:00
Paulus Schoutsen 0cf3736162
Bump ha-ffmpeg to 3.0.2 (#43597) 2020-11-25 08:45:15 +01:00
HomeAssistant Azure c255e74463 [ci skip] Translation update 2020-11-20 00:06:26 +00:00
J. Nick Koston a3061ebd8d
Fix homekit bridges when no name was provided (#43364) 2020-11-19 12:10:23 +01:00
HomeAssistant Azure a1306059af [ci skip] Translation update 2020-11-19 00:11:12 +00:00
HomeAssistant Azure 262fadd9bc [ci skip] Translation update 2020-11-18 00:09:55 +00:00
HomeAssistant Azure 9a21421807 [ci skip] Translation update 2020-11-15 00:03:48 +00:00
Paulus Schoutsen 54f3d9078a Update translations 2020-11-11 12:10:09 +01:00
HomeAssistant Azure 4b9ba79584 [ci skip] Translation update 2020-11-11 00:10:27 +00:00
HomeAssistant Azure eebf0ef336 [ci skip] Translation update 2020-11-08 00:04:05 +00:00
HomeAssistant Azure 57c6bb96f4 [ci skip] Translation update 2020-11-07 00:04:02 +00:00
HomeAssistant Azure 9298fec345 [ci skip] Translation update 2020-11-05 00:10:11 +00:00
HomeAssistant Azure aab0ff2ea5 [ci skip] Translation update 2020-11-03 00:04:39 +00:00
HomeAssistant Azure ce16ff27ef [ci skip] Translation update 2020-11-02 00:03:44 +00:00
J. Nick Koston 951f166679
Remove homekit cover precision workarounds (#42647)
These workarounds inevitably ended up assuming the wrong thing
In issue #42444 they would assume it was still opening, and
in issue #41645 they would assume is was already closed.
2020-11-01 03:53:02 -10:00
Lindsay Ward 181811b7b8
Fix typo exceeded, change to exceed, in HomeKit (#42705) 2020-11-01 03:51:56 -10:00
springstan 92379ad8d2
Use list literal without using dict.keys() (#42573) 2020-10-30 09:19:13 -05:00
HomeAssistant Azure b9d04b9304 [ci skip] Translation update 2020-10-30 00:02:45 +00:00
HomeAssistant Azure 026e0063fe [ci skip] Translation update 2020-10-29 00:09:16 +00:00
J. Nick Koston 2858a90d5c
Start homekit bridges with asyncio.gather (#42498) 2020-10-27 19:58:07 -05:00
springstan caa378d7aa
Add mode to base strings for config flows (#42373) 2020-10-26 23:29:49 -05:00
HomeAssistant Azure f4cebfbb7e [ci skip] Translation update 2020-10-27 00:06:28 +00:00
HomeAssistant Azure c2a9f2ae52 [ci skip] Translation update 2020-10-26 00:03:36 +00:00
J. Nick Koston 4bf9ce6fca
Add support for homekit garage obstruction sensors (#42243) 2020-10-23 12:18:02 -05:00
HomeAssistant Azure b102ad731f [ci skip] Translation update 2020-10-22 00:09:52 +00:00
HomeAssistant Azure 00847db54f [ci skip] Translation update 2020-10-21 00:06:01 +00:00
HomeAssistant Azure 81296b2b70 [ci skip] Translation update 2020-10-20 00:08:00 +00:00
HomeAssistant Azure 1a03bbda5a [ci skip] Translation update 2020-10-18 00:03:28 +00:00
HomeAssistant Azure 39adf14079 [ci skip] Translation update 2020-10-17 00:06:00 +00:00
J. Nick Koston 9f5e3bfbd5
Update homekit camera resolutions for tvOS 14 (#41914) 2020-10-16 05:42:38 -05:00
HomeAssistant Azure 11b812b82e [ci skip] Translation update 2020-10-16 00:04:33 +00:00
J. Nick Koston 3ffa050905
Support HomeKit accessory mode (#41679)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-10-15 11:59:50 -05:00
J. Nick Koston c5ae801bcb
Allow HomeKit to be configured in include mode from the UI (#41662) 2020-10-15 15:33:01 +02:00
HomeAssistant Azure 1417a4161f [ci skip] Translation update 2020-10-13 00:03:24 +00:00
Philip Allgaier 625bbe6238
Cleanup unused loggers (components A-M) (#41600) 2020-10-12 16:59:05 +02:00
HomeAssistant Azure f787289ea0 [ci skip] Translation update 2020-10-12 00:03:31 +00:00
HomeAssistant Azure 80522f1bdc [ci skip] Translation update 2020-10-11 00:03:37 +00:00
HomeAssistant Azure 6ae12c3faf [ci skip] Translation update 2020-10-10 00:05:05 +00:00
HomeAssistant Azure 29aea5a66c [ci skip] Translation update 2020-10-09 00:04:33 +00:00
HomeAssistant Azure d73d36d0cd [ci skip] Translation update 2020-10-08 00:06:03 +00:00
Julius Mittenzwei a19b43a304
Add support for homekit windows (#40635)
Co-authored-by: J. Nick Koston <nick@koston.org>
2020-09-27 00:07:59 -05:00
springstan 6c8e0e20fb
Add and use light lux constant in entire code base (#40171) 2020-09-23 20:48:01 +02:00
Ville Skyttä 5e90a4d000
Use more state attribute name constants (#40428) 2020-09-21 23:03:39 +02:00
HomeAssistant Azure 0a0a8fc67d [ci skip] Translation update 2020-09-18 00:07:17 +00:00
Niccolo Zapponi 2b7e735e3d
Remove unsupported states from security systems in HomeKit (#40060) 2020-09-16 10:00:32 -05:00
J. Nick Koston 2ea604cc2a
Convert color temperature to hue and saturation for HomeKit (#40089)
The HomeKit spec does not permit the color temp characteristic
being exposed when color (hue, sat) is present.  Since
Home Assistant will still send color temp values, we need to
convert them to hue, sat values for HomeKit
2020-09-15 09:27:30 +02:00
J. Nick Koston 938e06c00e
Fix homekit error when the bridge has been ignored. (#40082) 2020-09-14 19:39:44 -05:00
J. Nick Koston bf1ad0a757
Prevent missing integration from failing HomeKit startup (#39918) 2020-09-10 23:19:11 +02: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
springstan d2b1918e9c
Drop UNIT_ prefix for percentage constant (#39383) 2020-09-05 21:09:14 +02:00
HomeAssistant Azure 65b227126d [ci skip] Translation update 2020-09-03 00:06:16 +00:00
Ville Skyttä 6ae9399237
Upgrade isort to 5.4.2 (#37939) 2020-08-29 08:23:55 +02:00
Ville Skyttä 1bf2c4d976
Upgrade pylint to 2.6.0 (#39363) 2020-08-29 07:59:24 +02:00
J. Nick Koston 414a59ae9f
Add the ability to reload homekit from yaml (#39326) 2020-08-28 16:46:45 +02:00
Franck Nijhof 1c2ebdf307
Upgrade black to 20.8b1 (#39287) 2020-08-27 13:56:20 +02:00
J. Nick Koston 6b7a7939d2
Include the first seen context data in the logbook api (#39194)
* Include the context_entity_id in the logbook api

context_entity_id is the first entity seen during
a time period that includes the context

* update test

* more of them

* include friendly name

* pylint wants a ternary

* Refactor

* performance

* fix homekit context

* Fix self describing events

* Fix external_events
2020-08-24 12:44:40 -05:00
J. Nick Koston 5cc7605d20
Ensure homekit pairing barcode is usable on dark themes (#38609) 2020-08-06 22:26:43 -05:00
Austin Drummond 937d993a67
Expose video doorbell button state to HomeKit (#38617) 2020-08-06 17:47:39 -05:00
HomeAssistant Azure e32a57ce48 [ci skip] Translation update 2020-08-06 00:02:06 +00:00
HomeAssistant Azure e76db60367 [ci skip] Translation update 2020-08-05 00:02:19 +00:00
Austin Drummond 9d0f58009e
Add support for HomeKit doorbell (#38419)
* Add support for HomeKit doorbell

* Update homeassistant/components/homekit/type_cameras.py

Co-authored-by: J. Nick Koston <nick@koston.org>

* Update homeassistant/components/homekit/type_cameras.py

Co-authored-by: J. Nick Koston <nick@koston.org>

* add speaker service for doorbells

* fixed test as doorbell char requires null value

* removed null value for doorbell presses. and removed broken override of default values

Co-authored-by: J. Nick Koston <nick@koston.org>
2020-07-31 09:41:36 -10:00
J. Nick Koston 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 d7624c5bff.

* 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
Nick Whyte 7599997a46
Enable Homekit remote support for devices without play/pause (#37180)
* Enable Homekit remote support for devices without play/pause

* linting

* Update tests

* code review

* code review
2020-07-24 18:20:29 -10:00
J. Nick Koston b030ed1adf
fix (#37889) 2020-07-18 07:25:07 -04:00
J. Nick Koston d4111617ca
Ensure HomeKit does not throw when a linked motion sensor is removed (#37773) 2020-07-14 22:38:55 +02:00
J. Nick Koston f5cbae0cd5
Avoid homekit crash when temperature is clamped above max value (#37746) 2020-07-14 22:21:10 +02:00
Bram Kragten 7d77fa92c2
Add mode info attributes to script and automation (#37815)
Co-authored-by: J. Nick Koston <nick@koston.org>
2020-07-14 10:47:59 -07:00
Harryjholmes 511da9557b
Change audio sample rate for apple watch homekit camera (#37637)
* Update type_cameras.py

* Apply suggestions from code review

Support both 24kHz and 16kHz sample rate

Co-authored-by: J. Nick Koston <nick@koston.org>

* Adjust formatting

* Reformat

Co-authored-by: J. Nick Koston <nick@koston.org>
2020-07-09 05:19:49 -10:00
J. Nick Koston 27ef8a1ced
Ensure homekit accessory reset only affect the bridges with the accessory (#37588) 2020-07-06 17:27:25 -07:00
J. Nick Koston 89599bc3cf
Ensure homekit tv names can be saved (#37571) 2020-07-06 14:28:55 -07:00
J. Nick Koston c989f6dc09
Suppress spurious homekit warning about media player sources when the device is off (#37567) 2020-07-06 14:28:26 -07:00
J. Nick Koston 711b8e10a3
Switch homekit to use async_track_state_change_event (#37253)
* Switch homekit to use async_track_state_change_event

Calling async_track_state_change_event directly
is faster than async_track_state_change and has
slightly lower latency triggering state updates
in homekit

* check for deleted entities

* Update additional tests for linked sensor removals

* Ensure removing entities does not result in an exception
2020-07-05 19:05:13 -07:00
Franck Nijhof 53545c984b
Log lines do not end with a full stop (#37527) 2020-07-05 23:04:19 +02: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
Shulyaka 4ec71c58bd
Add humidifier support to homekit (#37207)
* Add humidifier support to homekit

* spell

* dependencies

* lint

* add linked humidity sensor for humidifiers

* Apply suggestions from code review

Co-authored-by: J. Nick Koston <nick@koston.org>

* apply suggestions from code review

* pylint

* Fix tests

* Update homeassistant/components/homekit/type_humidifiers.py

Co-authored-by: J. Nick Koston <nick@koston.org>

* Update tests/components/homekit/test_homekit.py

Co-authored-by: J. Nick Koston <nick@koston.org>

* Apply suggestions from code review

Co-authored-by: J. Nick Koston <nick@koston.org>

* apply suggestions from code review

* lint

* pylint

* push

* test for unavailable linker sensor

* black

* valid values key case

* black

* Update homeassistant/components/homekit/type_humidifiers.py

Co-authored-by: J. Nick Koston <nick@koston.org>

* black

* coverage

* Set current humidity to 0 if linked sensor removed or unavailable

* use last known humidity instead

Co-authored-by: J. Nick Koston <nick@koston.org>
2020-07-02 12:53:11 -05:00
J. Nick Koston 0f72008090
Ensure homekit state changed listeners are unsubscribed on reload (#37200)
* Ensure homekit state changed listeners are unsubscribed on reload

* fix mocking
2020-06-29 11:25:26 -05:00
J. Nick Koston 7b4df98875
Silence spurious warning when HomeKit is already running (#37199)
If homekit.start is called when homekit is already running
we previous warned.  Downgrade the warning to a debug message
as nothing is actually wrong.
2020-06-29 13:37:56 +02:00
Paulus Schoutsen 5bc6ed4cef
Add logbook platforms (#37078)
* Add logbook platforms

* Fix logbook describe test
2020-06-24 18:14:50 -07:00
mdegat01 6c7355785a
Add support for glob matching to entity filters (#36913)
* Added GLOB capability to entityfilter and every place that uses it. All existing tests are passing

* added tests for components affected by glob change

* fixed flake8 error

* mocking the correct listener

* mocking correct bus method in azure test

* tests passing in 3.7 and 3.8

* fixed formatting issue from rebase/conflict

* Checking against glob patterns in more performant way

* perf improvments and reverted unnecessarily adjusted tests

* added new benchmark test around filters

* no longer using get with default in entityfilter

* changed filter name and removed logbook from filter benchmark

* simplified benchmark tests from feedback

* fixed apache tests and returned include exclude schemas to normal

* fixed azure event hub tests to properly go through component logic

* fixed azure test and clean up for other tests

* renaming test files to match standard

* merged mqtt statestream test changes with base

* removed dependency on recorder filter schema from history

* fixed recorder tests after merge and a bunch of lint errors
2020-06-23 20:02:29 -05:00
HomeAssistant Azure 492874c4a0 [ci skip] Translation update 2020-06-06 00:03:33 +00:00
HomeAssistant Azure 08e85696c1 [ci skip] Translation update 2020-06-04 00:04:15 +00:00
HomeAssistant Azure 763ab79e6c [ci skip] Translation update 2020-06-03 00:03:00 +00:00
J. Nick Koston 5f4fdaa171
Remove zeroconf options from homekit (#35687)
* Remove zeroconf options from homekit

homekit uses the system shared zeroconf instance which
made the interface choice option controlled by the
zeroconf integration setting.

* change to cv.deprecated

* adj

* fix remaining tests from original merge conflict

* remove invalidation_version
2020-06-02 17:47:39 -05:00
J. Nick Koston 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 879e2d1afd
Improve stability of homekit accessory ids (#35691) 2020-05-26 22:15:00 -07:00
J. Nick Koston 8cbee76929
Add support for homekit camera motion notification (#35994)
* Add support for homekit camera motion notification

A motion sensor can now be linked to the cameras.

* Increase coverage
2020-05-25 18:05:38 -05:00
J. Nick Koston 3dfeec5033
Implement async_get_stream_source in the camera integration (#35704) 2020-05-25 15:41:50 -07:00
J. Nick Koston 4313d4b26b
Ensure homekit bridge state is restored before creating devices (#36098)
* Ensure homekit bridge state is restored before creating devices

* Tests to ensure homekit device registry entry is stable

* remove stray continue
2020-05-25 11:17:30 -05:00
J. Nick Koston 80de233276
Ensure homekit functions if numpy is unavailable (#35931) 2020-05-23 02:52:33 +02:00
J. Nick Koston b57cabfce7
Homekit should skip devices that are missing in device registry (#35857)
* Homekit should skip devices that are missing in device registry

* Add test for this failure state
2020-05-21 10:30:18 +02:00
Nick Whyte a51372f7b3
Fire events on homekit TV remote key press (#29588)
* Fire events on homekit TV remote key press

* Changes from code review

* black

* isort

* flake8

* Update tests/components/homekit/test_type_media_players.py

Co-authored-by: J. Nick Koston <nick@koston.org>

Co-authored-by: J. Nick Koston <nick@koston.org>
2020-05-19 08:11:04 -05:00
J. Nick Koston 8eb7777561
Ensure homekit version strings conform to spec (#35741)
HomeKit requires all version strings to be in the
format MAJOR.MINOR.REVISION
2020-05-17 15:51:51 -05:00
HomeAssistant Azure e94f44f294 [ci skip] Translation update 2020-05-17 00:02:56 +00:00
HomeAssistant Azure f3bb370b3a [ci skip] Translation update 2020-05-16 00:03:50 +00:00
HomeAssistant Azure 9586e9ebef [ci skip] Translation update 2020-05-15 00:02:56 +00:00
Paulus Schoutsen 0efeefe3b2 Update translations 2020-05-13 11:27:21 -07: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 0a9b373edb
Show device details in homekit accessory service info (#35100)
* Show device info in homekit accessory service info

* fix conflict
2020-05-11 09:09:48 -05:00
J. Nick Koston 31ee54c133
Ensure homekit camera stream can be restarted after failure (#35384)
* Ensure camera stream can be restarted after failure

* If ffmpeg failed to start, was killed, or the iOS device
closed the stream right away, the stream could never
be started until the HomeKit bridge was restarted.

* watch ffmpeg instead of checking only once

* handle forceful shutdowns gracefully

* Increase coverage
2020-05-11 08:17:10 -05:00
J. Nick Koston 742e36ba26
Reduce context switching in homekit state updates (#35147) 2020-05-10 22:10:08 -07:00
J. Nick Koston 2e018ad841
Make homekit camera snapshots HAP spec compliant (#35299) 2020-05-10 22:09:05 -07:00
J. Nick Koston 497c01c651
Make homekit TV media players aware of STATE_STANDBY (#35282)
This was previously added to non-TV media players.
2020-05-10 17:35:54 -05:00
stickpin a38bb5b33b
Add Homekit cameras codecs (#35238)
* Homekit cameras - Add codecs support

* Add valid_codecs + move audio application parameter

* Increase video bufsize

* Increase audio bufsize

* Update config flow to be aware of the copy option

* Add tests for copy video and audio codec

* remove unused from test

* remove unused from test

Co-authored-by: J. Nick Koston <nick@koston.org>
2020-05-07 09:55:09 -05:00
Greg Thornton 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
HomeAssistant Azure 78f846d532 [ci skip] Translation update 2020-05-03 00:02:26 +00:00
J. Nick Koston 4de30ca2ce
Improve stability of homekit media players (#35080) 2020-05-02 14:15:44 -07:00
J. Nick Koston 842e09923a
Cleanup homekit strings spacing (#35056) 2020-05-01 22:34:43 -05:00
HomeAssistant Azure f4f2aff5b6 [ci skip] Translation update 2020-05-02 00:04:57 +00: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 Koston 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 Koston 799d98eaf0
Cleanup homekit callbacks and jobs (#34975) 2020-04-30 15:49:16 -07:00
Paulus Schoutsen ec47216388
Use built-in test helpers on 3.8 (#34901) 2020-04-30 13:29:50 -07:00
J. Nick Koston bf5cc22bef
Fix preservation of homekit fan speed on toggle (#34971) 2020-04-30 11:34:25 -07:00
J. Nick Koston e01ceb1a57
Fix handling homekit thermostat states (#34905) 2020-04-30 00:09:33 -07:00
J. Nick Koston fcd58b7c9b
Avoid error when battery appears after homekit has started (#34906) 2020-04-30 00:08:56 -07:00
J. Nick Koston 6ce0819287
Prevent homekit fans from going to 100% than speed when turning on (#34875) 2020-04-29 14:00:31 -07:00
J. Nick Koston 7ff196d043
Restore ability to overwrite homekit max temp bound (#34612) 2020-04-23 13:53:31 -07:00
J. Nick Koston a7e8446454
Remember homekit aids for entities without a unique id (#34587)
* Remember homekit aids for entities without a unique id

* add backwards compat

* increase cover
2020-04-23 12:07:55 -05:00
J. Nick Koston 6c3ea2a904
Fix zeroconf interface being ineffective in HomeKit (#34516) 2020-04-21 20:46:19 -07:00
J. Nick Koston 96649a7e27
Use registry to find linked batteries for homekit (#33519) 2020-04-21 17:43:49 -07:00
J. Nick Koston 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
J. Nick Koston f0d553514d
Add vacuum support to homekit (#34386) 2020-04-20 08:00:52 -07:00
Jc2k 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 Koston 4e095e9fff
Eliminate homekit media_player event storms on startup (#34399)
This is the final event storm reduction as a followup
to #34245
2020-04-19 08:34:32 -05:00
J. Nick Koston 591845ce23
Add missing services to Homekit services yaml (#34349)
* Add missing services to homekit services.yaml

* Add missing services to homekit services.yaml
2020-04-17 14:28:58 -05:00
J. Nick Koston b87b618c94
Resolve homekit not updating motion sensors (#34282)
Co-Authored-By: Paulus Schoutsen <paulus@home-assistant.io>
2020-04-16 16:15:37 -07:00
J. Nick Koston 5e3e4bda28
Prevent a single accessory setup failure from breaking all HomeKit accessories (#34263)
* Prevent a single accessory setup failure from breaking all HomeKit accessories

Raise the max devices to 150 as the spec allows for this
many.  Previously 100 made sense because of the event
storms when homekit started would sometimes break pairing,
as these have largely been fixed in 0.109 (still a few
to cleanup) using the HAP spec limit of 150 is now possible.

* Handle both failure states
2020-04-15 21:40:38 -05:00
J. Nick Koston e8710002b1
Convert homekit fans to use service callbacks (#34229)
* Convert homekit fans to use service callbacks

* Convert homekit fans to use service callbacks

Service callbacks allow us ensure that we call
fan services in the correct order.

* Avoid calling turn_on if a speed is sent and the device is on

* Fix test to not leave files behind

* Fix test

* Update homeassistant/components/homekit/type_fans.py

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

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-04-15 21:39:31 -05:00
J. Nick Koston d6a47cb3e0
Set homekit alarm/sensor/switch/cover state as soon as possible (#34245)
* Set homekit alarm/sensor/switch state as soon as possible

This change is part of a multi-part effort to fix the
HomeKit event storms on startup.

Previously we would set the states after HomeKit
had started up which meant that when the controller
client connected it would request the states and get
a list of default states so all the initial states
would always be wrong. The defaults states generally went
unnoticed because we set the state of each HomeKit device
soon after which would result in an event storm in the log
that looked like the following for every client and every
device:

Sending event to client: ('192.168.x.x', 58410)
Sending event to client: ('192.168.x.x', 53399)
Sending event to client: ('192.168.x.x', 53399)

To solve this, we now set the state right away when we
create the entity in HomeKit, so it is correct on
initial sync, which avoids the event storm.  Additionally,
we now check all states values before sending an update
to HomeKit to ensure we do not send events when nothing
has changed.

* pylint

* Fix event storm in covers as well

* fix refactoring error in security system

* cover positions, now with constants
2020-04-15 21:38:31 -05:00
J. Nick Koston 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
J. Nick Koston c75d3ce8c7
Add tilt support to basic homekit window covers (#33937)
* Add tilt support to basic homekit window covers

* Add stop support to all window covers

* protect supports_stop
2020-04-12 15:27:17 -07:00
J. Nick Koston ad5a396c10
Fix reversed door closing/opening states in HomeKit (#34095)
* Fix reversed door closing/opening states in HomeKit

When we closed the door we would set state 2 which
is "Opening" it should have been 3 which is
"Closing"

When we opened the door we would set state 3 which
is "Closing" it should have been 2 which is
"Opening"

Add constants to make this easier to catch
in the future.

* Remove debug

* Add note about target door state
2020-04-12 15:15:55 -07:00