Commit Graph

22577 Commits (755761867dec2962e338b7b8019526a3e5991f44)

Author SHA1 Message Date
Ian Duffy ef039d6a65
Fix Kodi play_media media type casing (#38665)
* [KODI] Fix casing issue

Alexa and the Services UI on HA feeds in a media type of "channel" for media type.
The Kodi code looks for a "CHANNEL" instead, as a result the functionality fails.

* Update homeassistant/components/kodi/media_player.py

Co-authored-by: Chris Talkington <chris@talkingtontech.com>

* Update homeassistant/components/kodi/media_player.py

Co-authored-by: Chris Talkington <chris@talkingtontech.com>

* Update homeassistant/components/kodi/media_player.py

Co-authored-by: Chris Talkington <chris@talkingtontech.com>

* Update homeassistant/components/kodi/media_player.py

Co-authored-by: Chris Talkington <chris@talkingtontech.com>

Co-authored-by: Chris Talkington <chris@talkingtontech.com>
2020-08-09 11:25:22 -05:00
Eugenio Panadero f526deaa87
Bump version of aiopvpc to v2.0.2 (#38691) 2020-08-09 11:23:49 -05:00
Maciej Bieniek a7e19c8896
Improve tests for AccuWeather integration (#38621)
* Add more tests

* Add tests for sensor platform

* Add more tests

* More tests

* Simplify parsing of attributes

* Change Quality scale to platinum

* Patch the library in the manual update entity test

* Add unsupported condition icon test

* Do not patch _async_get_data

* Apply suggestions from code review

* Update config_flow.py

* Apply suggestions from code review

* Apply suggestions from code review

* Apply suggestions from code review

* Update tests/components/accuweather/test_weather.py

* Apply suggestions from code review

* Add return_value

Co-authored-by: Chris Talkington <chris@talkingtontech.com>
2020-08-09 09:21:36 -05:00
Alan Tse ca3842b150
Address requested code changes in Tesla (#38680)
* Address requested code changes

* Address ternary operator in sensor
2020-08-09 09:16:39 -05:00
Paulus Schoutsen ac1f431f91
Bump updater timeout (#38690) 2020-08-09 14:10:27 +02:00
Franck Nijhof 20710d8605
Add current request context to get_url helper (#38602) 2020-08-09 14:07:31 +02:00
Justin Paupore 53b729a0d1
Support muting and relative-volume media_players in Google Assistant (#38651)
Support the action.devices.commands.mute intent to mute and unmute
media_players that declare support for mute/unmute.

For media players with support for volume up/down, but no support for
setting the volume to a specific number, allow use of the
action.devices.commands.relativeMute intent to control volume up/down.
This will improve support for IR blasters and other open-loop
media_player integrations.
2020-08-09 14:03:53 +02:00
J. Nick Koston a6f869aeee
Improve performance of fetching the state domain (#38653)
Pre calc domain when an entity id created to avoid
having to call the property method which had to call
split_entity_id every time. If there are a lot of
zone related automations, async_active_zone can call
async_entity_ids frequently which results in 100000s
of split_entity_id via the domain property every
second.
2020-08-09 13:45:16 +02:00
J. Nick Koston ef8e74786f
Support extracting entities by domain from templates (#38647) 2020-08-09 13:44:09 +02:00
J. Nick Koston d659502e35
Update aiohomekit to handle homekit devices that do not send format (#38679) 2020-08-09 13:29:46 +02:00
On Freund f0487b783d
Bump pyvolumio to 0.1.1 (#38685) 2020-08-09 00:02:21 -05:00
Aaron Bach 6856735a1d
Fix missing data for Guardian "AP enabled" binary sensor (#38681) 2020-08-08 21:00:55 -06:00
Thomas Hollstegge 5de21375c0
Make sure groups are initialized before template sensors (#37766)
* Make sure groups are initialized before template sensors

This way users may use the `expand` function in templates to expand
groups and have HA listen for changes to group members.

Fixes #35872

* Patch async_setup_platform instead of async_setup

* Cleanup

* Use an event to avoid sleep

* Update tests/components/template/test_sensor.py

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

Co-authored-by: J. Nick Koston <nick@koston.org>
2020-08-08 21:34:14 -05:00
Matthew Garrett 34e2a1825b
Add support for exposing light effects via Google Assistant (#38575)
* Don't set SUPPORT_EFFECT on DemoLight if there are no effects

This requires an update to the group test - previously the other lights
instantiated by the DemoLight component had nothing in ATTR_EFFECT_LIST, but
still had SUPPORT_EFFECT set. This appears to have resulted in the light
group test code setting an effect on the group and expecting it to apply to
all lights, but given that two of the bulbs didn't actually support any
effects (due to the empty ATTR_EFFECT_LIST) this seems like a broken
assumption and updating the test to verify only the bulb that supports
effects has had one applied seems reasonable.

* Add support for exposing light effects via Google Assistant

The LightEffects trait only supports a fixed (and small) list of lighting
effects, but we can expose them via the Modes trait - this requires saying
"Set (foo) effect to (bar)" which is a little clumsy, but at least makes it
possible.
2020-08-08 14:28:04 -07:00
J. Nick Koston e304792f3a
Ensure shared zeroconf is passed to homekit controller devices (#38678) 2020-08-08 15:37:05 -05:00
fabiocastagnino 02d572aae5
Add device classes for electrical measurement (#36800)
* added device classes for electrical measurement

(cherry picked from commit 2409fe19ed43bef568a0cca826652867d3a2d71a)

* upadte power factor unit (%)

* update power factor unit (%)
2020-08-08 21:04:18 +02:00
J. Nick Koston 74c23c3e96
Add support for reload_on_update to _abort_if_unique_id_configured (#38638)
* Add support for reload_on_update to _abort_if_unique_id_configured

async_update_entry now avoids firing update listeners and writing
the storage if there are no actual changes.

* Actually add the tests

* collapse branch

* Update homeassistant/config_entries.py

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

* handle entries that lack the ability to reload

* reduce

* adjust konnected tests

* update axis tests

* fix blocking

* more mocking

* config flow tests outside of test_config_flow

* reduce

* volumio

* Update homeassistant/config_entries.py

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

* set reload_on_update=False for integrations that implement self._abort_if_unique_id_configured(updates= and a reload listen

* get rid of copy

* revert test change

Co-authored-by: Franck Nijhof <git@frenck.dev>
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-08-08 13:23:56 -05:00
Joakim Sørensen 1cb161017e
Update frontend to 20200807.1 (#38626) 2020-08-08 20:00:56 +02:00
michaeldavie 9169d73c71
Bump env_canada to 0.2.0 (#37467) 2020-08-08 16:34:24 +02:00
Bas Nijholt 0427d87ba4
Bump codespell from v1.16.0 to v1.17.1 and fix new spelling errors (#38663) 2020-08-08 14:41:02 +02:00
starkillerOG da89fa7884
Fix xiaomi_aqara discovery (#38622) 2020-08-08 13:59:53 +02:00
Alejandro Rivera 937b951727
Fix rest_command UnboundLocalError in exception handling (#38656)
```
2020-08-07 22:38:10 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection.3903193064] local variable 'response' referenced before assignment
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/rest_command/__init__.py", line 115, in async_service_handler
    async with getattr(websession, method)(
  File "/usr/local/lib/python3.8/site-packages/aiohttp/client.py", line 1012, in __aenter__
    self._resp = await self._coro
  File "/usr/local/lib/python3.8/site-packages/aiohttp/client.py", line 582, in _request
    break
  File "/usr/local/lib/python3.8/site-packages/aiohttp/helpers.py", line 586, in __exit__
    raise asyncio.TimeoutError from None
asyncio.exceptions.TimeoutError

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/commands.py", line 125, in handle_call_service
    await hass.services.async_call(
  File "/usr/src/homeassistant/homeassistant/core.py", line 1281, in async_call
    task.result()
  File "/usr/src/homeassistant/homeassistant/core.py", line 1316, in _execute_service
    await handler.func(service_call)
  File "/usr/src/homeassistant/homeassistant/components/rest_command/__init__.py", line 137, in async_service_handler
    _LOGGER.warning("Timeout call %s", response.url, exc_info=1)
UnboundLocalError: local variable 'response' referenced before assignment
```
2020-08-08 10:56:39 +02:00
Chris Talkington f8570438e9
Fix AccuWeather async timeout (#38654) 2020-08-07 23:50:08 -05:00
Alan Tse c3e77487da
Bump teslajsonpy to 0.10.4 (#38652) 2020-08-07 22:58:31 -05:00
Alan Tse 94b6d09b51
Update Tesla to use DataUpdateCoordinator (#38306)
* Update Tesla to use DataUpdateCoordinator

* Update Tesla to use DataUpdateCoordinator

* Fix linting errors

* Apply suggestions from code review

Co-authored-by: Chris Talkington <chris@talkingtontech.com>

* Address requested changes

* Apply suggestions from code review

Co-authored-by: Chris Talkington <chris@talkingtontech.com>

* Fix lint errors

* Remove controller from hass.data

Co-authored-by: Chris Talkington <chris@talkingtontech.com>
2020-08-07 22:16:28 -05:00
Raman Gupta 0d5e279509
Standardize Vizio update service schema (#38636)
* update voluptuous schema to match standards and to handle data transformations

* improve test
2020-08-07 21:29:54 -05:00
Eugene Prystupa 50cd6be18d
Raise error when unsupported (old) Bond firmware is detected (#38650) 2020-08-07 21:22:13 -05:00
Aaron Bach 4cceb4ad0a
Bump regenmaschine to 2.1.0 (#38649) 2020-08-07 18:01:55 -06:00
Vaarlion 353817337e
Automatically switch mpd between resume and start playing on media_play (#37854)
* Automatically switch between resume and start playing

* Fix Black issue

Weirdly when i run it i had an error `1544 files left unchanged, 3313 files failed to reformat.`
I didn't watch the commit check output afterward.
2020-08-07 22:28:49 +02:00
James Hilliard 3e9f2b8246
Remove unused async_setup_platform from HLK-SW16 switch (#38648) 2020-08-07 15:18:31 -05:00
Ole-Martin Heggen 2d70df9776
Fix url in seventeentrack delivered notification (#38646) 2020-08-07 14:14:42 -06:00
Franck Nijhof fa956e3153
Bump version to 0.115.0dev0 (#38606) 2020-08-07 11:41:26 +02:00
Paulus Schoutsen 93e1f6176a Fix lint 2020-08-07 08:40:50 +00:00
cgtobi 6930aebea2
Switch Netatmo integration to dispatcher for internal communication (#38590)
* Switch to dispatcher for internal communication

* Fix method call

* Update homeassistant/components/netatmo/camera.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Update homeassistant/components/netatmo/camera.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Update homeassistant/components/netatmo/climate.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Update homeassistant/components/netatmo/climate.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Rename variables

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-08-07 09:25:59 +02:00
Jason Hunter 3546a82cfb
Upgrade to TensorFlow 2 (#38384)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
Co-authored-by: Franck Nijhof <git@frenck.dev>
2020-08-07 08:56:28 +02:00
J. Nick Koston 7e34c2582f
Ensure doorbird does not block startup (#38619) 2020-08-07 08:40:28 +02:00
Pascal Vizeli fa41a7c6e7
Bump OpenCV 4.3.0 and Numpy 1.19.1 (#38616) 2020-08-07 08:37:10 +02:00
Pascal Vizeli 72a6251042
V2 timeout for async_add_entities (#38601)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
Co-authored-by: J. Nick Koston <nick@koston.org>
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2020-08-07 08:36:38 +02:00
Paulus Schoutsen 881b6a831d
Handle unavailable input_select in Google Assistant (#38611) 2020-08-07 08:17:00 +02:00
Paulus Schoutsen 6d0d5548e5
Do not report google states if nothing to report (#38608) 2020-08-07 08:16:46 +02:00
J. Nick Koston 5cc7605d20
Ensure homekit pairing barcode is usable on dark themes (#38609) 2020-08-06 22:26:43 -05:00
Raman Gupta 297dd9bbc2
Add vizio service to update a device setting (#36739)
* track all settings and add service to update a setting

* sort setting types

* reduce frequency of updates due to the increase in API calls per update

* change dict call to a get in case audio settings aren't available

unlikely to occur but less error prone

* Update if statement to be more consistent

* revert changes to track all settings and store in state machine

* revert one more change

* force setting_type and setting_name to lowercase to make it easier to understand how to make service call

* make service calls even simpler by attempting to transform certain parameters as much as possible
2020-08-06 22:43:03 -04:00
Austin Drummond 937d993a67
Expose video doorbell button state to HomeKit (#38617) 2020-08-06 17:47:39 -05:00
Aidan Timson 8fe11fec04
Improve the OVO Energy integration (#38598)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-08-06 20:43:42 +02:00
Ziv ae40f87a5c
Add events to Dynalite platform (#38583)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-08-06 20:40:54 +02:00
Pascal Vizeli fd52ff531d
Remove wrong update per core design on ZHA (#38599) 2020-08-06 13:02:32 -04:00
Kendell R 0cdd47b014
Change http to auto for cast media image url (#38242)
* Change http to auto

* Update media_player.py

* Update test_media_player.py

* Update test_media_player.py

* Update test_media_player.py

* Update test_media_player.py

* Update test_media_player.py

* Update test_media_player.py

* Update test_media_player.py

* Update test_media_player.py

* Update test_media_player.py

* Format
2020-08-06 17:21:45 +02:00
DelusionalAI 988d3e9373
Add node firmware to ozw device registry (#38330) 2020-08-06 16:50:51 +02:00
Joakim Plate 39e6bca682
Support Next/Previous for InputSelector (#38378)
* Support Next/Previous for InputSelector

* Update homeassistant/components/google_assistant/trait.py

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

* Adjust to match new version of _next_selected

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-08-06 15:58:26 +02:00
starkillerOG aaad986002
Improve Xioami Aqara zeroconf discovery handling (#37469)
Co-authored-by: Franck Nijhof <git@frenck.dev>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-08-06 12:54:18 +02:00
Paulus Schoutsen 95835326f3
Do not print warning when command line switch queries off (#38591) 2020-08-06 12:36:59 +02:00
Markus Bong e3e9ad1342
Add devolo blinds devices (#36597)
* add support for devolo blinds

* correct internal sync function

* correct naming

* fix R1719 in line 73:15

* remove 'break point' print

* simplified _sync check

* change comment

* change log msg
2020-08-06 12:14:39 +02:00
Dave Clarke 20e85e1191
Add support for Philips Hue Smart Button (#38555)
* Add support for Philips Hue Smart Button

* Fix linting with trailing commas

* Update to correct deconz and hue model names/IDs
2020-08-06 11:40:50 +02:00
Quentame 21f4d694bb
Remove Linky integration (#38565) 2020-08-06 11:18:05 +02:00
Erik Montnemery 4ed1f8023b
Suppress MQTT discovery updates without changes (#38568) 2020-08-06 10:43:47 +02:00
Pascal Vizeli 896bdbff8f
Revert "Add a timeout for async_add_entities (#38474)" (#38584)
This reverts commit 7590af3930.
2020-08-06 09:32:42 +02:00
Martin Hjelmare 9d9426f24c
Fix missing rfxtrx strings (#38570)
* Fix missing rfxtrx strings

* Clean
2020-08-06 08:32:53 +02:00
Jeff Irion 970c0e7594
Bump androidtv to 0.0.48 and pure-python-adb to 0.3.0.dev0 (#38578) 2020-08-06 06:02:28 +02:00
HomeAssistant Azure e32a57ce48 [ci skip] Translation update 2020-08-06 00:02:06 +00:00
Markus Bong 6c5bcbfc3e
Add devolo light devices (#37366) 2020-08-05 18:16:21 +02:00
J. Nick Koston 7590af3930
Add a timeout for async_add_entities (#38474) 2020-08-05 18:06:21 +02:00
Bram Kragten d66ddeb69e
Allow to set default dark theme and persist frontend default themes (#38548)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2020-08-05 17:42:23 +02:00
J. Nick Koston d0d0403664
Add zeroconf/homekit/ssdp discovery support for custom components (#38466)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-08-05 15:50:56 +02:00
Joakim Sørensen 1ebc420c75
Bump frontend to 20200805.0 (#38557) 2020-08-05 14:59:33 +02:00
Pascal Vizeli c291d4aa7d
Intelligent timeout handler for setup/bootstrap (#38329)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
Co-authored-by: J. Nick Koston <nick@koston.org>
2020-08-05 14:58:19 +02:00
Aidan Timson caca762088
OVO Energy Integration (#36104)
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2020-08-05 14:38:29 +02:00
Steffen Zimmermann b50f3103fe
Bump python-wiffi to 1.0.1 (#38556)
fix missing exception asyncio.IncompleteReadError
2020-08-05 13:41:56 +02:00
Maciej Bieniek 8258dcf41d
Add device_info property and simplify generation of unique_id for Airly integration (#38479) 2020-08-05 12:55:14 +02:00
Maciej Bieniek 56f8ced267
Add device_info property for AccuWeather integration (#38480) 2020-08-05 12:50:34 +02:00
Maciej Bieniek d47900473e
Add device_info to GIOS integration (#38503) 2020-08-05 12:47:33 +02:00
J. Nick Koston a91f5b7192
Prevent ping integration from blocking startup (#38504) 2020-08-05 12:43:35 +02:00
Kevin Fronczak 3fdec7946c
Blink auth flow improvement and mini camera support (#38027) 2020-08-05 12:21:14 +02:00
chewbh 3fc5f9deb8
Add Xiaomi Aqara wireless and light switches (2020 model) (#37985) 2020-08-05 12:15:19 +02:00
Peter Nijssen c0c30bb1cc
Update pyrainbird to 0.4.2 (#38542) 2020-08-05 11:42:34 +02:00
Pedro Lamas e422274085
Use IP Address (host) provided by mDNS on Elgato Key Light (#38539) 2020-08-05 11:26:17 +02:00
A C++ MaNong 5b234b80e8
Keep webostv source list when TV is off (#38250)
* keep source list when TV is off

* remove source_list reset as the method ends here
2020-08-05 11:01:12 +02:00
J. Nick Koston 7b728b17f7
Add missing timeout to command_line platforms: cover, notify, switch (#38497)
* Add missing timeout to command_line platforms: cover, notify, switch

* add timeout test for notify
2020-08-04 17:00:02 -10:00
J. Nick Koston dddcb8e299
Add a 60s timeout to shell_command to prevent processes from building up (#38491)
If a process never ended, there was not timeout and they would
build up in the background until Home Assistant crashed.
2020-08-04 16:59:19 -10:00
Steven Looman c33f309d5f
Fix upnp error on unload_entry if device does not exist (#38230) 2020-08-05 02:24:42 +02:00
HomeAssistant Azure e76db60367 [ci skip] Translation update 2020-08-05 00:02:19 +00:00
Chris Talkington d89bfe79f9
Allow device class to control icons for tesla (#37526) 2020-08-05 02:00:05 +02:00
Janis Jansons 17c9e31e2c
Fix Mikrotik encoding by setting utf8 (#38091) 2020-08-05 01:39:55 +02:00
tizzen33 2d7b9326ee
Add new Water Meter Sensor for Toon (#37879)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2020-08-05 01:02:19 +02:00
Daniel Hjelseth Høyer e53d770b3d
Update pymetno lib, and start using met api v2 (#38547) 2020-08-05 00:31:12 +02:00
Franck Nijhof 1e32d0e2b9
Upgrade toonapi to v0.2.0 (#38543) 2020-08-04 23:42:53 +02:00
Peter Nijssen ab512a1273
Add spider config flow (#36001) 2020-08-04 22:37:20 +02:00
lawtancool 96c6e4c2f4
Fix Control4 token refresh (#38302) 2020-08-04 21:35:28 +02:00
J. Nick Koston e208d8b93e
Move system log processing out of the event loop (#38445) 2020-08-04 21:21:45 +02:00
cgtobi 31dbdff3c4
Add Netatmo data handler (#35571)
* Fix webhook registration

* Only load camera platform with valid scope

* Add initial data handler and netatmo base class

* Update camera to use data handler

* Update init

* Parallelize API calls

* Remove cruft

* Minor tweaks

* Refactor data handler

* Update climate to use data handler

* Fix pylint error

* Fix climate update not getting fresh data

* Update climate data

* update to pyatmo 4.0.0

* Refactor for pyatmo 4.0.0

* Exclude from coverage until tests are written

* Fix typo

* Reduce parallel calls

* Add heating request attr

* Async get_entities

* Undo parallel updates

* Fix camera issue

* Introduce individual scan interval per device class

* Some cleanup

* Add basic webhook support for climate to improve responsiveness

* Replace ClimateDevice by ClimateEntity

* Add support for turning camera on/off

* Update camera state upon webhook events

* Guard data class registration with lock

* Capture errors

* Add light platform

* Add dis-/connect handling

* Fix set schedule service

* Remove extra calls

* Add service to set person(s) home/away

* Add service descriptions

* Improve service descriptions

* Use LightEntity instead of Light

* Add guard if no data is retrieved

* Make services entity based

* Only raise platform not ready if there is a NOC

* Register webhook even during runtime

* Fix turning off event

* Fix linter error

* Fix linter error

* Exclude light platform from coverage

* Change log level

* Refactor public weather sensor to use data handler

* Prevent too short coordinates

* Ignore modules without _id

* Code cleanup

* Fix test

* Exit early if no home data is retrieved

* Prevent discovery if already active

* Add services to (un-)register webhook

* Fix tests

* Not actually a coroutine

* Move methods to base class

* Address pylint comment

* Address pylint complaints

* Address comments

* Address more comments

* Add docstring

* Use single instance allowed

* Extract method

* Remove cruft

* Write state directly

* Fix test

* Add file to coverage

* Move nested function

* Move nested function

* Update docstring

* Clean up code

* Fix webhook bug

* Clean up listeners

* Use deque

* Clean up prints

* Update homeassistant/components/netatmo/sensor.py

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

* Update homeassistant/components/netatmo/sensor.py

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

* Update homeassistant/components/netatmo/sensor.py

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

* Update homeassistant/components/netatmo/sensor.py

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

* Update homeassistant/components/netatmo/sensor.py

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

* Update homeassistant/components/netatmo/sensor.py

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

* Update homeassistant/components/netatmo/camera.py

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

* Update homeassistant/components/netatmo/camera.py

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

* Update homeassistant/components/netatmo/camera.py

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

* Update homeassistant/components/netatmo/camera.py

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

* Update homeassistant/components/netatmo/camera.py

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

* Update homeassistant/components/netatmo/camera.py

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

* Rename data_class variable

* Break when match

* Extract method

* Extract methods

* Rename variable

* Improve comment

* Some refinements

* Extra

* Extract method

* Simplify code

* Improve reability

* Code simplification

* Simplify code

* Simplify code

* Code cleanup

* Fix import

* Clean up

* Clean up magic strings

* Replace data_class_name with CAMERA_DATA_CLASS_NAME

* Replace data_class_name with CAMERA_DATA_CLASS_NAME

* Replace data_class_name with HOMEDATA_DATA_CLASS_NAME

* Replace data_class_name in public weather sensor

* Clean up

* Remove deprecated config options

* Schedule immediate update on camera reconnect

* Use UUID to clearly identify public weather areas

* Use subscription mode

* Move clean up of temporary data classes

* Delay data class removal

* Fix linter complaints

* Adjust test

* Only setup lights if webhook are registered

* Prevent crash with old config entries

* Don't cache home ids

* Remove stale code

* Fix coordinates if entered mixed up by the user

* Move nested function

* Add test case for swapped coordinates

* Only wait for discovery entries

* Only use what I need

* Bring stuff closer to where it's used

* Auto clean up setup data classes

* Code cleanup

* Remove unneccessary lock

* Update homeassistant/components/netatmo/sensor.py

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

* Update tests/components/netatmo/test_config_flow.py

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

* Clean up dead code

* Fix formating

* Extend coverage

* Extend coverage

Co-authored-by: J. Nick Koston <nick@koston.org>
2020-08-04 20:46:46 +02:00
Patrick 0780650015
Make ozw CCT use device attributes instead of hard coded values (#38054) 2020-08-04 20:15:21 +02:00
Daniel Correa Lobato 86fc977ff5
Update notify.py (#38526)
Clickatell can returns 202 when a message is accepted for delivery. So, success can be indicated by 200 or 202 code (https://archive.clickatell.com/developers/api-docs/http-status-codes-rest/)
2020-08-04 16:51:15 +02:00
Phil Bruckner df8e179207
Fix sensor.time intermittent startup exception (#38525) 2020-08-04 16:39:36 +02:00
Stefan Agner c2f5831181
Support dual stack IP support (IPv4 and IPv6) (#38046)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-08-04 15:34:23 +02:00
pbalogh77 fe07d79744
Fix Fibaro component failure to load with HC3 (#38528)
Fixed a rarely occuring problem (maybe a change with Fibaro HC3) where some scenes don't have a "visible" parameter, which was assumed to be mandatory in the past.
2020-08-04 14:55:03 +02:00
Daniel Perna 0c030cb8cf
Update pyhomematic to 0.1.68 (#38530) 2020-08-04 14:42:25 +02:00
Davide Varricchio 45e451271e
Bump pyaehw4a1 to 0.3.9 (#38347)
* Bump pyaehw4a1 to 0.3.9

* Add myself to xiaomi miio codeowners (#38350)

* add myself to xiaomi miio codeowners

* Update CODEOWNERS

* Update manifest.json

* Upgrade youtube_dl to version 2020.07.28 (#38328)

* Temporary lock pip to 20.1.1 to avoid build issue (#38358)

* Add wheels job for building core wheels (#38359)

* Bump androidtv to 0.0.47 and adb-shell to 0.2.1 (#38344)

* Add jobs names to Wheels builds (#38363)

* Update aioharmony to 0.2.6 (#38360)

* Update run-in-env.sh (#36577)

* Bump aioambient to 1.2.0 (#38364)

* Bump simplisafe-python to 9.2.2 (#38365)

* Ignore remote Plex clients during plex.tv lookup (#38327)

* Avoid error with ignored harmony config entries (#38367)

* Bump ElkM1 library version. (#38368)

To reduce required version of dependent library.
No code changed.

* Add basic websocket api for OZW (#38265)

* Prevent nut config flow error when checking ignored entries (#38372)

* Revert "Prevent nut config flow error when checking ignored entries (#38372)"

This reverts commit 9e0530df1d.

* Revert "Add basic websocket api for OZW (#38265)"

This reverts commit 3ca93baa55.

* Revert "Bump ElkM1 library version. (#38368)"

This reverts commit 143f55ad12.

* Revert "Avoid error with ignored harmony config entries (#38367)"

This reverts commit 90a10baf38.

* Revert "Ignore remote Plex clients during plex.tv lookup (#38327)"

This reverts commit 67cdeafe21.

* Revert "Bump simplisafe-python to 9.2.2 (#38365)"

This reverts commit 01d68e01c6.

* Revert "Bump aioambient to 1.2.0 (#38364)"

This reverts commit bec6904eb9.

* Revert "Update run-in-env.sh (#36577)"

This reverts commit 53acc1b41e.

* Revert "Update aioharmony to 0.2.6 (#38360)"

This reverts commit a991d6f131.

* Revert "Add jobs names to Wheels builds (#38363)"

This reverts commit 58dcc059c7.

* Revert "Bump androidtv to 0.0.47 and adb-shell to 0.2.1 (#38344)"

This reverts commit 14b4722b69.

* Revert "Add wheels job for building core wheels (#38359)"

This reverts commit cb9e76adb7.

* Revert "Temporary lock pip to 20.1.1 to avoid build issue (#38358)"

This reverts commit b2207ed776.

* Revert "Upgrade youtube_dl to version 2020.07.28 (#38328)"

This reverts commit 144e827ce9.

* Revert "Add myself to xiaomi miio codeowners (#38350)"

This reverts commit 88538254ec.

Co-authored-by: starkillerOG <starkiller.og@gmail.com>
Co-authored-by: Josef Schlehofer <pepe.schlehofer@gmail.com>
Co-authored-by: Franck Nijhof <git@frenck.dev>
Co-authored-by: Jeff Irion <JeffLIrion@users.noreply.github.com>
Co-authored-by: ehendrix23 <hendrix_erik@hotmail.com>
Co-authored-by: Aaron Bach <bachya1208@gmail.com>
Co-authored-by: jjlawren <jjlawren@users.noreply.github.com>
Co-authored-by: J. Nick Koston <nick@koston.org>
Co-authored-by: Glenn Waters <gwwaters@gmail.com>
Co-authored-by: Charles Garwood <cgarwood@gmail.com>
2020-08-04 12:22:58 +02:00
Jean-Yves Avenard 988cbf12ce
Cache emulated hue states attributes between get and put calls to avoid unexpected alexa errors (#38451)
* Wait for the state of the entity to actually change before resolving PUT request

Additionally, we cache the entity's properties for up to two seconds for the successive GET state request

When Alexa issues a command to a Hue hub; it immediately queries the hub for the entity's state to confirm if the command was successful.
It expects the state to be effective immediately after the PUT request has been completed.
There may be a delay for the new state to actually be active, this is particularly obvious when using group lights.
This leads Alexa to report that the light had an error.

So we wait for the state of the entity to actually change before responding to the PUT request.

Due to rounding issue when converting the HA range (0..255) to Hue range (1..254) we now cache the state sets by Alexa and return those cached values for up to two seconds so that Alexa gets the same value as it originally set.

Fixes #38446

* Add new tests verifying emulated_hue behaviour.

* Increase code test coverage.

The remaining uncovered lines can't be tested as they mostly check that the hass framework or the http server properly work.

This commit doesn't attempt to fix exposed issues as it would be out of scope ; it merely create the tests to exercise the whole code.

* Update homeassistant/components/emulated_hue/hue_api.py

* Add test for state change wait timeout

* Preserve the cache long enough for groups to change

* Update tests/components/emulated_hue/test_hue_api.py

Co-authored-by: J. Nick Koston <nick@koston.org>
2020-08-03 15:30:16 -10:00
J. Nick Koston 62c664fbbd
Reduce time to reload yaml and check configuration (#38469)
* Reduce time to reload yaml and check configuration

We spend a significant amount of time compiling templates
that we have already compiled.

Use an LRU cache to avoid re-compiling templates that
we frequently use.

* pylint

* switch to WeakValueDictionary

* preen
2020-08-04 03:00:44 +02:00
Aaron Bach d498246fb6
Bump aioambient to 1.2.1 (#38519) 2020-08-03 12:30:46 -06:00
Aaron Bach 6fd39f57ee
Remove YAML configuration support for IQVIA (#38141) 2020-08-03 19:35:36 +02:00
Aaron Bach 53e162c922
Remove deprecated Slack attachments framework (#38139) 2020-08-03 19:33:49 +02:00
Cooper Dale 0b0e323632
Fix missing .name at entity_id in service example (#38515)
for propper filename
2020-08-03 18:22:52 +02:00
Eugene Prystupa 809c2980df
Log the version reported by Bond hub upon startup to facilitate troub… (#38508) 2020-08-03 17:55:04 +02:00
Erik Montnemery 86e38a8467
Add missing MQTT strings (#38513) 2020-08-03 17:54:09 +02:00
Bram Kragten a187183bd1
Update frontend to 20200803.0 (#38514) 2020-08-03 17:52:58 +02:00
Shane Qi 85497c6b75
Fix Lutron Caseta devices loading when missing serials (#38255)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-08-03 16:50:47 +02:00
J. Nick Koston 2f1d989df2
Bump hass-nabucasa to avoid the performance penalty loading ecdsa (#38056) 2020-08-03 12:55:30 +02:00
J. Nick Koston 8f2abc2ee1
Fix harmony activity starting initial state (#38439) 2020-08-03 12:55:15 +02:00
jjlawren e940811a8b
Clean up Plex clip handling (#38500) 2020-08-03 12:41:24 +02:00
jjlawren 67312e2d42
Fix lookup by Plex media key when playing on Sonos (#38119) 2020-08-03 12:40:48 +02:00
James Hilliard 064cc52ad6
Add config flow to HLK-SW16 (#37190)
* Add config flow to HLK-SW16

* Use entry_id for unique_id

* Add options update capability

* Refactor entry_id under domain

* Remove name from config

* Set options

* Remove options flow

* remove unneccesary else block from validate_input and move domain cleanup to async_unload_entry

* Add tests and config import

* Add back config schema

* Remove config import

* Refactor unload

* Add back config import

* Update coveragerc

* Don't mock validate_input

* Test duplicate configs

* Add import test

* Use patch for timeout test

* Use mock for testing timeout

* Use MockSW16Client for tests

* Check mock_calls count

* Remove unused NameExists exception

* Remove title from strings.json

* Mock setup for import test

* Set PARALLEL_UPDATES for switch

* Move hass.data.setdefault(DOMAIN, {}) to async_setup_entry
2020-08-02 17:52:53 -10:00
Matthew Garrett 76b46b9175
Provide a unique entity ID for lgsoundbar (#38494)
The device gives us a UUID, so let's just use that to construct a unique
ID.
2020-08-02 16:51:01 -10:00
Eugene Prystupa 542c6cce25
Ensure bond unique ids are unique across hubs (#38496) 2020-08-02 16:50:03 -10:00
HomeAssistant Azure ce71775722 [ci skip] Translation update 2020-08-03 00:02:55 +00:00
clssn 428c376fe4
Update numato-gpio to 0.8.0 (#38415)
* Bump the numato-gpio dependency

This relaxes the pyserial dependency to >=3.1.1 as requested by the
project with respect to the upcoming, stricter pip resolver.

* Update numato-gpio due to deprecation of class BinarySensorDevice
2020-08-02 16:35:21 -05:00
Villhellm c403c77cff
Catch AssertionError when onkyo zone 3 detection fails (#38374)
This error would cause the entire integration to fail. This at least catches it gracefully.
2020-08-02 14:06:16 -05:00
J. Nick Koston 03a0114e10
Avoid shutdown delays when emulated_hue is enabled (#38472)
We would have to wait for the select to timeout for
emulated_hue upnp thread to shutdown

We now close the socket so the select unblocks
right away
2020-08-02 08:32:07 -10:00
Matthias Weiss 34b911203c
Add homematic IPWKeyBlindMulti device (#38345) 2020-08-02 17:55:17 +02:00
Robert Van Gorkom c913d17913
Add bed sensor availability for withings (#37906) 2020-08-02 09:36:14 -05:00
Maciej Bieniek a57dca1e11
Add sensor platform for AccuWeather integration (#38312)
* Add sensor platform

* Fix typo
2020-08-02 09:22:51 -05:00
RogerSelwyn 2c887dfe12
Update pyskyqhu to 0.1.1 (#38461)
* Fix module pinning in pyskyhub

* Bump pyskyqhub to 0.1.1
2020-08-02 09:13:17 -05:00
Jeff Irion 071b8ed8a5
Fix Android TV ADB authorization (#38471) 2020-08-02 09:08:12 -05:00
Phil Bruckner 9e12e3f96c
Allow automation to be turned off without stopping actions (#38436) 2020-08-01 21:31:47 -05:00
HomeAssistant Azure 1c7cc63f4c [ci skip] Translation update 2020-08-02 00:02:48 +00:00
Michaël Arnauts f09a9abc1c
Add optional unique_id attribute to the template platforms (#38011)
* Add unique_id to template platforms

* Update test_binary_sensor.py

* Update test_binary_sensor.py
2020-08-01 12:45:55 -10:00
Oncleben31 6b85e23408
Refactor Météo-France to use API instead of web scraping (#37737)
* Add new python library

* Update requirements

* Remove old libs

* config flow with client.search_places

* WIP: UI config + weather OK

* WIP: sensors

* WIP: add pressure to weather + available to sensor

* WIP: coordinator next_rain + alert

* Make import step working

* migrate to meteofrance-api v0.0.3

* Create coordinator for rain only if data available in API

* Fix avoid creation of rain sensor when not available.

* Add options flow for forecast mode

* Fix import config causing bug with UI

* Add alert sensor

* Add coastal alerts when available (#5)

* Use meteofrance-api feature branch on Github

* Update unit of next_rain sensor

* Test different type of attibutes

* Typo for attribute

* Next rain sensor device class as timestamp

* Better design for rain entity attributes

* use master branch for meteofrance-api

* time displayed in the HA server timezone.

* fix bug when next_rain_date_locale is None

* Add precipitation and cloud cover sensors

* Add variable to avoid repeating computing

* Apply suggestions from code review

Co-authored-by: Quentame <polletquentin74@me.com>

* Attributes names in const.

* Cleaning

* Cleaning: use current_forecast and today_forecast

* Write state to HA after fetch

* Refactor, Log messages and bug fix. (#6)

* Add messages in log

* Refactor using 'current_forecast'.

* Use % string format with _LOGGER

* Remove inconsistent path

* Secure timestamp value and get current day forecast

* new unique_id

* Change Log message to debug

* Log messages improvement

* Don't try to create weather alert sensor if not in covered zone.

* convert wind speed in km/h

* Better list of city in config_flow

* Manage initial CONF_MODE as None

* Review correction

* Review coorections

* unique id correction

* Migrate from previous config

* Make config name detailed

* Fix weather alert sensor unload (#7)

* Unload weather alert platform

* Revert "Unload weather alert platform"

This reverts commit 95259fdee84f30a5be915eb1fbb2e19fcddc97e4.

* second try in async_unload_entry

* Make it work

* isort modification

* remove weather alert logic in sensor.py

* Refactor to avoid too long code lines

Co-authored-by: Quentin POLLET <polletquentin74@me.com>

* Update config tests to Meteo-France (#18)

* Update meteo_france exception name

* Update MeteoFranceClient name used in tests

* Update 'test_user'

* Make test_user works

* Add test test_user_list

* Make test_import works

* Quick & Dirty fix on exception managment. WIP

* allow to catch MeteoFranceClient() exceptions

* remove test_abort_if_already_setup_district

* bump meteofrance-api version

* We do not need to test Exception in flow yet

* Remove unused data

* Change client1 fixture name

* Change client2 fixture name

* Finish cities step

* Test import with multiple choice

* refactor places

* Add option flow test

Co-authored-by: Quentin POLLET <polletquentin74@me.com>

* Fix errors due to missing data in the API (#22)

* fix case where probability_forecast it not in API
* Workaround for probabilty_forecast data null value
* Fix weather alert sensor added when shouldn't
* Add a partlycloudy and cloudy value options in condition map
* Enable snow chance entity

* fix from review

* remove summary

* Other fix from PR review

* WIP: error if no results in city search

* Add test for config_flow when no result in search

* Lint fix

* generate en.json

* Update homeassistant/components/meteo_france/__init__.py

* Update homeassistant/components/meteo_france/__init__.py

* Update homeassistant/components/meteo_france/__init__.py

* Update homeassistant/components/meteo_france/sensor.py

* Update homeassistant/components/meteo_france/__init__.py

* Update homeassistant/components/meteo_france/__init__.py

* string: city input --> city field

Co-authored-by: Quentin POLLET <polletquentin74@me.com>
2020-08-01 22:56:00 +02:00
Chris 607ba08e23
Add node neighbors to ozw websocket api (#38447)
* Add node neighbors to websocket api

* Update homeassistant/components/ozw/websocket_api.py

Co-authored-by: Charles Garwood <cgarwood@newdealmultimedia.com>

* Update tests/components/ozw/test_websocket_api.py

Co-authored-by: Charles Garwood <cgarwood@newdealmultimedia.com>

Co-authored-by: Charles Garwood <cgarwood@newdealmultimedia.com>
2020-08-01 15:50:04 -04:00
Eugene Prystupa 11994d207a
Add zeroconf discovery for bond integration (#38448)
* Add zeroconf discovery for bond integration

* Add zeroconf discovery for bond integration (fix typo)

* Add zeroconf discovery for bond integration (PR feedback)

* Add zeroconf discovery for bond integration (PR feedback)

* Add zeroconf discovery for bond integration (PR feedback)
2020-08-01 11:18:40 -05:00
Phil Bruckner c3a820c4a3
Fix queued script not updating current attribute when queuing (#38432) 2020-08-01 15:51:48 +02:00
J. Nick Koston fe69a85386
Improve logging when a unique id conflict is detected (#38434)
* fix error when unique id is re-used

* add test for the logging

* Update homeassistant/helpers/entity_platform.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Update homeassistant/helpers/entity_platform.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-08-01 11:20:37 +02:00
Rob Bierbooms ff1709979f
Add unique ids for "buienradar" platforms weather and camera (#37761)
* Add unique ids for buienradar weather and camera

* Remove prefix from unique ids
2020-08-01 09:13:17 +02:00
Marcio Granzotto Rodrigues 416ee7f143
Add support to climate devices in Google Assistant Fan Trait (#38337)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-08-01 04:05:00 +02:00
Eugene Prystupa 2e340d2c2f
Update bond-api to 0.1.8 (#38442)
* Bump bond API dependency version

* Bump bond API dependency version (PR feedback)
2020-07-31 19:36:02 -05:00
HomeAssistant Azure 04e5fc7ccd [ci skip] Translation update 2020-08-01 00:03:18 +00:00
Aidan Timson a9c34b1d2b
Update aioazuredevops to v1.3.5 (#38441) 2020-07-31 18:43:14 -05:00
Franck Nijhof 1c9a36b731
Fix double encoding issue in google_translate TTS (#38429) 2020-07-31 22:06:17 +02:00
Franck Nijhof f4c0dc99c2
Pin yarl dependency to 1.4.2 as core dependency (#38428) 2020-07-31 22:06:02 +02:00
J. Nick Koston 476235a259
Restore the ability to tell when a harmony activity is starting (#38335)
* Restore the ability to tell when a harmony activity is starting

* adjust for poweroff

* switch to activity name for activity starting

* adjust

* do not set starting on initial update
2020-07-31 09:55:38 -10: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
Andrew Sayre bb69aba051
Remove unused SmartThings capability subscriptions (#38128) 2020-07-31 17:40:23 +02:00
Charles Garwood 49cbc9735c
Add identifiers to device registry api output (#38427) 2020-07-31 15:47:01 +02:00
Eugene Prystupa c795c68bc0
Support 'stop' action for covers in device automation (#38219) 2020-07-31 14:45:03 +02:00
cgtobi d02c432e4d
Fix rmvtransport breaking when destinations don't match (#38401) 2020-07-31 14:38:49 +02:00
Eugene Prystupa 89cbcdb9dc
Abort bond hub config flow if hub is already registered (#38416)
Co-authored-by: Chris Talkington <chris@talkingtontech.com>
2020-07-31 14:08:25 +02:00
Stefan Lehmann 0136c565eb
Fix ads integration after 0.113 (#38402) 2020-07-31 13:59:32 +02:00
J. Nick Koston 79055487ed
Simplify generate_entity_id (#38418)
* Simplify generate_entity_id

Use similar optimized logic for async_generate_entity_id
from entity_registry that was already optimized

* pylint

* make generate_entity_id a wrapper around async_generate_entity_id instead
2020-07-31 08:50:42 +02:00
J. Nick Koston 57883ec10a
Fix variable error during stream close (#38417) 2020-07-30 16:58:17 -10:00
HomeAssistant Azure 4bd9509fa7 [ci skip] Translation update 2020-07-31 00:02:40 +00:00
Xiaonan Shen 695585b68c
Add battery sensor to xiaomi_aqara (#38004) 2020-07-30 18:38:35 -05:00
Eric Severance 06ddb2c95e
Bump pywemo to 0.4.45 (#38414) 2020-07-30 18:19:43 -05:00