Compare commits

...

4376 Commits

Author SHA1 Message Date
Franck Nijhof
e5f08ee657 Merge pull request #36756 from home-assistant/rc 2020-06-13 15:01:30 +02:00
Bram Kragten
12c649ba27 Bumped version to 0.111.2 2020-06-13 12:49:19 +02:00
Bram Kragten
5eb7f5fcf3 Update frontend to 20200603.3 (#36751) 2020-06-13 12:48:19 +02:00
J. Nick Koston
48b6f41048 Fix history timezone with postgres and other dbs (#36746) 2020-06-13 12:48:18 +02:00
Robert Svensson
16d045aa9f Make Axis non-privileged users work again (#36731) 2020-06-13 12:48:18 +02:00
Franck Nijhof
66ad69bff3 Fix logbook filtering for described events (#36727) 2020-06-13 12:46:57 +02:00
Fredrik Erlandsson
599288dae2 Fix Daikin discovery (#36704) 2020-06-13 12:37:44 +02:00
Alexei Chetroi
2594f11b34 Fix ZHA Metering channel formatting method (#36697)
Since zigpy change to support bitmap classes, formatting string was incorrectly generated for the newly joined devices with SmartEnergy metering clusters.
2020-06-13 12:37:44 +02:00
jjlawren
ad7edb4abe Fix missing options in Plex config entry (#36683) 2020-06-13 12:37:43 +02:00
Paulus Schoutsen
9e73853d65 Guard OwnTracks writing state before hass available (#36680) 2020-06-13 12:37:42 +02:00
zewelor
504cb26329 Fix nightlight support detection (#36656) 2020-06-13 12:37:41 +02:00
Paulus Schoutsen
394966e979 Merge pull request #36673 from home-assistant/rc 2020-06-11 12:01:47 -07:00
Franck Nijhof
aac7cf129d Fix packages when config schema is fully deprecated (#36674)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2020-06-11 11:00:06 -07:00
Paulus Schoutsen
e2c9af42e8 Bumped version to 0.111.1 2020-06-11 10:15:52 -07:00
J. Nick Koston
c9c8e8160f Remove powerwall attributes no longer present in latest firmware (#36667) 2020-06-11 10:15:35 -07:00
J. Nick Koston
c5972690ac Update pymyq for latest api requirements (#36666) 2020-06-11 10:15:34 -07:00
starkillerOG
c2a261370e Xiaomi Miio gateway: add ip to zeroconf discovery title (#36653)
* add ip to discovery title of xiaomi miio gateway

* add flow title to identify multiple gateways by IP

* clearify gateway token

* black formatting

* grammer improvements

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

* grammer improvements

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

Co-authored-by: Franck Nijhof <git@frenck.dev>
2020-06-11 10:15:33 -07:00
Fredrik Erlandsson
4c139076ef Fix Daikin config flow for zeroconf devices (#36571) 2020-06-11 10:15:32 -07:00
Xiaonan Shen
4bccb6e72b Fix command line sensors removing quotes with template (#35559)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-06-11 10:15:31 -07:00
Paulus Schoutsen
f05288b597 Update translations 2020-06-11 10:15:19 -07:00
Franck Nijhof
818b45384d Merge pull request #36626 from home-assistant/rc 2020-06-10 16:07:38 +02:00
Franck Nijhof
1bbd05dee7 Bumped version to 0.111.0 2020-06-10 14:58:56 +02:00
Martin Hjelmare
d6f7a984b2 Bump coronavirus to 1.1.1 (#36614) 2020-06-10 14:01:48 +02:00
Paulus Schoutsen
01756011ff Bump hass-nabucasa to 0.34.6 (#36613) 2020-06-10 14:01:44 +02:00
Bram Kragten
d7ad974244 Escape <> in owntracks translations (#36612) 2020-06-10 14:01:39 +02:00
Paulus Schoutsen
a69938afa2 Bumped version to 0.111.0b5 2020-06-09 12:39:29 -07:00
Paulus Schoutsen
94c3d9bac0 Fix default for loading games file ps4 (#36592) 2020-06-09 12:39:08 -07:00
Bas Nijholt
fb7af0384f bump aiokef to 0.2.10 (#36574)
0.2.9 generated a lot of calls on the event loop.
2020-06-09 12:39:07 -07:00
Donnie
5a9a95abe4 Fix nanoleaf incorrect effect update (#36517) 2020-06-09 12:39:06 -07:00
Paulus Schoutsen
e1ad108b6d Merge remote-tracking branch 'origin/master' into rc 2020-06-09 12:38:49 -07:00
Paulus Schoutsen
a76620b76f Merge pull request #36607 from home-assistant/110.7 2020-06-09 12:10:20 -07:00
Paulus Schoutsen
13fd80affa Bumped version to 0.110.7 2020-06-09 11:07:32 -07:00
Franck Nijhof
d576749530 Fix mobile_app missing state in sensor registration (#36604) 2020-06-09 11:07:27 -07:00
Paulus Schoutsen
111a00aeeb Bumped version to 0.111.0b4 2020-06-08 12:28:53 -07:00
Franck Nijhof
b3d5717df8 Fix mobile_app sensor re-registration handling (#36567) 2020-06-08 12:27:12 -07:00
Paulus Schoutsen
a84378bb79 Mobile app fixes (#36559) 2020-06-08 12:27:11 -07:00
shbatm
53ba45cc8f Add Z-Wave Notification Sensor support to ISY994 (#36548) 2020-06-08 12:27:10 -07:00
Jörg Thalheim
5d77eb1839 Fix intent component initialisation (#36064)
The intent component expect this method from every module that is called intent.
Fixes #35522
2020-06-08 12:27:09 -07:00
Paulus Schoutsen
517159dc4e Merge remote-tracking branch 'origin/master' into rc 2020-06-08 11:17:27 -07:00
Paulus Schoutsen
a9287b7117 Merge pull request #36579 from home-assistant/110.6 2020-06-08 11:15:35 -07:00
Paulus Schoutsen
0b7bcc87df Bumped version to 0.110.6 2020-06-08 10:14:45 -07:00
Franck Nijhof
482661f82c Fix mobile_app registering/update sensor values with an unknown state (#36566) 2020-06-08 10:14:40 -07:00
Paulus Schoutsen
865d65c380 Bumped version to 0.111.0b3 2020-06-07 17:24:48 -07:00
Franck Nijhof
609d202c4d Fix WLED power and brightness with WLED 0.10+ (#36529) 2020-06-07 17:24:43 -07:00
matgad
e43a0087e4 Bump version zigpy-cc (#36506) 2020-06-07 17:24:43 -07:00
Paulus Schoutsen
b9bc147339 Update netdisco (#36499) 2020-06-07 17:24:42 -07:00
Bram Kragten
dd3b0df22d Update frontend to 20200603.2 (#36494) 2020-06-07 17:24:41 -07:00
Erik Montnemery
c987ca735e Bump pychromecast to 6.0.0 (#36414)
* Revert "Prevent race in pychromecast.start_discovery (#36350)"

This reverts commit 391983a0cf.

* Adapt to pychromecast 6.0.0
2020-06-07 17:24:40 -07:00
Paulus Schoutsen
4b1761ccb5 Use builtin mock (#36473) 2020-06-05 15:12:50 -07:00
Paulus Schoutsen
76b5017df1 Merge remote-tracking branch 'origin/master' into rc 2020-06-05 14:34:55 -07:00
Paulus Schoutsen
401b0dce68 Bumped version to 0.111.0b2 2020-06-05 14:34:22 -07:00
Franck Nijhof
7520aa5b25 Fix iOS app crashing on None values in Zeroconf service info (#36490) 2020-06-05 14:34:12 -07:00
Alexei Chetroi
85ee0a1a3a Process events from ZHA Window Covering Remote (#36489) 2020-06-05 14:34:11 -07:00
jrester
a1b2dcc5a8 Update tesla-powerwall to 0.2.10 (#36486)
modified:   homeassistant/components/powerwall/manifest.json
	modified:   requirements_all.txt
	modified:   requirements_test_all.txt
2020-06-05 14:34:10 -07:00
J. Nick Koston
d1c083eed9 Upgrade pysonos to 0.0.31 (#36483) 2020-06-05 14:34:10 -07:00
Lindsay Ward
33ec314091 Fix yeelight_sunflower hs_color using RGB values (#36470) 2020-06-05 14:34:09 -07:00
J. Nick Koston
1646113b69 Update myq for latest api changes (#36469) 2020-06-05 14:34:08 -07:00
Paulus Schoutsen
1831b3bfb7 Bump hass-nabucasa to 0.34.5 (#36461) 2020-06-05 14:34:07 -07:00
shbatm
e053f75a08 Fix error on empty UOM for ISY994 Climate Device (#36454) 2020-06-05 14:34:07 -07:00
J. Nick Koston
ca511cb06c Upgrade zeroconf to 0.27.1 (#36277) 2020-06-05 14:34:06 -07:00
Paulus Schoutsen
cdf4588fb0 Merge pull request #36492 from home-assistant/0.110.5 2020-06-05 14:08:03 -07:00
J. Nick Koston
2cf987bfc2 Update myq for latest api changes (#36469) 2020-06-05 13:07:36 -07:00
Paulus Schoutsen
3cdcd5d223 Bumped version to 0.110.5 2020-06-05 12:44:11 -07:00
Franck Nijhof
882359d784 Fix iOS app crashing on None values in Zeroconf service info (#36490) 2020-06-05 12:44:08 -07:00
Paulus Schoutsen
0a779ac64c Add partial mobile app sensor validation (#36433) 2020-06-05 12:43:18 -07:00
Paulus Schoutsen
0840092b29 Bumped version to 0.111.0b1 2020-06-04 10:02:49 -07:00
Paulus Schoutsen
36207e56b9 Fix invalid device info for Daikin devices (#36448) 2020-06-04 10:02:42 -07:00
J. Nick Koston
1b5a601417 Ensure verbose logging flag is respected. (#36444) 2020-06-04 10:02:41 -07:00
Paulus Schoutsen
c7da4d77ce Add partial mobile app sensor validation (#36433) 2020-06-04 10:02:40 -07:00
Robert Svensson
84bd2067e4 Fix deCONZ groups don't report ctmax/min (#36432)
* Groups don't report ctmax/min
2020-06-04 10:02:39 -07:00
Chris Talkington
4cd04e3f99 Update sonarr to 0.2.2 (#36429) 2020-06-04 10:02:39 -07:00
Chris Talkington
3aa4bb5469 Add roku exception handling for service calls (#36328) 2020-06-04 10:02:38 -07:00
Paulus Schoutsen
2c49311ee4 Guard blowing up converting 0 mired/kelvin (#35486) 2020-06-04 10:02:37 -07:00
Franck Nijhof
ccdf5d13bd Bumped version to 0.111.0b0 2020-06-03 21:21:42 +02:00
Bas Nijholt
dcb04acc65 Set automation last_triggered earlier (#35671)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-06-03 20:08:37 +02:00
matlimatli
eba5b50e58 Add support for showing text on Keba EV chargers (#36056)
* Add support for showing text on Keba EV chargers

* Changed implementation to use the notify interface

* Removed stale references to set_text

* Clean up

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-06-03 19:28:02 +02:00
Bram Kragten
d155a67687 Update frontend to 20200603.1 (#36409) 2020-06-03 09:55:41 -07:00
nicx
9871efd52f Add CalDAV upcoming appointments period option (#34584)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-06-03 09:54:51 -07:00
Andre Lengwenus
2b5bb8dac0 Cover group considers opening and closing states (#36203) 2020-06-03 18:44:04 +02:00
Frederik Gladhorn
1510d5625a Update NAD states only when the device is on (#34809)
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-06-03 09:43:44 -07:00
Austin Mroczek
98a056f7a9 Notify user if arming or disarming totalconnect alarm fails (#36085) 2020-06-03 18:38:31 +02:00
Frederik Gladhorn
1186c2c48c Pass config into NAD constructor (#34961)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-06-03 09:36:59 -07:00
jjlawren
9aac8482d5 Remove deprecated Plex YAML config (#36388) 2020-06-03 09:20:21 -07:00
Emilv2
3b606504a8 Add new is_reatime attribute for De Lijn (#36369) 2020-06-03 09:52:20 -06:00
Jason Hunter
eb95c5cd2e update renew logic to work better with cameras responding with invalid termination times by extending the duration (#36393) 2020-06-03 09:51:57 -06:00
uvjustin
660265fe50 Swap title and album name for streams in forked_daapd (#36381) 2020-06-03 09:51:15 -06:00
Maciej Bieniek
b8f8b6fa50 Fix using the async api from sync context (#36408) 2020-06-03 09:46:42 -06:00
Franck Nijhof
0950ab0dd8 Fix dynamically add/remove WLED strip segments (#36407) 2020-06-03 17:18:50 +02:00
celestinjr
355d655542 Enable handling of 'num_repeats' for itach (#36362) 2020-06-03 09:13:53 -05:00
Bram Kragten
35b95f77e9 Update frontend to 20200603.0 (#36405) 2020-06-03 15:20:01 +02:00
Maciej Bieniek
465b98513b Add config flow to Dune HD (#36345)
* Add config_flow to the dunehd integration

* Add tests

* Run gen_requirements_all

* Fix pylint error

* Better hostname validation

* Build device info in the class
2020-06-03 07:01:56 -05:00
Scotte Zinn
95563e04e8 Allow synology_dsm configuration to specify a host name (#36305)
* Allow configuration to specify a host name.

This will default to "synology", so the sensors would be named
sensor.synology_... which is the original implementation.

By specifying a name, which is required for multiple synology hosts,
you can then have sensor.hostA_... and sensor.hostB_...

* Get the base name for the sensors from the Synology DSM hostname

* Don't need the name for the config

* Added missing import

* Fixed another typo

* Removed definition of unused BASE_NAME

* Removed end of line to revert

* Moved for ordering
2020-06-03 13:01:13 +02:00
Robert Van Gorkom
fcef259021 Prefer use cloud url for oauth2 for Withings (#36348) 2020-06-03 12:40:46 +02:00
Fabian Peter Hammerle
8ccdaf2927 Add huawei_lte sensor for number of unread sms (#35665) 2020-06-03 11:59:06 +02:00
Anton Tolchanov
d14112748c Add a Prometheus metric for HVAC action (#31945) 2020-06-03 11:53:21 +02:00
Tom Harris
37832d5e81 Bump pyinsteon to 1.0.3 (#36398) 2020-06-03 11:52:56 +02:00
Eduard van Valkenburg
5e2b87866e Update azure_event_hub (#31448) 2020-06-03 10:32:14 +02:00
Robert Svensson
a8e7bf6cf7 Axis - bump dependency (#36402) 2020-06-03 10:23:31 +02:00
Jason Hunter
94d8e77f8c Add non-root dev container user (#34984)
* add non-root container user

* fix dockerfile and homeassistant editable install

* just install in home directory

* less impactful default changes

* separate RUN for better layer caching

* use vscode-remote base image
2020-06-03 09:55:25 +02:00
Patrick Kishino
e80fac36d8 Bumped PyAv to 8.0.2 to fix mac os stream issue (#36396) 2020-06-03 08:00:50 +02:00
Diefferson Koderer Môro
0e2e39a5f2 Fix Method GetNetworkInterfaces not implemented (#36243) 2020-06-02 19:45:20 -07:00
Felipe Martins Diel
a7a58b9eac Fix SP2-CL (0x7544) sensor update (#36242)
* Fix SP2-CL (0x7544) sensor update

This device does not support get_energy(). We need to ignore the CommandNotSupportedError in the update method.

* Format with Black

* Only wrap code that throws with catch

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-06-02 19:44:45 -07:00
rajlaud
8cd640867c Update pysqueezebox to 0.2.1 (#35956) 2020-06-02 20:31:44 -05:00
willscottuk
209f9a812e Fix Canary entries API removal (#36218) 2020-06-02 18:22:39 -07:00
Vincent Le Bourlot
7e2872bab3 Add more tahoma sensors (#36256) 2020-06-02 18:17:55 -07:00
Tom Harris
b5f12bd9c1 Add climate platform to Insteon (#35763) 2020-06-02 18:16:44 -07:00
J.P. Hutchins
544094af21 Suppress error for start_torrents toggle (#35799) 2020-06-02 18:13:15 -07:00
Boris Kaplounovsky
2f6ffe7068 Fix json overwriting if you have >1 PS4 connected (#35778) 2020-06-02 17:55:55 -07:00
Markus Bong
e94228fddf Use show_advanced_options in devolo home control (#35360) 2020-06-02 17:52:36 -07:00
fb22
a5d520b603 Add llamalab_automate optional message delivery priority (#34234)
* Add optional message delivery priority

* Sort components.notify import

* Sort components.notify import
2020-06-02 17:32:08 -07:00
Franck Nijhof
d2e6b863b7 Upgrade wled 0.4.1 (#36091) 2020-06-03 02:29:49 +02:00
Kevin Fronczak
94a9b364b0 Move Blink trigger_camera service to camera platform (#35635) 2020-06-02 17:25:12 -07:00
HomeAssistant Azure
763ab79e6c [ci skip] Translation update 2020-06-03 00:03:00 +00:00
Sean Leonard
69531593f2 Sort minecraft_server players_online sensor's players_list (#35280)
Sort the players_list attribute of the minecraft_server players_online sensor in order to eliminate uneccessary state updates and ease comparisons in state changes.
2020-06-03 02:01:16 +02:00
J. Nick Koston
eedbb86b67 Fix flapping buienradar tests (#36394) 2020-06-02 18:54:58 -05:00
baurandr
5ba610859d Fix exception in callback async_remove_from_mem (#34075)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-06-02 16:46:17 -07:00
jjlawren
4180106125 Bump plexapi to 4.0.0 (#36389) 2020-06-02 18:38:24 -05:00
Aaron Godfrey
e347f3770c Use SCAN_INTERVAL instead of Throttle to allow manual todoist updates (#35297) 2020-06-03 01:37:41 +02:00
Brynley McDonald
5d6a563ac7 Implement Google Assistant media traits (#35803)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-06-02 16:20:59 -07:00
Konstantin Antselovich
f94bbdab61 Disable jemalloc via specific ENV variable, see Issue#36237 (#36274) 2020-06-03 01:08:50 +02: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
Vincent Le Bourlot
bfc5aa90b1 Add support for rts LightRTSComponent switch. (#36249) 2020-06-02 17:44:36 -05:00
jjlawren
44d7169642 Fix flaky Plex test (#36391) 2020-06-02 17:37:10 -05:00
J. Nick Koston
00387bf870 Make the frontend available sooner (Part 2 of 2) (#36264)
* Part 1 of 2 (no breaking changes in part 1).

When integrations configured via the UI block startup or fail to start,
the webserver can remain offline which make it is impossible
to recover without manually changing files in
.storage since the UI is not available.

This change is the foundation that part 2 will build on
and enable a listener to start the webserver when the frontend
is finished loading.

Frontend Changes (home-assistant/frontend#6068)

* Part 1 of 2 (no breaking changes in part 1).

When integrations configured via the UI block startup or fail to start,
the webserver can remain offline which make it is impossible
to recover without manually changing files in
.storage since the UI is not available.

This change is the foundation that part 2 will build on
and enable a listener to start the webserver when the frontend
is finished loading.

Frontend Changes (home-assistant/frontend#6068)

* Part 2 of 2 (breaking changes in part 2).

When integrations configured via the UI block startup or fail to start,
the webserver can remain offline which make it is impossible
to recover without manually changing files in
.storage since the UI is not available.

This change is the foundation that part 2 will build on
and enable a listener to start the webserver when the frontend
is finished loading.

* bump timeout to 1800s, adjust comment

* bump timeout to 1800s, adjust comment

* bump timeout to 4h

* bump timeout to 4h

* remove timeout failsafe

* remove timeout failsafe

* and the test

* and the test

* find the test that needs mocking

* find the test that needs mocking

* Revert "find the test that needs mocking"

This reverts commit 064e7787a8e9bc65df965530726fa1c41f8bcd36.

* Revert "find the test that needs mocking"

This reverts commit 064e7787a8e9bc65df965530726fa1c41f8bcd36.

* fix the one that was missed due to the conflict
2020-06-02 17:02:09 -05:00
Franck Nijhof
5cf93e3639 Merge branch 'master' into dev 2020-06-02 23:16:36 +02:00
Martin Weinelt
acfd907c50 Expose switch attributes in Prometheus component (#35216) 2020-06-02 22:47:49 +02:00
Tom
61c08e792d Update plugwise to async and config_flow switch part (#36383)
* Add switch component

* Update homeassistant/components/plugwise/switch.py

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

* Update homeassistant/components/plugwise/switch.py

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

* Improvements by @bdraco

Co-authored-by: J. Nick Koston <nick@koston.org>
2020-06-02 14:45:14 -05:00
Franck Nijhof
1771fbbd34 Upgrade pytest to 5.4.3 (#36385) 2020-06-02 21:26:31 +02:00
Erik Montnemery
7722e417ad Stable device id when a deleted device is restored (#36309)
* Stable device id when a deleted device is restored.

* Tweak

* Store only basic data for deleted devices

* Simplify code

* Simplify code

* Address review comments.

* Improve test

* Fix missing save
2020-06-02 21:22:08 +02:00
J. Nick Koston
578d4a9b6a Make the frontend available sooner (Part 1 of 2) (#36263)
* Part 1 of 2 (no breaking changes in part 1).

When integrations configured via the UI block startup or fail to start,
the webserver can remain offline which make it is impossible
to recover without manually changing files in
.storage since the UI is not available.

This change is the foundation that part 2 will build on
and enable a listener to start the webserver when the frontend
is finished loading.

Frontend Changes (home-assistant/frontend#6068)

* Address review comments

* bump timeout to 1800s, adjust comment

* bump timeout to 4h

* remove timeout failsafe

* and the test
2020-06-02 13:54:11 -05:00
Marius
7338feb659 Add device_class to Stookalert (#34638)
Co-authored-by: Franck Nijhof <git@frenck.dev>
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2020-06-02 20:27:41 +02:00
Robert Svensson
770b622a6e Axis - Add device class property to binary sensors (#36384)
* Add device class property to binary sensors

* Update tests
2020-06-02 20:12:19 +02:00
Martin Hjelmare
db8d4053d6 Add supervisor get addon info helper (#36260) 2020-06-02 11:11:23 -07:00
Franck Nijhof
08566f84cd Remove wunderlist, platform is decommissioned (#36380) 2020-06-02 19:37:52 +02:00
András Rutkai
dfc3a24522 Update list of voices in Watson TTS service (#36377)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2020-06-02 19:11:33 +02:00
Tom
c68e0a1d46 Update plugwise to async and config_flow binary_sensor part (#36378)
* Add binary_sensor component

* Version bump

* Blushing commit - tnx @bdraco
2020-06-02 11:30:00 -05:00
Quentame
26cbca101a Refactor Synology entries to allow not fetching the API when it's disabled + add security binary sensor (#35565)
- add Synology DSM Security binary sensor (enabled by default)
- use device name instead of id in names
- add device type to name
- show disk manufacturer, model and firmware version in devices
- some entries are disabled by default (`entity_registry_enabled_default`)
- binary sensor + sensor uses `device_class` when possible
- do not fetch a concerned API if all entries of it are disabled
- entity unique_id now uses key instead of label
- entity entity_id changes for disk and volume: example from `sensor.synology_status_sda` to `sensor.synology_drive_1_status`, or from `sensor.synology_average_disk_temp_volume_1` to `sensor.synology_volume_1_average_disk_temp`
- now binary sensor:
  - disk_exceed_bad_sector_thr
  - disk_below_remain_life_thr
- removed sensor:
  - volume type (RAID, SHR ...)
  - disk name (Drive [X])
  - disk device (/dev/sd[Y])
2020-06-02 18:22:51 +02:00
J. Nick Koston
5d780ded29 Fix flapping aiohttp_client test (#36379) 2020-06-02 10:54:13 -05:00
Franck Nijhof
e86bedb223 Prevent possible secret values to show up in deprecation logs (#36368)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-06-02 17:29:59 +02:00
Robert Svensson
37f7d262d7 Change deCONZ sensor device classes (#36352)
* Change vibration type to vibration instead of motion

* Also replace icon and unit of measurement
2020-06-02 16:17:21 +02:00
uvjustin
bde94d187c Bump pyforked-daapd version to 0.1.10 (#36333) 2020-06-02 14:26:25 +02:00
Fredrik Erlandsson
da6a99b333 Re-add connections to Daikin's device_info (#36340)
* Re-add connections to device_info

* Fix typo in identifiers

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

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-06-02 13:24:15 +02:00
Franck Nijhof
0629b30ade Correct inst method names in system info, add Docker version (#36360) 2020-06-02 10:50:34 +02:00
Robert Svensson
a3865fb383 UniFi - Increase time to mark UniFi devices as away (#36366) 2020-06-02 10:35:27 +02:00
Aaron Bach
cc4326276e RainMachine: Add time remaining as a zone attribute (#36361) 2020-06-01 21:49:02 -06:00
Franck Nijhof
e6fe34e64d Migrate automation to use describe_event for logbook (#36356) 2020-06-01 17:18:40 -07:00
HomeAssistant Azure
a4d4e26fe5 [ci skip] Translation update 2020-06-02 00:05:54 +00:00
Paulus Schoutsen
2b42d77f58 Fix flaky media player test (#36358) 2020-06-01 18:19:12 -05:00
Robert Svensson
a6e9a312a3 deCONZ - Don't send off signals to light if already off (#36357) 2020-06-02 00:20:52 +02:00
Franck Nijhof
1883b1d2a2 Add config reloaded events for automation and scene (#34664) 2020-06-01 15:19:00 -07:00
Robert Svensson
07469127ce deCONZ - Add support for max/min mireds (#36355)
* Add support for max/min mireds reported per light from deconz .77

* Bump dependency
2020-06-01 23:48:18 +02:00
Erik Montnemery
391983a0cf Prevent race in pychromecast.start_discovery (#36350)
* Workaround for race in pychromecast

* Fix tests
2020-06-01 23:25:06 +02:00
Paulus Schoutsen
acbffb511d Fix base_url extract stack (#36331)
* Fix base_url extract stack

* Fix tests
2020-06-01 11:44:45 -07:00
Robert Svensson
cf6043fc2d Support Axis stream profile and configuring it through options flow (#36322)
* Support stream profile and configuring it through options flow

* Options flow test

* Allow configuration of not using a stream profile

* Shorten default stream profile string
2020-06-01 18:45:38 +02:00
Brynley McDonald
47706dac1a Implement google_assistant ModesTrait for input_select (#36313) 2020-06-01 09:40:47 -07:00
Lindsay Ward
a333417ddf Add only unique_id property to yeelightsunflower, not other changes (#36311) 2020-06-01 11:36:43 -05:00
Franck Nijhof
e5d81aeb2a Remove gearbest integration (ADR-0004) (#36347) 2020-06-01 17:43:20 +02: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
141c4c2f33 Fix various flapping tests that are missing block_till_done (#36346)
* Add missing async_block_till_done to various tests

* Add missing async_block_till_done to various tests
2020-06-01 10:11:09 -05:00
Alexei Chetroi
dcbe2136cf Fix ZHA electrical measurement sensor (#36327) 2020-06-01 09:24:56 -04:00
Fredrik Erlandsson
e4aca9d73c Version bump pydaikin to 2.1.1 (#36341) 2020-06-01 14:52:51 +02:00
Luke Pomfrey
5827a26dfc Fix handling of min_size argument in OpenCV component (#36335)
The OpenCV image_processing component accepts a `min_size` argument in
each classifier that is then passed into the OpenCV library. The
`min_size` argument is expected to be a tuple of 2 ints, and is entered
into the platofrm schema as such. However, yaml will always produce a
list instead of a tuple, which means in practice it's impossible to use
the `min_size` argument. This changes the schema to accepts any sequence
of 2 ints that is then coerced into a tuple suitable for passing to the
OpenCV library.
2020-06-01 14:15:01 +02:00
Wim Haanstra
aa1b32ad36 Add new DSMR Reader fields that were added to MQTT (#36337) 2020-06-01 14:10:09 +02:00
Tom
d0fedad000 Update plugwise to async and config_flow sensor part (#36219)
Co-authored-by: J. Nick Koston <nick@koston.org>
2020-06-01 14:01:17 +02:00
Florent Thoumie
5d7720832b Bump iaqualink to 0.3.4 (#36317) 2020-06-01 12:20:46 +02:00
Alan Tse
7da15378b1 Bump teslajsonpy to 0.8.1 (#36323) 2020-06-01 12:13:11 +02:00
Paulus Schoutsen
691ec21ba4 Mark min version of httplib2 (#36330) 2020-06-01 09:44:18 +02:00
Paulus Schoutsen
e30893ed80 Add block_till_done to buienradar test (#36332) 2020-06-01 00:24:16 -07:00
Paulus Schoutsen
276f3afb00 Do async_setup_platform in background (#36244)
Co-authored-by: J. Nick Koston <nick@koston.org>
2020-05-31 22:18:30 -07:00
HomeAssistant Azure
d488c779fc [ci skip] Translation update 2020-06-01 00:03:28 +00:00
Robert Svensson
01d9366299 Improve Axis integration (#36205)
* Improve configuration

* Read new properties for basic device information
Improve tests by mocking less improving stability of tests

* Clean up in device tests

* Support new port management api

* Improve initializing data

* Bump dependency to v28
2020-05-31 20:00:15 +02:00
Igor
6ed68d8ced Do not show graphite warnings if no new_state in event (#36292)
It is not correct to show warning about "unexpected event type" if EVENT_STATE_CHANGED have no new_state field.
We should show this warning only if it is real unexpected event type.
Run task_done() before continue, because we should tell the queue that the processing on the task is complete
  after get().
2020-05-31 19:58:02 +02:00
Brian Rogers
7197ef76a6 Add Rachio rain sensor status (#36229)
* Add Rachio rain sensor status

* Remove summary

* Fix and re-add zone webhook summary

* Add slope to const
2020-05-31 10:26:56 -05:00
Emilv2
0ae23fa166 Remove duplicate information in delijn sensor (#36276) 2020-05-31 10:02:56 -05:00
Raman Gupta
cd054a9579 clean up code to improve consistency and revert previous change (#35752) 2020-05-31 10:03:11 +02:00
Paulus Schoutsen
2a86d52dba Alexa media player only include equalizer if supported sound mode (#36285) 2020-05-30 21:42:40 -07:00
HomeAssistant Azure
5920f3379c [ci skip] Translation update 2020-05-31 00:02:42 +00:00
Kumar Gala
39f2d4cb5a Add unique_id support to Somfy MyLink (#36232) 2020-05-31 00:48:38 +02:00
J. Nick Koston
db9900cf50 Reduce hunterdouglas_powerview parallel updates (#36299)
The powerview hub gets overwhelmed with just a
few requests so we now set PARALLEL_UPDATES to
1.
2020-05-30 17:37:25 -05:00
Tom Harris
fb754186bd Bump pyinsteon to 1.0.2 (#36297) 2020-05-30 21:08:36 +02:00
Luke Pomfrey
a062da05b4 Keep all OpenCV classifier results (#36294) 2020-05-30 20:17:15 +02:00
Raman Gupta
22a1452946 Bump pyvizio version to 0.1.48 (#36275) 2020-05-30 20:07:56 +02:00
Quentame
1855c91988 Use CONF_CLIENT_ID & CONF_CLIENT_SECRET from homeassistant.const (#36233)
* Use CONF_CLIENT_ID & CONF_CLIENT_SECRET from homeassistant.const

* Fix pylint

* Use in tests

* Search for "client_id"

* Fix tests

* Fix test

* Fix test
2020-05-30 17:27:20 +02:00
Barry Williams
b6407f77da Add service to openhome to invoke a pin (#31119)
Setup platform async
Use entity services
Store UUID in default data rather than entity
2020-05-30 14:40:35 +02:00
Fredrik Erlandsson
efec62d98e Add KEY_HOSTNAME for Daikin zeroconf (#36253)
* Add KEY_HOSTNAME for Daikin zeroconf

* Update tests and use CONF_HOST as hostname
2020-05-30 09:50:18 +02:00
mlemainque
e1c6f01047 Fix reworded properties in 2.1.0 pydaikin release (#36257) 2020-05-29 22:15:54 -04:00
Paulus Schoutsen
86582ad1ba Fix lint on sonarr 2020-05-29 17:32:14 -07:00
Chris Talkington
940249f45e Refactor Sonarr Integration (#33859)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-05-29 17:08:05 -07:00
HomeAssistant Azure
f4a518edcc [ci skip] Translation update 2020-05-30 00:03:23 +00:00
J. Nick Koston
fa00f3e49b s/hass.loop.create_task/asyncio.create_task/g (#36262) 2020-05-29 17:13:58 -05:00
foxy82
67f7a4bb57 Add more alexa doorbell event locales (#36252) 2020-05-29 14:39:17 -07:00
Paulus Schoutsen
35c00fed6d Migrate translations upload to use Lokalise CLI 2 (#36247) 2020-05-29 11:43:48 -07:00
jjlawren
ff9de687c0 Bump plexwebsocket to 0.0.10 (#36226) 2020-05-29 13:24:35 +02:00
Tom Brien
26fae7c629 Fix weather entity copy and paste error (#36227) 2020-05-29 12:51:43 +02:00
Pascal Vizeli
ed014e3c96 Revert "Ensure frontend is available if integrations fail to start - Part 1 of 2 (#36093)" (#36251)
This reverts commit fbe7b4ddfa.
2020-05-29 10:18:39 +02:00
Markus Bong
08f2714e57 Change devolo HomeControl SwitchDevice to SwitchEntity (#36248) 2020-05-29 09:59:44 +02:00
Josef Schlehofer
6f9770c067 Upgrade youtube_dl to version 2020.05.29 (#36239) 2020-05-29 09:16:35 +02:00
Daniel Høyer Iversen
dcea238661 Fix some mistakes in documentation (#36246) 2020-05-28 23:00:20 -07:00
J. Nick Koston
fbe7b4ddfa Ensure frontend is available if integrations fail to start - Part 1 of 2 (#36093)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-05-28 21:09:07 -07:00
Paulus Schoutsen
9c45115468 Upgrade translations download to use Lokalise CLI v2 (#36240) 2020-05-28 21:06:09 -07:00
Paulus Schoutsen
7194b74580 Merge pull request #36238 from home-assistant/rc 2020-05-28 17:17:56 -07:00
HomeAssistant Azure
564fb1d1e5 [ci skip] Translation update 2020-05-29 00:04:16 +00:00
J. Nick Koston
5183c40b23 Periodically log when integrations are taking a while to setup (#36208)
* Periodicly log when intergrations are taking a while to setup

When one or more intergrations are taking a while to setup
it is hard to determine which one is the cause.  We can
help narrow this down for the user with a periodic log
message about which domains are still waiting to be setup
every 30s.

* 30 -> 60 per discussion

* only log when the integration is actually doing setup

* reduce, fix race in test
2020-05-28 18:48:42 -05:00
Fredrik Erlandsson
e1fd14e00a Add support for zeroconf for Daikin (#35769) 2020-05-28 18:30:01 -05:00
gjbadros
f9aff4fc41 Use new elkm1-lib module's LD log data support to correctly identify user_ids (#36211)
* Requires 0.7.18 of elkm1 library to decode LD messages, and uses those messages to reliably set the arming/disarming user when there are more than one area.  See https://github.com/home-assistant/core/issues/35310.

* Fixed typo

* Fixed off by one error -- LD command reports 1-based user-numbers which is the changed_by_id we want, but we need 0-based indices as argument to username.

* Bump required version of elkm1, remove logging message I was using for testing; prepping for PR.

* Black formatted

* Fixed bug whereby I needed to ref elements when running against released build of elkm1-lib
2020-05-28 18:26:03 -05:00
Paulus Schoutsen
b928d5d4b6 Bump hass_nabucasa to 0.34.4 (#36236) 2020-05-28 16:21:58 -07:00
Paulus Schoutsen
33f645aba9 Bumped version to 0.110.4 2020-05-28 15:52:40 -07:00
Erik Montnemery
093d797c3b Correct MQTT device trigger reconfiguration with same topic (#36234) 2020-05-28 15:52:34 -07:00
Erik Montnemery
8426bdc9ae Fix custom position range (#36222) 2020-05-28 15:52:33 -07:00
Aaron Bach
ca0149c635 Prevent AirVisual from polling (#36199)
* Prevent AirVisual from polling

* Docstring
2020-05-28 15:52:32 -07:00
Chris Talkington
e967c93b7b Fix roku select source with app ids (#36191) 2020-05-28 15:52:32 -07:00
Erik Montnemery
3a80cb1d1d Bump zeroconf, pychromecast. Log if zeroconf.get_service_info fails. (#36185) 2020-05-28 15:52:31 -07:00
J. Nick Koston
61d8efae5f Update cast to use shared zeroconf (#35570)
* Update cast to use the shared zeroconf instance

* Add zeroconf to after_dependencies

* Bump version to 5.2.0
2020-05-28 15:52:30 -07:00
Jason Hunter
c710f9994c Fix empty preset element in ONVIF response (#36182) 2020-05-28 15:51:16 -07:00
Paulus Schoutsen
0865791116 Revert DSMR not calling entity methods (#36179) 2020-05-28 15:51:16 -07:00
Markus Bong
d4f7fe16ca Fix cloud connection within API (#36158) 2020-05-28 15:51:15 -07:00
Steven Rollason
e6e7d0651d Check todoist due date is not None in async_get_events (#36140)
* Check that due date is not None

Check that due date is not None, prevents taks without due dates from breaking Calendar API

* Invert None check to reduce indentation
2020-05-28 15:51:14 -07:00
J. Nick Koston
4df8e51edd Use a single service browser for zeroconf discovery (#35997) 2020-05-28 15:51:13 -07:00
Erik Montnemery
2df1c90e6a Let PAHO MQTT client handle connection to MQTT server (#35983)
* Let PAHO client handle connection to MQTT server
2020-05-28 15:51:12 -07:00
Jeff Irion
dc00fa9c27 Fix Android TV icon when screencap option is disabled (#35710)
* Don't return a media image hash if the screencap config option is False

* 1-liner
2020-05-28 15:51:12 -07:00
J. Nick Koston
d1be3c8268 Add ability to ignore heos discovery (#34653)
* Add ability to ignore heos discovery

* Fetch player_id, update tests

* Handle failure state

* Update tests as there are two players in the mock now

* Adjust and add more tests

* Strip out player id lookup

* reverts per review

* one more revert
2020-05-28 15:51:11 -07:00
Erik Montnemery
f1af5b71e2 Correct MQTT device trigger reconfiguration with same topic (#36234) 2020-05-28 15:50:23 -07:00
Erik Montnemery
31250eafe8 Fix custom position range (#36222) 2020-05-28 11:37:09 -06:00
Tom
7e693afcf3 Update plugwise to async and config_flow (#33691)
* Update plugwise async, config_flow and multi entity

* Update battery percentage

* Fix yamllint on services

* Fix yamllint on services

* Fix formatting for pyupgrade

* Update homeassistant/components/plugwise/__init__.py

Co-Authored-By: Robert Svensson <Kane610@users.noreply.github.com>

* Add try/except on setup

* Bump module version, battery version and valve position

* Removing sensor, switch, water_heater for later (child) PRs

* Catchup and version bump

* Remove title from strings.json

* Readd already reviewd await try/except

* Readd already reviewed config_flow

* Fix pylint

* Fix per 0.109 translations

* Remove unused import from merge

* Update plugwise async, config_flow and multi entity

* Update battery percentage

* Fix yamllint on services

* Fix yamllint on services

* Bump module version

* Bump module version, battery version and valve position

* Removing sensor, switch, water_heater for later (child) PRs

* Catchup and version bump

* Remove title from strings.json

* Fix pylint

* Fix per 0.109 translations

* Translations and config_flow, module version bump with required changes

* Translations and config_flow, module version bump with required changes

* Fix requirements

* Fix requirements

* Fix pylint

* Fix pylint

* Update homeassistant/components/plugwise/__init__.py

Improvement

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

* Update homeassistant/components/plugwise/__init__.py

Improvement

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

* Update homeassistant/components/plugwise/__init__.py

Improvement

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

* Include configentrynotready on import

* Update __init__.py

* DataUpdateCoordinator and comment non-PR-platforms

* Fix reqs

* Rename devices variable in favor of entities

* Rework updates with DataUpdateCoordinator

* Peer review

* Peer review second part

* Cleanup comments and redundant code

* Added required config_flow test

* Peer review third part

* Update service was replaced by DataUpdateCoordinator

* Corrected testing, version bump for InvalidAuth, move uniq_id

* Remove according to review

* Await connect (py38)

* Remove unneccesary code

* Show only when multiple

* Improve config_flow, rename consts

* Update homeassistant/components/plugwise/climate.py

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

* Update homeassistant/components/plugwise/climate.py

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

* Process review comments

Co-authored-by: Robert Svensson <Kane610@users.noreply.github.com>
Co-authored-by: J. Nick Koston <nick@koston.org>
2020-05-28 10:52:25 -05:00
shbatm
5c516ad013 Add support for Insteon 2444-222 to ISY994 (#36212)
* Add support for Insteon 2444-222 Micro Open/Close Module

* Avoid breaking changes on cover

* Update homeassistant/components/isy994/cover.py

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

Co-authored-by: J. Nick Koston <nick@koston.org>
2020-05-28 08:51:56 -05:00
Fredrik Erlandsson
03f4202796 Bump pydaikin version to 2.1.0 (#36217) 2020-05-28 12:31:02 +02:00
Maciej Bieniek
3d02b3afc3 Bump pdunehd library to version 1.3.1 (#36198) 2020-05-28 12:27:15 +02:00
Aaron Bach
c18ba6aec0 Remove configuration.yaml support for OpenUV (#36148)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-05-27 15:48:28 -07:00
Aaron Bach
7571fdc957 Allow Guardian config flow to be ignored (#36207)
* Allow Guardian config flow to be ignored

* Tests
2020-05-27 16:45:28 -06:00
jjlawren
4e74fae615 Playback on Sonos speakers from Plex integration (#36177)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-05-27 15:36:08 -07:00
Phil Bruckner
1e9ec917f6 Add support for simultaneous runs of Script helper - Part 3 (#36202) 2020-05-27 15:10:28 -07:00
k2v1n58
f14a4935df Widen songpal volume step change compatibility (#36152)
* Update songpal / media_player.py

Based on issue https://github.com/home-assistant/core/issues/36135

* Update test_media_player.py
2020-05-28 00:09:15 +02:00
Andre Lengwenus
a7842b6301 Fix of LCN cover behavior (#35050) 2020-05-27 23:08:51 +02:00
Ohad Levy
3ac376ebca Fix hassio log message typo (#36194)
minor contribution - thanks for HA :)
2020-05-27 23:07:30 +02:00
Aaron Bach
6609bd94e5 Prevent AirVisual from polling (#36199)
* Prevent AirVisual from polling

* Docstring
2020-05-27 13:53:14 -06:00
J. Nick Koston
f626129e2b Proceed with startup if an integration setup blocks for more than 30m (#36082)
* Proceed with startup if an integration setup blocks for more than 30m

* Fix test location

* Fix log call

* naming

* revert

* do not shield from cancelation

* Adjust test since we now cancel when we hit the timeout
2020-05-27 13:43:05 -05:00
Chris Talkington
6fbc3b54bd Fix roku select source with app ids (#36191) 2020-05-27 17:53:26 +02:00
David Zhu
6f4829c390 Add webostv payload option to command service (#36164)
* added optional argument to command service

* Fixed crash when optional argument is not provided

* Updated argument description

* fixed lint error

* Fix isort error

* switched to use dict for optional field instead of json string

* switched to use ATTR_PAYLOAD

* fixed test

* actually fixed test
2020-05-27 15:51:39 +02:00
Erik Montnemery
c7e97f0cf8 Bump zeroconf, pychromecast. Log if zeroconf.get_service_info fails. (#36185) 2020-05-27 07:31:26 -04:00
Nacho Barrientos
a55c6c5f47 Make prometheus light state report robust (#36134) 2020-05-27 09:59:40 +02:00
Joakim Plate
ad6e21182e Switch default media_player device class to settop for google assistant (#36003) 2020-05-26 23:16:21 -07:00
J. Nick Koston
879e2d1afd Improve stability of homekit accessory ids (#35691) 2020-05-26 22:15:00 -07:00
Paulus Schoutsen
cfaa851b5b Revert DSMR not calling entity methods (#36179) 2020-05-26 22:11:40 -07:00
Jason Hunter
cb2821b512 Fix empty preset element in ONVIF response (#36182) 2020-05-26 21:16:15 -07:00
J. Nick Koston
0a6deeb49b Improve history api performance (#35822)
* Improve history api performance

A new option "minimal_response" reduces the amount of data
sent between the first and last history states to only the
"last_changed" and "state" fields.

Calling to_native is now avoided where possible and only
done at the end for rows that will be returned in the response.

When sending the `minimal_response` option, the history
api now returns a json response similar to the following
for an entity

Testing:

History API Response time for 1 day
Average of 10 runs with minimal_response

Before: 19.89s. (content length : 3427428)
After: 8.44s (content length: 592199)

```
[{
	"attributes": {--TRUNCATED--},
	"context": {--TRUNCATED--},
	"entity_id": "binary_sensor.powerwall_status",
	"last_changed": "2020-05-18T23:20:03.213000+00:00",
	"last_updated": "2020-05-18T23:20:03.213000+00:00",
	"state": "on"
},
...
{
	"last_changed": "2020-05-19T00:41:08Z",
	"state": "unavailable"
},
...
{
	"attributes": {--TRUNCATED--},
	"context": {--TRUNCATED--},
	"entity_id": "binary_sensor.powerwall_status",
	"last_changed": "2020-05-19T00:42:08.069698+00:00",
	"last_updated": "2020-05-19T00:42:08.069698+00:00",
	"state": "on"
}]
```

* Remove impossible state check

* Remove another impossible state check

* Update homeassistant/components/history/__init__.py

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

* Reorder to save some indent per review

* Make query response make sense with to_native=False

* Update test for 00:00 to Z change

* Update homeassistant/components/recorder/models.py

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

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-05-26 21:53:56 -05:00
Jeff Irion
6a06d648d7 Fix Android TV icon when screencap option is disabled (#35710)
* Don't return a media image hash if the screencap config option is False

* 1-liner
2020-05-26 19:02:18 -05:00
Charles Garwood
ca1e643bdc Add fan platform to ozw component (#35249)
* Add fan platform

* Add fan discovery schema

* Use constants for dispatcher signal

* Move fan platform to ozw

* Fix fan discovery schema

* Add previous speed to handle value 255

* Make fixture reading more robust

* Add fan tests

* Remove not needed fixture info

* Validate speed

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-05-26 19:48:39 -04:00
jjlawren
59c112a3f2 Decouple media lookup from Plex play_media service (#35663)
* Decouple media lookup from play_media service

* More explicit input/search validation, cleanup, more tests

* Minor cleanup

* Normalize media_type string in lookup call

* Move key lookup, add tests via service calls

* Always allow play_media service calls

* No need to pass arguments to nested functions
2020-05-26 14:39:56 -05:00
Spartan-II-117
6507951bb1 update PyPjlink to 1.2.1 (#36170)
* Update manifest.json

Bump PyPjlink to 1.2.1

* Update requirements_all.txt
2020-05-26 13:44:10 -05:00
J. Nick Koston
9a53240759 Add ability to ignore heos discovery (#34653)
* Add ability to ignore heos discovery

* Fetch player_id, update tests

* Handle failure state

* Update tests as there are two players in the mock now

* Adjust and add more tests

* Strip out player id lookup

* reverts per review

* one more revert
2020-05-26 10:51:50 -05:00
Erik Montnemery
8de863ecf1 Let PAHO MQTT client handle connection to MQTT server (#35983)
* Let PAHO client handle connection to MQTT server
2020-05-26 17:12:22 +02:00
Steven Rollason
514c64619a Check todoist due date is not None in async_get_events (#36140)
* Check that due date is not None

Check that due date is not None, prevents taks without due dates from breaking Calendar API

* Invert None check to reduce indentation
2020-05-26 10:39:53 -04:00
Ville Skyttä
f8416484f8 More data entry flow and HTTP related type hints (#34430) 2020-05-26 09:28:22 -05:00
Markus Bong
bc1dac80b6 Fix cloud connection within API (#36158) 2020-05-26 15:56:49 +02:00
Aaron Bach
369745c4cf Add support for Elexa Guardian water valve controllers (#34627)
* Add support for Elexa Guardian water valve controllers

* Zeroconf + cleanup

* Sensors and services

* API registration

* Service bug fixes

* Fix bug in cleanup

* Tests and coverage

* Fix incorrect service description

* Bump aioguardian

* Bump aioguardian to 0.2.2

* Bump aioguardian to 0.2.3

* Proper entity inheritance

* Give device a proper name

* Code review
2020-05-26 08:47:25 -05:00
Franck Nijhof
4054b1744f Merge pull request #36155 from home-assistant/rc 2020-05-26 13:30:45 +02:00
gadgetmobile
dc2fe66f29 Clean up blebox climate (#36143) 2020-05-26 13:29:19 +02:00
Franck Nijhof
cf585babbe Bumped version to 0.110.3 2020-05-26 12:12:34 +02:00
Bram Kragten
73aca24f30 Update frontend to 20200519.5 (#36154) 2020-05-26 12:11:57 +02:00
Paulus Schoutsen
701f906898 Fix client ID lookup for official apps (#36131) 2020-05-26 12:11:53 +02:00
J. Nick Koston
4c21adfd88 Remove unsupported stop feature with Hunter Douglas Powerview 1.0 Hubs (#36129) 2020-05-26 12:11:49 +02:00
Jason Hunter
ef3019f922 fix preset warning (#36110) 2020-05-26 12:11:45 +02:00
Jason Hunter
79ed8b03dc guard against missing topic (#36108) 2020-05-26 12:11:41 +02:00
Chris Talkington
a1eb513bbc Update rokuecp to 0.4.2 (#36102)
* update rokuecp to 0.4.2

* Update requirements_all.txt

* Update requirements_test_all.txt
2020-05-26 12:11:37 +02:00
J. Nick Koston
a656a40fd7 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-26 12:11:34 +02:00
Aaron Bach
53c2227b1d Fix bugs with AirVisual auto-leveling API (#36097)
* Fix bugs with AirVisual auto-leveling API

* Code review

* Code review
2020-05-26 12:11:30 +02:00
Chris Talkington
3d921cec04 Fix roku play/pause during standby (#36096) 2020-05-26 12:11:26 +02:00
Minims
249c00d08f Fix onvif snapshot for Sricam SP009 (#36095) 2020-05-26 12:11:22 +02:00
Thomas Hollstegge
0f7ea290ca Fix emulated_hue compatibility with older devices (#36090)
* Fix emulated_hue compatibility with older devices

* Fix test ugliness

* Fix pylint errors
2020-05-26 12:11:18 +02:00
Daniel Høyer Iversen
7e90d4dd7b Fix opengarage async_setup_platform (#36075)
* opengarage async_setup_platform

* async_add_entities
2020-05-26 12:11:15 +02:00
isk0001y
b6c519e5df Re-read last imap_email_content email when no change (#36065) 2020-05-26 12:11:11 +02:00
Jason Hunter
179e601966 Fix ONVIF config entry unique ID (#36008)
* fallback to device serial number if no mac available

* make password optional to fix #35904

* update tests to reflect new flow

* fix snake case and AsyncMock

* add comments around why weird things are being done
2020-05-26 12:11:08 +02:00
Florent Thoumie
fad79046a8 Fix iaqualink sensors (#36000)
* iaqualink: small sensor fixes

* Re-add device_class, fix type hints.
2020-05-26 12:11:04 +02:00
Florent Thoumie
1eeba0531e Bump iaqualink to 0.3.3 (#35999) 2020-05-26 12:11:00 +02:00
Julius Mittenzwei
011e0a0fcc Bump pyvlx to 0.2.16 (#35971) 2020-05-26 12:10:56 +02:00
MatsNl
26fdb8eb1e Remove commented code in Atag integration (#36153) 2020-05-26 12:06:20 +02:00
Bram Kragten
50b7d24e32 Update frontend to 20200519.5 (#36154) 2020-05-26 11:44:07 +02:00
Kevin Fronczak
97a523e854 Add device classes to Blink sensors (#35620)
* Add device classes, move battery sensor to binary_sensor

* Remove cast to bool
2020-05-26 09:38:41 +02:00
Aaron Bach
599d3ae930 Fix bugs with AirVisual auto-leveling API (#36097)
* Fix bugs with AirVisual auto-leveling API

* Code review

* Code review
2020-05-26 09:00:05 +02:00
MatsNl
67a9622209 Add tests to Atag integration (#35944)
* add tests

* better error handling in dependency

* dont suppress errors

* add support for multiple devices

* add test for Unauthorized status

* raise error on service call failure
2020-05-26 08:38:02 +02:00
Xiaonan Shen
7e67b6b568 Improve Vacuum Entity (#35554) 2020-05-25 17:56:12 -07:00
Bram Kragten
e61280095e Add uuid to google assistant (#35811) 2020-05-25 17:39:09 -07:00
Franck Nijhof
b15bac595d Update Code of Conduct to 2.0 (#36142) 2020-05-25 19:40:40 -04:00
MatthewFlamm
3a97d96dc0 Cache data and update faster after failed updates in NWS (#35722)
* add last_update_success_time  and a failed update interval

* add failed update interval annd valid times to nws

* Revert "add last_update_success_time  and a failed update interval"

This reverts commit 09428c9686.

* extend DataUpdateCoordinator
2020-05-25 18:39:46 -05: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
Frederik Gladhorn
15539536ad Use speaker-multiple icon for NAD receiver (#34572)
By default media players get a chrome cast icon, which feels
quite wrong for my old style amplifier that doesn't have any
connection to the rest of the word, except for a RS232 port.
2020-05-25 23:50:19 +01:00
J. Nick Koston
3dfeec5033 Implement async_get_stream_source in the camera integration (#35704) 2020-05-25 15:41:50 -07:00
Mariusz Kryński
6fbc3c4a51 Add lock platform to ozw component (#36103)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-05-25 23:51:09 +02:00
Robert Svensson
376e0e0e93 Add Axis MQTT support (#36015)
* Working PoC

* Store

* Handle subscribing to MQTT and stopping stream when first telegram arrives

* Improve naming

* Now with test

* Better strings

* Fix Martins comments

* Improve mock device patching

* Bump dependency to v27
Add MQTT as after dependency
2020-05-25 23:13:34 +02:00
Raman Gupta
db92ffdf89 Clean up vizio translation strings (#35725)
* further vizio string updates

* fix errant find/replace
2020-05-25 16:36:49 -04:00
Aaron Bach
05cbb3f0e4 Remove WWLLN integration (#35926) 2020-05-25 22:34:51 +02:00
Thomas Hollstegge
fa55f01c8c Report entity IDs for min/max sensor platform (#33806)
* Report entity ids for min/max sensor platform

* Use better variable names
2020-05-25 16:08:49 -04:00
teldri
2793e6cdd8 Fallback lg_soundbar sound mode on unknown value (#35892)
* fallback if equaliser setting unknown to temescal

* fallback if equaliser setting unknown to temescal

Change Author

* fix return values, moved fallback code

* add comment to temporary fix
2020-05-25 16:07:58 -04:00
Chris Talkington
654195454b Add roku tv input names to alexa inputs (#36089)
* add roku tv input names to alexa inputs

* Update const.py
2020-05-25 16:06:38 -04:00
Maciej Bieniek
751428fe2b Catch NoIPControl exception (#36088) 2020-05-25 16:05:52 -04:00
Thomas Hollstegge
ed62fe03b0 Fix emulated_hue compatibility with older devices (#36090)
* Fix emulated_hue compatibility with older devices

* Fix test ugliness

* Fix pylint errors
2020-05-25 14:55:23 -05:00
gadgetmobile
a22a86e4d2 Add Blebox climate support (#35373)
* support BleBox climate

* refactor entity async_setup_entry functions

* use constants and simplify hvac mode setting

* apply fixes from review requests in #35370

* remove unneeded const mappings
2020-05-25 14:45:01 -05:00
J. Nick Koston
d2a92ce4f3 Ensure a deleted integration can be removed (#36130)
* Ensure a deleted intergration can be removed

* Update homeassistant/config_entries.py

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

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-05-25 15:40:06 -04:00
Paulus Schoutsen
ba120d4220 Fix client ID lookup for official apps (#36131) 2020-05-25 15:39:24 -04: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
73fa617c1d Remove unsupported stop feature with Hunter Douglas Powerview 1.0 Hubs (#36129) 2020-05-25 17:51:46 +02:00
braam
1f3d3c3e5b Add Unify Circuit (#35756) 2020-05-25 15:51:41 +02:00
isk0001y
71ebf8738f Re-read last imap_email_content email when no change (#36065) 2020-05-25 14:29:26 +02:00
Minims
2375e00029 Fix onvif snapshot for Sricam SP009 (#36095) 2020-05-25 14:02:21 +02:00
Chris Talkington
77eab66e0f Fix roku play/pause during standby (#36096) 2020-05-25 13:55:25 +02:00
Chris Talkington
22a2c386e9 Update rokuecp to 0.4.2 (#36102)
* update rokuecp to 0.4.2

* Update requirements_all.txt

* Update requirements_test_all.txt
2020-05-25 13:40:16 +02:00
Jason Hunter
5dfae0eb7c fix preset warning (#36110) 2020-05-25 13:38:57 +02:00
Jason Hunter
b0012bd5a6 guard against missing topic (#36108) 2020-05-25 13:37:47 +02:00
Daniel Høyer Iversen
12fb6a85d5 Set PARALLEL_UPDATES for Tibber (#35915) 2020-05-25 12:26:03 +02:00
Julius Mittenzwei
59fe5458d0 Bump pyvlx to 0.2.16 (#35971) 2020-05-25 08:31:49 +02:00
HomeAssistant Azure
d4f3bb8ce0 [ci skip] Translation update 2020-05-25 00:02:49 +00:00
mnaggatz
cc1951c13d Use device class constants for velux cover entity (#36078)
* Add support for Velux Gates

* Comment expanded and listing sorted alphabetically.

* There are constants in the cover entity integration for the valid device classes. Import and use those here.

* Blank line deleted

* Reformate code because of "CheckFormat" error

* Import only the names we need instead of the whole module

* Reformate code because of "CheckFormat" error

* isort error
2020-05-25 00:46:31 +02:00
Jason Hunter
bd8848e57a Fix ONVIF config entry unique ID (#36008)
* fallback to device serial number if no mac available

* make password optional to fix #35904

* update tests to reflect new flow

* fix snake case and AsyncMock

* add comments around why weird things are being done
2020-05-24 21:50:50 +02:00
Daniel Høyer Iversen
ed7ac3c1f7 Add Open garage unique_id (#36074) 2020-05-24 17:21:29 +02:00
Alexei Chetroi
fe45935f38 Implement Keen vents as zha cover devices (#36080)
* Implement Keen vents as cover devices

* Update homeassistant/components/zha/cover.py
2020-05-24 11:10:16 -04:00
Franck Nijhof
f897264c7f Merge pull request #36070 from home-assistant/rc 2020-05-24 14:58:42 +02:00
Daniel Høyer Iversen
9212d1c2dc Fix opengarage async_setup_platform (#36075)
* opengarage async_setup_platform

* async_add_entities
2020-05-24 14:28:54 +02:00
Chris Talkington
ab741535f7 Fix roku play/pause support (#35991) 2020-05-24 12:39:45 +02:00
Bas Nijholt
e6065569ae Use Coerce(float) on service options for kef (#35659)
* use Coerce(float) on service options

* defer the type from options list
2020-05-24 12:10:15 +02:00
Franck Nijhof
fb3394f74b Bumped version to 0.110.2 2020-05-24 11:30:01 +02:00
Fredrik Erlandsson
ed4b1d7c9f Bump tellduslive version (#36048) 2020-05-24 11:28:23 +02:00
Jc2k
a90d1b531c Bump aiohomekit (#36041) 2020-05-24 11:28:19 +02:00
J. Nick Koston
bd32a1fabb Fix shade compatibility with hunter douglas powerview 1.0 hubs (#36040) 2020-05-24 11:28:15 +02:00
Sören Oldag
88ebc6a08b Migrate rpi_gpio_pwm to extend LightEntity instead of Light (#36028) 2020-05-24 11:28:11 +02:00
Franck Nijhof
375f170da8 Upgrade hass-nabucasa to 0.34.3 (#36025) 2020-05-24 11:28:06 +02:00
Jason Hunter
cf6cc6c07c Fix ONVIF PTZ and profile encoding issues (#36006)
* allow lib to create AsyncTransport

* fix transport close issue

* fix zoom only cameras without PTZ presets

* catch profiles without encoding configuration

* also catch ServerDisconnectedError for ptz
2020-05-24 11:28:02 +02:00
Bram Kragten
22a12cea5c Update frontend to 20200519.4 (#35987) 2020-05-24 11:27:58 +02:00
Felipe Martins Diel
1feb8ada6c Handle StorageError in the Broadlink integration (#35986) 2020-05-24 11:27:54 +02:00
Martin Hjelmare
47995edd10 Bump python-openzwave-mqtt to 1.0.2 (#35980) 2020-05-24 11:27:49 +02:00
Andre Lengwenus
5ffee336d5 Fix device_registry cleanup behavior (#35977)
* Fix: Only decives which are not referenced by an entity or a config_entry are removed

* Adapted test for async_cleanup

* Changed variable names
2020-05-24 11:27:44 +02:00
Martin Hjelmare
39f9981914 Fix lutron_caseta setup options (#35974) 2020-05-24 11:27:41 +02:00
Jason Hunter
9e1c35cfd7 Bump pyAV and close unclosed outputs (#35960)
* bump pyAV and close unclosed outputs

* skip stream from coverage for now

* fix divide by zero error
2020-05-24 11:27:37 +02:00
Chris Talkington
f4f031e703 Improve ipp unique id parsing (#35959) 2020-05-24 11:27:33 +02:00
Fredrik Erlandsson
970bb346d0 Fix Daikin AC integration for AirBase units (#35952) 2020-05-24 11:27:29 +02:00
Hugues Granger
9401525464 Fix typo in conf[CONF_SSL] (#35946) 2020-05-24 11:27:25 +02:00
Jason Hunter
8a9ba7e72d Fix ONVIF Transport (#35932)
* allow lib to create AsyncTransport

* fix transport close issue
2020-05-24 11:27:22 +02:00
J. Nick Koston
f452e26269 Ensure homekit functions if numpy is unavailable (#35931) 2020-05-24 11:27:18 +02:00
Bram Kragten
d299a92cd3 Update frontend to 20200519.3 (#35925)
* Updated frontend to 20200519.2

* Updated frontend to 20200519.3
2020-05-24 11:27:15 +02:00
Chris Talkington
8d008d31bd Update rokuecp to 0.4.1 (#35899)
* update rokuecp to 0.4.1

* Update requirements_all.txt

* Update requirements_test_all.txt
2020-05-24 11:27:11 +02:00
Aaron Bach
43ec35ee17 Fix Prezzibenzina doing I/O in the event loop (#35881)
* Fix Prezzibenzina doing I/O in the event loop

* Linting
2020-05-24 11:27:07 +02:00
Robert Chmielowiec
534fcefae1 Fix service registration supported features check (#35718) 2020-05-24 11:27:02 +02:00
Aaron Bach
19f36eb5a1 Auto-level AirVisual API calls (#34903) 2020-05-24 11:26:58 +02:00
Alexei Chetroi
f4c5b9f8f8 Add ZHA roller shadows as cover instead of switch (#36059)
* Implement cover for "Shade" ZHA device type.
* Update ZHA cover tests.
* Add stop command
* Coverage.
2020-05-23 22:37:49 -04:00
HomeAssistant Azure
eaa16fa818 [ci skip] Translation update 2020-05-24 00:03:05 +00:00
michaeldavie
4dcff294c9 Update environment_canada camera (#36010)
* Bump env_canada to 0.0.38

* Fix timestamp type
2020-05-23 22:25:00 +02:00
Fredrik Erlandsson
f3411fee41 Bump tellduslive version (#36048) 2020-05-23 21:47:24 +02:00
mnaggatz
a5caf8576b Add support for Velux Gates (#34774) 2020-05-23 20:08:02 +02:00
Chris Talkington
be854b7363 Improve ipp unique id parsing (#35959) 2020-05-23 20:02:49 +02:00
Jc2k
6e3bba07da Bump aiohomekit (#36041) 2020-05-23 19:59:32 +02:00
Franck Nijhof
99e345d6e4 Upgrade hass-nabucasa to 0.34.3 (#36025) 2020-05-23 19:57:39 +02:00
J. Nick Koston
e9a729a46c Fix shade compatibility with hunter douglas powerview 1.0 hubs (#36040) 2020-05-23 19:56:27 +02:00
Erik Montnemery
b136390647 Reset zeroconf log level (#36002) 2020-05-23 11:29:13 -05:00
J. Nick Koston
2c7eee6722 Ensure configured logger severity is respected (#35749) 2020-05-23 18:12:55 +02:00
Robert Chmielowiec
d21cfd869e Fix service registration supported features check (#35718) 2020-05-23 18:11:51 +02:00
J. Nick Koston
b0578018cb Use a single service browser for zeroconf discovery (#35997) 2020-05-23 18:05:41 +02:00
Sören Oldag
cda2da62cf Migrate rpi_gpio_pwm to extend LightEntity instead of Light (#36028) 2020-05-23 14:09:59 +02:00
Alexei Chetroi
04cfd36d06 Fix ZHA climate hvac_action for Centralite thermostat (#35993)
* Centralite specific control seq of operation

* Remove Fan safeguards

* Split hvac_action property.

* Refactor hvac_action property.

Current hvac_action logic is Zen Within thermostat specific and differs
a bit from ZCL specs. Implement it as a separate class.

* Refactor hvac_action property for default thermostat

Follow more closely ZCL specs in parsing hvac state of the thermostat.
2020-05-23 06:22:36 -04:00
Felipe Martins Diel
3d253fa52a Handle StorageError in the Broadlink integration (#35986) 2020-05-23 11:10:06 +02:00
Fredrik Erlandsson
88ebdf3a53 Deprecate Daikin yaml-support (#35768) 2020-05-23 11:08:49 +02:00
Anders Melchiorsen
275c8b6982 Update sonos codeowners (#36016) 2020-05-23 11:08:01 +02:00
Chris Talkington
765bf760b4 Fix roku play/pause support (#35991) 2020-05-23 11:06:48 +02:00
Andre Lengwenus
919f3243de Fix device_registry cleanup behavior (#35977)
* Fix: Only decives which are not referenced by an entity or a config_entry are removed

* Adapted test for async_cleanup

* Changed variable names
2020-05-23 09:46:03 +02:00
Florent Thoumie
f1b91b050c Bump iaqualink to 0.3.3 (#35999) 2020-05-23 08:55:53 +02:00
Florent Thoumie
8b8aa198fa Fix iaqualink sensors (#36000)
* iaqualink: small sensor fixes

* Re-add device_class, fix type hints.
2020-05-23 08:53:10 +02:00
Jason Hunter
0514960bda Fix ONVIF PTZ and profile encoding issues (#36006)
* allow lib to create AsyncTransport

* fix transport close issue

* fix zoom only cameras without PTZ presets

* catch profiles without encoding configuration

* also catch ServerDisconnectedError for ptz
2020-05-22 21:11:30 -04:00
J. Nick Koston
80de233276 Ensure homekit functions if numpy is unavailable (#35931) 2020-05-23 02:52:33 +02:00
HomeAssistant Azure
56efc341dd [ci skip] Translation update 2020-05-23 00:02:41 +00:00
Jason Hunter
0e83cfade1 Fix ONVIF Transport (#35932)
* allow lib to create AsyncTransport

* fix transport close issue
2020-05-22 19:46:11 -04:00
Martin Hjelmare
cc369cd461 Fix lutron_caseta setup options (#35974) 2020-05-22 23:01:48 +02:00
Martin Hjelmare
6dfc362f98 Bump python-openzwave-mqtt to 1.0.2 (#35980) 2020-05-22 23:01:05 +02:00
John Hollowell
f74e2f8abb Update proxmoxer to 1.1.0 (#35951) 2020-05-22 22:53:17 +02:00
Bram Kragten
7043d1e163 Update frontend to 20200519.4 (#35987) 2020-05-22 22:50:03 +02:00
Jason Hunter
8cd905487e Bump pyAV and close unclosed outputs (#35960)
* bump pyAV and close unclosed outputs

* skip stream from coverage for now

* fix divide by zero error
2020-05-22 18:13:37 +02:00
Alexei Chetroi
be416d9fc6 No side effects in zha climate properties (#35942)
* No side effects in properties

* Remove logging
2020-05-22 09:24:42 -04:00
Hugues Granger
7035a6da9f Fix typo in conf[CONF_SSL] (#35946) 2020-05-22 13:08:53 +02:00
Fredrik Erlandsson
8d5cf1a72c Fix Daikin AC integration for AirBase units (#35952) 2020-05-22 12:07:01 +02:00
HomeAssistant Azure
973f66a974 [ci skip] Translation update 2020-05-22 00:05:00 +00:00
Bram Kragten
0dea4f2ad1 Update frontend to 20200519.3 (#35925)
* Updated frontend to 20200519.2

* Updated frontend to 20200519.3
2020-05-21 17:43:30 +02:00
Pascal Vizeli
7c784b6963 Merge pull request #35907 from home-assistant/rc
0.110.1
2020-05-21 12:26:15 +02:00
Marcel van der Veldt
5bef1c223d Add climate platform to ozw (#35566) 2020-05-21 11:19:20 +02:00
Aaron Bach
f5a326c51e Auto-level AirVisual API calls (#34903) 2020-05-21 10:49:18 +02:00
Pascal Vizeli
b266d3aaae Bump version 0.110.1 2020-05-21 08:47:50 +00:00
J. Nick Koston
e170e6563b Fix legacy Hunter Douglas PowerView devices (#35895)
These devices are missing firmware information
as the 1.0 firmware did not provide it.
2020-05-21 08:46:46 +00:00
J. Nick Koston
ddee8b68c6 Ensure storage write consume the data under the lock (#35889)
If two writes trigger at the same time the data would already
be consumed.
2020-05-21 08:46:45 +00:00
J. Nick Koston
c88c011df9 Ensure http can startup if homekit fails to load (#35888)
* Ensure HomeAssistant can startup if homekit fails to load

* Update homeassistant/components/logbook/manifest.json

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

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-05-21 08:46:43 +00:00
Jason Hunter
ae66f4250c fix mjpeg issue along with some cameras not returning event capabilities properly (#35885) 2020-05-21 08:46:42 +00:00
Daniel Perna
c7008eb761 Fix light profiles for HomeMatic lights (#35882) 2020-05-21 08:46:41 +00:00
Bram Kragten
b9ab6d1e10 Updated frontend to 20200519.1 (#35877) 2020-05-21 08:46:39 +00:00
J. Nick Koston
1c38bcaeb5 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 08:46:38 +00:00
Fredrik Erlandsson
813203a38f Fix Daikin duplicate entries (#35833) 2020-05-21 08:46:37 +00:00
uvjustin
2d76e12c21 Handle None received from pyforked-daapd (#35830)
* Handle None received from API in forked-daapd

* Bump pyforked-daapd version in requirements

* Add test
2020-05-21 08:46:35 +00:00
Emilv2
e979b54413 Fix Delijn sensor naming (#35789) 2020-05-21 08:46:34 +00:00
Daniel Perna
1958d132a9 Fix light profiles for HomeMatic lights (#35882) 2020-05-21 10:35:04 +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
J. Nick Koston
6d03496372 Ensure storage write consume the data under the lock (#35889)
If two writes trigger at the same time the data would already
be consumed.
2020-05-21 10:27:40 +02:00
Bram Kragten
4805723a3f Updated frontend to 20200519.1 (#35877) 2020-05-21 10:25:28 +02:00
Chris Talkington
78b57678d8 Update rokuecp to 0.4.1 (#35899)
* update rokuecp to 0.4.1

* Update requirements_all.txt

* Update requirements_test_all.txt
2020-05-21 09:22:49 +02:00
J. Nick Koston
b19223cb37 Fix legacy Hunter Douglas PowerView devices (#35895)
These devices are missing firmware information
as the 1.0 firmware did not provide it.
2020-05-21 09:18:45 +02:00
J. Nick Koston
c2f8e0bf66 Ensure http can startup if homekit fails to load (#35888)
* Ensure HomeAssistant can startup if homekit fails to load

* Update homeassistant/components/logbook/manifest.json

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

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-05-21 08:48:01 +02:00
Jason Hunter
a82900ae27 fix mjpeg issue along with some cameras not returning event capabilities properly (#35885) 2020-05-20 21:26:27 -04:00
Alexei Chetroi
ed2a43ba5b Fix zha climate tests (#35893) 2020-05-20 20:25:00 -04:00
HomeAssistant Azure
b32ec950ac [ci skip] Translation update 2020-05-21 00:02:31 +00:00
Aaron Bach
19573a9cbe Fix Prezzibenzina doing I/O in the event loop (#35881)
* Fix Prezzibenzina doing I/O in the event loop

* Linting
2020-05-20 16:09:00 -06:00
Martin Hjelmare
1593bdf2e9 Add climate services required features (#35804) 2020-05-20 23:47:30 +02:00
Alexei Chetroi
9907e95c34 Add zha climate (#35682)
* Initial ZHA climate implementation.
* Add retryable_request decorator.
sort helpers imports.

* Check manufacturer for Climate implementation.
* Default zha.climate.operation_list to [Off]
* Migrate to climate 1.0
* Sort imports, properties and methods.
* Handle 'PRESET_NONE' presets.
* Use pi_heating/cooling_demand for HVAC action prop.
* Implement `running_state` HVAC channel property.
For ZHA thermostats which don't support `pi_heating_demand` or
`pi_cooling_demand' attributes.

* wip fan support
* Refactor retryable request logging.
* Rebase cleanup.
* Update climate discovery.
* Fix ZHA climate restoration.
* Bulk configure attribute reports.
* Use configure_reporting_multiple command for Light
More detailed response parsing of configure_reporting_multiple.

* Use ordered list for HVAC cluster attribute reports.
* Don't mutilate HVAC mode list.
* Add fan_mode property to fan channel.
* Fix type hinting.
* Expose fan mode only.
* Implement fan mode setting.
Drop support for HVAC_FAN_ONLY mode.

* Use ClimateEntity as base class.
* Cleanup debug code.
* Update time display for Sinope.
* Don't do many retries.
* Don't use multi attr reporting configuration.
* Make tests pass.
* Drop support for setpoint change source/amount.
* Cleanups.
* Drop aux heat
* Update tests.
* Drop Sinope temperature display code.
* Update tests.
* Refactor temperature setting.
* Update tests.
* Update Fan tests.
* Lint
* Black.
* Use correct logging levels
2020-05-20 16:10:50 -04:00
uvjustin
b3459d9190 Handle None received from pyforked-daapd (#35830)
* Handle None received from API in forked-daapd

* Bump pyforked-daapd version in requirements

* Add test
2020-05-20 21:06:51 +02:00
Emilv2
53a9d39a81 Fix Delijn sensor naming (#35789) 2020-05-20 14:53:01 +02:00
thomkaufmann
4f317353e0 Add Nuki Opener integration (#35702)
* Add Nuki Opener integration

* Update pynuki version requirement; fix typo

* Update requirements_all.txt

* Create base class of shared lock and opener code

* Clean up code formatting

* Update requirements_all; Run isort

* Remove unnecessary pass statements
2020-05-20 14:44:57 +02:00
Fredrik Erlandsson
2b3cf97979 Fix Daikin duplicate entries (#35833) 2020-05-20 13:25:42 +02:00
Franck Nijhof
1502701e2b Merge branch 'master' into dev 2020-05-20 10:39:39 +02:00
Franck Nijhof
70b14518d0 Merge pull request #35828 from home-assistant/rc 2020-05-20 10:14:49 +02:00
Franck Nijhof
f3e5d03384 Bumped version to 0.110.0 2020-05-20 08:57:01 +02:00
Robert Svensson
57bcb4743d UniFi - Fix disabled entities being enabled after a restart (#35819)
* Async remove call removed too much, resulting in disabled entities coming back after a restart

* Calling super().async_remove is no longer needed, changed to self.async_remove

* Yes, they should be sets...
2020-05-20 08:55:06 +02:00
Franck Nijhof
ee92d64088 Add UUID to ZeroConf service info (#35623) 2020-05-20 08:37:32 +02:00
Xiaonan Shen
b452db8b67 Add dynamic icon to roomba battery sensor (#35647)
* Add dynamic icon to roomba battery sensor

* Fix lint

* Rename _state to _robot_state
2020-05-20 00:19:27 -05:00
HomeAssistant Azure
c10aa13d0b [ci skip] Translation update 2020-05-20 00:03:49 +00:00
Boris Kaplounovsky
37f9b24a85 Add xiaomi miio services remote_set_led_on/off (#35805)
* Add services remote_set_led_on/remote_set_led_off to control changmi_ir led

* pylint: elif => if

* Fix services.async_register => platform.async_register_entity_service

* Update homeassistant/components/xiaomi_miio/remote.py

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

* more fixes

* async

* more fixes

* fix

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-05-20 00:23:18 +02:00
Robert Svensson
648df6d984 UniFi - Fix disabled entities being enabled after a restart (#35819)
* Async remove call removed too much, resulting in disabled entities coming back after a restart

* Calling super().async_remove is no longer needed, changed to self.async_remove

* Yes, they should be sets...
2020-05-19 23:57:41 +02:00
Bram Kragten
d81a19b5a2 Bumped version to 0.110.0b5 2020-05-19 20:21:58 +02:00
Bram Kragten
39ce063500 Updated frontend to 20200519.0 (#35813) 2020-05-19 20:19:45 +02:00
Alexei Chetroi
af34d130b6 Bump up ZHA dependencies. (#35797) 2020-05-19 20:11:22 +02:00
uvjustin
0cb5ccd492 Change version check in forked-daapd zeroconf step (#35796) 2020-05-19 20:11:22 +02:00
Anders Melchiorsen
7433fa9265 Upgrade pysonos to 0.0.30 (#35793) 2020-05-19 20:11:21 +02:00
Jason Hunter
d629a55134 Fix ONVIF subscription renewal (#35792)
* fix subscription renewal

* catch ValueError for #35762
2020-05-19 20:11:20 +02:00
Tom Harris
28db0cebf0 Fix Insteon cover and smoke detector entities (#35810)
* Bump pyinsteon to 1.0.1

* Fix cover open/close calls

* Add smokebridge sensors

* trigger tests

* trigger tests
2020-05-19 19:38:00 +02:00
Odin Ugedal
6c4a6568f5 Fix timezone issues for db fields in recorder (#35719)
The database fields are timezoned via DateTime(timezone=True), so the
default value should be timezoned too. When using cockroachdb this is
fatal and results in the recorder crashing.
2020-05-19 13:13:27 -04:00
Martin Hjelmare
8970fd8a56 Bump codecov to 2.1.0 (#35808)
* Bump codecov to 2.1.0

* Try to invalidate cache
2020-05-19 13:08:36 -04:00
Bram Kragten
2da718d7e8 Updated frontend to 20200519.0 (#35813) 2020-05-19 13:07:15 -04:00
uvjustin
8c8feb95a9 Change version check in forked-daapd zeroconf step (#35796) 2020-05-19 15:17:02 +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
Felipe Martins Diel
2b38df2766 Allow underscores in broadlink hostnames (#35791)
* Allow underscores in hostnames

* Ignore case
2020-05-19 13:46:12 +02:00
Ron Klinkien
12ec476821 Update to garminconnect 0.1.13 (#35750)
* Update to garminconnect 0.1.13

This will fix body composition sensors being unavailable

* Update requirements_all to garminconnect 0.1.13

* Update requirements_test_all.txt
2020-05-19 07:40:31 -04:00
Alexei Chetroi
188255bd81 Bump up ZHA dependencies. (#35797) 2020-05-19 06:50:05 -04:00
Anders Melchiorsen
d6a5cb6083 Upgrade pysonos to 0.0.30 (#35793) 2020-05-19 08:58:51 +02:00
J. Nick Koston
ebed1de581 Avoid creating multiple sqlalchemy sessions in a single history call (#35721)
* Avoid a context switch in the history api

The history api was creating a job to fetch the
states and another job to convert the states to
json. This can be done in a single job which
decreases the overhead of the operation.

* Ensure there is only one sqlalchemy session created per history
query.

Most queries created three sqlalchemy sessions which was
especially slow with sqlite since it opens and closes the
database.

In testing the UI is noticeably faster at generating history
graphs for entites.

* Add additional coverage

* pass hass first to _states_to_json and _get_significant_states
2020-05-19 07:52:38 +02:00
Jason Hunter
aeae4edb74 Fix ONVIF subscription renewal (#35792)
* fix subscription renewal

* catch ValueError for #35762
2020-05-18 23:02:23 -04:00
HomeAssistant Azure
ef6b1f9302 [ci skip] Translation update 2020-05-19 00:04:18 +00:00
Franck Nijhof
7a72ada8b2 Bumped version to 0.110.0b4 2020-05-18 22:36:58 +02:00
Bram Kragten
a28646bc24 Updated frontend to 20200518.0 (#35785) 2020-05-18 22:31:35 +02:00
MatsNl
ca4433bd70 Bump Atag dependency to 0.3.1.2 (#35776) 2020-05-18 22:31:29 +02:00
uvjustin
c61bcbf982 Skip forked_daapd ignored entries with empty entry.data (#35772) 2020-05-18 22:31:24 +02:00
Fredrik Erlandsson
e9f398ac28 Fix daikin discovery flow (#35767) 2020-05-18 22:31:19 +02:00
J. Nick Koston
7417b3be66 Handle UPS disconnects in NUT (#35758) 2020-05-18 22:31:14 +02:00
Daniel Høyer Iversen
99afc17b3f Update mill manifest to reflect config flow (#35748) 2020-05-18 22:31:10 +02:00
J. Nick Koston
cc5fc2baa4 Ensure homekit version strings conform to spec (#35741)
HomeKit requires all version strings to be in the
format MAJOR.MINOR.REVISION
2020-05-18 22:31:05 +02:00
Daniel Høyer Iversen
e2f0520028 Upgrade opengarage lib to 0.1.4 (#35729) 2020-05-18 22:31:00 +02:00
uvjustin
5cb1924290 Abort forked-daapd zeroconf flow if version < 27 (#35709)
* Change MediaPlayerDevice to MediaPlayerEntity

* Abort zeroconf if mtd-version < 27.0
2020-05-18 22:30:55 +02:00
Alexei Chetroi
aa176aab07 Bump up ZHA dependencies (#35706) 2020-05-18 22:30:51 +02:00
Franck Nijhof
5695a63e59 Fix handling of additional data in core config storage (#35660) 2020-05-18 22:30:45 +02:00
gadgetmobile
93fddbed2b Fix review requests for BleBox support from #35370 (#35786)
* fix review requests from #35370

* fix pylint W0621 (redefined-outer-name)
2020-05-18 22:30:15 +02:00
uvjustin
8258fa515d Skip forked_daapd ignored entries with empty entry.data (#35772) 2020-05-18 21:40:39 +02:00
Bram Kragten
a8fb627abc Updated frontend to 20200518.0 (#35785) 2020-05-18 21:38:25 +02:00
Aaron Bach
b464d276e2 Add support for templates in Slack blocks (#34704) 2020-05-18 12:00:23 -06:00
J. Nick Koston
6885d72180 Avoid a context switch in the history api (#35716)
* Avoid a context switch in the history api

The history api was creating a job to fetch the
states and another job to convert the states to
json. This can be done in a single job which
decreases the overhead of the operation.

* Revert to original solution to avoid function redefine each call
2020-05-18 11:57:16 -05:00
MatsNl
aec68a9c2d Bump Atag dependency to 0.3.1.2 (#35776) 2020-05-18 18:12:00 +02:00
Fredrik Erlandsson
d0e8880e48 Fix daikin discovery flow (#35767) 2020-05-18 16:57:52 +02:00
J. Nick Koston
50105eed74 Handle UPS disconnects in NUT (#35758) 2020-05-18 16:23:05 +02:00
Daniel Høyer Iversen
affd11b372 Update mill manifest to reflect config flow (#35748) 2020-05-18 11:00:44 +02:00
Anders Melchiorsen
796e6141ac Handle Sonos changing IP address (#35639) 2020-05-17 20:20:10 -05:00
Josef Schlehofer
52a7a7175b Upgrade sqlalchemy to 1.3.17 (#35745) 2020-05-17 20:07:23 -05:00
HomeAssistant Azure
2e0c0ded51 [ci skip] Translation update 2020-05-18 00:03:08 +00:00
gadgetmobile
312080de08 Cleanup BleBox platforms (#35552) 2020-05-17 18:56:49 -05:00
gadgetmobile
902eb187ef Add Blebox lights support (#35370)
* add BleBox lights support

* cherry pick refactoring from #35552

* Inherit from LightEntity instead of Light

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

* import LightEntity instead of Light

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

Co-authored-by: J. Nick Koston <nick@koston.org>
2020-05-17 18:54:32 -05:00
Andrew Fahrenholtz
a03cb93f87 Add ARWN rain total and rain rate sensors (#35751)
* add rain total and rain rate sensors

* linting

* linting
2020-05-17 23:17:08 +02:00
J. Nick Koston
03b14c9aae Add sw_version and connections to sonos devices (#35743) 2020-05-17 16:16:50 -05:00
J. Nick Koston
f085fb1499 Set lifx device sw_version (#35739)
This change solves an issue where homekit would
think the firmware was out of date on the bulb
because no version was set.
2020-05-17 16:16:09 -05:00
tetienne
3815d7d74f Add Somfy hub as device (#35209) 2020-05-17 16:14:11 -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
Adam Belebczuk
5104b79b4b Bump PyWeMo version to 0.4.43 (#35693)
* PyWeMo version bump to 0.4.43

Changes necessary to safely upgrade to pyWeMo 0.4.43. This includes catching ActionExceptions that may be thrown by pyWeMo when it is unable to interact with a physical device.

* Black formatting fix

* Fix isort issues

* Code review changes

* More code review fixes

* Linting fix

* Undo dict.get change

* Change a couple instances of dict[key] to dict.get
2020-05-17 22:13:38 +02:00
springstan
b42a197293 Add and use ELECTRICAL_CURRENT_AMPERE, ELECTRICAL_VOLTAGE_AMPERE constants (#33990)
* Add and use ELECTRICAL_CURRENT_AMPERE constant

* Add and use ELECTRICAL_VOLTAGE_AMPERE constant

* Rename ELECTRICAL_VOLTAGE_AMPERE to ELECTRICAL_VOLT_AMPERE

* Fix imports
2020-05-17 15:58:31 +02:00
Tom Harris
dbd821a564 Change Insteon backend module to pyinsteon from insteonplm (#35198)
* Migrate to pyinsteon from insteonplm

* Rename devices entities

* Print ALDB even if not loaded

* Add relay to name map

* Change insteonplm to pyinsteon

* Update requirements_all correctly

* Code review updates

* async_set_speed receive std speed value

* default speed to std medium value

* Call async methods for fan on/off

* Comment await required in loop

* Remove emtpy and add codeowner

* Make services async and remove async_add_job call

* Remove extra logging

* New device as async task and aldb load in loop

* Place lock in context bloxk

* Limiting lock to min

* Remove .env file
2020-05-17 15:27:38 +02:00
uvjustin
47801e7350 Abort forked-daapd zeroconf flow if version < 27 (#35709)
* Change MediaPlayerDevice to MediaPlayerEntity

* Abort zeroconf if mtd-version < 27.0
2020-05-17 09:23:44 -04:00
Tom Harris
71d41cbb71 Add .env file to .gitignore for vscode environment settings (#35200) 2020-05-17 15:17:05 +02:00
rhadamantys
d98bd418b1 Add restore last state for EnOcean Sensors (#34375) 2020-05-17 15:12:49 +02:00
Xiaonan Shen
06d32baea4 Fix garmin_connect test (#35724) 2020-05-17 14:48:56 +02:00
J. Nick Koston
1297a09344 Avoid locking in the logging queue handler (#35700)
* Avoid locking in the logging queue handler

We do not need a lock here as the underlying queue is already
thread safe.

* Add coverage for logging handle
2020-05-17 14:39:27 +02:00
Alan Murray
65e509ed8f Add Acmeda integration (#33384)
* First cut of Rollease Acmeda Pulse Hub integration.

* Acmeda integration improvements:
 - Moved common code into a base entity
 - Battery level sensor added
 - Localisation now working

* Added requirement for aiopulse now that it has been uploaded to PyPI.

* Exclude acmeda integration from coverage check as it relies on a hub being present.

* Fix Travis CI build issues.

* Remove unused constants.

* Remove unused group logic from cover.py

* Removed commented code from base.py

* Remove sensors (battery entities) on removal of hub.

* Remove unused groups from sensor.py

* Acmeda device and entity update made fully asynchronous using subscriptions to remove need for config polling.

* Updated aiopulse version dependency.
Removed non-functional battery charging indication.

* Rationalised common code to update entities into helpers.py

* Fix linting issue.

* Correct additional CI pylint errors.

* Index config_entries by entry_id.
Move entity loading and unloading to __init__.py
Add entry_id to dispatcher signal
Removed now unused polling code hub
Added config_flow unit tests

* Tweak to integration config_entry title.

* Bumped aiopulse module to 0.3.2.
Reduced verbosity of aiopulse module.

* Changed to using direct write of device state.
Removed old style async_step_init config_flow step.

* Remove superfluous battery_level and device_state_attributes from battery entity.

* Removal of unused strings.
Removal of unused create_config_flow helper.
Removal of stale comment.

* Remove use of shared container to track existing enities.
Moved removal and deregistration of entities to base class through use of dispatch helper.

* Fixed strings.json

* Fix incorrect use of remove instead of pop on dict.

* Add support for tilting covers, bump aiopulse version number.

* Bump aiopulse version to v0.3.4.
Fixed bug in cover supported_features.

* Bumped aiopulse version to 0.4.0
Update acmeda .coveragerc exclusions

* Removed already configured hub check from __init__.py async_setup_entry
Removed passing in hass reference to base entity class
Renamed entity async_reset to async_will_remove_from_hass
Changed device_info and properties
Migrated to CoveEntity from CoverDevice
Added dispatched_connect cleanup on hub removal
Removed unused entries from manifest
Removed override of battery icon
Renamed translations folder

* Reversed unintended change to .coveragerc

* Fixed config flow for multi-hub discovery.

* Acmeda enhancements as requested by MartinHjelmare

* Force import to connect to hub to retrieve id prior to creating entry

* Remove YAML configuration support.

* Tidied up config_flow and tests:
 - removed unnecessary steps
 - fixed typos

* Removed storage of hub in config_flow.
2020-05-17 12:15:06 +02:00
Raman Gupta
eec1b3e7a7 Reduce Vizio API calls (#35726)
* reduce calls to API

* get apps list every time

* fix typo
2020-05-17 12:13:53 +02:00
Daniel Høyer Iversen
e2551b4e21 Upgrade opengarage lib to 0.1.4 (#35729) 2020-05-17 12:09:16 +02:00
Joakim Plate
62aa16e6e3 Support config entry unload in arcam_fmj (#35656)
* Support entry unload

* Switch to create_task and skip checking for available task
2020-05-17 12:05:21 +02:00
Joao Carreira
df830a50e7 Add support for custom media_type in mediaroom (#34625)
* Add support for custom media_type in mediaroom

* Clean logging

* Fix formatting

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-05-17 10:36:28 +02:00
Steffen Zimmermann
51eebb3906 Add config option to set timeout for wiffi devices (#35694)
* add config option to set timeout for wiffi devices

Wiffi devices allow to configure the update period (=
full_loop_minutes). The integration shall respect the configured update
period and therefore need a configuration for the timeout, too.

* Move timeout from config flow to option flow

* add test for option flow
2020-05-17 10:31:28 +02:00
Carlos Giraldo
d02bb70f0c deCONZ - Add support for "Window covering controller" (#35294)
* Add support for "Window covering controller" 

Some window cover devices such as Sunricher SR-ZG9080A are identified in deconz as "Window covering controller".
We need to include this device type in const.py to be integrated as type "cover" in home-assistant.

* Added Window covering controller to deconz tests
2020-05-17 09:57:24 +02:00
HomeAssistant Azure
e94f44f294 [ci skip] Translation update 2020-05-17 00:02:56 +00:00
J. Nick Koston
fca96799a0 Prevent updater from delaying startup (#35708)
* Prevent updater from delaying startup

The updater sometimes times out as seen in
#33833 and the linked issues. The issue was
presenting again today as it appears the service
is overloaded again.

* s/hass.loop/asyncio/g
2020-05-16 23:34:34 +02:00
Alexei Chetroi
98523fbb61 Bump up ZHA dependencies (#35706) 2020-05-16 14:30:54 -04:00
Daniel Perna
cd68f7dc14 Update pyhomematic to 0.1.67 (#35637) 2020-05-16 17:56:26 +02:00
Robert Van Gorkom
11b786a4fc Add config flow to gogogate2 component (#34709)
* Add config flow to gogogate2 component.

* Using a more stable gogogate api.

* Getting config flows working better by using different downstream library.

* Fixing options not getting default values.
Adding availability to cover entity.

* Simplifying return types of function.

* Address PR feedback.

* Making user config flow not abort.

* Using DataUpdateCoordinator.

* Addressing PR feedback.

* Using standard method for using hass.data

* Split auth fail test into separate tests.
2020-05-16 10:53:11 -05:00
gadgetmobile
6e0359efa6 Add Blebox air quality support (#35372)
* support BleBox air-quality

* fixed switch tests via cherry-pick from #35552

* fix test after cherry-picking

* fix flake8 issues
2020-05-16 10:51:37 -05:00
J. Nick Koston
73616520c0 Use built in queue log handlers to avoid formatting logs in the event loop (#35633)
* Use built in queue log handlers to avoid formatting logs in the event loop

Logging is now formatted and written in another thread to
ensure there is minimal impact on the event loop when
a log message is processed.

This change replaces the existing AsyncHandler log handler
as python 3.7+ now offers an off the shelf solution

* add a simple test

* s/async_migrate_log_handlers_to_queue/async_activate_log_queue_handler/g
2020-05-16 09:29:58 -05:00
Franck Nijhof
d3ae8a938c Fix handling of additional data in core config storage (#35660) 2020-05-16 13:31:15 +02:00
Franck Nijhof
4a9a004de0 Bumped version to 0.110.0b3 2020-05-16 11:06:22 +02:00
uvjustin
c270d5edcf Change MediaPlayerDevice to MediaPlayerEntity (#35692) 2020-05-16 11:05:15 +02:00
Bram Kragten
cf034ee729 Updated frontend to 20200515.0 (#35677) 2020-05-16 11:05:11 +02:00
Jason Hunter
316d44cf33 ONVIF: Add check around media capabilities (#35667) 2020-05-16 11:05:07 +02:00
Bram Kragten
dbd30d571d Fix caldav event for calendar panel (#35653) 2020-05-16 11:05:03 +02:00
Xiaonan Shen
78c9411dde Bump roombapy to 1.6.1 (#35650)
* Bump roombapy to 1.6.1

* Improve roomba error handling
2020-05-16 11:04:59 +02:00
Glenn Waters
2f999dd77e Update Universal Powerline Bus event name (#35644) 2020-05-16 11:04:55 +02:00
Chris Talkington
e8ee3c7d4d Prevent discovery of IPP printers lacking identifier (#35630) 2020-05-16 11:04:51 +02:00
Chris Talkington
aaf515ef67 Prevent discovery of IPP printers lacking identifier (#35630) 2020-05-16 10:48:36 +02:00
Glenn Waters
ab631a51bd Update Universal Powerline Bus event name (#35644) 2020-05-16 10:43:40 +02:00
uvjustin
299a4fa1c0 Change MediaPlayerDevice to MediaPlayerEntity (#35692) 2020-05-16 10:06:35 +02:00
HomeAssistant Azure
f3bb370b3a [ci skip] Translation update 2020-05-16 00:03:50 +00:00
Bram Kragten
bdd99024b1 Updated frontend to 20200515.0 (#35677) 2020-05-16 00:12:58 +02:00
Robert Svensson
714047f789 Axis - Streamline setup and teardown of integration (#35675)
* Streamline setup and teardown of integration

* Dont remove integration twice
2020-05-15 23:56:09 +02:00
gadgetmobile
890013cecf Add Blebox switch support (#35371)
* support BleBox switches

* fix tox py37 test failures

* refactor BleBox device class map
2020-05-15 16:48:17 -05:00
Robert Svensson
064321c21e UniFi - Remove unused string definition, pointed out by Bram (#35678) 2020-05-15 23:43:00 +02:00
Jason Hunter
3a3f39b642 ONVIF: Add check around media capabilities (#35667) 2020-05-15 20:05:32 +02:00
J. Nick Koston
7e56f2cc0e Update cast to use shared zeroconf (#35570)
* Update cast to use the shared zeroconf instance

* Add zeroconf to after_dependencies

* Bump version to 5.2.0
2020-05-15 11:09:21 -05:00
zewelor
92756f9b12 Add explicit return none and binary sensor availability to yeelight (#35649)
* Add explicit return none and binary sensor availbility

* Fix
2020-05-15 17:41:53 +02:00
Franck Nijhof
ddb5ed9dc8 Add more information to discovery API (#35624) 2020-05-15 13:29:55 +02:00
Bram Kragten
e74e0d1710 Fix caldav event for calendar panel (#35653) 2020-05-15 12:36:02 +02:00
Xiaonan Shen
6d0909134c Bump roombapy to 1.6.1 (#35650)
* Bump roombapy to 1.6.1

* Improve roomba error handling
2020-05-15 12:18:43 +02:00
Bram Kragten
5496a8ca05 Bumped version to 0.110.0b2 2020-05-15 09:12:26 +02:00
Quentame
3928fe9578 Bump python-synology to 0.8.1 (#35640)
* Bump python-synology to 0.8.1

* Fix tests
2020-05-15 09:10:28 +02:00
Bram Kragten
592ecd479f Updated frontend to 20200514.1 (#35632) 2020-05-15 09:10:27 +02:00
Quentame
d8c7a10fd7 Bump python-synology to 0.8.1 (#35640)
* Bump python-synology to 0.8.1

* Fix tests
2020-05-14 22:20:53 -05:00
HomeAssistant Azure
9586e9ebef [ci skip] Translation update 2020-05-15 00:02:56 +00:00
J. Nick Koston
047f3d6061 Fix CI failure on arcam tests (#35641) 2020-05-15 01:27:22 +02:00
Franck Nijhof
20188a36de Bumped version to 0.110.0b1 2020-05-14 23:49:29 +02:00
Franck Nijhof
d66856dd17 Update translations for OZW and ONVIF 2020-05-14 23:48:43 +02:00
Daniel Perna
9adc48c0b0 Fix HM-CC-VD unit, #31083 (#35066) 2020-05-14 23:35:11 +02:00
Franck Nijhof
bcf068f66f Rename zwave_mqtt to ozw (#35631) 2020-05-14 23:33:33 +02:00
Alexei Chetroi
618ce2ff0a Don't remove deprecated ZHA config option yet (#35627) 2020-05-14 23:26:17 +02:00
Jason Hunter
05778ad307 additional log info and strings fix (#35622) 2020-05-14 23:26:13 +02:00
Ville Skyttä
bc0109256f Upgrade huawei-lte-api to 1.4.12 (#35618)
https://github.com/Salamek/huawei-lte-api/releases/tag/1.4.12
2020-05-14 23:26:09 +02:00
Anders Melchiorsen
fa487c7c2f Upgrade to pysonos 0.0.29 (#35617) 2020-05-14 23:26:05 +02:00
Bram Kragten
b3a0270acd Add check for HTML in translations (#35615)
* Add check for HTML in translations

and remove existing html

* Add test
2020-05-14 23:26:02 +02:00
zacpotts
a930175c55 Fix zwave thermostat specific device type (#35609) 2020-05-14 23:25:58 +02:00
Marcel van der Veldt
45d3bb7da2 Fix zwave_mqtt creating the device name (#35603)
* Fix for creating the device name

Creating the devicename included a typo and was missing the custom (preferred) name set by the OZW Admin tool.

* update comments
2020-05-14 23:25:55 +02:00
Jason Hunter
b83adad417 Additional checks for ONVIF event capabilities (#35599)
catch any exceptions when pulling event capabilities and assume it is not supported
2020-05-14 23:25:51 +02:00
Bram Kragten
856c0e6a15 Updated frontend to 20200514.0 (#35598) 2020-05-14 23:25:48 +02:00
J. Nick Koston
eeaef5731f Fix reversed logic in zeroconf homekit pairing check (#35596)
* Fix reversed logic in zeroconf homekit pairing check

* s/server_info/service_info/
2020-05-14 23:25:44 +02:00
uvjustin
cc431b9f14 Clean up forked_daapd volume saving/setting in async_play_media (#35584)
* Clean up volume saving/setting in async_play_media

* Set source to pipe when queued externally

* Add server version requirement to error string
2020-05-14 23:25:40 +02:00
Bouwe Westerdijk
506dd1d423 Bump haanna to 0.15.0 (#35579)
* Link to haanna v0.15.0

* Update requirements_all.txt
2020-05-14 23:25:35 +02:00
Steven Looman
0e79b47b43 Properly handle incomplete upnp ssdp discovery (#35553) 2020-05-14 23:25:29 +02:00
Joakim Plate
5c0d237c2d Add device triggers to support setting turn_on event (#35456)
* Add device triggers to support setting turn_on event

* Add turn on event

* Add unique_id based on config entry

* Adjust tests for addition of uuid

* Supported features are now always same

* Switch to player_setup fixture that actually start platform

* Update homeassistant/components/arcam_fmj/const.py

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

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-05-14 23:24:19 +02:00
Boris Kaplounovsky
37cabe5562 Add icons for upload/download sensors for asuswrt (#35581) 2020-05-14 23:06:33 +02:00
Steven Looman
d0d9b4df78 Properly handle incomplete upnp ssdp discovery (#35553) 2020-05-14 22:58:41 +02:00
Franck Nijhof
0be20ec6ab Rename zwave_mqtt to ozw (#35631) 2020-05-14 22:56:04 +02:00
isk0001y
626f72b97a Add tado zone variable open window detected (#34969)
* openwindow0: this is the part for the HA itself

* Update homeassistant/components/tado/sensor.py

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

* Update homeassistant/components/tado/sensor.py

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

* new version after review

Co-authored-by: J. Nick Koston <nick@koston.org>
2020-05-14 14:48:34 -05:00
Bram Kragten
fca09b2615 Updated frontend to 20200514.1 (#35632) 2020-05-14 21:31:35 +02:00
Alexei Chetroi
7e1c836acb Don't remove deprecated ZHA config option yet (#35627) 2020-05-14 13:50:54 -04:00
zewelor
8cf354c042 Provide yeelight unique_id using ssdp discovery (#35448)
* Provide yeelight unique_id using ssdp discovery

* Fixes

* Comment fix

* Cleanup initialization logic and add unique id to binary sensor

* Update homeassistant/components/yeelight/__init__.py

Co-authored-by: Teemu R. <tpr@iki.fi>

* Update homeassistant/components/yeelight/__init__.py

Co-authored-by: Teemu R. <tpr@iki.fi>

* Update comment

* Update comment

* Fix wrong model docstring

Co-authored-by: Teemu R. <tpr@iki.fi>
2020-05-14 19:44:32 +02:00
uvjustin
9fd6db4b5f Clean up forked_daapd volume saving/setting in async_play_media (#35584)
* Clean up volume saving/setting in async_play_media

* Set source to pipe when queued externally

* Add server version requirement to error string
2020-05-14 19:42:00 +02:00
Bram Kragten
cb7b8d94c0 Add check for HTML in translations (#35615)
* Add check for HTML in translations

and remove existing html

* Add test
2020-05-14 19:33:14 +02:00
J. Nick Koston
a42a654590 Fix reversed logic in zeroconf homekit pairing check (#35596)
* Fix reversed logic in zeroconf homekit pairing check

* s/server_info/service_info/
2020-05-14 18:58:40 +02:00
Jason Hunter
b7ab07c987 additional log info and strings fix (#35622) 2020-05-14 11:25:58 -04:00
Anders Melchiorsen
4b00dedff5 Upgrade to pysonos 0.0.29 (#35617) 2020-05-14 10:24:26 -05:00
Ville Skyttä
7d02b15437 Upgrade huawei-lte-api to 1.4.12 (#35618)
https://github.com/Salamek/huawei-lte-api/releases/tag/1.4.12
2020-05-14 17:22:49 +02:00
Marcel van der Veldt
d480cb7b2c Fix zwave_mqtt creating the device name (#35603)
* Fix for creating the device name

Creating the devicename included a typo and was missing the custom (preferred) name set by the OZW Admin tool.

* update comments
2020-05-14 10:33:57 -04:00
starkillerOG
256370afa8 Xiaomi Miio zeroconf discovery (#35352) 2020-05-14 15:59:40 +02:00
Franck Nijhof
c67d035366 Rename zigbee to xbee (#35613) 2020-05-14 12:19:59 +02:00
zacpotts
55b444cccf Fix zwave thermostat specific device type (#35609) 2020-05-14 12:03:53 +02:00
Aaron Bach
c9b702c4c2 Remove Automatic integration (#35029) 2020-05-14 11:24:22 +02:00
Robert Svensson
e6c58c9795 Axis - Code improvements (#35592)
* Adapt library improvements
Clean up integration and tests and make them more like latest changes in UniFi integration

* Bump dependency to v26
2020-05-14 10:49:27 +02:00
Ville Skyttä
cf50ccb919 Run pre-commit gen_requirements_all on pre-commit config changes (#35588) 2020-05-14 07:24:27 +02:00
Bouwe Westerdijk
efb0593473 Bump haanna to 0.15.0 (#35579)
* Link to haanna v0.15.0

* Update requirements_all.txt
2020-05-14 07:03:42 +02:00
Jason Hunter
7ab19bdfcc Additional checks for ONVIF event capabilities (#35599)
catch any exceptions when pulling event capabilities and assume it is not supported
2020-05-13 22:24:38 -04:00
Bram Kragten
99d3046a5b Updated frontend to 20200514.0 (#35598) 2020-05-13 21:37:14 -04:00
HomeAssistant Azure
710f226778 [ci skip] Translation update 2020-05-14 00:02:46 +00:00
Ville Skyttä
e2b45915a6 Upgrade flake8 to 3.8.1, fix findings (#35578) 2020-05-13 17:14:30 -05:00
Franck Nijhof
d6d94473e4 Bumped version to 0.111.0dev0 (#35593) 2020-05-13 23:34:05 +02:00
Franck Nijhof
638f37167f Bumped version to 0.110.0b0 2020-05-13 20:31:45 +02:00
Franck Nijhof
2308b94702 Merge branch 'dev' into rc 2020-05-13 20:31:21 +02:00
Paulus Schoutsen
0efeefe3b2 Update translations 2020-05-13 11:27:21 -07:00
Franck Nijhof
d447a8347b Merge branch 'master' into dev 2020-05-13 20:22:43 +02:00
J. Nick Koston
6d8b8ecfa9 Add ssdp discovery for isy994 (#35568)
* Add ssdp discovery for isy994

* Increase test coverage for existing config flow

* Update tests/components/isy994/test_config_flow.py

Co-authored-by: shbatm <support@shbatm.com>

* Update tests/components/isy994/test_config_flow.py

Co-authored-by: shbatm <support@shbatm.com>

* move constants

* Update tests/components/isy994/test_config_flow.py

Co-authored-by: shbatm <support@shbatm.com>

* undo CONF_TLS_VER from homeassistant.const

Co-authored-by: shbatm <support@shbatm.com>
2020-05-13 11:15:17 -05:00
Kevin Fronczak
85726b67b7 Add config flow and 2FA support for Blink (#35396) 2020-05-13 15:50:29 +02:00
Bram Kragten
0a94d9b284 Updated frontend to 20200513.0 (#35574) 2020-05-13 15:30:27 +02:00
Xiaonan Shen
ce99fa8c02 Add config flow to pi_hole integration (#35442)
* Add config flow to pi-hole

* Add config flow tests

* Change PlatformNotReady to ConfigEntryNotReady

* Improve config flow

* Add @shenxn as codeowner

* Use entity_id as unique id

* Remove .get with [] for required fields

* Remove unique id from config flow

* Replace some strings with references

* Fix api_key string

* Fix service api_key check

* Remove unused DuplicatedNameException
2020-05-13 09:25:06 -04:00
Matthias Alphart
7147c5306d update knx module to xknx 0.11.3 (#35154)
- add expose attribute function and default value
- default climate havc_mode to "heat" if modes are not supported
- support `update_entity` service call
2020-05-13 09:19:00 -04:00
uvjustin
c41fb2a21f Add forked_daapd integration (#31953)
* New forked_daapd component

* Bunch of changes

Add config flow and zeroconf
Add zones on callback when added by server
Add password auth
Add async_play_media for TTS
Add media_image_url
Add support for pipe control/input from librespot-java
Improve update callbacks

* Refactor as per code review suggestions

Move config_flow connection testing to pypi library (v0.1.4)
Remove use of ForkedDaapdData class
Decouple Master and Zone data and functions
Add updater class to manage websocket and entity updates

* More changes as per code review

Avoid direct access to entities in tests
Bump pypi version
Mark entities unavailable when websocket disconnected
Move config tests to test_config_flow
Move full url creation from media_image_url to library
Move updater entity from master to hass.data
Remove default unmute volume option
Remove name from config_flow
Remove storage of entities in hass.data
Use async_write_ha_state
Use signal to trigger update_options
Use unittest.mock instead of asynctest.mock

* Yet more changes as per code review

Add more assertions in tests
Avoid patching asyncio
Make off state require player state stopped
Only send update to existing zones
Split up some tests
Use events instead of async_block_till_done
Use sets instead of lists where applicable
Wait for pause callback before continuing TTS

* Remove unnecessary use of Future()

* Add pipes and playlists as sources

* Add support for multiple servers

Change config options to add max_playlists+remove use_pipe_control
Create Machine ID in test_connection and also get from zeroconf
Modify hass.data storage
Update host for known configurations
Use Machine ID in unique_ids, entity names, config title, signals

* Use entry_id as basis for multiple entries

* Use f-strings and str.format, abort for same host

* Clean up check for same host
2020-05-13 09:13:41 -04:00
jjlawren
c12f8bed43 Plex discovery on demand (#35303)
* Allow Plex discovery on demand

* Add new discovery source

* Add tests
2020-05-13 09:11:00 -04:00
Steffen Zimmermann
ee96ff2846 Add wiffi integration (#30784)
* Add integration for wiffi devices

wiffi devices are DIY board manufactured by stall.biz.
Several devices are available, e.g. a weather station (weatherman), an
indoor environmental sensor (wiffi-wz) and some more.
This intgration has been developed using a weatherman device, but should
also work for other devices from stall.biz.

* Fix pylint warning

* Use WIFFI / STALL WIFFI instead of wiffi to be consistent with stall.biz

* Don't update disabled entities.

* fix complains

- move wiffi specific code to pypi
- remove yaml configuration code

* incorporate various suggestions from code review

* fix remaining comments from Martin

* fix comments

* add tests for config flow

* fix comments

* add missing requirements for tests

* fix pylint warnings

* fix comments

* fix comments

remove debug log
rename .translations to translations

* rebase and adapt to latest dev branch

* Update homeassistant/components/wiffi/config_flow.py

Co-Authored-By: Martin Hjelmare <marhje52@gmail.com>

* Update homeassistant/components/wiffi/config_flow.py

Co-Authored-By: Martin Hjelmare <marhje52@gmail.com>

* fix missing import

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-05-13 10:40:58 +02:00
Felipe Martins Diel
6464c94990 Fix connection problems in the Broadlink integration (#34670)
* Use helper functions for exception handling

* Create a separate class to handle communication with the device

* Update manifest

* Use coroutine for service setup

* Fix sensor update

* Update tests

* Fix MP1 switch

* Add device.py to .coveragerc

* Remove unnecessary blocking from test_learn_timeout

* Change access method for entries with default values

* Make the changes suggested by MartinHjelmare

* Remove dot from debug message

* Use underscore for unused variable
2020-05-13 10:36:32 +02:00
Martin Hjelmare
2a120d9045 Patch aiohttp client session close (#34769)
* Patch aiohttp client session close

* Add test

* Restore close regardless of auto_cleanup

* Close session instead of detaching and do not restore

* Delint test

* Add frame helper

* Use frame helper

* Test warning log when closing session

* Clean up

* Correct docstring

* Do not change shutdown

* Fix tests
2020-05-13 09:58:33 +02:00
jjlawren
2f6da20065 Bump plexapi to 3.6.0 (#35563) 2020-05-12 22:56:35 -05:00
Xiaonan Shen
36ad9a25e3 Fix synology temperature rounding (#35556)
* Fix synology temperature rounding

* Remove stale comment
2020-05-13 03:10:17 +02:00
Robert Svensson
785b8d2bd1 UniFi - Sites don't declare role on UniFiOS 1.7.0 beta (#35555)
* New way to identify role, compatible with standalone controller or as part of unifios

* Remove error

* Bump dependency to v22

* Remove unused import
2020-05-13 00:37:16 +02:00
Franck Nijhof
eddb5c6c3f Add more system information from Supervisor (#35560) 2020-05-12 15:27:34 -07:00
Emily Mills
306f15723d Add Zerproc integration (#35477) 2020-05-13 00:26:44 +02:00
Bram Kragten
3936cbebbb Updated frontend to 20200512.0 (#35558) 2020-05-12 18:16:11 -04:00
Thomas Johanns
8f76f59b8b Implement soundtouch select source (#31669) 2020-05-12 22:56:12 +02:00
On Freund
3fcd7866cc Try to automatically detect zones on first run of Monoprice integration (#35127) 2020-05-12 22:30:59 +02:00
J. Nick Koston
16cc4aed06 Ensure homekit_controller recieves zeroconf c# updates (#35545)
* Ensure homekit_controller recieves zeroconf c# updates

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

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

This avoids the device showing up a second time.

* remove debug

* fix refactor error
2020-05-12 14:59:29 -05:00
Willem-Jan
f6b6e2f7d1 Bump bsblan lib to version 0.3.7 (#35551) 2020-05-12 21:14:42 +02:00
rajlaud
79a313d505 Fix examples in services.yaml for squeezebox component (#35548) 2020-05-12 21:10:46 +02:00
Daniel Høyer Iversen
13ff5862d1 Upgrade opengarage library (#35549) 2020-05-12 21:02:18 +02:00
Marcel van der Veldt
1351ddd11e Add binary sensor platform to zwave_mqtt (#35519)
* add binary sensor platform to zwave_mqtt

* add tests for binary_sensor

* fix tests

* device class is required value

* Update homeassistant/components/zwave_mqtt/binary_sensor.py

use colon as separator

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

* extend tests

* code optimize

* add test for enabling a legacy binary sensor

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-05-12 20:07:11 +02:00
Paulus Schoutsen
dd32324e01 Use config flow references for data (#35529) 2020-05-12 10:50:44 -07:00
Paulus Schoutsen
1f71bdedab Add temperature device class to Darksky sensors (#35544) 2020-05-12 10:37:04 -07:00
Paulus Schoutsen
befda9a78b Add email as common data string (#35546) 2020-05-12 09:08:07 -07:00
J. Nick Koston
68179e2672 Fix sense doing I/O in the event loop (#35523)
When the websocket is created `SSLContext.load_default_certs` is called
each time which opens up the system default ssl certs file and reads it in

Normally this goes unnoticed, however since there are frequent connects
and disconnects of the websocket it was noticeable.
2020-05-12 10:48:51 -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
Chris Talkington
de22bb1df6 Use common strings for roku config flow (#35504)
* use common strings for roku config flow.

* Update strings.json

* Update strings.json
2020-05-12 10:00:38 -05:00
guillempages
1e157a4f41 Add validator for battery scan option (#35506)
* Add validator for battery scan option

Add a validator for the track battery option.
Also add the possibility of configuring the battery scan interval.

* Set config defaults on the validator

Set the defaults on the platform schema, and not in the initialization code.
2020-05-12 09:58:24 -05:00
Nicolas Bourasseau
2984b9fd18 Meteo-France Vigilance Dependancy Update (#35537)
* Update requirements_all.txt

Updated to vigilancemeteo version 3.0.1

* Update requirements_test_all.txt

Updated to vigilancemeteo version 3.0.1

* Update manifest.json

Update to correct typo error
2020-05-12 10:42:57 -04:00
ochlocracy
15e8f4614c Return fan_speed_list based on SUPPORT_FAN_SPEED. (#35347) 2020-05-12 09:24:13 -05:00
gadgetmobile
53771bd576 support BleBox sensor (#35374) 2020-05-12 09:10:03 -05:00
MatsNl
4099815a08 Rewrite Atag (#35496)
* rewrite library

* Update strings.json

* fix updated with empty reply

* dont use entity_id

* atag_id

* use super init instead

* original ids to prevent breaking change
2020-05-12 11:47:33 +02:00
Marcel van der Veldt
86b984b0bd Fix zwave_mqtt discovery of switch entities (#35533)
limit of device_class is redundant as we're already scoping to the Binary Switch CommandClass as primary value.
2020-05-12 11:45:05 +02:00
Chris Talkington
e4afb949d7 Use common strings for ipp config flow (#35505)
* Use common strings for ipp config flow

* Update strings.json

* Update strings.json

* Update strings.json
2020-05-11 22:52:16 -05:00
Xiaonan Shen
2748dcaaf1 Use common strings for songpal config flow (#35517) 2020-05-11 22:48:41 -05:00
Glenn Waters
ea9c103fe1 Universal Powerline Bus -- Link Events (#35526)
* Universal Powerline Bus - Link Event

* Bump lib version.

* Update homeassistant/components/upb/__init__.py

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

Co-authored-by: J. Nick Koston <nick@koston.org>
2020-05-11 22:34:31 -05:00
shbatm
b1d59679e5 Code conformance and sensor value clean-up on ISY994 (#35514)
* Consolidate value conversion functions

* Update to sensor

* Fix property name

* Revise sensors and state reporting per code standards

* Update uom function and revert to property
2020-05-11 21:32:19 -05:00
Alexei Chetroi
2f73361381 Bump up ZHA dependecy (#35521)
* Bump up ZHA dependecy
* Fix tests.
2020-05-11 20:22:27 -04:00
Tomer Figenblat
71b797faf2 Bumped aioswitcher to 1.2.0. (#35510) 2020-05-11 20:05:42 -04:00
Willem-Jan
c5c1c2e298 Fix bsblan get key CONF_PASSKEY (#35513)
* Fix get key CONF_PASSKEY

PASSKEY is optional so it should use .get

* Clean up

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-05-11 20:02:25 -04:00
Franck Nijhof
2d43698958 Upgrade pre-commit to 2.4.0 (#35520) 2020-05-11 20:00:08 -04:00
J. Nick Koston
3315c4c6c3 Pre-filter zeroconf service browser updates (#35518)
Each ServerBrowser currently runs in its own thread which
processes every A or AAAA record update per instance.

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

To avoid overwhemling the system we pre-filter here and only process
DNSPointers for the configured record name (type)
2020-05-11 18:30:15 -05:00
Dan Jenkins
dd22200a69 Compare uvc rtsp stream uri to host config (#31107) 2020-05-12 00:50:54 +02: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
Steven Looman
48899c7a1c Move upnp update_interval options flow (#35474) 2020-05-11 20:03:12 +02:00
David Straub
d2502f649f Fix Home Connect datetime comparison (#35501) 2020-05-11 19:55:09 +02:00
Fredrik Erlandsson
93f8d21bc0 Bump pydaikin to 2.0.1, catch HTTPForbidden exception (#35466) 2020-05-11 10:39:20 -07:00
Eerovil
3de4bc56b5 Add cast app media (#35114)
* Extend media_play for media_type cast
2020-05-11 19:22:26 +02:00
Jason Hunter
132bb4e890 ONVIF Event Implementation (#35406)
Initial implementation of ONVIF event sensors
2020-05-11 13:12:12 -04:00
shbatm
9eb1505aa1 Add Device and Integration Services to ISY994 (#35467)
* ISY994 Add Services

ISY994 Add support for climate platform

* Remove device registry cleanup

Remove device registry cleanup from service in favor of #35106

* ISY994 Update Services Definitions

Rename entry to config_entry_id

* Grammar corrections

Fix Typo

* Add await and lower logging per review.

* Rename to entries and remove unused device_id refs

* Fix tuple typo

* Fix Typo in strings

* Fix typo in strings
2020-05-11 10:58:58 -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
Fredrik Erlandsson
6d9f561853 Use config flow base strings (#35494) 2020-05-11 15:22:37 +02: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
ollo69
f4e4ea10e5 Minor Tuya Fix (#35497) 2020-05-11 08:45:12 -04:00
Paulus Schoutsen
c401949af8 Handle error fetching available account link services (#35485) 2020-05-11 08:09:44 -04:00
Florian Klien
f4ab5ee54f Upgrade slixmpp library to 1.5.1 (#35495) 2020-05-11 14:00:42 +02:00
Xiaonan Shen
5d8e6d5432 Fix light toggle service attributes (#35483) 2020-05-11 12:58:59 +02:00
Raman Gupta
823a44cd23 Use common strings and fix key name for error in vizio (#35487)
* use common strings where applicable and fix key name for error

* add additional key reference

* update access token reference
2020-05-11 11:26:31 +02:00
MatsNl
717c55d1f5 Correctly handle failed Atag update in coordinator (#35473)
* delay loading configentry if update failed

* raise updatefailed on empty atagreply

* Update __init__.py

Co-authored-by: Boris Nelissen <borisnelissen91@gmail.com>
2020-05-11 11:09:43 +02:00
jjlawren
1e00fc2af7 Change unique_id for webostv (#34979)
* Revert #34656

* Use pairing key as unique_id
2020-05-11 11:09:16 +02:00
Chris Aljoudi
d072091926 Add lutron_caseta config entries (#34133)
* lutron_caseta: allow for multiple bridges; use config entries

Refactor to use config entries/flows, but only implemented import
(async_setup) flow handler for now.

* lutron_caseta: config_flow.py pylint hint

Co-Authored-By: Martin Hjelmare <marhje52@gmail.com>

* lutron_caseta: tweaks to __init__.py per PR feedback

* lutron_caseta: add config_flow tests

* lutron_caseta: verify connectivity to bridge

check connectivity before creating config entry; cleanup translation/strings

* lutron_caseta: allow for multiple bridges; use config entries

Refactor to use config entries/flows, but only implemented import
(async_setup) flow handler for now.

* lutron_caseta: config_flow.py pylint hint

Co-Authored-By: Martin Hjelmare <marhje52@gmail.com>

* lutron_caseta: tweaks to __init__.py per PR feedback

* lutron_caseta: add config_flow tests

* lutron_caseta: verify connectivity to bridge

check connectivity before creating config entry; cleanup translation/strings

* lutron_caseta: add error logging when exception is encountered checking connectivity

* lutron_caseta: tests mock bridge creation, not ha-side connectivity check

* lutron_caseta: catch more specific Error types while checking bridge conn.

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-05-11 11:05:13 +02:00
Paulus Schoutsen
9d83059f14 Allow zeroconf instance sharing (#35484) 2020-05-10 22:51:23 -07:00
cgtobi
8b9bd67da7 Bump pyatmo version to 3.3.1 (#35476) 2020-05-10 22:18:53 -07: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
87e0f04515 Fix exception in hunterdouglas_powerview with ignored config entry (#35482) 2020-05-10 22:06:31 -07:00
Chris Talkington
a6d587b6cd Update roku supported features to VOLUME_STEP (#35481) 2020-05-10 22:06:10 -07:00
Chris Talkington
facb115f14 Use common strings for directv config flow (#35471) 2020-05-10 21:14:26 -07:00
ollo69
b3ee54b124 Add config flow for Tuya (#35422)
* Added Tuya config flow

* Added test config_flow

* Fixed log error message

* Add test requirements

* Lint Fix

* Fix Black formatting

* Added pylint directive

Added pylint:disable=unused-import in config_flow.py

* Implementation requested changes

* Update CodeOwners

* Removed device registry cleanup

* Force checks

* Force checks

* Fix implemetation

- Set config schema "deprecated"
- Removed async from update_callback

* Updating test

* Fix formatting

* Config Flow test fix

- mock out async_setup and async_setup_entry

* Fix formatting
2020-05-10 22:01:00 -05:00
Chris Talkington
c69d4943a5 Update rokuecp to 0.4.0 (#35436) 2020-05-11 01:56:38 +02: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
J. Nick Koston
70b29dc823 Make interface_choice option effective (#35444)
I missed the second commit that actually makes this
work in the original merge.
2020-05-10 14:30:54 -05:00
Daniel Høyer Iversen
e4263afd64 Open garage, move code to an external library. (#35462)
* Move opengarage code to separate library

* Move opengarage code to separate library

* Move opengarage code to separate library

* remove unique_id

* style
2020-05-10 14:30:16 -05:00
J. Nick Koston
a73440ebe8 Remove constants from myq that are now upstream (#35463) 2020-05-10 20:42:28 +02:00
Greg
f4168a0e07 Bump envoy_reader version (#35465) 2020-05-10 20:04:12 +02:00
Andreas Oberritter
4430b50fd7 Whitelist edl21 negative active energy sensors (#34662)
* edl21: whitelist negative active energy

* edl21: Fix a new comment
2020-05-10 11:52:42 -05:00
guillempages
f09a20b66d Add names for the homematic garage door states (#35349)
* Add names for the homematic garage door states

* Use None instead of "unknown"

Co-authored-by: Pascal Vizeli <pascal.vizeli@syshack.ch>

Co-authored-by: Pascal Vizeli <pascal.vizeli@syshack.ch>
2020-05-10 18:10:02 +02:00
Thomas Hollstegge
8f285c15d3 Listen for group member state changes when using expand in templates (#35398)
* Re-evaluate template on group member state change

* Use named groups for entity extraction regex

This will avoid unnecessary edits of match indices if the regex is
amended in the future

* Improve test coverage
2020-05-10 10:48:56 -05:00
Robert Svensson
c71b6c8a71 UniFi - Update device registry after device has been upgraded (#35430)
* Update device registry if received event saying device has been updated

* Make sure event was the last updated
2020-05-10 17:14:45 +02:00
Franck Nijhof
4395fe9298 Remove logo & icon from manifest (#35410) 2020-05-10 11:10:44 -04:00
shbatm
799cdbe64d Add support for ISY994 Variables as Sensors (#35453)
* Update tests, add missing constant

* ISY994 Add support for ISY Variables as sensors
2020-05-10 09:40:19 -05:00
Daniel Høyer Iversen
f302c6fd65 Add Mill config flow (#35136)
* Mill config, wip

* add tests

* fix merge

* update tests

* unique id

* Mill strings

* mill config flow

* mill config flow

* test import

* test import

* req

* ccoverage

* Apply suggestions from code review

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

* style

* Apply suggestions from code review

Co-authored-by: Paulus Schoutsen <balloob@gmail.com>

* update strings

* add test

Co-authored-by: J. Nick Koston <nick@koston.org>
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2020-05-10 08:44:05 -05:00
Xiaonan Shen
8050d8555e Fix roomba bin full binary sensor (#35443) 2020-05-10 14:10:03 +02:00
mlemainque
08087b0f99 Fix Daikin power sensors (#35428)
* Fix factory class not defined for SENSOR_TYPE_ENERGY

* Round power sensors' state
2020-05-10 14:08:19 +02:00
gadgetmobile
9e3a8899c8 Increase coverage and cleanup BleBox cover (#35369)
* increase coverage and cleanup BleBox cover

* test entity properites via the `state` property

* properly test entity properities

* properly mock io call
2020-05-10 12:22:26 +02:00
Martin Hjelmare
b4142fc7ee Add const module to oauth2 scaffold template (#35438)
* Add const module to oauth2 template

* Remove const append

* Add domain to const
2020-05-10 12:10:09 +02:00
Pieter Goetschalckx
02a36a9b68 Add min_mireds and max_mireds to MQTT Light (#32613)
* Add min_mireds and max_mireds to MQTT Light

* Add abbreviations for min_mireds and max_mireds

* Add tests for min_mireds and max_mireds
2020-05-10 09:34:48 +02:00
shbatm
8947ce5053 Add Climate Platform Support to ISY994 (#35440)
* ISY994 Add support for climate platform

Remove services from Climate (not added yet)

* Incorporate suggestions based on review.

* Collect string literals to Const. Rename device to entity

* Fix merge error
2020-05-09 22:03:05 -05:00
Steven Looman
a97460d1ab Make upnp update interval configurable (#35298)
* Simplification of upnp component

* Make update interval configurable

* Description

* Require minimal value of 30

* Black

* Linting

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-05-09 21:52:08 -05:00
Xiaonan Shen
8994931ec4 Songpal code and test improvement (#35318)
* Use tests.async_mock instead of asynctest

* Remove unnecessary existence check

* Improve songpal service registering

* Add tests

* Seperate device api from entity api

* Improve disconnect log messages

* Improve tests

* Rename SongpalDevice to SongpalEntity

* Improve reconnecting

* Remove logging and sleep patch from tests

* Test unavailable state when disconnected

* Rename SongpalEntity.dev to _dev

* Add quality scale to manifest
2020-05-09 22:30:34 -04:00
Thomas Hollstegge
3af3900581 Kodi: Correctly report media content type for PVR channels (#35091) 2020-05-09 22:25:52 -04:00
fredericvl
da0ff8d8c4 Only add SAJ sensors that are enabled and available (#34978)
* Bump pysaj to 0.0.16

* Only add SAJ sensors that are enabled/available
2020-05-09 22:23:57 -04:00
Willem-Jan
cf30895460 Add BSBLan Climate integration (#32375)
* Initial commit for BSBLan Climate component

The most basic climate functions work.

* Delete manifest 2.json

wrongly added to commit

* fix incorrect name

current_hvac_mode

* update coverage to exclude bsblan

* sorted and add configflow

* removed unused code, etc

* fix hvac, preset  mix up

now it sets hvac mode to none and preset to eco

* fix naming

* removed commented code and cleaned code that isn't needed

* Add test for the configflow

* Update requirements

fixing some issues in bsblan Lib

* Update coverage file to include configflow bsblan

* Fix hvac preset is not in hvac mode

rewrote how to handle presets.

* Add passkey option

My device had a passkey so I needed to push this functionality to do testing

* Update constants

include passkey and added some more for device indentification

* add passkey for configflow

* Fix use discovery_info instead of user_input

also added passkey

* Fix name

* Fix for discovery_info[CONF_PORT] is None

* Fix get value CONF_PORT

* Fix move translation to new location

* Fix get the right info

* Fix remove zeroconf and fix the code

* Add init for mockConfigEntry

* Fix removed zeroconfig and fix code

* Fix changed ClimateDevice to ClimatEntity

* Fix log error message

* Removed debug code

* Change name of device.

* Remove check

This is done in the configflow

* Remove period from logging message

* Update homeassistant/components/bsblan/strings.json

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

* Add passkey

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-05-09 22:16:21 -04:00
Brynley McDonald
e2b622fb78 Add Flick Electric NZ integration (#30696)
* Add integration for Flick Electric NZ

* Start adding Config Flow and external API

* Second Wave of Config Flow and API implementation

* Fix test (errors is None instead of blank array?)

* Don't update sensor if price is still valid

* Add input validation

* Fix linting for DOMAIN

Co-Authored-By: Martin Hjelmare <marhje52@gmail.com>

* Remove platform schema (config is by entries only)

* Don't catch AbortFlow exception

Co-Authored-By: Martin Hjelmare <marhje52@gmail.com>

* Update test

* Re-arrange try-catch in config flow

* Fix linting in sensor.py

* Staticly define list of components

* Fix test exceptions

* Fix _validate_input not being awaited

* Fix tests

* Fix pylint logger

* Rename test and remove print debug

* Add test for duplicate entry

* Don't format string in log function

* Add tests __init__ file

* Remove duplicate result assignment

* Add test for generic exception handling

* Move translations folder

* Simplify testing

* Fix strings/translation

* Move to "flick_electric" as domain

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-05-09 22:13:06 -04:00
shbatm
0cf1ca7736 Add Device Registry support and Device Info for ISY994 (#35435)
* ISY994 Add device info properties

* Fix test string literal per review.

* Change Mfr ID to Devtype_gen
2020-05-09 19:48:51 -05:00
Chris Talkington
0fabd73ad4 reduce roku scan interval by 10s (#35433) 2020-05-09 17:55:23 -05:00
Paulus Schoutsen
42fc332123 Fix scaffold and hassfest references (#35431) 2020-05-09 15:50:44 -07:00
J. Nick Koston
a17ab612ad Fix permissions on bluetooth_le_tracker (#35432) 2020-05-09 16:40:27 -05:00
Chris Talkington
96d2b8cdf6 Update rokuecp to 0.3.2 (#35429)
* update rokuecp to 0.3.1

* Update rokuecp to 0.3.2
2020-05-09 16:26:54 -05:00
Chris Talkington
06ddda8c95 Improve roku remote (#35419)
* Update remote.py

* Create test_remote.py

* Update .coveragerc
2020-05-09 16:04:37 -05:00
Zack Arnett
2148f63d89 Activate Calendar Panel (#35276) 2020-05-09 23:00:28 +02:00
Bram Kragten
c20a9a1ff4 Updated frontend to 20200509.0 (#35427) 2020-05-09 23:00:14 +02:00
Robert Svensson
2f5c4b81ba UniFi - Use more common strings for config flow (#35399)
* Use more common strings for config flow

* Remove unused strings
2020-05-09 22:22:53 +02:00
guillempages
c8cce7607c Add battery information to BLE devices (#33222)
* Add battery information to BLE devices

* Check Bluetooth LE battery at most once a day
2020-05-09 15:18:35 -05:00
shbatm
d7f736ed6c Add config flow, use async loading, and restore brightness option to ISY994 (#35413)
* ISY994 Add Config and Options Flow


Add tests for config flow


Fix test


Update Tests

* Fix merge errors

* Update homeassistant/components/isy994/strings.json

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

* Apply suggestions from code review

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

* Fix patching in tests to not actually start Home Assistant

Co-authored-by: J. Nick Koston <nick@koston.org>
2020-05-09 14:49:00 -05:00
Chris Talkington
d61bde6ae6 Update rokuecp to 0.2.3 (#35420)
* Update requirements_all.txt

* Update requirements_test_all.txt

* Update manifest.json
2020-05-09 13:23:03 -05:00
Alexei Chetroi
85f129492a Refactor ZHA config flow (#35397)
* Refactor ZHA config flow

Present more descriptive list of radio types when user has to pick one.

* Update docstring.

* Add some common models to EZSP radio.

* Add more model names

More model names, less english since radio types won't be translated.
2020-05-09 09:44:19 -04:00
Ville Skyttä
b4404b071f Pylint cleanups (#35409)
* Avoid some outer name redefinitions

* Remove unneeded directives

* Narrow directive scope

* Don't disable redefined-variable-type
2020-05-09 14:08:40 +03:00
thecode
c37100299a Add service to turn on the switcher device with timer (#33235)
* Update services.yaml

* Update __init__.py

* Update __init__.py

* Update __init__.py

* Update homeassistant/components/switcher_kis/__init__.py

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

* Update __init__.py

* Update services.yaml

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-05-09 12:40:01 +02:00
jjlawren
e78ceab560 Wrap Plex property that can make I/O requests (#35383)
* Wrap property that sometimes makes I/O requests

* Simpler solution

* Combine into single function
2020-05-09 10:59:34 +02:00
Chris Talkington
7da41a6e86 Update rokuecp to 0.2.2 (#35404)
* Update requirements_all.txt

* Update requirements_test_all.txt

* Update manifest.json
2020-05-09 00:24:35 -05:00
Glenn Waters
9353169203 Universal Powerline Bus Scene support (#35401)
* Universal Powerline Bus Scene support.

* Omint UPB scene.py

* Fix lint errors, rename .translations, Light->LightEntity.

* Add rounding to brightness to percent calcs.
2020-05-08 21:42:23 -05:00
Chris Talkington
e90feb1d59 Update rokuecp to 0.2.1 (#35400)
* Update requirements_all.txt

* Update requirements_test_all.txt

* Update manifest.json

* Update __init__.py
2020-05-08 19:29:48 -05:00
Robert Svensson
b62c7abc5d UniFi - Additional consolidation for cleanliness sake (#35395)
* Some additional consolidation for cleanliness sake

* Remove unnecessary mac property
2020-05-09 00:34:18 +02:00
David Nielsen
953adc105e Upgrade bravia-tv backend to 1.0.4 (#35393) 2020-05-09 00:23:33 +02:00
shbatm
e65f72f2ed Improve ISY994 Z-Wave and binary sensor device sorting (#35391)
* Split BinarySensor Entity

* Fix Device Class for Insteon

* ISY994 Improved device sorting (incl Z-Wave Cats) post-PyISYv2

- Z-Wave device classification using new properties.
    - ISY Z-Wave Devices can be classified by their Z-Wave categories, since `node_def_id` does not provide useful information for these nodes.
- Better classification of binary_sensors.
    - Incorporate better classifications of different types of binary_sensor devices supported by the ISY. These are all field tested/requested based on the HACS-ISY994 version and feedback given through the Community.
- State Unknown updates for binary_sensors.
    - Properly fix unknown states on startup for binary_sensors with multiple sub-nodes that don't report the status after an ISY restart until that subnode is activated/triggered the next time. Now instead of adding nodes as unknown status, it adds them in the "assumed safe" state (usually off). This his helpful for things like motion sensor low battery nodes, which may show "unknown" for 12 months before turning "ON" (low batt).
- Fix for heartbeat devices (home-assistant/core#21996)
    - Heartbeat devices toggle between both DON and DOF commands, each day when it sends the heartbeat it sends the opposite. Update heartbeat nodes to look for both.

* Additional sorting fixes
2020-05-08 17:18:50 -05:00
Franck Nijhof
4cf186a47e Small collection of random styling tweaks, fixes and Pythonism (#35390) 2020-05-09 00:10:17 +02:00
Chris Talkington
3feb55a8e4 Make roku async (#35104)
* Update manifest.json

* work on roku async.

* Update config_flow.py

* Update __init__.py

* Update media_player.py

* Update media_player.py

* Update __init__.py

* Update __init__.py

* Update media_player.py

* Update media_player.py

* Update remote.py

* Update test_media_player.py

* Update test_media_player.py

* Update test_config_flow.py

* Update media_player.py

* Update remote.py

* Update config_flow.py

* Update test_media_player.py

* Update config_flow.py

* Update test_config_flow.py
2020-05-08 16:44:34 -05:00
Alexei Chetroi
54584e970c Update ZHA zigpy-deconz dependency (#35389) 2020-05-08 17:21:48 -04:00
Robert Svensson
c8deae6445 UniFi - Make clients proper push based (#35273)
* Improve client tracker to be more comprehensible and streamlined
Improve block switches
Improve tests

* Small clean up

* Add descriptions on ssid test

* Improve test

* Make polling default off, only POE clients left to verify

* Minor improvements

* On removal cancel scheduled updates

* POE works without polling now

* Combine else and if to an elif
2020-05-08 22:19:27 +02:00
Glenn Waters
efb52961f0 Add Universal Powerline Bus (#34692)
* Initial version.

* Tests.

* Refactored tests.

* Update requirements_all

* Increase test coverage. Catch exception.

* Update .coveragerc

* Fix lint msg.

* Tweak test (more to force CI build).

* Update based on PR comments.

* Change unique_id to use stable string.

* Add Universal Powerline Bus "link" support.

* Fix missed call.

* Revert botched merge.

* Update homeassistant/components/upb/light.py

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

* Three changes.

Update service schema to require one of brightness/brightness_pct.
Fix bug in setting brightness to zero.
Replace async_update_status and replace with async_update.

Co-authored-by: J. Nick Koston <nick@koston.org>
2020-05-08 15:00:47 -05:00
Franck Nijhof
e3e3a113e9 async_get_url -> get_url (#35382) 2020-05-08 21:53:28 +02:00
Markus Bong
62f2520ee1 Fix devolo switch on and off (#35357)
* use correct API set methods

* add devolo_home_control to coveragerc except config_flow.py
2020-05-08 21:41:56 +02:00
Franck Nijhof
0ac95fbed3 Upgrade pytest to 5.4.2 (#35381) 2020-05-08 19:34:19 +02:00
mlemainque
12caf17848 Add Daikin total/cool/heat power sensors (#34391) 2020-05-08 19:21:24 +02:00
Alexei Chetroi
b844d09797 Bump up zha-device-handlers dependecy for ZHA (#35379) 2020-05-08 10:11:41 -07:00
Robert Svensson
c19b222d5a UniFi - Catch wlan_override without name key (#35366) 2020-05-08 09:51:10 -07:00
jjlawren
ad419911bc Add config option to ignore Plex Web clients (#34708) 2020-05-08 09:49:15 -07:00
Balazs Sandor
c16a18b2bd Update lib zigpy-cc to fix issues (#35364) 2020-05-08 09:47:58 -07:00
Franck Nijhof
e56dd8ed50 Detect use of deprecated base_url (#35353)
* Detect use of deprecated base_url

* Update get_url helper

* Update core migration

* Migrate all tests
2020-05-08 17:52:32 +02:00
sean tearney
1be41b9de8 Add agent_dvr integration (#32711)
* initial

* add missing fixture

* fix mocks

* fix mocks 2

* update coverage

* fix broken sync between agent and integration

* Update homeassistant/components/agent_dvr/camera.py

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

* Update homeassistant/components/agent_dvr/camera.py

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

* Update homeassistant/components/agent_dvr/camera.py

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

* Update homeassistant/components/agent_dvr/camera.py

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

* updates for review

* add back in should poll again

* revert motion detection enabled flag in state attributes

* Update homeassistant/components/agent_dvr/camera.py

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

* Update homeassistant/components/agent_dvr/camera.py

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

* Update homeassistant/components/agent_dvr/camera.py

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

* Update homeassistant/components/agent_dvr/camera.py

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

* Update homeassistant/components/agent_dvr/__init__.py

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

* Update homeassistant/components/agent_dvr/camera.py

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

* Update homeassistant/components/agent_dvr/camera.py

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

* Update homeassistant/components/agent_dvr/camera.py

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

* add is_streaming

* fix is_streaming bug, remove mp4 stream

* cleanup

Co-authored-by: J. Nick Koston <nick@koston.org>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-05-08 09:49:47 -05:00
Markus Bong
3a0d5126ae Update devolo_home_control strings (#35362) 2020-05-08 16:17:10 +02:00
Josef Schlehofer
272ca3de35 Upgrade youtube_dl to version 2020.05.08 (#35376) 2020-05-08 15:59:42 +02:00
Maciej Bieniek
03ac82d440 Remove unused decorator in Airly (#35361) 2020-05-08 15:10:14 +02:00
Jesse Hills
d03d90a955 Fix qBittorrent crash after caught exception (#35355) 2020-05-08 14:56:22 +02:00
Robert Svensson
ddd6b9cff1 Capitalize kane610 in codeowners since scripts are case sensitive (#35375) 2020-05-08 14:14:10 +02:00
Brad Keifer
4663845ebc Add modbus sensor string data_type (#35269)
* modbus sensor: string data_type

Adds support for a string data_type. This allows the reading of holding registers that contain ascii string data

* Add modbus sensor string data_type #35269

Fingers crossed that I am putting these file in the correct location this time

* Delete const.py

* Delete sensor.py

* Add files via upload

* modbus sensor - add string support. Upload from local dev environment

* fix executable stauts

* fix flake8 failure
2020-05-08 11:30:05 +02:00
Jesse Hills
e696c08db0 Rewrite JuiceNet for async and config flow (#34365)
* Add config flow to JuiceNet

* Fix some lint issues

* Fix imports

* Abort on reconfigure / Allow multiple accounts
Abort on bad API token
Fix strings

* Remove unused variable

* Update strings

* Remove import

* Fix import order again

* Update imports
Remove some unused parameters

* Add back ignore

* Update config_flow.py

* iSort

* Update juicenet integration to be async

* Update coverage for juicenet config flow

* Update homeassistant/components/juicenet/entity.py

Co-Authored-By: J. Nick Koston <nick@koston.org>

* Black

* Make imports relative

* Rename translations folder

Co-authored-by: J. Nick Koston <nick@koston.org>
2020-05-08 00:52:20 -05:00
J. Nick Koston
502afbe9c2 Delete flapping automatic tests (#35356) 2020-05-07 21:25:17 -07:00
shbatm
4ec88b41dc Migrate ISY994 to PyISY v2 (#35338)
* Remove unnecessary pylint exceptions

* Move up some change to binary_sensors and switch. Fix program d.s.a's.

* ISY994 Basic support for PyISYv2

- Bare minimum changes to be able to support PyISYv2.
- Renaming imports and functions to new names.
- Use necessary constants from module.
- **BREAKING CHANGE** Remove ISY Climate Module support.
    - Climate module was retired on 3/30/2020: [UDI Annoucement](https://www.universal-devices.com/byebyeclimatemodule/)
- **BREAKING CHANGE** Device State Attributes use NodeProperty
    - Some attributes names and types will have changed as part of the changes to PyISY. If a user relied on a device state attribute for a given entity, they should check that it is still there and formatted the same. In general, *more* state attributes should be getting picked up now that the underlying changes have been made.
- **BREAKING CHANGE** `isy994_control` event changes (using NodeProperty)
    - Control events now return an object with additional information. Control events are now parsed to the friendly names and will need to be updated in automations.
Remove cast

* PyISY v2.0.2, add extra UOMs, omit EMPTY_TIME attributes

* Fix typo in function doc string.

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

Co-authored-by: J. Nick Koston <nick@koston.org>
2020-05-07 23:15:42 -05:00
MatthewFlamm
7ac547a6e0 Enable async_update for entities in NWS (#35048)
* enable async_update for entities

* make platinum

* add manual update test
2020-05-07 22:43:43 -05:00
jjlawren
91730fe6a9 Bump plexwebsocket to 0.0.8 (#35351) 2020-05-07 21:35:28 -04:00
Franck Nijhof
2223592486 Add get_url helper, deprecate base_url (#35224) 2020-05-08 02:29:47 +02:00
Martin Hjelmare
7e4aa2409f Add zwave_mqtt light platform (#35337) 2020-05-07 23:52:54 +02:00
Paulus Schoutsen
4d314ba4df Merge pull request #35335 from home-assistant/rc 2020-05-07 12:33:52 -07:00
Rami Mosleh
97d66c4eb2 Fix Islamic prayer sensor timestamp format (#35243) 2020-05-07 11:50:16 -07:00
João Gabriel
00282dab72 Remove panasonic_viera from legacy discovery (#34909) 2020-05-07 11:50:15 -07:00
Paulus Schoutsen
f726908707 Bumped version to 0.109.6 2020-05-07 10:33:11 -07:00
Quentame
fc7851a98c Fix Synology DSM discovery can't be ignored (#35331) 2020-05-07 10:32:57 -07:00
J. Nick Koston
efb0425602 Update pymyq to 2.0.2 (#35330) 2020-05-07 10:32:57 -07:00
Xiaonan Shen
39fefa49cc Fix roomba 980 position report (#35316) 2020-05-07 10:32:56 -07:00
J. Nick Koston
6146eaa350 Update pymyq to 2.0.2 (#35330) 2020-05-07 10:32:29 -07:00
Quentame
0ed25e9f4e Fix Synology DSM discovery can't be ignored (#35331) 2020-05-07 10:31:35 -07:00
Xiaonan Shen
9d5704307a Fix roomba 980 position report (#35316) 2020-05-07 10:04:13 -07: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
Markus Bong
5e33842ce0 Add devolo home control (#33181) 2020-05-07 16:08:51 +02:00
Robert Svensson
53f64bae09 UniFi - Make devices proper push based (#35152)
* Make devices proper push based

* Improve tests

* Bump dependency to v21
Update fix from #35295 to use library
2020-05-07 09:58:04 +02:00
Paulus Schoutsen
ef489aad2a Merge pull request #35315 from home-assistant/rc 2020-05-06 22:05:15 -07:00
jjlawren
dfe2a457c0 Handle config with a limited Plex account (#35218) 2020-05-06 18:46:00 -07:00
Paulus Schoutsen
00501019b4 Bumped version to 0.109.5 2020-05-06 18:44:00 -07:00
Paulus Schoutsen
7f1793e6a9 Fix SMS doing I/O in event loop (#35313) 2020-05-06 18:43:42 -07:00
Robert Svensson
6518249470 UniFi - Support SSID filter of SSIDs from access points with extra configuration (#35295) 2020-05-06 18:43:42 -07:00
Aaron Bach
1a52632b68 Broader Notion exception handling (#35265) 2020-05-06 18:43:41 -07:00
escoand
b42590c5a9 Catch samsungtv timeout exception (#35205) 2020-05-06 18:43:40 -07:00
jan iversen
4bf45cd2ea Change Modbus switch to use verify_register when defined (#34679) 2020-05-06 18:43:39 -07:00
jan iversen
36c3c624e7 Add retry on empty modbus messages for serial protocol (#34678) 2020-05-06 18:43:38 -07:00
Paulus Schoutsen
64ce8e970f Fix SMS doing I/O in event loop (#35313) 2020-05-06 18:42:47 -07:00
Aaron Bach
eb826e5956 Fix incorrect device registry call in Notion (#35306) 2020-05-06 18:42:32 -07:00
Paulus Schoutsen
e3ca87bc5a Fix broken CI (#35314) 2020-05-06 18:40:21 -07:00
Aaron Bach
1d6a20228b Add state reproduction to the alert component (#35267) 2020-05-06 17:02:21 -06:00
Xiaonan Shen
33077f0cdd Add config flow support to songpal integration (#34714)
* Add config flow to songpal

* Add config flow to songpal

* Add songpal to migrated service in discovery

* Improve songpal/set_sound_setting service

* Remove songpal config flow from .coveragerc omit

* Bump python-songpal to 0.12 and fix exception handling

* Revert "Improve songpal/set_sound_setting service"

This reverts commit 9be076ab52e21f268322572c36709a17d41db771.

* Code style fix

* Add connections to device_info

* Fix pylint

* Ignore braava tv

* Fix test warning

* Add @shenxn as codeowner

* Remove model from configuration data

* Get name from device in user step

* Add unload entry support

* Delete translations as it will get generated as part of CI

* Code cleanup

* Fix typo

* Remove _show_setup_form

* Change configuration from media_player to songpal

Co-authored-by: Raman Gupta <7243222+raman325@users.noreply.github.com>
2020-05-07 00:52:33 +02:00
isk0001y
541b666a86 Reset imap email content state if no email (#35123)
* no-message: If there is no message at all, replace internal state

* Apply proposed change

* apply black
2020-05-07 00:41:56 +02:00
Robert Svensson
5218b23fce UniFi - Support SSID filter of SSIDs from access points with extra configuration (#35295) 2020-05-06 15:35:04 -07:00
Quentame
81651b0b25 Add Synology DSM scan interval option flow (#35183)
* Add Synology DSM scan interval option flow

* Add options tests

* Review: use entry.update_listeners

* Use cv.positive_int

* Try to fix "ValueError: Config entry has already been setup!"

* Fix ValueError
2020-05-07 00:15:49 +02:00
Erik Montnemery
f1ecac92df Fail tests if wrapped callbacks or coroutines throw (#35010) 2020-05-06 14:14:57 -07:00
J. Nick Koston
b35306052d Upgrade zeroconf to 0.26.1 to resolve performance regression (#35291) 2020-05-06 12:39:03 -05:00
Jason Hunter
19734e7b2c Refactor ONVIF (#35222) 2020-05-06 09:29:59 -07:00
Paulus Schoutsen
0b8f8db67b Clean up script for WLED translations (#35260) 2020-05-06 09:28:46 -07:00
J. Nick Koston
3219c380c7 Provide zeroconf option to bind to only the default interface (#35281)
By default zeroconf binds to every interface.
2020-05-06 09:16:59 -05:00
Rami Mosleh
35d8890f4e Fix Islamic prayer sensor timestamp format (#35243) 2020-05-06 15:17:40 +02:00
jan iversen
1b3f9254bc Add retry on empty modbus messages for serial protocol (#34678) 2020-05-06 14:08:43 +02:00
jan iversen
1b02410aa6 Change Modbus switch to use verify_register when defined (#34679) 2020-05-06 14:07:09 +02:00
Fredrik Erlandsson
d8222a8eb6 Update pydaikin to 2.0.0 (#34807) 2020-05-06 13:59:07 +02:00
Alexei Chetroi
c71a7b901f New configuration flow for ZHA integration (#35161)
* Start gateway using new zigpy init.

Update config entry data  import.
Use new zigpy startup.
Fix config entry import without zha config section.
Auto form Zigbee network.

* Migrate config entry.

* New ZHA config entry flow.

Use lightweight probe() method for ZHA config entry validation when
available. Failback to old behavior of setting up Zigpy app if radio lib
does not provide probing.

* Clean ZHA_GW_RADIO

* Don't import ZHA device settings.

* Update config flow tests.

* Filter out empty manufacturer.

* Replace port path with an by-id device name.

* Rebase cleanup

* Use correct mock.

* Make lint happy again

* Update tests/components/zha/test_config_flow.py

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

* Update tests/components/zha/test_config_flow.py

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

* Update tests/components/zha/test_config_flow.py

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

* Use executor pool for IO

* Address comments.

Use AsyncMock from tests.

* Use core interface to test config flow.

* Use core interface to test config_flow.

* Address comments. Use core interface.

* Update ZHA dependencies.

* Schema guard

* Use async_update_entry for migration.

* Don't allow schema extra keys.

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-05-06 12:23:53 +02:00
Xiaonan Shen
2581b031d9 Fix fan not checking supported_features (#35248)
* Fix fan not checking supported_features

* Fix pylint

* Fix test

* Code cleanup

* Fix fan demo

* Code style improvement
2020-05-06 09:58:07 +02:00
Paulus Schoutsen
1c5b4dbd97 Add current step that is in progress (#35272) 2020-05-05 21:34:51 -07:00
Bryant Lee
56beec1ce9 Add zwave workaround identification for Kwikset 916 and Kwikset Obsidian (#35277) 2020-05-06 04:39:29 +02:00
Andi
14190bd497 Fix pyload API statusServer doesn't take parameters (#35242)
* pyload API statusServer doesn't take parameters

Remove json payload from API call to statusServer for retrieving current download speed. 
See maintainers message in: pyload/pyload#3622 (comment)

Skip duplicated call to update function.

* Lint sensor.py

remove empty line
2020-05-06 02:35:02 +02:00
jjlawren
740d9c575e Add manual config flow for Plex (#34476) 2020-05-05 15:42:21 -07:00
Paulus Schoutsen
a330eba61c Guard bad entity ID in entity registry (#35271) 2020-05-05 15:07:54 -07:00
Aaron Bach
87d58a544b Broader Notion exception handling (#35265) 2020-05-05 13:56:32 -06:00
Franck Nijhof
9983c43697 Add issue_tracker property to manifest (#35153) 2020-05-05 11:00:00 -07:00
Paulus Schoutsen
4ae31bc938 Clean up device registry if entity registry updates (#35106) 2020-05-05 10:53:46 -07:00
Bram Kragten
2ac29cf1a4 Updated frontend to 20200505.0 (#35253) 2020-05-05 10:42:02 -07:00
gadgetmobile
8e071b69f4 Add BleBox integration (#32664)
Co-Authored-By: J. Nick Koston <nick@koston.org>
2020-05-05 11:29:58 +02:00
David Straub
86d410d863 Add Home Connect integration (#29214) 2020-05-05 11:26:14 +02:00
Paulus Schoutsen
6b9eed5a70 Fix string 2020-05-04 21:31:23 -07:00
shbatm
e45f2cf5a2 ISY994 Structure updates in prep for PyISYv2 (Part 2) (#35225)
- Move core Entity Class definitions to separate file.
- New ISYNodeEntity and ISYProgramEntity base classes.
- Update inheriances on other classes.
- Move helper functions to separate file.
2020-05-04 23:03:12 -05:00
Ziv
710deb8316 Strict creation of the config for dynalite (#34663) 2020-05-04 20:30:24 -07:00
Paulus Schoutsen
34e35f6aa3 Add config flow base strings (#34523) 2020-05-04 20:10:39 -07:00
Paulus Schoutsen
d2179e5321 Merge pull request #35221 from home-assistant/rc 2020-05-04 20:06:57 -07:00
Alexei Chetroi
0e17f619c8 Bump up pyserial dependency (#35201) 2020-05-04 22:33:21 -04:00
Charles Garwood
de636cce6f Add zwave_mqtt sensor platform (#35135)
* Add sensor platform

* Fix signal name

* Add sensor discovery schema

* Add test for disabled entities

* Add test for enabling advanced sensor

* Add additional fake sensors and tests for device classes

* More device class tests

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-05-04 22:07:29 -04:00
Paulus Schoutsen
f5282bfcf3 remove deprecation 2020-05-04 18:18:15 -07:00
Xiaonan Shen
3f449e1d27 Remove certificate configuration variable from roomba (#35162)
* Remove certificate option from roomba

* Fix roomba test

* Add back certificate with deprecated flag

* Remove invalidation_version
2020-05-04 18:16:16 -07:00
Paulus Schoutsen
d4200b5eb9 Bumped version to 0.109.4 2020-05-04 18:03:16 -07:00
Quentame
222a8bb7be Fix Synology DSM sensor to be False or 0 (#35208) 2020-05-04 18:03:05 -07:00
Diogo Gomes
96576a9775 Fix utility_meter calibration with float values (#35186) 2020-05-04 18:03:05 -07:00
Franck Nijhof
c03e3ce961 Fix UVC doing I/O inside the event loop (#35169) 2020-05-04 18:03:04 -07:00
Franck Nijhof
45d934e64d Fix Canary KeyError: 'ffmpeg_arguments' (#35158) 2020-05-04 18:03:03 -07:00
Quentame
89cbbfc2e5 Bump pyiCloud to 0.9.7 + do not warn when pending devices (#35156) 2020-05-04 18:03:02 -07:00
Paulus Schoutsen
0d8390b9df Hue: Guard for when there is no brightness (#35151) 2020-05-04 18:03:01 -07:00
Joakim Sørensen
ab2c3a2130 Correct typo Asssitant -> Assistant (#35117) 2020-05-04 18:03:00 -07:00
Quentame
d3b6255ffe Fix Synology NAS discovered multiple times (#35094) 2020-05-04 18:02:59 -07:00
Franck Nijhof
a3071571ac Fix UVC doing I/O inside the event loop (#35169) 2020-05-04 18:02:09 -07:00
escoand
f885e97a5b Catch samsungtv timeout exception (#35205) 2020-05-05 02:50:59 +02:00
Diogo Gomes
53c1aba7df Fix utility_meter calibration with float values (#35186) 2020-05-05 02:44:00 +02:00
Paulus Schoutsen
96b84ff348 Fix AdGuard device info (#35217) 2020-05-05 02:30:21 +02:00
shbatm
4be1006b71 ISY994 migration to PyISY v2 (Structure Changes to enable upgrade, Part 1) (#35212)
* ISY994 Structure updates in prep for PyISYv2 (Part 1)

- Correct node categorization.
- Move constants to separate file.
- Consolidate Logging to Constants file.
- Use Home Assistant Constants where possible.
- Use string literals where possible.
- Rename "domain" to "platform" in most places.
- Add additional device support (NODE_FILTER updates).

* Update categorize_programs per review

* add @shbatm as codeowner for ISY994 integration
2020-05-04 19:21:40 -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
Erik Montnemery
f9b420a5a5 Make sure MQTT light brightness is not rounded to 0 (#35207) 2020-05-04 15:54:49 -07:00
Quentame
94b6130af6 Fix Synology DSM sensor to be False or 0 (#35208) 2020-05-04 23:19:08 +02:00
Aaron Bach
953228ebd2 Allow use of common entity update service in AirVisual (#35203) 2020-05-04 15:09:09 -06:00
Phil Bruckner
d8ebdda714 Move life360 I/O out of event loop in config flow (#35193) 2020-05-04 14:58:16 -05:00
David F. Mulcahey
8279efc164 Group by endpoints and not by devices for ZHA Zigbee groups (#34583)
* start implementation
* handle members correctly
* fix group member info
* align groupable devices with group members
* handle group endpoint adding and removing
* update add group
* update group and group member
* update create group
* remove domain check
* update test
* remove temporary 2nd groupable device api
* update test
* rename validator - review comment
* fix test that was never running
* additional testing
* fix coordinator descriptors
* remove check that was done twice
* update test
* Use AsyncMock()
Co-authored-by: Alexei Chetroi <lexoid@gmail.com>
2020-05-04 15:19:53 -04:00
Paulus Schoutsen
e54e9279e3 Extract instance ID helper from updater (#35043) 2020-05-04 11:23:12 -07:00
Anders Melchiorsen
b3e637ca7a Some Sonos fixes (#35115) 2020-05-04 11:22:47 -07:00
Steven Looman
ee07fac9bc Simplification of upnp component (#35191) 2020-05-04 10:30:43 -07:00
Robert Svensson
c5ce95ff06 UniFi - Improve signalling and handling of adding new entities (#34925)
* Change signalling and handling of adding devices

* Bump aiounifi to v19
Use the proper variable for roamradio
2020-05-04 19:29:49 +02:00
rajlaud
dbf383f713 Squeezebox add query and sync (#31748)
* Add query and sync

* Update description of call_query

* Remove backup files accidentally committed to repo

* Update after pysqueezebox refactor

* Use entity service helper

* Implement suggested changes

* Fix linter error in services.yaml

* Fix long lines in services.yaml
2020-05-04 10:20:21 -04:00
Fabian Affolter
7f2c6b43d2 Upgrade pytz to 2020.1 (#35174) 2020-05-04 15:16:37 +02:00
Xiaonan Shen
de628602c2 Remove certificate configuration variable from roomba (#35162)
* Remove certificate option from roomba

* Fix roomba test

* Add back certificate with deprecated flag

* Remove invalidation_version
2020-05-04 08:28:32 -04:00
Fabian Affolter
5e3555022f Upgrade alpha_vantage to 2.2.0 (#35172) 2020-05-04 08:07:54 -04:00
Fabian Affolter
ad94ccdd6c Upgrade zeroconf to 0.26.0 (#35176) 2020-05-04 08:07:10 -04:00
David Beitey
7a73c6adf7 scrape: extract strings from new non-text tags (#35021)
With the upgrade to beautifulsoup4 to 4.9.0 (#34007), certain tags
(`<style>`, `<script>` and `<template>`) are no longer treated as having
text content (see
https://www.crummy.com/software/BeautifulSoup/bs4/doc/#comments-and-other-special-strings
and reported bug https://bugs.launchpad.net/beautifulsoup/+bug/1868861)
meaning the content of these types of tags became inaccessible to HA.

Where the previous code could access `.text` on the tag, bs4 4.9 now
yields an empty string; these types of tags require accesing `.string`
instead.  This PR checks the tag name (which will aalways be lowercase
given how the parser works;
https://www.crummy.com/software/BeautifulSoup/bs4/doc/#other-parser-problems)
and applies this different access strategy to get the content of the
HTML tag.  All other tags are handled in the original manner.
2020-05-04 10:45:40 +02:00
Josef Schlehofer
49979d0a75 Upgrade cryptography to 2.9.2 (#35084) 2020-05-04 10:38:26 +02:00
Franck Nijhof
96a998ad25 Fix Canary KeyError: 'ffmpeg_arguments' (#35158) 2020-05-04 10:35:40 +02:00
Franck Nijhof
7284f4e7ca Upgrade pyupgrade to v2.3.0 (#35159) 2020-05-04 09:28:20 +02:00
Thomas Hollstegge
c5379a0f35 Improve emulated_hue compatibility with newer systems (#35148)
* Make emulated hue detectable by Busch-Jaeger free@home SysAP

* Emulated hue: Remove unnecessary host line from UPnP response

* Test that external IPs are blocked for config route

* Add another test for unauthorized users

* Change hue username to nouser

nouser seems to be used by the official Hue Bridge v1 Android app and is
used by other projects as well

Co-authored-by: J. Nick Koston <nick@koston.org>
2020-05-04 00:18:33 -05:00
Andreas Oberritter
73fb57fd32 Support multiple EDL21 meters (#33594)
* edl21: Add 'name' option

* edl21: Include domain and electricity ID in unique ID

As a side-effect, this makes electricity IDs mandatory, i.e. devices
which don't transmit their ID won't register any sensors.

* edl21: Implement upgrade path for unique IDs

* Update homeassistant/components/edl21/sensor.py

Drop DOMAIN from unique ID.

Co-Authored-By: J. Nick Koston <nick@koston.org>

Co-authored-by: J. Nick Koston <nick@koston.org>
2020-05-03 23:20:00 -05:00
Thomas Hollstegge
e4e89becc6 Return emulated hue id for update requests (#35139)
* Return emulated hue id for update requests

* Emulated Hue: Rename function argument to match its content

* Use HTTP status consts throughout the test

* Use HTTP status consts in UPnP test
2020-05-03 19:27:19 -05:00
Quentame
7e36699aac Bump pyiCloud to 0.9.7 + do not warn when pending devices (#35156) 2020-05-04 01:22:12 +02:00
Paulus Schoutsen
5b7daa9e0c Hue: Guard for when there is no brightness (#35151) 2020-05-03 19:21:10 -04:00
Ron Heft
42750088b9 Add support for refreshing synology_dsm sensors (#35141)
* Add support for refreshing synology_dsm sensors

Now supports `home_assistant.update_entity` service

* Don't immediately update sensors on add

This fixes all sensors being forcefully refreshed when setup.
2020-05-04 01:07:14 +02:00
Franck Nijhof
e7b9cecec9 Upgrade numpy to 1.18.4 (#35150) 2020-05-03 23:50:13 +02:00
Franck Nijhof
540cb6ea5b Upgrade spotipy to 2.12.0 (#35149) 2020-05-03 23:49:36 +02:00
Martin Hjelmare
39431c0764 Add required features to cover service registration (#35073)
* Fix typing in component service method

* Add required features to cover service registration

* Fix template cover tilt features

* Delint template cover tests
2020-05-03 23:21:12 +02:00
Paulus Schoutsen
b90cb09fd1 Add type to device registry (#35095) 2020-05-03 13:56:58 -07:00
J. Nick Koston
6f6c670b3b Make alexa and google aware of DEVICE_CLASS_GATE (#35103) 2020-05-03 13:29:12 -07:00
Paulus Schoutsen
2af984917e Use asynctest-mock in most places (#35109)
* Use asynctest-mock in most places

* Fix broken patch in pilight
2020-05-03 11:27:19 -07:00
Michael Bisbjerg
e7fc886992 Simplify MQTT light brightness logic (#35097) 2020-05-03 18:48:24 +02:00
On Freund
90fbb150e7 Use suggestd_value instead of default in Monoprice options flow (#35107) 2020-05-03 15:18:25 +02:00
Daniel Høyer Iversen
5a2528b0f1 Tibber config flow (#34469)
* tibber config, wip

* read config from yaml

* sync requirements

* style

* add model property

* unique id

* unique id

* Tibber config, unique id

* test doc

* tibber config, update title

* append _el_price

* Update homeassistant/components/tibber/__init__.py

Co-authored-by: Paulus Schoutsen <balloob@gmail.com>

* unique id

* tibber config flow

* tibber config flow

* fix test for python 3.8

* update test imports

* move _async_current_entries

Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2020-05-03 14:40:19 +02:00
Ben
d644b610b7 Increase surepetcare default timeout (#34944)
* add timeout parameter and increase default timeout

* remove timeout param

* revert BinarySensorDevice to BinarySensorEntity

* make isort happy

* make isort happy - again
2020-05-03 13:58:59 +02:00
On Freund
e0bcd0049c Fix unloading of Monoprice config entries (#35112) 2020-05-03 13:49:18 +02:00
On Freund
a44724fdcc Add codeowner to Monoprice integration (#35111) 2020-05-03 13:45:39 +02:00
Joakim Sørensen
de7f82e18e Correct typo Asssitant -> Assistant (#35117) 2020-05-03 11:36:06 +02:00
Quentame
661656e373 Fix Synology NAS discovered multiple times (#35094) 2020-05-02 22:46:55 -07:00
pdcemulator
f37f488cc3 Add support for influxdb path parameter (#35089) 2020-05-02 22:12:54 -04:00
Steven Looman
6afb42bf7a Improve UPnP configuration flow (#34737) 2020-05-02 18:03:54 -07:00
Martin Hjelmare
aeb891649e Add zwave mqtt (#34987) 2020-05-03 02:54:16 +02:00
ochlocracy
984a2769db Correct error message in Microsoft Face (#35096) 2020-05-02 17:39:51 -07:00
Franck Nijhof
9efca0079c Upgrades requests-mock to 1.8.0 (#35093) 2020-05-02 17:09:44 -07:00
HomeAssistant Azure
78f846d532 [ci skip] Translation update 2020-05-03 00:02:26 +00:00
Paulus Schoutsen
5f267be1db Merge pull request #35092 from home-assistant/rc 2020-05-02 16:30:19 -07:00
Paulus Schoutsen
cf2e71a530 Fix import 2020-05-02 15:38:24 -07:00
Paulus Schoutsen
ec63ab0639 Bumped version to 0.109.3 2020-05-02 15:00:00 -07:00
J. Nick Koston
bd882fa4e4 Improve stability of homekit media players (#35080) 2020-05-02 14:59:22 -07:00
Ville Skyttä
752679c55d Check isinstance on collections.abc, not typing classes (#35087) 2020-05-02 23:57:48 +02:00
Bram Kragten
a083eb334e Updated frontend to 20200427.2 (#35079) 2020-05-02 14:55:27 -07:00
David Nielsen
4c65c51ede Update bravia-tv to 1.0.3 (#35077) 2020-05-02 14:55:26 -07:00
Quentame
b0dc1fdfad Bump python-synology to 0.8.0 + Fix disk space incorrect sensor type (#35068)
* Fix Synology disk space incorrect sensor type

* Review 1
2020-05-02 14:55:25 -07:00
Xiaonan Shen
69b8032a5a Bump roombapy to 1.5.2 (#35067) 2020-05-02 14:55:25 -07:00
Robert Svensson
2f374abc58 UniFi - Add support for 2.4/5 GHz separated SSIDs (#35062) 2020-05-02 14:55:24 -07:00
Robert Svensson
f445a81a4d UniFi - Catch controllers running on UniFi OS that don't have a local user configured (#35060) 2020-05-02 14:55:23 -07:00
Quentame
002a8f4900 Bump python-synology to 0.7.4 (#35052) 2020-05-02 14:55:22 -07:00
Paulus Schoutsen
93631341a5 Bump hass-nabucasa to 0.34.2 (#35046) 2020-05-02 14:55:21 -07:00
Aaron Bach
6a5f9d74f5 Fix Canary doing I/O in the event loop (#35039) 2020-05-02 14:55:20 -07:00
Paulus Schoutsen
ed4441a1c2 Fix translation merging for custom components without translations (#35032) 2020-05-02 14:55:19 -07:00
Vilppu Vuorinen
0c5b24a1f5 Fix MELCloud temperature unit (#35003)
The MELCLoud API produces and consumes only Celsius.
2020-05-02 14:55:18 -07:00
Ville Skyttä
43d63d0fe5 Use savoury1/ffmpeg4 PPA on Travis, PyAV 7 needs FFmpeg >= 4 (#35090) 2020-05-02 14:52:29 -07:00
Ville Skyttä
5450cda3a5 Async vs sync inheritance mismatch fixes (#35088) 2020-05-02 14:35:55 -07:00
Robert Svensson
a2048b4c7a UniFi - Catch controllers running on UniFi OS that don't have a local user configured (#35060) 2020-05-02 14:16:45 -07:00
Robert Svensson
221b07595f UniFi - Add support for 2.4/5 GHz separated SSIDs (#35062) 2020-05-02 14:16:18 -07:00
J. Nick Koston
4de30ca2ce Improve stability of homekit media players (#35080) 2020-05-02 14:15:44 -07:00
Robert Van Gorkom
ab08c1bef8 Fix vera config ids not being converted to integers (#35070) 2020-05-02 14:10:49 -07:00
Bram Kragten
88b7aba1c8 Updated frontend to 20200427.2 (#35079) 2020-05-02 21:55:11 +02:00
Josef Schlehofer
37f3613704 Upgrade youtube_dl to version 2020.05.03 (#35078) 2020-05-02 21:24:56 +02:00
David Nielsen
9b59ef4fc9 Update bravia-tv to 1.0.3 (#35077) 2020-05-02 21:21:57 +02:00
Quentame
e602de55ac Bump python-synology to 0.8.0 + Fix disk space incorrect sensor type (#35068)
* Fix Synology disk space incorrect sensor type

* Review 1
2020-05-02 20:31:15 +02:00
mhorst314
2f31b8576e Fix proliphix (#34397)
* Retrieve the name of the Proliphix thermostat before adding the entities

* The proliphix module provides hvac_state, not hvac_mode

* Removed update before add_entities. Moved the setting of the name into the update function instead.

* Disentangled hvac_mode and hvac_action

* Ran black and isort
2020-05-02 20:30:31 +02:00
unixko
8c84e47c94 added abbreviation for temperature_unit (#35076)
Added temp_unit for temperature_unit.
2020-05-02 19:59:23 +02:00
Xiaonan Shen
5a7d38b28c Bump roombapy to 1.5.2 (#35067) 2020-05-02 11:19:39 -05:00
Paulus Schoutsen
0519b96bec Add scene to default config (#35058) 2020-05-02 09:49:52 +02:00
Aaron Bach
d9b9a004d2 Fix Canary doing I/O in the event loop (#35039) 2020-05-01 21:01:29 -07:00
J. Nick Koston
963236916c Fix another race in august tests (#35054) 2020-05-01 21:01:15 -07:00
Paulus Schoutsen
187392deec Bump hass-nabucasa to 0.34.2 (#35046) 2020-05-01 21:00:45 -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
Quentame
dff2ee2156 Bump python-synology to 0.7.4 (#35052) 2020-05-02 01:31:39 +02:00
Teemu R
ecdcfb835d Add yeelight meteorite (YLDL01YL, ceiling10) (#35018) 2020-05-01 13:00:44 -06:00
Franck Nijhof
e1ae455f1d Fix ONVIF YAML import (#35035) 2020-05-01 20:35:30 +02:00
Paulus Schoutsen
b3201523aa Fix translation merging for custom components without translations (#35032) 2020-05-01 11:34:09 -07:00
Teemu R
9436645648 Fix songpal on devices where source!=uri (#34699) 2020-05-01 19:43:30 +02:00
Mich-b
a65e656c03 Add more SNMP variable types (#33426)
* added support for more SNMP variable types

* Fix SNMP pull request formatting

* retry fix linting errors

* Created SNMP vartype dict

* Moved to Integer instead of Integer32 as default vartype

* Update homeassistant/components/snmp/switch.py

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

* Update homeassistant/components/snmp/switch.py

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

* Update homeassistant/components/snmp/switch.py

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

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-05-01 19:31:39 +02:00
Aaron Bach
8661cf463a Update AirVisual to use DataUpdateCoordinator (#34796)
* Update AirVisual to use DataUpdateCoordinator

* Empty commit to re-trigger build

* Don't include history or trends in config flow

* Code review
2020-05-01 11:29:58 -06:00
J. Nick Koston
e6be297fba Bump HAP-python to 2.8.3 (#35023)
* Fixes camera support
2020-05-01 11:03:20 -05:00
Erik Montnemery
2b13a8cde4 Include QoS and retain in MQTT debug info (#35011) 2020-05-01 08:41:57 -07:00
Markus Breitenberger
ea70d71e8f Use pulsectl library for PulseAudio connection (#34965)
Get rid of internal library code and use pulsectl library to communicate
with PulseAudio server.

This is a breaking change as the library uses the much more powerful
native interface instead of the CLI interface, requiring the need to
change the default port.

On the bright side, this also solves some issues with the existing
implementation:

  - There was no test if the complete list of loaded modules was
    already received. If not all data could be read at once, the
    remaining modules not yet in the buffer were considered absent,
    resulting in unreliable behavior when a lot of modules were loaded
    on the server.

  - A switch could be turned on before the list of loaded modules was
    loaded, leading to a loopback module being loaded even though this
    module was already active (#32016).
2020-05-01 16:46:36 +02:00
Franck Nijhof
8c65062271 Several optimizations to automations (#35007) 2020-05-01 16:37:25 +02:00
Erik Montnemery
f3d79104a7 Rename WaterHeaterDevice to WaterHeaterEntity (#34675)
* Rename WaterHeaterDevice to WaterHeaterEntity

* Fix stale name

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-05-01 16:29:14 +02:00
Franck Nijhof
1cfa46d80b Fix CI, incomplete change in melcloud (#35016) 2020-05-01 15:56:38 +02:00
Xiaonan Shen
be58c4f71a Fix unknown exception being caught (#35005) 2020-05-01 13:34:29 +02:00
Vilppu Vuorinen
66d3832be9 Fix MELCloud temperature unit (#35003)
The MELCLoud API produces and consumes only Celsius.
2020-05-01 13:33:46 +02:00
Franck Nijhof
02cca1a4da Merge pull request #35001 from home-assistant/rc 2020-05-01 10:35:19 +02:00
Guillaume DELVIT
8ec5e53cf4 Add full options to serial sensor platform (#34962)
Improve Serial sensor platform with full options for configuring the serial port.
bytesize, parity, stopbits, xonxoff, rtscts, dsrdtr.

The default values are unchanged so it is 100% compatible with previous config.
2020-05-01 10:29:22 +02:00
Vilppu Vuorinen
a2896b4764 Add flow and return sensors for MELCloud ATW device (#34693) 2020-05-01 08:56:03 +02:00
Paulus Schoutsen
421ebb087b Fix pylint CI 2020-04-30 23:50:16 -07:00
Jason Hunter
850b5cb02b Config flow for ONVIF (#34520) 2020-04-30 23:15:40 -07:00
Paulus Schoutsen
7e47481676 Fix MQTT test 2020-04-30 22:55:59 -07:00
Paulus Schoutsen
837b1384af Bumped version to 0.109.2 2020-04-30 22:41:44 -07:00
Paulus Schoutsen
af5cdc1f65 Lint roomba (#35000) 2020-04-30 22:41:37 -07:00
Xiaonan Shen
bc9125666f Fix roomba not reporting error (#34996) 2020-04-30 22:41:36 -07:00
Austin Mroczek
b01131ab9d Add allow extra to totalconnect config schema (#34993) 2020-04-30 22:41:35 -07:00
J. Nick Koston
b8070567bf Log the rachio webhook url (#34992) 2020-04-30 22:41:34 -07:00
Robert Svensson
77d89d13b6 UniFi - Disconnected clients wrongfully marked as wired not created (#34986) 2020-04-30 22:41:34 -07:00
Chris Talkington
12119f89e5 Support num_repeats for directv remote (#34982) 2020-04-30 22:41:20 -07:00
Chris Talkington
3a4b8625bd Support num_repeats for roku remote (#34981) 2020-04-30 22:40:26 -07:00
J. Nick Koston
42dd3ba748 Fix restoring isy994 brightness with no previous state (#34972) 2020-04-30 22:39:02 -07:00
J. Nick Koston
de18207ca3 Fix preservation of homekit fan speed on toggle (#34971) 2020-04-30 22:37:57 -07:00
Erik Montnemery
b68228c7e8 Fix MQTT debug info for same topic (#34952) 2020-04-30 22:37:56 -07:00
Maciej Bieniek
9ccd56c019 Bump brother to 0.1.14 (#34930) 2020-04-30 22:37:56 -07:00
Raman Gupta
4d49fe6b93 Don't attempt to set Vizio is_volume_muted property if Vizio API doesn't provide muted state (#34782) 2020-04-30 22:37:55 -07:00
J. Nick Koston
e7157f2164 Fix restoring isy994 brightness with no previous state (#34972) 2020-04-30 22:36:01 -07:00
J. Nick Koston
af62660b14 Attempt to fix flapping august lock test (#34998) 2020-04-30 22:35:23 -07:00
Erik Montnemery
82a478e2fb Fix MQTT debug info for same topic (#34952) 2020-04-30 22:34:44 -07:00
Robert Svensson
72e7beeb76 UniFi - Add simple options flow (#34990) 2020-04-30 22:33:22 -07:00
Paulus Schoutsen
03bb2a68b3 Lint roomba (#35000) 2020-04-30 22:27:34 -07:00
Paulus Schoutsen
8f9467492d Remove some passings of loop (#34995) 2020-04-30 21:34:51 -07:00
Xiaonan Shen
225059f8ea Fix roomba not reporting error (#34996) 2020-04-30 21:13:45 -07:00
Chris Talkington
bb08959131 Support num_repeats for roku remote (#34981) 2020-04-30 21:08:32 -07:00
Chris Talkington
1f66821256 Support num_repeats for directv remote (#34982) 2020-04-30 21:08:15 -07:00
Robert Svensson
7b90cbd2b2 UniFi - Disconnected clients wrongfully marked as wired not created (#34986) 2020-04-30 21:06:16 -07:00
Raman Gupta
3e06e6b4b3 Don't attempt to set Vizio is_volume_muted property if Vizio API doesn't provide muted state (#34782) 2020-04-30 21:05:45 -07: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
Austin Mroczek
5699cb8a09 Add allow extra to totalconnect config schema (#34993) 2020-05-01 03:35:32 +02:00
J. Nick Koston
a2efc079f1 Add battery sensors to hunterdouglas_powerview (#34917) 2020-04-30 18:25:59 -07:00
J. Nick Koston
cfc0edff6b Log the rachio webhook url (#34992) 2020-04-30 20:41:24 -04:00
J. Nick Koston
208fa84a27 Update excess powerwall logging to be debug (#34994) 2020-04-30 20:40:31 -04:00
João Gabriel
4e55fa6c5c Refactor Remote class in panasonic_viera (#34911) 2020-05-01 02:35:02 +02:00
HomeAssistant Azure
bd72ddda3c [ci skip] Translation update 2020-05-01 00:02:55 +00:00
Paulus Schoutsen
6056753a9c Introduce a singleton decorator (#34803) 2020-04-30 16:47:14 -07:00
Paulus Schoutsen
76f392476b Use a future for mock coro (#34989) 2020-04-30 16:31:00 -07:00
Chris Talkington
ba7391528f Add unique id to esphome config flow (#34753) 2020-04-30 16:24:47 -07:00
J. Nick Koston
799d98eaf0 Cleanup homekit callbacks and jobs (#34975) 2020-04-30 15:49:16 -07:00
Franck Nijhof
928d9ec117 Fix not condition validation and entity/device extraction (#34959) 2020-05-01 00:15:53 +02:00
Martin Hjelmare
6fe00497d6 Fix webhook imports sorting (#34988) 2020-04-30 23:03:54 +02:00
Paulus Schoutsen
ec47216388 Use built-in test helpers on 3.8 (#34901) 2020-04-30 13:29:50 -07:00
Daniel Perna
6b16c34fd0 Improve logging for unregistered webhooks (#34882)
* Improve logging for unregistered webhooks

* Address comment, KEY_REAL_IP

* Address comment, read(64)

* Lint
2020-04-30 22:07:07 +02:00
João Gabriel
d4b66717a4 Remove panasonic_viera from legacy discovery (#34909) 2020-04-30 22:04:53 +02:00
Ville Skyttä
435a88636a Address new issues flagged by flake8 3.8.0a2 (#34964) 2020-04-30 21:37:58 +02:00
J. Nick Koston
bf5cc22bef Fix preservation of homekit fan speed on toggle (#34971) 2020-04-30 11:34:25 -07:00
Maciej Bieniek
d43617c41d Bump brother to 0.1.14 (#34930) 2020-04-30 15:43:02 +02:00
alxrdn
55bf5514ad Add overlay options wrapper to rpi_camera (#34461)
* add overlay options wrapper to rpi_camera

* Refactor to set config yaml section under the top level integration domain key

* Remove return values that are not checked

Co-Authored-By: Martin Hjelmare <marhje52@gmail.com>

* Remove superfluous debug log messages

* Return if not set up via discovery

* Add convenience reference to hass.data[DOMAIN]

* Black formatting

* Isort

* Exclude all rpi_camera modules

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-04-30 15:30:37 +02:00
Thomas Le Gentil
29a05a6a65 Add fortigate deprecation message (#34854) 2020-04-30 15:08:11 +02:00
Frederik Gladhorn
a65edc8dc1 Fix crash in NAD integration (#34571)
Some amplifiers/receivers do not report any volume (due to them not
knowing), for example NAD C 356BEE is documented to return an empty
string for volume.

At least don't crash when we get None back.
2020-04-30 14:52:53 +02:00
clssn
15b1a9ecea Add numato integration (#33816)
* Add support for Numato 32 port USB GPIO boards

Included are a binary_sensor, sensor and switch component
implementations. The binary_sensor interface pushes updates via
registered callback functions, so no need to poll here.

Unit tests are included to test against a Numato device mockup.

* Refactor numato configuration due to PR finding

* Resolve minor review findings

* Bump numato-gpio requirement

* Load numato platforms during domain setup

According to review finding

* Guard from platform setup without discovery_info

According to review finding

* Move numato API state into hass.data

According to review finding.

* Avoid side effects in numato entity constructors

According to review finding

* Keep only first line of numato module docstrings

Removed reference to the documentation. Requested by reviewer.

* Minor improvements inspired by review findings

* Fix async tests

Pytest fixture was returning from the yield too early executing teardown
code during test execution.

* Improve test coverage

* Configure GPIO ports early

Review finding

* Move read_gpio callback to outside the loop

Also continue on failed switch setup, resolve other minor review
findings and correct some error messages

* Bump numato-gpio requirement

This fixes a crash during cleanup. When any device had a communication
problem, its cleanup would raise an exception which was not handled,
fell through to the caller and prevented the remaining devices from
being cleaned up.

* Call services directly

Define local helper functions for better readability.
Resolves a review finding.

* Assert something in every test

So not only coverage is satisfied but things are actually tested
to be in the expected state.
Resolves a review finding.

* Clarify scope of notification tests

Make unit test for hass NumatoAPI independent of Home Assistant (very basic test of notifications).
Improve the regular operations test for notifications.

* Test for hass.states after operating switches

Resolves a review finding.

* Check for wrong port directions

* WIP: Split numato tests to multiple files

test_hass_binary_sensor_notification still fails.

* Remove pytest asyncio decorator

Apears to be redundant. Resolves a review finding.

* Call switch services directly.

Resolves a review finding.

* Remove obsolete inline pylint config

Co-Authored-By: Martin Hjelmare <marhje52@gmail.com>

* Improve the numato_gpio module mockup

Resolves a review finding.

* Remove needless explicit conversions to str

Resolves review findings.

* Test setup of binary_sensor callbacks

* Fix test_hass_binary_sensor_notification

* Add forgotten await

Review finding.

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-04-30 14:23:30 +02:00
Pascal Vizeli
becc120ad9 Merge pull request #34922 from home-assistant/rc
0.109.1
2020-04-30 11:00:49 +02:00
Chris Talkington
ade4e36da7 Use entry ID when IPP printer offers no identifier (#34316) 2020-04-30 00:22:05 -07:00
Chris Talkington
b4083dc14f Use entry ID when IPP printer offers no identifier (#34316) 2020-04-30 00:21:53 -07:00
Paulus Schoutsen
38f9559348 Bumped version to 0.109.1 2020-04-30 00:11:31 -07:00
J. Nick Koston
d974e64a8b Make sqlalchemy engine connect listener recorder specific (#34908) 2020-04-30 00:11:21 -07:00
J. Nick Koston
6f20a4a181 Avoid error when battery appears after homekit has started (#34906) 2020-04-30 00:11:20 -07:00
J. Nick Koston
6b2a006fea Fix handling homekit thermostat states (#34905) 2020-04-30 00:11:20 -07:00
jjlawren
88c755518f Reduce log level for WebOS connection error (#34904) 2020-04-30 00:11:19 -07:00
Paulus Schoutsen
e2475e67c6 Fix Toon doing I/O in event loop (#34896) 2020-04-30 00:11:18 -07:00
Paulus Schoutsen
d891810e95 Fix Garmin Connect doing I/O in event loop (#34895) 2020-04-30 00:11:18 -07:00
Aaron Bach
98bff965f5 Fix Flu Near You exception re: stale coroutines (#34880) 2020-04-30 00:11:17 -07:00
J. Nick Koston
d391b87227 Prevent homekit fans from going to 100% than speed when turning on (#34875) 2020-04-30 00:11:16 -07:00
J. Nick Koston
5f7711e7a6 Abort nexia import if the username is already configured (#34863) 2020-04-30 00:11:15 -07:00
Andrew Sayre
3bf1cf4f85 SmartThings continue correct config flow after external auth (#34862) 2020-04-30 00:11:14 -07:00
Pascal Vizeli
6d9aafd3b0 Fix CVE-2020-1967 (#34853) 2020-04-30 00:11:13 -07:00
Maciej Bieniek
81a2fb9615 Reload braviatv entry after options update (#34576)
* Reload entry after options update

* Undo update listener when unloading
2020-04-30 00:11:13 -07:00
jjlawren
f3c6f665af Reduce log level for WebOS connection error (#34904) 2020-04-30 00:10:02 -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
574d8d30a7 Make sqlalchemy engine connect listener recorder specific (#34908) 2020-04-30 00:08:40 -07:00
J. Nick Koston
8467b91390 Fix async scene conversion in Hunter Douglas Powerview (#34899)
* Fix async scene conversion in hunter douglas powerview

* Update homeassistant/components/hunterdouglas_powerview/scene.py

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

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-04-30 02:32:05 +02:00
HomeAssistant Azure
5d37eb8eeb [ci skip] Translation update 2020-04-30 00:03:17 +00:00
Paulus Schoutsen
7d71a2c979 Fix Toon doing I/O in event loop (#34896) 2020-04-29 16:34:55 -06:00
Paulus Schoutsen
58d9c96b5f Fix Garmin Connect doing I/O in event loop (#34895) 2020-04-29 16:34:24 -06:00
Franck Nijhof
b9f74f3d25 Merge branch 'master' into dev 2020-04-30 00:07:12 +02:00
J. Nick Koston
6c18a2cae2 Config flow for hunterdouglas_powerview (#34795)
Co-Authored-By: Paulus Schoutsen <paulus@home-assistant.io>
2020-04-29 14:24:57 -07:00
Andrew Sayre
6ae7f31947 SmartThings continue correct config flow after external auth (#34862) 2020-04-29 14:05:20 -07:00
J. Nick Koston
97c82089b4 Abort nexia import if the username is already configured (#34863) 2020-04-29 14:02:59 -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
5516063f46 Prevent tplink tests from doing I/O (#34879) 2020-04-29 13:44:40 -07:00
Aaron Bach
b8a5597d3e Fix Flu Near You exception re: stale coroutines (#34880) 2020-04-29 14:29:44 -05:00
Brian Rogers
481b2035db Clean up Rachio binary sensor init (#34855)
* Update binary sensor

* Move online state to subclass
2020-04-29 11:39:09 -05:00
J. Nick Koston
f656f352a3 Remove side effects from rachio switch init (#34799)
* Remove side effects from rachio switch init

* Remove useless inits
2020-04-29 11:34:45 -05:00
Pascal Vizeli
a6ee2995bc Fix CVE-2020-1967 (#34853) 2020-04-29 18:06:25 +02:00
Maciej Bieniek
58bff0a183 Reload braviatv entry after options update (#34576)
* Reload entry after options update

* Undo update listener when unloading
2020-04-29 09:27:45 -05:00
Franck Nijhof
405062d2df Merge pull request #34850 from home-assistant/rc 2020-04-29 15:50:32 +02:00
Franck Nijhof
50144e883e Bumped version to 0.109.0 2020-04-29 14:15:35 +02:00
Franck Nijhof
e7e0f049d1 Update translations for Islamic Prayer Times 2020-04-29 13:52:10 +02:00
ollo69
15569f1e7f Fix tuya network failure startup (#34057)
* Tuya initialization retry on failure

* Rename exception

* Changed managed exception

* Manage different cases of ConnectionError

* Log messages correction

* Test always catching exceptions

* Update for Lint

* Update tuya library to 0.0.6

- Catch new library exception

* Tuya initialization retry on failure

* Rename exception

* Changed managed exception

* Manage different cases of ConnectionError

* Log messages correction

* Test always catching exceptions

* Update for Lint

* Update tuya library to 0.0.6

- Catch new library exception

* Catch wrong credential

* Revert "Catch wrong credential"

This reverts commit 7fb797de52.

* Catch wrong credential

* Remove trailing whitespace

* Black formatting

* Import Exception from tuyaapi

* Remove str to exception

* Force CI checks

* Force CI checks

* Rebase conflict

* Tuya initialization retry on failure

* Rename exception

* Changed managed exception

* Manage different cases of ConnectionError

* Log messages correction

* Test always catching exceptions

* Update for Lint

* Update tuya library to 0.0.6

- Catch new library exception

* Catch wrong credential

* Revert "Catch wrong credential"

This reverts commit 7fb797de52.

* Tuya initialization retry on failure

* Rename exception

* Changed managed exception

* Catch wrong credential

* Force CI checks

* Force CI checks

* Rebase conflict

* Rebase

* Force Test

* Force Test
2020-04-29 13:46:27 +02:00
Quentame
dad0109eca Bump python-synology to 0.7.3 (#34847) 2020-04-29 13:42:55 +02:00
Rami Mosleh
1e23019df8 Fix Islamic prayer times naming (#34784) 2020-04-29 13:42:50 +02:00
Quentame
2788de9b10 Bump python-synology to 0.7.3 (#34847) 2020-04-29 13:41:37 +02:00
Rami Mosleh
6e0d61e5e8 Fix Islamic prayer times naming (#34784) 2020-04-29 13:38:20 +02:00
Franck Nijhof
0bb83e5b7c Merge branch 'master' into rc 2020-04-29 12:15:16 +02:00
Franck Nijhof
aca1c5a5f8 Update translations for FRITZ!Box 2020-04-29 12:04:53 +02:00
Franck Nijhof
24fd395d09 Bump version to 0.110.0dev0 (#34827) 2020-04-29 08:56:43 +02:00
J. Nick Koston
13f4393042 Fix flapping reload tests (#34837) 2020-04-28 22:58:55 -07:00
HomeAssistant Azure
a3d048e9c0 [ci skip] Translation update 2020-04-28 22:25:55 -07:00
Paulus Schoutsen
66d938fcea Bumped version to 0.109.0b5 2020-04-28 22:24:09 -07:00
Bram Kragten
72d805d458 Updated frontend to 20200427.1 (#34831) 2020-04-28 22:23:56 -07:00
Quentame
1a2e6eae8e Bump python-synology to 0.7.2 (#34830) 2020-04-28 22:23:55 -07:00
Franck Nijhof
d634ed0bbb Fix meteoalarm exception handling with instance of KeyError (#34828) 2020-04-28 22:23:54 -07:00
Franck Nijhof
bdbeb1d68f Fix async call in sync context in steam_online (#34823) 2020-04-28 22:23:54 -07:00
Franck Nijhof
e8314e1d86 Fix sync call in async context generic_thermostat (#34822) 2020-04-28 22:23:53 -07:00
Robert Svensson
bf424caf4a UniFi - Add a second roaming event (#34819) 2020-04-28 22:23:52 -07:00
escoand
996af94bb8 Handle more fritzbox edge cases (#34802) 2020-04-28 22:23:52 -07:00
Chris Talkington
f47055a1b0 Remove legacy discovery for roku (#34794) 2020-04-28 22:23:51 -07:00
Chris Talkington
e416e0a9e9 Remove legacy discovery for directv (#34793)
* remove legacy discovery for directv

* Update __init__.py

* Update __init__.py
2020-04-28 22:23:50 -07:00
Paulus Schoutsen
fd690db01f Disable upnp SSDP discovery (#34756) 2020-04-28 22:23:49 -07:00
escoand
e03df37417 Add unique_id to fritzbox (#34716) 2020-04-28 22:23:48 -07:00
MatsNl
3f232f3dbd Fix atag timezone bug (#34686)
Co-authored-by: Boris Nelissen <borisnelissen91@gmail.com>
2020-04-28 22:23:48 -07:00
Franck Nijhof
942cd7caa5 Fix sync call in async context generic_thermostat (#34822) 2020-04-28 22:21:34 -07:00
Chris Talkington
5a93a6eec4 Remove legacy discovery for directv (#34793)
* remove legacy discovery for directv

* Update __init__.py

* Update __init__.py
2020-04-28 22:21:10 -07:00
Chris Talkington
c56391e972 Remove legacy discovery for roku (#34794) 2020-04-28 22:20:54 -07:00
Bram Kragten
de062bc2a6 Updated frontend to 20200427.1 (#34831) 2020-04-28 22:20:06 -07:00
Robert Svensson
976457ccef UniFi - Add a second roaming event (#34819) 2020-04-28 22:19:55 -07:00
escoand
f64c35c3f9 Handle more fritzbox edge cases (#34802) 2020-04-28 22:17:35 -07:00
J. Nick Koston
592f316b3f Fix race condition in august test under py38 (#34775) 2020-04-28 23:22:33 -05:00
J. Nick Koston
c82ece2721 Fix pylint CI (#34836) 2020-04-28 20:35:04 -05:00
Brendon Go
c695b6f6a5 Remove unnecessary space in greeneye_monitor unique_id (#34834) 2020-04-28 19:27:03 -05:00
Brendon Go
3debb7cdf3 Fix typo in arest sensor (#34833) 2020-04-28 19:25:32 -05:00
Franck Nijhof
79c3148fc0 Fix async call in sync context in steam_online (#34823) 2020-04-29 02:18:15 +02:00
HomeAssistant Azure
7faba60e83 [ci skip] Translation update 2020-04-29 00:03:31 +00:00
Franck Nijhof
b9bd757df1 Fix meteoalarm exception handling with instance of KeyError (#34828) 2020-04-29 01:59:25 +02:00
Frederik Gladhorn
5825cd7868 Fix async_setup type in components/homeassistant module (#34816) 2020-04-29 01:49:43 +02:00
starkillerOG
e46f1b69ba Add Xiaomi miio Alarm Control Panel (#32091)
Co-Authored-By: Martin Hjelmare <marhje52@gmail.com>
2020-04-29 01:44:31 +02:00
Yarmo Mackenbach
26241980d7 Update nederlandse_spoorwegen nsapi to 3.0.4 (#34681)
* NS version bumped to 3.0.4
2020-04-28 17:56:04 -05:00
Yarmo Mackenbach
ed7cacbf92 Removed defunct punctuality from nederlandse_spoorwegen (#34680) 2020-04-28 17:52:27 -05:00
Quentame
a217630fdd Bump python-synology to 0.7.2 (#34830) 2020-04-28 17:23:39 -05:00
J. Nick Koston
2f3bd80de4 Add missing blocks (#34832) 2020-04-28 15:10:23 -07:00
Paulus Schoutsen
0246761f94 Log threading exceptions properly (#34789) 2020-04-28 14:31:35 -07:00
Paulus Schoutsen
87801d8aca Minor helpers cleanup (#34786) 2020-04-28 14:31:25 -07:00
Paulus Schoutsen
28f6e79385 Parallelize collections helper (#34783) 2020-04-28 14:31:16 -07:00
Marcin
893f796df2 deCONZ - device triggers for Aqara Opple switches (#34815)
* Added Aqara Opple device triggers

* Update homeassistant/components/deconz/device_trigger.py

Co-Authored-By: Robert Svensson <Kane610@users.noreply.github.com>

* Update homeassistant/components/deconz/device_trigger.py

Co-Authored-By: Robert Svensson <Kane610@users.noreply.github.com>

* Update homeassistant/components/deconz/device_trigger.py

Co-Authored-By: Robert Svensson <Kane610@users.noreply.github.com>

* Fix flake8

Co-authored-by: Robert Svensson <Kane610@users.noreply.github.com>
2020-04-28 22:06:08 +02:00
Paulus Schoutsen
c97ce05b09 Add script to copy backend translations to frontend (#34706) 2020-04-28 10:35:38 -07:00
Paulus Schoutsen
454c5d824a Attempt to fix CI (#34800) 2020-04-28 10:31:22 -07:00
MatsNl
c29c0e7e13 Fix atag timezone bug (#34686)
Co-authored-by: Boris Nelissen <borisnelissen91@gmail.com>
2020-04-28 09:20:04 -05:00
HomeAssistant Azure
e13f78dfc5 [ci skip] Translation update 2020-04-28 00:04:52 +00:00
Joakim Plate
b768c9cc64 Arcam fmj bump library to 0.4.4 (#34687)
* Bump arcam-fmj with better connection failed support

* Log unexpected exceptions in arcam client

* Consider undetected as 2ch to match OSD

* Ask for explicit update on start
2020-04-27 21:57:57 +02:00
escoand
8237ccfa03 Add unique_id to fritzbox (#34716) 2020-04-27 11:18:32 -07:00
HomeAssistant Azure
28a4af89d9 [ci skip] Translation update 2020-04-27 11:05:38 -07:00
HomeAssistant Azure
77cec174b8 [ci skip] Translation update 2020-04-27 11:05:33 -07:00
HomeAssistant Azure
511366f329 [ci skip] Translation update 2020-04-27 11:05:13 -07:00
HomeAssistant Azure
e4d320d5f5 [ci skip] Translation update 2020-04-27 11:05:04 -07:00
Paulus Schoutsen
b8ebb94bc6 Disable upnp SSDP discovery (#34756) 2020-04-27 11:02:25 -07:00
Paulus Schoutsen
d74ece92f9 Validate that discovered config flows set a unique ID (#34751)
Co-Authored-By: Franck Nijhof <git@frenck.dev>
2020-04-27 10:36:56 -07:00
Brian Rogers
360ac7e71f Add Rachio rain delay switch (#34741)
* Add Rachio Rain Delay Switch

* Typo

* Catch KeyError

* Use HA dt module in place of time
2020-04-27 12:23:16 -05:00
Paulus Schoutsen
ed925f9ef5 Set up config entries in parallel (#34755) 2020-04-27 10:05:02 -07:00
Aaron Bach
b876f7f11a Bump simplisafe-python to 9.2.0 (#34750) 2020-04-27 10:41:33 -06:00
Bram Kragten
097b1d112b Bumped version to 0.109.0b4 2020-04-27 15:43:28 +02:00
Bram Kragten
961327f76b Updated frontend to 20200427.0 (#34766) 2020-04-27 15:40:43 +02:00
Quentame
d7fbb8ed8e Bump python-synology to 0.7.1 (#34728) 2020-04-27 15:40:43 +02:00
escoand
79135f59fd Fix fritzbox errors again (#34710) 2020-04-27 15:40:42 +02:00
Bram Kragten
96ef92659f Updated frontend to 20200427.0 (#34766) 2020-04-27 15:38:14 +02:00
rajlaud
5e249aac5f Refactor squeezebox (#34731)
Co-Authored-By: Martin Hjelmare <marhje52@gmail.com>
2020-04-27 12:15:00 +02:00
Pascal Vizeli
be57d45653 Add hadolint to CI (#34758)
* Add hadolint to CI

* Fix lint & name

* Update azure-pipelines-ci.yml

Co-Authored-By: Franck Nijhof <git@frenck.dev>

Co-authored-by: Franck Nijhof <git@frenck.dev>
2020-04-27 12:09:31 +02:00
Martin Hjelmare
e4590539e1 Make ps4 config flow tests robust (#34749) 2020-04-27 11:36:24 +02:00
Pascal Vizeli
bec8781558 cleanup 2020-04-27 09:19:38 +02:00
Pascal Vizeli
2cae17deb7 Fix dockerfile 2020-04-27 09:14:53 +02:00
Paulus Schoutsen
cc14dfa31c Allow ignoring discovery config flow helper (#34740) 2020-04-26 23:35:04 -07:00
Franck Nijhof
a643d6cd3e Upgrade pytest to 5.4.1 (#34739) 2020-04-26 22:54:39 -07:00
jrester
4b998ea6af Improve error handling for Powerwall (#34580)
* Improve error handling
	modified:   homeassistant/components/powerwall/__init__.py
	modified:   homeassistant/components/powerwall/config_flow.py
	modified:   homeassistant/components/powerwall/const.py
	modified:   homeassistant/components/powerwall/strings.json
	modified:   homeassistant/components/powerwall/translations/en.json

* Change exception name
	modified:   homeassistant/components/powerwall/__init__.py
	modified:   homeassistant/components/powerwall/config_flow.py

* Add test

* Rename PowerwallError to POWERWALL_ERROR

* Modify handling of APIChangedErrors
	modified:   homeassistant/components/powerwall/__init__.py
	modified:   homeassistant/components/powerwall/const.py
2020-04-26 19:14:53 -05:00
HomeAssistant Azure
aa2bfbb541 [ci skip] Translation update 2020-04-27 00:02:20 +00:00
Paulus Schoutsen
13c8c2e841 Add unique ID to TRADFRI (#34745) 2020-04-27 01:57:29 +02:00
Franck Nijhof
de3f0c788c Upgrade pytest-timeout to v1.3.4 (#34609) 2020-04-26 13:56:59 -07:00
Franck Nijhof
22fdccba02 Upgrade pytest-sugar to 0.9.3 (#34726) 2020-04-26 13:54:19 -07:00
Thomas Schamm
b85bd2cb99 Create a unique_id for velux cover (#34668) 2020-04-26 13:54:02 -07:00
Franck Nijhof
b6292d7c77 Upgrade pillow to 7.1.2 (#34733) 2020-04-26 13:53:02 -07:00
Quentame
1c84905bcd Bump python-synology to 0.7.1 (#34728) 2020-04-26 22:25:13 +02:00
rako77
ca6243c18a Add missing typing to Spotify (#34698) 2020-04-26 21:25:58 +02:00
Erik Montnemery
066e921a8b Rename SwitchDevice to SwitchEntity (#34673) 2020-04-26 18:50:37 +02:00
Erik Montnemery
e4333a7a44 Rename Light to LightEntity (#34593) 2020-04-26 18:49:41 +02:00
escoand
8402363568 Fix fritzbox errors again (#34710) 2020-04-25 23:57:44 -07:00
Aaron Bach
8ff1fc6f8b Bump pyairvisual and remove unused trends (#34707) 2020-04-25 21:30:12 -06:00
Paulus Schoutsen
0c066a0944 Bumped version to 0.109.0b3 2020-04-25 17:30:56 -07:00
Paulus Schoutsen
86ae02e5c5 Add frontend version WS command (#34701) 2020-04-25 17:30:47 -07:00
Quentame
17c31ed640 Fix Synology DSM translation (#34696) 2020-04-25 17:30:46 -07:00
cgtobi
7fa3950001 Fix zero value state rendering sensor unavailable (#34694)
Co-Authored-By: Franck Nijhof <git@frenck.dev>
2020-04-25 17:30:46 -07:00
Joakim Sørensen
9def9464e9 Add retry at startup (#34656) 2020-04-25 17:30:45 -07:00
escoand
f474631ac0 Fix fritzbox integration errors (#34639) 2020-04-25 17:30:44 -07:00
Paulus Schoutsen
f436e29a0d Add frontend version WS command (#34701) 2020-04-25 17:30:15 -07:00
Erik Montnemery
aa60d362fd Rename RemoteDevice to RemoteEntity (#34676) 2020-04-26 02:12:36 +02:00
Erik Montnemery
d3ed80cf53 Rename VacuumDevice to VacuumEntity (#34674) 2020-04-26 02:11:08 +02:00
HomeAssistant Azure
90e0a1af8a [ci skip] Translation update 2020-04-26 00:02:45 +00:00
Pascal Vizeli
9ca2ad53f9 Python 3.8 on CI (#34654) 2020-04-25 16:54:41 -07:00
Paulus Schoutsen
e7f8d6bbf7 Fix more tests on Python 3.8 (#34703) 2020-04-25 15:52:50 -07:00
Joakim Sørensen
5760fb94fe Add retry at startup (#34656) 2020-04-25 15:40:44 -07:00
escoand
147dfa06af Fix fritzbox integration errors (#34639) 2020-04-25 15:40:26 -07:00
Quentame
b44464e0fa Fix Synology DSM translation (#34696) 2020-04-26 00:37:41 +02:00
J. Nick Koston
fd339be458 Add ability to ignore myq discovery (#34652)
* Add ability to ignore myq discovery

* update test

* Update tests/components/myq/test_config_flow.py

Co-Authored-By: Chris Talkington <chris@talkingtontech.com>

* Update tests/components/myq/test_config_flow.py

Co-Authored-By: Chris Talkington <chris@talkingtontech.com>

* reset ci

Co-authored-by: Chris Talkington <chris@talkingtontech.com>
2020-04-25 17:09:08 -05:00
J. Nick Koston
29383f98b5 Add ability to ignore tado discovery (#34650)
* Add ability to ignore tado discovery

* update test

* Update tests/components/tado/test_config_flow.py

Co-Authored-By: Chris Talkington <chris@talkingtontech.com>

* Update tests/components/tado/test_config_flow.py

Co-Authored-By: Chris Talkington <chris@talkingtontech.com>

Co-authored-by: Chris Talkington <chris@talkingtontech.com>
2020-04-25 17:08:53 -05:00
J. Nick Koston
c4c2b4f9da Add ability to ignore rachio discovery (#34649)
* Add ability to ignore rachio discovery

* update test

* Update tests/components/rachio/test_config_flow.py

Co-Authored-By: Chris Talkington <chris@talkingtontech.com>

* Update tests/components/rachio/test_config_flow.py

Co-Authored-By: Chris Talkington <chris@talkingtontech.com>

Co-authored-by: Chris Talkington <chris@talkingtontech.com>
2020-04-25 17:08:37 -05:00
Paulus Schoutsen
0d700f6a63 Fix tests for Python 3.8 (#34672) 2020-04-25 14:32:55 -07:00
cgtobi
d53cb951e7 Fix zero value state rendering sensor unavailable (#34694)
Co-Authored-By: Franck Nijhof <git@frenck.dev>
2020-04-25 22:15:31 +02:00
Erik Montnemery
8c5c963b96 Rename CoverDevice to CoverEntity (#34595) 2020-04-25 18:07:15 +02:00
Erik Montnemery
6f7f5b4034 Rename AlarmControlPanel to AlarmControlPanelEntity (#34590) 2020-04-25 18:05:28 +02:00
Erik Montnemery
29bc93ea98 Rename ClimateDevice to ClimateEntity (#34591) 2020-04-25 18:04:03 +02:00
Erik Montnemery
b30d117e7d Rename LockDevice to LockEntity (#34594) 2020-04-25 18:02:41 +02:00
Erik Montnemery
62bc02fdda Rename MediaPlayerDevice to MediaPlayerEntity (#34592) 2020-04-25 18:00:57 +02:00
Bernhard B
56f7c3b55c Add Signalmessenger group recipients (#34419) 2020-04-25 15:14:19 +02:00
HomeAssistant Azure
5f775c1427 [ci skip] Translation update 2020-04-25 00:08:30 +00:00
Paulus Schoutsen
9a4a83cb91 Fix py38 tests (#34658) 2020-04-24 15:09:45 -07:00
Paulus Schoutsen
e757c47bc8 Bumped version to 0.109.0b2 2020-04-24 14:21:12 -07:00
Quentame
2452f3504c Log config flow errors (#34665) 2020-04-24 14:20:57 -07:00
Alexei Chetroi
e3b91f4ce7 Update ZHA dependency (#34661)
Bump up zigpy-deconz
2020-04-24 14:20:56 -07:00
Paulus Schoutsen
214d6f5cf5 Add Home Assistant Started event (#34657) 2020-04-24 14:20:55 -07:00
Paulus Schoutsen
f3f2aa807b Fix identifying Plex schema when used in packages (#34651) 2020-04-24 14:20:55 -07:00
Bram Kragten
a65bb6d804 Updated frontend to 20200424.0 (#34645) 2020-04-24 14:20:54 -07:00
J. Nick Koston
1063594bf0 Handle synology_dsm discovery broadcasting on multiple ip addresses (#34623) 2020-04-24 14:20:53 -07:00
Paulus Schoutsen
a7f4b4d248 Delay sync for Google and limit updates to relevant info (#34622) 2020-04-24 14:20:52 -07:00
Franck Nijhof
5b4cfc6b25 Fix BloomSky KeyError: 'monitored_conditions' (#34613)
Co-Authored-By: Paulus Schoutsen <balloob@gmail.com>
2020-04-24 14:20:52 -07:00
J. Nick Koston
93aa47851a Restore ability to overwrite homekit max temp bound (#34612) 2020-04-24 14:20:51 -07:00
Paulus Schoutsen
513f33f454 Fix UVC doing I/O in event loop (#34610) 2020-04-24 14:20:50 -07:00
Chris Talkington
7b35f5d66d Restore Expected Behavior of Sonarr Upcoming Sensor (#34408) 2020-04-24 14:20:49 -07:00
Jason Hunter
40d3d64027 Fix recording duration flag (#34648) 2020-04-24 14:18:58 -07:00
Paulus Schoutsen
77443b3d09 Add Home Assistant Started event (#34657) 2020-04-24 14:13:39 -07:00
Quentame
b741199ed3 Log config flow errors (#34665) 2020-04-24 23:10:57 +02:00
Alexei Chetroi
9994554c56 Update ZHA dependency (#34661)
Bump up zigpy-deconz
2020-04-24 16:29:13 -04:00
Paulus Schoutsen
79fdac6674 Merge pull request #34655 from home-assistant/108.9 2020-04-24 10:59:28 -07:00
Aaron Bach
86d3321d59 Store integration type in AirVisual config entry (#34621) 2020-04-24 10:11:17 -07:00
Chris Talkington
1d22936a82 Restore Expected Behavior of Sonarr Upcoming Sensor (#34408) 2020-04-24 10:09:38 -07:00
Paulus Schoutsen
73535200c2 Bumped version to 0.108.9 2020-04-24 09:56:18 -07:00
Paulus Schoutsen
f3de26444e Delay sync for Google and limit updates to relevant info (#34622) 2020-04-24 09:56:12 -07:00
Paulus Schoutsen
a2fab264c4 Fix identifying Plex schema when used in packages (#34651) 2020-04-24 09:52:23 -07:00
Franck Nijhof
c93c6a66e8 Add NOT condition helper (#34624) 2020-04-24 09:40:23 -07:00
Paulus Schoutsen
6404882ec4 Allow flows to know if user is in advanced mode (#34629) 2020-04-24 09:31:56 -07:00
Ziv
4afa2a2651 Update dynalite library and minor changes (#34618) 2020-04-24 09:30:45 -07:00
J. Nick Koston
71617e8e8b Fix failing vilfo test that was doing i/o (#34647) 2020-04-24 10:55:01 -05:00
Bram Kragten
175204a65e Updated frontend to 20200424.0 (#34645) 2020-04-24 08:40:36 -07:00
Geronimo2015
d416029e82 Add onvif PTZ GotoPreset (#34420)
* Added PTZ GotoPreset support

* Update camera.py

Processed flake8 error

* Update services.yaml

Removed trailing spaces

* Update camera.py

black formatted code
2020-04-24 17:28:44 +02:00
Paulus Schoutsen
d3bbd9ec65 Delay sync for Google and limit updates to relevant info (#34622) 2020-04-24 10:49:11 +02:00
jjlawren
813e945d86 Remove deprecated cert_expiry config (#34628) 2020-04-24 09:46:07 +02:00
jjlawren
c582911879 Refactor Plex device/session updates (#34616) 2020-04-23 18:12:39 -07:00
J. Nick Koston
f94329dbbd Handle synology_dsm discovery broadcasting on multiple ip addresses (#34623) 2020-04-23 17:53:18 -07:00
HomeAssistant Azure
5ba0ccd43b [ci skip] Translation update 2020-04-24 00:04:36 +00:00
Franck Nijhof
5b7a4434c4 Fix BloomSky KeyError: 'monitored_conditions' (#34613)
Co-Authored-By: Paulus Schoutsen <balloob@gmail.com>
2020-04-23 16:00:57 -07:00
Fabian Affolter
637ff5698c Move myStrom light and switch to async (#34079) 2020-04-23 16:00:17 -07:00
Paulus Schoutsen
afe15a2e6b Fix UVC doing I/O in event loop (#34610) 2020-04-23 15:52:36 -07:00
starkillerOG
7bfc1d2840 Use "arming" state during transition in manual alarm panel (#32950)
* Manual Alarm Control Panel: use proper "Arming" state

* Update previous and next attributes

* add CONF_ARMING_TIME

* Split up arming and pending time, pending_time --> arming_time

* update tests

* fix issort

* fix issort

* fix demo platform

* fix alarm test

* remove arming_time from the triggered state

* Match previous default "delay_time"

* fix tests

* fix arming state when triggering

* fix arming _arming_time_by_state for Triggering state

* change to not in list

* Update homeassistant/components/manual/alarm_control_panel.py

Co-Authored-By: Martin Hjelmare <marhje52@gmail.com>

* async_update_ha_state -> async_write_ha_state

* black formatting

* add Callback

Co-Authored-By: Martin Hjelmare <marhje52@gmail.com>

* import callback

* update device triggers alarm_control_panel

* Update test_device_trigger.py

* Update device_trigger.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-04-24 00:07:07 +02:00
Franck Nijhof
e9c5f3e74a Upgrade codecov to 2.0.22 (#34607) 2020-04-23 14:05:05 -07:00
J. Nick Koston
7ff196d043 Restore ability to overwrite homekit max temp bound (#34612) 2020-04-23 13:53:31 -07:00
Franck Nijhof
cc28150253 Upgrade pyupgrade to v2.2.1 (#34608) 2020-04-23 13:13:31 -07:00
Franck Nijhof
5a9ee9bd6c Upgrade mock-open to 1.4.0 (#34606) 2020-04-23 13:00:28 -07:00
Paulus Schoutsen
f02475fede Bumped version to 0.109.0b1 2020-04-23 12:58:05 -07:00
Franck Nijhof
73cb06c6af Fix Garmin Connect i/o in event loop (#34598) 2020-04-23 12:57:56 -07:00
J. Nick Koston
dd6322593a 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:57:55 -07:00
Franck Nijhof
b783927039 Remove old style translations from Atag (#34585) 2020-04-23 12:57:55 -07:00
jrester
7c54cd5583 Powerwall sensor add is_active, round state attributes and change thresholding for charging status sensor (#34582)
* Change sensor values and thresholding

* Update tests
2020-04-23 12:57:54 -07:00
Joakim Sørensen
370838ea7b Limit clone/view stats to repos with push access (#34575) 2020-04-23 12:57:53 -07:00
Erik Montnemery
3560081efd Only subscribe when MQTT client is connected. (#34557) 2020-04-23 12:57:53 -07:00
Erik Montnemery
38342b2f25 Remove reconnect logic from MQTT client. (#34556) 2020-04-23 12:57:52 -07:00
MatthewFlamm
e851fc13dc Fix deleting and readding nws entry (#34555)
* fix deleting and readding nws

* Clean up

* Fix variable name clash

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-04-23 12:57:51 -07:00
jjlawren
eb983018ad Add All wrapper to deprecated Plex schema (#34552) 2020-04-23 12:57:51 -07:00
jrester
6651844d41 Update tesla-powerwall to version 0.2.8 (#34545)
* Update tesla-powerwall to version 0.2.7

* Update tesla-powerwall to version 0.2.8
2020-04-23 12:57:50 -07:00
Quentame
eca9710845 Bump python-synology to 0.7.0 (#34534) 2020-04-23 12:57:49 -07:00
Aaron Bach
03d72ff2ec Handle flaky SimpliSafe notification registration (#34475) 2020-04-23 12:57:48 -07:00
jjlawren
1595ed1228 Add Plex play_media logging and troubleshooting tools (#34412) 2020-04-23 12:57:47 -07:00
Erik Montnemery
b022e08db9 Rename BinarySensorDevice to BinarySensorEntity (#34462)
* Rename BinarySensorDevice to BinarySensorEntity

* Tweak

* Move deprecation warning to __new__, add test

* Move deprecation warning back to __init__

* Move deprecation warning to __init_subclass
2020-04-23 21:57:07 +02:00
Franck Nijhof
0b64f49e3a Remove old style translations from Atag (#34585) 2020-04-23 12:53:22 -07:00
jjlawren
f922128a14 Add Plex play_media logging and troubleshooting tools (#34412) 2020-04-23 12:42:17 -07:00
Joakim Sørensen
4fa268ecb4 Limit clone/view stats to repos with push access (#34575) 2020-04-23 12:42:01 -07:00
Franck Nijhof
36413e112f Fix Garmin Connect i/o in event loop (#34598) 2020-04-23 12:33:37 -07:00
Franck Nijhof
0869d209d7 Upgrade pre-commit to 2.3.0 (#34604) 2020-04-23 12:33:15 -07:00
Robert Svensson
b578a76efa UniFi - Move some preloading of unavailable clients earlier in setup phase (#34599)
Improve readability of setting up switch platform
2020-04-23 21:29:38 +02:00
HomeAssistant Azure
5f1855abf5 [ci skip] Translation update 2020-04-23 12:27:34 -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
Aaron Bach
3ce89409d2 Add service to clear SimpliSafe notifications (#34481) 2020-04-23 10:53:06 -06:00
Aaron Bach
828f368323 Handle flaky SimpliSafe notification registration (#34475) 2020-04-23 10:52:11 -06:00
jrester
4a5cf5cd2b Powerwall sensor add is_active, round state attributes and change thresholding for charging status sensor (#34582)
* Change sensor values and thresholding

* Update tests
2020-04-23 10:00:38 -05:00
Robert Svensson
c3689d7416 UniFi - Store controller in config_entry.entry_id (#34553)
* Store controller in config_entry.entry_id

* Clean up imports
2020-04-23 16:48:24 +02:00
Martin Hjelmare
a0fbf9ba47 Remove hap pyc file (#34563) 2020-04-23 13:14:48 +02:00
MatthewFlamm
116f7934d3 Fix deleting and readding nws entry (#34555)
* fix deleting and readding nws

* Clean up

* Fix variable name clash

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-04-23 12:50:55 +02:00
Ziv
561b033ebb Add coverage to qwikswitch (#33939) 2020-04-23 08:44:28 +02:00
HomeAssistant Azure
da87ec8499 [ci skip] Translation update 2020-04-23 00:05:07 +00:00
Aaron Bach
4d292c2723 Add support for AirVisual Node/Pro units (#32815)
* Add support for AirVisual Node Pro units

* Fixed tests

* Updated dependencies

* Guard looks cleaner

* Limit options update to geography-based entries

* Docstring

* Use proper precision in display_temp

* Add availability for AirVisualNodeProSensor

* Updated translations

* Samba stuff in play

* Wrap up Samba

* Fix tests

* Remove unnecessary updates

* Normalize labels

* Bump requirements

* Don't include configuration.yaml support for this new functionality

* Fix tests

* Code review

* Code review

* Update coveragerc

* Code review
2020-04-23 01:41:14 +02:00
Erik Montnemery
4448eb94a1 Only subscribe when MQTT client is connected. (#34557) 2020-04-22 14:38:04 -07:00
Tom
d6ab36bf8e Set mqtt binary_sensor unavailable if expire_after specified (#34259)
* Set self._expired=True if expire_after specified

* Added test_expiration_on_discovery_and_discovery_update_of_binary_sensor to mqtt/test_binary_sensor.py

* Fixed flake8 error

* Fixed isort error
2020-04-22 23:29:49 +02:00
Quentame
a8cd7203df Bump python-synology to 0.7.0 (#34534) 2020-04-22 16:28:47 -05:00
Erik Montnemery
6631bbc6f5 Remove reconnect logic from MQTT client. (#34556) 2020-04-22 14:28:36 -07:00
jjlawren
116012680a Add All wrapper to deprecated Plex schema (#34552) 2020-04-22 14:20:14 -07:00
jrester
dbd1ca45c4 Update tesla-powerwall to version 0.2.8 (#34545)
* Update tesla-powerwall to version 0.2.7

* Update tesla-powerwall to version 0.2.8
2020-04-22 16:10:06 -05:00
Robert Svensson
224c874673 UniFi - Improve logging related to loosing connection to controller (#34547) 2020-04-22 20:45:09 +02:00
Franck Nijhof
4431dd278c Bumped version to 0.109.0b0 2020-04-22 20:28:56 +02:00
Jeff McGehee
dcf51e5a14 Fix Bayesian Binary JSON Serialization (#34540) 2020-04-22 11:25:14 -07:00
Kevin Fronczak
08cacb9f51 Upgrade blinkpy library to 0.14.3 (#34542) 2020-04-22 11:10:20 -07:00
jjlawren
fc8d41d024 Deprecate Plex YAML config (#34546) 2020-04-22 10:41:26 -07:00
Franck Nijhof
50e7b4dc10 Merge branch 'master' into dev 2020-04-22 18:22:13 +02:00
MatsNl
ccc3ce81f9 Add Atag One thermostat integration (#32361)
* add atag integration

* ignore

* generated

* Update .gitignore

* requirements update

* update coveragerc

* Revert "update coveragerc"

* make entity_types more readable

* add DOMAIN to listener

* entity name

* Use DataUpdateCoordinator

* fix translations

* enable preset_modes

* fix water_heater

* update coveragerc

* remove scan_interval

Co-Authored-By: J. Nick Koston <nick@koston.org>

* Apply suggestions from code review

Co-Authored-By: Martin Hjelmare <marhje52@gmail.com>

* fixes review remarks

* fix flake8 errors

* ensure correct HVACmode

* add away mode

* use write_ha_state instead of refresh

* remove OFF support, add Fahrenheit

* rename test_config_flow.py

Co-authored-by: J. Nick Koston <nick@koston.org>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-04-22 18:09:51 +02:00
Paulus Schoutsen
4a08c65205 Validate translations for custom components (#34519) 2020-04-22 06:24:45 -07:00
Paulus Schoutsen
e002c84eba Don't set step title if it's integration title (#34524) 2020-04-22 15:05:39 +02:00
kennedyshead
ab7bd302f6 Bump aioasuswrt to 1.2.5 (#34454)
* bump aioasuswrt

Took 5 minutes

* bump aioasuswrt

Took 10 minutes

Co-authored-by: magnusknutas <magnus@thefarm.se>
2020-04-22 14:59:05 +02:00
Bram Kragten
276c79aa85 Updated frontend to 20200422.0 (#34532) 2020-04-22 08:24:33 -04:00
Pascal Vizeli
9a4a3204d6 Merge pull request #34527 from home-assistant/rc
0.108.8
2020-04-22 10:45:57 +02:00
Fredrik Erlandsson
dd03fcbeb3 Improve volvooncall (#34495)
* Add write_ha_state to switch

* Add unique_id to voc
2020-04-22 10:10:59 +02:00
Pascal Vizeli
2c5079ebb6 Bump version 0.108.8 2020-04-22 07:52:28 +00:00
Pascal Vizeli
123a1baead Bump hass-nabucasa 0.34.1 (#34480) 2020-04-22 07:51:44 +00:00
Chris Talkington
6dd836589c Improve Roku (#34431) 2020-04-21 21:06:23 -07:00
Sean Dague
7f77e99e4d Bump mychevy library to 2.0.1 (#34496) 2020-04-21 21:03:19 -07:00
J. Nick Koston
6c3ea2a904 Fix zeroconf interface being ineffective in HomeKit (#34516) 2020-04-21 20:46:19 -07:00
Robert Svensson
193e9bec97 UniFi - Simplify config option of block clients to just a multi select drop down (#34514) 2020-04-21 20:45:48 -07:00
J. Nick Koston
a5b98b40ac Resolve delays with tuya devices (#34512) 2020-04-21 20:29:42 -07:00
Paulus Schoutsen
e9ff1940d6 Translation fixes and tweaks (#34489)
Co-Authored-By: Martin Hjelmare <marhje52@gmail.com>
2020-04-21 17:57:21 -07:00
J. Nick Koston
96649a7e27 Use registry to find linked batteries for homekit (#33519) 2020-04-21 17:43:49 -07:00
Paulus Schoutsen
9b757e4c22 Merge pull request #34517 from home-assistant/rc 2020-04-21 17:26:36 -07:00
HomeAssistant Azure
46920e9be6 [ci skip] Translation update 2020-04-22 00:03:20 +00:00
Erik Montnemery
877eb0c3ad Don't log same MQTT message multiple times (#34511) 2020-04-21 16:48:04 -07:00
Paulus Schoutsen
61620dec30 Bumped version to 0.108.7 2020-04-21 16:27:13 -07:00
Pascal Vizeli
12e92d504d Fix cloud binary_sensor & TTS/STT (#34505) 2020-04-21 16:26:54 -07:00
ochlocracy
16e1b3772c Modify requirements for CameraStreamController in Alexa (#34470) 2020-04-21 16:26:53 -07:00
J. Nick Koston
59686274d7 Ensure nexia state file is in a writable location (#34325)
* bump nexia to 0.9.2
2020-04-21 16:26:52 -07:00
jan iversen
945567150d Rollback modbus to version 0.107.7 keep new functionality (#34287)
* Rollback modbus to version 0.107.7

Update manifest to not use async.

Rollback entities to sync version.

Keep newer modifications apart from async.

Rollback __init__ to sync version but keep the new functionality.

add async sub directory

Adding the current (not working) version in a sub directory,
to allow easy sharing with a few alfa testers.

The async version are to be updated to use the serial/tcp already
available instead of the flaky pymodbus version. pymodbus is still
needed to encode/decode the messagess.

Update test cases to reflect sync implementation, but
keep the new functionality like e.g. conftest.py.

* do not publish async version

The async version will be made available in a forked repo, until
it is ready to replace the production code.
2020-04-21 16:26:00 -07:00
jan iversen
eedfca6623 Fix modbus sync/async issues (#34043)
* add pyserial to manifest

pymodbus is very developer oriented and assumes every developer
adapt the requierements.txt to his/hers needs.

Our requirements.txt is different it contains all posibilities allowing
user to later change configuration without having to install extra
packages.

As a consequence manifest.json needs to include the pyserial.

* modbus: make truly async client creation

Make hass call listen_once async.
Integrate content of start_modbus into async_setup.

Do not use the boiler plate create tcp client function from
pymodbus as it is sync, and also does not work well with asyncio,
instead call the init_<type> directly, since that is async.

* both component/modbus and component/serial uses pyserial-async
but with slighty different version requirements.

Combined the 2.

* Review 1

* Review 2

* Review

@staticmethod is no good, because the function uses class variables.

* Review

Pytest is sometimes a bit cryptic, lets hope this does it.
2020-04-21 16:25:26 -07:00
Paulus Schoutsen
41e4dc4336 Cloud do checks during setup (#33507)
* Update cloud to do more tasks during async_setup

* Upgrade hass_nabucasa to 0.33
2020-04-21 16:14:18 -07:00
Joakim Sørensen
730a257f3c Rename translations dir for integrations (#34494) 2020-04-21 16:11:05 -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
Franck Nijhof
ca08b70984 Revert removal of JSON validator in hassfest (#34504)
Co-Authored-By: Paulus Schoutsen <balloob@gmail.com>
2020-04-21 14:42:04 -07:00
Robert Svensson
867138ebb8 UniFi - Only match ssid filter if ssid is present, this will only affect recently disconnected clients and clients which have a previously created entry in entity registry (#34509) 2020-04-21 21:13:19 +02:00
Robert Svensson
e004cd029a UniFi - Improve handling of client tracker is connected to better respect configured delay (#34510) 2020-04-21 21:12:44 +02:00
Oscar Calvo
b73c774b07 Fix a bug where a single long sms message is sent as multiple… (#34508) 2020-04-21 21:03:15 +02:00
J. Nick Koston
5635cdb77c Fix setting up multiple UPSes with NUT in 0.108.x (#34427) 2020-04-21 10:47:31 -07:00
ochlocracy
0d598dd6d6 Modify requirements for CameraStreamController in Alexa (#34470) 2020-04-21 10:46:56 -07:00
springstan
ef9d9b17bd Drop UNIT_ prefix for constants (#34164)
* Drop UNIT_ prefix for VOLT

* Drop UNIT_ prefix for DEGREE

* Drop UNIT_ prefix for CONDUCTIVITY

* Drop UNIT_ prefix for UV_INDEX

* Run isort
2020-04-21 19:45:53 +02:00
Martin Hjelmare
fbde040f59 Complete device registry update (#34500)
* Add manufacturer and model parameters to device registry update
  method.
2020-04-21 19:40:16 +02:00
Franck Nijhof
220baed33a Remove Yahoo Weather integration (#34501) 2020-04-21 19:11:19 +02:00
Pascal Vizeli
5f2a9ed965 Fix cloud binary_sensor & TTS/STT (#34505) 2020-04-21 08:55:09 -07:00
David Nielsen
08e74352ec Update bravia-tv backend (#34376)
* bravia-tv version bump

* Fix Auth Cookies

    - Fix authentication cookie expiration.
    - Remove obsolete error handling (since bravia-tv==1.0.2)
    - Remove obsolete mac address references. (since bravia-tv==1.0.2)
    - Update tests.

* fix async_refresh_playing_info

* Improve code format

Co-Authored-By: Martin Hjelmare <marhje52@gmail.com>

* Config_entry needs mac address for HA restart

    This was mistakenly taken out. Home-Assistant needs to store mac address in
    case restarted. TV needs to be on to acquire mac address. This is neccesary
    to allow TV to be turned on by Home-Assistant after Home-Assistant is
    restarted.

* Skip update() during state changes

    It is best for performance to skip updates during state change because
    bravia.turn_on() will commonly push async_update() beyond it's update
    interval.

* update tests

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-04-21 16:46:12 +02:00
Franck Nijhof
60f79c848a Remove Pushetta integration (#34497) 2020-04-21 14:28:03 +02:00
Maciej Bieniek
2584a07452 Switch gios to async_on_remove (#34499) 2020-04-21 14:16:37 +02:00
Maciej Bieniek
6a4c25b668 Switch airly to async_on_remove (#34498) 2020-04-21 14:12:08 +02:00
Daniel Høyer Iversen
d305247485 upgrade broadlink lib (#34488) 2020-04-21 07:44:41 -04:00
Franck Nijhof
782d2d0b75 Revert incorrect sync/async conversion in LCN integration (#34493) 2020-04-21 12:36:23 +02:00
Erik Montnemery
8e150ff1f5 Bump pychromecast (#34466)
* Bump pychromecast

* Fix tests
2020-04-21 07:57:39 +02:00
Robert Svensson
f12bd7ad99 UniFi - Logs spam with not adding disabled entity (#34479)
* Proposed solution, unfortunately this makes the implementation less pretty

* Clarify why mac is registered in init
2020-04-21 06:17:14 +02:00
Franck Nijhof
bc5a2da7b7 Add transition support to scenes, cleanup blocking parameter (#34434) 2020-04-20 18:07:50 -07:00
Paulus Schoutsen
19be31d13a Migrate HomeKit to use describe_event for logbook support (#34485) 2020-04-20 17:48:09 -07:00
Paulus Schoutsen
95357dfc55 Update translations 2020-04-20 16:33:54 -07:00
Paulus Schoutsen
d560e8245a Import state strings (#34451) 2020-04-20 16:25:35 -07:00
Pascal Vizeli
095d2718f3 Bump hass-nabucasa 0.34.1 (#34480) 2020-04-20 15:55:41 -07:00
Maciej Bieniek
9de57382cd Switch brother to async_on_remove (#34478) 2020-04-20 14:00:46 -07:00
Leroy Shirto
6fc517fdbe Update bt_smarthub component making it compatible with smarthub 2 (#31292)
* 0.2.0 of the btsmarthub_devicelist package makes it compatable with BT's home hub 2.
The API has changed in the new version so this change also makes the component code compatible with the changes to the library.

* Update homeassistant/components/bt_smarthub/device_tracker.py

Co-Authored-By: Franck Nijhof <frenck@frenck.nl>

* Update homeassistant/components/bt_smarthub/device_tracker.py

Co-Authored-By: Franck Nijhof <frenck@frenck.nl>

* Remove dep on config in BTSmartHubScanner

This should make BTSmartHubScanner easier to test as you can pass in a mock smarthub_client

* Black format bt_smarthub

Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2020-04-20 20:45:08 +02:00
J. Nick Koston
214aa3de08 Switch nexia to async_on_remove (#34474) 2020-04-20 13:39:33 -05:00
J. Nick Koston
01581ff92e Switch myq to async_on_remove (#34473) 2020-04-20 13:31:50 -05:00
J. Nick Koston
a5af746013 Switch powerwall to async_on_remove (#34472) 2020-04-20 13:21:29 -05:00
J. Nick Koston
4a788b62d1 Switch griddy to async_on_remove (#34471) 2020-04-20 13:21:00 -05:00
Mikael Svensson
ccc818266b Fix relative_time datetime object without timezone (#34273) 2020-04-20 10:29:12 -07:00
Finbarr Brady
c9fba5db5e Bump openwrt-luci-rpc version: 1.1.2 → 1.1.3 (#34463)
* Update manifest.json

* Update requirements_all.txt
2020-04-20 18:28:29 +02:00
J. Nick Koston
f0d553514d Add vacuum support to homekit (#34386) 2020-04-20 08:00:52 -07:00
Alistair Galbraith
d144228272 Add support for Lutron Keypad LEDs (#30452)
* Add support for Lutron Keypad LEDs

* Removed unneeded attribute definitions

* Pull initial state from Lutron on startup

* Format updates per code review

* Altered caching code to only fetch state if needed

* Update homeassistant/components/lutron/switch.py

Co-Authored-By: Martin Hjelmare <marhje52@gmail.com>

* Cloud pylint is also offended by this ;)

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-04-20 15:44:55 +02:00
Gleb Sinyavskiy
9062d6e5e6 Improve the transmission integration (#34223)
* Update state after adding a new torrent

* Use cached torrents list in check_started_torrent_info

* Add torrent_info to all sensors

* Add torrent_info for active torrents

* Fix typo

* Update codeowners

* Do not set eta if it's unknown

* Fix codeowners

* Extract TransmissionSpeedSensor

* Extract TransmissionStatusSensor

* Extract TransmissionTorrentsSensor

* Refactor device_state_attributes() and update()

* Remove unused methods

* Use async_on_remove

* Fix sensor update

* Add transmission.remove_torrent service

* Add transmission_removed_torrent event

* Fix naming

* Fix typo in services.yaml
2020-04-20 15:07:26 +02:00
escoand
c87ecf0ff6 Add config flow and device registry to fritzbox integration (#31240)
* add config flow

* fix pylint

* update lib

* Update config_flow.py

* remote devices layer in config

* add default host

* avoid double setups of entities

* remove async_setup_platform

* store entities in hass.data

* pass fritz connection together with config_entry

* fritz connections try no4 (or is it even more)

* fix comments

* add unloading

* fixed comments

* Update config_flow.py

* Update const.py

* Update config_flow.py

* Update __init__.py

* Update config_flow.py

* Update __init__.py

* Update __init__.py

* Update config_flow.py

* Update __init__.py

* Update __init__.py

* Update __init__.py

* Update config_flow.py

* add init tests

* test unloading

* add switch tests

* add sensor tests

* add climate tests

* test target temperature

* mock config to package

* comments

* test binary sensor state

* add config flow tests

* comments

* add missing tests

* minor

* remove string title

* deprecate yaml

* don't change yaml

* get devices async

* minor

* add devices again

* comments fixed

* unique_id fixes

* fix patches

* Fix schema

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-04-20 15:00:07 +02:00
Maciej Bieniek
2123f6f133 Bump brother to version 0.1.13 (#34456) 2020-04-20 14:53:20 +02:00
Elahd Bar-Shai
c5d2e44baf Add white value in light template platform (#32481)
* Added support for white value in Template Light integration.

* Tests now working.

* Clean up

* Make template more robust

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-04-20 14:26:28 +02:00
Rami Mosleh
2a6948e696 Add Islamic Prayer Times config flow (#31590)
* Add Islamic Prayer Times config_flow

* Add Islamic Prayer Times config_flow

* handle options update and fix tests

* fix sensor update handling

* fix pylint

* fix scheduled update and add test

* update test_init

* update flow options to show drop list

* clean up code

* async scheduling and revert state to timestamp

* fix update retry method

* update strings

* keep title as root key
2020-04-20 14:22:48 +02:00
Jc2k
1b4851f2e0 Remove deprecated homekit_controller credential storage locations (#34333)
* Remove deprecated homekit_controller credential storage locations

* async_import_legacy_pairing can also be removed
2020-04-20 07:32:30 -04:00
Paulus Schoutsen
b4282fca84 Fix return in translation script 2020-04-19 20:37:49 -07:00
Paulus Schoutsen
4720a7a891 Add foundation for state translations (#34443) 2020-04-19 20:35:49 -07:00
J. Nick Koston
75e5f085d3 Include charging state for powerwall (#33432)
* Switch to binary sensor for charging status per review

* Powerwall charging margin of error is much higher than expected
2020-04-19 20:50:42 -05:00
Aaron Bach
675525f47c Ensure existing SimpliSafe notifications trigger event on HASS startup (#34232)
* Ensure existing SimpliSafe notifications trigger event on HASS startup

* Don't redefine a standing function each loop iteration

* Wait until HASS state is "running"

* Linting

* Linting

* Code review

* Code review

* Simplify

* Code review

* Cleanup
2020-04-19 19:41:16 -06:00
HomeAssistant Azure
6d7fb9f46a [ci skip] Translation update 2020-04-20 00:04:37 +00:00
J. Nick Koston
0abcf2d176 Optimize async_generate_entity_id (#34440) 2020-04-19 18:19:11 -05:00
Paulus Schoutsen
bd46a6130a Prevent Synology Camera doing I/O in event loop (#34442) 2020-04-20 00:42:30 +02:00
Paulus Schoutsen
26f78132ae Fix circular import (#34441) 2020-04-19 14:41:52 -07:00
J. Nick Koston
f492a7678d Resolve delay sending multiple commands to harmony remotes (#34410)
* Switch harmony to entity service

* Fix delay between sending commands, collapse function
2020-04-19 22:33:51 +02:00
Claudiu Bucur
e6a2507b50 Fix serial integration connection stability (#33067)
* Fix serial integration connection stability

Retry to connect if serial device is not available on start, or connection is lost.
Added some more log entries upon connection or when errors are encountered.

* Updated code based on review

* Fixed exception indentation

* Handle SerialException

* Sort imports

* Update homeassistant/components/serial/sensor.py

Co-Authored-By: Martin Hjelmare <marhje52@gmail.com>

* Update homeassistant/components/serial/sensor.py

Co-Authored-By: Martin Hjelmare <marhje52@gmail.com>

* More clean up

* Format and delint

* Extract error handler

* Clean up stop handler

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-04-19 22:29:57 +02:00
Paulus Schoutsen
d10f5a48d4 Fix translations merging (#34417)
Co-Authored-By: Martin Hjelmare <marhje52@gmail.com>
2020-04-19 12:37:44 -07:00
Robert Svensson
e5a861dc90 UniFi - refactor entity management (#34367)
* Move removal of sensor entities into a base class

* Fix martins comments on sensors

* Reflect sensor changes on device_tracker platform

* Reflect sensor changes on switch platform

* Improve layering

* Make sure to clean up entity and device registry when removing entities

* Fix martins comments
2020-04-19 21:30:06 +02: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
Ville Skyttä
3259ba6116 Fix hassfest validate invocation in Tox (#34428) 2020-04-19 17:43:49 +02:00
Daniel Høyer Iversen
e8e9500a30 upgrade Tibber lib (#34429) 2020-04-19 17:43:22 +02:00
Chris Talkington
75608ce378 Improve Roku media player test coverage (#34403) 2020-04-19 09:59:12 -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
Frederik Gladhorn
7f06a939ac Bump nad_receiver version (#34400)
nad_receiver received a few fixes in 0.0.12, which enables the integration
for me. I assume it may depend on the receiver model, but my receiver only reports
mute state and volume when it's on, while the library used to assume to always
get a reply. With 0.0.11 the nad integration simply excepts on startup,
after bumping the version up it works.

Fixes this:
2020-04-18 22:59:38 ERROR (MainThread) [homeassistant.components.media_player] nad: Error on device update!
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 324, in _async_add_entity
    await entity.async_device_update(warning=False)
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 476, in async_device_update
    await self.hass.async_add_executor_job(self.update)
  File "/usr/local/lib/python3.7/concurrent/futures/thread.py", line 57, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/usr/src/homeassistant/homeassistant/components/nad/media_player.py", line 195, in update
    if self._nad_receiver.main_mute("?") == "Off":
  File "/usr/local/lib/python3.7/site-packages/nad_receiver/__init__.py", line 71, in main_mute
    return self.exec_command('main', 'mute', operator, value)
  File "/usr/local/lib/python3.7/site-packages/nad_receiver/__init__.py", line 62, in exec_command
    return msg.decode().strip().split('=')[1]
IndexError: list index out of range
2020-04-19 12:27:16 +02:00
Xiaonan Shen
2686869f88 Code fixes and cleanup for roomba integration (#34409)
* Remove side effects from properties

* Remove redundant return value in async_send_command

* Move callback registeration to async_added_to_hass

* Code cleanup for roomba
2020-04-19 12:26:53 +02:00
J. Nick Koston
7a8d1c00a4 Add support for turning on swing mode in tado (#34404) 2020-04-19 12:17:06 +02:00
John Arild Berentsen
a6b407d706 Access Zoneminder config correctly (#34388)
* use correct conf. Always use .get

* remove .get
2020-04-19 01:00:23 -07:00
Дубовик Максим
966cb14a38 Add new languages to Google Cloud TTS (#34334)
* New languages

Arabic, Indian, Thailand, Mandarin

* Reorder language codes
2020-04-18 22:26:36 -04:00
jjlawren
21e85ba9c5 Bump plexapi to 3.4.0, remove workarounds (#34395) 2020-04-18 21:06:05 -05:00
Paulus Schoutsen
608a7578fc Bump frontend to 20200418 (#34407) 2020-04-18 17:45:14 -07:00
Paulus Schoutsen
98f1548f2d Allow fetching translations by categories (#34329) 2020-04-18 17:13:13 -07:00
HomeAssistant Azure
d1b3ed717e [ci skip] Translation update 2020-04-19 00:03:42 +00:00
Felipe Martins Diel
a365f456fc Add support to the new Broadlink RM Mini 3 and RM4 Series (#32523)
* Add device type

* Use snake_case for devtype

Co-Authored-By: springstan <46536646+springstan@users.noreply.github.com>

* Validate device type as positive int

* Add device type 0x5f36 to switch

* Use default type for sensors

* Add RM4 to switch platform

* Use snake_case for devtype

* Support multiple types of remote

* Validate ip address

* Improve code readability

* Add const.py to .coveragerc

* Use None for unknown device types

* Fix sensors and standardize platform schemas

* Fix if statement

Co-authored-by: springstan <46536646+springstan@users.noreply.github.com>
2020-04-19 01:16:49 +02:00
J. Nick Koston
37463d655a Fix Tado signal collisons (#34118)
* Fix signal collision in tado with multiple accounts

Tado signals were not unique enough to prevent collisions
between accounts with the same zone ids.

* Bump upstream to fix multiple tado accounts

* switch signal undo to async_on_remove

* Bump version now that upstream is released

* bump python-tado

* While its only the dep that changed since the last run, best to force another CI to be sure
2020-04-18 17:39:43 -05:00
Xiaonan Shen
61a5793073 Add Braava support to iRobot Roomba component (#33616)
* Add Braava support to iRobot Roomba component

* Replace async_add_job with async_add_executor_job in roomba

* Improve readability in roomba

* Improve error handling in roomba

* Cleanup async_update in roomba

* Split into multiple files in roomba

* Hide protocal details in braava

* Switch to push in braava

* Bump roombapy version to 1.5.1

* Add roomba files to .coveragerc

* Fix typo

* Remove side effects from init in roomba

* Implement StateVacuumDevice in Roomba

* Add IRobotEntity base class to braava

* Fix state in roomba

* Add @shenxn as a codeowner of braava
2020-04-18 17:32:41 -05:00
Chris Talkington
b3eba49a2f Add tests for Roku (#34380) 2020-04-18 17:23:55 -05:00
Jeff Irion
3b12fd22a4 Bump androidtv to 0.0.41 (#34382) 2020-04-18 18:15:44 -04:00
Oscar Calvo
a9bbc42981 Fix a bug where long sms messages get cut off (#34359)
* Fix a bug where long sms messages get cut off

* Clean up

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-04-18 22:26:22 +02:00
J. Nick Koston
b78b705e32 Switch harmony to async_on_remove (#34378) 2020-04-18 13:36:15 -05:00
FredericMa
71c8fcee20 Allow configuring KNX preset_modes via the operation_modes variable (#33068) 2020-04-18 17:07:13 +02:00
Anton Verburg
44b4f14375 Pi4ioe5v9xxxx from ToggleEntity to SwitchDevice (#34369) 2020-04-18 09:01:49 -05:00
MatthewFlamm
64cd38d96f Use DataUpdateCoordinator in NWS (#34372) 2020-04-18 08:59:20 -05:00
Bram Kragten
01599d44f5 Google local sdk: Set right port, correct device id and add base url (#34358) 2020-04-17 20:59:49 -07:00
João Gabriel
42b6ec2fb5 Add config flow to panasonic_viera component (#33829)
* Updating the panasonic_viera component

* Updating .coveragerc

* Removing testplatform

* Updating strings.json

* Commit before rebase

* Commit before rebase

* Commit before rebase

* Commit before rebase

* Commit before rebase

* Adding tests and stuff

* Fixing permission issues

* Ignoring Pylint warnings

* Fixing one more Pylint warning

* Refactoring

* Commiting changes - part 1

* Commiting changes: part 2

* Turning unknown error logs into exception logs

* Update strings.json

* Rebasing

* Updating the panasonic_viera component

* Removing testplatform

* Updating strings.json

* Commit before rebase

* Commit before rebase

* Commit before rebase

* Commit before rebase

* Commit before rebase

* Adding tests and stuff

* Fixing permission issues

* Ignoring Pylint warnings

* Fixing one more Pylint warning

* Refactoring

* Commiting changes - part 1

* Commiting changes: part 2

* Turning unknown error logs into exception logs

* Adding pt-BR translation

* Removing Brazilian Portugues translations

* Modifying error handling

* Adding SOAPError to except handling

* Updating translation

* Refactoring async_step_import

* Fixing indentation

* Fixing requirements after rebase

* Fixing translations

* Fixing issues after rebase

* Routing import step to user step

* Adding myself as a codeowner
2020-04-18 05:19:01 +02:00
Christopher Rosset
dd4a350bd5 Use name instead of friendly name in uscis config (#33431)
The USCIS integration's code and documentation use different properties
for the sensor name. The code uses `friendly_name` and the docs state `name`.

https://github.com/home-assistant/home-assistant.io/pull/12524#issuecomment-605604002
suggested to make the changes in the code as `friendly_name` is not usually used
in this way.
2020-04-18 02:42:58 +02:00
jjlawren
82784a320c Ignore non-ASCII keys in zeroconf payloads (#34344)
* Ignore non-ASCII keys in zeroconf payloads

* Don't rely on logging for test
2020-04-17 19:36:46 -05:00
FredericMa
2faa3af51f Extend knx brightness with rgb brightness if brightness addres… (#33152)
* Extend knx brightness with rgb brightness if brightness addresses are not supported

* Fix explicit return value

* Check for None

* Remove not needed check

* Disable false positive pylint warning

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-04-18 02:25:44 +02:00
HomeAssistant Azure
5007a9e702 [ci skip] Translation update 2020-04-18 00:04:07 +00:00
Quentame
30744bea9c Add 2SA authentication to Synology DSM (#34101)
Co-Authored-By: J. Nick Koston <nick@koston.org>

Co-authored-by: J. Nick Koston <nick@koston.org>
2020-04-17 18:47:50 -05:00
Robert Svensson
4484afc0d6 deCONZ - Always allow manual input of gateway (#33951)
* Always allow manual input of gateway
2020-04-17 23:51:35 +02:00
jrester
3776a06281 Use serial numbers for unique_id of powerwall devices (#34351)
* Update tesla-powerwall to version 0.2.5

* Create unique_id from serial numbers of powerwalls
	modified:   homeassistant/components/powerwall/__init__.py
	modified:   homeassistant/components/powerwall/binary_sensor.py
	modified:   homeassistant/components/powerwall/const.py
	modified:   homeassistant/components/powerwall/entity.py
	modified:   homeassistant/components/powerwall/sensor.py
	modified:   tests/components/powerwall/mocks.py
	modified:   tests/components/powerwall/test_sensor.py

* Fix pylint error
	modified:   homeassistant/components/powerwall/__init__.py
2020-04-17 16:21:14 -05:00
Quentame
618538aeff Add missed CONF_API_VERSION config in flow + Fix missing_data translation (#34356)
* Add missed CONF_API_VERSION config in flow + remove CONF_NAME in tests

* Fix missing_data translation
2020-04-17 22:45:17 +02:00
Martin Hjelmare
3aa2de5fa5 Disable pylint invalid name for TypeVar T (#34355) 2020-04-17 12:51:31 -07: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
jrester
54542ee90c Update tesla-powerwall to version 0.2.5 (#34348) 2020-04-17 14:28:24 -05:00
dfournie
6a1f3f1117 Add support for DEXXO SMART io Garage Opener (#27704)
* Add support for DEXXO SMART io Garage Opener

* Add support for DEXXO SMART io Garage Opener

* Update with with latest release 0.108.5

* Update with release 0.108.5

* Remove empty lines

* Fix code formatting
2020-04-17 14:49:33 -04:00
SukramJ
1c6e92c45b Fix HomematicIP smoke detector detection type (#34347) 2020-04-17 11:35:30 -07:00
Ville Skyttä
267d98b5eb Type hint improvements (#33082) 2020-04-17 11:33:58 -07:00
Erik Montnemery
f04be61f6f Bump zeroconf to 0.25.1 (#34341) 2020-04-17 11:12:26 -07:00
Olivier B
1637a49442 Add trunk and frunk locks to Tesla integration (#34343) 2020-04-17 11:08:09 -07:00
J. Nick Koston
23f278e090 Fix emulated_hue brightness off by one (#34185)
* Fix emulated_hue brightness off by one

Hue uses a max brightness of 254, Home Assistant
uses a max brightness of 255. Values > 127 were
off by one.

* use constant

* fix test

* add debug

* Revert "add debug"

This reverts commit 242220a02e.
2020-04-17 11:59:27 -05:00
Eugenio Panadero
813f8dd63f Fix missing events for hue remotes (#34340) 2020-04-17 09:48:36 -07:00
Paulus Schoutsen
55af2ab4dc Add a script to clean the frontend translations (#34309) 2020-04-17 09:47:49 -07:00
J. Nick Koston
660b1dc1e4 Ensure nexia state file is in a writable location (#34325)
* bump nexia to 0.9.2
2020-04-17 10:55:04 -05:00
tubalainen
d672eed331 Add rflink binary_sensor allon and alloff commands (#32411)
* added "allon" and "alloff" to the binary_sensor

Ref to the issue: https://github.com/home-assistant/core/issues/32399

* Cosmetic fix

* Fix format

* Update test

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2020-04-17 17:15:04 +02:00
Franck Nijhof
ced59e599f Upgrade yamllint to 1.23.0 (#34337) 2020-04-17 13:12:25 +02:00
Ziv
1259979204 Fix uncaught exception in local_file (#34312)
* remove ignore from localfile

* added mock_registry

* since there are no more exceptions, infra to ignore them is redundant
2020-04-17 13:10:48 +02:00
Ziv
a2b280f342 Fix uncaught exceptions in ios (#34119)
* verify that the config in hass is not empty

* changed to use MockConfigEntry

* Update tests/components/ios/test_init.py

Co-Authored-By: Martin Hjelmare <marhje52@gmail.com>

* Update tests/components/ios/test_init.py

Co-Authored-By: Martin Hjelmare <marhje52@gmail.com>

* changed the test per suggestions

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-04-17 10:25:31 +02:00
jan iversen
8277ebcbe1 Rollback modbus to version 0.107.7 keep new functionality (#34287)
* Rollback modbus to version 0.107.7

Update manifest to not use async.

Rollback entities to sync version.

Keep newer modifications apart from async.

Rollback __init__ to sync version but keep the new functionality.

add async sub directory

Adding the current (not working) version in a sub directory,
to allow easy sharing with a few alfa testers.

The async version are to be updated to use the serial/tcp already
available instead of the flaky pymodbus version. pymodbus is still
needed to encode/decode the messagess.

Update test cases to reflect sync implementation, but
keep the new functionality like e.g. conftest.py.

* do not publish async version

The async version will be made available in a forked repo, until
it is ready to replace the production code.
2020-04-17 09:55:57 +02:00
Paulus Schoutsen
9aee91b98c Remove two more titles from strings.json (#34324) 2020-04-17 09:08:21 +02:00
Robert Svensson
465eeab553 UniFi - Allow tracking of clients connected to third party APs (#34067)
* Allow disable wired bug work around

* Move small improvements from closed PR #34065

* Fix failing test

* Add new test

* Some extra logging

* Harmonize log outputs

* Add config flow string

* Fix Balloobs comments
2020-04-17 08:39:01 +02:00
Paulus Schoutsen
6e86cbf947 Merge pull request #34323 from home-assistant/rc 2020-04-16 19:21:01 -07:00
Paulus Schoutsen
2326a2941e Improve error message when people have not moved config flow title yet (#34321) 2020-04-16 18:00:30 -07:00
Paulus Schoutsen
334fecdf6f Bumped version to 0.108.6 2020-04-16 17:46:39 -07:00
Paulus Schoutsen
317d08b6c1 Update Coordinator: Only schedule a refresh if listenerrs (#34317) 2020-04-16 17:46:23 -07:00
Raman Gupta
059df5e3e2 Abort vizio zeroconf config flow if unique ID is already configured (#34313) 2020-04-16 17:45:26 -07:00
Anders Melchiorsen
de440cf579 Fixes for Sonos media titles (#34311) 2020-04-16 17:45:25 -07:00
Bas Nijholt
81d006499e Pass an argument to kef.update_dsp for async_track_time_interval (#34310) 2020-04-16 17:45:24 -07:00
Daniel Høyer Iversen
0a1e33b7e1 Upgrade broadlink lib to 0.13.1 (#34290) 2020-04-16 17:45:06 -07:00
Raman Gupta
5157c2d10c Skip ignored hosts when checking existing config entries in config flow (#34280) 2020-04-16 17:44:43 -07:00
J. Nick Koston
8a8cbeb4c0 Fix default elkm1 temp units (#34274) 2020-04-16 17:44:42 -07:00
J. Nick Koston
de6fc53ca5 Use config entry id for unique id if serial number is missing (#34154) 2020-04-16 17:44:16 -07:00
J. Nick Koston
b9e882fd5e Restore isy light brightness after off (#34320) 2020-04-16 17:26:34 -07:00
James Nimmo
eaa73ef0c7 Bump to pyIntesisHome 1.7.4 (#34319) 2020-04-16 17:13:12 -07:00
HomeAssistant Azure
a6e9933236 [ci skip] Translation update 2020-04-17 00:09:03 +00:00
Daniel Perna
f757ca6b11 Update pyhomematic to 0.1.66 (#34314) 2020-04-16 16:59:10 -07:00
Paulus Schoutsen
ff469cb592 Update Coordinator: Only schedule a refresh if listenerrs (#34317) 2020-04-16 16:44:14 -07:00
Raman Gupta
c9cc024e9b Abort vizio zeroconf config flow if unique ID is already configured (#34313) 2020-04-16 16:16:35 -07: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
97609576cb Fix default elkm1 temp units (#34274) 2020-04-16 15:18:41 -07:00
Anders Melchiorsen
cd3fc7c76d Fixes for Sonos media titles (#34311) 2020-04-16 15:16:18 -07:00
Anders Melchiorsen
6e2cf9663a Purge recorder database at night (#33646) 2020-04-16 15:11:36 -07:00
Robert Svensson
374fe47809 UniFi - Support automatic removal of clients (#34307) 2020-04-16 15:08:53 -07:00
J. Nick Koston
abae48c287 Use config entry id for unique id if serial number is missing (#34154) 2020-04-16 14:59:30 -07:00
Bas Nijholt
8bd0fca751 Pass an argument to kef.update_dsp for async_track_time_interval (#34310) 2020-04-16 14:54:39 -07:00
Raman Gupta
ca67fd9faa Skip ignored hosts when checking existing config entries in config flow (#34280) 2020-04-16 14:53:34 -07:00
Raman Gupta
8825561a99 Refactor vizio media_player tests to remove conditional statements from helper function (#33615) 2020-04-16 14:52:43 -07:00
Save me
5dcac36b78 Add Friends of Hue Switch - Model FOHSWITCH (ZGPSWITCH) (#34195) 2020-04-16 14:14:57 -07:00
Chris Talkington
9d794b820a Improve IPP Config Flow (#34212) 2020-04-16 14:12:26 -07:00
Chris Talkington
ede432ba71 Improve Sonarr Upcoming Time Handling (#34224) 2020-04-16 14:11:00 -07:00
Kit Klein
ab352c3bc9 Ensure konnected unsubscribes during entry unloads (#34291) 2020-04-16 14:08:50 -07:00
Paulus Schoutsen
0d60d40512 Update translations 2020-04-16 13:00:10 -07:00
Paulus Schoutsen
55dfca7467 Drop title from translations if brand name (#34306) 2020-04-16 12:52:53 -07:00
Paulus Schoutsen
6119e79023 Migrate frontend translations of domains to backend (#34294) 2020-04-16 11:52:27 -07:00
Daniel Høyer Iversen
2f415b0db1 Upgrade broadlink lib to 0.13.1 (#34290) 2020-04-16 20:51:07 +02:00
Kit Klein
e20bfdd19c Ensure zone in update payload for konnected (#34289) 2020-04-16 18:34:53 +02:00
Anders Melchiorsen
0d999649c0 Support contemporary entity selectors for LIFX services (#33062)
* Support contemporary entity selectors for LIFX services

* Use async_register_entity_service() for lifx.set_state

* Call directly
2020-04-16 18:16:14 +02:00
Paulus Schoutsen
371bea03d6 Allow hassfest to validate specific integrations (#34277) 2020-04-16 09:00:04 -07:00
Paulus Schoutsen
94a3cec4bf Take integration title from manifest if not translated (#34283) 2020-04-16 08:38:54 -07:00
Arjan van Balken
3d9ae1b8bd Add device tracking support for the Arris TG2492LG router (#30972)
* Add device tracker based on arris-tg2492lg

* Return name of device and update version of arris_tg2492lg

* Update CODEOWNERS, requirements_all.txt and .coveragerc

* Change default url to host

* Use f-strings

Co-Authored-By: Franck Nijhof <frenck@frenck.nl>

* Clean up

* Fix formatting

Co-authored-by: Franck Nijhof <frenck@frenck.nl>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-04-16 17:10:32 +02:00
lewei50
5a2eddb32c Bump iammeter to 0.1.7 to fix empty SN (#34279)
* update pypi lib to fix empty SN issue.

* Update requirements_all.txt
2020-04-16 17:06:23 +02:00
MatthewFlamm
6d812bd957 Add config flow to nws and remove yaml configuration (#34267)
* add config flow to nws and remove yaml

* Don't duplicate scan_time

Co-Authored-By: J. Nick Koston <nick@koston.org>

* Use _abort_if_unique_id_configured

Co-Authored-By: J. Nick Koston <nick@koston.org>

* fix abort

* Add unavailable tests

* update and use better strings

* lint

Co-authored-by: J. Nick Koston <nick@koston.org>
2020-04-16 09:15:55 -05:00
Ernst Klamer
5617e6913b Add state to RFXtrx covers (#30935)
* Add state to rfxtrx cover

* Add state to rfxtrx cover (cover.py)
2020-04-16 15:07:55 +02:00
Oleksii Serdiuk
19a0a7029f Improve MAX! Cube integration (#28845)
* maxcube: Make it possible to return to auto mode

It's currently not possible to switch back to auto (schedule) mode after
changing to manual or vacation. Add `PRESET_NONE` to list of presets
that will return thermostat back into auto (schedule) mode.

Additionally, use `PRESET_AWAY` instead of custom preset name for
vacation mode.

* maxcube: Provide `hvac_action` based on valve state

Not supported for wall thermostats.

* maxcube: Add support for Comfort, Eco, Off and On modes

Off is mapped to HVAC_OFF, while On - to HVAC_HEAT.

* maxcube: Add `hvac_action` support for wall thermostats

We check all thermostats in the same room as the wall thermostat. If at
least one of them has its valve open - the room is being heated.

* maxcube: Expose valve position as state attribute

Also fix a small logical error in `hvac_action`.

* maxcube: Fix linter errors and formatting

* maxcube: Adjust mapping between MAX! and HA modes and presets

MAX! 'Manual' mode now corresponds to 'Heating' mode of HA. MAX! 'Eco'
and 'Comfort' temperatures are 'Heating' mode presets. MAX! 'On' mode is
now a 'Heating' preset, too.

* maxcube: Address review comments
2020-04-16 12:31:36 +02:00
J. Nick Koston
77655cad0d Fix synology_dsm i/o in event loop (#34281) 2020-04-16 08:27:41 +02: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
188f3e35fd Add tests for additional nut ups models (#34240)
* Add NUT tests for an Eaton 5E650I UPS

* add a test to make sure multiple ups get setup

* Add a few more upses

* fix missing status key

* cover

* Force CI run
2020-04-15 20:28:03 -05:00
Chris Talkington
1f4cdda234 Support DirecTV music channels with extended meta (#34228) 2020-04-15 18:08:54 -07:00
Philipp Danner
446c7349ff Fix Keba request data service call (#34254) 2020-04-15 17:44:39 -07:00
HomeAssistant Azure
0d8c75d9ce [ci skip] Translation update 2020-04-16 00:04:36 +00:00
Paulus Schoutsen
1ffc3a00e7 Add translations check script (#34272) 2020-04-15 16:58:20 -07:00
Paulus Schoutsen
d011b46985 Patch http.client to not do I/O in the event loop (#34194) 2020-04-15 15:32:10 -07:00
Ziv
5bfc1f3d4d Removed uncaught exceptions from Dyson (#34112)
* fixed what seems to be a typo

* added load_mock_device in common.py so it loads all the required things into the mocks
so they don't throw exceptions for mocks not being able to convert to int

* reverted change in homeassistant/components/dyson/sensor.py
added both values to the mock device (volatil and volatile)
2020-04-15 14:03:14 -07:00
Paulus Schoutsen
72cc656b7e Add Translations 2.0 migrate script (#34261) 2020-04-15 13:53:52 -07:00
Paulus Schoutsen
9f1bffe3be Add command to get integration manifests (#34262)
* Add command to get integration manifests

* Add is_built_in value to manifest

* Update APIs
2020-04-15 13:36:16 -07:00
presslab-us
e41753556c Add MQTT climate temperature unit (#34066)
* Add MQTT temperature unit
2020-04-15 20:11:04 +02:00
Paulus Schoutsen
86f09a42a2 Fix translations 2020-04-15 10:00:37 -07:00
Paulus Schoutsen
f06aeea385 Update translations 2020-04-15 09:51:07 -07:00
Paulus Schoutsen
970fe3f3da Merge remote-tracking branch 'origin/master' into dev 2020-04-15 09:50:10 -07:00
Paulus Schoutsen
607b09ccdd Merge pull request #34260 from home-assistant/rc
0.108.5
2020-04-15 09:45:10 -07:00
Paulus Schoutsen
d36204a968 Move title translation to root (#33850) 2020-04-15 09:41:18 -07:00
Paulus Schoutsen
76b65c5779 Bumped version to 0.108.5 2020-04-15 08:46:21 -07:00
Fredrik Erlandsson
632d44c7b7 Fix various Daikin issues (#34249)
* various Daikin fixes

* make timeout a constant
2020-04-15 08:45:34 -07:00
Fredrik Erlandsson
1b36a34ae4 Add daikin update_before_add (#34248) 2020-04-15 08:45:07 -07:00
Paulus Schoutsen
0afb849e7f Fix Cloud UI bug preventing managing Google 2FA (#34241)
* Fix Cloud UI bug preventing managing Google 2FA

* Update comment
2020-04-15 08:45:06 -07:00
Aaron Bach
5f97937ba0 Fix websocket connection bug/errant logic in Ambient PWS (#34217) 2020-04-15 08:45:05 -07:00
Chris Talkington
ca48148150 Catch IPPVersionNotSupportedError in IPP (#34184)
* Update config_flow.py

* squash.

* Update test_config_flow.py

* Update config_flow.py

* Update test_config_flow.py

* Update test_config_flow.py

* Update test_config_flow.py

* Update test_config_flow.py

* Update test_config_flow.py
2020-04-15 08:45:04 -07:00
Franck Nijhof
9142fa1aa6 Temporary transition Docker init (#34135) 2020-04-15 08:45:03 -07:00
Paulus Schoutsen
1ac8442c63 Fix Cloud UI bug preventing managing Google 2FA (#34241)
* Fix Cloud UI bug preventing managing Google 2FA

* Update comment
2020-04-15 08:43:43 -07:00
Aidan Timson
e47b548192 Add AsusWRT Devices Connected Sensor (#34204)
* Add Devices Connected

* Remove attributes

* Add sensors to test

* Improve sensor test

* Cleanup

* Apply suggestions from code review

Co-Authored-By: Martin Hjelmare <marhje52@gmail.com>

* Import device from aioasuswrt

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-04-15 17:42:01 +02:00
Fredrik Erlandsson
337cc6e79f Fix various Daikin issues (#34249)
* various Daikin fixes

* make timeout a constant
2020-04-15 15:12:10 +02:00
springstan
d842dacfd6 Clean up access to config in various integrations v5 (#34206) 2020-04-15 14:10:07 +02:00
Fredrik Erlandsson
1ea7229f32 Add daikin update_before_add (#34248) 2020-04-15 12:40:47 +02:00
Aaron Bach
5faa9795b0 Fix websocket connection bug/errant logic in Ambient PWS (#34217) 2020-04-15 05:30:15 +02:00
Paulus Schoutsen
0b90ebf91e Allow async_setup changes to config entry data be taken into a… (#34166)
* Allow async_setup changes to config entry data be taken into account

* Fix tests

* Limit scope try…finally

* Update tests/test_config_entries.py

Co-Authored-By: Martin Hjelmare <marhje52@gmail.com>

* Fix import

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-04-14 18:46:41 -07:00
marecabo
0db1fcca0f Add attribute for storing one weather warning as a whole (#29005) 2020-04-15 02:25:45 +02:00
HomeAssistant Azure
55bec20b02 [ci skip] Translation update 2020-04-15 00:09:19 +00:00
Maciej Bieniek
6dc6f2d099 Add config flow for braviatv integration (#33774)
* Run scripts

* Improvement strings

* Fix FlowOptions update listener

* Update .ceveragerc

* Add tests

* Better strings

* Add test for OptionsFlow

* Run gen_requirements_all.py once again

* Fix pylint errors

* Log error when there is no bravia.conf file during import

* Improvement strings

* Use braviarc object from hass.data in options flow

* Use async_add_executor_job for IO

* Fix options flow test

* Fix tests

* Remove host_reachable method

* Remove dependencies

* Change setup_platform method to async

* Remove calling system_info

* Save mac in the config entry

* Fix get ignore sources

* Fix read config from file

* Remove the side effect from init

* Fix user_input for user step

* Switch OrderedDict to dict

* New config_entry instance for each test

* Revert change

* Patch async_setup_entry in test_import

* Change a way to create source list

* Consolidate repeated block of code

* Update tests

* Suggested change

Co-Authored-By: Martin Hjelmare <marhje52@gmail.com>

* Suggested channge

Co-Authored-By: Martin Hjelmare <marhje52@gmail.com>

* Suggested change

* Patch async_setup_entry

* Remove unnecesary if

* suggested change

* Suggested change

* Fix tests

* Fix pylint error

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-04-15 01:04:06 +02:00
Andrew Sayre
075030f15a Update SmartThings config flow to be entirely UI based (#34163)
* bump pysmartthings 0.7.1

* Update config flow to use UI

* Code review comments and fix for resetting oauth client

* Replace html with markdown
2020-04-14 15:26:53 -07:00
Bram Kragten
bf33169627 Updated frontend to 20200414.0 (#34235) 2020-04-14 15:13:35 -07:00
Maciej Bieniek
c30600a044 Add unit_of_measurement property for air_quality entity (#33304) 2020-04-14 23:15:08 +02:00
Adam Michaleski
f3b702db5a Fix for schluter unit system bug (#34230) 2020-04-14 23:10:44 +02:00
J. Nick Koston
f516b24dfb Reduce tplink loss of precision during brightness conversion (#34210) 2020-04-14 20:48:35 +02:00
springstan
e2af216bcd Clean up access to config in various integrations v4 (#34174)
* Clean up access to config in various integrations v4

* Address review comments
2020-04-14 20:38:55 +02:00
J. Nick Koston
96aaa25aad Add DEVICE_CLASS_BATTERY_CHARGING to binary_sensor (#34203)
In order to make this automatically discoverable via the registry
there needs to be a DEVICE_CLASS_BATTERY_CHARING in binary sensor
so we can tell what is a battery and what is a charge sensor.
2020-04-14 11:37:54 -07:00
Chris Talkington
e268c5b873 Catch IPPVersionNotSupportedError in IPP (#34184)
* Update config_flow.py

* squash.

* Update test_config_flow.py

* Update config_flow.py

* Update test_config_flow.py

* Update test_config_flow.py

* Update test_config_flow.py

* Update test_config_flow.py

* Update test_config_flow.py
2020-04-14 20:30:41 +02:00
J. Nick Koston
e0a7ea52fd Reduce loss of precision when setting light percent brightness (#34208)
* Reduce loss of precision when setting light percent brightness

This part of an effort to fix all the round trip light
brightness percentages that cause errors with homekit
, alexa, and other devices that use percentage.

* fix demo light test
2020-04-14 13:26:18 -05:00
Aidan Timson
18478ebd05 Improve LG webosTV (#34147)
* Move consts to const, general cleanup

* Add unique id

* Add default icon

* Set supported features based on sound output

* Update homeassistant/components/webostv/media_player.py

Co-Authored-By: Martin Hjelmare <marhje52@gmail.com>

* Set device class

* Add software_info to client mock

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-04-14 20:26:13 +02:00
BarrettLowe
ba394fd2aa Add snapcast latency attribute and service (#34126)
* Implemented snapcast latency attributes

* Code review changes and Snapcast maintenance

Updated how entity services get called - now conforms to most
current method

* Cleanup tasks
Moved constants into separate file
Removed unnecessary logger message
Remove unnecessary schemas

* FIx linting errors

* Sort imports

* Update with requested change

Better - use next()

Co-Authored-By: Martin Hjelmare <marhje52@gmail.com>

* Add guards for bad service calls

* Add back in platform schema

* Add check for unjoin service call

* Fix lint/format

* remove comma inserted by black

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-04-14 20:22:01 +02:00
Aaron Bach
535ce8726d Bump simplisafe-python to 9.0.7 (#34216) 2020-04-14 11:53:53 -06:00
Alan Tse
5fc0e00ead Add defrost preset mode to Tesla (#34186)
* style: update logging details

* Add defrost preset mode to Tesla

* Bump teslajsonpy to 0.7.0
2020-04-14 19:27:07 +02:00
Kris Bennett
994e83811f Add Android TV screen capture option and use library screencap (#34074) 2020-04-14 18:41:19 +02:00
Franck Nijhof
52fe19ca31 Upgrade spotipy to 2.11.1 (#34201) 2020-04-14 14:28:37 +02:00
Paulus Schoutsen
6fa29d6e2e Fix Hue brightness values over 127 off by one (#34190) 2020-04-14 13:31:38 +02:00
Franck Nijhof
91d35c7c5c Upgrade yamllint to 1.22.0 (#34198) 2020-04-14 12:33:06 +02:00
Paulus Schoutsen
f87c44e544 Test updating non existing config entry (#34191) 2020-04-14 11:43:22 +02:00
Fabian Affolter
600db816a2 Upgrade holidays to 0.10.2 (#34189) 2020-04-14 10:02:35 +02:00
Paulus Schoutsen
a9908f0a94 Ecobee to use HVAC mode heat-cool instead of auto (#34193) 2020-04-14 09:56:50 +02:00
mezz64
c555ab1a84 Update pyHik to 0.2.7 (#34183) 2020-04-14 09:16:41 +02:00
Paulus Schoutsen
d93c09327a Report unserializable data in websocket (#34072)
* Report unserializable data in websocket

* Fix tests

* log types too
2020-04-13 23:46:41 -07:00
J. Nick Koston
45beb3c6e4 Fix typo in sense constant SENSE_TRENDS_COORDINATOR (#34181) 2020-04-13 22:56:02 -07:00
Paulus Schoutsen
bea354b82a Allow WS queue to temporarily peak (#34175)
* Allow WS queue to temporarily peak

* Remove unused code
2020-04-13 18:50:36 -07:00
Paulus Schoutsen
615a346a39 Merge pull request #34178 from home-assistant/rc
0.108.4
2020-04-13 18:17:03 -07:00
Paulus Schoutsen
dbcc294d67 Use correct Ecobee fan constants (#34177) 2020-04-14 02:55:57 +02:00
Paulus Schoutsen
5a9970e63c Dump states in event handler for HA_Stop (#33974)
* Dump states in event handler for HA_Stop

* Fix type
2020-04-13 17:41:01 -07:00
Paulus Schoutsen
89fe488b7c Add websocket API to update config entry title (#34155) 2020-04-13 17:38:39 -07:00
J. Nick Koston
d6e1bc3e75 Convert sense to use DataUpdateCoordinator for trends data (#34160)
* Convert sense to use DataUpdateCoordinator for trends

* remove unused

* request update right away

* clarify

* call async refresh later

* Update homeassistant/components/sense/__init__.py

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

* Update homeassistant/components/sense/__init__.py

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

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-04-13 17:08:56 -07:00
J. Nick Koston
5ddcc22583 Convert sense to use DataUpdateCoordinator for trends data (#34160)
* Convert sense to use DataUpdateCoordinator for trends

* remove unused

* request update right away

* clarify

* call async refresh later

* Update homeassistant/components/sense/__init__.py

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

* Update homeassistant/components/sense/__init__.py

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

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-04-13 17:08:37 -07:00
HomeAssistant Azure
e1d66f6fdd [ci skip] Translation update 2020-04-14 00:07:23 +00:00
Paulus Schoutsen
4e3414fc8a Bumped version to 0.108.4 2020-04-13 17:03:24 -07:00
J. Nick Koston
2553b0d1e0 Increase timeout and log the url of the elkm1 system that time… (#34172)
* Log the url of the elkm1 system that times out

* Bump timeout to 120s
2020-04-13 17:01:34 -07:00
J. Nick Koston
2d8bb8e6d2 Fix z-wave brightness off by one (#34170)
Z-wave would drop the floating point by calling
int() instead of round() which would result in
the brightness being off by one in many cases.
2020-04-13 17:01:33 -07:00
Jason Swails
e365f807c1 Improve rounding the light level conversion in Lutron Caseta (#34167) 2020-04-13 17:01:32 -07:00
Aaron Bach
87504806b1 Fix deprecated icon/username logic in Slack (#34156)
* Fix deprecated icon/username logic in Slack

* hassfest
2020-04-13 17:01:31 -07:00
James Nimmo
e742711a76 Bump pyIntesisHome to 1.7.3 (#34125) 2020-04-13 17:01:30 -07:00
Fredrik Erlandsson
667a87988d Fix Daikin sensor temperature_unit & cleanup (#34116) 2020-04-13 17:01:29 -07:00
Robert Svensson
4337dd6864 UniFi - Fix unit of measurement from B to MB (#34091) 2020-04-13 17:01:29 -07:00
J. Nick Koston
fc286900d3 Handle all zero serial numbers in NUT (#34045)
* Handle all zero serial numbers in NUT

* Add additional nut tests

* Update homeassistant/components/nut/__init__.py

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

* remove re

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-04-13 17:00:58 -07:00
J. Nick Koston
908e044db1 Fix nexia fan and hold modes for XL824 thermostats (#34042)
* Fix nexia fan and hold modes for XL824 thermostats

* Update nexia to 0.9.0

* Update tests to reflect the modes that now come directly in
2020-04-13 16:54:42 -07:00
Kevin Eifinger
bb60286ed9 Fix #33995 Use "now" if departure is None (#34017) 2020-04-13 16:54:41 -07:00
J. Nick Koston
983b1e1e9d Increase timeout and log the url of the elkm1 system that time… (#34172)
* Log the url of the elkm1 system that times out

* Bump timeout to 120s
2020-04-13 16:16:17 -07:00
J. Nick Koston
29f50ddc9c Fix z-wave brightness off by one (#34170)
Z-wave would drop the floating point by calling
int() instead of round() which would result in
the brightness being off by one in many cases.
2020-04-13 17:51:35 -05:00
Jason Swails
028e08c7f6 Improve rounding the light level conversion in Lutron Caseta (#34167) 2020-04-14 00:07:32 +02:00
Aaron Bach
b0bb125860 Fix deprecated icon/username logic in Slack (#34156)
* Fix deprecated icon/username logic in Slack

* hassfest
2020-04-13 23:32:23 +02:00
Quinn Hosler
59d707df54 Add play_media channel support to roku (#34124) 2020-04-13 22:55:02 +02:00
Jeff Irion
fb33667c5a Fix example paths for Android TV download/upload services (#34151) 2020-04-13 22:00:57 +02:00
jrester
6924192523 Use updated powerwall client API library (#34139)
* Use updated powerwall client API library

* Increase instant_power precision to 3

* Add @jrester as code owner for powerwall
2020-04-13 21:59:50 +02:00
Robert Chmielowiec
7bd6f5413d Add flash light device actions (#33689)
* Add flash light device actions

* Single action with extra fields

* Change extra_fields to dictionary
2020-04-13 10:30:20 -07:00
Julien Brochet
2239f2f732 feat(synology-srm): update to latest version and improve errors (#34144) 2020-04-13 19:11:20 +02:00
Franck Nijhof
6d24a65313 Various light test improvements (#34131) 2020-04-13 15:33:04 +02:00
Pascal Roeleven
4bcceb4078 Use Orange Pi GPIO as integration name (#34137)
The actual brand name is "Orange Pi", with a space and capital P.
2020-04-13 12:40:57 +02:00
Franck Nijhof
f49831c03b Temporary transition Docker init (#34135) 2020-04-13 12:37:57 +02:00
James Nimmo
328cfe86b1 Bump pyIntesisHome to 1.7.3 (#34125) 2020-04-13 05:18:27 +02:00
Colin Robbins
c5adcab195 Add Lightwave TRV (#31665)
* Add a shadow for covers that do not support postion

* Rename shadow as optimistic

* Add TRV support

* Revert "Rename shadow as optimistic"

This reverts commit e6e1db9cfb.

* Revert "Add a shadow for covers that do not support postion"

This reverts commit 4f53e2c6c6.

* fix logic error

* Modified configuration

* Modified configuration (2)

* ATTR_BATTERY_LEVEL

* move socket code to library 2

* requirements_all.txt

* Update homeassistant/components/lightwave/sensor.py

Co-Authored-By: springstan <46536646+springstan@users.noreply.github.com>

* Update homeassistant/components/lightwave/climate.py

Co-Authored-By: springstan <46536646+springstan@users.noreply.github.com>

* Style changes requested by @sprintstan

* Update homeassistant/components/lightwave/__init__.py

Co-Authored-By: springstan <46536646+springstan@users.noreply.github.com>

* Update homeassistant/components/lightwave/__init__.py

Co-Authored-By: springstan <46536646+springstan@users.noreply.github.com>

* Update homeassistant/components/lightwave/__init__.py

Co-Authored-By: springstan <46536646+springstan@users.noreply.github.com>

* Black

* Update homeassistant/components/lightwave/climate.py

Co-Authored-By: springstan <46536646+springstan@users.noreply.github.com>

* Update homeassistant/components/lightwave/climate.py

Co-Authored-By: springstan <46536646+springstan@users.noreply.github.com>

* Update homeassistant/components/lightwave/climate.py

Co-Authored-By: springstan <46536646+springstan@users.noreply.github.com>

* Update homeassistant/components/lightwave/climate.py

Co-Authored-By: springstan <46536646+springstan@users.noreply.github.com>

* Remove device_attr

* remove redundant proxy parameters, left over from previous change

* remove device id - not used

* add comment on inhibit flag

* pylint

* fix config logic error

* revert suggested change: need different behaviour with None & 0

* touch

* backoff error in rebase change

* Requesed code changes from @springstan

* Update homeassistant/components/lightwave/climate.py

Co-Authored-By: Martin Hjelmare <marhje52@gmail.com>

* Update homeassistant/components/lightwave/climate.py

Co-Authored-By: Martin Hjelmare <marhje52@gmail.com>

* Update homeassistant/components/lightwave/climate.py

Co-Authored-By: Martin Hjelmare <marhje52@gmail.com>

* Update homeassistant/components/lightwave/climate.py

Co-Authored-By: Martin Hjelmare <marhje52@gmail.com>

* Update homeassistant/components/lightwave/climate.py

Co-Authored-By: Martin Hjelmare <marhje52@gmail.com>

* Update homeassistant/components/lightwave/climate.py

Co-Authored-By: Martin Hjelmare <marhje52@gmail.com>

* Update homeassistant/components/lightwave/climate.py

Co-Authored-By: Martin Hjelmare <marhje52@gmail.com>

* Update homeassistant/components/lightwave/climate.py

Co-Authored-By: Martin Hjelmare <marhje52@gmail.com>

* Update homeassistant/components/lightwave/climate.py

Co-Authored-By: Martin Hjelmare <marhje52@gmail.com>

* Update homeassistant/components/lightwave/climate.py

Co-Authored-By: Martin Hjelmare <marhje52@gmail.com>

* Update homeassistant/components/lightwave/climate.py

Co-Authored-By: Martin Hjelmare <marhje52@gmail.com>

* Update homeassistant/components/lightwave/sensor.py

Co-Authored-By: Martin Hjelmare <marhje52@gmail.com>

* Update homeassistant/components/lightwave/sensor.py

Co-Authored-By: Martin Hjelmare <marhje52@gmail.com>

* Update homeassistant/components/lightwave/climate.py

Co-Authored-By: Martin Hjelmare <marhje52@gmail.com>

* Update homeassistant/components/lightwave/sensor.py

Co-Authored-By: Martin Hjelmare <marhje52@gmail.com>

* Update homeassistant/components/lightwave/sensor.py

Co-Authored-By: Martin Hjelmare <marhje52@gmail.com>

* Update homeassistant/components/lightwave/sensor.py

Co-Authored-By: Martin Hjelmare <marhje52@gmail.com>

* Changes requested by @MartinHjelmare

* Clean temp step constant

Co-Authored-By: springstan <46536646+springstan@users.noreply.github.com>

Co-authored-by: springstan <46536646+springstan@users.noreply.github.com>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-04-12 21:35:47 -05:00
Austin Mroczek
c7ab5de07c Add Totalconnect config flow (#32126)
* Bump skybellpy to 0.4.0

* Bump skybellpy to 0.4.0 in requirements_all.txt

* Added extra states for STATE_ALARM_TRIGGERED to allow users to know if
it is a burglar or fire or carbon monoxide so automations can take
appropriate actions.  Updated TotalConnect component to handle these new
states.

* Fix const import

* Fix const import

* Fix const imports

* Bump total-connect-client to 0.26.

* Catch details of alarm trigger in state attributes.

Also bumps total_connect_client to 0.27.

* Change state_attributes() to device_state_attributes()

* Move totalconnect component toward being a multi-platform integration.  Bump total_connect_client to 0.28.

* add missing total-connect alarm state mappings

* Made recommended changes of MartinHjelmare at
https://github.com/home-assistant/home-assistant/pull/24427

* Update __init__.py

* Updates per MartinHjelmare comments

* flake8/pydocstyle fixes

* removed . at end of log message

* added blank line between logging and voluptuous

* more fixes

* Adding totalconnect zones as HA binary_sensors

* fix manifest.json

* flake8/pydocstyle fixes.  Added codeowner.

* Update formatting per @springstan guidance.

* Fixed pylint

* Add zone ID to log message for easier troubleshooting

* Account for bypassed zones in update()

* More status handling fixes.

* Fixed flake8 error

* Another attempt at black/isort fixes.

* Bump total-connect-client to 0.50.  Simplify code using new functions in
total-connect-client package instead of importing constants.  Run black
and isort.

* Fix manifest file

* Another manifest fix

* one more manifest fix

* more manifest changes.

* sync up

* fix indent

* one more pylint fix

* Hopefully the last pylint fix

* make variable names understandable

* create and fill dict in one step

* Fix name and attributes

* rename to logical variable in alarm_control_panel

* Remove location_name from alarm_control_panel attributes since it is
already the name of the alarm.

* Multiple fixes to improve code per @springstan suggestions

* Update homeassistant/components/totalconnect/binary_sensor.py

Co-Authored-By: springstan <46536646+springstan@users.noreply.github.com>

* Multiple changes per @MartinHjelmare review

* simplify alarm adding

* Fix binary_sensor.py is_on

* Move DOMAIN to .const in line with examples.

* Move to async_setup

* Simplify code using new features of total-connect-client 0.51

* First crack at config flow for totalconnect

* bump totalconnect to 0.52

* use client.is_logged_in() to avoid total-connect-client details.

* updated generated/config_flow.py

* use is_logged_in()

* Hopefully final touches for config flow

* Add tests for config flow

* Updated requirements for test

* Fixes to test_config_flow

* Removed leftover comments and code

* fix const.py flake8 error

* Simplify text per @Kane610 https://github.com/home-assistant/home-assistant/pull/32126#pullrequestreview-364652949

* Remove .get() to speed things up since the required items should always
be available.

* Move CONF_USERNAME and CONF_PASSWORD into .const to eliminate extra I/O
to import from homeassistant.const

* Fix I/O async issues

* Fix flake8 and black errors

* Mock the I/O in tests.

* Fix isort error

* Empty commit to re-start azure pipelines (per discord)

* bump total-connect-client to 0.53

* Update homeassistant/components/totalconnect/__init__.py

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

* Update homeassistant/components/totalconnect/config_flow.py

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

* Fixes per @balloob comments

* Fix imports

* fix isort error

* Fix async_unload_entry

It still referenced CONF_USERNAME instead of entry.entity_id

* Added async_setup so not breaking change.  Fixed imports.

* Update tests/components/totalconnect/test_config_flow.py

Co-Authored-By: Martin Hjelmare <marhje52@gmail.com>

* Remove TotalConnectSystem() per @MartinHjelmare suggestion

* Moved from is_logged_in() to is_valid_credentials()

The second is more accurate for what we are checking for, because is_logged_in() could return False due to connection error.

* Fix import in test

* remove commented code and decorator

* Update tests/components/totalconnect/test_config_flow.py

Co-Authored-By: Martin Hjelmare <marhje52@gmail.com>

* fix test_config_flow.py

* bump total-connect-client to 0.54

* remove un-needed import of mock_coro

* bump to total-connect-client 0.54.1

* re-add CONFIG_SCHEMA

* disable pylint on line 10 to avoid pylint bug

Co-authored-by: springstan <46536646+springstan@users.noreply.github.com>
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-04-12 21:29:57 -05:00
HomeAssistant Azure
ab1eda7412 [ci skip] Translation update 2020-04-13 00:07:30 +00:00
Fredrik Erlandsson
fffda27385 Fix Daikin sensor temperature_unit & cleanup (#34116) 2020-04-13 01:53:01 +02: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
173d7fa060 Handle all zero serial numbers in NUT (#34045)
* Handle all zero serial numbers in NUT

* Add additional nut tests

* Update homeassistant/components/nut/__init__.py

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

* remove re

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-04-12 15:29:35 -07: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
MatthewFlamm
e6a6c3ceb6 Fix nws platform setup and data update. (#34106)
* add test and fix tests for update logging.

* Fix update logging.

* Remove assert is True

* guard against platform config and use async_write_ha_state

* fix discovery info passing to platform

* Improve testing for entities in init
2020-04-12 17:19:22 -05: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
Erik Montnemery
ec2c7ea932 Don't do http requests to determine Cast device details (#34082)
* Don't do http requests to determine cast device details

* Fix tests

* Update homeassistant/components/cast/media_player.py

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-04-12 15:02:28 -07:00
Ziv
200e140e80 Fixed uncaught exceptions for demo (#34117) 2020-04-12 14:10:05 -07:00
springstan
19dd797dfe Add and use frequency constants (#34113) 2020-04-12 22:44:31 +02:00
springstan
00b6409b76 Use LENGTH_METERS constant (#34110) 2020-04-12 21:44:56 +02:00
springstan
538bb60022 Add and use UNIT_CONDUCTIVITY constant (#34107) 2020-04-12 21:26:20 +02:00
springstan
44afffcfbf Use UNIT_UV_INDEX constant (#34055) 2020-04-12 21:04:13 +02:00
bqstony
138470d86c deCONZ support for new device trigger for Feller EDIZIOdue Friends of hue Switch (#33478)
* deCONZ support for new device trigger for Feller EDIZIOdue Friends of hue Switch

* Rename to general name -friends of hue switch

* translation for top and bottom buttons
2020-04-12 20:56:04 +02:00
J. Nick Koston
4b1626a748 Config flow for tado (#33677)
* Config flow for tado

* Add homekit models

* self review fixes

* reduce since the loop is gone

* Update homeassistant/components/tado/water_heater.py

Co-Authored-By: Michaël Arnauts <michael.arnauts@gmail.com>

* Change identifier

* Ensure fallback mode is on by default

* unique ids much be str

Co-authored-by: Michaël Arnauts <michael.arnauts@gmail.com>
2020-04-12 13:42:36 -05:00
jan iversen
f8f8dddca7 Fix modbus sync/async issues (#34043)
* add pyserial to manifest

pymodbus is very developer oriented and assumes every developer
adapt the requierements.txt to his/hers needs.

Our requirements.txt is different it contains all posibilities allowing
user to later change configuration without having to install extra
packages.

As a consequence manifest.json needs to include the pyserial.

* modbus: make truly async client creation

Make hass call listen_once async.
Integrate content of start_modbus into async_setup.

Do not use the boiler plate create tcp client function from
pymodbus as it is sync, and also does not work well with asyncio,
instead call the init_<type> directly, since that is async.

* both component/modbus and component/serial uses pyserial-async
but with slighty different version requirements.

Combined the 2.

* Review 1

* Review 2

* Review

@staticmethod is no good, because the function uses class variables.

* Review

Pytest is sometimes a bit cryptic, lets hope this does it.
2020-04-12 19:55:03 +02:00
springstan
d454c6a43d Use MASS_KILOGRAMS constant (#34052) 2020-04-12 19:45:50 +02:00
Fabian Affolter
b160f1c813 Increase scan_interval for currencylayer (#34097) 2020-04-12 18:15:22 +02:00
Karthikeyan Singaravelan
ab493eba96 Import ABC from collections.abc instead of collections for Pyt… (#34077) 2020-04-12 18:00:57 +02:00
Matt Snyder
c25cf82668 Allow QVR Pro port to be optional on config (#33901)
* Add default port to config to prevent None being passed to library

* Default port constant
2020-04-12 17:51:57 +02:00
Gerard
95e7c98c91 Add notify function for BMW Connected Drive (#33484)
* Add notify function to BMW Connected Drive

* Move side effects out of init
2020-04-12 10:20:51 -05:00
springstan
b2af1de273 Improve string formatting v9 (#34050)
* Improve string formatting v9

* Address review comments
2020-04-12 17:18:09 +02:00
J. Nick Koston
5aca16ef01 Add homekit configuration option to bind to default interface (#33999)
* Add homekit configuration option to bind to default interface

Homekit can fail to be discoverable because the
zeroconf default is to bind to all interfaces
(InterfaceChoice.All).  This does not work
on some systems and (InterfaceChoice.Default) which
binds to 0.0.0.0 is needed for homekit to zeroconf
to function.

A new option is available for homekit

zeroconf_default_interface: true

* Update tests

* Update homeassistant/components/homekit/__init__.py

Co-Authored-By: springstan <46536646+springstan@users.noreply.github.com>

* Update homeassistant/components/homekit/__init__.py

Co-Authored-By: springstan <46536646+springstan@users.noreply.github.com>

* Review items

* has a default

* Revert "has a default"

This reverts commit 24ecf0920f.

Breaks the tests

Co-authored-by: springstan <46536646+springstan@users.noreply.github.com>
2020-04-12 09:59:50 -05:00
Robert Svensson
fc670e46d9 UniFi - Fix unit of measurement from B to MB (#34091) 2020-04-12 16:18:44 +02:00
J. Nick Koston
f965fb6350 Fix nexia fan and hold modes for XL824 thermostats (#34042)
* Fix nexia fan and hold modes for XL824 thermostats

* Update nexia to 0.9.0

* Update tests to reflect the modes that now come directly in
2020-04-12 15:25:57 +02:00
Martin Hjelmare
20aa089243 Clean up camera and demo camera (#34058)
* Clean up demo camera

* Complete test_motion_detection

* Clean up image reading

* Clean up camera integration async methods

* Fix and clean camera integration tests

* Fix image processing patch
2020-04-12 14:56:19 +02:00
Dustin Wyatt
4f519a2fe1 Fix harmony unnecessary whitespace stripping (#34071) 2020-04-12 14:40:05 +02:00
Fabian Affolter
1e8281fb06 Upgrade keyring to 21.2.0 (#34084) 2020-04-12 13:36:34 +02:00
Fabian Affolter
ee47becd00 Upgrade importlib-metadata to 1.6.0 (#34081) 2020-04-12 12:53:14 +02:00
Fabian Affolter
8407321cfd Upgrade certifi to >=2020.4.5.1 (#34080) 2020-04-12 12:52:04 +02:00
Quentame
e273ff5e5e Do not use POWER_WATT for West wind direction (#34069) 2020-04-12 03:07:43 +02:00
J. Nick Koston
24c45bfd84 Restore ability to change the scan interval in the NUT (#33996)
* Support changing the scan interval in the NUT options flow

* use dict.items()
2020-04-11 19:37:34 -05:00
HomeAssistant Azure
e3f47beda4 [ci skip] Translation update 2020-04-12 00:05:58 +00:00
Yarmo Mackenbach
8901508df6 Handle incorrect config for Nederlandse Spoorwegen integration (#31623)
* Improved error handling

* Removed notification

* Simplified error messages

* Added custom excpetion support

* Fixed custom exception catch

* Removed broad exception catch

* Raise PlatformNotReady
2020-04-11 23:33:22 +02:00
springstan
9f713dac7f Use UNIT_PERCENTAGE constant (#34054) 2020-04-11 22:53:48 +02:00
Ziv
4f50b858d0 Remove already fixed qwikswitch uncaught exceptions (#34049) 2020-04-11 22:00:54 +02:00
Franck Nijhof
123ae941a9 Various camera test improvements (#34022) 2020-04-11 21:10:15 +02:00
Ziv
ea9f1376a6 Fix docstring in test_utils/aiohttp.py (#34040)
* fix docstring

* fixed empty spaces
2020-04-11 20:20:19 +02:00
J. Nick Koston
6e6ebb9495 Add tests for various NUT upses (#34034) 2020-04-11 18:17:57 +02:00
David F. Mulcahey
946b77e2ec Use ZigbeeException instead of DeliveryError in ZHA (#33993)
* Use ZigbeeException instead of DeliveryError

* cleanup get_attributes
2020-04-11 18:01:49 +02:00
Save me
8c4a139aeb Add config_flow for Roomba (#33302)
* Add config_flow for roomba

* Get options to connect

* Fix options in config flow

* Fix syntax in config_flow

* Remove name (not necessary)

* Add bin sensor

* Add Battery sensor

* Add async_connect

* Fix typo

* Add Model and Software version

* Update Roombapy 1.5.0

* Add validate_input

* Add connect and disconnect functions

* Remove test config flow

* Add variables after loop

* Fix translate

* Fix typo

* Fix state of bin

* Update homeassistant/components/roomba/__init__.py

Co-Authored-By: J. Nick Koston <nick@koston.org>

* Update homeassistant/components/roomba/config_flow.py

Co-Authored-By: J. Nick Koston <nick@koston.org>

* Update homeassistant/components/roomba/config_flow.py

Co-Authored-By: J. Nick Koston <nick@koston.org>

* Update homeassistant/components/roomba/config_flow.py

Co-Authored-By: J. Nick Koston <nick@koston.org>

* Update homeassistant/components/roomba/config_flow.py

Co-Authored-By: J. Nick Koston <nick@koston.org>

* Update homeassistant/components/roomba/config_flow.py

Co-Authored-By: J. Nick Koston <nick@koston.org>

* Update homeassistant/components/roomba/__init__.py

Co-Authored-By: J. Nick Koston <nick@koston.org>

* Update homeassistant/components/roomba/__init__.py

Co-Authored-By: J. Nick Koston <nick@koston.org>

* Update homeassistant/components/roomba/__init__.py

Co-Authored-By: J. Nick Koston <nick@koston.org>

* Update homeassistant/components/roomba/config_flow.py

Co-Authored-By: J. Nick Koston <nick@koston.org>

* Remove invalid auth

* Add call function reported_state

* Add options reload

* Fix tracelog

* Set entry_id for config_entry

* Fix DOMAIN unsed-import

* Update homeassistant/components/roomba/config_flow.py

Co-Authored-By: J. Nick Koston <nick@koston.org>

* Update homeassistant/components/roomba/config_flow.py

Co-Authored-By: J. Nick Koston <nick@koston.org>

* Add unique_id for entry

* Fix device info

* Add config_flow for roomba

* Get options to connect

* Fix options in config flow

* Fix syntax in config_flow

* Remove name (not necessary)

* Add bin sensor

* Add Battery sensor

* Add async_connect

* Fix typo

* Add Model and Software version

* Update Roombapy 1.5.0

* Add validate_input

* Add connect and disconnect functions

* Remove test config flow

* Add variables after loop

* Fix translate

* Fix typo

* Fix state of bin

* Update homeassistant/components/roomba/__init__.py

Co-Authored-By: J. Nick Koston <nick@koston.org>

* Update homeassistant/components/roomba/config_flow.py

Co-Authored-By: J. Nick Koston <nick@koston.org>

* Update homeassistant/components/roomba/config_flow.py

Co-Authored-By: J. Nick Koston <nick@koston.org>

* Update homeassistant/components/roomba/config_flow.py

Co-Authored-By: J. Nick Koston <nick@koston.org>

* Update homeassistant/components/roomba/config_flow.py

Co-Authored-By: J. Nick Koston <nick@koston.org>

* Update homeassistant/components/roomba/config_flow.py

Co-Authored-By: J. Nick Koston <nick@koston.org>

* Update homeassistant/components/roomba/__init__.py

Co-Authored-By: J. Nick Koston <nick@koston.org>

* Update homeassistant/components/roomba/__init__.py

Co-Authored-By: J. Nick Koston <nick@koston.org>

* Update homeassistant/components/roomba/__init__.py

Co-Authored-By: J. Nick Koston <nick@koston.org>

* Update homeassistant/components/roomba/config_flow.py

Co-Authored-By: J. Nick Koston <nick@koston.org>

* Remove invalid auth

* Add call function reported_state

* Add options reload

* Fix tracelog

* Set entry_id for config_entry

* Fix DOMAIN unsed-import

* Update homeassistant/components/roomba/config_flow.py

Co-Authored-By: J. Nick Koston <nick@koston.org>

* Update homeassistant/components/roomba/config_flow.py

Co-Authored-By: J. Nick Koston <nick@koston.org>

* Add unique_id for entry

* Fix device info

* syntax for mac (pyupgrade)

* Change single key to BLID

* Resolve dict conflict

* Update homeassistant/components/roomba/binary_sensor.py

Co-Authored-By: J. Nick Koston <nick@koston.org>

* Update homeassistant/components/roomba/sensor.py

Co-Authored-By: J. Nick Koston <nick@koston.org>

* Update homeassistant/components/roomba/.translations/en.json

Co-Authored-By: J. Nick Koston <nick@koston.org>

* Update homeassistant/components/roomba/strings.json

Co-Authored-By: J. Nick Koston <nick@koston.org>

* Add description

* Revert "Remove test config flow"

This reverts commit 26a89422e8.

* Add tests

* Remove check if user none

* Replace CONF_USERNAME to CONF_BLID (breaking change)

* Update test_config_flow.py

* Add code owners

* Remove CONF_USERNAME (unused)

* Add multiple vacuum

* Add multiple vacuum

* Update homeassistant/components/roomba/__init__.py

Co-Authored-By: J. Nick Koston <nick@koston.org>

* Update homeassistant/components/roomba/__init__.py

Co-Authored-By: J. Nick Koston <nick@koston.org>

* Update homeassistant/components/roomba/__init__.py

Co-Authored-By: J. Nick Koston <nick@koston.org>

* Update homeassistant/components/roomba/__init__.py

Co-Authored-By: J. Nick Koston <nick@koston.org>

* Update homeassistant/components/roomba/__init__.py

Co-Authored-By: J. Nick Koston <nick@koston.org>

* Fix syntax name

* Update homeassistant/components/roomba/__init__.py

Co-Authored-By: J. Nick Koston <nick@koston.org>

* Update homeassistant/components/roomba/__init__.py

Co-Authored-By: J. Nick Koston <nick@koston.org>

* Update homeassistant/components/roomba/__init__.py

Co-Authored-By: J. Nick Koston <nick@koston.org>

* Update homeassistant/components/roomba/__init__.py

Co-Authored-By: J. Nick Koston <nick@koston.org>

* Remove CONF_PREFIX (unused)

* Update homeassistant/components/roomba/sensor.py

Co-Authored-By: J. Nick Koston <nick@koston.org>

* Add import UNIT_PERCENTAGE

* Update homeassistant/components/roomba/__init__.py

Co-Authored-By: J. Nick Koston <nick@koston.org>

* Update homeassistant/components/roomba/__init__.py

Co-Authored-By: J. Nick Koston <nick@koston.org>

Co-authored-by: J. Nick Koston <nick@koston.org>
2020-04-11 10:55:00 -05:00
Fabian Affolter
d5f73378f0 Upgrade pillow to 7.1.1 (#34025)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2020-04-11 17:00:12 +02:00
springstan
b893150154 Add and use UNIT_DEGREE constant (#33978)
* Add and use UNIT_DEGREE constant

* Replace more occurrences

* Add and use TEMP_KELVIN

* Run isort
2020-04-11 16:54:11 +02:00
Kevin Eifinger
c18a6d5ea3 Fix #33995 Use "now" if departure is None (#34017) 2020-04-11 16:47:07 +02:00
springstan
f839ba00eb Use POWER_WATT constant (#33984) 2020-04-11 15:40:59 +02:00
Fabian Affolter
2ab79115d1 Upgrade geopy to 1.21.0 (#34026) 2020-04-11 15:39:09 +02:00
Fabian Affolter
9aa0e76d65 Update codeowners for seven_segments (#34027) 2020-04-11 15:27:28 +02:00
Ziv
e88af54016 Fix docstring in test_util/aiohttp.py (#34024) 2020-04-11 15:26:54 +02:00
Fabian Affolter
df121c2e88 Upgrade numpy to 1.18.2 (#34012) 2020-04-11 13:04:54 +02:00
Fabian Affolter
91e7bcbfac Upgrade beautifulsoup4 to 4.9.0 (#34007) 2020-04-11 12:56:18 +02:00
Fabian Affolter
2af9f4fffe Upgrade distro to 1.5.0 (#34009) 2020-04-11 12:55:02 +02:00
Fabian Affolter
11ee01424d Upgrade discord.py to 1.3.3 (#34008) 2020-04-11 12:53:48 +02:00
Fabian Affolter
52e154f881 Upgrade mutagen to 1.44.0 (#34011) 2020-04-11 12:52:43 +02:00
Fabian Affolter
c6a86edd36 Upgrade sendgrid to 6.2.1 (#34014) 2020-04-11 12:49:57 +02:00
Fabian Affolter
2dc6ba0ab4 Upgrade getmac to 0.8.2 (#34013) 2020-04-11 12:47:13 +02:00
Fabian Affolter
19ce367f88 Upgrade TwitterAPI to 2.5.11 (#34006) 2020-04-11 11:57:02 +02:00
Raman Gupta
671e324f48 update strings.json to match device name in manifest (#34003) 2020-04-11 10:42:56 +02:00
Raman Gupta
c3542f8bb2 Vizio dependency version bump (#34002) 2020-04-11 10:31:44 +02:00
Alexei Chetroi
569057c215 Bump up zha dependencies. (#33997) 2020-04-10 23:20:05 -04:00
David F. Mulcahey
c1962a4895 Read min and max mireds from ZHA lights (#33983)
* implement min and max mireds

* remove unnecessary else

* additional light test

* add test to appease the codecov god

* change defaults
2020-04-10 23:19:17 -04:00
J. Nick Koston
44f8dab0b0 Add changed_by to elkm1 alarm device_state_attributes (#33982)
* Add last_user_name to alarm device_state_attributes

changed_by_entity_id was removed in 0.108 and replaced
with changed_by_keypad.  This didn't provide enough
data to discover the last user that changed the alarm.

* Switch to changed_by and restore since
we loose the attributes on restart

* use built-in
2020-04-10 21:41:59 -05:00
David F. Mulcahey
5ea4a68aae Cleanup ZHA metering and electrical measurement channels (#33992)
* clean up homeautomation and smartenergy channels

* fix get attributes on base channel
2020-04-10 20:45:38 -04:00
springstan
328cadbaa2 Use LENGTH_KILOMETERS constant (#33976)
* Use LENGTH_KILOMETERS constant

* Fix tests by importing the constant directly
2020-04-11 02:12:39 +02:00
springstan
04c4501455 Add and use UNIT_VOLT constant (#33994)
* Add and use UNIT_VOLT constant

* Run isort
2020-04-11 02:04:58 +02:00
HomeAssistant Azure
32e87fc4c7 [ci skip] Translation update 2020-04-11 00:03:44 +00:00
Brian Rogers
1db6e9fcb2 Fix Rachio binary sensor cold reboot (#33959) 2020-04-11 02:01:22 +02:00
J. Nick Koston
c8aa55439f Undo NUT update listener on config reload (#33986) 2020-04-11 00:55:33 +02:00
Richard Powell
5b5a232695 Add new Econet attributes (#33795)
* Add support to the Econet integration for new attributes: lower_temp, upper_temp, ambient_temp & is_enabled

* Removing support for ambient temperature
2020-04-11 00:37:43 +02:00
Paulus Schoutsen
10799952af Merge pull request #33985 from home-assistant/rc
0.108.3
2020-04-10 15:24:17 -07:00
Steven Looman
dfc66b2018 Rewrite parts of upnp component (#33108)
* Rewrite parts of upnp component

* Linting

* Add SCAN_INTERVAL

* Get values simultaneously

* Move to time related constants, as per #32065

* Linting

* Move constant KIBIBYTE to homeassistant.const

* Simplify code

* Fix tests for #33344

* Changes after review

* Update homeassistant/components/upnp/sensor.py

* Changes after review

* Formatting

* Formatting

* Use ST from discovery info to avoid swapping device_types if device advertises multiple versions

* Linting

* Requirements for upnp + dlna_dmr components

* Linting

* Regen requirements

* Changes after review by @MartinHjelmare

* Changes after review by @MartinHjelmare

* Formatting

* Linting

* Changes after review by @MartinHjelmare

* Changes after review by @MartinHjelmare

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-04-11 00:24:03 +02:00
Chris Talkington
f00f3d6b0c Use zeroconf UUID if not available via IPP properties (#33991) 2020-04-10 15:23:59 -07:00
Chris Talkington
de3f5e8d69 Use zeroconf UUID if not available via IPP properties (#33991) 2020-04-10 15:23:07 -07:00
Ziv
302e631984 Ability to mock long poll requests + refactor qwikswitch unit… (#33804)
* added the ability to mock a "long poll" get request by setting up the
waiting request and feeding responses to it
with this, refactored the qwikswitch test so it doesn't use global variables
and is more understandable and maintainable

* added import asyncio from merge

* added assert that first call with long_poll has empty content

* passing json instead of the binary string

* use json instead of text in mock requests

* refactored to use a proxy

* return the proxy also for the http methods other than get

* refactored so any side_effect can be used and created the long_poll side effect

* simplified by using kwargs
needed to move the json->text->content logic from mocker to mockrequest

* no need to explicitly define method and url
2020-04-10 14:57:39 -07:00
Paulus Schoutsen
d4dc7f806c Fix cherry pick ZHA 2020-04-10 14:39:37 -07:00
Paulus Schoutsen
8e6e8dfbe0 Migrate translations_develop script (#33933)
* Migrate translations_develop script

* Fix lint
2020-04-10 14:17:09 -07:00
Paulus Schoutsen
c254b71559 Bumped version to 0.108.3 2020-04-10 14:12:12 -07:00
J. Nick Koston
d90a3b6c42 Exclude non thermostats from being detected by nexia (#33979)
* Fix detection of emergency heat

* Bump nexia to 0.8.2
2020-04-10 14:11:54 -07:00
David F. Mulcahey
da3ee0aa61 Cleanup ZHA group entity lifecycle (#33977)
* Clean up ZHA group entity lifecycle

* group entities don't use state restore

* add tests
2020-04-10 14:11:25 -07:00
Pascal Vizeli
eb17b68ad3 Fix shutdown timeout and make it upstream with Supervisor (#33973)
* Fix shutdown timeout and make it upstream with Supervisor

* Moved ENV command up

* Update finish

Co-authored-by: Franck Nijhof <git@frenck.dev>
2020-04-10 14:07:35 -07:00
J. Nick Koston
2243855209 Handle 304 http responses in nexia (#33972)
* Bump nexia to 0.8.1
2020-04-10 14:07:34 -07:00
Chris Talkington
82df4a3a4d Update pyipp to 0.9.2 (#33967)
* Update manifest.json

* Update requirements_test_all.txt

* Update requirements_all.txt
2020-04-10 14:07:33 -07:00
Knapoc
bc2ac65b1e Fix turning off/on light groups in homekit (#33965) 2020-04-10 14:07:33 -07:00
J. Nick Koston
9bc04d7b5c Fix powerwall units (kW) (#33954)
* Fix powerwall units (kW)

* Fix test

Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2020-04-10 14:07:32 -07:00
J. Nick Koston
b620c53662 Make homekit aware of DEVICE_CLASS_GATE (#33936) 2020-04-10 14:07:31 -07:00
Minims
ab35ceab5a Fix Onvif Camera that does not have SnapshotUri such as Sricam (#33902) 2020-04-10 14:07:30 -07:00
J. Nick Koston
294a2d2460 Exclude non thermostats from being detected by nexia (#33979)
* Fix detection of emergency heat

* Bump nexia to 0.8.2
2020-04-10 22:56:40 +02:00
David F. Mulcahey
13dda7bd98 Cleanup ZHA group entity lifecycle (#33977)
* Clean up ZHA group entity lifecycle

* group entities don't use state restore

* add tests
2020-04-10 13:17:48 -07:00
Pascal Vizeli
14c35c9223 Fix shutdown timeout and make it upstream with Supervisor (#33973)
* Fix shutdown timeout and make it upstream with Supervisor

* Moved ENV command up

* Update finish

Co-authored-by: Franck Nijhof <git@frenck.dev>
2020-04-10 22:04:50 +02:00
springstan
8198970af9 Clean up ssl usage (#33960)
* Clean up ssl usage

* Revert config[CONF_SSL] from sonarr, radarr and mfi
2020-04-10 22:01:57 +02:00
J. Nick Koston
cfef8ee961 Handle 304 http responses in nexia (#33972)
* Bump nexia to 0.8.1
2020-04-10 21:11:25 +02:00
springstan
25198242c1 Use TEMP_FAHRENHEIT constant (#33969) 2020-04-10 21:10:10 +02:00
springstan
02c9e47db8 Use ENERGY_KILO_WATT_HOUR constant (#33962) 2020-04-10 20:21:29 +02:00
Chris Talkington
c3c4752fa5 Update pyipp to 0.9.2 (#33967)
* Update manifest.json

* Update requirements_test_all.txt

* Update requirements_all.txt
2020-04-10 19:49:58 +02:00
Erik Montnemery
6d3046cb42 Remove support for cast dynamic speaker groups (#33884) 2020-04-10 10:36:57 -07:00
Knapoc
496da8823d Fix turning off/on light groups in homekit (#33965) 2020-04-10 10:34:10 -07:00
springstan
78d87dc40f Use TEMP_CELSIUS constant (#33963) 2020-04-10 19:17:46 +02:00
J. Nick Koston
ca0648afe8 Fix powerwall units (kW) (#33954)
* Fix powerwall units (kW)

* Fix test

Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2020-04-10 09:33:58 -07:00
Minims
7b9585cd8e Fix Onvif Camera that does not have SnapshotUri such as Sricam (#33902) 2020-04-10 08:44:56 -07:00
Erik Montnemery
a0b3a9e50b Discover manually added casts (#33922)
* Discover manually added casts
2020-04-10 17:19:44 +02:00
Robert Svensson
bc036351f6 UniFi - Roaming clients should be considered connected (#33942)
* Roaming clients should be considered connected

* Bump dependency
2020-04-10 15:43:25 +02:00
J. Nick Koston
8e188d7e75 Make homekit aware of DEVICE_CLASS_GATE (#33936) 2020-04-10 14:42:34 +02:00
Ville Skyttä
9b7e31eca3 Make f-strings without placeholder normal strings (#33938) 2020-04-10 09:59:06 +02:00
Paulus Schoutsen
0727c7b9e8 Merge pull request #33932 from home-assistant/rc
0.108.2
2020-04-09 19:57:08 -07:00
Paulus Schoutsen
e9e1ec5312 Migrate translations clean script (#33930) 2020-04-09 17:54:56 -07:00
Paulus Schoutsen
e9c412bac6 Migrate translations upload (#33926)
* Migrate translations upload

* Fix token in download command

* Minor cleanup
2020-04-09 17:52:33 -07:00
Carlos Gustavo Sarmiento
3331b81b64 Remove print() from Bayesian Binary Sensor (#33916) 2020-04-09 17:45:26 -07:00
Chris Talkington
8259a5a71f Guard IPP against negative ink levels (#33931) 2020-04-09 17:44:37 -07:00
Chris Talkington
2edfa82237 Guard IPP against negative ink levels (#33931) 2020-04-09 17:44:04 -07:00
Paulus Schoutsen
3100e852ce Bumped version to 0.108.2 2020-04-09 17:23:21 -07:00
J. Nick Koston
1b0ccf10e5 Fix tplink HS220 dimmers (round 2) (#33928)
* HS220 dimmers are handled as lights with a limited feature set

* Dimmers look up has has_emeter every call so this is cached as well now
to resovle the performance issue.
2020-04-09 17:23:11 -07:00
Raman Gupta
f38ff3b622 Bump pyvizio version for vizio (#33924) 2020-04-09 17:22:54 -07:00
Kit Klein
3ad9052b5c Exclude access token from host info updates in Konnected config flow (#33912)
* black updates

* test that host update doesn't impact access token
2020-04-09 17:20:21 -07:00
J. Nick Koston
e0595ce518 Fix tplink HS220 dimmers (#33909)
* HS220 dimmers are handled as lights with a limited feature set
2020-04-09 17:20:20 -07:00
jan iversen
54bf83855c Rename domain import in modbus (#33906) 2020-04-09 17:20:19 -07:00
jan iversen
2713469651 Fix Modbus review comments (#33755)
* update common test for modbus integration

* remove log messages from modbus setup function.

* Make global method local

* Change parameter name to snake_case
2020-04-09 17:20:19 -07:00
jan iversen
64bdf2d35b Modbus: isolate common test functions (#33447)
Since all entity test functions are going to use
the modbus class, isolate the common parts in
conftest.py, and thereby make it simpler to write
additional test cases.

cleaned up test_modbus_sensor.py while splitting the code.
2020-04-09 17:19:18 -07:00
Paulus Schoutsen
c3ac8869b0 Fix onvif consistent return (#33898) 2020-04-09 17:16:37 -07:00
Bram Kragten
ecb37d0bdf Updated frontend to 20200407.2 (#33891) 2020-04-09 17:16:13 -07:00
jan iversen
b2083a7bee Fix modbus default delay (#33877)
* solve modbus issue #33872

CONF_DELAY was used in a serial connection, which is not
permitted.

Sometimes async_update is called after async_setup is completed,
but before event EVENT_HOMEASSISTANT_START is issued, leading to
a missing object.

* resolve review comment.

Do not wait for start event, but activate pymodbus directly in
async setup.

* review 2

Remark, this does not work, async_setup hangs.

clean start_modbus() from async calls, leaving only the pymodbus
setup.

* review 2a

Moved listen_once back to start_modbus, since it is sync.
2020-04-09 17:15:54 -07:00
On Freund
2ff255dedc Fix Monoprice robustness (#33869)
* Silently handle update failures

* Limite parallel updates

* Remove return values

* Remove trailing return

* Add test for empty update
2020-04-09 17:15:53 -07:00
Paulus Schoutsen
995f5db913 Check status code on onvif snapshot (#33865) 2020-04-09 17:15:53 -07:00
Lennart Henke
9efbf2f880 Fix nextcloud sensor mappings (#33840) 2020-04-09 17:15:52 -07:00
Paulus Schoutsen
34fdf5a36f Update aioswitcher (#33821) 2020-04-09 17:15:20 -07:00
jjlawren
f70a2ba1f7 Improve Plex debounce/throttle logic (#33805)
* Improve Plex debounce/throttle logic

* Use Debouncer helper, rewrite affected tests

* Mock storage so files aren't left behind

* Don't bother with wrapper method, store debouncer call during init

* Test cleanup from review

* Don't patch own code in tests
2020-04-09 17:14:58 -07:00
J. Nick Koston
a000af5c03 Fix tplink HS220 dimmers (round 2) (#33928)
* HS220 dimmers are handled as lights with a limited feature set

* Dimmers look up has has_emeter every call so this is cached as well now
to resovle the performance issue.
2020-04-09 17:10:02 -07:00
Kit Klein
c2d1db61b6 Exclude access token from host info updates in Konnected config flow (#33912)
* black updates

* test that host update doesn't impact access token
2020-04-10 01:16:33 +02:00
Raman Gupta
127cc744a4 Bump pyvizio version for vizio (#33924) 2020-04-09 16:09:05 -07:00
jjlawren
42ca566e05 Improve Plex debounce/throttle logic (#33805)
* Improve Plex debounce/throttle logic

* Use Debouncer helper, rewrite affected tests

* Mock storage so files aren't left behind

* Don't bother with wrapper method, store debouncer call during init

* Test cleanup from review

* Don't patch own code in tests
2020-04-10 00:49:09 +02:00
Franck Nijhof
30c6ace0f3 Rewrite MQTT & demo Lock tests (#33838)
* Refactor tests to remove tests.lock.common

* Remove unused is_locked hass binding

* Import constants via entity component

* Import constants via entity component

* Fix light vs lock in naming
2020-04-10 00:40:51 +02:00
J. Nick Koston
6b2baae0de Fix tplink HS220 dimmers (#33909)
* HS220 dimmers are handled as lights with a limited feature set
2020-04-09 15:07:39 -07:00
Paulus Schoutsen
425c97626a Consolidate translation script (#33911)
* Consolidate translation script

* Remove commented code
2020-04-09 14:13:20 -07:00
jan iversen
9535dd87b0 Rename domain import in modbus (#33906) 2020-04-09 22:15:20 +02:00
springstan
4c38e6cfa5 Use HTTP_BAD_REQUEST constant (#33797) 2020-04-09 21:43:42 +02:00
Carlos Gustavo Sarmiento
d510384c0d Remove print() from Bayesian Binary Sensor (#33916) 2020-04-09 21:37:53 +02:00
Kris Bennett
f2fbe657c4 Add tradfri cover model to the cover entity attributes (#33674)
* Ikea Blind Battery

* Ikea Blind Battery

* Ikea Blind Battery

* Ikea Blind Battery

* IKEA Blinds Battery

* IKEA Blinds Battery

* Update cover.py

* Clean up

* Remove unused import

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
Co-authored-by: Joakim Sørensen <hi@ludeeus.dev>
2020-04-09 19:37:55 +02:00
vermium-sifell
c651ce06c5 Add Direct Message support for Discord integration (#33692)
* Update notify.py

* Update notify.py

* Update notify.py

Added a comment

* Update notify.py

* Update notify.py

* Update notify.py

* Update notify.py

* Update notify.py
2020-04-09 18:56:17 +02:00
Paulus Schoutsen
32499dc8fe Fix onvif consistent return (#33898) 2020-04-09 09:51:23 -07:00
springstan
bc26be3c11 Add and use HTTP_FORBIDDEN constant (#33839) 2020-04-09 17:41:17 +02:00
Bram Kragten
70ee9d7f26 Updated frontend to 20200407.2 (#33891) 2020-04-09 17:21:01 +02:00
On Freund
a4c9446b8d Fix Monoprice robustness (#33869)
* Silently handle update failures

* Limite parallel updates

* Remove return values

* Remove trailing return

* Add test for empty update
2020-04-09 17:04:12 +02:00
Lennart Henke
90f7cd2d44 Fix nextcloud sensor mappings (#33840) 2020-04-09 16:10:17 +02:00
Quentame
45b28b8b00 Add local_ip unique_id & icon and single_instance_allowed (#33483)
* Add config flow + sensor unique_id & icon to local_ip

* single_instance_allowed

* Fix test

* Martin's review

* Name deprecated
2020-04-09 16:06:01 +02:00
jan iversen
dd7fbef948 Fix modbus default delay (#33877)
* solve modbus issue #33872

CONF_DELAY was used in a serial connection, which is not
permitted.

Sometimes async_update is called after async_setup is completed,
but before event EVENT_HOMEASSISTANT_START is issued, leading to
a missing object.

* resolve review comment.

Do not wait for start event, but activate pymodbus directly in
async setup.

* review 2

Remark, this does not work, async_setup hangs.

clean start_modbus() from async calls, leaving only the pymodbus
setup.

* review 2a

Moved listen_once back to start_modbus, since it is sync.
2020-04-09 13:53:23 +02:00
Erik Montnemery
3845539577 Lookup manufacturer name for casts (#33845)
* Lookup manufacturer name, remove use of get_multizone_status

* Bump pychromecast

* Bump pychromecast

* Fix test
2020-04-09 10:58:19 +02:00
Alexander
87e7e7fe8a Fix slide open/close percentage (#33739)
* Fix Open/Close percentage

* Update __init__.py

* Apply suggestions from code review

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-04-09 10:20:48 +02:00
Paulus Schoutsen
1adb45f74e Check status code on onvif snapshot (#33865) 2020-04-09 09:54:02 +02:00
springstan
21dfee831f Clean up access to config in various integrations v3 (#33842) 2020-04-09 09:26:06 +02:00
Paulus Schoutsen
eb718bffe0 Merge pull request #33862 from home-assistant/rc
0.108.1
2020-04-08 22:55:29 -07:00
Paulus Schoutsen
70f14600d1 Fix last flaky TTS test (#33849) 2020-04-08 20:49:13 -07:00
Paulus Schoutsen
05289216c4 TTS: Wait till files are created in tests (#33760) 2020-04-08 20:48:38 -07:00
Paulus Schoutsen
c1814201be Bumped version to 0.108.1 2020-04-08 20:46:37 -07:00
Raman Gupta
dceb0d9bf7 Fix vizio bug that occurs when CONF_APPS isn't in config entry… (#33857)
* fix bug when search for string in dict fails when dict is null

* another bug fix that I only noticed because of this other bug

* add test to cover failure scenario

* update docstring

* add additional assertions to cover failure scenario that's being fixed
2020-04-08 20:46:02 -07:00
Alexei Chetroi
df768cab7d Bump up ZHA dependencies (#33856) 2020-04-08 20:46:01 -07:00
J. Nick Koston
9b8d1b88c5 Fix Doorbird yaml import aborted if discovery finds it first (#33843) 2020-04-08 20:46:00 -07:00
Bas Nijholt
885cf20afa Fix kef DSP_SCAN_INTERVAL timedelta (#33825)
reported on https://community.home-assistant.io/t/kef-ls50-wireless/70269/134
2020-04-08 20:46:00 -07:00
jan iversen
663c994dfb Fix modbus transaction response (#33824)
Sometimes a modbus server do not respond to a transaction,
this is a contradiction to the modbus protocol specification,
but merely a matter of fact.

Use asynio.await_for() to provoke a timeout, and close the
transaction.
2020-04-08 20:45:59 -07:00
Aaron Bach
7eba08f385 Fix unhandled exception in Recollect Waste (#33823) 2020-04-08 20:45:58 -07:00
Chris Talkington
da8ce07216 Update to pyipp==0.9.1 (#33819) 2020-04-08 20:45:57 -07:00
Jason Swails
442499b452 Bump pylutron-caseta version to 0.6.1 (#33815) 2020-04-08 20:45:35 -07:00
danbishop
49db0a3720 Update sensor.py (#33788)
Add missing semi-colons to html entities on notification message
2020-04-08 20:45:15 -07:00
Paulus Schoutsen
ebac7b7aad Speed up TP-Link lights (#33606)
* Speed up TP-Link lights

* Color temp kan be None

* hs as int, force color temp=0

* Fix color temp?

* Additional tplink cleanups to reduce api calls

* Update test to return state, remove Throttle

* Fix state restore on off/on

* Fix lights without hue/sat

Co-authored-by: J. Nick Koston <nick@koston.org>
2020-04-08 20:45:14 -07:00
Raman Gupta
b46eee04e4 Fix vizio bug that occurs when CONF_APPS isn't in config entry… (#33857)
* fix bug when search for string in dict fails when dict is null

* another bug fix that I only noticed because of this other bug

* add test to cover failure scenario

* update docstring

* add additional assertions to cover failure scenario that's being fixed
2020-04-08 20:44:33 -07:00
J. Nick Koston
daf941e771 Fix missed async conversion in flume. (#33855) 2020-04-08 20:40:45 -05:00
Alexei Chetroi
d494da271a Bump up ZHA dependencies (#33856) 2020-04-08 21:36:11 -04:00
J. Nick Koston
ff936302d7 Fix Doorbird yaml import aborted if discovery finds it first (#33843) 2020-04-08 18:29:46 -07:00
J. Nick Koston
8be7cb4539 Update nut to use DataUpdateCoordinator (#33831)
* Convert nut to use DataUpdateCoordinator

* Adjust per review

* ups_list is a dict with {id: name, ...}
2020-04-08 18:26:10 -07:00
Paulus Schoutsen
bdb998bdb3 Fix last flaky TTS test (#33849) 2020-04-08 19:18:09 -05:00
HomeAssistant Azure
7cc683658b [ci skip] Translation update 2020-04-09 00:07:25 +00:00
springstan
9a40d5b7ed Use HTTP_NOT_FOUND constant (#33835) 2020-04-09 00:57:47 +02:00
J. Nick Koston
ac9429988b Add a config flow for flume (#33419)
* Add a config flow for flume

* Sensors no longer block Home Assistant startup
since the flume api can take > 60s to respond on
the first poll

* Update to 0.4.0 to resolve the blocking startup issue

* Missed conversion to FlumeAuth

* FlumeAuth can do i/o if the token is expired, wrap it

* workaround async_add_entities updating disabled entities

* Fix conflict
2020-04-08 16:29:59 -05:00
springstan
fb8f8133a0 Use HTTP_INTERNAL_SERVER_ERROR constant (#33832) 2020-04-08 23:20:03 +02:00
Robert Svensson
15ab63a4c2 UniFi: Add UDM/P (UniFi OS) support (#33766)
* Fix get_controller and all tests:wq

* Bump dependency to v16
2020-04-08 23:19:39 +02:00
jan iversen
2d1002d40d Fix modbus transaction response (#33824)
Sometimes a modbus server do not respond to a transaction,
this is a contradiction to the modbus protocol specification,
but merely a matter of fact.

Use asynio.await_for() to provoke a timeout, and close the
transaction.
2020-04-08 13:04:47 -07:00
J. Nick Koston
7dd42bc32d Separate august keypads into their own device (#33665)
The keypad has its own unique id so its better
represented as its own device.  This fixes
showing the keypad battery state for the lock
in the UI.
2020-04-08 12:57:27 -07:00
J. Nick Koston
b09b5729a3 Accommodate mysql servers with a low wait_timeout (#33638)
Some providers have set their wait_timeout to 60s
in order to pack as many users as they can on a machine.
The mysql default is 28800 seconds (8 hours)

Since mysql connection build and tear down is relativity
expensive, we want to avoid being disconnected.

We now accommodate this scenario with the following:

1. Raise the mysql session wait_timeout 28800 when we connect
2. The event session now does a 30 second keep alive to
   ensure the connection stays open
2020-04-08 12:56:22 -07:00
Aaron Bach
0b715b751d Fix unhandled exception in Recollect Waste (#33823) 2020-04-08 12:49:05 -07:00
Bas Nijholt
ceb171974d Fix kef DSP_SCAN_INTERVAL timedelta (#33825)
reported on https://community.home-assistant.io/t/kef-ls50-wireless/70269/134
2020-04-08 12:48:46 -07:00
Bas Nijholt
588409c784 Fix isort problem in homeassistant/requirements.py (#33828) 2020-04-08 12:48:20 -07:00
Chris Talkington
d03248962d Update to pyipp==0.9.1 (#33819) 2020-04-08 12:44:52 -07:00
Paulus Schoutsen
df744c5944 Speed up TP-Link lights (#33606)
* Speed up TP-Link lights

* Color temp kan be None

* hs as int, force color temp=0

* Fix color temp?

* Additional tplink cleanups to reduce api calls

* Update test to return state, remove Throttle

* Fix state restore on off/on

* Fix lights without hue/sat

Co-authored-by: J. Nick Koston <nick@koston.org>
2020-04-08 14:36:45 -05:00
danbishop
292dcb7e37 Update sensor.py (#33788)
Add missing semi-colons to html entities on notification message
2020-04-08 13:07:43 -06:00
Paulus Schoutsen
173c276c5c Lint 2020-04-08 12:03:56 -07:00
Robert Van Gorkom
ea709d0630 Remove withings sleep state (#33817) 2020-04-08 11:57:42 -07:00
J. Nick Koston
cec3b57390 Fix thermostats that do not support off under homekit (#33809)
TargetHeatingCoolingState: value=0 is an invalid value.
would be raised when a thermostat did not support
off.
2020-04-08 11:56:11 -07:00
Jason Cheatham
3b246fb40a Load integrations with requirements in device_automation (#33714)
* Load integrations with requirements in device_automation

- Split cached loader behavior out of async_get_integration
- Use cached loader for both async_get_integration and
  async_get_integration_with_requirements
- Use async_get_integration_with_requirements for device_automation

resolves #33104

* Duplicate caching logic in requirements, remove loader mods

* Update homeassistant/requirements.py

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-04-08 11:42:15 -07:00
Paulus Schoutsen
5ff50e8b4f Update aioswitcher (#33821) 2020-04-08 11:13:08 -07:00
Paulus Schoutsen
10d25c798e Add script to clean up translations (#33802) 2020-04-08 10:48:36 -07:00
Martin Hjelmare
c3decc6531 Do not ban supervisor ip if set (#33781)
* Use asynctest patch instead of mock_coro

* Add test for supervisor ip ban

* Do not ban supervisor ip if set

* Extract supervisor ip helper

* Check supervisor ip before banning

* Remove added blank line

* Clean up get supervisor ip

Co-Authored-By: Pascal Vizeli <pvizeli@syshack.ch>

Co-authored-by: Pascal Vizeli <pvizeli@syshack.ch>
2020-04-08 10:31:44 -07:00
springstan
8d61893c39 Use HTTP_OK constant (#33798)
* Use http ok constant

* Remove incorrect use

* Run isort

* Fix pylint by adding missing imports

* Fix pylint by fixing one import
2020-04-08 11:47:38 -05:00
J. Nick Koston
7383e81609 Convert nut to a multi step config flow (#33803)
* Convert nut to a multi step config flow

* Users can now choose the ups they want in
step 2 (or skipped if only one)

* Users can now select the resources they want
to monitor based on what is actually available
on the device

* CONF_NAME has been removed as we now get the
name from NUT

* Device classes have been added which allows
the battery charge state to be seen in the
devices UI

* Remove update_interval as its for a followup PR

* explict

* reduce

* fix bug, add tests for options flow

* Test for dupe import

* Test for dupe import

* Call step directly

* Update homeassistant/components/nut/config_flow.py

Co-Authored-By: Martin Hjelmare <marhje52@gmail.com>

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-04-08 11:45:45 -05:00
Franck Nijhof
db9b6aba31 Merge branch 'master' into dev 2020-04-08 18:42:50 +02:00
Jason Swails
1c4b563e54 Bump pylutron-caseta version to 0.6.1 (#33815) 2020-04-08 18:39:36 +02:00
Franck Nijhof
57bbbbcf26 Update translations 2020-04-08 17:24:53 +02:00
MatthewFlamm
a3e84791c6 Convert nws integration to component configuration (#31398)
* convert nws to component configuration

* add more debug logging

* remove assumed state

* move initialization of data into init

* refactor update logic

* use forecast success for checking available entities

* Split unique_id into more usable pieces.

use a base_unique_id for each entry.  Add domain for signaling to entities.  Each entity in each platform can use base_unique_id to form individual unique_id's.

* Revert "move initialization of data into init"

This reverts commit 09eb0220469285b10f0500f5f6def67415931a81.

* add silver quality scale to manifest

* unsubscribe listener in will_remove_from_hass

* initialize _unsub_listener in __init__

* use async_on_remove

* remove scan interval from configuration

* Use better name

Co-Authored-By: J. Nick Koston <nick@koston.org>

Co-authored-by: J. Nick Koston <nick@koston.org>
2020-04-08 10:22:25 -05:00
René-Marc Simard
f5b7deda72 Add counters for GitHub repo forks, clones, views (#33300)
* Add counters for GitHub repo forks, clones, views

* Rename uniques to unique
2020-04-08 09:52:39 -05:00
Franck Nijhof
38158376b3 Merge pull request #33814 from home-assistant/rc
0.108.0
2020-04-08 16:04:35 +02:00
springstan
245eae89eb Bump pyW215 to 0.7.0 (#33786) 2020-04-08 14:37:55 +02:00
Franck Nijhof
837f7638cf Bumped version to 0.108.0 2020-04-08 14:05:04 +02:00
Bram Kragten
9675cc5ed2 Updated frontend to 20200407.1 (#33799) 2020-04-08 13:47:43 +02:00
Franck Nijhof
b0978f064f Upgrade shodan to 1.23.0 (#33811) 2020-04-08 13:12:18 +02:00
Franck Nijhof
14f035a39b Upgrade sqlalchemy to 1.3.16 (#33810) 2020-04-08 13:12:07 +02:00
Franck Nijhof
035b28045c Update translations 2020-04-08 13:02:45 +02:00
springstan
c6c7dd10f5 Clean up access to config in various integrations (#33759) 2020-04-08 12:59:38 +02:00
Paulus Schoutsen
ba8ae17487 Fix hue ct (#33791) 2020-04-08 11:31:41 +02:00
HomeAssistant Azure
ad619817c6 [ci skip] Translation update 2020-04-08 00:08:19 +00:00
Matt Snyder
8b5ab3221f Handle QVR Pro dropping connection (#33591)
* Handle QVR Pro dropping connection

* Update homeassistant/components/qvr_pro/camera.py

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

* Update homeassistant/components/qvr_pro/manifest.json

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-04-07 16:19:31 -07:00
springstan
eae21be5b9 Improve string formatting v6 (#33698) 2020-04-07 23:14:28 +02:00
springstan
d7e3b0b755 Clean up access to config in various integrations v2 (#33763) 2020-04-07 22:45:56 +02:00
Bram Kragten
d95ffb3aa3 Updated frontend to 20200407.1 (#33799) 2020-04-07 13:42:17 -07:00
springstan
46bbe816f6 Remove None from dict.get(key, None) (#33794) 2020-04-07 21:06:05 +02:00
Chris Talkington
d54ee77375 Update directv remote platform tests service calls (#33793)
* Update test_remote.py

* Update test_remote.py
2020-04-07 11:57:51 -07:00
Paulus Schoutsen
265666b75a Bumped version to 0.108.0b6 2020-04-07 10:29:24 -07:00
Ziv
4901fa24ec Fix unhandled exceptions for config, default_config, harmony (#33731)
* replaced MagicMock with CoroutineMock to avoid exception

* added conversion to str so mock returns unique-id that doesn't throw json exception

* added non-empty config since hass throws exception when config is empty
2020-04-07 10:29:15 -07:00
jjlawren
d92d74a14f Fix minor async issues in Plex (#33785)
* Fix minor async context issues

* Annotate callback
2020-04-07 10:23:54 -07:00
J. Nick Koston
b9336272d4 Fix nuheat reverting to auto mode after setting temp hold (#33772)
* Fix nuheat reverting to auto mode after setting temp hold

* clamp temp
2020-04-07 10:23:53 -07:00
J. Nick Koston
1bd1b8339d Update nexia for thermostats without zoning (#33770)
* Bump nexia to 0.8.0
2020-04-07 10:23:26 -07:00
J. Nick Koston
078ce6766e Add discovery support to synology_dsm (#33729)
* Add discovery support to synology_dsm

* Remove debug

* black

* Fix mocks

* Merge strings

* Move placeholders

* add missing placeholders

* reorder

* use constants in test

* Remove CONF_NAME (only displayed in discovery now)

* test reduction

* Shorten long name

* Use name for name but NOT for unique_id, remove CONF_NAME from yaml config

* Use Synology for the name for now, hopefully we can use the hostname later

* lint

* Remove name from strings

* remove =None

* show login errors at username field

* Update tests/components/synology_dsm/test_config_flow.py

Co-Authored-By: Quentame <polletquentin74@me.com>

* Update tests/components/synology_dsm/test_config_flow.py

Co-Authored-By: Quentame <polletquentin74@me.com>

* Update homeassistant/components/synology_dsm/const.py

Co-authored-by: Quentame <polletquentin74@me.com>
2020-04-07 10:22:35 -07:00
Chris Talkington
abdee3fcb7 Catch IPPParseError during config flow (#33769)
* Update config_flow.py

* Update strings.json

* Update config_flow.py

* squash.
2020-04-07 10:22:04 -07:00
jjlawren
3873b23704 Fix minor async issues in Plex (#33785)
* Fix minor async context issues

* Annotate callback
2020-04-07 10:17:16 -07:00
J. Nick Koston
81569f10c0 Fix nuheat reverting to auto mode after setting temp hold (#33772)
* Fix nuheat reverting to auto mode after setting temp hold

* clamp temp
2020-04-07 10:16:31 -07:00
Paulus Schoutsen
8fb89854d3 Fix flaky TP-Link test (#33790) 2020-04-07 10:13:55 -07:00
Paulus Schoutsen
9d38413e7c Upgrade hass-cloud to 0.34 (#33789) 2020-04-07 09:59:04 -07:00
Erik Montnemery
ddef681dd2 Improve MQTT debug info for subscriptions with wildcard (#33752) 2020-04-07 09:38:22 -07:00
Ziv
3697ea7b27 Remove uncaught exceptions from rflink (#33709)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2020-04-07 09:37:54 -07:00
Franck Nijhof
bb8bbc9c54 Collection of tests improvements (#33778) 2020-04-07 09:36:35 -07:00
Ziv
bee742994e Fix uncaught exceptions for discovery, unify_direct, spotify,… (#33735)
* used coroutinemock to avoid exception

* added spec to mock to remove exception

* added the current_user return value so it doesnt throw exception

* fix the mocks so properties do not need .return_value

* fixed missing mock values that were causing exceptions

* moved patch to asynctest so no need to define m_init

* fixed black error
2020-04-07 09:34:13 -07:00
Franck Nijhof
60bc517d01 Collection of core tests improvements (#33757)
* Collection of core tests improvements

* Added some more

* Fix aiohttp client response release
2020-04-07 09:33:23 -07:00
Chris Talkington
1f7803c541 Catch IPPParseError during config flow (#33769)
* Update config_flow.py

* Update strings.json

* Update config_flow.py

* squash.
2020-04-07 09:32:43 -07:00
springstan
60eb488d0c Bump pyW215 to 0.7.0 (#33786) 2020-04-07 09:22:03 -07:00
Franck Nijhof
2304a76979 Bumped version to 0.109.0dev0 (#33782) 2020-04-07 09:15:08 -07:00
Erik Montnemery
5cfae3f177 Add emontnemery as codeowner for cast, mqtt (#33784) 2020-04-07 09:13:02 -07:00
Franck Nijhof
a61224c578 Update Codecov.io configuration (#33783) 2020-04-07 09:01:01 -07:00
springstan
325e5416ef Remove global variable from zigbee (#33750)
* Remove global variable from zigbee

* Pass device instead of hass into the constructor
2020-04-07 17:41:23 +02:00
J. Nick Koston
894aac1b45 Update nexia for thermostats without zoning (#33770)
* Bump nexia to 0.8.0
2020-04-07 10:33:43 -05:00
jan iversen
b3286a4a01 Fix Modbus review comments (#33755)
* update common test for modbus integration

* remove log messages from modbus setup function.

* Make global method local

* Change parameter name to snake_case
2020-04-07 16:56:48 +02:00
Marcelo Moreira de Mello
c19a1bf26d Add Sense attribution to all Sense sensors (#33775) 2020-04-07 16:45:48 +02:00
Anton Verburg
93f7f78263 Support for pi4ioe5v9xxxx I2C IO expanders (#28847)
* Added support for the Pi4ioe5v9xxxx binary IO expanders.

* Correction for black failure

* Correction for black failure

* Fix for manifest.json

* Fix for flake8 fault missing a period

* Some modifications I made during tests seem to be disapeared, fixed flake8 and black test now

* WIP virtual thermostat

* WIP virtual thermostat

* WIP

* 100% tests coverage

* Manifest, codeowners, typo fix

* Lint problem

* Test file blacked

* Add a test case for b4dpxl's question

* Update CODEOWNERS

* Replacement of generic thermostat

* Cleaning

* Lint

* More lint

* Using external PyPI package, removed get()

* Fix flake8 checks

* removed virtual thermostat

* Re-fix black & isort

* Re-fix isort 2

* Update homeassistant/components/pi4ioe5v9xxxx/binary_sensor.py

Co-Authored-By: J. Nick Koston <nick@koston.org>

* Update homeassistant/components/pi4ioe5v9xxxx/binary_sensor.py

Co-Authored-By: J. Nick Koston <nick@koston.org>

* Update homeassistant/components/pi4ioe5v9xxxx/switch.py

Co-Authored-By: J. Nick Koston <nick@koston.org>

* Update homeassistant/components/pi4ioe5v9xxxx/switch.py

Co-Authored-By: J. Nick Koston <nick@koston.org>

* Update homeassistant/components/pi4ioe5v9xxxx/switch.py

Co-Authored-By: J. Nick Koston <nick@koston.org>

* Update homeassistant/components/pi4ioe5v9xxxx/switch.py

Co-Authored-By: J. Nick Koston <nick@koston.org>

* black for switch

* update to latest version manual merge

* Delete test_generic_thermostat.py

* Delete .gitignore

* Delete climate.py

* Delete manifest.json

* Delete test_climate.py

* Delete test_climate.py

* fix thermostat interference

* fix thermostat interference 2

* Fix pylint

* Update .pre-commit-config.yaml

Co-authored-by: Cyril <cyril.dubus@effipilot.com>
Co-authored-by: Niflou <dubuscyr@gmail.com>
Co-authored-by: J. Nick Koston <nick@koston.org>
2020-04-07 08:43:12 -05:00
Martin Hjelmare
cb98d62968 Patch gdacs entry setup in config flow tests (#33776) 2020-04-07 12:36:40 +02:00
Pascal Vizeli
643848cac4 Update azure-pipelines-ci.yml for Azure Pipelines 2020-04-07 08:44:21 +02:00
HomeAssistant Azure
0ba04ec1ef [ci skip] Translation update 2020-04-07 00:07:21 +00:00
Paulus Schoutsen
a33e5728de Bumped version to 0.108.0b5 2020-04-06 16:34:47 -07:00
Aaron Bach
087ddcb682 Bump simplisafe-python to 9.0.6 (#33762) 2020-04-06 16:31:48 -07:00
Aaron Bach
e8da7f333b Bump aioambient to 1.1.1 (#33761) 2020-04-06 16:31:10 -07:00
J. Nick Koston
33849a15a8 Bump HAP-python to 2.8.1 (#33756) 2020-04-06 16:29:55 -07:00
jjlawren
e3d90f53cc Defer Plex sensor retry instead of aborting (#33753) 2020-04-06 16:29:17 -07:00
Bram Kragten
e1e768fa65 Bump frontend (#33751) 2020-04-06 16:27:39 -07:00
jjlawren
b48dcca05d Defer Plex sensor retry instead of aborting (#33753) 2020-04-06 16:18:13 -07:00
Aaron Bach
648b340e8c Bump simplisafe-python to 9.0.6 (#33762) 2020-04-07 00:28:42 +02:00
Aaron Bach
98e7865457 Bump aioambient to 1.1.1 (#33761) 2020-04-06 15:14:27 -07:00
Paulus Schoutsen
cc1564da4a TTS: Wait till files are created in tests (#33760) 2020-04-06 15:11:46 -07:00
J. Nick Koston
cf563df42a Bump HAP-python to 2.8.1 (#33756) 2020-04-06 23:30:10 +02:00
Aaron Bach
6ca2c4da3a Properly demarcate websocket and REST API callbacks in SimpliS… (#33706)
* Properly demarcate websocket and REST API callbacks in SimpliSafe

* Docstring

* Method names

* Cleanup

* Remove spurious logging

* Remove redundant method

* Fix comment

* Code review
2020-04-06 14:17:45 -07:00
Pascal Vizeli
b3b770476d Update azure-pipelines-ci.yml 2020-04-06 22:29:27 +02:00
Bram Kragten
2dbd8cf72c Bump frontend (#33751) 2020-04-06 13:23:22 -07:00
Thibault Maekelbergh
db2110f0c6 Add some safety checks for property access in NMBS sensor (#33695) 2020-04-06 21:15:29 +02:00
Franck Nijhof
34ecc803b3 Pre-commit changes to Prettier and executables check (#33749) 2020-04-06 19:53:39 +02:00
Paulus Schoutsen
de2eab30fa Bumped version to 0.108.0b4 2020-04-06 10:34:33 -07:00
J. Nick Koston
69b98def5c Abort rachio config flow if the api key is already configured… (#33747)
We now abort before hitting the api which can be slow
and block startup if importing from yaml.
2020-04-06 10:32:36 -07:00
springstan
0d2de919a6 Clean up after global variable deletion (#33743)
* Clean up after global variable deletion

* Remove self from method calls
2020-04-06 10:32:04 -07:00
Erik Montnemery
8a68b1a3a9 Fix MQTT debug info for subscriptions with wildcard. (#33744) 2020-04-06 10:31:40 -07:00
jjlawren
8392406476 Fix Plex debounce wrapper (#33730)
* Fix debounce wrapper by converting to async

* Review suggestions
2020-04-06 10:26:13 -07:00
J. Nick Koston
565b54d852 Fix rachio import of run time from yaml (#33723)
Importing from yaml would fail for rachio when
copying the manual run time to the option flow.
2020-04-06 10:26:12 -07:00
J. Nick Koston
49dc7ffb5b Fix nuheat response error checking (#33712)
This integration was checking request instead
of response for the error code.
2020-04-06 10:26:12 -07:00
jjlawren
5fd8763c3c Skip parsing Plex session if incomplete (#33534)
* Skip parsing session if incomplete

* Schedule an update if session data is incomplete

* Mark as callback

* Remove update() & convert to async, abort if any session is incomplete
2020-04-06 10:26:11 -07:00
Erik Montnemery
f3b6575272 Fix MQTT debug info for subscriptions with wildcard. (#33744) 2020-04-06 10:25:09 -07:00
J. Nick Koston
66ac5d5b76 Abort rachio config flow if the api key is already configured… (#33747)
We now abort before hitting the api which can be slow
and block startup if importing from yaml.
2020-04-06 10:24:08 -07:00
jjlawren
c39fe36a1c Skip parsing Plex session if incomplete (#33534)
* Skip parsing session if incomplete

* Schedule an update if session data is incomplete

* Mark as callback

* Remove update() & convert to async, abort if any session is incomplete
2020-04-06 10:15:11 -07:00
Franck Nijhof
476072927a Collection of random test improvements (#33742) 2020-04-06 10:09:44 -07:00
springstan
c2a90a4f0d Remove global variable from mochad (#33745) 2020-04-06 10:05:43 -07:00
jjlawren
6dfffb23c4 Fix Plex debounce wrapper (#33730)
* Fix debounce wrapper by converting to async

* Review suggestions
2020-04-06 09:57:51 -07:00
Ziv
cedf7e3945 Fix unhandled exceptions for config, default_config, harmony (#33731)
* replaced MagicMock with CoroutineMock to avoid exception

* added conversion to str so mock returns unique-id that doesn't throw json exception

* added non-empty config since hass throws exception when config is empty
2020-04-06 13:36:49 +02:00
Franck Nijhof
98a2efcbab Collection of random (mainly) test improvements (#33733) 2020-04-06 12:51:48 +02:00
Franck Nijhof
b31284b855 Temporarily disable Prettier on CI until issue is resolved (#33734) 2020-04-06 12:03:21 +02:00
Jevgeni Kiski
a1aebe904e Add MQTT Alarm Control Panel custom bypass state (#32541)
* MQTT Alarm Control Panel to have all available states

* MQTT Alarm Control Panel to have all available states

* test_arm_custom_bypass_* tests added

* MQTT payload_arm_custom_bypass abbreviation
2020-04-06 11:45:37 +02:00
Ziv
ffa111deb9 Fix exceptions in tests for samsung_tv (#33732) 2020-04-06 11:21:52 +02:00
Aaron Bach
f53dfc4308 Don't reinvent callback handler removal logic in several integ… (#33726) 2020-04-05 22:36:23 -07:00
J. Nick Koston
e4ee4cf302 Remove legacy async_add_job from homekit tests (#33727)
* Remove legacy async_add_job from homekit tests

* Empty commit to rerun CI
2020-04-05 21:33:36 -05:00
HomeAssistant Azure
f7b822d000 [ci skip] Translation update 2020-04-06 00:02:13 +00:00
Robert Svensson
529656cf64 UniFi - Improve client tracker attributes based on connection (#32817)
* Improve client tracker attributes by setting them to None when client is disconnected

* Fix martins comment
2020-04-06 01:26:11 +02:00
jan iversen
738ef38ddc Modbus: isolate common test functions (#33447)
Since all entity test functions are going to use
the modbus class, isolate the common parts in
conftest.py, and thereby make it simpler to write
additional test cases.

cleaned up test_modbus_sensor.py while splitting the code.
2020-04-05 19:09:20 -04:00
Quentame
d99e228983 Add config flow to Synology DSM (#32704)
* Add config flow to Synology DSM

* Use proper sensor unique ID from flow + sensor name

* Add description to api_version

* Add authentication flow check

* Add device_info

* Add test_login_failed test

* Bump python-synology to 0.5.0

* 0.5.0 test updates

* Use NAS S/N as config_flow unique_id

* Add missed conf disks + volumes

* Review: async_unload the async_track_time_interval

* Fix NoneType for disks or volumes

* Keep all disks and volumes forever

* Update homeassistant/components/synology_dsm/.translations/en.json

Co-Authored-By: J. Nick Koston <nick@koston.org>

* Update homeassistant/components/synology_dsm/strings.json

Co-Authored-By: J. Nick Koston <nick@koston.org>

* Fix "Keep all disks and volumes forever" for empty import

* Fix prettier

* Remove useless LOGGER in config flow

* Fix Synology DSM tests doing I/O

Co-authored-by: J. Nick Koston <nick@koston.org>
2020-04-05 17:50:52 -05:00
J. Nick Koston
e3e2e817e5 Convert rachio to cloudhooks (#33724)
* Convert rachio to cloudhooks

* add cloud to after_dependencies
2020-04-05 15:47:27 -07:00
springstan
2e6108365e Remove global variable from sleepiq (#33715)
* Remove global variable from sleepiq

* Remove global variable from sleepiq v2

* Create constant file

* Move back time constant

* Update homeassistant/components/sleepiq/__init__.py

Co-Authored-By: Quentame <polletquentin74@me.com>

Co-authored-by: Quentame <polletquentin74@me.com>
2020-04-06 00:46:50 +02:00
springstan
67c3a4c970 Improve string formatting v7 (#33705) 2020-04-05 17:34:24 -05:00
J. Nick Koston
15f41c84f9 Fix rachio import of run time from yaml (#33723)
Importing from yaml would fail for rachio when
copying the manual run time to the option flow.
2020-04-05 15:25:31 -07:00
J. Nick Koston
d28b477f9a Fix nuheat response error checking (#33712)
This integration was checking request instead
of response for the error code.
2020-04-05 15:23:20 -07:00
Quentame
a16e742107 Fix iCloud tests doing I/O (#33721) 2020-04-05 15:21:22 -07:00
Ziv
5711c0882f Fix exception in zwave test (#33711)
would be better to not have it in there but mock has all attributes
2020-04-05 15:17:24 -07:00
Ziv
18e4493ca3 Ignore tplink tests exceptions (#33710) 2020-04-05 15:16:16 -07:00
springstan
60dd2213cf Remove global variable from apcupsd (#33717)
* Remove global variable from apcupsd

* Run isort

* Address review comments
2020-04-05 23:54:37 +02:00
springstan
00e67fb2c7 Remove global variable from scsgate (#33719)
* Remove global variable from scsgate

* Import CONF_SCS_ID in light.py

* Run isort

* Remove constant ATTR_STATE
2020-04-05 23:47:11 +02:00
springstan
40ce8f8c9c Remove global variable from arduino (#33718)
* Remove global variable from arduino

* Run isort
2020-04-05 23:27:58 +02:00
springstan
983ed8b8b4 Remove global variable from bloomsky (#33720) 2020-04-05 23:16:30 +02:00
springstan
b1326928df Remove global variable from aquostv (#33716) 2020-04-05 23:14:37 +02:00
J. Nick Koston
171c1b20f7 Remap homekit auto to home assistant heat_cool (#33701)
Home Assistant auto mode is described as
"The device is set to a schedule, learned behavior, AI."

HomeKit Accessory Protocol expects "heating or cooling to maintain
temperature within the heating and cooling threshold of the
target temperature"

Since HomeKit is expecting to set temperatures in this mode,
mapping homekit state 3 ("Auto") to Home Assistant HVAC_MODE_HEAT_COOL
is more inline with how Home Assistant defines HVAC_MODE_HEAT_COOL
as "The device supports heating/cooling to a range"
2020-04-05 15:54:57 -05:00
Franck Nijhof
0793b5ac62 Show diff in CI and cleanup pylintrc (#33704) 2020-04-05 20:51:36 +02:00
Aaron Bach
c8df5fb8ad Ensure SimpliSafe state sync when websocket falters (#33680) 2020-04-05 10:47:04 -06:00
Franck Nijhof
d33cf28936 Add check executables have shebangs (in pre-commit and CI) (#33703)
* Add check executables have shebangs (in pre-commit and CI)

* Fix file permissions

* Adjust Azure Pipelines
2020-04-05 18:45:43 +02:00
Franck Nijhof
f89c73d79d Recommend python & prettier vscode extensions (#33702) 2020-04-05 18:19:40 +02:00
Malachi Soord
3f0936f068 Prevent last.fm errors with None (#33446) 2020-04-05 18:03:13 +02:00
springstan
fca90a8ddc Improve string formatting v5 (#33697)
* Improve string formatting v5

* Address review comments
2020-04-05 17:48:55 +02:00
Franck Nijhof
39336d3ea3 Add prettier (in pre-commit and CI) (#33693)
* Add prettier (in pre-commit and CI)

* Make all file prettier

* Change order

* Add to Azure Pipelines

* Fix a YAML file prettier caught as invalid

* Remove flow mapping using curly braces from all YAML service files
2020-04-05 17:27:16 +02:00
springstan
e3bcfb88e7 Improve string formatting v4 (#33668)
* Improve string formatting v4

* Use normal strings instead of f-strings

* Fix zeroconf test by adding back part of a condition
2020-04-05 16:01:41 +02:00
J. Nick Koston
b855177fe6 Make homekit aware of STATE_STANDBY (#33679) 2020-04-05 08:47:44 -05:00
J. Nick Koston
de317fb2f6 Map dry and fan only states for homekit thermostats (#33682)
Homekit only has Off/Heat/Cool/Auto at this time, but
at least we can prevent the device from erroring
by mapping dry and fan to cool so it continues
to function.
2020-04-05 08:47:32 -05:00
Franck Nijhof
f38011560f Add pyupgrade (in pre-commit and CI) (#33688)
* Add pyupgrade (in pre-commit and CI)

* Fix leftover results of pyupgrade

* Ensure we run for Python 3.7 on pyupgrade
2020-04-05 12:49:57 +02:00
Paulus Schoutsen
5bf7e0fcc0 List dir when test fails (#33685) 2020-04-05 12:15:29 +02:00
Franck Nijhof
24840b54ac Add yamllint (in pre-commit and CI) (#33676)
* Add yamllint (in pre-commit and CI)

* Fix linting for all YAML files

* Bump and add it to requirements

* Fix gen_requirements for pre-commit, remove 'v' from version
2020-04-05 10:33:45 +02:00
Franck Nijhof
7653dc947a Enable pylint unnecessary-pass (#33650)
* Enable pylint unnecessary-pass

* Process review suggestions

* Fix smhi tests
2020-04-05 10:33:07 +02:00
Paulus Schoutsen
0f39296251 Bumped version to 0.108.0b3 2020-04-04 23:54:06 -07:00
J. Nick Koston
dd0fd36049 Handle float values for homekit lightning (#33683)
* Handle float values for homekit lightning

* Empty commit to rerun CI
2020-04-04 23:53:58 -07:00
jjlawren
30a391b88b Plex logging additions & cleanup (#33681) 2020-04-04 23:53:57 -07:00
Alexei Chetroi
71803cbdef Update zha dependencies (#33639) 2020-04-04 23:53:56 -07:00
Franck Nijhof
f5eafbe760 Bump twentemilieu to 0.3.0 (#33622)
* Bump twentemilieu to 0.3.0

* Fix tests
2020-04-04 23:53:12 -07:00
J. Nick Koston
52f710528f Handle race condition in harmony setup (#33611)
* Handle race condition in harmony setup

If the remote was discovered via ssdp before the yaml config import
happened, the unique id would already be set and the import
would abort.

* Update homeassistant/components/harmony/config_flow.py

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

* reduce

* black

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-04-04 23:52:27 -07:00
Chris Talkington
38b729b00a Use IP addresses instead of mDNS names when IPP discovered (#33610)
* use discovery resolved host rather than mdns host.

* Update __init__.py

* Update test_config_flow.py

* Update __init__.py

* Update test_init.py

* Update test_config_flow.py

* Update test_config_flow.py

* Update __init__.py

* Update __init__.py

* Update __init__.py

* Update test_init.py

* Update test_config_flow.py
2020-04-04 23:52:26 -07:00
Anders Melchiorsen
5dae7f8451 Identify more Sonos radio stations with poor titles (#33609) 2020-04-04 23:52:25 -07:00
Paulus Schoutsen
6a297b3758 Use IP addresses instead of mDNS names when wled discovered (#33608) 2020-04-04 23:52:25 -07:00
Paulus Schoutsen
ab7afbdaf7 Hass.io integration do not warn safe mode (#33600)
* Hass.io integration do not warn safe mode

* Better implementation

* Tweak log message
2020-04-04 23:52:24 -07:00
jjlawren
0763503151 Debounce calls to Plex server (#33560)
* Debounce calls to Plex server

* Simplify debounce by recommendation

* Update tests to handle debounce

* Test debouncer, fix & optimize tests

* Use property instead
2020-04-04 23:52:23 -07:00
J. Nick Koston
000ad256fb Handle float values for homekit lightning (#33683)
* Handle float values for homekit lightning

* Empty commit to rerun CI
2020-04-04 23:21:44 -07:00
jjlawren
d3a4270312 Plex logging additions & cleanup (#33681) 2020-04-04 23:21:20 -07:00
Michal Ziemski
8d3a415d07 Add OpenERZ API integration (#30441)
* Adding OpenERZ integration

* Added unit tests

* Linter fixes, better friendly_name handling

* Increase coverage

* Review fixes

* fixup! Review fixes

* Refactor to use external openerz-api library

* fixup! Refactor to use external openerz-api library

* fixup! Refactor to use external openerz-api library

* fixup! Refactor to use external openerz-api library

* fixup! Refactor to use external openerz-api library
2020-04-05 05:04:41 +02:00
Chris Talkington
927c2314c4 use async_on_remove for IPP Update Coordinator (#33596) 2020-04-04 21:42:51 -05:00
Franck Nijhof
528c7f4871 Removal of extraneous parenthesis in tests (#33670)
* Removal of extraneous parenthesis

* Process review suggestions

* Apply suggestions from code review

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-04-05 03:50:30 +02:00
Franck Nijhof
61b4d1e8de Small code style improvements to Insteon integration (#33662)
* Small code style improvements to Insteon integration

* Update homeassistant/components/insteon/utils.py

Co-Authored-By: Martin Hjelmare <marhje52@gmail.com>

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-04-05 02:58:10 +02:00
Franck Nijhof
b00b8ea0c1 Use byte literals instead of encode in tests (#33672) 2020-04-05 02:39:44 +02:00
Franck Nijhof
59f1a1be93 Replace OSError aliases with OSError in UVC test (#33673) 2020-04-05 02:21:47 +02:00
Franck Nijhof
262b01d632 Removal of old style class definitions in tests (#33671) 2020-04-05 02:21:07 +02:00
Franck Nijhof
03dd92d51b Use set literals in tests (#33669) 2020-04-05 02:20:09 +02:00
HomeAssistant Azure
d267d674b9 [ci skip] Translation update 2020-04-05 00:03:15 +00:00
springstan
c20a965eda Improve string formatting v3 (#33667)
* Improve string formatting v3

* Address review comment
2020-04-05 01:32:58 +02:00
Phil Bruckner
bf1b408038 Handle cancellation in ServiceRegistry.async_call (#33644) 2020-04-04 15:36:33 -07:00
Franck Nijhof
d7e9959442 String formatting improvements for tests (2) (#33666) 2020-04-05 00:33:07 +02:00
Franck Nijhof
906385172a String formatting improvements for tests (#33663) 2020-04-05 00:26:08 +02:00
shred86
1c25468b21 Add await to coroutines in Abode (#33664) 2020-04-05 00:19:59 +02:00
Ziv
c3c7b68cac Fix unhandled exceptions in dsmr (#33601)
* reordered the clearing of the closed Event so it can stay set at the end and not
leave a task waiting on close

* fixed the side effect so it returns one TimeoutError and after that success
Previously it reached the end of the single item list and threw an exception

* fixed the error. it doesn't happen on python 3.7.5 but CI is on 3.7.0

* fixed comment
2020-04-04 14:38:20 -07:00
Paulus Schoutsen
0a3ec6fea1 Correct Hue mireds for lights (#33597) 2020-04-04 14:29:03 -07:00
Franck Nijhof
feed139ae7 Small code style improvements to Alexa integration (#33660) 2020-04-04 14:20:48 -07:00
springstan
db72039b8f Use list literals (#33659) 2020-04-04 23:14:47 +02:00
springstan
dde93304d3 Improve string formatting v2 (#33645)
* Improve string formatting v2

* Improve string formatting v3

* Address review comments
2020-04-04 23:09:34 +02:00
Marcelo Moreira de Mello
d2e70eb967 Add attribution to Sense component (#33657) 2020-04-04 22:51:00 +02:00
Franck Nijhof
22ae498f3a Remove redundant open modes (#33652) 2020-04-04 22:49:15 +02:00
springstan
fddaea797e Use tuple literals (#33661) 2020-04-04 22:45:55 +02:00
springstan
0d95eff21d Use dict literals (#33658) 2020-04-04 22:31:56 +02:00
springstan
541e30d155 Remove unused manifest fields v2 (#33656) 2020-04-04 22:11:33 +02:00
Franck Nijhof
6f1900c6f4 Replace OSError aliases with OSError (#33655) 2020-04-04 22:09:11 +02:00
Franck Nijhof
03cae17992 Use str literals (#33654) 2020-04-04 22:08:49 +02:00
Franck Nijhof
886308a953 String formatting improvements (#33653) 2020-04-04 21:39:22 +02:00
springstan
ed71683488 Improve string formatting (#33643) 2020-04-04 20:17:11 +02:00
Franck Nijhof
71a47fc80c Enable pylint global-statement (#33641) 2020-04-04 20:10:55 +02:00
Franck Nijhof
187b6525b4 Removal of extraneous parenthesis (#33637) 2020-04-04 20:08:55 +02:00
Franck Nijhof
7d3c974747 Use set & dict literals (#33636)
Co-authored-by: Daniel Høyer Iversen <mail@dahoiv.net>
2020-04-04 20:05:15 +02:00
Franck Nijhof
d85222ad80 Use byte literals instead of encode (#33633) 2020-04-04 20:02:50 +02:00
Alexei Chetroi
39a01fcdc6 Update zha dependencies (#33639) 2020-04-04 12:58:43 -04:00
shred86
29d06e8faf Update legacy job calls in abode (#33607) 2020-04-04 11:30:00 -05:00
Franck Nijhof
e8a0abd107 String formatting improvements (#33635)
* String formatting improvements

* Found another one
2020-04-04 18:21:14 +02:00
J. Nick Koston
025cce3445 Handle race condition in harmony setup (#33611)
* Handle race condition in harmony setup

If the remote was discovered via ssdp before the yaml config import
happened, the unique id would already be set and the import
would abort.

* Update homeassistant/components/harmony/config_flow.py

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

* reduce

* black

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-04-04 10:19:58 -05:00
Franck Nijhof
b9b1cee403 Enable pylint import-outside-toplevel (#33631) 2020-04-04 17:07:36 +02:00
Franck Nijhof
9dfcae3dc2 Move imports to top for mystrom (#33629) 2020-04-04 16:09:49 +02:00
Franck Nijhof
29df8e546f Move imports to top for spc (#33628) 2020-04-04 15:49:29 +02:00
Franck Nijhof
f71125092f Move imports to top for doorbird (#33627) 2020-04-04 15:49:20 +02:00
Franck Nijhof
b112be3556 Move imports to top for danfoss_air (#33625) 2020-04-04 15:41:33 +02:00
Franck Nijhof
211ed3d596 Move imports to top in wirelesstag (#33624) 2020-04-04 15:35:27 +02:00
Franck Nijhof
46fa20411e Bump twentemilieu to 0.3.0 (#33622)
* Bump twentemilieu to 0.3.0

* Fix tests
2020-04-04 14:51:12 +02:00
David F. Mulcahey
debc1f78d4 Add zigbee information to ZHA device information (#33612)
* add zigbee signature to zha device info

* add typing

* use props and sort clusters

* review comment
2020-04-04 08:40:55 -04:00
Daniel Høyer Iversen
05192b7164 Support melcloud swing mode (#33008)
* melcloud, support for swing mode

* Update homeassistant/components/melcloud/climate.py

Co-Authored-By: Vilppu Vuorinen <vilppu.vuorinen@jubic.fi>

* Update homeassistant/components/melcloud/climate.py

Co-Authored-By: Vilppu Vuorinen <vilppu.vuorinen@jubic.fi>

* Update homeassistant/components/melcloud/climate.py

Co-Authored-By: Vilppu Vuorinen <vilppu.vuorinen@jubic.fi>

* Update homeassistant/components/melcloud/climate.py

Co-Authored-By: Vilppu Vuorinen <vilppu.vuorinen@jubic.fi>

Co-authored-by: Vilppu Vuorinen <vilppu.vuorinen@jubic.fi>
2020-04-04 14:07:36 +02:00
Vilppu Vuorinen
4a9f4f585d Update pymelcloud to fix broken area device search (#33620)
Devices assigned to areas in MELCloud were not available through the
integration due to client lib bug.
2020-04-04 13:56:48 +02:00
Ziv
0d05bd309a Fix uncaught exceptions in upnp (#33604)
removed also the yr tests that are already successful
2020-04-03 22:44:57 -07:00
Maciej Bieniek
b60527c986 Change the method of getting the mac address in the braviatv i… (#33567)
* Remove getmac library

* Fix error handling

* Change error handling method
2020-04-03 22:44:28 -07:00
Anders Melchiorsen
c628c2cef2 Identify more Sonos radio stations with poor titles (#33609) 2020-04-03 22:41:39 -07:00
Paulus Schoutsen
c6ba607c8c Use IP addresses instead of mDNS names when wled discovered (#33608) 2020-04-03 22:41:08 -07:00
Chris Talkington
07ae3f9ee9 Use IP addresses instead of mDNS names when IPP discovered (#33610)
* use discovery resolved host rather than mdns host.

* Update __init__.py

* Update test_config_flow.py

* Update __init__.py

* Update test_init.py

* Update test_config_flow.py

* Update test_config_flow.py

* Update __init__.py

* Update __init__.py

* Update __init__.py

* Update test_init.py

* Update test_config_flow.py
2020-04-03 22:36:46 -07:00
jjlawren
42353282d4 Debounce calls to Plex server (#33560)
* Debounce calls to Plex server

* Simplify debounce by recommendation

* Update tests to handle debounce

* Test debouncer, fix & optimize tests

* Use property instead
2020-04-03 22:34:42 -07:00
Paulus Schoutsen
1041dbe23c Hass.io integration do not warn safe mode (#33600)
* Hass.io integration do not warn safe mode

* Better implementation

* Tweak log message
2020-04-03 19:42:06 -07:00
HomeAssistant Azure
8a8ee95336 [ci skip] Translation update 2020-04-04 00:07:23 +00:00
cgtobi
851c1711d4 Reduce log spam (#33592)
* Reduce log spam

* Reduce log spam

* Revert
2020-04-03 14:01:24 -07:00
Paulus Schoutsen
f1d3c0d19b Remove unused manifest fields (#33595) 2020-04-03 12:58:19 -07:00
cgtobi
cd300f54a8 Add Home Coach to zeroconf detection (#33593) 2020-04-03 11:59:27 -07:00
Paulus Schoutsen
dc7127aacf Data Coordinator to return unsub func (#33588) 2020-04-03 20:15:42 +02:00
Paulus Schoutsen
4ead87270e Bumped version to 0.108.0b2 2020-04-03 10:48:05 -07:00
Aaron Bach
d1663f2733 Perform some small Flu Near You cleanup (#33590) 2020-04-03 19:47:42 +02:00
Bram Kragten
1634592d90 Updated frontend to 20200403.0 (#33586) 2020-04-03 10:46:55 -07:00
Bram Kragten
ddddd8566d Add default delay to Harmony config entries (#33576) 2020-04-03 10:46:24 -07:00
Franck Nijhof
5cf2043c04 Bump adguardhome to 0.4.2 (#33575) 2020-04-03 10:46:23 -07:00
Jc2k
43777ace20 Fix browsing regression (#33572) 2020-04-03 10:46:22 -07:00
Maciej Bieniek
a7e5cc31c3 Bump gios library to version 0.1.1 (#33569) 2020-04-03 10:46:22 -07:00
Maciej Bieniek
aa6520cac1 Fix source name (#33565) 2020-04-03 10:46:21 -07:00
Fabian Affolter
af10cd315e Upgrade luftdaten to 0.6.4 (#33564) 2020-04-03 10:46:20 -07:00
Eugenio Panadero
ef28bcaa9c Identify cameras in error logs for generic and mjpeg cameras (#33561) 2020-04-03 10:46:19 -07:00
jjlawren
ff3bfade31 Plex followup to #33542 (#33558) 2020-04-03 10:46:18 -07:00
J. Nick Koston
4eafd8adf7 Add missing flow_title to doorbird (#33557)
When placeholders are in use, flow_title needs to be
set in the json to prevent an empty name in the
integrations dashboard. This affected doorbirds
that were found via ssdp.
2020-04-03 10:46:17 -07:00
Paulus Schoutsen
cb5de0e090 Convert TTS tests to async (#33517)
* Convert TTS tests to async

* Address comments
2020-04-03 10:46:17 -07:00
ollo69
254394ecab Fix asuswrt network failure startup (#33485)
* Fix network failure startup

Fix for issue ##33284 - Asuswrt component fail at startup after power failure

* Removed comment

* Removed bare except

* is_connected moved out try-catch

* Removed pointless-string-statement

* Raise PlatformNotReady on "not is_connected"

* Removed unnecessary check

* Revert "Removed unnecessary check"

This reverts commit a2ccddab2c4b1ba441f1d7482d802d9774527a26.

* Implemented custom retry mechanism

* Fix new line missing

* Fix formatting

* Fix indent

* Reviewed check

* Recoded based on tibber implementation

* Formatting review

* Changes requested

* Fix tests for setup retry

* Updated missing test

* Fixed check on Tests

* Return false if not exception

* Format correction
2020-04-03 10:46:16 -07:00
J. Nick Koston
e4e0c37a8c Use homekit service callbacks for lights to resolve out of sync states (#32348)
* Switch homekit lights to use service callbacks

Service callbacks allow us to get the on/off, brightness, etc
all in one call so we remove all the complexity that was
previously needed to handle the out of sync states

We now get the on event and brightness event at the same time
which allows us to prevent lights from flashing up to 100%
before the requested brightness.

* Fix STATE_OFF -> STATE_ON,brightness:0
2020-04-03 10:46:15 -07:00
Bram Kragten
6f7bd673fb Updated frontend to 20200403.0 (#33586) 2020-04-03 10:32:00 -07:00
Erik Montnemery
3a74066529 Small cleanup in async_process_ha_core_config (#33583) 2020-04-03 09:44:20 -07:00
shred86
b8e9e3af2f Add Abode entity available property (#32923)
* Add available property and raise exception

* Add entity available property

* Refactoring and fixes

* Refactoring and fix for multi sensor

* Bump abodepy version
2020-04-03 11:08:32 -05:00
Erik Montnemery
4e6fd19624 Improve MQTT test coverage and remove dead code (#33584)
* Improve MQTT tests and remove dead code

* Remove useless test.

* Add more test
2020-04-03 09:05:58 -07:00
Paul Beckcom
a813847f6e Automatic: fix OAuth2 redirect (#33581)
Integration configuration cannot complete as it is currently looking for /states after authentication.  Replacing with /lovelace to allow the script to complete after successful authentication with Automatic.
2020-04-03 08:45:33 -07:00
Vilppu Vuorinen
066254afdf Fix vertical/horizontal property mixup in melcloud (#33580) 2020-04-03 17:45:09 +02:00
Andrey Kupreychik
912eb321d9 Add support for Mi AirPurifier 3 (#31729)
* Adding support for Mi AirPurifier 3

* Adding support for Mi AirPurifier 3H

* Enabled setting fan level for AirPurifier 3/3H

* Get rid of isinstance for MIOT AirPurifier

* Bumping xiaomi-miio dependency

* Fixed lint error

* Update manifest.json

* Fixed requirements files for 0.5.0.1

Co-authored-by: Piotr Król <Piotr@gorszyportal.pl>
2020-04-03 16:32:18 +02:00
Maciej Bieniek
c0315e32bd Fix source name (#33565) 2020-04-03 16:10:14 +02:00
Franck Nijhof
dd37c3f447 Bump adguardhome to 0.4.2 (#33575) 2020-04-03 15:51:28 +02:00
Bram Kragten
54dd77fe88 Add default delay to Harmony config entries (#33576) 2020-04-03 15:39:22 +02:00
Fabian Affolter
c8e0daee24 Upgrade cryptography to 2.9 (#33571) 2020-04-03 15:19:52 +02:00
FlavorFx
b7dd8cdf50 Add unique id and show on map option in Tankerkoenig (#33400)
* Add unique id to set friendly name by UI

* Add ShowOnMap flag to show each/hide entity on map

* Update homeassistant/components/tankerkoenig/sensor.py

Co-Authored-By: guillempages <guillempages@users.noreply.github.com>

* Update homeassistant/components/tankerkoenig/sensor.py

Co-Authored-By: guillempages <guillempages@users.noreply.github.com>

* Update homeassistant/components/tankerkoenig/sensor.py

Co-Authored-By: guillempages <guillempages@users.noreply.github.com>

* Update homeassistant/components/tankerkoenig/sensor.py

Co-Authored-By: guillempages <guillempages@users.noreply.github.com>

* Update homeassistant/components/tankerkoenig/sensor.py

* Update homeassistant/components/tankerkoenig/__init__.py

* Update homeassistant/components/tankerkoenig

* Update homeassistant/components/tankerkoenig

* Update homeassistant/components/tankerkoenig/sensor.py

* Update homeassistant/components/tankerkoenig/sensor.py

Co-authored-by: guillempages <guillempages@users.noreply.github.com>
2020-04-03 08:14:42 -05:00
ollo69
62835f0536 Fix asuswrt network failure startup (#33485)
* Fix network failure startup

Fix for issue ##33284 - Asuswrt component fail at startup after power failure

* Removed comment

* Removed bare except

* is_connected moved out try-catch

* Removed pointless-string-statement

* Raise PlatformNotReady on "not is_connected"

* Removed unnecessary check

* Revert "Removed unnecessary check"

This reverts commit a2ccddab2c4b1ba441f1d7482d802d9774527a26.

* Implemented custom retry mechanism

* Fix new line missing

* Fix formatting

* Fix indent

* Reviewed check

* Recoded based on tibber implementation

* Formatting review

* Changes requested

* Fix tests for setup retry

* Updated missing test

* Fixed check on Tests

* Return false if not exception

* Format correction
2020-04-03 15:02:48 +02:00
Jc2k
730d90fb8c Fix browsing regression (#33572) 2020-04-03 14:36:10 +02:00
Fabian Affolter
eccab375a2 Upgrade Mastodon.py to 1.5.1 (#33243)
* Upgrade Mastodon.py to 1.5.1

* Remove left-overs
2020-04-03 12:06:28 +02:00
Maciej Bieniek
b5c89b4ef4 Bump gios library to version 0.1.1 (#33569) 2020-04-03 11:58:37 +02:00
Fabian Affolter
2d751c1edd Upgrade luftdaten to 0.6.4 (#33564) 2020-04-03 11:13:48 +02:00
Eugenio Panadero
d1c1aa518d Identify cameras in error logs for generic and mjpeg cameras (#33561) 2020-04-03 10:11:08 +02:00
Robert Van Gorkom
ae22b5187a Add vera config entries support (#29880)
* Adding vera config entries support.

* Fixing lint error.

* Applying minimal changes necessary to get config entries working.

* Addressing PR feedback by further reducing the scope of the change.

* Addressing PR feedback.

* Fixing pyvera import to make it easier to patch.
Addressing PR feedback regarding creation of controller and scheduling of async config flow actions.

* Updating code owners file.

* Small fixes.

* Adding a user config flow step.

* Adding optional configs for user config flow.

* Updating strings to be more clear to the user.

* Adding options flow.
Fixing some PR feedback.

* Better handling of options.
PR feedback changes.

* Using config registry to update config options.

* Better managing config from file or config from UI
Disabling config through UI if config is provided from a file.
More tests to account for these adjustments.

* Address PR feedback.

* Fixing test, merging with master.

* Disabling all Vera UI for configs managed by configuration.yml.
Adding more tests.

* Updating config based on unique_id.
Addressing additional PR feedback.

* Rebasing off dev.
Addressing feedback.

* Addressing PR feedback.
2020-04-03 09:49:50 +02:00
Paulus Schoutsen
aef06a3544 Directly call write state 2 (#33513)
* Directly call async_write_ha_state pt2

* Directly call async_write_ha_state pt2

* Fix mock

* Address comments
2020-04-03 09:34:50 +02:00
akasma74
83cc871edf Add force_update to timer integration (#31646)
* force_update added

As per this discussion we need to update last_changed when active timer restarted.
One way to do that is to force HA update the state on each request even if it remains the same.
More details here - https://github.com/home-assistant/architecture/issues/345

* add test for force_update

make sure state_change event fired every time timer (re)started

* remove whitespaces

* remove whitespace

* Update tests/components/timer/test_init.py

Co-Authored-By: Alexei Chetroi <lexoid@gmail.com>

* fix lint

* fix isort

Co-authored-by: Alexei Chetroi <lexoid@gmail.com>
2020-04-02 23:48:41 -07:00
J. Nick Koston
d2cd557523 Add missing flow_title to doorbird (#33557)
When placeholders are in use, flow_title needs to be
set in the json to prevent an empty name in the
integrations dashboard. This affected doorbirds
that were found via ssdp.
2020-04-02 21:02:50 -07:00
jjlawren
d98171ed05 Plex followup to #33542 (#33558) 2020-04-02 21:02:27 -07:00
Brian Rogers
2065039f65 Rachio Async fixes (#33549)
* Async fix

* Update homeassistant/components/rachio/switch.py

Co-Authored-By: J. Nick Koston <nick@koston.org>

* Update homeassistant/components/rachio/switch.py

Co-Authored-By: J. Nick Koston <nick@koston.org>

* Fix format

* Remove from hass

* undo dispatcher

Co-authored-by: J. Nick Koston <nick@koston.org>
2020-04-02 20:55:17 -07:00
Raman Gupta
081b822d25 Add support for Vizio sound mode (#33200)
* add sound mode support for devices that support it

* make setting and unsetting flag better

* move eq and audio settings into constants

* fix missed statement to use constant instead of hardcoded string

* further fixes based on review

* bump pyvizio version to include newly identified app
2020-04-02 22:48:19 -04:00
J. Nick Koston
f25321e010 Use homekit service callbacks for lights to resolve out of sync states (#32348)
* Switch homekit lights to use service callbacks

Service callbacks allow us to get the on/off, brightness, etc
all in one call so we remove all the complexity that was
previously needed to handle the out of sync states

We now get the on event and brightness event at the same time
which allows us to prevent lights from flashing up to 100%
before the requested brightness.

* Fix STATE_OFF -> STATE_ON,brightness:0
2020-04-02 20:06:13 -05:00
Paulus Schoutsen
e27d5cd9fb Bumped version to 0.108.0b1 2020-04-02 17:12:52 -07:00
Chris Talkington
6f449cd383 Update to pyipp==0.8.3 (#33554)
* Update manifest.json

* Update requirements_all.txt

* Update requirements_test_all.txt
2020-04-02 17:10:42 -07:00
Chris Talkington
d47cef4ba2 Bump pyipp to 0.8.2 (#33544) 2020-04-02 17:10:41 -07:00
jjlawren
a8da03912e Temporary Plex play_media workaround (#33542)
* Temporary playMedia() workaround on plexapi 3.3.0

* Use constants for strings

* Style cleanup
2020-04-02 17:10:40 -07:00
Paulus Schoutsen
8f233b822f Mark new gate device class as 2FA (#33541) 2020-04-02 17:10:40 -07:00
J. Nick Koston
060c6c89e3 Bump HAP-python to 2.8.0 (#33539) 2020-04-02 17:10:39 -07:00
J. Nick Koston
96dc0319d8 Ensure harmony hub is ready before importing (#33537)
If the harmony hub was not ready for connection or
was busy when importing from yaml, the import validation
would fail would not be retried.

To mitigate this scenario we now do the validation in
async_setup_platform which allows us to raise
PlatformNotReady so we can retry later.
2020-04-02 17:10:38 -07:00
Erik Montnemery
08b0c1178b Fix MQTT cleanup regression from #32184. (#33532) 2020-04-02 17:10:37 -07:00
Martin Hjelmare
252c724602 Clarify light reproduce state deprecation warning (#33531) 2020-04-02 17:10:37 -07:00
Maciej Bieniek
c529bcca9b Bump brother to 0.1.11 (#33526) 2020-04-02 17:10:36 -07:00
Chris Talkington
9b94d128ad Update to roku==4.1.0 (#33520)
* Update manifest.json

* Update requirements_test_all.txt

* Update requirements_all.txt
2020-04-02 17:10:36 -07:00
AJ Schmidt
9c224e0515 Remove extraneous parameter from AlarmDecoder services (#33516) 2020-04-02 17:10:35 -07:00
cgtobi
899e7bfb5a Fix netatmo device unavailable and services (#33509)
* Handle unavailabe entities

* Remove some logging

* Set valve to lowest temp when turned off

* Remove some logging

* Address comments

* Report entity as connected if update is successful

* Fix stupidness

* Fix
2020-04-02 17:10:34 -07:00
Jonathan Keljo
ef5f4b2aca Enable sisyphus to recover from bad DNS without restart (#32846) 2020-04-02 17:10:33 -07:00
Chris Talkington
2b0bdd580c Update to pyipp==0.8.3 (#33554)
* Update manifest.json

* Update requirements_all.txt

* Update requirements_test_all.txt
2020-04-02 17:09:38 -07:00
HomeAssistant Azure
08c9ceb752 [ci skip] Translation update 2020-04-03 00:04:03 +00:00
Teemu R
e64104300f Use backend-provided fan speed presets for Xiaomi vacuums, bum… (#32850)
* Use backend-provided fan speed presets for Xiaomi vacuums

This needs input from Xiaomi vacuum owners to verify that it does not break anything.
I have personally tested this on rockrobo v1 (old mapping).

Related issues/PRs:
home-assistant/core#32821
home-assistant/core#31268
home-assistant/core#27268

This is a WIP as it requires a new upstream release.
The PR is https://github.com/rytilahti/python-miio/pull/643

* Bump version requirement for 0.5.0

* Bump requirements_test_all.txt, too

* Fix linting; missing setup.cfg on local checkout caused wrong settings for black..

* Add tests for both fan speed types

* Remove useless else..

* bump python-miio to 0.5.0.1 due to broken 0.5.0 packaging
2020-04-02 16:55:44 -07:00
Aaron Bach
cb058ff6c0 Add config entry for Flu Near You (#32858)
* Add config flow for Flu Near You

* Cleanup

* Cleanup

* Add tests

* Add test requirements

* Code review

* Reduce unnecessary async-ness

* Handle API registration

* Cleanup

* Update homeassistant/components/flunearyou/.translations/en.json

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

* Code review

* Ensure config schema allows additional keys

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-04-02 16:54:11 -07:00
jjlawren
55870aec31 Temporary Plex play_media workaround (#33542)
* Temporary playMedia() workaround on plexapi 3.3.0

* Use constants for strings

* Style cleanup
2020-04-02 16:47:58 -07:00
Erik Montnemery
3df46cd70a Remove MQTT state vacuum value_template support. (#33536)
* Fix MQTT state vacuum value_template support.

* Remove support for state_template
2020-04-02 16:46:18 -07:00
J. Nick Koston
9165ea5fbd Revert "Add support to the Econet integration for new attributes: lower_temp, upper_temp, ambient_temp & is_enabled (#33363)" (#33555)
This reverts commit a30e217bb5.
2020-04-02 18:23:45 -05:00
Richard Powell
a30e217bb5 Add support to the Econet integration for new attributes: lower_temp, upper_temp, ambient_temp & is_enabled (#33363) 2020-04-02 18:07:21 -05:00
Ziv
f2dad7905d fixed uncaught exceptions for tradfri (#33550)
was caused by device_info being mocks, so write to storage failed
2020-04-03 00:55:04 +02:00
Alistair Galbraith
3db9d6a6aa Fix template light returning NULL in color or temperature (#33498)
* Support for returning NULL in color or temperature. Fixes #33469

* Added further support for ‘None’ returns in level template

* Removed assumption that template render may not be a string

* Streamlined code per cloud pylint

* Updates per code review suggestions

* Added improved error handling and logging for brightness

* Additional exception handling for temperature
2020-04-02 17:41:19 -05:00
Ziv
8fbdc703e0 Fix uncaught exceptions for mqtt (#33547)
now all mqtt tests pass
2020-04-02 15:18:30 -07:00
David F. Mulcahey
201e958854 Use mock storage for MQTT tests (#33553)
* mock storage for MQTT

* more mqtt storage mocks
2020-04-02 17:13:44 -05:00
J. Nick Koston
36a606f81d Bump HAP-python to 2.8.0 (#33539) 2020-04-02 23:09:35 +02:00
Chris Talkington
b719a77503 Bump pyipp to 0.8.2 (#33544) 2020-04-02 22:46:31 +02:00
Paulus Schoutsen
6afe6acb6c Mark new gate device class as 2FA (#33541) 2020-04-02 22:02:59 +02:00
Vilppu Vuorinen
4b2c45e668 Add melcloud AtaDevice vane control (#32672)
* Add melcloud AtaDevice vane control

* Return empty dict when no vane states available

Co-Authored-By: springstan <46536646+springstan@users.noreply.github.com>

* Use constants for services and conf

* Split state attribute assignment and fix suggested changes

* Log valid positions when called with an invalid position

* Improve service description

Co-Authored-By: springstan <46536646+springstan@users.noreply.github.com>

Co-authored-by: springstan <46536646+springstan@users.noreply.github.com>
2020-04-02 21:56:41 +02:00
Brian Rogers
4caf65dc97 Add Rachio Flex Schedules (#33533)
* Add Rachio Flex Schedules

* Remove Duration Property

* Missed duration call

* Black formatting
2020-04-02 13:43:40 -05:00
Ziv
39408ab240 Add cover platform to Dynalite (#32594)
* lib version

* unit-test refactoring

* added type hints

* added cover

* added test to see that consts have the same value as library consts

* Update tests/components/dynalite/test_init.py

Co-Authored-By: Martin Hjelmare <marhje52@gmail.com>

* removed trigger template

* Update homeassistant/components/dynalite/__init__.py

Co-Authored-By: Martin Hjelmare <marhje52@gmail.com>

* Update homeassistant/components/dynalite/const.py

Co-Authored-By: Martin Hjelmare <marhje52@gmail.com>

* removed CONF_TRIGGER from const
corrected type hints - not clear why mypy didn't catch it

* conversion of the config to library CONFs

* moved to use the value since it should come from the library

* taking CONF_HOST from homeassistant.const instead of module const

* use dict.get
removed leftover log

* force device_class to be from homeassistant consts

* move dict.get to inline

* removed CONF from values
changed "channelcover" to "channel_cover"

* moved some CONF values out of const.py and taking them from homeassistant.const

* verifying that device class is a valid HA device class

* moved shutter to home assistant const

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-04-02 20:26:36 +02:00
mvn23
1d89d22a38 Update pyotgw to 0.6b1 (#33529) 2020-04-02 10:29:41 -07:00
David F. Mulcahey
8b0a0ee521 Don't write storage to disk while stopping (#33456)
* Don't write storage to disk while stopping

* rework change

* lint

* remove delay save and schedule final write at stop

* update tests

* fix test component using private methods

* cleanup

* always listen

* use stop in restore state again

* whitelist JSON exceptions for later

* review comment

* make zwave tests use mock storage
2020-04-02 10:25:28 -07:00
AJ Schmidt
9fd0192441 Remove extraneous parameter from AlarmDecoder services (#33516) 2020-04-02 10:22:54 -07:00
Chris Talkington
30fd9950e2 Add remote platform to directv (#32790)
* add remote platform to directv.

* Update __init__.py

* Update .coveragerc

* Rename remote py to remote.py

* Update remote.py

* squash.

* Update remote.py

* squash.

* Update remote.py
2020-04-02 10:18:53 -07:00
Paulus Schoutsen
b10319f69e Convert TTS tests to async (#33517)
* Convert TTS tests to async

* Address comments
2020-04-02 18:55:34 +02:00
Martin Hjelmare
1d2713b0ea Clarify light reproduce state deprecation warning (#33531) 2020-04-02 09:52:46 -07:00
Erik Montnemery
457d439e24 Fix MQTT cleanup regression from #32184. (#33532) 2020-04-02 09:52:05 -07:00
J. Nick Koston
590e714021 Ensure harmony hub is ready before importing (#33537)
If the harmony hub was not ready for connection or
was busy when importing from yaml, the import validation
would fail would not be retried.

To mitigate this scenario we now do the validation in
async_setup_platform which allows us to raise
PlatformNotReady so we can retry later.
2020-04-02 09:46:10 -07:00
Paulus Schoutsen
4ebbabcdd1 Unsub dispatcher when removing entity from hass (#33510)
* Unsub dispatcher when removing entity from hass

* Update homeassistant/components/plaato/sensor.py

Co-Authored-By: Martin Hjelmare <marhje52@gmail.com>

* Update homeassistant/components/volvooncall/__init__.py

Co-Authored-By: Martin Hjelmare <marhje52@gmail.com>

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-04-02 09:25:33 -07:00
Robert Svensson
314bc07cee UniFi - Make POE control switches configurable (#32781)
* Allow control whether POE switches are to be created or not

* Fix options flow and test
2020-04-02 17:53:33 +02:00
cgtobi
23e091696e Fix netatmo device unavailable and services (#33509)
* Handle unavailabe entities

* Remove some logging

* Set valve to lowest temp when turned off

* Remove some logging

* Address comments

* Report entity as connected if update is successful

* Fix stupidness

* Fix
2020-04-02 17:35:25 +02:00
Jonathan Keljo
f8f05c4d0d Enable sisyphus to recover from bad DNS without restart (#32846) 2020-04-02 16:33:54 +02:00
Maciej Bieniek
5a55d50879 Bump brother to 0.1.11 (#33526) 2020-04-02 13:52:03 +02:00
mvn23
58ae117bb4 Add availability to opentherm_gw entities (#32408)
* Add availability to opentherm_gw entities

* Address PR comment
2020-04-02 11:28:39 +02:00
Chris Talkington
be3cf52613 Update to roku==4.1.0 (#33520)
* Update manifest.json

* Update requirements_test_all.txt

* Update requirements_all.txt
2020-04-02 10:09:59 +02:00
Pascal Vizeli
e28bcb52d9 Update azure-pipelines-wheels.yml for Azure Pipelines 2020-04-02 09:38:43 +02:00
HomeAssistant Azure
4a4496b21d [ci skip] Translation update 2020-04-02 00:04:41 +00:00
Paulus Schoutsen
7ae802bb0d Cloud do checks during setup (#33507)
* Update cloud to do more tasks during async_setup

* Upgrade hass_nabucasa to 0.33
2020-04-01 15:25:04 -07:00
Paulus Schoutsen
aaa1d06809 Directly call async_write_ha_state (#33508)
* Directly call async_write_ha_state

* Address comments

* Fix tests
2020-04-01 14:19:51 -07:00
Pascal Vizeli
4e043b3123 Update azure-pipelines-wheels.yml for Azure Pipelines 2020-04-01 22:11:29 +02:00
Brian Rogers
775010f160 Add Rachio Schedules (#33421)
* Add Rachio Scheudles

* Add Rachio Schedules

* Revert "Add Rachio Schedules"

This reverts commit ffe1e3d1c2.

* Revert "Add Rachio Scheudles"

This reverts commit a015ec4a19.

* Add Rachio Schedules

* Update Logger

* Remove person

* Remove unneeded call

* Black

* Fix typo

* fix lint

* Replace old commits

* Revert "Replace old commits"

This reverts commit cc8a2a332a.

* Replace Schedules

* Fix Tests

* Missing unsubscribe

* Update homeassistant/components/rachio/switch.py

Co-authored-by: J. Nick Koston <nick@koston.org>
2020-04-01 14:27:56 -05:00
Franck Nijhof
e86fb3fc5c Bumped version to 0.108.0b0 2020-04-01 20:49:35 +02:00
Erik Montnemery
fbd197146a Add MQTT debug info for remaining MQTT integrations (#33506) 2020-04-01 11:48:32 -07:00
Paulus Schoutsen
c63ec698a1 Update translations 2020-04-01 11:43:30 -07:00
Eugenio Panadero
71aaf2d809 Add device triggers for Hue remotes (#33476)
* Store device_registry entry id in HueEvent

so it can be retrieved with that key when using device triggers

* Add device_trigger for hue_event from hue remotes

* supporting Hue dimmer switch & Hue Tap
* State mapping and strings are copied from deCONZ

* refactor mock_bridge for hue tests

and also share `setup_bridge_for_sensors`
for test_sensor_base and test_device_trigger.

* Add tests for device triggers with hue remotes

* Remove some triggers
2020-04-01 11:42:22 -07:00
Bram Kragten
400602a8b3 Updated frontend to 20200401.0 (#33505) 2020-04-01 11:27:01 -07:00
J. Nick Koston
4a32a0f1da Expand network util to check for link local addresses (#33499) 2020-04-01 11:24:30 -07:00
springstan
0cf9268ca8 Fix invalid directory for dnsmasq files in asuswrt (#33503) 2020-04-01 11:04:44 -07:00
Erik Montnemery
fb93b79b12 Add MQTT debug info (#33461)
* Add MQTT debug info

* Tweaks

* Tweaks
2020-04-01 10:00:40 -07:00
Alexei Chetroi
eff9b2a1a0 Clean up ZHA channel reporting configuration (#33497) 2020-04-01 11:35:48 -04:00
Ziv
4dbbf93af9 Replace asyncio.wait with asyncio.gather since wait ignores exceptions (#33380)
* replace asyncio.wait with asyncio.gather since wait ignores exceptions
fix for test_entity_platform so it expects the exception

* changed to log on failed domains

* discovered that this fix actually removes other uncaught exceptions

* fix in the list of ignored exceptions

* replaced a few ignores on dyson tests that work locally but fail in the CI

* two more tests that are failing on the CI and not locally

* removed assertion on multiple entries with same unique_id - replaced with log and return
reverted test_entity_platform to its original since now there is no exception thrown

* entered all the dyson tests. they all pass locally and probabilistically fail in the CI

* removed unnecessary str() for exception

* added log message for duplicate entity_id / unique_id

* removed log in case of False return value

* added exc_info

* change the use of exc_info
2020-04-01 07:09:13 -07:00
David F. Mulcahey
3d73f166be Correct issue on new device joins in ZHA (#33470) 2020-04-01 14:41:16 +02:00
Alexei Chetroi
0e6aacb440 Bump up zha dependencies. (#33488) 2020-03-31 23:33:05 -04:00
J. Nick Koston
cc443ff37a Add config flow for nut (#33457)
* Convert nut to config flow

* Add a test for importing

* lint

* Address review items (part 1)

* Address review items (part 1)

* Cleanup unique id handling

* Update tests for new naming scheme

* No unique id, no device_info

* Remove sensor types

* Update tests to use resources that still exist
2020-03-31 19:08:27 -07:00
HomeAssistant Azure
2cfa0af532 [ci skip] Translation update 2020-04-01 00:05:04 +00:00
Chris Talkington
83fb5e5071 Apply recommendations from IPP review (#33477)
* Update test_config_flow.py

* Update test_config_flow.py

* lint.
2020-03-31 16:40:07 -07:00
Kit Klein
955c94e313 allow overriding host api url in config flow (#33481)
* allow overriding host api url in config flow

* fix typo

* capitalize URL
2020-03-31 15:50:37 -07:00
Chris Talkington
b892dbc6ea Refactor DirecTV Integration to Async (#33114)
* switch to directv==0.1.1

* work on directv async.

* Update const.py

* Update __init__.py

* Update media_player.py

* Update __init__.py

* Update __init__.py

* Update __init__.py

* Update media_player.py

* Update test_config_flow.py

* Update media_player.py

* Update media_player.py

* work on tests and coverage.

* Update __init__.py

* Update __init__.py

* squash.
2020-03-31 15:35:32 -07:00
J. Nick Koston
3566803d2e Fix setting zone overlays for tados that support swing (#33439)
* Fix setting zone overlays for tados that support swing

* Support for changing swing mode will come at a later
time as another upstream update is required.

* remove debug

* style
2020-03-31 17:29:45 -05:00
Ron Klinkien
774b1d1663 Enable KNX tunnel auto_reconnect by default (#33387)
* Added tunnel reconnect functionality

* Code improvements

* Update homeassistant/components/knx/__init__.py

Co-Authored-By: springstan <46536646+springstan@users.noreply.github.com>

* Enable auto_reconnect for tunnels by default

Co-authored-by: springstan <46536646+springstan@users.noreply.github.com>
2020-04-01 00:22:20 +02:00
J. Nick Koston
90dd796644 Prepare rachio for cloudhooks conversion (#33422)
Reorganize code in order to prepare for webhooks
2020-03-31 14:46:30 -07:00
J. Nick Koston
a473ae6711 Ignore link local addresses during doorbird ssdp config flow (#33401) 2020-03-31 14:20:29 -07:00
Chris Caron
be99f3bf32 Bumped Apprise version to v0.8.5 (#33473) 2020-03-31 22:30:27 +02:00
Raman Gupta
5047635224 update VIZIO name to match brand guidelines (#33465) 2020-03-31 22:28:08 +02:00
J. Nick Koston
e6ed2f0377 Add version and device type to powerwall device_info (#33453)
* Add version and device type to powerwall device_info

* Upstream powerwall now supports a http_session
2020-03-31 12:55:50 -07:00
Franck Nijhof
b88f56cbfb Merge branch 'master' into dev 2020-03-31 21:07:45 +02:00
Paulus Schoutsen
06216a8a45 Google Assistant: parallize as many requests as possible (#33472)
* Google Assistant: parallize as many requests as possible

* Fix double comment
2020-03-31 12:01:31 -07:00
J. Nick Koston
f085a0c54a Retry sense setup later if listing devices times out. (#33455) 2020-03-31 11:59:03 -07:00
J. Nick Koston
b783aab41b Add binary sensor for myq gateway connectivity (#33423) 2020-03-31 11:58:44 -07:00
J. Nick Koston
12b408219e Improve handling of nuheat switching states (#33410)
* The api reports success before the state change
takes effect

* We now set state optimistically and followup with
an update 4 seconds in the future after any state change to
verify it actually happens.

* When hvac_mode is passed to the set_temperature service
we now switch to the desired mode.
2020-03-31 11:55:13 -07:00
J. Nick Koston
6cafc9aaef Add humidity support to homekit thermostats (#33367) 2020-03-31 11:45:33 -07:00
Eugenio Panadero
f5cbc9d208 Fire events for hue remote buttons pressed (#33277)
* Add remote platform to hue integration

supporting ZGPSwitch, ZLLSwitch and ZLLRotary switches.

* Ported from custom component Hue-remotes-HASS from @robmarkcole

* Add options flow for hue, to toggle handling of sensors and remotes

* Sensors are enabled by default, and remotes are disabled,
  to not generate any breaking change for existent users.
  Also, when linking a new bridge these defaults are used,
  so unless going explicitly to the Options menu,
  the old behavior is preserved.
* SensorManager stores the enabled platforms and ignores everything else.
* Bridge is created with flags for `add_sensors` and `add_remotes`,
  and uses them to forward entry setup to only the enabled platforms.
* Update listener removes disabled kinds of devices when options are changed,
  so device list is in sync with options, and disabled kinds disappear from HA,
  leaving the enable/disable entity option for individual devices.

* Fix hue bridge mock with new parameters

* Revert changes in hue bridge mock

* Remove OptionsFlow and platform flags

* Extract `GenericHueDevice` from `GenericHueSensor`

to use it as base class for all hue devices, including those without any entity,
like remotes without battery.

* Add `HueBattery` sensor for battery powered remotes

and generate entities for TYPE_ZLL_ROTARY and TYPE_ZLL_SWITCH remotes.

* Remove remote platform

* Add HueEvent class to fire events for button presses

* Use `sensor.lastupdated` string to control state changes
* Event data includes:
  - "id", as pretty name of the remote
  - "unique_id" of the remote device
  - "event", with the raw code of the pressed button
    ('buttonevent' or 'rotaryevent' property)
  - "last_updated", with the bridge timestamp for the button press
* Register ZGP_SWITCH, ZLL_SWITCH, ZLL_ROTARY remotes

* fix removal

* Exclude W0611

* Extract GenericHueDevice to its own module

and solve import tree, also fixing lint in CI

* Store registered events to do not repeat device reg

* Minor cleaning

* Add tests for hue_event and battery entities for hue remotes
2020-03-31 10:27:30 -07:00
Jeff McGehee
dd1608db0d Best effort state initialization of bayesian binary sensor (#30962)
* Best effort state initialization of bayesian binary sensor.

Why:

* https://github.com/home-assistant/home-assistant/issues/30119

This change addresses the need by:

* Running the main update logic eagerly for each entity being observed
  on `async_added_to_hass`.
* Test of the new behavior.

* Refactor in order to reduce number of methods with side effects that
mutate instance attributes.

* Improve test coverage

Why:

* Because for some reason my commits decreased test coverage.

This change addresses the need by:

* Adding coverage for the case where a device returns `STATE_UNKNOWN`
* Adding coverage for configurations with templates

* rebase and ensure upstream tests passed

* Delete commented code from addressing merge conflict.
2020-03-31 10:41:29 -06:00
Eugenio Panadero
f2f03cf552 Fix deconz tests that have uncaught exceptions (#33462) 2020-03-31 11:19:34 -05:00
Eugenio Panadero
977f1a6916 Fix hue tests that have uncaught exceptions (#33443) 2020-03-31 10:17:09 -05:00
Bram Kragten
ffefdcfe22 Require admin to manage lovelace (#33435) 2020-03-31 11:43:21 +02:00
Franck Nijhof
f4eb1f0652 Update issue templates (#33434)
* Update issue templates

* Process review suggestions
2020-03-31 11:31:43 +02:00
Aaron Bach
23668f3c5e Overhaul the Slack integration (async and Block Kit support) (#33287)
* Overhaul the Slack integration

* Docstring

* Empty commit to re-trigger build

* Remove remote file option

* Remove unused function

* Adjust log message

* Update homeassistant/components/slack/notify.py

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

* Code review

* Add deprecation warning

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-03-30 21:32:29 -06:00
Marcel Steinbach
6208d8c911 Add HomeKit support for slat tilting (#33388)
* Add HomeKit support for slat tilting

* Reset tilt-specific attribute, not position attribute

Co-Authored-By: J. Nick Koston <nick@koston.org>

* Add explanation why we fix HomeKit's targets

We have to assume that the device has worse precision than HomeKit. If it
reports back a state that is only _close_ to HK's requested state, we'll
"fix" what HomeKit requested so that it won't appear out of sync.

Co-authored-by: J. Nick Koston <nick@koston.org>
2020-03-30 19:47:03 -05:00
David F. Mulcahey
d0dad4bfd6 Fix uncaught exceptions in ZHA tests (#33442) 2020-03-30 20:34:23 -04:00
Balazs Sandor
7330e30fd3 bump version zigpy-cc (#33448) 2020-03-30 20:33:07 -04:00
Franck Nijhof
a9cbd355ca Correct FortiOS integration name in manifest (#33454) 2020-03-30 17:20:37 -07:00
HomeAssistant Azure
3e0eaa3c87 [ci skip] Translation update 2020-03-31 00:02:51 +00:00
Chris Talkington
98f68f4798 Add Internet Printing Protocol (IPP) integration (#32859)
* Create __init__.py

* Create manifest.json

* Update zeroconf.py

* more work on integration

* more work on integration.

* add more sensor tests.

* Update const.py

* Update sensor.py

* more work on ipp.

* Update test_config_flow.py

* more work on ipp.

* Update config_flow.py

* Update config_flow.py
2020-03-30 16:13:47 -07:00
evoblicec
0e3c1dc031 Add new mapped weather condition classes to Météo France (#33450)
* Update Meteo_France Weather constants

Updating Meteo_France integration with more weather "condition" returned by the web service.

Adding: 
- "Nuit claire" (note the lower 'c') mapped to "clear-night"
- "Brume" mapped to "fog"

* Black formatting update
2020-03-31 00:05:18 +02:00
Erik Montnemery
9508c51403 Fix change of entity_id for discovered MQTT entities (#33444) 2020-03-30 14:26:59 -07:00
Bram Kragten
531207e005 Updated frontend to 20200330.0 (#33449) 2020-03-30 14:20:14 -07:00
Bram Kragten
952aa02e37 Add ability to specify group when creating user (#33373)
* Add abbility to specify group when creating user

* Fix tests

* Not default admin and tests
2020-03-30 20:33:43 +02:00
Bas Nijholt
3e0ccd2e86 Add KEF services for DSP (#31967)
* add services for DSP

* add homeassistant/components/kef/const.py

* add services.yaml

* fix set_mode

* fix services

* media_player.py fixes

* bump aiokef to 0.2.9

* update requirements_all.txt

* add basic sensor.py

* add DSP settings as attributes

* add message about kef.update_dsp

* remove sensor.py

* fix pylint issues

* update_dsp inside async_added_to_hass

* use {...} instead of dict(...)

* get DSP settings when connecting to HA or once on update

* simplify condition

* do not get mode twice

* remove async_added_to_hass

* use async_register_entity_service

* remove entity_id from schema and prepend _value

* invalidate self._dsp after setting a DSP setting

* schedule update_dsp every hour

* subscribe and unsubscribe on adding and removing to HA

* don't pass hass and set _update_dsp_task_remover to None after removing
2020-03-30 10:45:24 -07:00
David F. Mulcahey
bcd1eb952c RFC - Add a 3rd state to the HA shutdown sequence for writing… (#33358)
* add third stage to hass shutdown

* use 3rd stage in storage

* update core state

* add writing data to multi stop ignore

* update core test

* review comment

* update name based on feedback
2020-03-30 10:18:39 -07:00
da-anda
01bf4daf37 Fix detection of zone master in soundtouch media_player (#33157) 2020-03-30 17:27:02 +02:00
Santobert
0186ce7896 Filter the history of device_tracker by location attributes (#33356)
* Add include_location_attributes

* Add check for different state

* Fix things

* Drop filter

* significant changes only

* Change default behavior

* Remove trailing commas
2020-03-30 08:13:22 -07:00
J. Nick Koston
f42804805c Move Tado zone state handling into upstream python-tado library (#33195)
* Tado climate state moved to python-tado

* Resolve various incorrect states and add tests for known tado zone states

* Write state instead of calling for an update

This is a redux of pr #32564 with all of the zone state now moved into
python-tado and tests added for the various states.

* stale string

* add missing undos to dispachers

* remove unneeded hass

* naming

* rearrange

* fix water heater, add test

* fix water heater, add test

* switch hvac mode when changing temp if in auto/off/smart
2020-03-30 09:06:26 -05:00
vwir
eee0a6e9f4 Fix for nissan_leaf component getting stuck (#33425)
* Fix for nissan_leaf component getting stuck

* Remove dots from error messages in nissan_leaf component
2020-03-30 09:35:50 +02:00
Kit Klein
0e6b905cdf Add konnected multi output (#33412)
* add test to for importing multiple output settings

* provide option to set multiple output states

* tweaks after testing

* Update homeassistant/components/konnected/config_flow.py

Co-Authored-By: Martin Hjelmare <marhje52@gmail.com>

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-03-29 20:05:59 -07:00
J. Nick Koston
d59209ff47 Prevent nut from doing I/O in the event loop (#33420)
* Prevent nut from doing I/O in the event loop

device_state_attributes would call for an update if the
throttle happened to expire.

* _format_display_state no self use
2020-03-29 20:53:25 -05:00
jan iversen
ad8cf2d0d0 Remove Modbus legacy code (#33407)
* Modbus: remove legacy code

flexit and stiebel_el are updated to import modbus.const,
therefore legacy code can be removed.

* Flexit: update const reference from modbus

climate.py imports from modbus direct, this is legacy and will
result in errors.

update import to be modbus.const.

* Stiebel_el: update reference to modbus

__init.py references modbus directly, this is legacy and will
give errors.

Update import to be modbus.const.
2020-03-30 01:35:58 +02:00
Aaron Bach
fe0db80fb8 Bump aioambient to 1.1.0 (#33414) 2020-03-30 00:28:37 +02:00
David F. Mulcahey
ef61118d49 fix ZHA IASWD commands (#33402) 2020-03-29 17:42:37 -04:00
Malte Franken
de54659097 Fix GeoNet NZ Quakes tests (#33383)
* enable tests

* only remove entity if exists
2020-03-29 22:40:09 +02:00
Jc2k
ad3c5240c2 Bump aiohomekit version to fix Ecobee Switch (#33396) 2020-03-29 22:38:52 +02:00
Anders Liljekvist
0f9790f5f1 Bluesound volume stepper bugfix (#33404) 2020-03-29 22:38:03 +02:00
jjlawren
68e86c5e3a Handle Ecobee service timeouts (#33381)
* Bump pyecobee to 0.2.4

* Bump pyecobee to 0.2.5
2020-03-29 22:15:12 +02:00
SukramJ
1cd0e764b6 Use new HMIP labels for HomematicIP Cloud multi devices (#32925)
* Use new labels for HomematicIP Cloud multi devices

* Update homeassistant/components/homematicip_cloud/device.py

Co-Authored-By: springstan <46536646+springstan@users.noreply.github.com>

* Update name composition

Co-authored-by: springstan <46536646+springstan@users.noreply.github.com>
2020-03-29 21:38:59 +02:00
cgtobi
d45c386149 Bump opencv to 4.2.0.32 (#33391)
* Bump opencv to 4.2.0.32
2020-03-29 21:30:00 +02:00
jan iversen
dd3cd95954 Modbus patch, to allow communication with "slow" equipment using tcp (#32557)
* modbus: bumb pymodbus version to 2.3.0

pymodbus version 1.5.2 did not support asyncio, and in general
the async handling have been improved a lot in version 2.3.0.

updated core/requirement*txt

* updated core/CODEOWNERS

committing result of 'python3 -m script.hassfest'.

* modbus: change core connection to async

change setup() --> async_setup and update() --> async_update()

Use async_setup_platform() to complete the async connection to core.

listen for EVENT_HOMEASSISTANT_START happens in async_setup()
so it needs to be async_listen.

But listen for EVENT_HOMEASSISTANT_STOP happens in start_modbus()
which is a sync. function so it continues to be listen().

* modbus: move setup of pymodbus into modbushub

setup of pymodbus is logically connected to the class modbushub,
therefore move it into the class.

Delay construction of pymodbus client until event
EVENT_HOMEASSISTANT_START arrives.

* modbus: use pymodbus async library

convert pymodbus calls to refer to the async library.

Remark: connect() is no longer needed, it is done when constructing
the client. There are also automatic reconnect.

* modbus: use async update for read/write

Use async functions for read/write from pymodbus.

change thread.Lock() to asyncio.Lock()

* Modbus: patch for slow tcp equipment

When connecting, via Modbus-TCP, so some equipment (like the
huawei sun2000 inverter), they need time to prepare the protocol.

Solution is to add a asyncio.sleep(x) after the connect() and before
sending the first message.

Add optional parameter "delay" to Modbus configuration.
Default is 0, which means do not execute asyncio.sleep().

* Modbus: silence pylint false positive

pylint does not accept that a class construction __new__
can return a tuple.

* Modbus: move constants to const.py

Create const.py with constants only used in
the modbus integration.

Duplicate entries are removed, but NOT any entry that would
lead to a configuration change.

Some entries were the same but with different names, in this
case renaming is done.

Also correct the tests.

* Modbus: move connection error handling to ModbusHub

Connection error handling depends on the hub, not the
entity, therefore it is logical to have the handling in
ModbusHub.

All pymodbus call are added to 2 generic functions (read/write)
in order not to duplicate the error handling code.

Added property "available" to signal if the hub is connected.

* Modbus: CI cleanup

Solve CI problems.

* Modbus: remove close of client

close() no longer exist in the pymodbus library, use
del client instead.

* Modbus: correct review comments

Adjust code based on review comments.

* Modbus: remove twister dependency

Pymodbus in asyncio mode do not use twister but still throws a
warning if twister is not installed, this warning goes into
homeassistant.log and can thus cause confusion among users.

However installing twister just to avoid the warning is not
the best solution, therefore removing dependency on twister.

* Modbus: review, remove comments.

remove commented out code.
2020-03-29 12:39:30 -05:00
David F. Mulcahey
188ca630de Miscellaneous ZHA code cleanup (#33395)
* cleanup state change listener

* update group id handling and unique id

* update test

* add guards for last_seen updates
2020-03-29 13:26:48 -04:00
jjlawren
ffafcf27a8 plexwebsocket bump 0.0.7 to fix ignored tests (#33398)
* Bump plexwebsocket to 0.0.7

* Remove unnecessary test ignores
2020-03-29 12:14:42 -04:00
tiagofreire-pt
21098bc3e5 Upgrade broadlink to 0.13.0 (#33240)
* Upgrading the broadlink library version to 0.13.0

As stated here: https://pypi.org/project/broadlink/

* Update requirements_test_all.txt

* Update requirements_all.txt

* Delete requirements_test_all.txt

* Revert "Delete requirements_test_all.txt"

This reverts commit 008f6f2030.

* Revert "Revert "Delete requirements_test_all.txt""

This reverts commit 73e22fd0ff.

* Revert "Revert "Revert "Delete requirements_test_all.txt"""

This reverts commit 7662119c89.
2020-03-29 13:03:46 +02:00
bangom
1f9f5bfaa8 Fix wrong SI unit_prefix in Integration component (#33227) (#33228)
* wrong SI metric prefixes
2020-03-29 11:17:53 +01:00
jjlawren
312af53935 Handle Plex certificate updates (#33230)
* Handle Plex certificate updates

* Use exception in place

* Add test
2020-03-28 21:02:29 -07:00
SukramJ
3c2df7f8f2 Fix homematicip_cloud tests that have uncaught exceptions (#33371) 2020-03-28 21:01:53 -07:00
Colin Harrington
42cb5a5239 Calculate Plum Lightpad brightness and glowIntensity correctly (#33352)
* Plum Lightpad - glowIntensity is represented as a float/percentage
Calculate brightness from the glowIntensity instead of the glowIntensity from brightness.

* Renamed `_glowIntensity` to `_glow_intensity`

* Added Rounding, converting to an int, min and max boxing

* Added codeowners to the Plum Lightpad manifest.json
2020-03-28 21:01:22 -07:00
Austin Mroczek
d832ce0b26 Fix openweathermap sensor.py so no KeyError if raining is miss… (#33372) 2020-03-28 20:59:57 -07:00
Richard de Boer
f32ae95ef4 Fix media_player supported features default value (#33366)
I looked at all media_player components and these were the only ones returning None:
- bluesound
- emby
- mpd
2020-03-28 20:59:04 -07:00
Maciej Bieniek
de2f506585 Migrate GIOS to use DataUpdateCoordinator (#33306)
* Migrate to DataUpdateCoordinator

* Simplify code
2020-03-28 20:57:06 -07:00
David F. Mulcahey
f7ae78f78e Update ZHA group entity when Zigbee group membership changes (#33378)
* cleanup group entities

* add test

* appease pylint

* fix order
2020-03-28 20:38:48 -04:00
HomeAssistant Azure
5bedc4ede2 [ci skip] Translation update 2020-03-29 00:04:45 +00:00
Anders Melchiorsen
03a090e384 Fixes for Sonos media position (#33379) 2020-03-28 16:15:32 -07:00
Ziv
dd232a3507 Fix uncaught exceptions in dynalite (#33374) 2020-03-28 22:19:43 +01:00
Colin Harrington
03a9e3284c Fix broken supported_features in Plum Lightpad (#33319) 2020-03-28 21:21:28 +01:00
Malte Franken
c08ca8a439 Fix GDACS tests (#33357)
* enable tests

* only remove entity if exists
2020-03-28 21:18:15 +01:00
shred86
bf16b50679 Fix Abode tests uncaught exceptions (#33365) 2020-03-28 18:54:07 +01:00
J. Nick Koston
5a1b0edd96 Add inline comments to elkm1 about how config is updated from… (#33361) 2020-03-28 17:23:39 +01:00
Bram Kragten
1477087c71 Fix Lovelace resources health info (#33309)
* Fix Lovelace resources health info

* Fix tests
2020-03-28 13:57:36 +01:00
Hans Oischinger
4a2236fe85 :vicare: Improve scan_interval (#33294)
This upgrades to PyVicare 0.1.10 which allows to combine multiple
requests into a single HTTP GET. This in turn allows us to increase
the scan_interval to 60 seconds by default.
Additionally scan_interval has been introduced as a config parameter.
2020-03-28 12:12:27 +01:00
J. Nick Koston
95cefd1acc Fix nuheat unexpectedly switching to a permanent hold (#33316)
When in run schedule mode, setting the temperature will switch
the device to a temporary hold.  If you set the temperature
again, we should stay in temporary hold mode and not switch
to permanent hold.

The underlying nuheat package contains a default to a
permanent hold if no setting was passed.  We now always
pass the setting.
2020-03-27 23:01:59 -07:00
David F. Mulcahey
5ce31cb383 Fix ZHA light group on state (#33308) 2020-03-27 23:01:17 -07:00
Ziv
ff391e538a Fail tests with uncaught exceptions (#33312)
* initial implementation and ignore file

* updated ignore list for the tests in the most recent dev branch
2020-03-27 21:36:06 -07:00
ochlocracy
28a2c9c653 Implement Alexa.CameraStreamController in Alexa (#32772)
* Implement Alexa.CameraStreamController.

* Add dependencies.

* Add camera helpers for image url, and mjpeg url.

* Remove unsupported AlexaPowerController from cameras.

* Refactor camera_stream_url to hass_url

* Declare HLS instead of RTSP.

* Add test for async_get_image_url() and async_get_mpeg_stream_url().

* Sort imports.

* Fix camera.options to camera.stream_options. (#32767)


(cherry picked from commit 9af95e8577)

* Remove URL configuration option for AlexaCameraStreamController.

* Update test_initialize_camera_stream.

* Optimize camera stream configuration.

* Update Tests for optimized camera stream configuration.

* Sort imports.

* Add check for Stream integration.

* Checks and Balances.

* Remove unnecessary camera helpers.

* Return None instead of empty list for camera_stream_configurations().
2020-03-27 21:19:11 -07:00
J. Nick Koston
369ffe2288 Fix setting HomeKit temperatures with imperial units (#33315)
In PR#24804 the step size was changed to match the step size
of the device that HomeKit is controlling. Since HomeKit
is always working in TEMP_CELSIUS and the step size is based on
the Home Assistant units setting, we were mixing data with different
units of measure when Home Assistant was using imperial units.

This regression presented the symptom that setting the
temperature to 73F would result in 74F.  Other values are affected
where the math doesn't happen to work out.

HomeKit currently has a default of 0.1 in the spec and the override
of this value has been removed.
2020-03-27 21:02:51 -07:00
HomeAssistant Azure
5f72ad8da6 [ci skip] Translation update 2020-03-28 00:08:09 +00:00
J. Nick Koston
00c38c5f70 Bump nexia to 0.7.3 (#33311)
* Resolves not being able to see the compressor speed.
2020-03-27 15:40:54 -05:00
J. Nick Koston
18a4829314 Config flow for elkm1 (#33297)
* Config flow for elkm1

* As entity ids can now be changed, the “alarm_control_panel”
attribute “changed_by_entity_id” is now “changed_by_keypad”
and will show the name of the Elk keypad instead of the entity id.

* An auto configure mode has been introduced which avoids the
need to setup the complex include and exclude filters.  This
functionality still exists when configuring from yaml for power
users who want more control over which entities elkm1 generates.

* restore _has_all_unique_prefixes

* preserve legacy behavior of creating alarm_control_panels that have no linked keypads when auto_configure is False

* unroll loop
2020-03-27 15:38:35 -05:00
Adam Michaleski
c629e7dc0e Add integration for Schluter (#31088)
* Add integration for Schluter
New integration for Schluter DITRA-HEAT thermostats. Interacts with Schluter API via py-schluter to implement climate platform.

* Fix for manifest issue on build
Removed unnecessary configurator logic

* Flake8 & ISort issues fixed

* Code review modifications for Schluter integration
- Removed unnecessary strings.json file
- Removed unnecessary DEFAULT_SCAN_INTERVAL from __init__.py
- Removed persistent notification for authentication error in __init__.py
- Removed string casts from log statements in __init__.py
- Removed unnecessary logging of entity creations in climate.py
- Removed unnecessary lookup for hvac_mode in climate.py

* Work started on Update Coordinator

* Further Coordinator work

* Update to DataUpdateCoordinator complete

* Flake8 fix

* Removal of unnecessary SchluterPlatformData
Coordinator also now using SCAN_INTERVAL

* Disable polling, use coordinator listeners

* Isort on climate.py

* Code review modifications
- Hass data stored under domain
- Since platform only likely to be climate, removed array, load explicitly
- Remove unnecessary fan mode implementation

* Switch to HVAC action for showing current heating status

* Isort fix

* HVAC Mode return list, set_hvac_mode function added

* __init__.py modifications from code review

* Climate.py code review modifications
- Device info property removed
- Write state function on set temp failure
- Add "available" property
- Delegate sync function in coordinator update to the executor

* Serial number as unique identifier
- Now using serial number & thermostat dictionary to protect against scenarios where a device is removed and enumerable index is no longer accurate
- Removed async_write_ha_state() from set temp exception, not needed
- Removed unnecessary SCAN_INTERVAL definition

* Linting

* Update homeassistant/components/schluter/climate.py

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

* Update homeassistant/components/schluter/climate.py

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

* Changed timeout from config, load platform discover to None

* Proposed change for discover info issue

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-03-27 10:53:36 -07:00
Paulus Schoutsen
73c52e668e Fix dispatcher logging (#33299) 2020-03-26 20:44:44 -07:00
Paulus Schoutsen
6cafc45d2b Fix ZHA light crashing on color loop effect (#33298) 2020-03-26 20:23:01 -07:00
David F. Mulcahey
4f767dd3ef Add entities for ZHA fan groups (#33291)
* start of fan groups

* update fan classes

* update group entity domains

* add set speed

* update discovery for multiple entities for groups

* add fan group entity tests

* cleanup const

* cleanup entity_domain usage

* remove bad super call

* remove bad update line

* fix set speed on fan group

* change comparison

* pythonic list

* discovery guards

* Update homeassistant/components/zha/core/discovery.py

Co-Authored-By: Alexei Chetroi <lexoid@gmail.com>

Co-authored-by: Alexei Chetroi <lexoid@gmail.com>
2020-03-26 22:19:48 -04:00
HomeAssistant Azure
c89975adf6 [ci skip] Translation update 2020-03-27 00:46:57 +00:00
Erik Montnemery
867630a4a7 Remove state when entity is removed from registry (#32184) 2020-03-26 16:33:50 -07:00
Bram Kragten
a6d5ed0160 Add support for dashboards to lovelace cast service (#32913) 2020-03-26 16:23:46 -07:00
J. Nick Koston
f93e4e3de7 Support homekit matches that have a dash after the model (#33274) 2020-03-26 15:15:35 -07:00
J. Nick Koston
f5a6c3484d Abort rachio homekit config when one is already setup (#33285)
* Abort rachio homekit config when one is already setup.

We can see rachio on the network to tell them to configure
it, but since the device will not give up the account it is
bound to and there can be multiple rachio controllers on a single
account, we avoid showing the device as discovered once
they already have one configured as they can always
add a new one via "+"

* doc string freshness

* doc string freshness

* Update tests/components/rachio/test_config_flow.py

Co-Authored-By: Franck Nijhof <git@frenck.dev>

Co-authored-by: Franck Nijhof <git@frenck.dev>
2020-03-26 17:14:52 -05:00
J. Nick Koston
b8afb9277a Bump nexia to 0.7.2 (#33292)
* Bump nexia to 0.7.2

* Fixes zones on the same thermostat showing as active
when the damper was closed.

* Update test for nexia 0.7.2
2020-03-26 15:14:35 -07:00
Daniel Høyer Iversen
262ed9ed2a Upgrade tibber to 0.13.6 (#33293) 2020-03-26 22:27:05 +01:00
jjlawren
f1e58d0784 Handle empty Plex client username (#33271) 2020-03-26 21:18:23 +01:00
Jaryl Chng
6c6318d18f Update PySwitchbot to 0.8.0 and add password configuration option (#33252)
* Update PySwitchbot to 0.8.0 and added password configuration

* Removed unchanged retry_count attribute

* Fix dependencies and formatting

* Removed default value for password and use config.get instead
2020-03-26 20:55:00 +01:00
Kris Bennett
3dc6612cd9 Add Android TV cover art (screen content) (#33232)
* Android TV

* Android TV

* Android TV

* Android TV

* Android TV

* Android TV

* Android TV

* Android TV

* Android TV
2020-03-26 11:31:23 -07:00
Malte Franken
a38db1f677 Fix GDACS integration to remove stale entities from entity registry (#33283)
* remove entities from entity registry

* added test for removing entities from entity registry
2020-03-26 19:05:48 +01:00
Fabian Affolter
558cccc68c Upgrade pyyaml to 5.3.1 (#33246) 2020-03-26 16:14:07 +01:00
Fabian Affolter
b598ff94d1 Upgrade jinja2 to >=2.11.1 (#33244) 2020-03-26 16:12:12 +01:00
Fabian Affolter
c267946284 Upgrade discord.py to 1.3.2 (#33280) 2020-03-26 12:58:11 +01:00
Paulus Schoutsen
07ce284acd Merge pull request #33269 from home-assistant/rc
0.107.7
2020-03-25 17:53:05 -07:00
HomeAssistant Azure
6c4b4ad1e0 [ci skip] Translation update 2020-03-26 00:47:06 +00:00
Maciej Bieniek
815d153e55 Bump gios library to version 0.0.5 (#33266) 2020-03-25 16:24:28 -07:00
Paulus Schoutsen
eac03ef4be Bumped version to 0.107.7 2020-03-25 16:04:19 -07:00
jjlawren
a38e075bda Schedule Unifi shutdown callback earlier (#33257) 2020-03-25 16:04:06 -07:00
J. Nick Koston
cced74740f Ensure recorder event loop recovers if the database server dis… (#33253)
If the database server disconnects there were exceptions
that were not trapped which would cause the recorder event
loop to collapse.  As we never want the loop to end
we trap exceptions broadly.

Fix a bug in the new commit interval setting which caused
it to always commit after 1s
2020-03-25 16:04:05 -07:00
Alexei Chetroi
1236c2b91e Refactor ZHA platform setup (#33226)
Setup ZHA platforms only after successful gateway startup.
2020-03-25 16:04:05 -07:00
Diogo Gomes
d54d7c6958 Increase timeout setting up IPMA (#33194) 2020-03-25 16:04:04 -07:00
brefra
9365ba3fcf Fix velbus dimming control (#33139)
* Fix light control

* Optimize conversion logic
2020-03-25 16:04:03 -07:00
jjlawren
5650b390b9 Schedule Unifi shutdown callback earlier (#33257) 2020-03-25 16:03:26 -07:00
Pascal Vizeli
8f4d3146c1 Revert "Fix issue with smhi-pkg" (#33259)
* Revert "Fix issue with smhi-pkg (#33248)"

This reverts commit 6990c70123.

* Bump version to 1.0.13
2020-03-25 21:43:29 +01:00
Fabian Affolter
2647296475 Refactor API documentation (#33217)
* Upgrade Sphinx to 2.4.4

* Refactor API documentation

* Remove left-over

* Remove Markdown from docstring

* Update titels
2020-03-25 13:21:04 -07:00
J. Nick Koston
6d311a31dd Ensure recorder event loop recovers if the database server dis… (#33253)
If the database server disconnects there were exceptions
that were not trapped which would cause the recorder event
loop to collapse.  As we never want the loop to end
we trap exceptions broadly.

Fix a bug in the new commit interval setting which caused
it to always commit after 1s
2020-03-25 13:08:20 -07:00
Paulus Schoutsen
4bbc0a03ca Activate asyncio debug when HA run in debug mode (#33251) 2020-03-25 13:03:56 -07:00
Maciej Bieniek
16670a38a4 Dynamic update interval for Airly integration (#31459)
* Initial commit

* dynamic update

* Don't update when add entities

* Cleaning

* Fix MAX_REQUESTS_PER_DAY const

* Fix pylint errors

* Fix comment

* Migrate to DataUpdateCoordinator

* Cleaning

* Suggested change

* Change try..except as suggested

* Remove unnecessary self._attrs variable

* Cleaning

* Fix typo

* Change update_interval method

* Add comments

* Add ConfigEntryNotReady
2020-03-25 11:13:28 -07:00
David F. Mulcahey
eb8e8d00a6 Add group entities for ZHA switches (#33207) 2020-03-25 13:29:40 -04:00
Raman Gupta
d5f4dfdd6b Update vizio app_id state attribute to show app config dict in… (#32727)
* bump pyvizio and update app_id to show app config to aid in HA config generation. squashed from multiple commits to make a rebase on dev easier

* bump pyvizio for bug fixes

* fix pyvizio version number

* only return app_id if app is unknown and explicitly create the dict that's returned

* fix tests

* fix docstring for app_id
2020-03-25 09:35:36 -07:00
Fabian Affolter
4a0a56ebdc Upgrade hole to 0.5.1 (#33249) 2020-03-25 17:22:34 +01:00
Pascal Vizeli
6990c70123 Fix issue with smhi-pkg (#33248)
* Fix issue with smhi-pkg

* Update azure-pipelines-wheels.yml
2020-03-25 09:19:10 -07:00
Eugenio Panadero
bb68e7a532 Bump aiohue version to 2.1.0 (#33234) 2020-03-25 09:11:00 -07:00
Pascal Vizeli
bb3592baa0 [skip ci] Update azure-pipelines-translation.yml for Azure Pipelines 2020-03-25 15:19:34 +01:00
Franck Nijhof
1fa996ed68 Fix ONVIF camera snapshot with auth (#33241) 2020-03-25 13:32:28 +01:00
David F. Mulcahey
2a3c94bad0 Add group entity support to ZHA (#33196)
* split entity into base and entity

* add initial light group support

* add dispatching of groups to light

* added zha group object

* add group event listener

* add and remove group members

* get group by name

* fix rebase

* fix rebase

* use group_id for unique_id

* get entities from registry

* use group name

* update entity domain

* update zha storage to handle groups

* dispatch group entities

* update light group

* fix group remove and dispatch light group entities

* allow picking the domain for group entities

* beginning - auto determine entity domain

* move methods to helpers so they can be shared

* fix rebase

* remove double init groups... again

* cleanup startup

* use asyncio create task

* group entity discovery

* add logging and fix group name

* add logging and update group after probe if needed

* test add group via gateway

* add method to get group entity ids

* update storage

* test get group by name

* update storage on remove

* test group with single member

* add light group tests

* test some light group logic

* type hints

* fix tests and cleanup

* revert init changes except for create task

* remove group entity domain changing for now

* add missing import

* tricky code saving

* review comments

* clean up class defs

* cleanup

* fix rebase because I cant read

* make pylint happy
2020-03-25 07:23:54 -04:00
Pascal Vizeli
3ee05ad4bb Enable Jemalloc for docker Core (#33237) 2020-03-25 10:14:15 +01:00
Eugenio Panadero
44425a184e Fix pre-commit hooks env for gen_requirements_all & hassfest (#33187)
* Run-in-env script.gen_requirements_all and hassfest in pre-commit

* Apply suggestions from code review and change `language` to script

Co-authored-by: Ville Skyttä <ville.skytta@iki.fi>
2020-03-25 09:47:01 +02:00
Alexei Chetroi
28c2f9caa9 Refactor ZHA platform setup (#33226)
Setup ZHA platforms only after successful gateway startup.
2020-03-24 20:32:46 -04:00
J. Nick Koston
2a36adae46 Abort myq homekit config when one is already setup. (#33218)
We can see myq on the network to tell them to configure
it, but since the device will not give up the account it is
bound to and there can be multiple myq gateways on a single
account, we avoid showing the device as discovered once
they already have one configured as they can always
add a new one via "+"
2020-03-24 17:09:24 -07:00
brefra
46985bba0d Fix velbus dimming control (#33139)
* Fix light control

* Optimize conversion logic
2020-03-24 21:58:50 +01:00
Balazs Keresztury
3f4a7ec396 Fix minor bmp280 issues mentioned in late review (#33211)
* Fix minor issues mentioned in #30837 after it was closed

* Update homeassistant/components/bmp280/sensor.py

Co-Authored-By: Martin Hjelmare <marhje52@gmail.com>

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-03-24 21:52:49 +01:00
Patryk
ad9f4db983 Add leak sensor support to Homekit integration (#33171)
* Add leak sensor support to Homekit integration

* Add leak entries to binary_sensor/strings.json

* Revert changes from binary_sensor

* Fix

* Review fix
2020-03-24 13:49:01 -07:00
Aaron Bach
0e2fa7700d Allow more than one AirVisual config entry with the same API k… (#33072)
* Allow more than one AirVisual config entry with the same API key

* Add tests

* Correctly pop geography

* Code review

* Code review
2020-03-24 11:39:38 -07:00
Ron Klinkien
109f083c5d Add Body Composition data to Garmin Connect (#32841)
* Added support for Garmin index smart scale

* Added body composition data

* Added keyerror exception

* Code optimization

* Update library, changed logger errors to exception

* Fixed manifest
2020-03-24 10:29:40 -07:00
Eugenio Panadero
fb22f6c301 Add Context support for async_entity removal (#33209)
* Add Context for async_remove

* Check context in state automation on entity removal
2020-03-24 09:59:17 -07:00
roleo
aec2fe86e4 Add onvif snapshot uri (#33149)
* Add onvif snapshot uri

If the cam supports http snapshot uri, use it instead of ffmpeg.

* Code formatting

* Fix to pass pre-commit
2020-03-24 09:57:14 -07:00
HomeAssistant Azure
763ed0dc7b [ci skip] Translation update 2020-03-24 13:18:47 +00:00
Pascal Vizeli
baf7fb7264 Merge pull request #33206 from home-assistant/rc
0.107.6
2020-03-24 14:08:27 +01:00
Diogo Gomes
f150c9c65c Increase timeout setting up IPMA (#33194) 2020-03-24 13:17:31 +01:00
Josef Schlehofer
d979648c01 Upgrade youtube_dl to version 2020.03.24 (#33202) 2020-03-24 13:04:16 +01:00
Oliver
9226589bcd Bump to version 0.8.1 of denonavr (#33169)
* Bump to version 0.8.1 of denonavr

* Update CODEWONERS file
2020-03-24 13:03:22 +01:00
Pascal Vizeli
edfe8e1583 Bump version to 0.107.6 2020-03-24 11:50:25 +00:00
Pascal Vizeli
b36b1dbc70 Bump OZW fork to 0.1.10 (#33205) 2020-03-24 11:49:35 +00:00
Franck Nijhof
253c848692 Fix minut point updating frozen config entry data (#33148)
* Fix minut point updating frozen config entry data

* Update webhooks handling for configuration entry
2020-03-24 11:49:33 +00:00
Paulus Schoutsen
7a6ac578b4 Fix script logging with name (#33120) 2020-03-24 11:49:32 +00:00
Pascal Vizeli
e616ab5fb2 Bump OZW fork to 0.1.10 (#33205) 2020-03-24 12:04:33 +01:00
MeIchthys
3c59791b2e Add Nextcloud Integration (#30871)
* some sensors working in homeassistant

* bring up to date

* add codeowner

* update requirements

* overhaul data imports from api & sensor discovery

* remove print statement

* delete requirements_test_all

* add requrements_test_all.txt

* Update homeassistant/components/nextcloud/sensor.py

Co-Authored-By: springstan <46536646+springstan@users.noreply.github.com>

* Update homeassistant/components/nextcloud/sensor.py

Co-Authored-By: springstan <46536646+springstan@users.noreply.github.com>

* describe recursive function

* clarify that dict is returned

* remove requirements from requirements_test_all

* improve and simplify sensor naming

* add basic tests

* restore pre-commit config

* update requirements_test_all

* remove codespell requirement

* update pre-commit-config

* add-back codespell

* rename class variables as suggested by @springstan

* add dev branch to no-commit-to-branch git hook

Because my fork had the same 'dev' branch i wasn't able to push. Going forward I should probably name my branches differently.

* move config logic to __init__.py

* restore .pre-commit-config.yaml

* remove tests

* remove nextcloud test requirement

* remove debugging code

* implement binary sensors

* restore .pre-commit-config.yaml

* bump dependency version

* bump requirements files

* bump nextcloud reqirement to latest

* update possible exceptions, use fstrings

* add list of sensors & fix inconsistency in get_data_points

* use domain for config

* fix guard clause

* repair pre-commit-config

* Remove period from logging

* include url in unique_id

* update requirements_all.txt

Co-authored-by: springstan <46536646+springstan@users.noreply.github.com>
2020-03-24 11:11:35 +01:00
On Freund
b50281a917 Options flow for Monoprice sources (#33156)
* Options flow for monoprice sources

* Fix lint errors
2020-03-23 17:32:21 -07:00
Franck Nijhof
2d002f3ef6 Fix minut point updating frozen config entry data (#33148)
* Fix minut point updating frozen config entry data

* Update webhooks handling for configuration entry
2020-03-24 01:20:39 +01:00
Oxan van Leeuwen
6180f7bd64 Fix Google Assistant temperature control for entity without mo… (#33107) 2020-03-23 16:57:26 -07:00
elmurato
45241e57ca Add support for Minecraft SRV records (#32372)
* Added support for Minecraft SRV records

* Switched from dnspython to aiodns, improved server ping and log messages, use address instead of host and port in config flow

* Updated component requirements
2020-03-23 16:51:13 -07:00
Eugenio Panadero
cd57b764ce Fix state_automation_listener when new state is None (#32985)
* Fix state_automation_listener when new state is None (fix #32984)

* Listen to EVENT_STATE_CHANGED instead of using async_track_state_change

and use the event context on automation trigger.

* Share `process_state_match` with helpers/event

* Add test for state change automation on entity removal
2020-03-23 16:05:21 -07:00
Eugenio Panadero
c2a9aba467 Minor changes for new pvpc_hourly_pricing integration (#33177)
* Use async_call_later for retrying, instead of async_track_point_in_time
* Normalize test filename renaming it to `test_sensor`
* Remove link to docs in docstring
* Adjust test results to new behavior with async_call_later
2020-03-23 22:45:04 +01:00
Maciej Bieniek
5c2bd8b743 Add unique ID propery to braviatv entity (#33037)
* Add unique_id property

* Use cid to generate unique_id

* Remove debug file

* Add _unique_id declaration

* Suggested change

* Remove unused self._id
2020-03-23 22:16:17 +01:00
Franck Nijhof
513abcb7e5 Add effect service to WLED integration (#33026)
* Add effect service to WLED integration

* Inline service schema
2020-03-23 13:21:35 -07:00
Paulus Schoutsen
1ff245d9c2 Make sure entity platform services work for all platforms of d… (#33176)
* Make sure entity platform services work for all platforms of domain

* Register a bad service handler

* Fix cleaning up

* Tiny cleanup
2020-03-23 12:59:36 -07:00
J. Nick Koston
2360fd4141 Switch legacy calls to init_recorder_component using async_add… (#33185) 2020-03-23 11:27:45 -07:00
Pascal Vizeli
95de94e53f Update azure-pipelines-wheels.yml for Azure Pipelines 2020-03-23 16:48:44 +00:00
Pascal Vizeli
ea23ffedfe Update azure-pipelines-wheels.yml for Azure Pipelines 2020-03-23 17:47:43 +01:00
Alexei Chetroi
bf4b099f11 Update sw_version in device registry for ZHA devices (#33184)
* Update firmware version in device registry.
Parse recevied OTA requests for firmware version and update device
registry.

* Update tests.
* Cleanup sw_id_update listener.
* Update ZHA test devices list.
2020-03-23 12:42:41 -04:00
J. Nick Koston
b8fdebd05c Add aircleaner and humidify service to nexia climate (#33078)
* Add aircleaner and humidify service to nexia climate

* These were removed from the original merge to reduce review scope

* Additional tests for binary_sensor, sensor, and climate states

* Switch to signals for services

Get rid of everywhere we call device and change to zone or thermostat
as it was too confusing

Renames to make it clear that zone and thermostat are tightly coupled

* Make scene activation responsive

* no need to use update for only one key/value

* stray comma

* use async_call_later

* its async, need ()s

* cleaner

* merge entity platform services testing branch
2020-03-23 11:01:48 -05:00
Pascal Vizeli
181b2803cd Update azure-pipelines-wheels.yml for Azure Pipelines 2020-03-23 15:56:50 +00:00
Pascal Vizeli
0e3dc7976c Update azure-pipelines-wheels.yml for Azure Pipelines 2020-03-23 16:54:06 +01:00
jasperro
c8d4cf08d9 Add Tado set presence (#32765)
* Updated tado integration climate.py to allow for presence change

* Updated tado integration __init__.py to allow for presence change

* Black formatting

* Added missing docstring

* Added missing period to docstring

* Using constants from climate component

* Filter out other preset_modes

* Linting error fix

* Isort error fix

* Filtering of unwanted presence mode in init

* Bumped python-tado version to 0.5.0

Removed unnecessary preset mode check

* Update requirements_all.txt
2020-03-23 10:40:15 -05:00
Balazs Keresztury
df67ab995f Add support for Bosch BMP280 Sensor (#30837)
* Implement support for Bosch BMP280 Sensor

* Fixed linting errors

* Fixed case of the requirement RPi.GPIO so it is ignored in requirements

* Update homeassistant/components/bmp280/manifest.json

Co-Authored-By: springstan <46536646+springstan@users.noreply.github.com>

* Update homeassistant/components/bmp280/sensor.py

Co-Authored-By: springstan <46536646+springstan@users.noreply.github.com>

* Fix linting errors

* Implemented changes suggested by code review

* Fixed incomplete refactoring

Co-authored-by: springstan <46536646+springstan@users.noreply.github.com>
2020-03-23 09:12:59 -05:00
Pascal Vizeli
e0f2fa33df [skip ci] Update azure-pipelines-wheels.yml for Azure Pipelines 2020-03-23 13:19:14 +00:00
Pascal Vizeli
884c346bdf Fix dockerfile 2020-03-23 13:19:02 +00:00
Pascal Vizeli
c218ff5a75 Integrate dockerbuild (#33168)
* Integrate dockerbuild

* cleanup
2020-03-23 13:18:48 +00:00
Pascal Vizeli
fa43a218d2 Update azure-pipelines-wheels.yml for Azure Pipelines 2020-03-23 13:18:33 +00:00
Pascal Vizeli
f4cc64d289 [skip ci] add rc into build 2020-03-23 13:18:18 +00:00
Pascal Vizeli
4c31829832 [skip ci] update wheels builder version 2020-03-23 13:18:00 +00:00
Pascal Vizeli
ff32c1c3e9 Update azure-pipelines-wheels.yml 2020-03-23 13:17:49 +00:00
Pascal Vizeli
c21a2eab22 [skip ci] Update azure-pipelines-wheels.yml for Azure Pipelines 2020-03-23 13:14:50 +01:00
Vegetto
df2351b920 Support for COLOR_TEMP in Homematic dimmers (#31207)
* Support for COLOR_TEMP in Homematic dimmers

* Fix lint issues

* Added pre-checks

* Fix review feedback

* Remove unneded code
2020-03-23 10:56:44 +01:00
Olivier B
4332cbe112 Add Tesla sentry mode switch (#32938)
* Add Tesla sentry mode switch

* add available property, fix is_on

* bump teslajsonpy to 0.6.0
2020-03-23 10:52:59 +01:00
J. Nick Koston
f9a7c64106 Config flow for doorbird (#33165)
* Config flow for doorbird

* Discoverable via zeroconf

* Fix zeroconf test

* add missing return

* Add a test for legacy over ride url (will go away when refactored to cloud hooks)

* Update homeassistant/components/doorbird/__init__.py

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

* without getting the hooks its not so useful

* Update homeassistant/components/doorbird/config_flow.py

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

* fix copy pasta

* remove identifiers since its in connections

* self review fixes

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-03-23 10:14:21 +01:00
Jason Swails
49ebea2be3 Add support for occupancy/vacancy groups in Lutron Caseta component (#33032)
* Add support for Lutron Caseta occupancy/vacancy sensors

This follows updates to pylutron-caseta to add support for these
devices. This code works for me as a custom component in Home Assistant
Core with pylutron-caseta 0.6.0 (currently unreleased).

* black formatting

* Update requirements_all.txt

* Apply black formatting

* Resolve some review comments

* serial -> unique_id

* Black formatting

* Resolve linting errors

* Add code owner...

* Fix isort complaint

* Fix remaining isort complaints

* Update codeowners

* Resolve outstanding review comments

* Remove caseta_
2020-03-23 07:51:24 +01:00
J. Nick Koston
b09a9fc81a Add config flow for Nuheat (#32885)
* Modernize nuheat for new climate platform

* Home Assistant state now mirrors the
  state displayed at mynewheat.com

* Remove off mode as the device does not implement
  and setting was not implemented anyways

* Implement missing set_hvac_mode for nuheat

* Now shows as unavailable when offline

* Add a unique id (serial number)

* Fix hvac_mode as it was really implementing hvac_action

* Presets now map to the open api spec
  published at https://api.mynuheat.com/swagger/

* ThermostatModel: scheduleMode

* Revert test cleanup as it leaves files behind.

Its going to be more invasive to modernize the tests so
it will have to come in a new pr

* Config flow for nuheat

* codeowners

* Add an import test as well

* remove debug
2020-03-23 00:29:45 -05:00
J. Nick Koston
fa60e9b03b Improve sense timeout exception handling (#33127)
asyncio.Timeout needs to be trapped as well
2020-03-22 21:41:59 -07:00
J. Nick Koston
0b2a8bf79a Make harmony handle IP address changes (#33173)
If the IP address of the harmony hub changed it would
not be rediscovered.  We now connect to get the
unique id and then update config entries with
the correct ip if it is already setup.
2020-03-22 21:24:49 -07:00
Alan Tse
087b672449 Add enable_wake_on_start option to Tesla (#33035) 2020-03-22 22:33:55 -05:00
Pascal Vizeli
d3f9408650 Fix dockerfile 2020-03-23 01:00:00 +01:00
Pascal Vizeli
6e6ad94df6 Integrate dockerbuild (#33168)
* Integrate dockerbuild

* cleanup
2020-03-23 00:39:37 +01:00
J. Nick Koston
e344c2ea64 Add gate support to myq, fix bouncy updates (#33124)
* Add gate support to myq, fix bouncy updates

Switch to DataUpdateCoordinator, previously
we would hit the myq api every 60 seconds per device.

If you have access to 20 garage doors on the account it means
we would have previously tried to update 20 times per minutes.

* switch to async_call_later
2020-03-22 16:28:55 -07:00
Ivan Dyedov
ab8c50895e Add fahrenheit support in miflora sensor (#33136)
* add support for fahrenheit in miflora sensor

* fix error introduced when resolving merge conflict

* fix formatting
2020-03-22 21:58:35 +01:00
Matt Snyder
f0472f2dc2 Fix QVR Pro connection error and add port option (#33070)
* Allow port specification.  Handle connection error gracefully.

* Allow port specification.  Handle connection error gracefully.

* Alias exception. Requested changes.
2020-03-22 21:43:45 +01:00
Quentame
0249daef2e Bump iCloud to 0.9.6.1 (#33161) 2020-03-22 21:05:27 +01:00
Eugenio Panadero
8d2e72cdf6 Add pvpc electricity prices integration (#32092)
* Add new integration: pvpc_hourly_pricing

to add a sensor with the current hourly price of electricity in Spain.
Configuration is done by selecting one of the 3 reference tariffs, with
1, 2, or 3 billing periods.

* Features config flow, entity registry, RestoreEntity, options flow
  to change tariff, manual yaml config as integration or sensor platform
* Cloud polling sensor with minimal API calls (3/hour at random times)
  and smart retry; fully async
* Only 1 state change / hour (only when the price changes)
* At evening, try to download published tomorrow prices, to always store
  prices info for a window of [3, 27] hours in the future.
* Include useful state attributes to program automations to be run
  at best electric prices.
* Add spanish and english translations.

* Requires `xmltodict` to parse official xml file with hourly prices
for each day.

* Update requirements and add to codeowners

* Avoid passing in hass as a parameter to the entity

Instead, create time change listeners in async_added_to_hass and
call async_generate_entity_id before async_add_entities

* Fix lint issues

* Add tests for config & options flow

* Add tests for manual yaml config

with entity definition as integration and also as a sensor platform

* Fix placement of PLATFORM_SCHEMA and update generated config_flows

* Store prices internally linked to UTC timestamps

- to deal with days with DST changes
- and work with different local timezones

* Add availability to sensor

to 'expire' the sensor if there is no connection available
 and current hour is not in the stored prices.

Also, turn off logging and retrying if prices can't be downloaded
repeatedly, by flagging `data_source_available` as False, so there is no
log-flood mess.

* Add more tests

- to cover behavior in DST changes and complete coverage of sensor logic
- to cover abort config flow

* fix linter

* Better handling of sensor availability and minor enhancements

- Emmit 1 error if data source is marked as unavailable
  (after some retries), and be silent until cloud access is recovered,
  then emmit 1 warning.
- Follow standard of camel_case keys in attributes

* Mock aiosession to not access real API, store fixture data

- Store a set of daily xml files to test sensor logic for all situations
- Mock time and session to run tests with stored API responses
- Add availability test to simulate a lost + recovery of cloud access,
  checking that logging is reasonable: 1 error to flag the continued
  disconnection + 1 warning in recovery.

* Change API endpoint to retrieve JSON data

and remove xmltodict from reqs.

It seems that this endpoint is more reliable than the XML.

* Adapt tests to new API endpoint

* Translate tariff labels to plain English

and sync the default timeout value for all ways of configuration.

* Relax logging levels to meet silver requirements

- 1 warning when becoming unavailable, another warning when recovered.
- Warnings for unexpected TimeoutError or ClientError
- Move the rest to debug level, leaving info for HA internals

Also reduce number of API calls from 3 to 2 calls/hour.

* Fix requirements

* Mod tests to work with timezone Atlantic/Canary

and fix state attributes for timezones != reference, by using 3 price
prefixes: 'price_last_day_XXh', 'price_next_day_XXh' and 'price_XXh',
all generated with local time (backend timezone)

* Try to fix CI tests

* Externalize pvpc data and simplify sensor.py

* add new `aiopvpc` to requirements
* Remove data parsing and price logic from here
* Replace some constant properties with class variables

* Simplify tests for pvpc_hourly_pricing

* Fix updater for options flow

* Updater always reloads
* `tariff` value comes 1st from entry.options, 2nd from entry.data

* Fix lint

* Bump aiopvpc

* Remove options flow and platform setup

- Remove PLATFORM_SCHEMA and async_setup_platform
- Generate config_entry.unique_id with tariff instead of entity_id, in flow step.
- Remove TariffSelectorConfigFlow
- Adapt tests to maintain full coverage

* Fix docstring on test

and rename SENSOR_SCHEMA to SINGLE_SENSOR_SCHEMA to avoid confusion

* Remove timeout manual config, fix entry.options usage, simplify unique_id

* Simplify tests

- No need for a test_setup now, as platform setup is removed and integration
  setup is already used in `test_availability`
- Simplified `_process_time_step`: only one async_fire(EVENT_TIME_CHANGED)/hour

* Fix possible duplicated update

when source is not available.

* Do not access State last_changed for log messages

* Do not update until entity is added to hass

and call to async_update after 1st download or when recovering access, so
async_write_ha_state is not called twice on those.

* minor changes

* Rename method to select current price and make it a callback
2020-03-22 14:25:31 -05:00
Pascal Vizeli
52ac7285a7 Update azure-pipelines-wheels.yml for Azure Pipelines 2020-03-22 19:40:25 +01:00
Jason Swails
2a3d688923 General code cleanups for lutron_caseta component (#33144)
* General code cleanups for lutron_caseta component

* black

* Update homeassistant/components/lutron_caseta/__init__.py

Co-Authored-By: Martin Hjelmare <marhje52@gmail.com>

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-03-22 17:35:01 +01:00
Raman Gupta
ca3a22b5a3 Filter out duplicate app names from vizio's source list (#33051)
* filter out additional app config names from pyvizios app list

* add test

* change where filtering app list occurs

* fix test

* fix mistake in change

* hopefully final test fix

* fix test scenario that unknowingly broke with test change
2020-03-22 17:34:00 +01:00
Pascal Vizeli
912cda4e6f [skip ci] add rc into build 2020-03-22 16:37:33 +01:00
Austin Mroczek
c79b3df73f Handle generic_thermostat state unavailable (#32852)
* fix sensor unavailable error

* fix climate.py
2020-03-22 09:35:58 -05:00
Christian Ferbar
8423d18d8d Add Miflora go_unavailable_timeout (#31156)
* Clear state on exception

Clear state if querying the device fails. The state is then set to unknown, so it can be tracked if a miflora device isn't responding any more.

* Add available()

Signal valid data via available()

* miflora: add timeout to go unavailable

* code cleanup

* miflora: tox cleanup
2020-03-22 14:00:09 +01:00
Maciej Bieniek
9d87c1ab1a Bump gios to 0.0.4 (#33141) 2020-03-22 13:44:57 +01:00
Paulus Schoutsen
f95c3e265d Fix script logging with name (#33120) 2020-03-22 13:29:50 +01:00
On Freund
66402b9b38 Monoprice PR followups (#33133) 2020-03-22 13:25:27 +01:00
jjlawren
99877c32b1 Bump pyecobee to 0.2.3 (#33130) 2020-03-22 13:19:26 +01:00
Pascal Vizeli
4510e83150 [skip ci] update wheels builder version 2020-03-22 12:31:14 +01:00
Pascal Vizeli
252d934caa Update azure-pipelines-wheels.yml 2020-03-22 12:17:48 +01:00
On Freund
e8bd1b9216 Config Flow and Entity registry support for Monoprice (#30337)
* Entity registry support for monoprice

* Add test for unique_id

* Add unique id namespace to monoprice

* Config Flow for Monoprice

* Update monoprice tests

* Remove TODOs

* Handle entity unloading

* Fix update test

* Streamline entity handling in monoprice services

* Increase coverage

* Remove devices cache

* Async validation in monoprice config flow
2020-03-21 18:12:32 -07:00
guillempages
99d732b974 Revert "Validate UUID for tankerkoenig (#32805)" (#33123)
This reverts commit 49c2a4a4e3.
The validation was causing more problems than it was fixing, so removed
it completely
2020-03-21 17:48:18 -07:00
Paulus Schoutsen
05e7238c45 Merge remote-tracking branch 'origin/master' into dev 2020-03-21 17:25:46 -07:00
Paulus Schoutsen
677c276b41 Merge pull request #33118 from home-assistant/rc
0.107.5
2020-03-21 17:22:31 -07:00
Alexei Chetroi
991afccbd4 Refactor ZHA EventChannels (#32709)
* Refactor EventChannels.

* Rename EventRelayChannel.

* Fully rename EventRelayChannel.

- update docstrings
- rename all references from "relay" to "client"

* Remove CHANNEL_NAME.

* Update stale docstring.
2020-03-21 19:59:32 -04:00
Eugenio Panadero
d5e606640c Fix scheduled update time-drift in data update coordinator (#32974)
* Fix scheduled update time-drift in data update coordinator

As next schedule is calculated **after** the update is done,
setting now + update_interval makes 1 second drift in practice,
as the tick is 1Hz.

* Floor the utcnow timestamp

to remove sub-second error precision, and generate constant frequency updates
as long as the update takes < 1s.
2020-03-21 16:57:12 -07:00
Paulus Schoutsen
ca1c696f54 Bumped version to 0.107.5 2020-03-21 16:34:11 -07:00
Franck Nijhof
78e5878247 Fix Extend ONVIF unique ID with profile index (#33103) 2020-03-21 16:34:05 -07:00
guillempages
470537bc5f Fix tankerkoenig with more than 10 stations (#33098)
* Fix tankerkoenig with more than 10 stations

There seemed to be a problem, if more than 10 fuel stations were tracked.
Added a warning in this case, and split the calls to the API in chunks of
10, so that the data can be fetched anyway.

* Update homeassistant/components/tankerkoenig/__init__.py

Co-Authored-By: Martin Hjelmare <marhje52@gmail.com>

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-03-21 16:33:55 -07:00
Austin Mroczek
64556f6f69 Fix totalconnect AttributeError introduced in 0.107 (#33079)
* Fit git

* Remove period from loggging message

* Remove tests for now

* Add const.py

* Fix lint error
2020-03-21 16:32:26 -07:00
Alexei Chetroi
2785b067e3 Split ZHA device loading and entities adding (#33075)
* Split ZHA device loading and entities adding.
Load zha devices from ZHA gateway, but add entities after integration
was setup.

* Use hass.loop.create_task()
* Split ZHA device initialization from loading.
Restore and initialize ZHA devices separately.

* Use hass.async_create_task()
Load devices prior group initialization.
2020-03-21 16:32:26 -07:00
escoand
a129bc05ae Try all Samsung TV websocket ports (#33001)
* Update bridge.py

* add test

* silence pylint

* correct pylint

* add some tests

* Update test_media_player.py
2020-03-21 16:32:25 -07:00
Ville Skyttä
197736f66b Upgrade huawei-lte-api to 1.4.11 (#32791)
https://github.com/Salamek/huawei-lte-api/releases/tag/1.4.11
2020-03-21 15:16:33 -07:00
Franck Nijhof
6d4fa76107 Add Wi-Fi sensors to WLED integration (#33055) 2020-03-21 15:14:41 -07:00
Austin Mroczek
ba2558790d Fix totalconnect AttributeError introduced in 0.107 (#33079)
* Fit git

* Remove period from loggging message

* Remove tests for now

* Add const.py

* Fix lint error
2020-03-21 15:14:19 -07:00
guillempages
79f6d55fe8 Fix tankerkoenig with more than 10 stations (#33098)
* Fix tankerkoenig with more than 10 stations

There seemed to be a problem, if more than 10 fuel stations were tracked.
Added a warning in this case, and split the calls to the API in chunks of
10, so that the data can be fetched anyway.

* Update homeassistant/components/tankerkoenig/__init__.py

Co-Authored-By: Martin Hjelmare <marhje52@gmail.com>

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-03-21 15:12:14 -07:00
Aaron Bach
403b4a2e0b Bump simplisafe-python to 9.0.5 (#33116) 2020-03-21 16:01:39 -06:00
Franck Nijhof
8272c71811 Handle query and anchors in Spotify URI's (#33084)
* Handle query and anchors in Spotify URI's

* Use yarl for cleaning up the URL
2020-03-21 12:24:23 -07:00
Anders Melchiorsen
699ca44260 Clean up Sonos attributes for radio streams (#33063) 2020-03-21 12:17:00 -07:00
Franck Nijhof
5893f6b14b Fix Extend ONVIF unique ID with profile index (#33103) 2020-03-21 11:36:35 -07:00
Franck Nijhof
a7b08c48f3 Upgrade spotipy to 2.10.0 (#33083) 2020-03-21 19:25:29 +01:00
J. Nick Koston
0148708613 Add DEVICE_CLASS_GATE (#33074)
Gates are found outside of a structure and are typically part of a fence.
2020-03-21 11:17:06 -07:00
Alexei Chetroi
81cef9a281 Split ZHA device loading and entities adding (#33075)
* Split ZHA device loading and entities adding.
Load zha devices from ZHA gateway, but add entities after integration
was setup.

* Use hass.loop.create_task()
* Split ZHA device initialization from loading.
Restore and initialize ZHA devices separately.

* Use hass.async_create_task()
Load devices prior group initialization.
2020-03-21 13:25:43 -04:00
escoand
2bb29485be Try all Samsung TV websocket ports (#33001)
* Update bridge.py

* add test

* silence pylint

* correct pylint

* add some tests

* Update test_media_player.py
2020-03-21 16:50:18 +01:00
Jonas Kohlbrenner
57820be92a Add scan_interval support for NUT integration (#31167)
* Added scan_interval support

* Changed to config[key] for required keys and optional keys with default value

* Removed usage of Throttle
2020-03-21 16:45:10 +01:00
Balazs Sandor
e18bea0215 bump version zigpy-cc (#33097) 2020-03-21 10:43:55 -04:00
guillempages
49c2a4a4e3 Validate UUID for tankerkoenig (#32805)
* Validate UUIDs against custom validator

Instead of just validating against strings, use a custom validator,
so that the format can be checked.

* Add tests for custom UUID4 validator
2020-03-21 09:43:12 -05:00
Franck Nijhof
ebc4804e04 Don't exempt project for PR's for stalebot (#33086) 2020-03-21 15:29:46 +01:00
Ville Skyttä
ffc9bcb4d7 Use PEP 526 syntax with NamedTuples (#33081) 2020-03-21 11:18:32 +02:00
Franck Nijhof
d82d7fa2e9 Merge pull request #33080 from home-assistant/rc
0.107.4
2020-03-21 07:51:18 +01:00
Franck Nijhof
e87fab6b5f Remove mopar integration (ADR-0004) (#33066) 2020-03-21 07:09:48 +01:00
Paulus Schoutsen
663db747e9 Bumped version to 0.107.4 2020-03-20 23:02:50 -07:00
Paulus Schoutsen
57998f6f0f Fix package default extraction (#33071) 2020-03-20 23:02:29 -07:00
Knapoc
edbb995fff Bump aioasuswrt to 1.2.3 and fix asuswrt sensor (#33064)
* Bump aioasuswrt to 1.2.3

* Fix asuswrt connection setup parameters

* fix typo
2020-03-20 23:02:29 -07:00
Aaron Bach
312903025d Bump simplisafe-python to 9.0.4 (#33059) 2020-03-20 23:02:28 -07:00
Paulus Schoutsen
0ae5c325fe Add negative tests for identify schema for packages (#33050) 2020-03-20 23:02:27 -07:00
Paulus Schoutsen
b6d9454b54 Fix package default extraction (#33071) 2020-03-20 20:27:37 -07:00
J. Nick Koston
85328399e0 Add support for nexia automations (#33049)
* Add support for nexia automations

Bump nexia to 0.7.1

Start adding tests

Fix some of the climate attributes that were wrong (discovered while adding tests)

Pass the name of the instance so the nexia UI does not display "My Mobile"

* fix mocking

* faster asserts, scene

* scene makes so much more sense

* pylint

* Update homeassistant/components/nexia/scene.py

Co-Authored-By: Martin Hjelmare <marhje52@gmail.com>

* docstring cleanup

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-03-20 18:49:42 -05:00
Aaron Bach
836413a4a8 Bump simplisafe-python to 9.0.4 (#33059) 2020-03-20 14:59:01 -06:00
Paulus Schoutsen
d16d44d3e7 Add negative tests for identify schema for packages (#33050) 2020-03-20 13:34:56 -07:00
Knapoc
c2ac8e813a Bump aioasuswrt to 1.2.3 and fix asuswrt sensor (#33064)
* Bump aioasuswrt to 1.2.3

* Fix asuswrt connection setup parameters

* fix typo
2020-03-20 21:34:17 +01:00
J. Nick Koston
37687561c0 Add config flow for myq (#32890)
* Add a config flow for myq

* Discovered by homekit

* Fix gates being treated as garage doors

* Offline devices now show as unavailable

* Homekit flow

* strip out icon

* return -> raise
2020-03-20 15:28:14 -05:00
Franck Nijhof
acf41d03db Remove alarmdotcom integration (ADR-0004) (#33056) 2020-03-20 20:21:20 +01:00
J. Nick Koston
92d373055f Modernize nuheat for new climate platform (#32714)
* Modernize nuheat for new climate platform

* Home Assistant state now mirrors the
  state displayed at mynewheat.com

* Remove off mode as the device does not implement
  and setting was not implemented anyways

* Implement missing set_hvac_mode for nuheat

* Now shows as unavailable when offline

* Add a unique id (serial number)

* Fix hvac_mode as it was really implementing hvac_action

* Presets now map to the open api spec
  published at https://api.mynuheat.com/swagger/

* ThermostatModel: scheduleMode

* Empty commit to re-run ci

* Revert test cleanup as it leaves files behind.

Its going to be more invasive to modernize the tests so
it will have to come in a new pr
2020-03-20 11:01:51 -07:00
Pascal Vizeli
a309a00929 Merge pull request #33054 from home-assistant/rc
0.107.3
2020-03-20 18:33:47 +01:00
James Nimmo
c00f04221f Add IntesisHome support for air to water heat pumps (#32250)
* Add Intesis support for air to water heat pumps

* Bump to pyIntesisHome 1.7.1

* Fix

* Re-order HVAC modes
2020-03-20 10:17:50 -07:00
GaryOkie
414559f018 Enable incremental Pan/Tilt/Zoom capability to Amcrest/Dahua cameras (#32839)
Add new "amcrest.ptz_control" service to specify a PTZ camera movement or zoom direction (up, down, right, left, right_up, right_down, left_up, left_down, zoom_in, zoom_out). An optional travel_time attribute specifies the amount of movement between start/stop.
2020-03-20 11:34:42 -05:00
Pascal Vizeli
55be5bf880 Bump version to 0.107.3 2020-03-20 16:29:10 +00:00
Franck Nijhof
7b37dcd8ed Fix packages for schemas without a default (#33045) 2020-03-20 16:27:29 +00:00
cgtobi
e36bdd717a Fix discovery issue with netatmo climate devices (#33040) 2020-03-20 16:27:28 +00:00
cgtobi
fa650b648c Fix netatmo webhook registration issue (#32994)
* Wait for cloud connection

* Just wait

* Remove redundant entry

* Drop webhook before unloading other platforms

* Add missing scope

* Update homeassistant/components/netatmo/__init__.py

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

* Fix test

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-03-20 16:27:27 +00:00
Franck Nijhof
661101df08 Fix packages for schemas without a default (#33045) 2020-03-20 08:17:43 -07:00
Steven Rollason
ecbcdee934 Bump pyhaversion to 3.3.0 (#33044) 2020-03-20 15:58:23 +01:00
cgtobi
eb77b94315 Fix netatmo webhook registration issue (#32994)
* Wait for cloud connection

* Just wait

* Remove redundant entry

* Drop webhook before unloading other platforms

* Add missing scope

* Update homeassistant/components/netatmo/__init__.py

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

* Fix test

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-03-20 15:22:27 +01:00
cgtobi
6ab14a3729 Fix discovery issue with netatmo climate devices (#33040) 2020-03-20 15:20:42 +01:00
Jason Swails
f81464161a Break dependency on lutron component (#33031)
* Break dependency on lutron component

* Fix isort complaint
2020-03-20 10:42:34 +01:00
Maciej Bieniek
3461f3a1ed Tests improvements to the Brother integration (#32982)
* Add tests for states of the sensors

* Revert async_update method

* Tests improvement

* Fix icon name

* Tests improvement

* Simplify tests

* Test improvement

* Patch the library instead of the coordinator

* Suggested change

* Remove return_value
2020-03-20 10:21:43 +01:00
Paulus Schoutsen
ac2310e7f9 Merge pull request #33030 from home-assistant/rc
0.107.2
2020-03-19 22:51:13 -07:00
Phil Bruckner
0ed7bc3b8e Convert amcrest binary sensors from poll to stream (#32818)
* Convert amcrest binary sensors from poll to stream

- Bump amcrest package to 1.6.0.
- For online binary sensor poll camera periodically to test communications in case
  configuration & usage results in no other communication to camera.
- Start a separate thread to call camera's event_stream method since it never returns.
- Convert all received events into signals that cause corresponding sensors to update.
- Use camera's generic event_channels_happened method to update sensors at startup,
  and whenever camera comes back online after being unavailable.

* Changes per review

* Changes per review 2

* Changes per review 3

- Move event stream decoding to amcrest package.
- Change name of event processing threads so global
  counter is no longer required.
- Bump amcrest package to 1.7.0.
2020-03-19 21:07:21 -07:00
Aaron Bach
aee5c16803 Fix RainMachine not properly storing data in the config entry (#33002)
* Fix bug related to RainMachine's default config flow

* A

* Fix tests

* Code review
2020-03-19 20:54:57 -07:00
Aaron Bach
d8e3e9abaa Fix RainMachine not properly storing data in the config entry (#33002)
* Fix bug related to RainMachine's default config flow

* A

* Fix tests

* Code review
2020-03-19 20:54:41 -07:00
Paulus Schoutsen
5f0816ea25 Fix zones in packages (#33027) 2020-03-19 20:52:08 -07:00
Paulus Schoutsen
6a6037790f Bumped version to 0.107.2 2020-03-19 20:50:46 -07:00
Alexei Chetroi
d2b0c35319 Handle zigpy clusters without ep_attribute attribute. (#33028) 2020-03-19 20:50:34 -07:00
Jc2k
d707a1b072 0.107.2 - Bump aiohomekit to fix Insignia NS-CH1XGO8 and Lenno… (#33016) 2020-03-19 20:46:45 -07:00
Aaron Bach
ca12db9271 Bump simplisafe-python to 9.0.3 (#33013) 2020-03-19 20:45:57 -07:00
Robin
346a4b399d Fix sighthound dependency issue (#33010) 2020-03-19 20:45:56 -07:00
Robert Svensson
2090252936 Axis - Fix char in stream url (#33004)
* An unwanted character had found its way into a stream string, reverting f-string work to remove duplication of code and improve readability

* Fix failing tests
2020-03-19 20:45:56 -07:00
tetienne
a28091e94a Fix somfy optimistic mode when missing in conf (#32995)
* Fix optimistic mode when missing in conf #32971

* Ease code using a default value

* Client id and secret are now inclusive
2020-03-19 20:45:55 -07:00
Alexei Chetroi
ae8cb0ccdf Refactor ZHA setup (#32959)
* Refactor ZHA setup.
Catch errors and raise if needed.

* Cleanup.
2020-03-19 20:45:54 -07:00
Maikel Punie
06a608e342 Fix velbus in the 107 release (#32936)
velbus 2.0.41 introduced some data files in the python module. They are not copied when installing the velbus module. 2.0.43 fixes this problem
2020-03-19 20:45:53 -07:00
ochlocracy
9af95e8577 Fix camera.options to camera.stream_options. (#32767) 2020-03-19 20:45:53 -07:00
Paulus Schoutsen
c3c5cc9ae7 Fix zones in packages (#33027) 2020-03-19 20:45:26 -07:00
J. Nick Koston
5db1a67c20 Make powerwall unique id stable (#33021)
* Update powerwall unique id

* Fix somfy optimistic mode when missing in conf (#32995)

* Fix optimistic mode when missing in conf #32971

* Ease code using a default value

* Client id and secret are now inclusive

* Bump aiohomekit to fix Insignia NS-CH1XGO8 and Lennox S30 (#33014)

* Axis - Fix char in stream url (#33004)

* An unwanted character had found its way into a stream string, reverting f-string work to remove duplication of code and improve readability

* Fix failing tests

* deCONZ - Add support for Senic and Gira Friends of Hue remote… (#33022)

* Update the test

* Harmony config flow improvements (#33018)

* Harmony config flow improvements

* Address followup review comments from #32919

* pylint -- catching my naming error

* remove leftovers from refactor

* Update powerwall unique id

* Update the test

Co-authored-by: tetienne <thibaut@etienne.pw>
Co-authored-by: Jc2k <john.carr@unrouted.co.uk>
Co-authored-by: Robert Svensson <Kane610@users.noreply.github.com>
2020-03-19 20:43:09 -07:00
Alexei Chetroi
1a4199c485 Handle zigpy clusters without ep_attribute attribute. (#33028) 2020-03-19 22:47:08 -04:00
Alexei Chetroi
8cb1d630c8 Poll Hue lights in ZHA (#33017)
* Weighted ZHA entity matching.
* Poll ZHA Hue lights in 5 min intervals.
* Add comment.
* Spelling.
2020-03-19 22:14:07 -04:00
J. Nick Koston
f275b7e5ed Add Nexia thermostat support (Trane / American Standard) (#32826)
* Merge nexia

* Restore original work

* Merge cleanups

* config flow

* Add config flow

* Add missing files

* Fix import of old yaml config

* More cleanups from self review

* Additional self review

* Update homeassistant/components/nexia/services.yaml

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

* fix io in event loop

* Update homeassistant/components/nexia/climate.py

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

* avoid using ternary statements if they span multiple

* Cleanup strings and remove unneeded attributes

* more cleanup

* more cleanup of yaml

* remove coordinator boiler plate

* nuke services for now for the inital pr, add back later

* remove copy pasta

* this can be reduced more

* Update homeassistant/components/nexia/config_flow.py

Co-Authored-By: Martin Hjelmare <marhje52@gmail.com>

* Update homeassistant/components/nexia/config_flow.py

Co-Authored-By: Martin Hjelmare <marhje52@gmail.com>

* Update homeassistant/components/nexia/__init__.py

Co-Authored-By: Martin Hjelmare <marhje52@gmail.com>

* Update homeassistant/components/nexia/__init__.py

Co-Authored-By: Martin Hjelmare <marhje52@gmail.com>

* Update homeassistant/components/nexia/__init__.py

Co-Authored-By: Martin Hjelmare <marhje52@gmail.com>

* Update homeassistant/components/nexia/__init__.py

Co-Authored-By: Martin Hjelmare <marhje52@gmail.com>

* review

* comments

* Update homeassistant/components/nexia/climate.py

Co-Authored-By: Martin Hjelmare <marhje52@gmail.com>

* Update homeassistant/components/nexia/climate.py

Co-Authored-By: Martin Hjelmare <marhje52@gmail.com>

* Update homeassistant/components/nexia/climate.py

Co-Authored-By: Martin Hjelmare <marhje52@gmail.com>

* more review adjustments

* nuke unused constants

* Update homeassistant/components/nexia/config_flow.py

Co-Authored-By: Martin Hjelmare <marhje52@gmail.com>

* map states

* add update

* zone id is unique

* Fix humidfy check

* target_humidity should be a property instead of in attributes

* remove aux heat as its already there

Co-authored-by: Ryan Nazaretian <ryannazaretian@gmail.com>
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-03-19 21:03:51 -05:00
J. Nick Koston
c9592c1447 Harmony config flow improvements (#33018)
* Harmony config flow improvements

* Address followup review comments from #32919

* pylint -- catching my naming error

* remove leftovers from refactor
2020-03-19 20:43:44 -05:00
Robert Svensson
ff2367fffb deCONZ - Add support for Senic and Gira Friends of Hue remote… (#33022) 2020-03-19 16:40:50 -07:00
Robert Svensson
4c9303bbd5 Axis - Fix char in stream url (#33004)
* An unwanted character had found its way into a stream string, reverting f-string work to remove duplication of code and improve readability

* Fix failing tests
2020-03-19 16:30:38 -07:00
Jc2k
84712d2f40 Bump aiohomekit to fix Insignia NS-CH1XGO8 and Lennox S30 (#33014) 2020-03-19 16:25:18 -07:00
tetienne
5a2aabea9c Fix somfy optimistic mode when missing in conf (#32995)
* Fix optimistic mode when missing in conf #32971

* Ease code using a default value

* Client id and secret are now inclusive
2020-03-19 16:09:14 -07:00
Aaron Bach
23045af4a7 Bump simplisafe-python to 9.0.3 (#33013) 2020-03-19 16:39:24 -06:00
Paulus Schoutsen
29a9781bf7 Fix unifi tests 2020-03-19 15:28:38 -07:00
Jc2k
877eddf43d 0.107.2 - Bump aiohomekit to fix Insignia NS-CH1XGO8 and Lenno… (#33016) 2020-03-19 15:26:01 -07:00
Robin
9451920ab5 Fix sighthound dependency issue (#33010) 2020-03-19 20:34:15 +01:00
Balazs Sandor
62f2ee5f60 Bump version of zigpy-cc to 0.2.3 (#32951) 2020-03-19 11:42:49 -05:00
Alexei Chetroi
c8c81d493d Refactor ZHA setup (#32959)
* Refactor ZHA setup.
Catch errors and raise if needed.

* Cleanup.
2020-03-19 12:37:47 -04:00
J. Nick Koston
d33a3ca90f Config flow for harmony (#32919)
* Config flow for harmony

* Fixes unique ids when using XMPP

Co-authored-by: Bram Kragten <mail@bramkragten.nl>

* Find the unique id for the config flow

* move shutdown to init

* Add test for ssdp (still failing)

* Fix ssdp test

* Add harmony to MIGRATED_SERVICE_HANDLERS (this is a breaking change)

* more cleanups

* use unique id for the config file

Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2020-03-19 11:29:51 -05:00
J. Nick Koston
5b4d2aed64 Add Powerwalls integration (#32851)
* Create an integration for Powerwalls

* Self review :: remove unused code

* Remove debug

* Update homeassistant/components/powerwall/__init__.py

Co-Authored-By: Martin Hjelmare <marhje52@gmail.com>

* _call_site_info to module level

* Update homeassistant/components/powerwall/binary_sensor.py

Co-Authored-By: Martin Hjelmare <marhje52@gmail.com>

* Update homeassistant/components/powerwall/sensor.py

Co-Authored-By: Martin Hjelmare <marhje52@gmail.com>

* Update homeassistant/components/powerwall/binary_sensor.py

Co-Authored-By: Martin Hjelmare <marhje52@gmail.com>

* Update homeassistant/components/powerwall/binary_sensor.py

Co-Authored-By: Martin Hjelmare <marhje52@gmail.com>

* Update tests/components/powerwall/test_binary_sensor.py

Co-Authored-By: Martin Hjelmare <marhje52@gmail.com>

* Update homeassistant/components/powerwall/binary_sensor.py

Co-Authored-By: Martin Hjelmare <marhje52@gmail.com>

* Update homeassistant/components/powerwall/binary_sensor.py

Co-Authored-By: Martin Hjelmare <marhje52@gmail.com>

* remove sensors that I added tests for from the comment

* Update homeassistant/components/powerwall/config_flow.py

Co-Authored-By: Martin Hjelmare <marhje52@gmail.com>

* Update homeassistant/components/powerwall/sensor.py

Co-Authored-By: Martin Hjelmare <marhje52@gmail.com>

* Update homeassistant/components/powerwall/sensor.py

Co-Authored-By: Martin Hjelmare <marhje52@gmail.com>

* Update homeassistant/components/powerwall/sensor.py

Co-Authored-By: Martin Hjelmare <marhje52@gmail.com>

* Switch to UNIT_PERCENTAGE

* reduce code

* Add test for import

* Adjust tests

* Add missing file

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-03-19 10:50:17 -05:00
Alexei Chetroi
242aff9269 Fix mypy in ci by removing unneeded ignore in zone init (#32997) 2020-03-19 10:44:52 -05:00
MatthewFlamm
445ef861c0 Add pending to template alarm (#31614) 2020-03-19 02:38:24 -05:00
Maikel Punie
03c906a2f1 Fix velbus in the 107 release (#32936)
velbus 2.0.41 introduced some data files in the python module. They are not copied when installing the velbus module. 2.0.43 fixes this problem
2020-03-19 01:56:32 -05:00
Erik Montnemery
e0d2e5dcb0 Remove deprecated features from MQTT platforms (#32909)
* Remove deprecated features

* Lint
2020-03-18 22:39:15 -07:00
Paulus Schoutsen
88e3e73bb4 Merge pull request #32964 from home-assistant/rc
0.107.1
2020-03-18 22:14:25 -07:00
Paulus Schoutsen
3aa1bcbb77 Fix mobile app test 2020-03-18 22:13:49 -07:00
Paulus Schoutsen
5c1dc60505 Fix mobile app test 2020-03-18 22:13:37 -07:00
Paulus Schoutsen
f6ce5f2d05 Fix type 2020-03-18 18:20:04 -07:00
Paulus Schoutsen
f973b35cef Bumped version to 0.107.1 2020-03-18 18:19:33 -07:00
Paulus Schoutsen
4e08aa8b05 Fix zone config (#32963)
* Fix zone config

* Add zone as dependency again to device tracker

* Fix tests
2020-03-18 18:18:57 -07:00
Paulus Schoutsen
8e917ccf73 Add device automation as frontend dependency (#32962) 2020-03-18 18:17:11 -07:00
Bram Kragten
0b62011626 Updated frontend to 20200318.1 (#32957) 2020-03-18 18:17:11 -07:00
Paulus Schoutsen
08aa4b098c Add device automation as frontend dependency (#32962) 2020-03-18 18:15:23 -07:00
Paulus Schoutsen
5123baba3f Fix zone config (#32963)
* Fix zone config

* Add zone as dependency again to device tracker

* Fix tests
2020-03-18 18:14:25 -07:00
Bram Kragten
ede0cfaeb8 Updated frontend to 20200318.1 (#32957) 2020-03-18 17:13:19 -07:00
Jc2k
34e44e7f3a Add support for homekit valve accessories to homekit_controller (#32937) 2020-03-18 21:20:40 +00:00
Miroslav Ždrale
0cb27ff236 Bump pyubee to 0.10 to support more Ubee routers (#32934)
* Bump pyubee to 0.10 to support more Ubee routers

* Update requirements_all.txt
2020-03-18 15:45:23 -05:00
Bendik Brenne
cb450dcebd Resolve unexpected exception caused by sinch error_code being a string (#32929) 2020-03-18 15:43:43 -05:00
Daniel Shokouhi
661570dfad Small tweaks (#32946) 2020-03-18 15:19:40 -05:00
Ville Skyttä
05abf37046 Type hint improvements (#32905)
* Complete helpers.entity_component type hints

* Add discovery info type
2020-03-18 19:27:25 +02:00
Jc2k
7c79adad8f Refactor and simplify homekit_controller entity setup (#32927) 2020-03-18 10:12:55 -05:00
Franck Nijhof
e0769f9ad4 Merge branch 'master' into dev 2020-03-18 16:05:01 +01:00
Franck Nijhof
d520a02b8c Merge pull request #32932 from home-assistant/rc
0.107.0
2020-03-18 15:35:44 +01:00
SukramJ
1e469b39ad Fix flaky tests for HMIPC (#32806) 2020-03-18 14:44:29 +01:00
Franck Nijhof
c2f615839d Bumped version to 0.107.0 2020-03-18 13:31:02 +01:00
Bram Kragten
657bf33e32 Updated frontend to 20200318.0 (#32931) 2020-03-18 13:27:21 +01:00
Bram Kragten
7d23a734fc Updated frontend to 20200318.0 (#32931) 2020-03-18 13:02:27 +01:00
Franck Nijhof
4e4fd90455 Upgrade shodan to 1.22.0 (#32928) 2020-03-18 11:55:09 +01:00
Franck Nijhof
4517f0d59a Handle unique WLED device using zeroconf properties (#32897) 2020-03-18 11:10:40 +01:00
Maciej Bieniek
c1ceab09e5 Migrate Brother to use DataUpdateCoordinator (#32800)
* Use DataCoordinator to update Brother data

* Simplify error text

* Improve tests

* Rename DEFAULT_SCAN_INTERVAL to SCAN_INTERVAL

* Add entity_registry_enabled_default property

* Add quality_scale to manifest.json file

* Remove misleading coordinator.data.data
2020-03-17 22:21:56 -05:00
Aaron Bach
609263e1bb Add cleanup to OpenUV (#32886)
* Add cleanup to OpenUV

* Linting
2020-03-17 22:03:16 -05:00
shred86
f02c5f66d6 Clean up Abode unused automation events (#32825) 2020-03-17 17:58:05 -07:00
Paulus Schoutsen
0ca87007fd Bumped version to 0.107.0b8 2020-03-17 17:56:18 -07:00
Paulus Schoutsen
d0d9d853f2 Fix hassio panel load (#32922)
* Fix loading hassio panel

* Remove blacklist
2020-03-17 17:55:57 -07:00
Hans Oischinger
8348878e7e Introduce safe scan_interval for vicare (#32915) 2020-03-17 17:55:56 -07:00
Paulus Schoutsen
b70be5f2f2 Blacklist auto_backup (#32912)
* Blacklist auto_backup

* Mock with a set
2020-03-17 17:55:55 -07:00
Bram Kragten
fddb565e4c Fix input text reload (#32911)
* Fix input text reload

* FIx schema instead
2020-03-17 17:55:54 -07:00
Rami Mosleh
f3e6820042 Fix setting up options due to config data freeze (#32872) 2020-03-17 17:55:54 -07:00
Paulus Schoutsen
82c8f18bc7 Fix hassio panel load (#32922)
* Fix loading hassio panel

* Remove blacklist
2020-03-17 17:54:57 -07:00
Paulus Schoutsen
a9d16d4276 Remove mentioning YAML in Roku config flow (#32920) 2020-03-17 16:57:10 -07:00
Erik Montnemery
505de3dce3 Add attributes and availability to MQTT camera (#32908) 2020-03-17 16:49:50 -07:00
Erik Montnemery
52a4c16980 Improve MQTT light test coverage (#32907) 2020-03-17 18:29:12 -05:00
springstan
a2ac335222 Fix device condition for alarm_control_panel (#32916) 2020-03-17 22:15:11 +01:00
Hans Oischinger
cd79720a14 Introduce safe scan_interval for vicare (#32915) 2020-03-17 13:19:57 -07:00
Rami Mosleh
576970d1ad Fix setting up options due to config data freeze (#32872) 2020-03-17 21:19:42 +01:00
Chris Talkington
9146f76b01 Apply recommendations from roku code review (#32883)
* avoid patching integration methods

* Update config_flow.py

* apply recommendations from roku code review

* Update config_flow.py
2020-03-17 21:15:41 +01:00
Ville Skyttä
e97d21aec0 Run gen_requirements_all and hassfest in pre-commit (#32792)
Use generate mode for easy commit amendment with readily generated
files on failure.
2020-03-17 21:03:43 +01:00
Bram Kragten
097b056324 Fix input text reload (#32911)
* Fix input text reload

* FIx schema instead
2020-03-17 20:42:55 +01:00
Franck Nijhof
aece76f6cd Bump wled 0.3.0, reduce calls stability improvements (#32903) 2020-03-17 20:17:59 +01:00
Paulus Schoutsen
7bbffa6e6d Blacklist auto_backup (#32912)
* Blacklist auto_backup

* Mock with a set
2020-03-17 12:14:17 -07:00
Paulus Schoutsen
ae98f13181 Bumped version to 0.107.0b7 2020-03-17 10:36:59 -07:00
Paulus Schoutsen
ab38e7d98a Bump cast to 4.2.0 (#32906) 2020-03-17 10:35:39 -07:00
brubaked
9797b09d44 Changed Sensor icons to be more emotionally sensitive (#32904)
The existing sensor icons, while descriptive - dead = dead - are perhaps too matter of fact and don't accurately convey the tragedy. I changed emoticon-dead-outline to emoticon-cry-outline, as I think it better conveys the reality of the situation along with the emotions tied to the statistic.
2020-03-17 10:35:39 -07:00
Quentame
4908d4358c Bump iCloud to 0.9.5 (#32901) 2020-03-17 10:35:38 -07:00
Paulus Schoutsen
67d728fc50 Make zone dependency of device tracker an after dep (#32880)
* Make zone dependency of device tracker an after dep

* Fix test
2020-03-17 10:34:34 -07:00
Jason Lachowsky
912409ed0c Corrected minor misspellings (#32857) 2020-03-17 10:32:01 -07:00
Paolo Tuninetto
ac8c889b0f Add default port to samsung tv (#32820)
* Default port for websocket tv

* Update config entry

* move bridge creation

* fix indent

* remove loop
2020-03-17 10:32:00 -07:00
Quentame
67a721d39b Fix iCloud init while pending (#32750)
* Fix iCloud init while pending

Continue if device is pending while setup
Create devices and fetch 15s if pending, otherwise determine interval to fetch.

* Add retried_fetch guard
2020-03-17 10:32:00 -07:00
Paulus Schoutsen
ff582721dd Bump cast to 4.2.0 (#32906) 2020-03-17 10:30:56 -07:00
brubaked
3910ab6cab Changed Sensor icons to be more emotionally sensitive (#32904)
The existing sensor icons, while descriptive - dead = dead - are perhaps too matter of fact and don't accurately convey the tragedy. I changed emoticon-dead-outline to emoticon-cry-outline, as I think it better conveys the reality of the situation along with the emotions tied to the statistic.
2020-03-17 10:17:18 -07:00
Quentame
5c83367bb0 Fix iCloud init while pending (#32750)
* Fix iCloud init while pending

Continue if device is pending while setup
Create devices and fetch 15s if pending, otherwise determine interval to fetch.

* Add retried_fetch guard
2020-03-17 10:16:58 -07:00
Ville Skyttä
433b89de50 Add Huawei LTE WiFi status binary sensors (#32553) 2020-03-17 19:04:01 +02:00
Quentame
4c32fd12fc Bump iCloud to 0.9.5 (#32901) 2020-03-17 17:46:30 +01:00
Aaron Bach
a3e2504470 Add cleanup to SimpliSafe (#32889) 2020-03-17 07:02:30 -04:00
Aaron Bach
d98432c328 Add cleanup to Ambient PWS (#32888) 2020-03-17 07:02:05 -04:00
Aaron Bach
1da35e2939 Add cleanup to Notion (#32887)
* Add cleanup to Notion

* Base update method
2020-03-17 07:01:40 -04:00
Aaron Bach
0c49c8578b Remove unnecessary awaits in RainMachine (#32884)
* Remove unnecessary awaits in RainMachine

* Cleanup
2020-03-17 07:00:54 -04:00
Paulus Schoutsen
abd1909e2b Make zone dependency of device tracker an after dep (#32880)
* Make zone dependency of device tracker an after dep

* Fix test
2020-03-17 06:59:39 -04:00
Erik Montnemery
86d48c608e Deduplicate MQTT tests (#32874) 2020-03-17 02:09:19 -05:00
Aaron Bach
a278cf3db2 Improve IQVIA data/API management based on enabled entities (#32291)
* Improve IQVIA data/API management based on enabled entities

* Code review comments

* Code review

* Cleanup

* Linting

* Code review

* Code review
2020-03-16 23:58:50 -06:00
Kevin Eifinger
2cda7bf1e7 Add Here travel time arrival departure (#29909)
* here_travel_time: Add modes arrival and departure

* convert arrival/departure from datetime to time

* Default departure is set by external lib on None

* Use cv.key_value_schemas
2020-03-16 21:16:49 -07:00
Paolo Tuninetto
7ac014744c Add default port to samsung tv (#32820)
* Default port for websocket tv

* Update config entry

* move bridge creation

* fix indent

* remove loop
2020-03-17 00:37:10 +01:00
springstan
51b9afe3c1 Add device condition for alarm_control_panel (#29063)
* Initial commit

* Restricting conditions by supported_features, drop pending condition

* Added tests for no and minimum amount of conditions

* Address review comments

* Sort impors with isort

* Sort impors with isort v2
2020-03-16 18:08:06 -05:00
Paulus Schoutsen
d196fd136d Bumped version to 0.107.0b6 2020-03-16 14:53:13 -07:00
Bram Kragten
4f78674a4c Updated frontend to 20200316.1 (#32878) 2020-03-16 14:53:05 -07:00
Bram Kragten
a7aca10668 Lovelace: storage key based on id instead of url_path (#32873)
* Fix storage key based on url_path

* Fix test
2020-03-16 14:53:04 -07:00
Paulus Schoutsen
03b1c6ddee Remove group as a dependency from entity integrations (#32870)
* remove group dependency

* Update device sun light trigger

* Add zone dep back to device tracker
2020-03-16 14:53:03 -07:00
David F. Mulcahey
661f1b69f2 Bump ZHA quirks to 0.0.37 (#32867) 2020-03-16 14:53:03 -07:00
Bram Kragten
ccb34083fe Add lovelace reload service for yaml resources (#32865)
* Lovelace add reload service for yaml resources

* Clean up imports

* Comments
2020-03-16 14:53:02 -07:00
Paulus Schoutsen
397238372e Remove group as a dependency from entity integrations (#32870)
* remove group dependency

* Update device sun light trigger

* Add zone dep back to device tracker
2020-03-16 14:47:44 -07:00
Bram Kragten
682fcec99e Updated frontend to 20200316.1 (#32878) 2020-03-16 14:27:20 -07:00
David F. Mulcahey
41cd3ba532 Bump ZHA quirks to 0.0.37 (#32867) 2020-03-16 15:29:14 -04:00
Bram Kragten
426f546c2f Add lovelace reload service for yaml resources (#32865)
* Lovelace add reload service for yaml resources

* Clean up imports

* Comments
2020-03-16 20:25:23 +01:00
Bram Kragten
2f1824774f Lovelace: storage key based on id instead of url_path (#32873)
* Fix storage key based on url_path

* Fix test
2020-03-16 20:08:00 +01:00
Paulus Schoutsen
999c5443c1 Fix abode test (#32871) 2020-03-16 10:03:44 -07:00
Knapoc
7ec7306ea8 Update deconz/cover.py to adapt rest-api changes (#32351)
* Update cover.py to adapt rest-api changes

* adjust test to reflect max brightness changes

* implement test for rest-api cover position of 255
2020-03-16 15:44:59 +01:00
shred86
8d68f34650 Add window class for Abode binary sensors (#32854)
* Add window class for binary sensor
2020-03-16 15:03:42 +01:00
sbilly
c1908d16b5 Add 'Yeelight LED Ceiling Light' model (#31615)
* Add 'Yeelight LED Ceiling Light' model

Add new model https://www.yeelight.com/en_US/product/luna

* Update requirements_all.txt bump to yeelight 0.5.1

Update requirements_all.txt bump to yeelight 0.5.1

* Update manifest.json, bump to 0.5.1

Update manifest.json, bump to 0.5.1
2020-03-16 14:21:27 +01:00
AJ Schmidt
40356b4fc5 Enable AlarmDecoder arming without security code (#32390)
* set alarmdecoder code_arm_required to False

* rm unnecessary f strings

* add code_arm_required config option

* add self as codeowner :-)

* add self as codeowner the right way
2020-03-16 14:11:08 +01:00
Bram Kragten
7f6b3c1130 Bumped version to 0.107.0b5 2020-03-16 13:59:27 +01:00
Bram Kragten
f2c3f76b8e Updated frontend to 20200316.0 (#32866) 2020-03-16 13:49:50 +01:00
Pascal Vizeli
b6a3bcf87f Update pyozw 0.1.9 (#32864) 2020-03-16 13:49:49 +01:00
Tom Harris
65423bb62b Bump insteonplm to 0.16.8 (#32847) 2020-03-16 13:49:48 +01:00
Kit Klein
104665d849 Ignore the ignored konnected config entries (#32845)
* ignore the ignored konnected config entries

* key off data instead of source
2020-03-16 13:49:47 +01:00
Alan Tse
fb1ba86b08 Bump teslajsonpy to 0.5.1 (#32827) 2020-03-16 13:49:47 +01:00
David Bonnes
cee72724b6 Ensure unique_ids for all evohome thermostats (#32604)
* initial commit

* small tweak
2020-03-16 13:49:46 +01:00
Bram Kragten
f4b3760a1a Updated frontend to 20200316.0 (#32866) 2020-03-16 13:30:59 +01:00
Robert Svensson
fa63dc1e25 UniFi - Improve expected SSID filter behavior (#32785)
* Improve expected ssid filter behavior

* Fix tests
2020-03-16 12:10:45 +01:00
Maciej Bieniek
b9ad40ed38 Bump brother to 0.1.9 (#32861) 2020-03-16 12:00:39 +01:00
Jason Lachowsky
77b3f31e9b Corrected minor misspellings (#32857) 2020-03-16 11:58:12 +01:00
Pascal Vizeli
451c6c25cd Update pyozw 0.1.9 (#32864) 2020-03-16 11:40:21 +01:00
Kris Bennett
af021b1c81 Add additional information to SynologySRM device tracker (#32669)
* Updating SynologySRM device trakcers to show additional information

* Fixes

* Aliasing attributes to snake case

* Sugguested changes as per MartinHjelmare
2020-03-16 11:09:48 +01:00
MatthewFlamm
4e3b079a29 Add imperial units to met weather (#32824)
* add feet to meter conversion

* convert pressure and wind. fix wind for metric.

* dont convert wind speed in metric.

pymetno already converts it.

* add units to setup_platform constuctor
2020-03-16 11:04:47 +01:00
David Bonnes
9a099bdf0a Ensure unique_ids for all evohome thermostats (#32604)
* initial commit

* small tweak
2020-03-16 11:04:12 +01:00
Chris Talkington
cf8dfdae47 Add config flow to roku (#31988)
* create a dedicated const.py

* add DEFAULT_PORT to const.py

* work on config flow conversion.

* remove discovery.

* work on config flow and add tests. other cleanup.

* work on config flow and add tests. other cleanup.

* add quality scale to manifest.

* work on config flow and add tests. other cleanup.

* review tweaks.

* Update manifest.json

* catch more specific errors

* catch more errors.

* impprt specific exceptions

* import specific exceptions

* Update __init__.py

* Update config_flow.py

* Update media_player.py

* Update remote.py

* Update media_player.py

* Update remote.py

* Update media_player.py

* Update remote.py

* Update config_flow.py

* Update config_flow.py

* Update media_player.py

* Update __init__.py

* Update __init__.py

* Update config_flow.py

* Update test_config_flow.py

* Update config_flow.py

* Update __init__.py

* Update test_config_flow.py

* Update remote.py

* Update test_init.py

* Update test_init.py

* Update media_player.py

* Update media_player.py

* Update media_player.py
2020-03-15 21:13:04 -07:00
Alan Tse
6e95b90f42 Bump teslajsonpy to 0.5.1 (#32827) 2020-03-15 20:42:07 -07:00
shred86
d36259f067 Add Abode tests (#32562)
* Add tests for several devices

* Update coveragerc

* Code review changes and minor clean up

* More code review changes

* Update manifest and minor test updates

* Add test for locks and covers

* Add tests for switch on and off

* Add more complete test for alarms

* Fix for camera test

* Patch abodepy.mode for tests

* Add test for unknown alarm state and minor cleanup

* Update to make tests more robust

* More specific tests

* Update quality scale to silver

* Remove integration quality scale
2020-03-16 03:05:10 +01:00
J. Nick Koston
d62bb9ed47 Add model to rachio device info (#32814)
* Add model to rachio device info

Address followup items

* Address review items, retest zone updates back and forth, and standby mode

* Remove super

* Revert "Remove super"

This reverts commit 02e2f156a9.

* Update homeassistant/components/rachio/switch.py

Co-Authored-By: Martin Hjelmare <marhje52@gmail.com>

* Update homeassistant/components/rachio/binary_sensor.py

Co-Authored-By: Martin Hjelmare <marhje52@gmail.com>

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-03-16 03:01:41 +01:00
Kit Klein
ef54f33af7 Ignore the ignored konnected config entries (#32845)
* ignore the ignored konnected config entries

* key off data instead of source
2020-03-16 01:11:26 +01:00
Tom Harris
1391f90a30 Bump insteonplm to 0.16.8 (#32847) 2020-03-15 13:50:23 -07:00
Paulus Schoutsen
a3d74651a8 Bumped version to 0.107.0b4 2020-03-15 11:56:56 -07:00
Paulus Schoutsen
d88275d6d2 Make sure panel_custom won't crash on invalid data (#32835)
* Make sure panel_custom won't crash on invalid data

* Add a test
2020-03-15 11:52:54 -07:00
SukramJ
42998f898b Add SF transition to HmIP-BSL and remove obsolete code in HMIPC (#32833) 2020-03-15 11:52:53 -07:00
Daniel Høyer Iversen
875671cc2b Add Netatmo Home Coach as model (#32829) 2020-03-15 11:52:53 -07:00
Bram Kragten
3b84b6e6d5 Require a hyphen in lovelace dashboard url (#32816)
* Require a hyphen in lovelace dashboard url

* Keep storage dashboards working

* register during startup again

* Update homeassistant/components/lovelace/dashboard.py

Co-Authored-By: Paulus Schoutsen <balloob@gmail.com>

* Comments

Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2020-03-15 11:52:52 -07:00
Chris Talkington
3b1fb2f416 Remove extra logging from directv init. (#32809) 2020-03-15 11:52:51 -07:00
Chris Talkington
226a0bcaad Fix directv location of unknown error string (#32807)
* Update strings.json

* Update en.json
2020-03-15 11:52:50 -07:00
Greg
57dd45318d Bump eagle_reader API version to v0.2.4 (#32789) 2020-03-15 11:52:50 -07:00
Franck Nijhof
e666485ea9 Fix brightness_pct in light device turn_on action (#32787) 2020-03-15 11:52:49 -07:00
Aidan Timson
b5c8b5b91f Fix onvif error with non ptz cameras (#32783) 2020-03-15 11:52:48 -07:00
David F. Mulcahey
706607f1d2 Fix handling of attribute reports in ZHA sensors and binary sensors (#32776)
* Update sensor tests.

* Update light tests.

* Update binary_sensor tests.

* Update cover tests.

* Update device tracker tests.

* Update fan tests.

* Update lock tests.

* Update switch tests.

* add sensor attr to sensors

* add sensor attr to binary sensors

* cleanup extra var

Co-authored-by: Alexei Chetroi <alexei.chetroi@outlook.com>
2020-03-15 11:52:47 -07:00
Steven Looman
0788bbd629 Add log message on timeout and update less often for upnp devices (#32740)
* Catch asyncio.TimeoutError, show a proper message instead

* Throttle updates to max once per 30s

* Change code owner

* Fix CODEOWNERS + linting

* Warn on connection timeout
2020-03-15 11:52:46 -07:00
Chris Talkington
1b622925a1 Optimize directv client initialization (#32706)
* Optimize directv client initialization.

* Update config_flow.py

* Update media_player.py

* Update media_player.py

* Update __init__.py

* Update __init__.py

* Update __init__.py

* Update __init__.py

* Update test_media_player.py

* Update __init__.py

* Update media_player.py

* Update test_media_player.py

* Update media_player.py

* Update test_media_player.py

* Update config_flow.py

* Update test_config_flow.py

* Update test_config_flow.py

* Update test_config_flow.py

* Update test_config_flow.py

* Update test_config_flow.py

* Update test_config_flow.py

* Update __init__.py

* Update test_config_flow.py

* Update test_config_flow.py

* Update test_media_player.py

* Update test_media_player.py

* Update __init__.py

* Update __init__.py

* Update __init__.py
2020-03-15 11:52:45 -07:00
Slava
86c4fa0fc5 Add brightness state to emulated hue when devices support only color temp and brightness (#31834) 2020-03-15 11:52:45 -07:00
Paulus Schoutsen
2889067ece Make sure panel_custom won't crash on invalid data (#32835)
* Make sure panel_custom won't crash on invalid data

* Add a test
2020-03-15 11:51:02 -07:00
Bram Kragten
f4bf66aecd Require a hyphen in lovelace dashboard url (#32816)
* Require a hyphen in lovelace dashboard url

* Keep storage dashboards working

* register during startup again

* Update homeassistant/components/lovelace/dashboard.py

Co-Authored-By: Paulus Schoutsen <balloob@gmail.com>

* Comments

Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2020-03-15 11:50:23 -07:00
SukramJ
2f80489428 Add SF transition to HmIP-BSL and remove obsolete code in HMIPC (#32833) 2020-03-15 19:01:50 +01:00
Steven Looman
b6e69cd370 Add log message on timeout and update less often for upnp devices (#32740)
* Catch asyncio.TimeoutError, show a proper message instead

* Throttle updates to max once per 30s

* Change code owner

* Fix CODEOWNERS + linting

* Warn on connection timeout
2020-03-15 18:18:15 +01:00
Daniel Høyer Iversen
f9634f0232 Add Netatmo Home Coach as model (#32829) 2020-03-15 12:41:19 +01:00
Jc2k
6affb27711 Fix homekit_controller beta connectivity issues (#32810) 2020-03-14 23:34:29 +01:00
Dave Pearce
5ec76af875 Add Insteon Dual Band SwitchLinc model 2477S to ISY994 (#32813) 2020-03-14 22:56:02 +01:00
Greg
5b41680506 Bump eagle_reader API version to v0.2.4 (#32789) 2020-03-14 22:27:28 +01:00
Jc2k
e365dc398b Fix homekit_controller beta connectivity issues (#32810) 2020-03-14 15:43:09 -04:00
SukramJ
4f81109304 Fix flaky tests for HMIPC (#32806) 2020-03-14 19:35:15 +01:00
Chris Talkington
04763c5bfb Remove extra logging from directv init. (#32809) 2020-03-14 19:32:38 +01:00
Chris Talkington
e5e38edcb2 Fix directv location of unknown error string (#32807)
* Update strings.json

* Update en.json
2020-03-14 19:12:01 +01:00
Ville Skyttä
e86919a997 Type hint improvements (#32793) 2020-03-14 11:39:28 +01:00
Ville Skyttä
d04479044c Upgrade huawei-lte-api to 1.4.11 (#32791)
https://github.com/Salamek/huawei-lte-api/releases/tag/1.4.11
2020-03-14 11:37:44 +01:00
J. Nick Koston
7737387efe Add config flow for rachio (#32757)
* Do not fail when a user has a controller with shared access on their account

* Add config flow for rachio

Also discoverable via homekit

* Update homeassistant/components/rachio/switch.py

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

* Split setting the default run time to an options flow

Ensue the run time coming from yaml gets imported into the option flow

Only get the schedule once at setup instead of each zone (was hitting rate limits)

Add the config entry id to the end of the webhook so there is a unique hook per config entry

Breakout the slew of exceptions rachiopy can throw into RachioAPIExceptions

Remove the base url override as an option for the config flow

Switch identifer for device_info to serial number

Add connections to device_info (mac address)

* rename to make pylint happy

* Fix import of custom_url

* claim rachio

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-03-13 22:46:17 -07:00
Franck Nijhof
743166d284 Fix brightness_pct in light device turn_on action (#32787) 2020-03-13 21:58:32 -07:00
Chris Talkington
5dd031af17 Optimize directv client initialization (#32706)
* Optimize directv client initialization.

* Update config_flow.py

* Update media_player.py

* Update media_player.py

* Update __init__.py

* Update __init__.py

* Update __init__.py

* Update __init__.py

* Update test_media_player.py

* Update __init__.py

* Update media_player.py

* Update test_media_player.py

* Update media_player.py

* Update test_media_player.py

* Update config_flow.py

* Update test_config_flow.py

* Update test_config_flow.py

* Update test_config_flow.py

* Update test_config_flow.py

* Update test_config_flow.py

* Update test_config_flow.py

* Update __init__.py

* Update test_config_flow.py

* Update test_config_flow.py

* Update test_media_player.py

* Update test_media_player.py

* Update __init__.py

* Update __init__.py

* Update __init__.py
2020-03-13 21:55:21 -07:00
J. Nick Koston
750ed2facd Optimize is_entity_exposed in emulated_hue by removing deprec… (#32718)
* emulated_hue: Optimize is_entity_exposed

Switch all list transversals in is_entity_exposed to
hash lookups

get_deprecated is now only called if explict_expose is
set

This funciton was iterating multiple lists per enitity
every time there was an update.  It was responsible for
a chunk of execution time when there are large number
of entities in home assistant.

* Complete deprecation of ATTR_EMULATED_HUE attribute

* Complete deprecation of ATTR_EMULATED_HUE attribute (remove const)

* Remove ATTR_EMULATED_HUE_HIDDEN and Rewrite tests
2020-03-13 21:47:47 -07:00
David F. Mulcahey
aa972b0005 Fix handling of attribute reports in ZHA sensors and binary sensors (#32776)
* Update sensor tests.

* Update light tests.

* Update binary_sensor tests.

* Update cover tests.

* Update device tracker tests.

* Update fan tests.

* Update lock tests.

* Update switch tests.

* add sensor attr to sensors

* add sensor attr to binary sensors

* cleanup extra var

Co-authored-by: Alexei Chetroi <alexei.chetroi@outlook.com>
2020-03-13 19:17:50 -04:00
Aidan Timson
628f77f8f2 Fix onvif error with non ptz cameras (#32783) 2020-03-13 23:58:14 +01:00
Slava
9db3900cff Add brightness state to emulated hue when devices support only color temp and brightness (#31834) 2020-03-13 23:42:47 +01:00
J. Nick Koston
fd5895118e Do not fail when a user has a controller with shared access on… (#32756) 2020-03-13 14:38:14 -07:00
Andre Lengwenus
607cdfdd32 Bump pypck to 0.6.4 (#32775) 2020-03-13 22:27:53 +01:00
Bram Kragten
dfd29e6d73 Bumped version to 0.107.0b3 2020-03-13 22:23:34 +01:00
Bram Kragten
6780bded7e Updated frontend to 20200313.0 (#32777) 2020-03-13 22:19:22 +01:00
Bram Kragten
460857a765 Updated frontend to 20200313.0 (#32777) 2020-03-13 13:43:39 -07:00
Paulus Schoutsen
56686dd14c Bumped version to 0.107.0b2 2020-03-13 12:16:55 -07:00
Bram Kragten
7268bcd9be Check if panel url used and delay dashboard reg till start (#32771)
* Check if panel url used and delay dashboard reg till start

* move storage_dashboard_changed

* fix tests
2020-03-13 12:16:49 -07:00
J. Nick Koston
4f78e04315 Bump py-august to 0.25.0 (#32769)
Fixes a bug in the conversion to async where code validation failed.
2020-03-13 12:16:49 -07:00
Austin Mroczek
7bdac8ef2e Bump total-connect-client to 0.54.1 #32758) 2020-03-13 12:16:48 -07:00
Bram Kragten
6bd55011a8 Check if panel url used and delay dashboard reg till start (#32771)
* Check if panel url used and delay dashboard reg till start

* move storage_dashboard_changed

* fix tests
2020-03-13 11:55:53 -07:00
J. Nick Koston
e2a113a2de Bump py-august to 0.25.0 (#32769)
Fixes a bug in the conversion to async where code validation failed.
2020-03-13 18:07:53 +01:00
ochlocracy
86f61b8e55 Fix camera.options to camera.stream_options. (#32767) 2020-03-13 11:50:16 -04:00
smega
f3fed5647e Extend rtorrent sensor functionality (#32353)
* Extend rtorrent sensor functionality.

* Remove blank line from end of file.

* After using black formatter.

* Update sensor.py using snake_case for variable names.

* Update PR by using true value in condition.
2020-03-13 15:29:49 +01:00
Franck Nijhof
992daa4a44 Migrate WLED to use DataUpdateCoordinator (#32565)
* Migrate WLED to use DataUpdateCoordinator

* Remove stale debug statement

* Process review suggestions

* Improve tests

* Improve tests
2020-03-13 13:19:05 +01:00
Raman Gupta
26d7b2164e Move apps configuration to options flow for vizio integration (#32543)
* move apps configuration to options flow

* add additional assertion to new test

* add additional assertions for options update

* update docstrings, config validation, and tests based on review
2020-03-13 12:16:24 +01:00
brefra
31d150794d Add memo text service (#31222)
* Add set_memo_text service

* Apply template rendering for memo text

* Update constants to comply to naming conventions

* Local variable for module address and extended error description

* fixed typo
2020-03-13 08:09:30 +01:00
Austin Mroczek
7e6e36db15 Bump total-connect-client to 0.54.1 #32758) 2020-03-13 07:34:09 +01:00
Aaron Bach
4f0997f6e9 Add options flow for SimpliSafe (#32631)
* Fix bug where SimpliSafe ignored code from UI

* Fix tests

* Add options flow

* Fix tests

* Code review

* Code review

* Code review
2020-03-12 22:00:00 -07:00
Eugenio Panadero
94b6ab2862 Use platform tag to register components on hue SensorManager (#32732)
* Use platform tag to register components on hue SensorManager

instead of a boolean flag to decide between sensor and binary sensor,
so it could be used externally (or to get ready for inclusion of other comps)

* Make new item discovery platform agnostic for SensorManager
2020-03-12 18:31:39 -07:00
Paulus Schoutsen
a66f4ca4ec Bumped version to 0.107.0b1 2020-03-12 17:02:38 -07:00
Bram Kragten
3345d85dca Updated frontend to 20200312.0 (#32741) 2020-03-12 17:02:29 -07:00
Raman Gupta
9ad776e55d Set self._current_app to None when vizio device is off (#32725) 2020-03-12 17:02:29 -07:00
escoand
2f2a908573 Fix legacy Samsung TV (#32719)
* Update bridge.py

* Update test_init.py
2020-03-12 17:02:28 -07:00
J. Nick Koston
9f76a8c12d Resolve Home Assistant fails to start when Sense integration i… (#32716)
* Bump sense_energy 0.7.1 which also fixes throwing ConfigEntryNotReady
2020-03-12 17:02:27 -07:00
Raman Gupta
fe6ca522e8 Update Vizio source property to only return current app if i… (#32713)
* only return current app for source if current app is set

* check for None specifically

* make sure current app isn't called for speaker
2020-03-12 17:02:26 -07:00
Paulus Schoutsen
c46d0e4a49 Sonos idle (#32712)
* Sonos idle

* F-string

* Add to properties

* Fixes
2020-03-12 17:02:26 -07:00
Aaron Bach
8db426e5da Broaden exception handling for IQVIA (#32708) 2020-03-12 17:02:25 -07:00
Franck Nijhof
bfacd9a1c3 Remove deprecated hide_if_away from device trackers (#32705) 2020-03-12 17:02:24 -07:00
Barry Williams
943c7ee11a If device has volume disabled, the volume will be None. However in these (#32702)
instances whenever the volume was requested a division calculation was made
resulting in a TypeError. The volume adjustment from `0-100` to `0-1` is now
calculated during the `update()` method.
2020-03-12 17:02:23 -07:00
Franck Nijhof
11a25157c1 Upgrade sqlalchemy to 1.3.15 (#32747) 2020-03-13 00:28:26 +01:00
Franck Nijhof
ff92a8b260 Add update class method to DataUpdateCoordinator (#32724)
* Add update class method to DataUpdateCoordinator

* Update homeassistant/helpers/update_coordinator.py

Co-Authored-By: Paulus Schoutsen <balloob@gmail.com>

* Move update_method param

* Rename async_update_data to _async_update_data

* Raise NotImplementedError

* Re-raise NotImplementedError

* Remove caplog, not needed anymore

* Don't set last_update_success on NotImplementedError

* Fix test

Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2020-03-13 00:27:19 +01:00
Paulus Schoutsen
1fe26c77e0 Sonos idle (#32712)
* Sonos idle

* F-string

* Add to properties

* Fixes
2020-03-12 14:47:57 -07:00
Franck Nijhof
00d5e5cfb2 Upgrade pre-commit to 2.2.0 (#32737) 2020-03-12 14:44:14 -07:00
Emilv2
c968e455a9 Fix delijn sensor stuck on last passage (#32710)
* Fix delijn sensor stuck on last passage

If the returned passage is an empty list that means there are
no next passages, so the sensor should be updated accordingly

* Mark the sensor as unavailable instead of emptying data

* use available property

* add available property
2020-03-12 14:43:52 -07:00
Bram Kragten
a3dd9979d2 Updated frontend to 20200312.0 (#32741) 2020-03-12 14:41:04 -07:00
Raman Gupta
6e97975ff8 Set self._current_app to None when vizio device is off (#32725) 2020-03-12 15:04:34 +01:00
Franck Nijhof
af7c01f957 Bumped version to 0.108.0dev0 (#32697) 2020-03-12 12:40:31 +01:00
Fabian Affolter
29533d8d4d Upgrade sendgrid to 6.1.3 (#32721) 2020-03-12 12:06:01 +01:00
Robert Svensson
374a8157e7 Remove manual configuration support (#32699) 2020-03-12 11:56:50 +01:00
Fabian Affolter
40fc72aac2 Upgrade psutil to 5.7.0 (#32720) 2020-03-12 11:56:07 +01:00
Franck Nijhof
b8fab33e69 Remove deprecated hide_if_away from device trackers (#32705) 2020-03-12 11:55:18 +01:00
Ville Skyttä
221d5205e4 Upgrade mypy to 0.770, tighten config a bit (#32715)
* Upgrade mypy to 0.770, related cleanups

https://mypy-lang.blogspot.com/2020/03/mypy-0770-released.html

* Clean up config and make it a notch stricter, address findings
2020-03-12 11:52:20 +01:00
Raman Gupta
77ebda0c20 Update Vizio source property to only return current app if i… (#32713)
* only return current app for source if current app is set

* check for None specifically

* make sure current app isn't called for speaker
2020-03-12 11:01:05 +01:00
J. Nick Koston
ac30e5799c Resolve Home Assistant fails to start when Sense integration i… (#32716)
* Bump sense_energy 0.7.1 which also fixes throwing ConfigEntryNotReady
2020-03-12 10:31:55 +01:00
escoand
f9a0b4b3cf Fix legacy Samsung TV (#32719)
* Update bridge.py

* Update test_init.py
2020-03-12 10:29:11 +01:00
Barry Williams
233568ac29 If device has volume disabled, the volume will be None. However in these (#32702)
instances whenever the volume was requested a division calculation was made
resulting in a TypeError. The volume adjustment from `0-100` to `0-1` is now
calculated during the `update()` method.
2020-03-12 09:54:25 +01:00
Aaron Bach
76b0302c7f Broaden exception handling for IQVIA (#32708) 2020-03-11 19:34:54 -06:00
Erik Montnemery
8bc542776b Cleanup entity and device registry on MQTT discovery removal (#32693)
* Cleanup entity and device registry on MQTT discovery removal.

* Review comments
2020-03-11 18:00:47 -07:00
Phil Bruckner
5f5cb8bea8 Add support for simultaneous runs of Script helper - Part 2 (#32442)
* Add limit parameter to service call methods

* Break out prep part of async_call_from_config for use elsewhere

* Minor cleanup

* Fix improper use of asyncio.wait

* Fix state update

Call change listener immediately if its a callback

* Fix exception handling and logging

* Merge Script helper if_running/run_mode parameters into script_mode

- Remove background/blocking _ScriptRun subclasses which are no longer needed.

* Add queued script mode

* Disable timeout when making fully blocking script call

* Don't call change listener when restarting script

This makes restart mode behavior consistent with parallel & queue modes.

* Changes per review

- Call all script services (except script.turn_off) with no time limit.
- Fix handling of lock in _QueuedScriptRun and add comments to make it
  clearer how this code works.

* Changes per review 2

- Move cancel shielding "up" from _ScriptRun.async_run to Script.async_run
  (and apply to new style scripts only.) This makes sure Script class also
  properly handles cancellation which it wasn't doing before.
- In _ScriptRun._async_call_service_step, instead of using script.turn_off
  service, just cancel service call and let it handle the cancellation
  accordingly.

* Fix bugs

- Add missing call to change listener in Script.async_run
  in cancelled path.
- Cancel service task if ServiceRegistry.async_call cancelled.

* Revert last changes to ServiceRegistry.async_call

* Minor Script helper fixes & test improvements

- Don't log asyncio.CancelledError exceptions.
- Make change_listener a public attribute.
- Test overhaul
  - Parametrize tests.
  - Use common test functions.
  - Mock timeout so tests don't need to wait for real time to elapse.
  - Add common function for waiting for script action step.
2020-03-11 16:34:50 -07:00
Fabian Affolter
da761fdd39 Upgrade pylast to 3.2.1 (#32700) 2020-03-11 23:06:35 +01:00
Fabian Affolter
22415ce49a Upgrade slacker to 0.14.0 (#32698) 2020-03-11 22:41:30 +01:00
Quentame
19be4a5d6d Refactor Freebox : add config flow + temperature sensor + signal dispatch (#30334)
* Add config flow to Freebox

* Add manufacturer in device_tracker info

* Add device_info to sensor + switch

* Add device_info: connections

* Add config_flow test + update .coveragerc

* Typing

* Add device_type icon

* Remove one error log

* Fix pylint

* Add myself as CODEOWNER

* Handle sync in one place

* Separate the Freebox[Router/Device/Sensor] from __init__.py

* Add link step to config flow

* Make temperature sensors auto-discovered

* Use device activity instead of reachablility for device_tracker

* Store token file in .storage

Depending on host if list of Freebox integration on the future without breaking change

* Remove IP sensors + add Freebox router as a device with attrs : IPs, conection type, uptime, version & serial

* Add sensor should_poll=False

* Test typing

* Handle devices with no name

* None is the default for data

* Fix comment

* Use config_entry.unique_id

* Add async_unload_entry with asyncio

* Add and use bunch of data size and rate related constants (#31781)

* Review

* Remove useless "already_configured" error string

* Review : merge 2 device & 2 sensor classes

* Entities from platforms

* Fix unload + add device after setup + clean loggers

* async_add_entities True

* Review

* Use pathlib + refactor get_api

* device_tracker set + tests with CoroutineMock()

* Removing active & reachable from tracker attrs

* Review

* Fix pipeline

* typing

* typing

* typing

* Raise ConfigEntryNotReady when HttpRequestError at setup

* Review

* Multiple Freebox s

* Review: store sensors in router

* Freebox: a sensor story
2020-03-11 22:15:59 +01:00
Franck Nijhof
71155f548f Bumped version to 0.107.0b0 2020-03-11 20:54:27 +01:00
Chris Talkington
180bcad477 Add codeowner for roku. (#32695) 2020-03-11 12:52:27 -07:00
Quentame
01dc81d8fb Fetch iCloud family devices only when wanted (#32644)
* Fetch iCloud family devices only when wanted

* Review: form data_schema as init schema
2020-03-11 20:43:37 +01:00
Chris Talkington
cea5cac6e2 Update directpy==0.7 for directv. (#32694) 2020-03-11 20:33:02 +01:00
Chris Talkington
bb666b9ac6 Add config flow to directv (#32162)
* initial work on config flow.

* more work on config flow.

* work on config flow and add tests. other cleanup.

* cleanup tests.

* fix test.

* isort

* Update .coveragerc

* Update test_init.py

* Update test_init.py

* Update test_init.py

* Update test_config_flow.py

* Update test_config_flow.py

* Update test_config_flow.py

* correct upnp serial format.

* improve config flow coverage.

* review tweaks.

* further review tweaks

* simplify dtv data gathering job

* lint

* black

* Update test_init.py

* Update test_init.py

* Simplify exception handling.

* Simplify exception handling.

* 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

* fix failing test.

* restore change made during debug.

* isort.

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-03-11 12:28:38 -07:00
Bram Kragten
c9a9bd16fe Updated frontend to 20200311.1 (#32691) 2020-03-11 12:18:11 -07:00
chiefdragon
3e8728ad5f Fix issue #23758 - Restore Canary sensors and ensure alarm con… (#32627)
* Fixed missing Canary sensors and Canary alarm control panel that was not updating correctly

* Resolved pylinting warnings in original tests
2020-03-11 11:58:42 -07:00
Paulus Schoutsen
d28d1ff657 Add JSON benchmark (#32690)
* Add JSON benchmark

* Fix logbook benchmarks

* Move logbook import back
2020-03-11 11:50:16 -07:00
jjlawren
44c7743351 Rewrite and add Plex tests (#32633)
* Rewrite and add Plex tests

* Remove unnecessary mocks

* Explicitly import constants for readability
2020-03-11 09:37:02 -07:00
Erik Montnemery
f7ddbc7e1e Remove duplicated config from MQTT tests (#32689) 2020-03-11 09:34:19 -07:00
Florian Werner
5216dc0ae1 Fix rate of change calculation of statistics sensor (#32597)
* Fix rate of change of statistics sensor

* Fix test
2020-03-11 09:33:00 -07:00
Alexei Chetroi
440c837eb6 Allow sw_version update of a device registry entry. (#32630) 2020-03-11 09:31:02 -07:00
Jc2k
ffe8b94d75 Simplfy homekit_controller characteristic writes (#32683) 2020-03-11 09:27:20 -07:00
Penny Wood
c56530a712 Connect to more recent versions of IZone (#32552)
* Update to new version of python-izone

* Improve disconnection handling.

* Update requirements-all

* Lint fix
2020-03-11 09:26:16 -07:00
cgtobi
50c32d57f5 Remove Netatmo binary sensor (#32673)
* Clean up for access scope review

* Remove deleted from coverage omit list
2020-03-11 09:25:19 -07:00
Robert Svensson
015e779d56 UniFi - Client tracker schedules update on disconnect event (#32655) 2020-03-11 09:24:52 -07:00
Franck Nijhof
01d0e70f44 Merge branch 'master' into dev 2020-03-11 17:03:36 +01:00
Bram Kragten
4c4e5f3fa9 Fix demos (#32086)
* Fixes for demos

* Update vacuum.py

* Comment

* Fix tests
2020-03-11 08:16:22 -07:00
David F. Mulcahey
7127492767 Additional ZHA cleanup (#32678)
* fix double device loading in tests

* change imports

* None is default
2020-03-11 13:37:28 +01:00
Jc2k
365578d053 Update homekit_controller to use CharacteristicPermissions constants (#32679) 2020-03-11 12:34:19 +00:00
Jc2k
647d137daa Refactor homekit_controller entity update to work more like update coordinator (#32670)
* Clean up use of get_characteristic_types

* Get rid of get_hk_char_value helper

* Get rid of _update_fn callbacks

* Call async_write_has_state directly as async_state_changed doesnt do anything any more
2020-03-11 07:40:47 -04:00
David F. Mulcahey
4248893007 Clean up custom polling in ZHA device and light (#32653)
* cleanup timer handle when device is removed

* separate unavailable times for mains vs battery

* better name

* remove light refresh handle when removing light

* remove unused parallel updates

* don't steal HA const for different purpose

* don't flood network every hour for lights

* update test to test both intervals

* add test for light refresh interval

* fix tests

* update test

* put parallel updates back for now...

* fix async_schedule_update_ha_state usage

* review comment

* review comment

* update test - review conversation

* review comments

* await count not call count

* flip some state
2020-03-11 07:17:53 -04:00
Bram Kragten
99109d162b Updated frontend to 20200311.0 (#32675) 2020-03-11 12:10:00 +01:00
Diogo Gomes
16336bf902 Add entity_service calibrate_meter to utility_meter (#32658)
* add calibrate service
2020-03-11 09:42:22 +01:00
Chris Talkington
69b19d54e8 Add codeowner for directv. (#32661) 2020-03-11 07:43:44 +01:00
Paul Madden
61acf944c0 Use bomradarloop v0.1.4 (#32660) 2020-03-11 07:27:07 +01:00
jjlawren
836b077bcc Bump python-ecobee-api to 0.2.2 (#32667) 2020-03-11 07:26:50 +01:00
Jc2k
1b5c9e922d Bump aiohomekit for more reconnect fixes (#32657) 2020-03-10 20:38:06 -04:00
J. Nick Koston
048f9e7daa Throw ConfigEntryNotReady when august servers are offline or u… (#32635)
* Throw ConfigEntryNotReady when august servers are offline

* august has tests now and its nearing 100%

* Adjust per review

* define in init
2020-03-10 17:10:00 -07:00
J. Nick Koston
ae147fd9c7 Lock operation sensors for August (#32593)
* adkj

* reduce

* Convert august to async

Async io was added to py-august 0.24

* Fix lint

* Lock operation sensors for august

* Tracking lock operation method allows user presence detection at the lock

* revert lock changes

* fix activity count merge conflict reversion

* Fix revert that come back with the conflict
2020-03-10 17:09:49 -07:00
cgtobi
b9a9a92145 Refactor netatmo webhooks (#32195)
* Start webhook implementation

* Add webhook implementation

* Bump pyatmo 3.2.5

* Fire event after data evaluation

* Setup webhooks after components

* Fix logging

* Wrap non async call

* Wrap non async call

* Add smoke detector and door tag webhook support

* Catch when webhook registration fails

* Log to debug

* Fix persons lookup

* Add dependency

* Remove false requirements

* Fix requirements

* Replace netatmo events by a single one

* Slim down code

* Clean up code

* Address review vomments

* Undo attribute removal

* Bump pyatmo to v3.3.0

* Only create webhook id once and reuse

* Store and reuse cloudhook url

* Wait for hass core to be up and running

* Register webhook once HA is ready

* Delay webhook registration
2020-03-10 17:08:59 -07:00
springstan
ba0aaeeddb Use f-strings in integrations starting with "M" (#32271)
* Use f-strings in integrations starting with "M"

* Format mqtt light init with black

* Fix lint error

* Fix pylint error

* Restore constants

* Update homeassistant/components/mqtt/discovery.py

* Update homeassistant/components/mqtt/discovery.py

* Update homeassistant/components/mqtt/discovery.py

* Update homeassistant/components/mqtt/discovery.py

* Format with Black
2020-03-10 23:34:54 +01:00
Bram Kragten
bbe0f75336 input_datetime guard for unexpected state on restore (#32652)
* input_datetime guard for unexpected state

If state is a time and has_date = true, or the other way around, restore state would error

* Update __init__.py

* Add test
2020-03-10 15:15:11 -07:00
Gerard
765882fc4d Fix bmw connected drive door_lock_state attribute error (#32074)
* Fix for door_lock_state attribute error

* Updates based on review comments

* Remove update_time

* Remove update time in lock

* Remove update time in sensor

* Remove unused variable

* Change return for device_state_attributes
2020-03-10 23:05:35 +01:00
J. Nick Koston
908ae23738 Add griddy integration (#32591)
* Add griddy integration

* Griddy is a wholesale power provider in Texas

* Supports all four load zones in Texas

* Provides real time power price which is useful for automations to handle demand response

* Update homeassistant/components/griddy/sensor.py

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

* Update homeassistant/components/griddy/config_flow.py

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

* Add ability request updated via entity update service.

* Improve error message about already configured

* Remove DEVICE_CLASS_POWER since we do not have a device class for cost

* remove setdefault that was left from previous refactor

* More detail on data naming

* Bump translation for testing

* git add the config flow tests

* s/PlatformNotReady/ConfigEntryNotReady/

* Review items

* git add the other missing file

* Patch griddypower

* reduce

* adjust target

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-03-10 23:00:30 +01:00
Aaron Bach
21cff003f8 Add options flow for AirVisual (#32634)
* Add options flow for AirVisual

* Code review

Co-Authored-By: Robert Svensson <Kane610@users.noreply.github.com>

Co-authored-by: Robert Svensson <Kane610@users.noreply.github.com>
2020-03-10 14:16:25 -06:00
Paulus Schoutsen
2c1da182e2 Merge pull request #32650 from home-assistant/rc
0.106.6
2020-03-10 13:01:35 -07:00
Paulus Schoutsen
39bdb562d3 Bumped version to 0.106.6 2020-03-10 11:50:54 -07:00
Paulus Schoutsen
1d1f8df509 Upgrade to coronavirus 1.1.0 (#32648) 2020-03-10 11:49:26 -07:00
Maikel Punie
ccb8b6b9c8 Update python-velbus to fix a missing data file (#32580) 2020-03-10 11:49:25 -07:00
Paulus Schoutsen
c0dcd9c674 Send messages conforming new facebook policy (#32516) 2020-03-10 11:49:24 -07:00
Quentame
6062854666 Get pending iCloud devices when available + request again when needs an update (#32400)
* Fetch iCloud devices again if the status is pending

* Remove "No iCloud device found" double check

* fix default api_devices value

* Remove useless unitialisation declarations
2020-03-10 11:49:11 -07:00
Paulus Schoutsen
a3c55b5e96 Upgrade to coronavirus 1.1.0 (#32648) 2020-03-10 11:47:07 -07:00
Paulus Schoutsen
89fc430eec Check against Switch attr not being None (#32647) 2020-03-10 11:28:11 -07:00
Vilppu Vuorinen
b2bb9cf134 Add support for MELCloud Air-to-Water devices (#32078)
* Add support for melcloud Air-to-Water devices

* Add water_heater entity for the water heater component.

* Add individual climate entities for 0-2 supported radiator zones.

* Add sensors for zone room temperatures, outdoor temperature and tank
temperature.

* Update .coveragerc

* Use device_state_attributes

Co-Authored-By: Martin Hjelmare <marhje52@gmail.com>

* Apply suggestions from code review

Co-Authored-By: Martin Hjelmare <marhje52@gmail.com>

* Complete state_attributes -> device_state_attributes migration

* Move constants to top of file

* Remove async_turn_on/off

* Drop mac from ATW unique_ids

* Add MAC to device_info connections

* Remove redundant ABC inheritance

* Update homeassistant/components/melcloud/water_heater.py

Co-Authored-By: Martin Hjelmare <marhje52@gmail.com>

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-03-10 11:00:07 -07:00
Robert Svensson
16d7f84be7 UniFi - Fix block functionality (#32625)
* Fix block functionality

* Remove unrelated changes

* Bump dependency to v15

* Run requirement script
2020-03-10 18:27:25 +01:00
Paulus Schoutsen
0a25e86fab Use callback instead of async methods in Timer (#32638) 2020-03-10 08:01:52 -04:00
Jc2k
c11a462f51 Clean up homekit_controller entity setup (#32628) 2020-03-10 12:06:44 +01:00
Paolo Tuninetto
a8758ed3a1 Add support for newer SamsungTV models (#31537)
* Added support for newer SamsungTV models

* Fixed legacy port

* store token in HA config directory

* Change token name

* rebasing and exception handling

* implement update

* fix error creating mediaplayer

* Debug logging

* Increase timeout

* Restore update timeout

* Store token_file path in config_entry

* Introduction of samsung bridge class

* Added bridge class functions

* Code cleanup

* more fixes

* Begin testing

* samsungtvws 1.2.0

* Config flow tests 0.1

* Fixed some mediaplayer tests

* Fixed fixture in media player

* use of constants and turn off

* more media player tests

* samsungtvws 1.3.1 and other fixes

* WS tv update rewritten

* more tests

* test_init

* fixed tests

* removed reset mock

* tests reset mock

* close_remote and tests

* deprecate port config

* deprecate port config 2

* deprecate port config 3

* save token only if needed

* cleanup

* better websocket protocol detection

* config removal
2020-03-10 11:48:09 +01:00
Quentame
2e802c88f8 Add devices check to iCloud config flow (#31950)
* Add devices check to iCloud config flow

* Some test rename

* Bump pyicloud to catch KeyError
2020-03-10 11:42:04 +01:00
Michaël Arnauts
8c52e2c923 Revert "Breakout tado zone code into a single place (#32564)" (#32639)
This reverts commit c2b03332a0.
2020-03-10 09:32:56 +01:00
Paul Enright
ac9c9377c2 Add tests for workday sensor (#31832)
* Workday Fix

* fix pylint errors

* Update binary_sensor.py

* Update test_binary_sensor.py

Added tests to match the document new configuration examples
2020-03-10 08:53:06 +01:00
Robert Chmielowiec
11eee43fc7 Remove facebook broadcast api (#32517)
* Remove facebook broadcast api

* Update notify.py

* Revert API Version change
2020-03-10 08:21:04 +01:00
Georgi Gardev
aed15761de Sonos: Return URI as media_content_id (#32626) 2020-03-10 08:17:07 +01:00
Erik Montnemery
324dfe07b4 Clear discovery topic for MQTT device triggers (#32617) 2020-03-09 21:59:38 -07:00
Thomas Hollstegge
f3c07a5653 Alexa: Add support for starting and cancelling timers (#32616) 2020-03-09 21:59:06 -07:00
Aaron Bach
f4561891ae Ensure AirVisual import config flow checks API key correctness (#32624)
* Add small improvements to AirVisual config flow tests

* Code review comments

* Code review comments
2020-03-09 21:39:42 -06:00
J. Nick Koston
c2b03332a0 Breakout tado zone code into a single place (#32564)
* Breakout tado zone code into a single place

* Resolve various incorrect states and add tests for known tado zone states

* Fix home and away presets

* Upgrade to PyTado 0.4.0 which improves http performance and fixes setting fan speed.

* Write state instead of calling for an update

* adjust codeowners

* Add tests for michael's tado and fix heatingPower.value

* Guards are much cleaner

* Adjust per review

* Remove hass passing
2020-03-09 17:44:34 -07:00
J. Nick Koston
3a680bf7b7 Add a commit interval setting to recorder (#32596)
* Add a commit interval setting to recorder

* Make the default every 1s instead of immediate

* See attached py-spy flamegraphs for why 1s

* This avoids disk thrashing during event storms

* Make Home Assistant significantly more responsive on busy systems

* remove debug

* Add commit forces for tests that expect commits to be immediate

* Add commit forces for tests that expect commits to be immediate

* make sure _trigger_db_commit is in the right place (all effective "wait_recording_done" calls)

* De-duplicate wait_recording_done code
2020-03-09 17:43:26 -07:00
Paulus Schoutsen
8a46d93be4 Upgrade hass_nabucasa to 0.32.2 (#32522)
* Upgrade hass_nabucasa to 32.1

* Fix tests

* Update hass-nabucasa to 0.32.2

Co-authored-by: Pascal Vizeli <pvizeli@syshack.ch>
2020-03-09 17:42:26 -07:00
Alexei Chetroi
87b770be08 Add PollControl cluster support to ZHA (#32618)
* Poll control channel

Set check-in interval to 55min.
Set long-poll interval to 6s.

* Update tests.

* Don't use magic numbers.
2020-03-09 19:55:25 -04:00
Aaron Bach
9a3c58213b Validate WWLLN window size in config schema (#32621)
* Validate WWLLN window size in config schema

* Cleanup

* Clean up imports

* Fix tests
2020-03-09 17:18:39 -06:00
Paulus Schoutsen
d4615fd432 Freeze config entry data (#32615)
* Freeze config entry data

* Fix mutating entry.data

* Fix config entry options tests
2020-03-09 14:07:50 -07:00
J. Nick Koston
3318e65948 Convert august to async (#32586)
* Convert august to async

Async io was added to py-august 0.24

* Fix lint
2020-03-09 13:54:05 -07:00
marengaz
09512e9f8b Reflect new repo name (#32611) 2020-03-09 12:46:52 -07:00
Maciej Bieniek
96a0aa3d2b Add new sensors to Brother integration (#32466)
* Add new sensors

* Suggested change
2020-03-09 11:54:43 -07:00
Erik Montnemery
4bb9f1800d Deduplicate MQTT mixin tests (#32563)
* Deduplicate MQTT mixin tests

* Remove test of not yet merged function
2020-03-09 09:40:00 -07:00
Alexei Chetroi
743833e5f3 Bump up ZHA dependencies. (#32609)
* Bump up ZHA dependencies.

* Update tests to match library changes.
2020-03-09 12:39:41 -04:00
David Nielsen
988b400a9c Fix TypeError Exception in AlexaSpeaker (#32318)
* alexa/capabilities.py: Fix TypeError Exception

    - Remove division by zero try/catch -- there is no division
    - Handle TypeError exception when current_volume = None
    - Simplify math and return logic

* Add test for Alexa.Speaker's valid volume range
2020-03-09 09:38:31 -07:00
Jc2k
19faf06ce7 homekit_controller fixes from testing with an LG TV: (#32610)
* Bump aiohomekit to get better reconnection handling and cleaner shutdowns.
 * Read the ACTIVE characteristic and set ok/problem state

Also gets test coverage to 100%.
2020-03-09 12:19:17 -04:00
Thomas Hollstegge
22b5690607 Alexa: Support vacuums without turn_on/turn_off feature (#32570)
* Alexa: Support vacuums without turn_on/turn_off feature
2020-03-09 11:58:47 -04:00
lewei50
e1d6964589 Add IamMeter integration (#30465)
* Update .coveragerc

* Update requirements_all.txt

* Create manifest.json

* Add files via upload

* add codeowner

* add codeowner.

* Update sensor.py

* Update sensor.py

* remove unused import.

* Update manifest.json

* Update sensor.py

* modify requirements_all.txt.

* order imports.

* Update sensor.py

* Use DataUpdateCoordinator rewrite code

* set should_poll to False

* remove unused code 'serial'.

* add available prop

* Update homeassistant/components/iammeter/sensor.py

Co-Authored-By: springstan <46536646+springstan@users.noreply.github.com>

* Update homeassistant/components/iammeter/sensor.py

Co-Authored-By: springstan <46536646+springstan@users.noreply.github.com>

* Update homeassistant/components/iammeter/sensor.py

Co-Authored-By: springstan <46536646+springstan@users.noreply.github.com>

* Update homeassistant/components/iammeter/sensor.py

Co-Authored-By: Martin Hjelmare <marhje52@gmail.com>

* Update homeassistant/components/iammeter/sensor.py

Co-Authored-By: Martin Hjelmare <marhje52@gmail.com>

* Update homeassistant/components/iammeter/sensor.py

Co-Authored-By: Martin Hjelmare <marhje52@gmail.com>

* Update sensor.py

* Update sensor.py

Co-authored-by: springstan <46536646+springstan@users.noreply.github.com>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-03-09 08:39:39 -07:00
ochlocracy
fa4f27f78e Remove AlexaPowerController from device_class garage covers in… (#32607) 2020-03-09 08:25:33 -07:00
Franck Nijhof
c0c5c33b20 Fix Withings timezone test (#32602) 2020-03-09 13:45:39 +01:00
Mans Matulewicz
a6e0ab2b3a Add thinkingcleaner optional host param (#32542)
* adding support for optional host param

as thinkingcleaner backend was having issues (again)
-> https://www.thinkingsync.com/

* Update switch.py

* Update sensor.py

* Update switch.py

* Update sensor.py

* Update switch.py

* Update switch.py

* Update sensor.py
2020-03-09 12:56:26 +01:00
Kris Bennett
f7f6c47973 Add Steam game ID and screenshot paths as attributes (#32005)
* Update Steam intergration to list screenshot paths and Steam game ID

* Steam entity_picture now changed to game art when in-game

* Steam - changing API endpoints to constants

* Steam - formatting code for lint

* Update sensor.py

*Removing entity_picture image switching based on current playing game

* Steam - tidying up code

* Update homeassistant/components/steam_online/sensor.py

Co-Authored-By: springstan <46536646+springstan@users.noreply.github.com>

Co-authored-by: springstan <46536646+springstan@users.noreply.github.com>
2020-03-09 11:38:24 +01:00
Dave T
df86668dfc Correct grammatical error in CUSTOM_WARNING (#32569) 2020-03-09 09:40:08 +01:00
jey burrows
5ace7de171 Bump rflink to 0.0.52 (#32588) 2020-03-09 09:35:54 +01:00
seanvictory
0dd0b2fa03 Add support for Ubee Router DVW32CB (#32406)
* Update PyUbee to 0.9

Adds support for Ubee Router DVW32CB

* Add support for Ubee Router DVW32CB

* Update pyubee to 0.9

Adds support for router DVW32CB
2020-03-09 09:04:53 +01:00
Oliver
963b5db763 Bump denonavr to 0.8.0 (#32578) 2020-03-08 23:43:12 +01:00
Josef Schlehofer
f54c50fae3 Upgrade youtube_dl to version 2020.03.08 (#32581) 2020-03-08 23:37:58 +01:00
Quentame
8a878bbe72 Bump pyicloud to 0.9.3 (#32582) 2020-03-08 23:32:14 +01:00
Maikel Punie
4fbc404c47 Update python-velbus to fix a missing data file (#32580) 2020-03-08 19:10:05 +01:00
Daniel Høyer Iversen
b5118c41a6 Add Tibber retry (#32554)
* Add retry setup to Tibber

* tibber lib

* update comment

* update comment

* increase delay for every try

* Update homeassistant/components/tibber/__init__.py

Co-Authored-By: Martin Hjelmare <marhje52@gmail.com>

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-03-08 12:20:33 +01:00
Anders Melchiorsen
17215709e1 Simplify logbook duplicate handling (#32572) 2020-03-07 20:27:51 -08:00
J. Nick Koston
a0787cd9be Bump zeroconf to 0.24.5 (#32573)
* Bump zeroconf to 0.24.5

* Empty commit to force ci re-run
2020-03-08 08:52:27 +05:30
Alexei Chetroi
7e781946fa Refactor ZHA device keep alive checker (#32561)
* Refactor zha core device _check_available().
Make it async, so we don't run it in a sync worker.

* Use random keep alive interval for zha device pings.
* Update tests.
2020-03-07 13:52:45 -05:00
David F. Mulcahey
732457745f Add guard to ZHA device triggers (#32559) 2020-03-07 12:59:18 -05:00
Ivan Belokobylskiy
1f510389b8 Fix Yandex transport after API change (#32500)
* Update Yandex transport after API change (home-assistant#32431)

* Update mocked response for test (home-assistant#32431)

* Codestyle fixes (home-assistant#32431)
2020-03-07 18:26:35 +01:00
shred86
ae2e6f9d2a Fix unnecessary method call (#32549) 2020-03-07 16:13:39 +01:00
David F. Mulcahey
e52542c4d7 Allow multiple attribute reads in ZHA (#32498)
* multi attribute reads for lights

* catch specific exceptions

* get attributes

* fix mains powered update

* add guards and use get_attributes

* use debug for read failures

* cleanup

* update return value for read_attributes

* fix on with timed off
2020-03-07 07:33:59 -05:00
Alexei Chetroi
dd91b51435 Make ZHA Scene channel an eventable channel. (#32546) 2020-03-06 17:32:26 -05:00
Raman Gupta
28a5fca7f4 fix step name in strings.json for vizio (#32536) 2020-03-06 10:56:15 -08:00
Tom Schneider
8f2567f30d Add config_flow to shopping_list (#32388)
* Add config_flow to shopping_list

* Fix pylint unused import error

* Use _abort_if_unique_id_configured

* Remove SHOPPING_LIST const

* Use const.py for DOMAIN and CONF_TYPE

* Fix tests

* Remove unchanged variable _errors

* Revert CONF_TYPE (wrong usage)

* Use consts in test

* Remove import check

* Remove data={}

* Remove parameters and default values

* Re-add data={}, because it's needed

* Unique ID checks and reverts for default parameters

* remove pylint comment

* Remove block till done

* Address change requests

* Update homeassistant/components/shopping_list/strings.json

Co-Authored-By: Quentame <polletquentin74@me.com>

* Update homeassistant/components/shopping_list/strings.json

Co-Authored-By: Quentame <polletquentin74@me.com>

* Update tests/components/shopping_list/test_config_flow.py

Co-Authored-By: Quentame <polletquentin74@me.com>

* Update tests/components/shopping_list/test_config_flow.py

Co-Authored-By: Quentame <polletquentin74@me.com>

* Update tests/components/shopping_list/test_config_flow.py

Co-Authored-By: Quentame <polletquentin74@me.com>

* Update tests/components/shopping_list/test_config_flow.py

Co-Authored-By: Quentame <polletquentin74@me.com>

* Only test config_flow

* Generate translations

* Move data to end

* @asyncio.coroutine --> async def, yield from --> await

* @asyncio.coroutine --> async def, yield from --> await (tests)

* Remove init in config flow

* remove if not hass.config_entries.async_entries(DOMAIN)

* Add DOMAIN not in config

* Fix tests

* Update homeassistant/components/shopping_list/config_flow.py

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

* Fix tests

* Update homeassistant/components/shopping_list/__init__.py

Co-Authored-By: Martin Hjelmare <marhje52@gmail.com>

Co-authored-by: Quentame <polletquentin74@me.com>
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-03-06 10:17:30 -08:00
Rami Mosleh
e1cc2acdf9 Specify rtsp_transport for Onvif Camera (#31918)
* specify rtsp_transport for onvif camera

* remove used variable

* Update homeassistant/components/stream/__init__.py

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

* change options to stream_options

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-03-06 09:59:57 -08:00
Bram Kragten
ac945242dc Updated frontend to 20200306.0 (#32532) 2020-03-06 17:42:19 +01:00
Jc2k
2879081772 Implement source switching for homekit_controller televisions (#32526) 2020-03-06 15:47:40 +00:00
olijouve
0d667c1bd9 Add more onvif PTZ move modes (#30152)
* Adding support for PTZ move modes

Adding support for other PTZ move modes.
Onvif intergration used to only support RelativeMove where it should also supports AbsoluteMove, ContinuousMove and Stop.
For exemple Goke GK7102 based IP camera only support ContinuousMove mode.

This commit add those new modes with avaibility to select mode and params in service call.

* Adding support for PTZ move modes

Adding support for other PTZ move modes.
Onvif intergration used to only support RelativeMove where it should also supports AbsoluteMove, ContinuousMove and Stop.
For exemple Goke GK7102 based IP camera only support ContinuousMove mode.

Update service helper for new avaibility to select mode and params in service call.

* RelativeMode as default move_mode to avoid breakchange

RelativeMode as default move_mode to avoid breakchange

* add missing attribute

add missing continuous_duration attribute

* change service attribute label for continuous_duration

* update description

fix wrong assertion for move_mode attr description

* Update services.yaml

* Update services.yaml

fix wrong wording for move_mode

* Update camera.py

Using defined constants instead of  raw strings in conditions

* Update camera.py

Replace integer to floating point in logger debug PTZ values

* Update services.yaml

* Update services.yaml

* Update camera.py

* Update camera.py

* use dict[key] for required schema keys and keys with default schema values

* remove async for setup_ptz method

* lint error

* remove unecessary PTZ_NONE = "NONE"

changed request by @MartinHjelmare

* addressing @ MartinHjelmare comments

- Remove None in defaluts and dicts
- Replace long if blocks

* remove NONE

* lint issue

* Update camera.py

* Fix lint error - typo

* rename onvif_ptz service to just ptz

* rename onvif_ptz service to just ptz

* use dict[key] when default values are set

use service.data[key] instead of service.data.get[key] when default value is set in service schema

* adresse comment: use dict[key] for pan tilt zoom

* Apply suggestions from code review

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-03-06 15:14:01 +01:00
Chris Talkington
3b75fdccfd Add availability to roku media player entities (#32484)
* track if roku is available based on update errors.

* Update media_player.py

* Update media_player.py
2020-03-06 13:55:32 +01:00
Josef Schlehofer
5f6158f656 Upgrade youtube_dl to version 2020.03.06 (#32521) 2020-03-06 07:30:04 +01:00
Paulus Schoutsen
e02042b33e Send messages conforming new facebook policy (#32516) 2020-03-05 17:19:30 -08:00
Paulus Schoutsen
19254eee30 Upgrade hass-nabucasa to 0.32 (#32508) 2020-03-05 13:34:24 -08:00
Paulus Schoutsen
a579fcf248 Add app support for TVs to Vizio integration (#32432)
* add app support

* code cleanup, add additional test, add CONF_APPS storage logic for import

* simplify schema defaults logic

* remove unnecessary lower() and fix docstring

* remove default return for popping CONF_APPS during import update because we know entry data has CONF_APPS due to if statement

* further simplification

* even more simplification

* fix type hints

* move app configuration to separate step, fix tests, and only make app updates if device_type == tv

* remove errors variable from tv_apps and move tv_apps schema out of ConfigFlow for consistency

* slight refactor

* remove unused error from strings.json

* set unique id as early as possible

* correct which dictionary to use to set unique id in pair_tv step
2020-03-05 13:34:12 -08:00
Paulus Schoutsen
873bf887a5 Add OwnTracks Friends via person integration (#27303)
* Returns an unencrypted location of all persons with device trackers

* Handle encrypted messages and exclude the poster's location

* Friends is by default False. Reformats with Black

* Updates the context init to account for the Friends option

* Fix Linter error

* Remove  as a config option

* No longer imports encyrption-related functions in encrypt_message

* Fix initialization in test

* Test the friends functionality

* Bugfix for persons not having a location

* Better way to return the timestamp

* Update homeassistant/components/owntracks/__init__.py

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

* Linting and tid generation

* Fix test

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-03-05 12:55:48 -08:00
David F. Mulcahey
b5022f5bcb guard against invalid trigger and action scenarios (#32512) 2020-03-05 15:52:09 -05:00
David Bonnes
ae0ea0f088 Bugfix evohome converting non-UTC timezones (#32120)
* bugfix: correctly handle non-UTC TZs
* bugfix: system mode is always permanent
* bugfix: handle where until is none
* tweak: improve logging to support above fixes
2020-03-05 20:42:52 +00:00
Paulus Schoutsen
4717d072c9 Remove discovery and legacy config file loading for Plex (#32510) 2020-03-05 12:36:18 -08:00
Paulus Schoutsen
8aea538662 Allow teaching logbook about events (#32444)
* Allow teaching logbook about events

* Use async_add_executor_job

* Fix tests
2020-03-05 11:55:50 -08:00
Paulus Schoutsen
7c51318861 Require title, separate show sidebar option (#32479)
* Require title, separate show sidebar option

* Fix list command not updating

* Some more test checks
2020-03-05 11:52:12 -08:00
Paulus Schoutsen
d885853b35 Make it possible to fetch proxy media player album art (#32471) 2020-03-05 11:45:36 -08:00
Paulus Schoutsen
6a21afa2a8 Improve script validation (#32461) 2020-03-05 11:44:42 -08:00
Ville Skyttä
da7c5518f3 Add Huawei LTE operator and network related sensors (#32485)
* Add Huawei LTE operator and network related sensors

Adds "Operator search mode", "Operator name", "Operator code", and "Preferred mode" sensors

* Blackify

* Blackify "Add Huawei LTE operator and network related sensors"
2020-03-05 21:29:53 +02:00
Jc2k
007d934214 Initial support for HomeKit enabled televisions (#32404)
* Initial support for HomeKit enabled televisions

* Fix nit from review
2020-03-05 13:49:56 +00:00
Quentame
85ba4692a9 Get pending iCloud devices when available + request again when needs an update (#32400)
* Fetch iCloud devices again if the status is pending

* Remove "No iCloud device found" double check

* fix default api_devices value

* Remove useless unitialisation declarations
2020-03-05 08:50:39 +01:00
Paulus Schoutsen
521cc7247d Add Dynalite switch platform (#32389)
* added presets for switch devices

* added channel type to __init and const

* ran pylint on library so needed a few changes in names

* removed callback

* bool -> cv.boolean
2020-03-04 22:05:39 -08:00
Paulus Schoutsen
d216c1f2ac UniFi - Add block network access control to config option (#32004)
* Add block network access control to config option

* Clean up
2020-03-04 21:55:56 -08:00
Paulus Schoutsen
1615a5ee81 Use unique_id in Plex config entries (#32489) 2020-03-04 21:42:48 -08:00
Paulus Schoutsen
81f99efda1 Mock all invocations of coronavirus.get_cases (#32487) 2020-03-04 21:42:07 -08:00
Paulus Schoutsen
81810dd920 Modernize WWLLN config flow (#32194)
* Modernize WWLLN config flow

* Code review

* Update tests
2020-03-04 18:23:00 -08:00
Paulus Schoutsen
56cf4e54a9 Add github sensor latest tag attribute (#32360)
* Add attribute 

latest release tag

* add attrs = 

and only create attr Tag if exists
made requested changes

* change condition for _latest_release_tag

to use self._github_data.latest_release_url

* Correct changes

* Update sensor.py

* blackify
2020-03-04 18:14:45 -08:00
Paulus Schoutsen
9a4aad1777 Add async_setup_entry/async_unload_entry for remote platform (#31974)
* add async_setup_entry for remote platform

* add async_unload_entry for remote platform

* Update __init__.py

* Update __init__.py

* Update __init__.py

* Update __init__.py

* Update __init__.py

* Update __init__.py

* Update __init__.py

* Type

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-03-04 18:09:17 -08:00
Paulus Schoutsen
daff87fe5d Emoncms API now provides a Unit of Measurement (#32042)
* Emoncms API provides a Unit

The EmonCMS API has been amended to include a 'unit' as part of it's payload.  By using this information, all the sensors can be created without the need for individual sensors to be setup by type.

The change is backward compatible so if a unit type has been specified in the configuration, this will be used by default.

If no unit is pecified either by the Home Assistant configuration, or the Emoncms API, then the default of W will be used as before.

* Update sensor.py

Check the 'unit' key is in the API call. Older systems may not have that key in the payload.

* Modified approach with new configuration item

* Removed new config item

Removed the configuration item. The integration attempts to get the unit from the API.

If this fails *or* the unit key of the API is blank, either the specified unit, or the default will be used.

If approved, documentation will be updated.

* Update homeassistant/components/emoncms/sensor.py

Co-Authored-By: springstan <46536646+springstan@users.noreply.github.com>

* Update homeassistant/components/emoncms/sensor.py

Co-Authored-By: springstan <46536646+springstan@users.noreply.github.com>

* Apply suggestions from code review

* Apply suggestions from code review v2

* Update homeassistant/components/emoncms/sensor.py

Co-Authored-By: springstan <46536646+springstan@users.noreply.github.com>

* Update sensor.py

Update `config_unit`

Co-authored-by: springstan <46536646+springstan@users.noreply.github.com>
2020-03-04 18:03:51 -08:00
Paulus Schoutsen
bfe1e8fef3 fix double tab and match events. (#32108)
this propose makes some logic to the device triggers, matching the events for the aqara cube.
this also fixes the double tap function on side 2
2020-03-04 17:54:00 -08:00
Paulus Schoutsen
b848c97211 Add soundtouch attributes exposing multiroom zone info (#28298)
* [soundtouch] workaround for API bug when removing multiple slaves from a zone at once

* [soundtouch] added additional attributes exposing multiroom zone info

* Fix update with slave entities

* Add zone attributes test

* Fix and clean up tests

* Fix typo

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-03-04 17:53:15 -08:00
Paulus Schoutsen
2316f7ace4 Add edl21 component for SML-based smart meters (#27962)
* Add edl21 component for SML-based smart meters

* edl21: Remove unused variable

* [edl21] Add 1 minute throttle to the sensor

* Update homeassistant/components/edl21/manifest.json

Fix documentation URL

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

* edl21: Move imports to top

* edl21: Remove special case for STATE_UNKNOWN, which replicated default behavior

* edl21: Implement blacklist for and warn about unhandled OBIS values

* edl21: Make blacklist global

* edl21: Add filter to issues URL

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

* edl21: Rename device to entity

* edl21: Don't schedule async_add_entities

* edl21: Use dispatcher, implement own throttling mechanism

* edl21: Simplify keeping track of known obis

* edl21: Use whitelist for state attributes

* edl21: Remove dispatcher on shutdown

* edl21: Convert state attributes to snakecase

* edl21: Annotate handle_telegram with @callback

* edl21: Call async_write_ha_state instead of schedule_update_ha_state

Co-authored-by: David Straub <straub@protonmail.com>
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-03-04 17:43:12 -08:00
Paulus Schoutsen
c4ed2ecb61 Add node_def_id for ISY994i wrapped X10 modules (#31815) 2020-03-04 17:42:18 -08:00
Paulus Schoutsen
eac1f029e5 Allow string values on zwave.set_node_value (#31061)
* Allow string values on zwave.set_node_value

This allows for:

* Accessing longer value_ids. In some cases, value ids in z-wave nodes are very large (17 digits in my case). Passing them as int does not seem to work well (python probably truncates the number), but passing them as string works fine
* Changing color values, which are represented as hex string

reformat test

* update services.yaml with string set_node_value
2020-03-04 17:40:58 -08:00
Paulus Schoutsen
1d3647e6a1 Make gen_requirements_all.py case insensitive for ignored pack… (#30885) 2020-03-04 17:39:59 -08:00
Paulus Schoutsen
2d3b117cb8 Use SCAN_INTERVAL instead of Throttle for google travel time (#31420)
The documentation for google_travel_time was at odds with the
implementation. The documentation stated a default scan time of
5 minutes, but the implementation was using Throttle which resulted
in the sensor updating at a maximum rate of one API call every
5 minutes. This was especially at odds with a given example at
the end of the documentation, which showed updating the sensor
every 2 minutes during commute times.

This change brings the implementation in line with the docs by
adopting the `SCAN_INTERVAL` constant set to the stated default
of 5 minutes and removing the Throttle.
2020-03-04 17:39:28 -08:00
Paulus Schoutsen
7b5b909f0a ZHA Dependencies bump (#32483)
* ZHA Dependencies bump.

* Bump up ZHA dependencies.
2020-03-04 17:35:07 -08:00
Paulus Schoutsen
3ca97a0517 Add sighthound timestamped file (#32202)
* Update image_processing.py

Adds save timestamp file and adds last_detection attribute

* Update test_image_processing.py

Adds test

* Adds assert pil_img.save.call_args

* Test timestamp filename

* Add test bad data

* Update test_image_processing.py

* Fix bad image data test

* Update homeassistant/components/sighthound/image_processing.py

Co-Authored-By: Martin Hjelmare <marhje52@gmail.com>

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-03-04 17:31:54 -08:00
Alexei Chetroi
e416f17e4d ZHA: Successful pairing feedback (#32456) 2020-03-04 19:27:37 -05:00
Paulus Schoutsen
76fec90fec Reduce log level for initial error and bump library version (#32381)
* Reduce log level for initial error and bump library version

  * Use new buienradar library version which reduces the log level
    for some types of warnings.
  * Initially logs at a lower level and only logs at WARN for repeated
    errors.

This should serve to reduce confusion with users such as in
issue #32301.

* Fix linter error with new linter settings.

* Fix linter warning

* Update homeassistant/components/buienradar/util.py

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-03-04 15:32:44 -08:00
Quentame
15a5cebd5f Add icons to Coronavirus (#32480)
* Add icons to Coronavirus

* Update homeassistant/components/coronavirus/sensor.py

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-03-05 00:02:22 +01:00
Paulus Schoutsen
9a8017aadd Add more Huawei LTE sensors (#32123)
* Add Huawei LTE WiFi client count and DNS server sensors

* Add Huawei LTE current month statistics sensors
2020-03-04 14:56:37 -08:00
Paulus Schoutsen
d1beb92c5d Add abode support for CUE automations (#32296)
* Add support for CUE automations

* Update requirements

* Minor update to string name
2020-03-04 14:54:28 -08:00
Paulus Schoutsen
2abdfc9da6 GeoNet NZ Quakes code improvements (#32338)
* code quality improvements

* code quality improvements and fixed tests

* explicitly set unique ids

* improve unique id creation

* remove entities from entity registry

* added test for removing entities from entity registry

* revert entity registry handling from sensor and test code

* check for entity registry removal in geolocation test case

* make import absolute; isort

* change quality scale
2020-03-04 14:52:16 -08:00
Paulus Schoutsen
dd7d8d4792 Remove 'show all controls' option for Plex (#32391) 2020-03-04 14:42:50 -08:00
Paulus Schoutsen
0e436ac80e add const file for roku (#32470) 2020-03-04 14:24:59 -08:00
springstan
c7d983fd44 Catch an extra error for Ring (#32477) 2020-03-04 23:09:54 +01:00
Daniel Høyer Iversen
0c0d4c460f Upgrade Tibber library to 0.13.2 (#32478) 2020-03-04 22:48:00 +01:00
Pascal Vizeli
9aaab41985 Deprecate camera WS API (#32473) 2020-03-04 21:58:07 +01:00
Paulus Schoutsen
0763dc6089 Fix filter sensor processing states that aren't numbers (#32453)
* lint

* only_numbers flag
2020-03-04 12:47:53 -08:00
Martin Hjelmare
e9978e77bd Upgrade huawei-lte-api to 1.4.10 (#32472)
https://github.com/Salamek/huawei-lte-api/releases/tag/1.4.8
https://github.com/Salamek/huawei-lte-api/releases/tag/1.4.9
https://github.com/Salamek/huawei-lte-api/releases/tag/1.4.10
2020-03-04 20:51:56 +01:00
HomeAssistant Azure
104350265d [ci skip] Translation update 2020-03-04 18:13:24 +00:00
Alexei Chetroi
20333703c5 Remove ZHA attribute listening channel (#32468)
* remove AttributeListeningChannel
* pull sleeps
* update signature to fix pylint
2020-03-04 13:11:53 -05:00
J. Nick Koston
7f91501a36 Use a requests Session for rest sensors (#32463)
This avoids the ssl setup overhead for each request
2020-03-04 08:32:38 -08:00
Paulus Schoutsen
b27c46750c Update error handling in update coordinator (#32452) 2020-03-04 08:05:46 -08:00
z0p
f62322cfb4 Add set_speed to smarty fan (#32255) 2020-03-04 10:09:33 +01:00
Raman Gupta
4f619691df Add is_volume_muted property to vizio integration (#32332)
* add is_muted property and update tests

* black

* manually set is_muted on async_mute_volume calls to set state early

* combine two lines into one

* set is_muted to None when device is not on
2020-03-04 10:04:52 +01:00
Alan Tse
6a6bf517fe Add energy added attribute to Tesla charging rate sensor (#32368)
* Add charge_energy_added attribute

* Bump teslajsonpy
2020-03-04 10:00:34 +01:00
Paulus Schoutsen
7678d66464 Fix device tracker TrackerEntity defaults (#32459) 2020-03-04 09:43:52 +01:00
Philipp Schmitt
af76a336af Update roombapy to 1.4.3 (#32462) 2020-03-04 09:41:34 +01:00
Austin Mroczek
d666b15689 Bump total-connect-client to 0.53 (#32460) 2020-03-04 08:08:31 +01:00
Paulus Schoutsen
4be9766498 Merge pull request #32457 from home-assistant/rc
0.106.5
2020-03-03 20:19:14 -08:00
Paulus Schoutsen
4080d6a822 Bumped version to 0.106.5 2020-03-03 18:26:19 -08:00
Robert Svensson
6d06844318 UniFi - Fix websocket bug (#32449) 2020-03-03 18:26:11 -08:00
Paulus Schoutsen
a150d6dcf3 Remove hassfest blacklisted rest (#32441)
* Remove blacklisted deps from hassfest deps

* Whitelist all internal integrations
2020-03-03 18:26:10 -08:00
Achilleas Pipinellis
a0390783bb Fix pushover's ATTR_RETRY env variable typo (#32440) 2020-03-03 18:26:10 -08:00
J. Nick Koston
91b10e875f Properly define dependency for pvoutput integration on rest in… (#32435) 2020-03-03 18:26:09 -08:00
Paulus Schoutsen
f04969cf30 Filter out duplicate logbook states (#32427) 2020-03-03 18:26:08 -08:00
Alan Tse
cdde5a37cd Fix too many device tracker updates in log for Tesla (#32426)
* Fix Tesla too many device tracker updates in log

* Empty commit to re-trigger build

Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2020-03-03 18:26:07 -08:00
Alan Tse
f0c7a7c1bf Fix too many device tracker updates in log for Tesla (#32426)
* Fix Tesla too many device tracker updates in log

* Empty commit to re-trigger build

Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2020-03-03 18:25:32 -08:00
Achilleas Pipinellis
7e3e4c1668 Fix pushover's ATTR_RETRY env variable typo (#32440) 2020-03-03 17:36:28 -08:00
Robert Svensson
02c8cd07f3 UniFi - Fix websocket bug (#32449) 2020-03-03 17:32:13 -08:00
Paulus Schoutsen
4cf86262af Numeric state trigger: validate that above is not above below (#32421)
* Numeric state trigger: validate that above is not above below

* Lint
2020-03-03 17:26:44 -08:00
Paulus Schoutsen
db7d0eb9b9 Remove hassfest blacklisted rest (#32441)
* Remove blacklisted deps from hassfest deps

* Whitelist all internal integrations
2020-03-03 13:57:09 -08:00
Paulus Schoutsen
fed23030d6 Filter out duplicate logbook states (#32427) 2020-03-03 13:56:32 -08:00
Paulus Schoutsen
8f6651af3d Update system log grouping (#32367) 2020-03-03 13:55:15 -08:00
Alexei Chetroi
896df9267a Fix ZHA device healthcheck pings (#32425) 2020-03-03 13:37:17 -05:00
J. Nick Koston
cfa61a6b74 Properly define dependency for pvoutput integration on rest in… (#32435) 2020-03-03 09:25:50 -08:00
J. Nick Koston
1119da7e8a Flume Cleanups (unique id, fix missing timeout, http session,… (#32384)
* Flume Cleanups

* Sensors now show the name

* include_devices and exclude_devices are now available in the config.

* Address review items

* bump as 0.3.0 is published
2020-03-03 09:22:26 -08:00
Jeff Irion
59b4e42f8b Remove SUPPORT_PLAY_MEDIA from Roku (#32378) 2020-03-03 16:59:32 +01:00
Maciej Bieniek
2f8381b1bf Bump brother library (#32436) 2020-03-03 16:59:02 +01:00
Pascal Vizeli
5bbbe60635 Disable codecov because it stop working after renaming.
Come back with GitHub action migration
2020-03-03 16:06:17 +01:00
Bram Kragten
558da56d75 Update config.yml 2020-03-03 11:11:38 +01:00
Paulus Schoutsen
a0403a8864 Merge pull request #32424 from home-assistant/rc
0.106.4
2020-03-02 19:41:01 -08:00
Paulus Schoutsen
bfaad97318 Add unique ID to coronavirus (#32423) 2020-03-02 18:10:51 -08:00
Paulus Schoutsen
c62961f40c Add unique ID to coronavirus (#32423) 2020-03-02 18:10:38 -08:00
Paulus Schoutsen
d6c15d2f45 Bumped version to 0.106.4 2020-03-02 18:04:07 -08:00
Paulus Schoutsen
815502044e Coronavirus updates (#32417)
* Sort countries alphabetically

* Update sensor name

* Add migration to stable unique IDs

* Update sensor.py
2020-03-02 18:04:01 -08:00
mezz64
08f5b49dc4 Catch Eight Sleep API errors, don't round None type (#32410)
* Catch API errors, don't round None type

* Specify error type
2020-03-02 18:04:00 -08:00
mezz64
fab55b0ea2 Bump pyeight to 0.1.4 (#32363) 2020-03-02 18:03:59 -08:00
elmurato
649ec2fc8e Fixed TypeError with old server versions (#32329) 2020-03-02 18:03:59 -08:00
mezz64
aacdc1bc2d Catch Eight Sleep API errors, don't round None type (#32410)
* Catch API errors, don't round None type

* Specify error type
2020-03-02 18:01:39 -08:00
Paulus Schoutsen
fcbea47c74 Coronavirus updates (#32417)
* Sort countries alphabetically

* Update sensor name

* Add migration to stable unique IDs

* Update sensor.py
2020-03-02 17:59:32 -08:00
Matt Snyder
ee7ce47860 Add QVR Pro integration (#31173)
* Initial working commit

* Create const file.  Load camera from component.

* Handle failed authentication.  Bump library version.

* Remove line break

* Camera attributes and recording services

* Add services, manifest, constant update, and exclude_channels.  Prefix channel name.  Update service argument.

* Update codeowners

* Update coveragerc

* Remove codeowners line

* Update codeowners again from python3 -m script.hassfest

* Update homeassistant/components/qvrpro/__init__.py

Co-Authored-By: springstan <46536646+springstan@users.noreply.github.com>

* Requested changes

* Fix typo

* Update to use exception. Bump library version.

* Support stream component

* Update module header

* Missing property wrapper

* Partial requested changes

* Update coveragerc and codeowners

* Move constants to const file.  Add SHORT_NAME

* Add conf variable

* Use camera domain

* More requested changes

* Requested changes

* Requested changes

* Update prefix

* Handle error condition when camera is not configured to support live streaming

* Move method to camera setup.  Disable stream component support.

* Move auth string to library to prevent private member access

Co-authored-by: springstan <46536646+springstan@users.noreply.github.com>
2020-03-03 01:10:02 +01:00
Paulus Schoutsen
a25b94cd2d Update azure-pipelines-wheels.yml 2020-03-02 14:01:40 -08:00
Bram Kragten
21e0df42ac Update azure-pipelines-release.yml for Azure Pipelines 2020-03-02 13:59:21 -08:00
Bram Kragten
66d70195c9 Update azure-pipelines-release.yml for Azure Pipelines 2020-03-02 22:55:57 +01:00
Paulus Schoutsen
f7f9126610 Merge pull request #32414 from home-assistant/rc
0.106.3
2020-03-02 13:43:02 -08:00
Paulus Schoutsen
52809396d4 Bumped version to 0.106.3 2020-03-02 13:40:57 -08:00
Paulus Schoutsen
121d967732 Add coronavirus integration (#32413)
* Add coronavirus integration

* Update homeassistant/components/coronavirus/manifest.json

Co-Authored-By: Franck Nijhof <git@frenck.dev>

Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2020-03-02 13:40:51 -08:00
Paulus Schoutsen
1603f7ac21 Add coronavirus integration (#32413)
* Add coronavirus integration

* Update homeassistant/components/coronavirus/manifest.json

Co-Authored-By: Franck Nijhof <git@frenck.dev>

Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2020-03-02 13:40:11 -08:00
David F. Mulcahey
2ba514253c Bump ZHA Quirks to 0.0.34 (#32401)
* bump zha quirks version

* add required parts to support alt opple remote
2020-03-02 11:26:37 -05:00
Pascal Vizeli
87abd193ee Update azure-pipelines-ci.yml for Azure Pipelines 2020-03-02 16:33:39 +01:00
Pascal Vizeli
049897365c Update azure-pipelines-ci.yml for Azure Pipelines 2020-03-02 16:33:11 +01:00
jjlawren
df3f7687d4 Refactor Certificate Expiry Sensor (#32066)
* Cert Expiry refactor

* Unused parameter

* Reduce delay

* Deprecate 'name' config

* Use config entry unique_id

* Fix logic bugs found with tests

* Rewrite tests to use config flow core interfaces, validate created sensors

* Update strings

* Minor consistency fix

* Review fixes, complete test coverage

* Move error handling to helper

* Subclass exceptions

* Better tests

* Use first object reference

* Fix docstring
2020-03-02 07:44:24 -06:00
kuchel77
eb90cefd84 Keeping adding in Github repositories after error (#32393) 2020-03-02 13:59:11 +01:00
J. Nick Koston
7ca4665711 Move keypad battery implementation details into py-august (#32349)
* Move keypad battery implementation details into py-august

* Upgrade to py-august 0.22.0 which also adds gen2 doorbell battery data

* remove cruft from previous refactor
2020-03-01 23:22:28 -08:00
J. Nick Koston
924c313c8a Add application/xml as an XML to JSON auto converted mime type… (#32289)
* Resolves issue #32280
2020-03-01 23:22:01 -08:00
HomeAssistant Azure
da959c8f7b [ci skip] Translation update 2020-03-02 00:31:47 +00:00
Daniel Høyer Iversen
c361358c6d Upgrade Tibber library to 0.13.0 (#32369) 2020-03-01 22:56:31 +01:00
Ziv
e13d5bdc10 Refactor dynalite integration for multi-platform (#32335)
* refactoring for multi platform

* adopted test_bridge to refactoring

* refactoring tests for multi-platform
additional coverage in config and init

* comment for clarity

* more specific imports from lib

* library version bump

* removed async_update

* changed parameter order to start with hass

* removed pylint disable

* unsubscribe from signal dispatcher
inherit from Entity

* use device.unique_id

* changed hass_obj to hass

* added test for remove entity
bug fix from the test

* removed the polling try_connect. hate polling... it is now part of the async_setup()
significantly makes the code clearer and simplifies the tests

* removed leftover debug logs in the library

* changed tests to get the entry_id from hass

* changed place to assign hass.data only after success

* fixes for test_init

* removed assert

* removed device_info

* removed bridge internal from common

* modified test_bridge to work without the bridge directly

* removed bridge from test_existing_update

* changed update to not use bridge internals

* dyn_bridge fixture no longer used - removed
2020-03-01 22:44:24 +01:00
David Nielsen
fc98faa425 Add Media Stop Support to BraviaTV Mediaplayer (#32220)
* Add media_stop to braviatv mediaplayer

* Fix typo in media_stop()

Co-authored-by: springstan <46536646+springstan@users.noreply.github.com>
2020-03-01 22:07:44 +01:00
AJ Schmidt
9da5bc9dce Fix AlarmDecoder Integration to use Instant Mode for alarm_arm_night (#32292) 2020-03-01 20:25:16 +01:00
guillempages
f53c94ed2a Add Tankerkoenig integration (#28661)
* Initial version

Parse configuration, but return a fixed value

* Add basic functionality

Request real data from the server
Currently the prices are not getting updated, but the petrol station
data is real

* Update values regularly

The tankerkoenig values get updated regularly with real data.

* Move base functionality for the sensor to a base class

And move that to an own file, so that it can be inherited

* Reduce calls to tankerkoenig api

Use a master/slave concept for sensors; one master gets the data and
updates it into the slaves.

* Update requirements files

* Update all gas stations at once

* Remove tests directory

Currently there are no tests for the integration; will be added in
a future commit.

* Fix slaves not being updated

Let the base class regularly poll, so that slaves are also updated

* Refactor entity creation

Create an auxiliary method to add a station to the entity list,
in preparation to allowing extra stations.

* Add possibility to manually add stations

Add a new configuration option "stations" to manually add extra stations

* Fix style issues

Make the code more pythonic

* Remove redundant code

Implement suggestions from the code review

* Change to platform component

Remove the master/slave concept, in favor of a platform with dummy sensors.
The platform takes care of contacting the server and fetching updates
atomically, and updating the data on the sensors.

* Rename ATTR_STATE

Rename the attribute to "IS_OPEN", to avoid confusion with the sensor state.

* Minor updates

Combine two consecutive error logs into a single one.
Update the sensor's icon

* Separate address into different fields

* Style updates

Use "[]" syntax instead of ".get()" for required parameters
Use warning log level for not available fuel types

* Implement review comments

Fix style issues
Improve error messages
Remove redundant options

* Refactor using DataUpdateCoordinator

Use the new DataUpdateCoordinator to fetch the global data from
the API, instead of implementing an own method.
Also fix comments from the PR

* Implement PR comments

Implement suggestions to improve code readability and keep the Home Assistant style.
Also separate fetching data to an async thread
2020-03-01 16:49:07 +01:00
Colin Robbins
0431b983d2 Add optimistic mode for somfy covers that do not support position (#31407)
* Add a shadow for covers that do not support postion

* Rename shadow as optimistic

* Set optimisic default mode

* fix black error

* Remove redundant check

* optimisitc variable name consistency with config
2020-03-01 16:42:26 +01:00
Josef Schlehofer
a9a523b05c Upgrade youtube_dl to version 2020.03.01 (#32376) 2020-03-01 15:13:56 +01:00
Sébastien RAMAGE
7a7fdc5de6 Add sms support to pushbullet notification (#32347)
* add sms support

* fix formating

* fix formating

* fix whitespace

* fix format
2020-03-01 15:07:14 +01:00
mezz64
e9206b26ad Bump pyeight to 0.1.4 (#32363) 2020-03-01 15:05:37 +01:00
Tim van Cann
f0b5e132af Bump avri api version (#32373)
* Bump avri api version

* Trigger CI
2020-03-01 15:04:18 +01:00
Paulus Schoutsen
c6e85cac0b Require IFTTT to send data as dictionary (#32317)
* Require IFTTT to send data as dictionary

* Update logging
2020-02-29 20:37:06 -08:00
Robert Chmielowiec
8e3492d4f5 ZHA: Support light flashing (#32234) 2020-02-29 18:37:06 -05:00
Marius
3ab04118f6 Fix github sensor short SHA (#32316) 2020-02-29 14:35:28 +01:00
Erik Montnemery
c4ac3155e4 Add brightness to light device turn_on action (#32219)
* Add support for setting brightness

* Remove default brightness
2020-02-29 13:33:20 +01:00
J. Nick Koston
be14b94705 Restore august lock changed_by state on restart (#32340)
* Various code review items from previous PRs

* Add a test for fetching the doorbell camera image

* Switch to using UNIT_PERCENTAGE for battery charge unit

* Add tests for changed_by
2020-02-29 12:12:50 +01:00
Aaron Bach
e9a7b66df6 Add config entry for AirVisual (#32072)
* Add config entry for AirVisual

* Update coverage

* Catch invalid API key from config schema

* Rename geographies to stations

* Revert "Rename geographies to stations"

This reverts commit 5477f89c24cb3f58965351985b1021fc5fc794a5.

* Update strings

* Update CONNECTION_CLASS

* Remove options (subsequent PR)

* Handle import step separately

* Code review comments and simplification

* Move default geography logic to config flow

* Register domain in config flow init

* Add tests

* Update strings

* Bump requirements

* Update homeassistant/components/airvisual/config_flow.py

* Update homeassistant/components/airvisual/config_flow.py

* Make schemas stricter

* Linting

* Linting

* Code review comments

* Put config flow unique ID logic into a method

* Fix tests

* Streamline

* Linting

* show_on_map in options with default value

* Code review comments

* Default options

* Update tests

* Test update

* Move config entry into data object (in prep for options flow)

* Empty commit to re-trigger build
2020-02-28 20:14:17 -07:00
Diogo Gomes
bf33144c2b Bump pyipma to 2.0.5 (#32337)
* bump pyipma version to 2.0.5

* bump pyipma version to 2.0.5
2020-02-28 17:37:34 -08:00
Bram Kragten
3ea29635a0 Updated frontend to 20200228.0 (#32334) 2020-02-29 01:55:27 +01:00
HomeAssistant Azure
2d4ee01c1a [ci skip] Translation update 2020-02-29 00:31:43 +00:00
Alexei Chetroi
5fbaaf41dc Bump up ZHA depdendency (#32336) 2020-02-28 19:13:49 -05:00
Alexei Chetroi
0670b4f457 Use collection helpers for counter integration (#32295)
* Refactor counter to use config dict.

* Use collection helpers for counter integration.

* Update tests.

* Use callbacks were applicable.
2020-02-28 14:06:39 -08:00
elmurato
4a95eee40f Fixed TypeError with old server versions (#32329) 2020-02-28 13:39:46 -08:00
Paulus Schoutsen
deda2f86e7 Allow managing Lovelace storage dashboards (#32241)
* Allow managing Lovelace storage dashboards

* Make sure we do not allow duplicate url paths

* Allow setting sidebar to None

* Fix tests

* Delete storage file on delete

* List all dashboards
2020-02-28 12:43:17 -08:00
Paulus Schoutsen
ede39454a2 Merge remote-tracking branch 'origin/master' into dev 2020-02-28 12:42:02 -08:00
Paulus Schoutsen
3b147bcbf7 Merge pull request #32327 from home-assistant/rc
0.106.2
2020-02-28 12:40:20 -08:00
springstan
f1a0ca7cd3 Add and use percentage constant (#32094)
* Add and use percentage constant

* Fix pylint error and broken test
2020-02-28 11:46:48 -08:00
J. Nick Koston
ca81c6e684 Ensure rest sensors are marked unavailable when http requests… (#32309) 2020-02-28 11:43:00 -08:00
J. Nick Koston
c7f128f286 Ensure rest sensors are marked unavailable when http requests… (#32309) 2020-02-28 11:41:41 -08:00
Paulus Schoutsen
e62ba49979 Bumped version to 0.106.2 2020-02-28 11:38:53 -08:00
Robert Svensson
6ea20090a4 UniFi - Temporary workaround to get device tracker to mark cli… (#32321) 2020-02-28 11:38:37 -08:00
Paulus Schoutsen
c43b7d10d8 revent saving/deleting Lovelace config in safe mode (#32319) 2020-02-28 11:37:57 -08:00
Bram Kragten
430fa24acd Updated frontend to 20200220.5 (#32312) 2020-02-28 11:36:39 -08:00
Paulus Schoutsen
601f2c693d Prevent saving/deleting Lovelace config in safe mode (#32319) 2020-02-28 11:12:16 -08:00
Robert Svensson
f17462b159 UniFi - Temporary workaround to get device tracker to mark cli… (#32321) 2020-02-28 10:28:03 -08:00
Bram Kragten
3dc1ece33c Updated frontend to 20200220.5 (#32312) 2020-02-28 07:56:39 -08:00
Malte Franken
6852ccd8de change log level (#32244) 2020-02-28 12:41:21 +01:00
springstan
157f972d72 Use f-strings in integrations starting with "H" - "L" (#32265)
* Use f-strings in integrations starting with "H"

* Use f-strings in integrations starting with "I"

* Use f-strings in integrations starting with "J"

* Use f-strings in integrations starting with "K"

* Use f-strings in integrations starting with "L"

* Fix lint error

* Use join instead of f-string in homekit_controller

* Use local variables with f-strings

* Fix lint error

* Escape the characters in f-string

* Sort imports with isort in homeworks light

* Fix pylint error

* Fix broken tests

* Fix broken tests v2
2020-02-28 12:39:29 +01:00
Marius
7714160f4c Change github sensor state to short commit sha (#31581)
* change state to latest_release_url

to have a meaningful frontend representation.
self._github_data.latest_commit_sha is still available in the attributes, so no info is lost

* template state to show only the tag

and not the full url to the tag

* add guard to update(self) for state

* add empty line 150

black...

* Update sensor.py

* add SHA if no release url

* Correct sha to 7 digits

* take out fallback on state
2020-02-28 12:34:39 +01:00
Malte Franken
adb3bb3653 Explicitly set unique ids for GDACS integration (#32203)
* explicitly set unique ids

* use config flow's unique id

* use config's unique id
2020-02-28 11:47:49 +01:00
Franck Nijhof
2390a7f365 Pass in aiohttp session for onvif (#32045) 2020-02-28 11:46:06 +01:00
Petro31
2c1c395c28 Set min and max temp only if it is not None (#32262) 2020-02-28 09:49:47 +01:00
Tim van Cann
1d962aeb65 Add Avri waste collection sensor (#31134)
* Add Avri waste collection sensor

* Apply black formatting

* Update manifest

* Add requirements

* Add sensor to coverage

* Update import order

* Bump dependency to include todays pickup

* Bump avri version in requirements_all.txt

* Code review comments

* Reduce scan interval to 4 hours

This makes sure that no matter what happens, in
the morning the correct dates have been pulled
without the old ones lingering for too long.

* Better logging

* Made scan interval a timedelta

* Fix import order

* Update homeassistant/components/avri/sensor.py

Co-Authored-By: springstan <46536646+springstan@users.noreply.github.com>

* Update homeassistant/components/avri/sensor.py

Co-Authored-By: springstan <46536646+springstan@users.noreply.github.com>

* Use filter instead of break statement

* Use positive int for house number extension

* Switch voluptuous types for house number and house number extension

* Update homeassistant/components/avri/sensor.py

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

* Implement `available`

* Bump avri api

* Code review comments

* Replace `postcode` with `zip_code`

* Update logic for `available`

* Remove variable for delimiter

Co-authored-by: springstan <46536646+springstan@users.noreply.github.com>
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-02-27 22:12:01 -08:00
Ziv
02c170b961 Dynalite listener for config entry update (#32116)
* added entry listener that reloads the component

* fixed update with existing entry

* fixed import in test

* fixes

* library version

* removed unique_id

* fix

* fixed for no entries in hass.data

* fixed return value on abort

* moved to use async_entries

* removed unused import
2020-02-27 22:05:55 -08:00
Raman Gupta
b9fa32444a Support vizio pairing through config flow (#31520)
* support pairing through config flow

* simplify import failure log messages

* remove unnecessary list comprehension

* bump pyvizio to add passing ClientSession in where it was missed

* show different message if user completes pairing through import

* remove dupe failure message since reasons for failure are the same in both instances

* remove extra constant

* add host reachability check during pairing workflow

* revert redundant connection check since check is implicitly done during pairing process

* fix rebase errors

* fix string

* updates based on review

* update docstring

* missed commit

* update import confirmation message to be less wordy

* use ConfigFlow _abort_if_unique_id_configured

* fix test
2020-02-27 22:04:59 -08:00
Aaron Bach
03d8abe1ba Fix unhandled exception in Ambient PWS_URL (#32238)
* Fix unhandled exception in Ambient PWS_URL

* Comment update

* Be more explicit
2020-02-27 21:40:51 -08:00
J. Nick Koston
0364cd8db5 Add usage sensors for each device sense detects that show powe… (#32206)
* init

* const

* update docs string

* update docs string

* restore binary sensors

* Restore binary sensors

* match name

* pylint

* Fix bug in conf migration

* Fix refactoring error

* Address review items

Imporve performance

* Fix devices never turning back off
2020-02-27 21:23:47 -08:00
Erik Montnemery
3b17e570df Add device actions to cover (#28064)
* Add device actions to cover

* Remove toggle action, improve tests

* lint

* lint

* Simplify actions

* Update homeassistant/components/cover/device_action.py

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

* Improve tests

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-02-27 21:05:43 -08:00
J. Nick Koston
223c01d842 Coordinate all august detail and activity updates (#32249)
* Removing polling from august

* Now using subscribers to the detail and activity

* Fix hash to list keys

* continue to the next house if one fails

* Add async_signal_device_id_update

* Fix double initial update

* Handle self.hass not being available until after async_added_to_hass

* Remove not needed await

* Fix regression with device name
2020-02-27 19:44:22 -08:00
Paulus Schoutsen
d51b2ad675 Merge pull request #32282 from home-assistant/rc
0.106.1
2020-02-27 16:37:35 -08:00
HomeAssistant Azure
fefbe02d44 [ci skip] Translation update 2020-02-28 00:31:47 +00:00
Aaron Bach
9329bc4ca0 Remove ability to configure monitored conditions in IQVIA (#32223)
* Remove ability to configure monitored conditions in IQVIA

* Deprecate instead of removing (until 0.108.0)

* Simplify imports

* Update version
2020-02-27 17:24:14 -07:00
Diogo Gomes
b8fbe758d8 Bump pyipma dependency (fixes bug in 0.106) (#32286)
* Bump version

* Bump PyIPMA version
2020-02-27 14:44:22 -08:00
Diogo Gomes
5bdf450f78 Bump pyipma dependency (fixes bug in 0.106) (#32286)
* Bump version

* Bump PyIPMA version
2020-02-27 14:44:02 -08:00
Paulus Schoutsen
61476f4f2c Fix dsmr test 2020-02-27 14:41:35 -08:00
Paulus Schoutsen
cab60bcd0c Bumped version to 0.106.1 2020-02-27 14:03:07 -08:00
Paulus Schoutsen
c0394232f3 Catch more Hue errors (#32275) 2020-02-27 14:03:00 -08:00
Robert Svensson
a5d9e89d08 deCONZ - Race condition on slower systems (#32274)
When battery sensors gets created before other platforms loading deconz sensors gets created first the other platform would not create entities related to those battery sensors
2020-02-27 14:02:59 -08:00
Aaron Bach
f43b26f250 Bump simplisafe-python to 9.0.2 (#32273) 2020-02-27 14:02:59 -08:00
Aaron Bach
58b32bbeff Bump simplisafe-python to 9.0.0 (#32215) 2020-02-27 14:02:58 -08:00
dupondje
6d0a465390 Fix DSMR 5 (#32233)
DSMR 5 was broken because some wrong if.
if dsmr_version in ("5B"):
-> this checks dsmr_version against 5 and B. Not if its 5B.
2020-02-27 14:00:51 -08:00
Jens Nistler
a5d334bbf7 Mark clients away if they have never been seen. (#32222) 2020-02-27 14:00:51 -08:00
Erik Montnemery
a77fd4892e Add missing translations for light actions (#32216) 2020-02-27 14:00:50 -08:00
Balazs Sandor
75e8d49af1 Show kernel version on linux (#32276) 2020-02-27 13:59:30 -08:00
Paulus Schoutsen
5a56d0ec1d Catch more Hue errors (#32275) 2020-02-27 12:53:36 -08:00
Jens Nistler
ecd076c5e4 Mark clients away if they have never been seen. (#32222) 2020-02-27 11:50:34 -08:00
Robert Svensson
e695bb55c8 deCONZ - Race condition on slower systems (#32274)
When battery sensors gets created before other platforms loading deconz sensors gets created first the other platform would not create entities related to those battery sensors
2020-02-27 20:48:01 +01:00
Aaron Bach
aab2fd5ec3 Bump simplisafe-python to 9.0.2 (#32273) 2020-02-27 12:18:26 -07:00
Yuki Ueda
0eb5ca67cd Make heos and transmission config flow tests more robust (#31783)
* async_step_user to async_configure

* fix for lint

* fix for pylint

* fix isort and black

* fix miss-fixed black

* fixing for the python37 coverage

* fix transmission definition

* fix for Black formatting

* fix type to abort

* clean up

* clean up for the test

* fix for the test

* refactor

* split test_flow_works to three tests

* revert the assert

* remove whitespaces for flake8

* apply patch function

* fix for the patch

* fix for the black

* remove mock_coro

* fix for the black

* hue to heos

* try to fix import

* fix for the black

* revert try to fix import

* Add a pytest fixture

* fix for the black
2020-02-27 12:19:54 +01:00
Aaron Bach
df04fe3258 Bump simplisafe-python to 9.0.0 (#32215) 2020-02-26 18:52:07 -08:00
J. Nick Koston
4c5e364d90 Centralize august activity updates (#32197)
* Reduce August doorbell detail updates

* Doorbell images now get updates from the activity feed

* Tests for activity updates

* py-august now provides bridge_is_online for available state

* py-august now provides is_standby for available state

* py-august now provides get_doorbell_image (eliminate requests)

* remove debug

* black after merge conflict

* Centralize august activity updates

* Updates appear significantly more responsive

* Should address the community complaints about "lag"

* Reduce detail updates (device end points) to one hour interval

* Signal entities to update via dispatcher when new activity arrives

* Resolves out of sync state (skipped test is now unskipped)

* pylint

* fix merge conflict

* review comments

* Remove stray

* Address review items that can be done without refactor
2020-02-26 18:48:44 -08:00
Jc2k
d207c37c33 Address homekit_controller feedback on #32212 and #32213 (#32228) 2020-02-26 17:10:05 -08:00
dupondje
f26826d949 Fix DSMR 5 (#32233)
DSMR 5 was broken because some wrong if.
if dsmr_version in ("5B"):
-> this checks dsmr_version against 5 and B. Not if its 5B.
2020-02-26 17:02:42 -08:00
Paulus Schoutsen
483d822272 Lovelace resource mgmt (#32224)
* Add websockets commands for resource management

* Add LL resource management

Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2020-02-26 16:43:34 -08:00
HomeAssistant Azure
92988d60a7 [ci skip] Translation update 2020-02-27 00:31:50 +00:00
Franck Nijhof
16dba3fa85 Merge branch 'master' into dev 2020-02-26 21:01:29 +01:00
Paulus Schoutsen
2a88ae559e Improve debounce cooldown (#32161) 2020-02-26 11:27:37 -08:00
Jc2k
853d6cda25 Make homekit_controller a local push integration (#32213) 2020-02-26 10:35:53 -08:00
Erik Montnemery
c92aa30663 Add missing translations for light actions (#32216) 2020-02-26 10:24:43 -08:00
Jc2k
92a47f14bb homekit_controller test cleanups (#32212) 2020-02-26 09:44:04 -08:00
Franck Nijhof
2d68b37dd5 Merge pull request #32211 from home-assistant/rc
0.106.0
2020-02-26 14:30:57 +01:00
Paulus Schoutsen
4de3871a78 Fix hue test 2020-02-26 12:54:19 +01:00
Franck Nijhof
9c755d8fd4 Remove deprecated Hue options (fixes CI) (#32027) 2020-02-26 12:53:44 +01:00
Franck Nijhof
1e5f0a5136 Bumped version to 0.106.0 2020-02-26 12:34:38 +01:00
Bram Kragten
897433ecba Updated frontend to 20200220.4 (#32205) 2020-02-26 12:31:50 +01:00
Aaron Bach
89625010e5 Fix error where SimpliSafe websocket would disconnect and not reconnect (#32199)
* Fix error where SimpliSafe websocket would disconnect and not reconnect

* Await
2020-02-26 12:31:44 +01:00
Aaron Bach
e435f6eb67 Fix error where SimpliSafe websocket would disconnect and not reconnect (#32199)
* Fix error where SimpliSafe websocket would disconnect and not reconnect

* Await
2020-02-26 12:19:14 +01:00
Bram Kragten
5a67d73a37 Updated frontend to 20200220.4 (#32205) 2020-02-26 11:32:15 +01:00
J. Nick Koston
638a3025df Reduce August doorbell detail updates (#32193)
* Reduce August doorbell detail updates

* Doorbell images now get updates from the activity feed

* Tests for activity updates

* py-august now provides bridge_is_online for available state

* py-august now provides is_standby for available state

* py-august now provides get_doorbell_image (eliminate requests)

* remove debug

* black after merge conflict
2020-02-26 08:43:41 +01:00
Aaron Bach
b5c1afcb84 Make SimpliSafe entities unavailable when wifi is lost (#32154)
* Make SimpliSafe entities unavailable when wifi is lost

* Remove online status from REST API

* Comments

* Mispelling
2020-02-25 20:03:41 -07:00
J. Nick Koston
4c33a9d732 Add model to august device_info (#32187)
* Add model to august device_info

* Address review comments from PR#32125

* Fix test name
2020-02-25 18:34:31 -08:00
springstan
58de7fe9a3 Fix name of emby media player (#32183)
* Fix name of emby media player

* Remove client name from entity_id
2020-02-25 17:30:03 -08:00
HomeAssistant Azure
ed461a0ad8 [ci skip] Translation update 2020-02-26 00:31:47 +00:00
J. Nick Koston
3e702c8ca4 Add Config Flow for sense (#32160)
* Config Flow for sense

* Fix unique ids so they are actually unique (and migrate the old ones)

* Fix missing solar production

* Do not mark sensors available until they have data

* Address review items

* Address review round #2
2020-02-25 16:37:41 -07:00
Paulus Schoutsen
7391aa2d7e Bumped version to 0.106.0b5 2020-02-25 14:17:32 -08:00
Paulus Schoutsen
0e7e0086cd Update translations 2020-02-25 14:17:28 -08:00
Jenny
6f8380b442 Bump socialbladeclient to 0.5 (#32191) 2020-02-25 14:16:52 -08:00
Paulus Schoutsen
e60a6cfa19 Fix Arlo doing I/O in event loop (#32190) 2020-02-25 14:16:52 -08:00
Bram Kragten
ff6d415c67 Updated frontend to 20200220.3 (#32189) 2020-02-25 14:16:51 -08:00
Michaël Arnauts
d3629d9f32 Bump python-tado to 0.3.0 (#32186) 2020-02-25 14:16:50 -08:00
Kit Klein
61e2ce5faf Dedup and clarify imported konnected config flows (#32138)
* dedup config flows

* use default (imported) options until user goes thru options flow

* address pr feedback

* correct key used to distinguish pro model
2020-02-25 14:16:49 -08:00
Bram Kragten
b0fdbebd56 Updated frontend to 20200220.3 (#32189) 2020-02-25 23:15:25 +01:00
Paulus Schoutsen
fc0278c91f Fix Arlo doing I/O in event loop (#32190) 2020-02-25 23:10:43 +01:00
Jenny
1f23361a5d Bump socialbladeclient to 0.5 (#32191) 2020-02-25 23:01:18 +01:00
Jc2k
4a89fba6f9 Add homekit_controller occupancy sensor (#32188) 2020-02-25 22:01:03 +00:00
Jc2k
dd13e99967 Add missing device class attributes to homekit_controller sensors (#32175)
* Add some missing device class attributes to homekit_controller sensors

* Add classes for binary sensors
2020-02-25 21:43:14 +01:00
Michaël Arnauts
24652d82ab Bump python-tado to 0.3.0 (#32186) 2020-02-25 21:29:45 +01:00
Jc2k
1ddc1ebc6b Refactor away deprecated homekit_controller test helpers (#32177) 2020-02-25 21:19:04 +01:00
Paulus Schoutsen
7d8da47309 Revert "Use orjson to parse json faster (#32153)" (#32185)
This reverts commit 2365e2e8cf.
2020-02-25 21:07:16 +01:00
Franck Nijhof
ceb3985a99 Remove hide_entity property from automation integration (#32038)
* Remove hidden property from automation integration

* Allow configuration options untils 0.110
2020-02-25 11:21:05 -08:00
Paulus Schoutsen
536b31305a Support multiple Lovelace dashboards (#32134)
* Support multiple Lovelace dashboards

* Mark collection maintenance as unfinished

* Fix import

* Add websockets commands for resource management

* Revert "Add websockets commands for resource management"

This reverts commit 7d140b2bcc.

Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2020-02-25 11:18:21 -08:00
Erik Montnemery
2d6b80470f Improve error handling (#32182) 2020-02-25 10:44:24 -08:00
Ruslan Sayfutdinov
2365e2e8cf Use orjson to parse json faster (#32153)
* [recorder] Use orjson to parse json faster

* Remove from http manifest

* Bump to orjson 2.5.1

* Empty commit to trigger CI

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-02-25 10:20:51 -08:00
springstan
5c12fa0daa Fix description of fan service set_direction (#32181) 2020-02-25 19:18:44 +01:00
J. Nick Koston
2925e0617c Add Config flow to august (#32133)
* Add battery sensors for August devices

* Additional tests and cleanup in prep for config flow
  and device registry

* pylint

* update name for new style guidelines - https://developers.home-assistant.io/docs/development_guidelines/#use-new-style-string-formatting

* Config Flow for august push

* Update homeassistant/components/august/__init__.py

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

* Address review items

* Update tests

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-02-25 10:18:15 -08:00
Paulus Schoutsen
900714a3ee Do not report state when closing down (#32168) 2020-02-25 09:05:36 -08:00
Kit Klein
5488389244 Dedup and clarify imported konnected config flows (#32138)
* dedup config flows

* use default (imported) options until user goes thru options flow

* address pr feedback

* correct key used to distinguish pro model
2020-02-25 13:55:06 +01:00
Jc2k
438c4acf07 Deprecate homekit_controller .homekit folder (#32158)
* homekit_controller: Deprecate .homekit folder

* Tweaks from review

* Delay it a release
2020-02-25 12:09:04 +01:00
Jc2k
c9d78aa78c Refactor homekit_controller config flow tests (#32141)
* Config flow test refactor

* Add a service and characteristic to the accessory so its more realistic

* Feedback from review

* Missing apostrophe
2020-02-25 12:06:35 +01:00
Aaron Bach
ba4cc373c8 Modernize Ambient PWS config flow (#32164)
* Modernize Ambient PWS config flow

* Linting
2020-02-24 21:37:38 -08:00
Aaron Bach
c97b1c60b0 Modernize Notion config flow (#32167)
* Modernize Notion config flow

* Linting
2020-02-24 21:36:58 -08:00
paolog89
0e6a48c688 Add observed entities to bayesian sensor (#27721)
* Add observed entities to bayesian sensor

* Update binary_sensor.py to comply with style guidelines and test_binary_sensor.py to verify the entity_id

* Update binary_sensor.py and test_binary_sensor.py to include an additional attribute for observed entities

* Use of ATTR_ENTITY_ID and numeric key of observed entity

* Update binary_sensor.py

* Update test_binary_sensor.py to verify behavior

* Update to return a list without duplicates in the state attribute

* Update binary_sensor.py: rename of ATTR_ENTITY_ID into ATTR_OBSERVED_ENTITIES

* Rename new attribute into ATTR_OCCURRED_OBSERVATION_ENTITIES and fix test
2020-02-24 21:27:59 -08:00
Paulus Schoutsen
5776b9f17d Fix flaky coverage in UK transport test (#32053) 2020-02-24 21:27:07 -08:00
Paulus Schoutsen
9007d37de1 Bumped version to 0.106.0b4 2020-02-24 21:05:10 -08:00
Aaron Bach
7c2765fbff Remove unused SimpliSafe config flow function (#32166)
* Remove unused SimpliSafe config flow function

* Code review comments from other PR

* Linting
2020-02-24 22:02:20 -07:00
Aaron Bach
75f465bf7e Remove unused RainMachine config flow function (#32165)
* Remove unused RainMachine config flow function

* Remove test we don't need

* Code review comments

* Linting
2020-02-24 22:01:55 -07:00
Erik Montnemery
7e387f93d6 Add MQTT WS command to remove device (#31989)
* Add MQTT WS command to remove device

* Review comments, fix test

* Fix tests
2020-02-24 20:46:02 -08:00
Paulus Schoutsen
9e832aaaa6 Bumped version to 0.106.0b3 2020-02-24 19:36:26 -08:00
Raman Gupta
5dc93aeeb1 Improve Vizio fix to avoid KeyError (#32163)
* dont set default volume_step on import check

* ensure config entry data['volume_step'] is set

* consolidate entry update during entry setup
2020-02-24 19:36:15 -08:00
Raman Gupta
45d63e22d5 Fix vizio bug to use 'get' to get volume_step since it is optional (#32151)
* use get to get volume_step since it is optional

* always set volume_step to default in options and data if its not included
2020-02-24 19:36:14 -08:00
Paulus Schoutsen
6edef444a7 Properly define depenency for Scrape integration on Rest integ… (#32136) 2020-02-24 19:36:14 -08:00
Kit Klein
6f1f9bdd45 0.106 Beta - provide correctly formatted placeholders (#32119) 2020-02-24 19:36:13 -08:00
Tom
1d075a7dd0 Fix Plugwise climate issues for new firmware #32080 (#32109)
* Fix Plugwise climate issue firmare 3.1.11 (#32080)

* Submit checklist actions
2020-02-24 19:36:12 -08:00
Raman Gupta
4236d62b44 Improve Vizio fix to avoid KeyError (#32163)
* dont set default volume_step on import check

* ensure config entry data['volume_step'] is set

* consolidate entry update during entry setup
2020-02-24 19:35:28 -08:00
Mike
71a6ea1c10 Add shopping_list_item_added event_type (#28334)
* Update __init__.py

Added event_type "shopping_list_item_added" with an item tied to it.

* Update __init__.py

* Update __init__.py

Black formatting style

* Modified global event variables

* Typo fix

* Update __init__.py

* Formatting changes

* More formatting changes

* Update __init__.py

* Black formatting

* Update __init__.py

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-02-24 18:43:27 -08:00
SukramJ
e0586df602 Migrate HomematicIP Cloud services to admin services (#32107)
* Migrate HomematicIP Cloud services to admin services

* remove unused dict

* vacation and eco mode are usable by users

* add verify_domain_control, make service user accessible
2020-02-24 18:16:57 -08:00
springstan
88df9c8ab4 Remove friendly_name attribute from twitch sensor (#32067)
* Remove friendly_name attribute twitch sensor

* Use deepcopy to only copy the content

* Update homeassistant/components/twitch/sensor.py

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

* Update homeassistant/components/twitch/sensor.py

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-02-25 02:55:31 +01:00
springstan
ad102b3840 Use f-strings in integrations starting with "F"and"G" (#32150)
* Use f-strings in integrations starting with F

* Use f-strings in tests for integrations starting with F

* Use f-strings in integrations starting with G

* Use f-strings in tests for integrations starting with G

* Fix pylint error

* Fix broken test
2020-02-24 17:54:20 -08:00
Ville Skyttä
496bd3dddf Add and use more unit constants (#32122)
* Add and use speed constants

* Add and use meter based volume and area constants

* Add and use more mass unit constants

* Add and use concentration unit constants

* Add and use watts per square meter constant

* Use more time constants

* Use more data constants
2020-02-24 17:52:14 -08:00
Franck Nijhof
c98f50115d Upgrade pre-commit to 2.1.1 (#32159) 2020-02-25 02:16:23 +01:00
Ville Skyttä
9b2544c923 Remove some unneeded pylint suppressions (#32152) 2020-02-24 16:47:15 -08:00
HomeAssistant Azure
a9e061270b [ci skip] Translation update 2020-02-25 00:32:13 +00:00
Chris Talkington
3f49f6c047 Add constants file for directv (#32157) 2020-02-25 01:30:00 +01:00
Phil Bruckner
b2d7bc40dc Add support for simultaneous runs of Script helper (#31937)
* Add tests for legacy Script helper behavior

* Add Script helper if_running and run_mode options

- if_running controls what happens if Script run while previous run
  has not completed. Can be:
  - error: Raise an exception
  - ignore: Return without doing anything (previous run continues as-is)
  - parallel: Start run in new task
  - restart: Stop previous run before starting new run
- run_mode controls when call to async_run will return. Can be:
  - background: Returns immediately
  - legacy: Implements previous behavior, which is to return when done,
            or when suspended by delay or wait_template
  - blocking: Returns when run has completed
- If neither is specified, default is run_mode=legacy (and if_running
  is not used.) Otherwise, defaults are if_running=parallel and
  run_mode=background. If run_mode is set to legacy then if_running must
  be None.
- Caller may supply a logger which will be used throughout instead of
  default module logger.
- Move Script running state into new helper classes, comprised of an
  abstract base class and two concrete clases, one for legacy behavior
  and one for new behavior.
- Remove some non-async methods, as well as call_from_config which has
  only been used in tests.
- Adjust tests accordingly.

* Change per review

- Change run_mode default from background to blocking.
- Make sure change listener is called, even when there's an unexpected
  exception.
- Make _ScriptRun.async_stop more graceful by using an asyncio.Event for
  signaling instead of simply cancelling Task.
- Subclass _ScriptRun for background & blocking behavior.

Also:

- Fix timeouts in _ScriptRun by converting timedeltas to float seconds.
- General cleanup.

* Change per review 2

- Don't propagate exceptions if call from user has already returned
  (i.e., for background runs or legacy runs that have suspended.)
- Allow user to specify if exceptions should be logged. They will still
  be logged regardless if exception is not propagated.
- Rename _start_script_delay and _start_wait_template_delay for
  clarity.
- Remove return value from Script.async_run.
- Fix missing await.
- Change call to self.is_running in Script.async_run to direct test of
  self._runs.

* Change per review 3 and add tests

- Remove Script.set_logger().
- Enhance existing tests to check all run modes.
- Add tests for new features.
- Fix a few minor bugs found by tests.
2020-02-24 14:56:00 -08:00
Raman Gupta
309989be89 Fix vizio bug to use 'get' to get volume_step since it is optional (#32151)
* use get to get volume_step since it is optional

* always set volume_step to default in options and data if its not included
2020-02-24 23:37:54 +01:00
Colin O'Dell
90859b82e2 Upgrade qnapstats to 0.3.0 (#32148) 2020-02-24 22:46:07 +01:00
Aaron Bach
6b0d7c77f0 Clean up RainMachine config entry data (#32132) 2020-02-24 13:07:18 -07:00
Aaron Bach
edf44f4158 Modernize RainMachine config flow (#32131)
* Modernize RainMachine config flow

* Update strings
2020-02-24 13:05:54 -07:00
Aaron Bach
f7e336eaa6 Modernize SimpliSafe config flow (#32130)
* Modernize SimpliSafe config flow

* Fix tests
2020-02-24 13:03:08 -07:00
Aaron Bach
db40b2fc32 Handle unhandled IQVIA data update exception (#32144)
* Handle unhandled IQVIA data update exception

* Cleanup

* Ask for forgiveness, not permission

* Use warning-level logs

* Fix log messages
2020-02-24 13:02:33 -07:00
springstan
9801810552 Use f-strings in integrations starting with "B"-"E" (#32121)
* Use f-strings in integrations starting with B

* Use f-strings in integrations starting with C

* Use f-strings in integrations starting with D

* Use f-strings in integrations starting with E

* Fix pylint errors

* Fix pylint errors v2

* Fix tests

* Fix tests v2
2020-02-24 08:47:52 -08:00
Paulus Schoutsen
07fa844c43 Speed up validate_entity_id (#32137)
* Speed up validate_entity_id

* Add some more invalid entity IDs

* Adjust regular expression

* Extend and sort test cases

* Update regular expression, more cases, faster

* Adjust tests, allow start with number, disallow double underscore

Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2020-02-24 08:35:02 -08:00
Ruslan Sayfutdinov
15b4975681 Use ciso8601 library to parse datetime faster (#32128) 2020-02-24 08:33:10 -08:00
Rocik
d996a4a9a9 Add Supla gate (#31643)
* Add support for Supla gate with sensor

* Fix Supla switch module description and state access

* Add docs to methods of Supla gate

* Add missing comma

* Remove unused import

* Sort imports of Supla cover

* Add returning availability for every Supla device

* Use direct access to dict

* Remove deprecated property "hidden"

* Remove unused constant

* Revert using get function on dict
2020-02-24 15:34:53 +01:00
Jc2k
df9363610c Refactor homekit_controller to be fully asynchronous (#32111)
* Port homekit_controller to aiohomekit

* Remove succeed() test helper

* Remove fail() test helper
2020-02-24 10:55:33 +01:00
Pierre
a1a835cf54 Add platform Ezviz (#30378)
* hookid : isort fix

* New platform: Ezviz

* updated CODEOWNERS for ezviz

* proper test requirements

* resolved conflict

* regenerated requirements

* removed stale comments, only one call to add_entities, removed unnecessary attributes

* setup is sync, not async. Removed stale comments

* Compatible with pyezviz 0.1.4

* pyezviz 0.1.4 is now requiredf

* Added PTZ + switch management

* added services.yaml

* proper requirement

* PTZ working in async mode

* Now updates the entity

* Compatible with pyezviz 0.1.5.1

* Fixed switch ir service registering

* now requires pyezviz 0.1.5.2

* now requires pyezviz 0.1.5.2

* Revert "regenerated requirements"

This reverts commit 848b317cf9.

* Rollbacked to a simpler version

* snake_case names everywhere, logging sanatizing, voluptuous proper check

* pyezviz 0.1.5, reworked the PR so that it's intelligible

* no need for services.yaml for now

* proper voluptuous validation

* Removed stale code, use proper conf variable, describe attributes

* regenerated requirements

* stale

* removed status from attributes, since we use it for available we don't need it here then.

* Fixed log message
2020-02-24 10:39:55 +01:00
Paulus Schoutsen
ca01e9a537 Improve condition validation error msg (#32135) 2020-02-24 09:59:34 +01:00
Paulus Schoutsen
270758417b Properly define depenency for Scrape integration on Rest integ… (#32136) 2020-02-24 00:03:33 -08:00
Aaron Bach
6e6625e1ab Remove no-longer-needed SimpliSafe websocket watchdog (#32129)
* Fix SimpliSafe reconnection issue upon websocket error

* Rename listener cancelation properties

* Remove watchdog
2020-02-23 20:47:19 -07:00
HomeAssistant Azure
5ec7d07283 [ci skip] Translation update 2020-02-24 00:31:49 +00:00
J. Nick Koston
693441e56f Deduplicate code in the august integration (#32101)
* Deduplicate code in the august integration

* Add additional tests for august (more coming)

* Door state is now updated when a lock or unlock call returns
  as the state is contained in the response which avoids
  the confusing out of sync state

* revert

* document known issue with doorsense and lock getting out of sync (pre-existing)

* Address review comments

* Additional review comments
2020-02-23 13:54:34 -08:00
Kit Klein
d2d788631e 0.106 Beta - provide correctly formatted placeholders (#32119) 2020-02-23 13:54:18 -08:00
springstan
524a1a7587 Use f-strings in integrations starting with "A" (#32110)
* Use f-strings in integrations starting with A

* Use f-strings in tests for integrations starting with A

* Fix pylint by renaming variable

* Fix nested for loop in f-string for aprs device_tracker

* Break long lines into multiple short lines

* Break long lines into multiple short lines v2
2020-02-23 13:38:05 -08:00
springstan
a85808e325 Add and use time related constants (#32065)
* Add and use time related constants

* Sort time constants and reuse them in data rate constants

* Fix greeneyemonitor import

* Fix greeneyemonitor import V2

* Fix failing here_travel_time test

* Add TIME_MONTHS and TIME_YEARS

* Use TIME_MINUTES in opentherm_gw and isy994

* Add and use TIME_MILLISECONDS

* Change inconsistent ones

* Add TIME_MICROSECONDS and TIME_WEEKS

* Use constants in apcupsd and travisci

* Fix import error in upnp sensor.py

* Fix isy994 sensor.py using TIME_YEARS

* Fix dyson tests

* Use TIME_SECONDS in more places

* Use TIME_DAYS in google wifi
2020-02-23 22:09:24 +02:00
Chris Talkington
8dd80e0e3c Add unique_id to directv entities (#31838)
* add unique_id to directv entities.

* add addiitional debug and fix tests.

* fix lint error.

* rework unique_id and flow a bit.

* review adjustments.

* review adjustments

* review adjustments

* review adjustments.

* review adjustments

* review adjustments

* review adjustments

* review adjustments

* lint

* use serial number for host unit and mac address for client units

* fix elsif

* update test with realistic client id

* lint
2020-02-23 19:26:34 +01:00
Robert Svensson
1007283da5 UniFi - Add unit of measurement to bandwidth sensors (#32114) 2020-02-23 19:17:26 +01:00
Robin
4cc4f070f5 Add sighthound save image (#32103)
* Adds save_image

* Update test_image_processing.py

* Update test

* Tidy test

* update image_processing with reviewer comments

* Update test_image_processing.py

* Ammend tests

not passing

* Patch convert

* remove join

* Use valid_config_save_file
2020-02-23 19:11:05 +01:00
Martin Long
f6fbecf963 Add boost support for Hive TRVs (#31261)
* Add boost support for TRVs

* Updated pyhiveapi dependency to 0.2.20.1
2020-02-23 17:40:50 +01:00
jezcooke
a533b7a746 Fix volume control for Frontier Silicon media players (#32040)
* Fixed volume control for Frontier Silicon media players.

* Removed unnecessary else which caused pylint test to fail.

* Removed whitespace on empty line.

* Tweaks from on springstan's suggestions and other fixes

* Apply suggestions from code review

Co-Authored-By: springstan <46536646+springstan@users.noreply.github.com>

* Comment to explain why 1 is subtracted from volume_Steps

Also reformatted using black after code review changes.

* Split up the set volume functions into steps rather than all in-line as suggested.

* Renamed _volume_steps to _max_volume.

* Prevent asnyc_update from failing if we can't get the volume steps

Co-authored-by: springstan <46536646+springstan@users.noreply.github.com>
2020-02-23 17:37:31 +01:00
jezcooke
458e47f981 Add name option for Frontier Silicon devices (#32085)
* Added the option to specify the name of the device in confirguration.yaml

* Adding missing default name parameter in auto-discovery FSAPIDevice constructor.

* Fixed Black formatting.

* Removed DEFAULT_NAME constant.

* Apply suggestions from code review

Co-Authored-By: springstan <46536646+springstan@users.noreply.github.com>

Co-authored-by: springstan <46536646+springstan@users.noreply.github.com>
2020-02-23 17:05:24 +01:00
Tom
d22ee7179d Fix Plugwise climate issues for new firmware #32080 (#32109)
* Fix Plugwise climate issue firmare 3.1.11 (#32080)

* Submit checklist actions
2020-02-23 17:02:42 +01:00
Paulus Schoutsen
f975654ae7 Mock setup_entry in oauth2 tests (#32102)
* Mock setup_entry in oauth2 tests

* Fix scaffold constant
2020-02-23 12:23:21 +01:00
jezcooke
a678c6fd0b Fix Frontier Silicon player state (#32082)
The player would report itself as ‘off’ when in certain modes (e.g ‘Music player’ or ‘Spotify’) which meant HA would lose all control (it can’t change input or set volume etc. as it thinks it’s off). Now reports STATE_IDLE in these cases and only STATE_OFF if it is actually off.

This fixes issue #20728.
2020-02-22 20:33:42 -08:00
michaeldavie
bd00453cef Bump env_canada to 0.0.35 to address issue 31924 (#32077)
* Bump env_canada to 0.0.35, remove details from alerts

* Black
2020-02-22 20:32:19 -08:00
HomeAssistant Azure
8257165562 [ci skip] Translation update 2020-02-23 00:31:50 +00:00
Bram Kragten
fcaabb3d33 Change get_entity to return a extended entry, add inputs to de… (#32083)
* Change get_entity to return a extended entry + add inputs to default config

For https://github.com/home-assistant/home-assistant-polymer/pull/4940

* Fix tests, simplify code, update to return extended

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-02-22 15:18:10 -08:00
Franck Nijhof
edfb967b10 Add unique ID to ONVIF camera entities (#32093) 2020-02-22 22:29:49 +01:00
Paulus Schoutsen
e78449904b Bumped version to 0.106.0b2 2020-02-21 17:38:43 -08:00
jjlawren
f30ff31439 Add ConfigEntryNotReady exception to Plex (#32071) 2020-02-21 17:38:29 -08:00
Alok Saboo
9dda44ffdd Add additional logging to rest sensor (#32068) 2020-02-21 17:38:28 -08:00
Maciej Bieniek
39fd7ca5d3 Bump brother to 0.1.6 (#32054) 2020-02-21 17:38:27 -08:00
Paulus Schoutsen
ca07ae5b1e Updated frontend to 20200220.1 (#32046) 2020-02-21 17:38:26 -08:00
J. Nick Koston
cc8430ebed Fix i/o in august camera async image update (#32044)
* Fix i/o in august camera image update

* Address review comments
2020-02-21 17:38:25 -08:00
Paulus Schoutsen
a3b3ff52fc Remove YAML config from Ring integration (#32039) 2020-02-21 17:38:24 -08:00
Ziv
a102728997 Enhance Dynalite Integration after review (#31760)
* fixes per Martin Hjelmare

* pylint fix

* final fixes per request

* fixed unit tests for new config flow

* Added unit-tests to increase coverage. at 97% now

* Added unit tests for 100% coverage of component

* removed configured_host function and updated config_flow unit tests

* added a pylint directive since it tells me by mistake DOMAIN is not used

* fixed path (removed __init__)

* Update homeassistant/components/dynalite/light.py

Co-Authored-By: Martin Hjelmare <marhje52@gmail.com>

* Update homeassistant/components/dynalite/light.py

Co-Authored-By: Martin Hjelmare <marhje52@gmail.com>

* fixed the test as we moved from schedule_update_... to async_schedule

* Update homeassistant/components/dynalite/bridge.py

Co-Authored-By: Martin Hjelmare <marhje52@gmail.com>

* removed context from config_flow
changed test_init to use the core methods

* moved test_light to also use the core interfaces

* moved to config_entries.async_unload

* additional fixes for the tests

* pylint fix and removed unnecessary code

* Update tests/components/dynalite/test_light.py

Co-Authored-By: Martin Hjelmare <marhje52@gmail.com>

* Update tests/components/dynalite/test_light.py

Co-Authored-By: Martin Hjelmare <marhje52@gmail.com>

* Update tests/components/dynalite/test_light.py

Co-Authored-By: Martin Hjelmare <marhje52@gmail.com>

* Update tests/components/dynalite/test_light.py

Co-Authored-By: Martin Hjelmare <marhje52@gmail.com>

* Update tests/components/dynalite/test_light.py

Co-Authored-By: Martin Hjelmare <marhje52@gmail.com>

* Update tests/components/dynalite/test_light.py

Co-Authored-By: Martin Hjelmare <marhje52@gmail.com>

* Update tests/components/dynalite/test_light.py

Co-Authored-By: Martin Hjelmare <marhje52@gmail.com>

* Update tests/components/dynalite/test_light.py

Co-Authored-By: Martin Hjelmare <marhje52@gmail.com>

* Update tests/components/dynalite/test_light.py

Co-Authored-By: Martin Hjelmare <marhje52@gmail.com>

* added break in loop

* removed last mock_coro reference
pylint fix

* added coverage for try_connect

* added check for a successful connection before bridge.async_setup succeeds
also added a "nowait" config option (default False) that avoids this check

* changed log level

* fixed accidental chmod I did

* fixed accidental change

* not storing config in bridge

* not patching asyncio

* moved CONFIG_SCHEMA into component

* moved all logs to start capitalized (and revised some of them)

* moved test_config_flow to not patch the DynaliteBridge

* also took DynaliteBridge patching out of test_init

* removed NO_WAIT

* fixes to SCHEMA

* changed _ in multi-word CONF
moved imports to component const.py

* removed tries

* removed redundant tests

* fixed some small change i broke in the library. only version update

* fixed rewuirements

* Update tests/components/dynalite/test_config_flow.py

Co-Authored-By: Martin Hjelmare <marhje52@gmail.com>

* Update tests/components/dynalite/test_light.py

Co-Authored-By: Martin Hjelmare <marhje52@gmail.com>

* Update tests/components/dynalite/test_config_flow.py

Co-Authored-By: Martin Hjelmare <marhje52@gmail.com>

* removed HIDDEN_ENTITY
removed hass in test fixture

* black fixes

* removed final piece of hidden_entity from light
fix in the library
updated config flow so if the entry is already set but with a different config, calls async_update_entry

* removed DATA_CONFIGS - no longer necessary

* pylint fixes

* added coverage

* use abort in config_flow

* test update

* removed logs

* test that update actually updates the entry

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-02-21 17:38:23 -08:00
Paulus Schoutsen
ced870c588 Remove YAML config from Ring integration (#32039) 2020-02-21 17:36:19 -08:00
HomeAssistant Azure
dc15b9c28e [ci skip] Translation update 2020-02-22 00:31:49 +00:00
springstan
b41cbe9885 Add www. to all documentation links (#32063)
* Add www. to all documentation links

* Fix broken redirect uri test
2020-02-21 16:10:02 -08:00
Alexei Chetroi
3385893b77 ZHA device channel refactoring (#31971)
* Add ZHA core typing helper.
* Add aux_channels to ZHA rule matching.
* Add match rule claim_channels() method.
* Expose underlying zigpy device.
* Not sure we need this one.
* Move "base" channels.
* Framework for channel discovery.
* Make DEVICE_CLASS and REMOTE_DEVICE_TYPE default dicts.
* Remove attribute reporting configuration registry.
* Refactor channels.
- Refactor zha events
- Use compound IDs and unique_ids
- Refactor signal dispatching on attribute updates

* Use unique id compatible with entities unique ids.
* Refactor ZHA Entity registry.
Let match rule to check for the match.

* Refactor discovery to use new channels.
* Cleanup ZDO channel.
Remove unused zha store call.

* Handle channel configuration and initialization.
* Refactor ZHA Device to use new channels.
* Refactor ZHA Gateway to use new discovery framework.
Use hass.data for entity info intermediate store.

* Don't keep entities in hass.data.
* ZHA gateway new discovery framework.
* Refactor ZHA platform loading.
* Don't update ZHA entities, when restoring from zigpy.
* ZHA entity discover tests.
* Add AnalogInput sensor.
* Remove 0xFC02 based entity from Keen smart vents.
* Clean up IAS channels.
* Refactor entity restoration.
* Fix lumi.router entities name.
* Rename EndpointsChannel to ChannelPool.
* Make Channels.pools a list.
* Fix cover test.
* Fix FakeDevice class.
* Fix device actions.
* Fix channels typing.
* Revert update_before_add=False
* Refactor channel class matching.
* Use a helper function for adding entities.
* Make Pylint happy.
* Rebase cleanup.
* Update coverage for ZHA device type overrides.
* Use cluster_id for single output cluster registry.
* Remove ZHA typing from coverage.
* Fix tests.
* Address comments.
* Address comments.
2020-02-21 18:06:57 -05:00
Ziv
36db302cc8 Enhance Dynalite Integration after review (#31760)
* fixes per Martin Hjelmare

* pylint fix

* final fixes per request

* fixed unit tests for new config flow

* Added unit-tests to increase coverage. at 97% now

* Added unit tests for 100% coverage of component

* removed configured_host function and updated config_flow unit tests

* added a pylint directive since it tells me by mistake DOMAIN is not used

* fixed path (removed __init__)

* Update homeassistant/components/dynalite/light.py

Co-Authored-By: Martin Hjelmare <marhje52@gmail.com>

* Update homeassistant/components/dynalite/light.py

Co-Authored-By: Martin Hjelmare <marhje52@gmail.com>

* fixed the test as we moved from schedule_update_... to async_schedule

* Update homeassistant/components/dynalite/bridge.py

Co-Authored-By: Martin Hjelmare <marhje52@gmail.com>

* removed context from config_flow
changed test_init to use the core methods

* moved test_light to also use the core interfaces

* moved to config_entries.async_unload

* additional fixes for the tests

* pylint fix and removed unnecessary code

* Update tests/components/dynalite/test_light.py

Co-Authored-By: Martin Hjelmare <marhje52@gmail.com>

* Update tests/components/dynalite/test_light.py

Co-Authored-By: Martin Hjelmare <marhje52@gmail.com>

* Update tests/components/dynalite/test_light.py

Co-Authored-By: Martin Hjelmare <marhje52@gmail.com>

* Update tests/components/dynalite/test_light.py

Co-Authored-By: Martin Hjelmare <marhje52@gmail.com>

* Update tests/components/dynalite/test_light.py

Co-Authored-By: Martin Hjelmare <marhje52@gmail.com>

* Update tests/components/dynalite/test_light.py

Co-Authored-By: Martin Hjelmare <marhje52@gmail.com>

* Update tests/components/dynalite/test_light.py

Co-Authored-By: Martin Hjelmare <marhje52@gmail.com>

* Update tests/components/dynalite/test_light.py

Co-Authored-By: Martin Hjelmare <marhje52@gmail.com>

* Update tests/components/dynalite/test_light.py

Co-Authored-By: Martin Hjelmare <marhje52@gmail.com>

* added break in loop

* removed last mock_coro reference
pylint fix

* added coverage for try_connect

* added check for a successful connection before bridge.async_setup succeeds
also added a "nowait" config option (default False) that avoids this check

* changed log level

* fixed accidental chmod I did

* fixed accidental change

* not storing config in bridge

* not patching asyncio

* moved CONFIG_SCHEMA into component

* moved all logs to start capitalized (and revised some of them)

* moved test_config_flow to not patch the DynaliteBridge

* also took DynaliteBridge patching out of test_init

* removed NO_WAIT

* fixes to SCHEMA

* changed _ in multi-word CONF
moved imports to component const.py

* removed tries

* removed redundant tests

* fixed some small change i broke in the library. only version update

* fixed rewuirements

* Update tests/components/dynalite/test_config_flow.py

Co-Authored-By: Martin Hjelmare <marhje52@gmail.com>

* Update tests/components/dynalite/test_light.py

Co-Authored-By: Martin Hjelmare <marhje52@gmail.com>

* Update tests/components/dynalite/test_config_flow.py

Co-Authored-By: Martin Hjelmare <marhje52@gmail.com>

* removed HIDDEN_ENTITY
removed hass in test fixture

* black fixes

* removed final piece of hidden_entity from light
fix in the library
updated config flow so if the entry is already set but with a different config, calls async_update_entry

* removed DATA_CONFIGS - no longer necessary

* pylint fixes

* added coverage

* use abort in config_flow

* test update

* removed logs

* test that update actually updates the entry

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-02-21 23:29:59 +01:00
jjlawren
9cc47ca737 Add ConfigEntryNotReady exception to Plex (#32071) 2020-02-21 22:07:26 +01:00
Alok Saboo
2fb66fd866 Add additional logging to rest sensor (#32068) 2020-02-21 21:11:25 +01:00
Patrick Kishino
f32411e394 Add asuswrt interface and dnsmasq location configuration (#29834)
* Added interface and dnsmasq location configuration

* Updated aioasuswrt requirement to latest 1.2.1 release

* Updated to working aioasus library and fixed correct conf formatting
2020-02-21 17:01:57 +01:00
Maciej Bieniek
dd8597cb46 Bump brother to 0.1.6 (#32054) 2020-02-21 10:32:48 +01:00
J. Nick Koston
6e74ee7b64 Fix i/o in august camera async image update (#32044)
* Fix i/o in august camera image update

* Address review comments
2020-02-21 07:39:07 +01:00
J. Nick Koston
d4075fb262 Significantly reduce code in august integration (#32030)
* Significantly reduce code in august integration

* Activity updates can now be processed by py-august
  this allows us to eliminate the activity sync
  code for the door sensors and locks

* Lock and door state can now be consumed from
  the lock detail api which allows us to
  remove the status call apis and reduce
  the number of API calls to august

* Refactor the testing method for locks (part #1)

* Update homeassistant/components/august/binary_sensor.py

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

* Switch to asynctest instead of unittest for mock.patch

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-02-20 21:06:24 -08:00
HomeAssistant Azure
a12c4da0ca [ci skip] Translation update 2020-02-21 00:33:51 +00:00
springstan
1ee7c483a7 Update file headers and outdated documentation links (#32022)
* Update documentation links

* Update file headers v2
2020-02-20 15:29:46 -08:00
Paulus Schoutsen
51b5796916 Updated frontend to 20200220.1 (#32046) 2020-02-20 14:51:27 -08:00
Robbie Trencheny
f0d58ab7a7 Change TTS codeowner to @pvizeli (#32041) 2020-02-20 13:36:36 -08:00
Paulus Schoutsen
ce710f1e0b Template platform tweaks (#32037)
* Remove unnecessary boolean return from platform setup

* Fix template cover validation
2020-02-20 12:14:31 -08:00
Franck Nijhof
2e35190aff Fix extra arguments of group integration (#32032) 2020-02-20 20:15:45 +01:00
Paulus Schoutsen
fbe7ec7b11 Bumped version to 0.106.0b1 2020-02-20 11:02:23 -08:00
Paulus Schoutsen
b2310d6341 Updated frontend to 20200220.0 (#32033) 2020-02-20 11:02:04 -08:00
Franck Nijhof
fdd0becd5f Add minimal version contrain to urllib3 (#32031) 2020-02-20 11:02:03 -08:00
MatthewFlamm
425e6b2b1f Add missing name to logging in DataUpdateCoordinator (#32023) 2020-02-20 11:02:03 -08:00
cgtobi
f58e5a2185 Bump pyatmo to 3.2.4 (#32018)
* Bump pyatmo to 3.2.3

* Bump pyatmo version to 3.2.4

* Update requirements_test_all.txt
2020-02-20 11:02:02 -08:00
Tsvi Mostovicz
2fb6bb2a92 Don't return coroutine in DLNA/DMR service handler (#32011)
Fixes #32010
2020-02-20 11:02:01 -08:00
Paulus Schoutsen
35e9b52e2e Fix recursion bug (#32009)
* Fix recursion bug

* Remove shield
2020-02-20 11:02:00 -08:00
Mark Coombes
1e52dd5945 Fix bug in ecobee integration (#32008)
* Bump python-ecobee-api to 0.2.1

* Update log messages for clarity

* Update requirements_all
2020-02-20 11:01:59 -08:00
David F. Mulcahey
bf92b3099d Bump ZHA quirks and add skip configuration support (#31982)
* add skip configuration
* Bump quirks
* add skip configuration to FakeDevice
2020-02-20 11:01:58 -08:00
jjlawren
16f094d4d3 Fix Plex sensor title handling (#31973)
* Fix Plex sensor title parsing

* Revert episode year for now
2020-02-20 11:01:57 -08:00
Paulus Schoutsen
1b2bb87566 Only check frontend for safe mode if frontend wanted to be loa… (#31969)
* Only check frontend for safe mode if frontend wanted to be loaded

* Update test
2020-02-20 11:01:57 -08:00
Paulus Schoutsen
20e3c91ebd Updated frontend to 20200220.0 (#32033) 2020-02-20 11:01:20 -08:00
Franck Nijhof
bf1092ec80 Add minimal version contrain to urllib3 (#32031) 2020-02-20 19:19:09 +01:00
Franck Nijhof
b2f2afaf0c Prevent committing to dev/master/rc directly (#32029)
* Prevent committing to dev/master/rc directly

* Skip pre-commit on version bump
2020-02-20 09:34:30 -08:00
Franck Nijhof
1c81e8ad68 Remove history_graph integration (#32028)
* Remove history_graph integration

* Update codeowners file
2020-02-20 09:01:29 -08:00
Paulus Schoutsen
1c2bce9292 Fix recursion bug (#32009)
* Fix recursion bug

* Remove shield
2020-02-20 08:51:00 -08:00
Franck Nijhof
5c5f839119 Remove weblink integration (#32024) 2020-02-20 08:50:40 -08:00
Robin
a7d5e898ba Add convert_to_pil_image to pil util (#31825)
* Update pil.py

* Update doods and tensorflow to use convert_to_pil_image

* Update pil.py

* Add log messages on bad data

* Drop convert_to_pil_image

Just perform conversion in the integrations without seperate convert_to_pil_image()
2020-02-20 17:50:28 +01:00
Raman Gupta
7a6b13cb0d Update vizio dependency and integration name (#31975)
* bump pyvizio version and clean up code

* fix requirements

* update parameter to optional per review in docs PR
2020-02-20 08:43:29 -08:00
Paulus Schoutsen
51b2d0b4f8 Add entity ID to input_number warning (#32012)
* Add entity ID to warning

* Input Number flexibility
2020-02-20 08:30:24 -08:00
Franck Nijhof
2ad1f7fd02 Remove states UI options in group integration (#32021) 2020-02-20 08:26:41 -08:00
cgtobi
7e3841e172 Bump pyatmo to 3.2.4 (#32018)
* Bump pyatmo to 3.2.3

* Bump pyatmo version to 3.2.4

* Update requirements_test_all.txt
2020-02-20 08:25:49 -08:00
Franck Nijhof
2ec0a504da Remove deprecated Hue options (fixes CI) (#32027) 2020-02-20 17:18:50 +01:00
Paulus Schoutsen
e71c7e1f5e Fix hue test 2020-02-20 08:11:27 -08:00
MatthewFlamm
6c9d4a6d15 Add missing name to logging in DataUpdateCoordinator (#32023) 2020-02-20 16:51:15 +01:00
Franck Nijhof
d6c185fdf4 Deprecate Xfinity Gateway integration (ADR-0004) (#32017) 2020-02-20 16:01:03 +01:00
Franck Nijhof
aae64dba62 Bumped version to 0.107.0dev0 2020-02-20 11:44:00 +01:00
Franck Nijhof
febd7e551b Upgrade requests to 2.23.0 (#32013) 2020-02-20 11:41:13 +01:00
jjlawren
047111b00f Fix Plex sensor title handling (#31973)
* Fix Plex sensor title parsing

* Revert episode year for now
2020-02-19 22:33:38 -08:00
Daniel Perna
136ed12ec5 Update pyhomematic to 0.1.65 (#32006) 2020-02-19 22:27:50 -08:00
Tsvi Mostovicz
b6d60c36a5 Don't return coroutine in DLNA/DMR service handler (#32011)
Fixes #32010
2020-02-19 22:21:09 -08:00
Mark Coombes
832337f26c Fix bug in ecobee integration (#32008)
* Bump python-ecobee-api to 0.2.1

* Update log messages for clarity

* Update requirements_all
2020-02-19 21:05:22 -08:00
HomeAssistant Azure
5839df39b5 [ci skip] Translation update 2020-02-20 00:31:46 +00:00
Pascal Vizeli
6f8f23238a Nuki: add support for unique id (#31824)
* Nuki support unique id and the battery level attribute

* Fix isort

* Address comments

* Cache attribute

* Cleanup

* Restore false

* Fix isort
2020-02-19 08:16:02 -08:00
Paulus Schoutsen
4e765398cc Only check frontend for safe mode if frontend wanted to be loa… (#31969)
* Only check frontend for safe mode if frontend wanted to be loaded

* Update test
2020-02-19 15:56:46 +01:00
David F. Mulcahey
8255bdf3d5 Bump ZHA quirks and add skip configuration support (#31982)
* add skip configuration
* Bump quirks
* add skip configuration to FakeDevice
2020-02-19 09:19:26 -05:00
Franck Nijhof
e6258ec009 Merge branch 'dev' into rc 2020-02-19 13:22:32 +01:00
Bram Kragten
e90d29ea36 Updated frontend to 20200219.0 (#31979) 2020-02-19 12:46:40 +01:00
SukramJ
da4c08de12 Fix test for HMIPC (#31981) 2020-02-19 12:41:14 +01:00
SukramJ
0d874902cc Add shutter group to HomematicIP Cloud (#31916) 2020-02-19 10:59:49 +01:00
SukramJ
f4f01cb23a Add new devices to HomematicIP Cloud (#31914)
* Add new devices to HomematicIP Cloud

Adds:
- HMIP-WTH-B (Wall Thermostat Basic)
- ALPHA-IP-RBG (Alpha IP Wall Thermostat Display)
- ALPHA-IP-RBGa (ALpha IP Wall Thermostat Display analog)

* Update homeassistant/components/homematicip_cloud/sensor.py

Co-Authored-By: springstan <46536646+springstan@users.noreply.github.com>

Co-authored-by: springstan <46536646+springstan@users.noreply.github.com>
2020-02-19 10:43:12 +01:00
springstan
21f8d0a80c Bump vallox-websocket-api to 2.4.0 (#31913) 2020-02-19 10:01:21 +01:00
Vladimír Záhradník
32cd58e03d Modbus remove unnecessary get calls (#31966) 2020-02-18 19:41:12 -08:00
Gerard
0dad2f8e41 Upgrade to bimmer_connected 0.7.1 to fix US and China access (#31968) 2020-02-18 19:40:34 -08:00
jjlawren
56c834b8a4 Fix Plex naming and devices for misbehaving clients (#31970) 2020-02-18 19:37:21 -08:00
jjlawren
0213f43f10 Add options to ignore shared/managed Plex clients (#31738)
* Add option to ignore shared/managed Plex clients

* Start to allow user selection

* hass object not ready during init

* Don't bother sorting

* Plex account multi-select, handle new users not matching config

* Fix/add tests

* Lint simplifications

* Review cleanup

* Oops

* Rename options attributes, fix/add tests
2020-02-18 16:46:45 -08:00
HomeAssistant Azure
4b3f9ecc2d [ci skip] Translation update 2020-02-19 00:31:49 +00:00
Paulus Schoutsen
9f830964ef Optimize find bad JSON data (#31963) 2020-02-18 16:06:13 -08:00
Robert Svensson
a745134128 deConz - Use proper mechanisms for options flow tests (#31965)
Generic clean up
2020-02-18 23:52:56 +01:00
Robert Svensson
774c892ee6 UniFi config option SSID filter (#31842)
* Draft

* Use new multi_select config validation

* Bump dependency to v13

* Improve options flow

* Add title to config options

* Add config option descriptions

* Fix martins comment
2020-02-18 23:24:21 +01:00
Erik Montnemery
60ae85564e Add support for MQTT device triggers (#31679)
* Add support for MQTT device triggers

* Fix test, tweaks

* Improve test coverage

* Address review comments, improve tests

* Tidy up exception handling

* Fix abbreviations

* Rewrite to handle update of attached triggers

* Update abbreviation test

* Refactor according to review comments

* Refactor according to review comments

* Improve trigger removal

* Further refactoring
2020-02-18 13:51:10 -08:00
Tom Harris
f6540e3002 Fix pre-commit hook issue on Windows (#31648)
* Make shebang compatable with Windows

* Prehook test

* Undo prehook test
2020-02-18 13:33:52 -08:00
Franck Nijhof
4ed7a7f2e0 Upgrade pre-commit to 2.1.0 (#31962) 2020-02-18 13:25:26 -08:00
Robert Svensson
b5df2ba853 deCONZ - Directly reflect changes to config entry options (#31661)
* Directly reflect changes to config entry options

* Remove print

* Add tests

* Add title to config options
2020-02-18 13:24:25 -08:00
J. Nick Koston
17f3332c89 Audit state handling off august bridges and sensors (#31935)
* Audit state handling of august bridges and sensors

This addresses issue #29980

* Prevent setting up august locks that do not have a bridge as they will never work

* Prevent locks showing available when their bridge is offline

* Prevent door sensors from showing available when their bridge is offline

* Prevent creating door sensors for locks that do not have them

* Prevent doorbells showing unavailable when they are in standby mode

* Set SCAN_INTERVAL for binary_sensors to 5 seconds as
  data comes in from the activity endpoint more frequently

* Update homeassistant/components/august/__init__.py

raise if the detail is missing when checking doorsense

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

* Handle another place where the lock detail could not exist

* Address review comments

* Handle lock detail update failing and add test

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-02-18 12:11:05 -08:00
Paulus Schoutsen
239dfaba4b Do not use a set for hvac modes in SmartThings (#31959) 2020-02-18 12:09:56 -08:00
Paulus Schoutsen
beee1298c5 Extend safe mode (#31927)
* Extend safe mode

* Add safe mode boolean to config JSON output and default Lovelace

* Add safe mode to frontend

* Update accent color
2020-02-18 11:52:38 -08:00
Markus Pöschl
245482d802 Add Twitch subscription and additional stats (#31122)
* add oauth functionality and additional attributes

* Add tests WIP

* Make mocks work the correct way

* Use CONF_TOKEN constant for config

* Remove twitch from .coveragerc

* Update homeassistant/components/twitch/sensor.py

Lets be consistent

Co-Authored-By: springstan <46536646+springstan@users.noreply.github.com>

Co-authored-by: springstan <46536646+springstan@users.noreply.github.com>
2020-02-18 11:51:37 -08:00
Aaron Bach
30efef3085 Add support for SimpliSafe system notifications (#31936)
* Add support for SimpliSafe system notifications

* Actually process notifications

* Code review comments
2020-02-18 11:49:36 -07:00
Vladimír Záhradník
af67bb0df3 Read Modbus climate current temp from input register (#31944) 2020-02-18 18:45:05 +01:00
Paulus Schoutsen
b73531b2fc Untag discovery as an allowed dependency (#31934) 2020-02-18 08:32:56 -08:00
Paulus Schoutsen
7be3a4cd37 Fix entity registry not saving name/icon (#31932) 2020-02-18 08:32:34 -08:00
Markus Pöschl
0ae86b022d Add pigpio remote functionality (#31667) 2020-02-18 12:52:55 +01:00
ktnrg45
f75bda7551 Bump pyps4-2ndscreen to 1.0.7 (#31943) 2020-02-18 09:50:49 +01:00
Malte Franken
e65995eb87 Bump aio_geojson_nsw_rfs_incidents to 0.3 (#31941) 2020-02-18 08:59:49 +01:00
Austin Mroczek
1fa16eefc9 Fix translations_develop (#31942) 2020-02-18 08:58:49 +01:00
HomeAssistant Azure
2e5161997f [ci skip] Translation update 2020-02-18 00:31:41 +00:00
Malte Franken
70910ecc61 Bump aio_geojson_geonetnz_quakes to 0.12 (#31930) 2020-02-17 15:30:31 -08:00
Paulus Schoutsen
7a9b2a2234 Bumped version to 0.106.0b0 2020-02-17 15:26:37 -08:00
Paulus Schoutsen
1f7e3946e8 Merge remote-tracking branch 'origin/master' into dev 2020-02-17 14:55:27 -08:00
Paulus Schoutsen
75b508e872 Merge pull request #31931 from home-assistant/rc
0.105.5
2020-02-17 14:52:02 -08:00
Paulus Schoutsen
7bc87eef6f Bumped version to 0.105.5 2020-02-17 14:15:37 -08:00
Paulus Schoutsen
8812b60f2e Report which data causes JSON serialization error (#31901) 2020-02-17 14:15:09 -08:00
Gerard
21a1186efe Upgrade bimmer_connected to 0.7.0 (#31894) 2020-02-17 14:15:09 -08:00
Bram Kragten
95bcceddf7 Add an options flow to demo (#31920)
To help test the frontend
2020-02-17 14:10:44 -08:00
Quentame
3743aaf70f Add async_unload_entry to iCloud (#31917) 2020-02-17 22:23:24 +01:00
Bram Kragten
e52adbb942 Updated frontend to 20200217.0 (#31922) 2020-02-17 22:03:42 +01:00
Franck Nijhof
4497e98ea2 Remove duke_energy integration (ADR-0004) (#31921) 2020-02-17 21:51:53 +01:00
Aaron Bach
74f0262e82 Bump simplisafe-python to 8.1.1 (#31915) 2020-02-17 13:16:24 -07:00
Paulus Schoutsen
a6b5d73f1c Report which data causes JSON serialization error (#31901) 2020-02-17 10:49:42 -08:00
J. Nick Koston
00ac7a7d70 Provide user consumable errors when lock operations fail (#31864)
* Provide user consumable errors when lock operations fail

This resolves issue #26672

* include from in raise

* pylint

* Cleanup of mocking.
2020-02-17 10:30:14 -08:00
Bram Kragten
18dfb02355 Updated frontend to 20200212.0 (#31912) 2020-02-17 10:24:11 -08:00
Victor Guimarães
93a844b1d5 Hue Group features based on the bulbs in it (#31897)
* Computes the features of a hue group as the union of the features of the bulbs in the group

* Moved create item to a function

* Added test for hue group features
2020-02-17 10:22:34 -08:00
Paulus Schoutsen
81701f7e4c Start safe mode if invalid core conf (#31904) 2020-02-17 10:20:05 -08:00
SukramJ
2366b5f6ca Bump dependency to 0.10.17 for HomematicIP Cloud (#31911) 2020-02-17 18:31:09 +01:00
Paulus Schoutsen
1b7dd6c603 Add icons to scripts (#31899) 2020-02-17 08:44:36 -08:00
Paulus Schoutsen
c788946430 Allow specifying an icon for a scene (#31898) 2020-02-17 08:41:33 -08:00
Paulus Schoutsen
3da136b034 Add logger name to system log (#31902) 2020-02-17 17:26:25 +01:00
mezz64
164e970ba0 Add POD support, sleep fitness sensor to EightSleep (#31874)
* Add POD support, sleep fitness sensor

* Black format changes

* Change dict formatting
2020-02-17 10:15:21 +01:00
Paulus Schoutsen
b77f2670a7 Upgrade aiohue (#31903) 2020-02-17 09:52:54 +01:00
Josef Schlehofer
aead5bada8 Upgrade youtube_dl to version 2020.02.16 (#31905) 2020-02-17 09:08:29 +01:00
mueslo
00b3efec89 prevent dev_id being permanently assigned as config_name (#31886) 2020-02-16 21:07:49 -08:00
Jonathan Keljo
56142ba085 Upgrade greeneye_monitor to 2.0 (#31896) 2020-02-16 20:40:34 -08:00
Jonathan Keljo
f30c636fb7 Fix bugs in greeneye_monitor voltage reporting (#31895)
* Fix #31870

* Fix voltage notifications too
2020-02-16 20:32:59 -08:00
HomeAssistant Azure
84e4ef510e [ci skip] Translation update 2020-02-17 00:31:56 +00:00
Martin Hjelmare
2ce7561343 Clean soundtouch (#31888)
* Clean up soundtouch tests

* Remove not needed updates
2020-02-16 15:34:44 -08:00
Martin Hjelmare
e3adbc336d Fix check_real location guard (#31890) 2020-02-16 15:33:09 -08:00
Gerard
4dc4f84b37 Upgrade bimmer_connected to 0.7.0 (#31894) 2020-02-16 15:32:36 -08:00
Franck Nijhof
ae78fb857e Activate Stale bot for PR's (#31837)
* Activate Stale bot for PR's

* Disable issues only
2020-02-17 00:22:51 +01:00
Martin Hjelmare
f53ae12bb6 Clean up netgear device tracker (#31861)
* Improve logging

* Clean up login

* Clean docstring

* Clean config access

* Remove default None for port

* Add not working guard

* Remove debug print
2020-02-16 23:27:19 +01:00
Laszlo Jakab
1d5d56faf8 Add timestamp to lg_netcast media_image_url to update image correctly (#30933)
* add timestamp to media_image_url to update image correctly

* applying isort on source

* apply black formatting on source

* using f strings in media_image_url property

* remove unnecessary casting
2020-02-16 23:26:41 +01:00
Squixx
2516b9474d Update nederlandse_spoorwegen to properly handle punctuality (#31741) 2020-02-16 17:24:38 +01:00
Jardi Martinez
6be0bcceff Bump adafruit-blinka and adafruit-circuitpython-mcp230xx (#31845)
* Updated MCP23017 component to use latest adafruit-blinka v-3.9.0 and Adafruit_CircuitPython_MCP230xx v-2.2.2

* Added updated dependencies to requirements_all.txt
2020-02-16 17:19:45 +01:00
Ville Skyttä
03f7fe483b Type hint improvements (#31876)
* Complete components.remote type hints

* Define ConfigType only in helpers.typing
2020-02-16 13:47:55 +01:00
Maikel Punie
e5e7c9fa25 Upgrade python-velbus to 2.0.41 (#31875) 2020-02-16 12:36:13 +01:00
SukramJ
32f25a8484 Adjust tests after speed up to restore coverage for HomematicIP Cloud (#31836)
* Adjust tests after speed up to restore coverage for HomematicIP Cloud

* Fix test data

* Fixes after review

* remove duplicate cade

* remove service marker
2020-02-16 10:09:26 +01:00
Marco
20d7c84b22 Fix mikrotik detecting capsman support (#31819)
* fix detecting capsman support

* fix isort

* moved support_capsman to update_devices()

* moved support-checks to setup method

* moved setup method to get_hub_details

* implement suggestion for device lists

* fix black formatting

* remove not needed variable wireless_devices

* fix usage of force_dhcp to seperate wireless devs

* fix black fmt
2020-02-16 09:49:13 +01:00
Paulus Schoutsen
a6eb776768 Merge remote-tracking branch 'origin/master' into dev 2020-02-15 21:39:55 -08:00
J. Nick Koston
096e7cceed Support XML conversion for RESTful sensors (#31809)
* Support XML conversion for RESTful sensors

Many devices continue to use XML for RESTful
APIs.  Interfacing with these APIs requires custom
integrations or command line fork()/exec() overhead
which many of these devices can work with as if
they were JSON using xmltojson via this spec:
https://www.xml.com/pub/a/2006/05/31/converting-between-xml-and-json.html

This change implements converting XML output to
JSON via xmltojson so it can work with the existing
rest sensor component.  As the attributes that
usually need to be scraped are deeper in the document
support for passing in a template to find the
JSON attributes that have been added.  JSON APIs that
do not have their attributes at the top level
can also benefit from this change.

* Auto convert xml, change out the template for jsonpath

* Address review items and potentially unexpected normalize behavior with jsonpath

* Revert "Address review items and potentially unexpected normalize behavior with jsonpath"

This reverts commit fe9e179092.

* json_dict[0] turned out to be needed
2020-02-15 21:10:23 -08:00
Joseph Albert
fee0d8dbdd Add rainforest_eagle support for legacy hardware (#28082)
* Add compatibility with Legacy EAGLE models.

* added mdns resultion via zeroconf

* Added requirements to requirements_all.txt

* Fixed model determination bug

* Fixed formatting issue for Eagle-200 responses.

* Remove mDNS resolution, IP now required.

* added pypi deps, fixed handling of optional params

manifest updates

* Fixed import order per isort.

* Two pylint fixes.

* More consistent try-fail structure to guessing hardware.  Errors actually fail.
2020-02-15 21:10:04 -08:00
J. Nick Koston
f6d9e6b6c5 Convert august to async so a token refresh lock can be used (#31848)
* Convert august to async so a token refresh lock can be used

* Update comment since we now have a lock

* Do not mock the lock

* Address review items
2020-02-15 21:08:52 -08:00
Philip Rosenberg-Watt
fb8cbc2e93 Fix CalDAV recurring events (#31805)
* Fix CalDAV parsing of recurring events

Some CaDAV servers (see: SOGo) return the original event that contains
the recurrence rules. The CalDAV calendar component sorts and filters
events based on their start and end dates, and was failing to properly
show recurring events based on these recurrence rules.

This this change checks if an event has recurrence rules and changes the
start/end dates of the event to today if the event is set to occur
today. This allows the rest of the component logic to function properly.

* Use date from nextmost occurence

* Adding unit tests

* Add endless event unit test

* Create new vevent for each event recurrence today

* Remove redundant unit test

* Add timezone to events that have none

Python cannot compare them otherwise.

* Simplify code, add comments & guard clause

* Add test for recurring all day event

* Account for all-day events

* Remove redundant code

* Remove redundant code

* Remove unnecessary deepcopy

* Add hourly recurring tests

* Add tests for hourly repeating event

* Fix unit test

* Use event.copy()
2020-02-15 19:31:36 -08:00
HomeAssistant Azure
3fb80712be [ci skip] Translation update 2020-02-16 00:31:42 +00:00
jjlawren
91018034b6 Use new custom_serializer (#31871) 2020-02-15 15:36:57 -08:00
Moshe Kaplan
7dff5e79d1 Add support for displaying Daf Yomi (#30628)
* Add support for displaying Daf Yomi

* Ran black --fast

* Added docstring to get_daf

* Further lint fixes

* Remove unnecessary else

* clarify code

* Use fstrings

* pull daf yomi from hdate

* Update manifest version for daf_yomi support

* fix variable usage

* Update requirements

* Also pass in today's date as well

* Rename date variable to daytime_date

* Add tests for daf yomi sensor

* Update stale test IDs
2020-02-16 00:00:17 +01:00
Chris Caron
481d3295a6 Bump Apprise version to v0.8.4 (#31868) 2020-02-15 23:58:42 +01:00
Daniel Høyer Iversen
8c270e6fc7 update pyTibber libary, add signal strength for Pulse and watty (#31851)
* update pyTibber libary, add signal strength for Pulse and watty

* update pyTibber libary, add signal strength for Pulse and watty
2020-02-15 13:52:56 -08:00
Massimiliano Cannarozzo
2c42e2aa79 Improve media name detection on lg_netcast (#31863)
When the tv is using an external input (e.g. HDMI1) values have to be taken from fields otherwise they'll empty
2020-02-15 13:48:30 -08:00
Paulus Schoutsen
02002ac3b9 Update codecov.yml 2020-02-15 13:06:08 -08:00
Ville Skyttä
733f1e1101 Helpers typing improvements (#31865) 2020-02-15 13:03:53 -08:00
Martin Hjelmare
588f2cd920 Revert "Check netgear device_tracker link_rate to ensure device is connected" (#31855)
This reverts commit 669844e4dd.
2020-02-15 17:21:04 +01:00
Michaël Arnauts
b8f9ff76b3 Add Tado water_heater (#30095)
* Add Tado water_heater

* Don't use climate CONSTS

* Fix logging text

* Add changes for multiple bridge support

* Address remarks

* should_poll must be False

* Remove additional async_schedule_update_ha_state()

* Not for climate
2020-02-15 17:08:21 +01:00
Ville Skyttä
1609e33030 Simplify missing Garmin Connect data handling, mark entities un/available (#31718)
* Simplify missing Garmin Connect data handling, mark entities un/available

* Remove unnecessary else
2020-02-15 17:53:10 +02:00
Robin
e38522c612 Bump pillow to 7.0 (#31847) 2020-02-15 11:59:41 +01:00
Massimiliano Cannarozzo
4e54dfa874 Add turn_on_action configuration variable (#31792)
Allow to turn on the TV using an external service
2020-02-15 10:57:04 +01:00
HomeAssistant Azure
f3a8196fb5 [ci skip] Translation update 2020-02-15 00:31:45 +00:00
Paulus Schoutsen
68d2a1107e Merge pull request #31841 from home-assistant/rc
0.105.4
2020-02-14 16:29:09 -08:00
Paulus Schoutsen
350726d938 Revert "For vizio integration, set unique ID early to prevent multiple zeroconf discovery items for the same device to appear (#31686)"
This reverts commit 295963f8e8.
2020-02-14 15:47:14 -08:00
Paulus Schoutsen
8140c033fa Bumped version to 0.105.4 2020-02-14 15:30:23 -08:00
Franck Nijhof
f26cbbdef9 Spotify integration hotfixes (#31835)
* Remove services file, incorrect info

* Guard currently playing for being a NoneType

* Revert "Guard currently playing for being a NoneType"

This reverts commit f5f56b0db0.

* Guard currently playing item is None

* Process review suggestions
2020-02-14 15:30:11 -08:00
Paulus Schoutsen
7705eb7941 Google Assistant: Remove speaker type and earlier filter out devices from being locally exposed (#31830)
* Remove speaker type

* Do not expose locks or alarms to Google Local
2020-02-14 15:30:11 -08:00
Paulus Schoutsen
af9832d468 Fix person device_trackers null (#31829) 2020-02-14 15:30:10 -08:00
Bram Kragten
f042c6f8d5 Updated frontend to 20200130.3 (#31771) 2020-02-14 15:29:41 -08:00
SukramJ
656c901f7b Fix smoke detection for HomematicIP Cloud (#31753) 2020-02-14 15:29:10 -08:00
Paulus Schoutsen
30e302a8a3 Fix person reload service (#31716) 2020-02-14 15:29:09 -08:00
cgtobi
7edf0460cc Fix missing device class in netatmo binary sensors (#31693)
* Bring back device class

* Add door tag sensors types

* Actually discover individual tags per camera
2020-02-14 15:29:08 -08:00
Raman Gupta
295963f8e8 For vizio integration, set unique ID early to prevent multiple zeroconf discovery items for the same device to appear (#31686)
* set unique ID early to prevent multiple zeroconf discovery items for the same device to appear

* add test
2020-02-14 15:29:08 -08:00
Paulus Schoutsen
966df6a411 Guard writing automation/scene/script config (#31568) 2020-02-14 15:29:07 -08:00
Paulus Schoutsen
4501471b8c Google Assistant: Remove speaker type and earlier filter out devices from being locally exposed (#31830)
* Remove speaker type

* Do not expose locks or alarms to Google Local
2020-02-14 15:28:11 -08:00
Paulus Schoutsen
52b045ed30 Fix person device_trackers null (#31829) 2020-02-14 15:27:31 -08:00
Franck Nijhof
f396f1cb18 Spotify integration hotfixes (#31835)
* Remove services file, incorrect info

* Guard currently playing for being a NoneType

* Revert "Guard currently playing for being a NoneType"

This reverts commit f5f56b0db0.

* Guard currently playing item is None

* Process review suggestions
2020-02-14 22:58:39 +01:00
Vilppu Vuorinen
614be5c1bb Remove energy sensor from incompatible Ata devices (#31831)
An AtaDevice has a boolean flag describing whether it supports energy
consumption metering. The flag was ignored resulting in sensor entities
reporting constant 0 kWh consumption.

* Update pymelcloud dependency to support the has_energy_consumed_meter
flag.

* Add ATTR_ENABLED_FN to sensor definitions for filtering out
unsupported sensors.

* Fix typing issue in sensor constructor.

* Remove unused UnitSystem constructor parameter.
2020-02-14 21:11:51 +01:00
Robert Svensson
043d36f7c6 Change multi_select config validator to class (#31828)
* Move multi_select to class

* Fix serializer and add test

* Serializer should also return options
2020-02-14 11:09:40 -08:00
Aaron Bach
d6f0c26e7f Fire HASS events on SimpliSafe events (#31811)
* Fire HASS events on SimpliSafe events

* Bump simplisafe-ptyhon to 7.3.0

* Update reqirements

* Updates

* Revert "Updates"

This reverts commit 5581889417.

* Restrict which events get fired

* Code review comments
2020-02-14 11:24:35 -07:00
Paulus Schoutsen
e019280d94 Annotate more async functions correctly (#31802) 2020-02-14 10:00:22 -08:00
Paulus Schoutsen
71a81c443f Limit translations_develop to an integration (#31804)
* limit translations_develop to english

* Convert to Python

* Limit to integration

* Add to hassfest

* Remove old bash comment
2020-02-14 09:26:50 -08:00
Abílio Costa
e6148d223a Allow hourly forecast in IPMA (#30979)
* update ipma component for pyipma 2.0
* fix wind speed; refactor forecast
* update requirements*.txt
* fix tests; update CODEOWNERS; update pyipma to 2.0.1
* minor changes as suggested in PR
* make lint happy
* fix mocking coroutines
* restore old unique id
* fix station lat/lon; update pyipma version
* add hourly forecast option to IPMA
* add forecast tests
* use for instead of lambda
2020-02-14 12:04:41 -05:00
SukramJ
9eb0415234 Speed up tests of HomematicIP Cloud (#31810)
* Speed up tests of HomematicIP Cloud

* load the json once
2020-02-13 22:56:17 -08:00
Chris Talkington
f9fda7d616 update directv to directpy==0.6 (#31812) 2020-02-13 17:47:16 -08:00
jjlawren
408b41ea02 Add device registry support for Plex (#31797)
* Add device registry support for Plex

* Fix model

* Use Plex server as sensor device identifier
2020-02-13 16:37:52 -08:00
Vladimír Záhradník
f0b2d50e41 Fix swap of min and max default values in Modbus climate (#31801) 2020-02-13 16:34:42 -08:00
jjlawren
eb3097506f Add summary attribtue for currently playing media (#31803) 2020-02-13 16:34:12 -08:00
HomeAssistant Azure
32bc94bdd6 [ci skip] Translation update 2020-02-14 00:31:49 +00:00
SukramJ
2f3ab15268 Remove force from async_schedule_update_ha_state for HMIPC (#31796)
* remove force from async_schedule_update_ha_state if HMIPC

* Fix lint
2020-02-13 16:24:43 -08:00
Paulus Schoutsen
ebeab7f44c Update codecov.yml 2020-02-13 16:15:46 -08:00
jjlawren
59932545ab Update Plex connection class to push (#31806) 2020-02-13 16:45:48 -07:00
Robbie Trencheny
f6341ed3de Add Home Assistant Companion to manifest.json so we can sugges… (#31808) 2020-02-13 15:44:45 -08:00
Ville Skyttä
3018e8ff47 Use time.monotonic instead of time.time where appropriate (#31780) 2020-02-13 22:57:07 +01:00
Paulus Schoutsen
fbbb29a6ec Catch unexpected exceptions when validating config (#31795) 2020-02-13 22:43:07 +01:00
Robert Svensson
6211a2bb98 Add multi select support to config validation and to custom serializer (#31798) 2020-02-13 13:12:09 -08:00
MrDadoo
fdfe88566b Update onewire component (#31419)
* Added some measurement points for Family 26.
Added three attriubtes for each sensor, DEVICE_FILE, RAW_VALUE and SENSOR_TYPE
Added some comments.
Updated to get config values for owserver to get owport and owhost.

* Changed to _LOGGER.debug in some places

Resorted includes

* Fixup of code to reflect review comment, comply to Black and pass tests

* Added unique_id Entity property with device file id and added device_file as attribute that takes its data from Entities unique_id-.

* Missing blank line identified by fake8 and black

* Changed to let device_state_attributes return attribute device_file from the self._device_file member variable of the entity.

* Changed from info to debug logging
2020-02-13 21:56:20 +01:00
Aaron Bach
f091e0412f Add support for real-time data from SimpliSafe (#31424)
* Add support for real-time data from SimpliSafe

* Updated requirements

* Linting

* Ensure dispatcher topic contains the domain

* Don't bother with a partial

* Websovket dataclass and other code review

* Ensure initial_event_to_use works with error

* Don't inline methods

* Don't abuse loop variable

* Simplify initial event retrieval

* Add connection lost and restored events

* Revert "Add connection lost and restored events"

This reverts commit e7ffe05938.

* Make _on_disconnect a static method

* Code review comments

* Allow entities to opt out of REST and/or websocket API updates

* Revert "Allow entities to opt out of REST and/or websocket API updates"

This reverts commit 1989f2e00e.

* Code review comments

* Fix issues with events not triggering correct entities

* Bug fixes
2020-02-13 11:30:38 -08:00
Paulus Schoutsen
9e7185c676 Write state if schedule update state from async context (#31758)
* Write state if schedule update state from async context

* Fix most tests

* Fix test and PS4 I/O in event loop

* Fix ps4 better
2020-02-13 10:22:06 -08:00
Franck Nijhof
8d1f8055dd Fix spelling of NETGEAR and CalDAV in manifests (#31790) 2020-02-13 19:20:26 +01:00
Ville Skyttä
3e23a3a860 Add and use bunch of data size and rate related constants (#31781)
Also fix a few units to match the corresponding data.
2020-02-13 08:52:57 -08:00
Franck Nijhof
0173c61fee Spelling: Config(uration) (#31782) 2020-02-13 08:27:00 -08:00
Jens Østergaard Nielsen
8356ea2616 Update to version 2.6 of ihcsdk (#31789)
* Make the set_runtime_value_int function work with template values

* Use newest version of the ihcsdk library

* Make the set_runtime_value_int function work with template values

* Use newest version of the ihcsdk library

* Updated to the newest ihcsdk 2.5.0

* Formatted changes to make it pass CI tests

* Update to version 2.6 of ihcsdk
2020-02-13 16:12:02 +01:00
Franck Nijhof
d66123cc37 Fix spelling of ASUSWRT in manifest (#31764)
* Fix spelling of ASUSWRT in manifest

* Update homeassistant/components/asuswrt/__init__.py

Co-Authored-By: springstan <46536646+springstan@users.noreply.github.com>

Co-authored-by: springstan <46536646+springstan@users.noreply.github.com>
2020-02-13 14:24:15 +01:00
HomeAssistant Azure
40e866a5bb [ci skip] Translation update 2020-02-13 00:31:46 +00:00
Paulus Schoutsen
52b16bf5aa Rename codecov so it will be picked up (#31775) 2020-02-12 16:16:47 -08:00
Robert Svensson
4cac0443e2 UniFi - Change handling of updated options (#31762)
* Change handling of updated options

* Add tests
2020-02-12 16:15:08 -08:00
Quentame
e0a035ce35 Implement PlatformNotReady to Linky + fix TypeError (#31768) 2020-02-12 16:12:35 -08:00
Franck Nijhof
be388a4797 Fix spelling of AVM FRITZ!Box in manifest (#31765) 2020-02-12 16:12:11 -08:00
Franck Nijhof
aa97be71a8 Fix spelling of apcupsd in manifest (#31770) 2020-02-12 15:36:15 -08:00
Franck Nijhof
78783555ea Fix spelling of VIVOTEK (#31773)
* Fix spelling of VIVOTEK in manifest

* Also adjust default name of camera to match the brand name
2020-02-12 15:36:04 -08:00
J. Nick Koston
6879105b14 Cleanup August activity processing and add tests (#31774)
* Update py-august to 0.12.0

* Upstream update also resolves issue #28960
2020-02-12 15:35:07 -08:00
Bram Kragten
834acd85d3 Updated frontend to 20200212.0 (#31772) 2020-02-12 14:54:33 -08:00
Bram Kragten
56316b1f6e Updated frontend to 20200130.3 (#31771) 2020-02-12 14:53:26 -08:00
Alexei Chetroi
52fe1328f6 ZHA tests refactoring (#31744)
* Refactor ZHA fixtures.
Patch Zigpy radio libs instead of ZHA when setting up fixtures.
Use new fixtures for binary_sensor.zha platform.

* Update ZHA api tests.
* Update ZHA channels and discovery tests.
* Update ZHA cover tests.
* Update device action/trigger tests.
* Update device_tracker.zha platform tests.
* Update fan.zha platform tests.
* Update ZHA gateway tests.
* Update lock.zha platform tests.
* Update switch.zha platform tests.
* Update sensor.zha platform tests.
* Update light.zha platform tests.
* Use MockConfigEntry.
* Address PR comments.
2020-02-12 16:12:14 -05:00
Daniel Shokouhi
43256ebd83 Add device name to sensor name for mobile_app (#31756)
* Add device name to sensor name

* Update test to include device name
2020-02-12 11:40:39 -08:00
Paulus Schoutsen
3b3e062a35 Whitelist shopping list updated event (#31742)
* Whitelist shopping list updated event

* Add ignore to hassfest
2020-02-12 10:13:07 -08:00
SukramJ
c0756948da Fix smoke detection for HomematicIP Cloud (#31753) 2020-02-12 10:12:26 -08:00
Emanuel Winblad
3e05fc1c11 Add initial version of Vilfo Router integration (#31177)
* Initial implementation of Vilfo router integration.

This commit is a combination of several commits, with commit messages in bullet form below.

* Added additional files to Vilfo integration.
* Added generated files.
* Fixed alphabetic order in generated config_flows.
* Continued implementation of config flow for Vilfo integration.
* Continued work on config_flow for Vilfo.
* Updated requirements in manifest for Vilfo Router integration.
* Some strings added to Vilfo Router integration.
* Vilfo Router integration updated with sensor support.
* Code style cleanup.
* Additional cleanup of config flow.
* Added additional UI strings for Vilfo Router
* Updated tests of config flow and fixed formatting
* Updated requirement upon vilfo-api-client.
* Sensor refactoring including support for icons
* Code style changes for Vilfo Router integration
* Code cleanup
* Fixed linting issues in Vilfo Router integration
* Fixed import order in test for Vilfo integration.

* Updates to Vilfo Router integration based on feedback

Based on the feedback received, updates have been made to the Vilfo Router integration.

A couple of the points mentioned have not been addressed yet, since the appropriate action has not yet been determined. These are:

* https://github.com/home-assistant/home-assistant/pull/31177#discussion_r371124477
* https://github.com/home-assistant/home-assistant/pull/31177#discussion_r371202896

This commit consists of:

    * Removed unused folder/submodule
    * Fixes to __init__
    * Fixes to config_flow
    * Fixes to const
    * Refactored sensors and applied fixes
    * Fix issue with wrong exception type in config flow
    * Updated tests for Vilfo integration config_flow
    * Updated dependency upon vilfo-api-client to improve testability
    * Import order fixes in test
    * Use constants instead of strings in tests

* Updated the VilfoRouterData class to only use the hostname as unique_id when it is the default one (admin.vilfo.com).

* Refactored based on feedback during review.

* Changes to constant names,
* Blocking IO separated to executor job,
* Data for uptime sensor changed from being computed to being a timestamp,
* Started refactoring uptime sensor in terms of naming and unit.
* Updated constants for boot time (previously uptime) sensor.
* Refactored test of Vilfo config flow to avoid patching code under test.
* UI naming fixes and better exception handling.

* Removed unused exception class.

* Various changes to Vilfo Router integration.

* Removed unit of measurement for boot time sensor,
* Added support for a sensor not having a unit,
* Updated the config_flow to handle when the integration is already configured,
* Updated tests to avoid mocking the code under test and also to cover the aforementioned changes.

* Exception handling in Vilfo Router config flow refactored to be more readable.

* Refactored constant usage, fixed sensor availability and fix API client library doing I/O in async context.

* Updated signature with hass first

* Update call to constructor with changed order of arguments
2020-02-12 19:11:15 +01:00
jjlawren
1b2f4fa19f Improve Plex media_player entity naming (#31755) 2020-02-12 09:55:18 -08:00
Bas Nijholt
8498ca37cd Fix moving average test for discrete derivative sensor (#31750)
* fix test_data_moving_average_for_discrete_sensor

After https://github.com/home-assistant/home-assistant/pull/31717 the test
didn't actually test anything anymore.

This fixes that.

* make the test faster
2020-02-12 09:53:06 -08:00
Vladimír Záhradník
378c432f6d Add availability status to Modbus entities and improve error handling (#31073) 2020-02-12 09:37:16 -08:00
Franck Nijhof
06f06427b6 Fix spelling of ecobee in manifest (#31751) 2020-02-12 10:29:06 -05:00
Paulus Schoutsen
cde414e1df Use set for dependency lookup in hassfest (#31746) 2020-02-12 12:59:59 +01:00
Robbie Trencheny
0700d38d1f Add new webhook action to allow enabling encryption in an exis… (#31743)
* Add new webhook action to allow enabling encryption in an existing registration

* Harden tests

* Make requested fixes
2020-02-11 23:56:22 -08:00
J. Nick Koston
f5be9ef7fb Refresh the august access token when needed (#31735)
* Refresh the august access token
when needed.

Currently august will stop working when the token
expires about every six month.

This resolves issue #23788

* Make refresh_access_token_if_needed private since we do not want additional callers

* Add init
2020-02-11 22:13:54 -08:00
cgtobi
891f13eefe Fix missing device class in netatmo binary sensors (#31693)
* Bring back device class

* Add door tag sensors types

* Actually discover individual tags per camera
2020-02-11 18:02:13 -08:00
Ville Skyttä
d1b0ab736d Improve Huawei LTE timeouting/stalling request behavior (#31710)
* Suppress data get timeout exceptions for 30s after notify attempts

At least SMS send failures may put the API in a state where it times out
some (but not all) data get operations for some time, e.g. 25s.

Closes https://github.com/home-assistant/home-assistant/issues/30827

* Do not pile up duplicate data requests

Do not add another request for a piece of data for which a previous
request is still in progress. For example failing SMS sends are known to
stall some (but not all) requests for some time, and firing up more is
not going to help.
2020-02-11 17:54:19 -08:00
J. Nick Koston
54eb740ff6 Read door open/close events from the activity log. (#31732)
As polling for lock status is every 15 minutes,
we read lock and unlock events from the activity log.

An upstream update of py-august was needed to
expose the door open and close events.

Door open and close events are now seen within
a few seconds instead of delayed 15+ minutes.
2020-02-11 17:43:56 -08:00
Diogo Gomes
787edf9417 pyipma version bump (#31739) 2020-02-11 17:37:48 -08:00
HomeAssistant Azure
9e233070a0 [ci skip] Translation update 2020-02-12 00:31:49 +00:00
Vladimír Záhradník
378bd8438b Update Modbus service manifest (#31727) 2020-02-11 22:11:02 +01:00
Massimiliano Cannarozzo
15ed086ed2 Fix set volume level (#31731)
afsapi requires an `int` in the 0-20 range but we receive a `float` in the 0.0-1.0 range so we have to cast and offset it
2020-02-11 22:10:33 +01:00
Kit Klein
3435281bd1 Support Konnected Pro alarm panel, embrace async, leverage latest HA features/architecture (#30894)
* fix unique_id computation for switches

* update konnected component to use async, config entries, registries. Pro board support and tests

* clean up formatting comments from PR

* use standard interfaces in tests

* migrate config flow to use options

* address latest pr feedback

* format for import as part of config schema validation

* address pr feedback

* lint fix

* simplify check based on pr feedback

* clarify default schema validation

* fix other schema checks

* fix translations

Co-authored-by: Nate Clark <nate@nateclark.com>
2020-02-11 22:04:42 +01:00
Paulus Schoutsen
51c35ab9a8 Entity Registry to store and restore name/icon (#31714)
* Entity Registry to store and restore name/icon

* Update test_entity_registry.py

* Add original name/icon to JSON result
2020-02-11 09:40:50 -08:00
J. Nick Koston
ecd7ec385d Significantly reduce the number of API calls that the august integration (#31685)
* Significantly reduce the number of API calls that the august integration
makes.

The poll interval for the lock status API is now 15 minutes
instead of every 10 seconds because we can use the activity
API to see changes in lock state.  The interval for the
activity API is 10 seconds which allows for the same
frequency of state monitoring without all the additional API calls.
With four locks, this change results in an ~80% reduction in the number
of API calls.

The result of the lock and unlock APIs now update the lock state instead
of waiting for the next poll.  This change also has the added benefit of
making the UI appear far more responsive.

* Convert to using UTC times
2020-02-11 17:57:26 +01:00
Paulus Schoutsen
81b159f424 Disable Hue groups for new setups (#31713) 2020-02-11 08:50:07 -08:00
Victor Vostrikov
3df2cb6b78 Add support of multiple Tado accounts (#31527)
* Added support of multiple Tado accounts
Changed geberation of sensor unique id (breaking change)

* Fixed lints

* Fixed error detecting opened window

* Changed gereration of unique id of climate

* Removed commented code and added comments
2020-02-11 08:46:02 -08:00
Paulus Schoutsen
8a6158116a Fix person reload service (#31716) 2020-02-11 09:07:46 +01:00
Paulus Schoutsen
6fcf5472a5 Limit derivative test (#31717) 2020-02-11 09:03:52 +01:00
Paulus Schoutsen
5a0f21cbe3 Adjust entity slow warning for custom component (#31711) 2020-02-10 16:32:47 -08:00
HomeAssistant Azure
2db6246244 [ci skip] Translation update 2020-02-11 00:31:53 +00:00
Paulus Schoutsen
fb6fb42f85 Merge pull request #31712 from home-assistant/rc
0.105.3
2020-02-10 15:49:08 -08:00
Rami Mosleh
c66106ee98 Add Glances sensors dynamically (#28639)
* Add temp_sensors to glances dynamically

* unsub from updates when sensor is disabled

* dynamicall add sensors

* change "device_name" to "mnt_point"

* remove unnecessary logging

* update sensor.py

* update test_config_flow.py

* remove commented code
2020-02-10 15:02:14 -08:00
SoftXperience
d55846c33a Use latest version of python-pushover (forked) to fix issue with diff… (#31647)
* Use latest version of python-pushover (forked) to fix issue with different API tokens. (https://community.home-assistant.io/t/different-applications-in-pushover/6985)

* Rewrite pushover notify to use pushover_complete library

* Remove possibility to attach urls to notifications

* Fix comment
2020-02-10 14:55:17 -08:00
Raman Gupta
284fd46ea8 For vizio integration, set unique ID early to prevent multiple zeroconf discovery items for the same device to appear (#31686)
* set unique ID early to prevent multiple zeroconf discovery items for the same device to appear

* add test
2020-02-10 14:54:52 -08:00
Paulus Schoutsen
992484fbe6 Bumped version to 0.105.3 2020-02-10 14:45:44 -08:00
cgtobi
834b0e6cf0 Fix wrong error message in netatmo integration (#31690) 2020-02-10 14:45:34 -08:00
Daniel Høyer Iversen
925fa25ac7 Fix hvac_action for mill (#31630) 2020-02-10 14:45:33 -08:00
Alexei Chetroi
fb6eedb4c2 Bump ZHA dependencies. (#31619)
Bump up zigpy-homeassistant==0.13.2
2020-02-10 14:44:25 -08:00
Ron Klinkien
881c501cef Catch garmin_connect keyerrors with unknown entity type updates (#31608)
* Catch keyerrors with unknown entity type updates

* Change debug level and removed . from log call
2020-02-10 14:44:24 -08:00
MatthewFlamm
4212fd8999 update pynws to 0.10.4 (#31591) 2020-02-10 14:44:23 -08:00
Rami Mosleh
b3aacfeb90 Fix librouteros response error handling (#31588) 2020-02-10 14:44:23 -08:00
Franck Nijhof
8da948e909 Bump adguardhome to 0.4.1 (#31565) 2020-02-10 14:44:22 -08:00
J. Nick Koston
a02bb893ef Resolve August integration makes too many requests and hits rate limits (#31558) 2020-02-10 14:44:21 -08:00
Alexei Chetroi
cc5377747f Bump ZHA dependencies. (#31555) 2020-02-10 14:44:21 -08:00
Eduard van Valkenburg
454e63b69e Fix Evohome checking override duration (#31697) 2020-02-10 14:43:39 -08:00
Vladimír Záhradník
94da129ef8 Extend Modbus binary sensor to support discrete inputs (#30004)
* Extend Modbus binary sensor to support discrete inputs

* Add backward compatibility for Modbus binary sensor
2020-02-10 13:56:39 -08:00
Ziv
4467409e5c Dynalite Integration (#27841)
* Initial commit

* ran hassfest and gen_requirements_all scripts

* fixes per request from Paulus Schoutsen

* ran gen_requirements_all

* updated library version - removed some debug leftover

* get_requirements again...

* added documentation URL

* ran isort

* changed storage in hass.data[DOMAIN] to use entry_id instead of host

* adopted unit tests to latest fix

* Update const.py

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-02-10 13:16:04 -08:00
Vilppu Vuorinen
b78d156f0e Add MELCloud integration (#30712)
* Add MELCloud integration

* Provides a climate and sensor platforms. Multiple platforms on one go
is not the best option, but it does not make sense to remove them and
commit them later either.

* Email and access token are stored to the ConfigEntry. The token can be
updated by adding the integration again with the same email address. The
config flow is aborted and the update is performed on the background.

* Run isort

* Fix pylint errors

* Run black

* Increase coverage

* Update pymelcloud dependency

* Add HVAC_MODE_OFF emulation

* Remove print

* Update pymelcloud to enable device type filtering

* Collapse except blocks and chain ClientNotReadys

* Add preliminary documentation URL

* Use list comp for creating model info

Filters out empty model names form units.

* f-string galore

Dropped 'HVAC' from AtaDevice name template.

* Delegate fan mode mapping to pymelcloud

* Fix type annotation

* Access AtaDevice through self._device

* Prefer list comprehension

* Update pymelcloud to leverage device type grouping

The updated backend lib returns devices in a dict grouped by the device
type. The devices do not necessarily need to be in a single list and
this way isinstance is not required to extract devices by type.

* Remove DOMAIN presence check

This does not seem to make much sense after all.

* Fix async_setup_entry

Entry setup used half-baked naming from few experimentations back.
The naming conventiens were unified to match the platforms.

A redundant noneness check was also removed after evaluating the
possible return values from the backend lib.

* Simplify empty model name check

* Improve config validation

* Use config_validation strings.

* Add CONF_EMAIL to config schema. The value is not strictly required
when configuring through configuration.yaml, but having it there makes
things more consistent.

* Use dict[key] to access required properties.

* Add DOMAIN in config check back to async_setup. This is required if an
integration is configured throught config_flow.

* Remove unused manifest properties

* Remove redundant ClimateDevice property override

* Add __init__.py to coverage exclusion

* Use CONF_USERNAME instead of CONF_EMAIL

* Use asyncio.gather instead of asyncio.wait

* Misc fixes

* any -> Any

* Better names for dict iterations

* Proper dict access with mandatory/known keys

* Remove unused 'name' argument

* Remove unnecessary platform info from unique_ids

* Remove redundant methods from climate platform

* Remove redundant default value from dict get

* Update ConfigFlow sub-classing

* Define sensors in a dict instead of a list

* Use _abort_if_unique_id_configured to update token

* Fix them tests

* Remove current state guards

* Fix that gather call

* Implement sensor definitions without str manipulation

* Use relative intra-package imports

* Update homeassistant/components/melcloud/config_flow.py

Co-Authored-By: Martin Hjelmare <marhje52@gmail.com>

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-02-10 22:09:12 +01:00
Hans Oischinger
7e0560c7dc Vicare water_heater set_temperature fix and bump PyVicare to 0.1.7 (#31672)
* Fix ViCare water_heater set_temperature

This fixes a obvious but undiscovered bug in the water heater component:
Instead of the commanded value the prvious value was set on the API

* Bump PyVicare to 0.1.7
2020-02-10 21:23:02 +01:00
Maikel Punie
5a7e0b84ff Bump velbus version + load velbus module names into device info (#31664) 2020-02-10 21:22:09 +01:00
Quentame
9e41ee49cb Fix Météo-France I/O while testing (#31695)
* Fix Météo-France I/O while testing

* Review
2020-02-10 17:00:22 +01:00
cgtobi
7d0b50cadb Fix wrong error message in netatmo integration (#31690) 2020-02-10 12:33:07 +01:00
Paulus Schoutsen
5092971452 Add brightness light device actions (#31567) 2020-02-09 19:47:59 -08:00
Paulus Schoutsen
12de3f1e47 Clean up frontend services and events (#31654)
* Clean up frontend services and events

* Fix bug in core instead

* Add test that core works correctly with callback marked async funcs
2020-02-09 19:47:16 -08:00
Alexei Chetroi
28eeed1db3 ZHA tests refactoring (#31682)
* Fixtures for restoring/joning a device.

* binary_sensor.zha tests.

* cover.zha platform tests.

* device_tracker.zha platform tests.

* fan.zha platform tests.

* switch.zha platform tests.

* Update light.zha platform tests.

* Update sensor.zha platform tests.

* ZHA api tests refactoring.

* Update lock.zha platform tests.

* Update ZHA gateway tests.

* Update zha device action tests.

* Update zha device trigger tests.

* Cleanup.
2020-02-09 21:45:35 -05:00
HomeAssistant Azure
118ba10442 [ci skip] Translation update 2020-02-10 00:31:37 +00:00
Balazs Sandor
41f3fb291a Add ZHA Texas Instruments CC device support (#31621) 2020-02-09 12:13:22 -05:00
Ben
fb2e120563 Sure Petcare new features various improvements (#31437)
* add typing

* 100% battery_level is enough

* human-friendly datetime

* better enum usage

* add online and learning mode attrs

* use max two decimals in attrs

* use legacy style debug logging

* remove str usage of enums

* add feeder

* add feeder and adapt to new surepy version

* use ProductID instead of ThingID

* various changes and improvements

* add connectivity sensors for all devices & proper support for multiple hubs

* remove "side effects"/exception catching in attribs

* correct unique ids, reorder classes

* move Flap class from binary_sensor to sensor and add a sensore base class

* comments cleanup, minor typing and logging fixes

* remove commented code

* remove commented code

* add typing

* 100% battery_level is enough

* human-friendly datetime

* better enum usage

* add online and learning mode attrs

* use max two decimals in attrs

* use legacy style debug logging

* remove str usage of enums

* add feeder

* add feeder and adapt to new surepy version

* use ProductID instead of ThingID

* various changes and improvements

* add connectivity sensors for all devices & proper support for multiple hubs

* remove "side effects"/exception catching in attribs

* correct unique ids, reorder classes

* move Flap class from binary_sensor to sensor and add a sensore base class

* comments cleanup, minor typing and logging fixes

* remove commented code

* remove commented code

* fix spelling in comment to make the CI happy (seriously?!)

* fix manifest file

* fix requirements_all.txt file

* add missing docstrings

* fix available property

* remove typing from self

* remove commented code

* remove is_on property from sensor

* jump to new surepy version

* remove useles init methods
2020-02-09 17:46:00 +01:00
Jonathan Østrup
150b376cf9 Add recorder vars db_max_retries and db_retry_wait (#31561)
* added recorder vars db_max_retries and db_retry_wait

* fixed test_recorder_setup_failure

I failed because it was missing the two new variables. I simply added these with default values.

* fixed syntax error in test_recorder_setup_failure

* fixed formatting error in test_init_py for recorder component

* fixed typo in test case

* Updated the way the default keys for db_,max_wait and db_retry_wait is set

Implemented based on suggestions from @springstan

* Updated config_schema call to adhere to Black

* changed conf.get to conf[dict] for var retrieval

* removed 2 blank lines
2020-02-09 17:43:09 +01:00
crallian
645c673720 Added zone type Technical as power. (#31611)
*The zone type technical can be used in SPC to track status of e.g. mapping keys and outputs.
2020-02-09 17:41:43 +01:00
Paulus Schoutsen
da0ddc84ab Guard writing automation/scene/script config (#31568) 2020-02-08 17:26:58 -08:00
Josh Anderson
9987978d1a Add unique ID to edimax switches (#27984)
* Add unique ID and device info data

* Don't get power info on switch models lacking it

* Move info fetching to update, update before adding

* Upgrade pyedimax to get device info

* Remove device info

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-02-08 16:45:28 -08:00
HomeAssistant Azure
a2bea2cab8 [ci skip] Translation update 2020-02-09 00:31:39 +00:00
Bruno Furtado
9f58e5d6ea Only auth on enter_learning in response to errors for broadlink (#27341)
* Only auth on enter_learning in response to errors.

* Remove extra newline.

* Add missing break on successful attempt.

* Avoid logging success message when auth is unsuccessful.
2020-02-08 16:17:40 -08:00
Tom Harris
e3894d212c Bump insteonplm to 0.16.7 (#31645) 2020-02-08 22:34:22 +01:00
Paulus Schoutsen
989dd32258 Hue to retry if hub errors out (#31616)
* Respect semaphore

* Add retries when connection reset

* Also catch OSError from aiohttp when authenticating
2020-02-08 13:20:37 -08:00
J. Nick Koston
0dd151c1c3 Resolve August integration makes too many requests and hits rate limits (#31558) 2020-02-08 20:22:48 +01:00
Paulus Schoutsen
ca1319e1ef Device tracker entities based on GPS should always publish updates (#31551) 2020-02-08 19:56:48 +01:00
Ron Klinkien
1093e25a30 Catch garmin_connect keyerrors with unknown entity type updates (#31608)
* Catch keyerrors with unknown entity type updates

* Change debug level and removed . from log call
2020-02-08 18:47:54 +01:00
shred86
14e0dde055 Add Abode water valve support (#30635) 2020-02-08 16:58:07 +01:00
CHAZICLE
967b02073e Remove stray debug from unifi integration (#31634) 2020-02-08 16:07:17 +01:00
Daniel Høyer Iversen
6037f7364f Fix hvac_action for mill (#31630) 2020-02-08 16:00:20 +01:00
Yarmo Mackenbach
658c48b237 Handle missing next train from NS (#31626)
* Handle missing next train

* Ignore next attribute instead
2020-02-08 15:52:05 +01:00
springstan
83a79a434c Use slug in ping device tracker config validation (#31329)
* Use slug instead of string for config validation
2020-02-08 15:19:46 +01:00
melyux
ed3e16123e Actually enable alarmdecoder to see open/close state of bypassed RF zones when armed (#31426) 2020-02-08 14:32:52 +01:00
Oliver
a5b4f43ea5 Bump denonavr to 0.7.12 (#31629) 2020-02-08 13:46:13 +01:00
Paulus Schoutsen
111050bea9 Clean up core services (#31509)
* Clean up core services

* Fix conversation test
2020-02-08 13:10:59 +01:00
Alexei Chetroi
57ab30d534 Bump ZHA dependencies. (#31619)
Bump up zigpy-homeassistant==0.13.2
2020-02-08 06:50:50 -05:00
escoand
0823ee4385 Fix exceptions when using newer Samsung TVs (#31602)
* try to fix websocket problems

* use tuple

* catch websocket exceptions

* typo
2020-02-08 12:03:35 +01:00
SukramJ
baa9184b33 Extract services from init.py for HomematicIP Cloud (#31376)
* Extract services from init.py for HomematicIP Cloud

* add ServiceCallType
2020-02-08 10:07:20 +01:00
elmurato
699d6ad658 Add Minecraft Server Integration (#30992)
* Add Minecraft Server integration

* Add unit test for config flow

* Fixed some review findings and increased unit test coverage

* Fixed docstrings of new test cases

* Removed unnecessary debug log messages

* Added unique IDs and device infos and removed duplicate name validation

* Attempt to fix unit test on CI

* Return state OFF instead of UNAVAILABLE in case connection to server drops

* Added property decorator to server properties, even less debug messages, improved sensor dispatcher connection and other review findings fixed

* Moved special property handling to sensors, fixed name confusion in sensor entity, switch to HA const for scan_interval, simplified building players list string

* Improved periodic update, speeded up unit tests

* Added type hints, added callback decorator to entity update callback, added const.py to unit test exclusions

* Changed state sensor to binary sensor, removed empty unit test file, added constants for icons and units

* Let HA handle unknown state, check for None in description and players list sensor

* Removed periods at end of log messages, removed constant for default host

* Updated requirements_test_pre_commit.txt, fixed codespell findings

* Use localhost as default host

* Removed passing hass to entities, moved log message from init, moved host lower to vol, use proper patch library, patch library instead of own code

* Replaced server properties with global instance attributes, removed config option scan_interval, switch back to async_track_time_interval

* Removed description and players list sensors, added players list as state attributes to online players sensor, raise OSError instead of deprecated IOError, other minor review findings fixed

* Use MAC address for unique_id in case of an IP address as host, added getmac to manifest.json, added invalid_ip to strings.json, added new test cases for changes in config_flow, replace all IOError's with OSError, other review findings fixed

* Removed double assignment

* Call get_mac_address async safe

* Handle unavailable and unknown states to reach silver quality scale, added quality scale to manifest.json
2020-02-08 09:28:35 +01:00
HomeAssistant Azure
5483de7e25 [ci skip] Translation update 2020-02-08 00:31:45 +00:00
MatthewFlamm
f9e037a823 update pynws to 0.10.4 (#31591) 2020-02-07 09:16:56 -05:00
Rami Mosleh
c0eb399d54 Fix librouteros response error handling (#31588) 2020-02-07 14:03:32 +01:00
Eugenio Panadero
37205f9f61 Unregister listener for stats sensor with max_age (#31580) 2020-02-07 11:06:46 +01:00
HomeAssistant Azure
274cf23269 [ci skip] Translation update 2020-02-07 00:31:50 +00:00
Franck Nijhof
d093b5f5e8 Bump adguardhome to 0.4.1 (#31565) 2020-02-06 16:02:00 -08:00
jjlawren
3a3328dc13 Skip updates when Plex client viewing photos (#31556) 2020-02-06 14:26:34 -08:00
Alexei Chetroi
0e68ace3dd Bump ZHA dependencies. (#31555) 2020-02-06 16:34:28 -05:00
Phil Bruckner
d1e7ade6db Make amcrest integration more robust (#30843)
- Bump amcrest package to 1.5.6. Includes networking improvements, no longer
  communicates during Http.__init__(), and allows running snapshot command
  without using stream mode.
- Handle login errors better, and not just at startup.
- Increase network connect & read timeout to 6.05 seconds.
- Increase network read timeout to 20 seconds for snapshot command.
- Run snapshot command in separate task, that cannot be cancelled, to eliminate
  possibility of two snapshot commands running simultaneously (since
  AmcrestCam.async_camera_image can be cancelled.) Also makes sure any exceptions
  from the command are caught properly.
2020-02-06 14:44:48 -06:00
Paulus Schoutsen
76d2658101 Merge pull request #31550 from home-assistant/rc
0.105.2
2020-02-06 11:54:23 -08:00
Paulus Schoutsen
8ab91eb6bb Update MQTT service description 2020-02-06 11:39:55 -08:00
Paulus Schoutsen
9e87a662d5 Update MQTT service description 2020-02-06 11:39:44 -08:00
Paulus Schoutsen
4e5c74d293 Bumped version to 0.105.2 2020-02-06 11:08:26 -08:00
Paulus Schoutsen
d31eb9f352 Guard for reloading with no zone config (#31547) 2020-02-06 11:08:18 -08:00
Josh Bendavid
bb96584d6e update aiopylgtv to 0.3.3 (#31545) 2020-02-06 11:08:17 -08:00
Paulus Schoutsen
774f0f9b67 Deprecate old netatmo keys (#31544) 2020-02-06 11:08:16 -08:00
Ville Skyttä
64fc7103be Use min and m as units in Garmin Connect for consistency and correctness (#31543) 2020-02-06 11:08:16 -08:00
Franck Nijhof
080f9725dc Limit OAuth scopes for Netatmo and Home Assistant Cloud (#31538)
* Limit OAuth scopes for Netatmo and Home Assistant Cloud

* Fix tests by making order of scopes predictable
2020-02-06 11:08:15 -08:00
Quentame
bf1b78f621 Fix iCloud determine_interval: add default interval to max_interval (#31533) 2020-02-06 11:08:14 -08:00
Dougal Matthews
6b5cd74771 Only normalise Garmin connect data to minutes if the value is not None (#31526)
Otherwise this causes additional TypeError messages to be logged for
division of None.
2020-02-06 11:08:13 -08:00
Robert Chmielowiec
60c5ef5b34 Fix migrating huawei_lte entry without recipient (#31522) 2020-02-06 11:08:12 -08:00
Paulus Schoutsen
1e81d14822 Fix automation sun import (#31521) 2020-02-06 11:08:11 -08:00
Paulus Schoutsen
00c6f3cb85 Guard for reloading with no zone config (#31547) 2020-02-06 10:55:12 -08:00
Ville Skyttä
08a74ff686 Use min and m as units in Garmin Connect for consistency and correctness (#31543) 2020-02-06 10:54:01 -08:00
Josh Bendavid
eee1ca9211 update aiopylgtv to 0.3.3 (#31545) 2020-02-06 10:00:54 -08:00
Paulus Schoutsen
0d474e1183 Update the update coordinator API to make it easier to use (#31471)
* Update the update coordinator API to make it easier to use

* failed_last_update -> last_update_success
2020-02-06 09:29:29 -08:00
Paulus Schoutsen
d407b8e215 Deprecate old netatmo keys (#31544) 2020-02-06 09:26:51 -08:00
Quentame
9e4904cb21 Fix iCloud determine_interval: add default interval to max_interval (#31533) 2020-02-06 08:53:42 -08:00
Dougal Matthews
24c382d689 Only normalise Garmin connect data to minutes if the value is not None (#31526)
Otherwise this causes additional TypeError messages to be logged for
division of None.
2020-02-06 08:52:46 -08:00
Franck Nijhof
7233048fea Limit OAuth scopes for Netatmo and Home Assistant Cloud (#31538)
* Limit OAuth scopes for Netatmo and Home Assistant Cloud

* Fix tests by making order of scopes predictable
2020-02-06 17:00:27 +01:00
Robert Chmielowiec
24e9a638d5 Fix migrating huawei_lte entry without recipient (#31522) 2020-02-06 16:53:16 +02:00
P-Verbrugge
d3e99f13dd Changed website name to blockchain.com (#31528)
The name and domain of blockchain.info has been changed to blockchain.com. Updated the names in de script.
2020-02-06 15:43:52 +01:00
P-Verbrugge
4f2195101c Updated the provider name to blockchain.com (#31534)
* Updated the provider name to blockchain.com

Blockchain.info moved from .info .com. Updated the name of the service to blockchain.com

* Updated the provider name to blockchain.com

Updated the provider name to blockchain.com
2020-02-06 15:41:48 +01:00
Paulus Schoutsen
44e243039c Fix automation sun import (#31521) 2020-02-06 12:55:11 +01:00
Franck Nijhof
1cfd69d484 Remove of liveboxplaytv integration (ADR0004) (#31525) 2020-02-06 12:54:46 +01:00
Paulus Schoutsen
a3b3924e21 Update link when IO in event loop (#31519) 2020-02-06 11:37:35 +01:00
Malte Franken
8d429d7676 Add GDACS feed integration (#31235)
* initial version of gdacs integration

* updated translations

* generated files

* added abbreviation

* bumped library version

* small feed entry attribute fixes

* add unit tests

* need to use original mdi name

* bumped library version

* improved entity name for earthquakes

* round vulnerability number

* typo

* support for categories

* testing support for categories

* tie longitude and latitude together

* validating categories

* simplifying setup

* passing domain as parameter

* simplified test setup

* moved test code

* simplified test code

* removed superfluous code

* changed approach to unique identifier

* changed code structure

* simplified unit system handling

* made schema a constant

* comment added

* simplifying code

* added message if location already configured

* removed unnecessary code

* simplified test code

* avoid mocking __init__

* pylint

* simplified code

* fetch categories from integration library

* setting PARALLEL_UPDATES

* setting PARALLEL_UPDATES to zero/unlimited

* added quality scale
2020-02-06 11:32:30 +01:00
Paulus Schoutsen
05b3c1f17d Merge remote-tracking branch 'origin/master' into dev 2020-02-05 16:42:47 -08:00
Paulus Schoutsen
8b4bd95fc5 Merge pull request #31510 from home-assistant/rc
0.105.1
2020-02-05 16:41:17 -08:00
HomeAssistant Azure
6f99bac557 [ci skip] Translation update 2020-02-06 00:31:53 +00:00
Paulus Schoutsen
6246382983 Bumped version to 0.105.1 2020-02-05 15:53:11 -08:00
Paulus Schoutsen
29f17956bf Update translations 2020-02-05 15:53:04 -08:00
Paulus Schoutsen
6e0e58f6cc Sonos services to work without admin access (#31506) 2020-02-05 15:52:15 -08:00
Paulus Schoutsen
46fb73ea76 Updated frontend to 20200130.2 (#31502) 2020-02-05 15:51:49 -08:00
Andrew
08b24afc2d Move program_mode check (#31501)
Don't try to capture program_mode unless ct80
2020-02-05 15:50:49 -08:00
Paulus Schoutsen
f7f8de41e2 Check for known Hue vulnerability (#31494) 2020-02-05 15:50:48 -08:00
Paulus Schoutsen
8d2086d076 Sonos services to work without admin access (#31506) 2020-02-05 15:50:20 -08:00
Paulus Schoutsen
41c55e695e Fix typo in comment 2020-02-05 14:45:14 -08:00
Andrew
c9be201ee2 Move program_mode check (#31501)
Don't try to capture program_mode unless ct80
2020-02-05 14:44:44 -08:00
Paulus Schoutsen
ba9892e1f1 Updated frontend to 20200130.2 (#31502) 2020-02-05 14:41:01 -08:00
Paulus Schoutsen
481ea0aa5b Check for known Hue vulnerability (#31494) 2020-02-05 13:57:17 -08:00
dupondje
557f5763df Add belgian meter and rename some dsmr sensors (#30121)
* Add support for belgian meter and rename some sensors

* DSMR Fixes

* Add test

* More tests

* Adjust test to latest dev

* Remove unused code

* Depend on dsmr_parser 0.18
2020-02-05 22:14:03 +01:00
Franck Nijhof
cb2a9dfebf Merge branch 'master' into dev 2020-02-05 20:33:06 +01:00
Franck Nijhof
b2cd6707b6 0.105.0 (#31489)
0.105.0
2020-02-05 20:02:36 +01:00
Paulus Schoutsen
6a4d9d3a73 Fix Google API key test (#31492) 2020-02-05 18:57:43 +01:00
Paulus Schoutsen
472fe7a0fa Fix Google API key test (#31492) 2020-02-05 09:50:00 -08:00
Paulus Schoutsen
1ee1a43fb9 Remove tests for deprecated key (#31491) 2020-02-05 18:02:53 +01:00
Paulus Schoutsen
0f56fc75b3 Bump version to 0.106.0dev0 2020-02-05 09:00:54 -08:00
Paulus Schoutsen
84cbcb4d16 Remove tests for deprecated key (#31491) 2020-02-05 09:00:20 -08:00
Franck Nijhof
f1d5fcac75 Bumped version to 0.105.0 2020-02-05 17:01:57 +01:00
Franck Nijhof
97250d8225 Re-branding of Hass.io panel to Supervisor (#31480) 2020-02-05 16:59:29 +01:00
Paulus Schoutsen
8b6b8f1994 Automation device/entity extraction to include triggers + conditions (#31474)
* Add support for extracting triggers

* Add support for extracting triggers

* Fix test
2020-02-05 16:59:24 +01:00
Quentame
2d393b8f8b Fix iCloud device battery level can be None (#31468) 2020-02-05 16:59:19 +01:00
Paulus Schoutsen
6d79898926 Fix coordinator reference (#31467) 2020-02-05 16:59:14 +01:00
Raman Gupta
2509518950 Update vizio host check to handle entries that don't have port (#31463)
* Update vizio host check to handle entries that don't have port

* add comment explaining no_port test for future

* remove _name_is_same function and support user updating name in config

* Update strings.json

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-02-05 16:59:07 +01:00
Paulus Schoutsen
67680bcfa8 Automation device/entity extraction to include triggers + conditions (#31474)
* Add support for extracting triggers

* Add support for extracting triggers

* Fix test
2020-02-05 16:52:21 +01:00
Franck Nijhof
431a3a6b44 Re-branding of Hass.io panel to Supervisor (#31480) 2020-02-05 11:04:17 +01:00
Robert Svensson
fce9697591 deCONZ - Revert from using disabled_by when setting options (#31446)
* Revert from using disabled_by when setting options

* Remove signalling for changed options

* Evaluate allow group option earlier when adding a group
2020-02-04 16:37:01 -08:00
HomeAssistant Azure
3801d5adf4 [ci skip] Translation update 2020-02-05 00:31:54 +00:00
Paulus Schoutsen
c85a7934ed Add brightness_step to light.turn_on (#31452)
* Clean up light turn on service

* Add brightness_step to turn_on schema

* Fix import

* Fix imports 2

* Fix RFLink test
2020-02-04 16:13:29 -08:00
Paulus Schoutsen
e970177eeb Use entity.async_request_call in service helper (#31454)
* Use entity.async_request_call in service helper

* Clean up semaphore handling

* Address comments

* Simplify call entity service helper

* Fix stupid rflink test
2020-02-04 15:30:15 -08:00
Quentame
2c439af165 Fix iCloud device battery level can be None (#31468) 2020-02-05 00:26:47 +01:00
Paulus Schoutsen
370e2ffa5a Fix coordinator reference (#31467) 2020-02-04 14:57:15 -08:00
Paulus Schoutsen
f41623ca64 Log warning when entities referenced in service call not found (#31427)
* Raise entities not found error

* Make it a warning, not an error

* Add support for MATCH_ENTITY_NONE

* Fix lint

* Fix tests
2020-02-04 14:42:07 -08:00
Quentame
201ea2557e Add config flow to Meteo-France (#29927)
* Add config flow to Meteo-France

* Review 1

* Use config_entry.unique_id

* Fix config_flow _show_setup_form + init

* Remove empty *_setup_platform()

* Avoid HomeAssistantError: Entity id already exists: sensor.[city_name]_[sensor_type]. Platform meteo_france does not generate unique IDs

- when multiple district in one city

* Review + abort when API error

* Fix I/O

* Remove monitored_conditions

* Add async_unload_entry

* Review 3

* Fix pipe

* alert_watcher is already None

* Review 4

* Better fix for "Entity id already exists"

* Whoops, fix tests

* Fix string
2020-02-04 22:37:59 +01:00
Raman Gupta
1efea50654 Update vizio host check to handle entries that don't have port (#31463)
* Update vizio host check to handle entries that don't have port

* add comment explaining no_port test for future

* remove _name_is_same function and support user updating name in config

* Update strings.json

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-02-04 11:31:03 -08:00
Paulus Schoutsen
d411ae2503 Bumped version to 0.105.0b7 2020-02-04 09:29:39 -08:00
Bram Kragten
e5b6fbf374 Updated frontend to 20200130.1 (#31460) 2020-02-04 09:29:21 -08:00
etheralm
af75a4bc85 Update libpurecool upstream library to latest version (#31457)
* Update upstream library to latest version

* update version in requirements_all.txt

* update version in requirements_all.txt
2020-02-04 09:27:04 -08:00
Bas Nijholt
10d5ce24f6 Keep track of the derivative for unit_time (#31397)
* keep track of the derivative for unit_time

In this way, you will get a better estimate of the derivate during
the timescale that is relavant to the sensor.

This solved a problem where sensors have a low output resolution.
For example a temperature sensor that can only be integer numbers.

It might report many values that are the same and then suddenly go up one value.
Only in that moment (with the current implementation) the derivative will be finite.

With my proposed implementation, this problem will not occur, because it takes the average
derivative of the last `unit_time`.

* only loop as much as needed

* treat the special case of 1 entry

* add option time_window

* use cv.time_period

* fix comment

* set time_window=0 by default

* rephrase comment

* use timedelta for time_window

* fix the "G" unit_prefix and add more prefixes

https://en.wikipedia.org/wiki/Unit_prefix

* add debugging lines

* simplify logic

* fix bug where the there was a division of unit_time instead of multiplication

* simplify tests

* add test_data_moving_average_for_discrete_sensor

* fix test_dataSet6

* improve readability of the tests

* better explain the test

* remove debugging log lines
2020-02-04 09:27:03 -08:00
quthla
1008ab20ba Fix theme color (#31366) 2020-02-04 09:27:02 -08:00
escoand
2f2146c989 Samsung TV refinements (#31248)
* use st not deviceType

* show model in flow title

* Update strings.json

* add re-auth to entity

* add re-auth to config_flow

* handle auth popup better

* use media player domain const

* fix tests

* rename not_found to not_successful

* authz not authn

* Update media_player.py

* Update config_flow.py

* Update media_player.py

* Update test_media_player.py

* finalize re-auth

* fix ssd tests

* better naming

* fix ip-address-mock serialization

* fix turn_on_action serialization

* add type of hass object

* fix acces denied test

* remove half-added typing

* async get ip address

* fix pylint
2020-02-04 09:27:01 -08:00
Yarmo Mackenbach
9bb8b2bc00 Update NSAPI to 3.0.2 (#30971)
* Bump NSAPI version to 3.0.1

* Compatibility with NSAPI 3.0.1 response

* Removed commented code

* Obsolete setups receive an upgrade notification

* Bump NS-API to 3.0.2

* Assign platform values directly

* Removed obsolete config warning

* Improved reference to obsolete password
2020-02-04 09:27:00 -08:00
etheralm
8af9585f12 Update libpurecool upstream library to latest version (#31457)
* Update upstream library to latest version

* update version in requirements_all.txt

* update version in requirements_all.txt
2020-02-04 08:23:08 -08:00
Bram Kragten
9097912469 Updated frontend to 20200130.1 (#31460) 2020-02-04 17:07:09 +01:00
Raman Gupta
151f60658c Bump pyvizio version for bug fixes (#31453) 2020-02-04 09:19:14 +01:00
HomeAssistant Azure
db6449c3fb [ci skip] Translation update 2020-02-04 00:31:49 +00:00
ochlocracy
4602d7370c Remove Alexa.InputController from devices without supported inputs in Alexa (#31450)
* Yield Alexa.InputController only for supported inputs.

* Add Comment.

* Comment fix.
2020-02-03 16:19:40 -08:00
Bas Nijholt
119566f280 Keep track of the derivative for unit_time (#31397)
* keep track of the derivative for unit_time

In this way, you will get a better estimate of the derivate during
the timescale that is relavant to the sensor.

This solved a problem where sensors have a low output resolution.
For example a temperature sensor that can only be integer numbers.

It might report many values that are the same and then suddenly go up one value.
Only in that moment (with the current implementation) the derivative will be finite.

With my proposed implementation, this problem will not occur, because it takes the average
derivative of the last `unit_time`.

* only loop as much as needed

* treat the special case of 1 entry

* add option time_window

* use cv.time_period

* fix comment

* set time_window=0 by default

* rephrase comment

* use timedelta for time_window

* fix the "G" unit_prefix and add more prefixes

https://en.wikipedia.org/wiki/Unit_prefix

* add debugging lines

* simplify logic

* fix bug where the there was a division of unit_time instead of multiplication

* simplify tests

* add test_data_moving_average_for_discrete_sensor

* fix test_dataSet6

* improve readability of the tests

* better explain the test

* remove debugging log lines
2020-02-03 14:22:47 -08:00
ochlocracy
c8d9b83b24 Update StepSpeaker and Speaker interfaces in Alexa (#31444)
* Yield only one Speaker interface.

* Yield PowerController only is supported.

* Revert "Yield PowerController only is supported."

This reverts commit c0dbf7e4

* Add Alexa.Speaker interface properties.

* Refactor tests for Alexa.Speaker and Alexa.StepSpeaker.

* Code Smell Change.

* Fix R1705: Unnecessary "elif" after "return".
2020-02-03 14:20:39 -08:00
quthla
3f9dbe6845 Fix theme color (#31366) 2020-02-03 14:09:25 -08:00
Kasper Kirkegaard
f5b790054a Fix misspelled sensor names (#31344) 2020-02-03 21:31:53 +01:00
Konsts
114d48ed8b Add timeout attribute for send files (#31379)
* Add timeout attribute for send files

* Remove dublicate

Remove attribute dublicate in BASE_SERVICE_SCHEMA

* Remove duplicate

return attribute to BASE_SERVICE_SCHEMA and remove from SERVICE_SCHEMA_SEND_FILE

* Add timeout parameter description

Add timeout parameter description for "send message" and "send location"
2020-02-03 21:23:58 +01:00
escoand
4550968316 Samsung TV refinements (#31248)
* use st not deviceType

* show model in flow title

* Update strings.json

* add re-auth to entity

* add re-auth to config_flow

* handle auth popup better

* use media player domain const

* fix tests

* rename not_found to not_successful

* authz not authn

* Update media_player.py

* Update config_flow.py

* Update media_player.py

* Update test_media_player.py

* finalize re-auth

* fix ssd tests

* better naming

* fix ip-address-mock serialization

* fix turn_on_action serialization

* add type of hass object

* fix acces denied test

* remove half-added typing

* async get ip address

* fix pylint
2020-02-03 20:34:02 +01:00
SukramJ
03642d9029 Add missing await to HMIPC (#31415)
* Add missing await to HMIPC

* use callback instead

* Fix call, move callback to hap
2020-02-03 20:27:20 +01:00
Aaron Bach
bea7aae8cd Fix issues with Ambient PWS dispatcher topic (#31439)
* Correct over-broad Ambient PWS data updates

* Make sure we provide a callable

* Don't use a partial
2020-02-03 12:23:51 -07:00
Aaron Bach
30e803d70b Fix issue with WWLLN dispatcher topic (#31442) 2020-02-03 12:23:19 -07:00
Aaron Bach
e799b08215 Fix issue with IQVIA dispatcher topic (#31440)
* Fix issues with IQVIA dispatcher topic

* Use f-string
2020-02-03 12:23:06 -07:00
Aaron Bach
74fd57e23a Fix issue with Notion dispatcher topic (#31441)
* Fix issue with Notion dispatcher topic

* Use f-string
2020-02-03 12:22:50 -07:00
Vincent Le Bourlot
ad5db47618 Clean up Tahoma smartlock (#31430)
* Added lock support for tahoma

* Removed unused constant.
2020-02-03 20:21:38 +01:00
tetienne
8bc77f0421 Add color to light template (#31435)
* Add color support to light template

* Add tests about color support
2020-02-03 08:27:01 -08:00
Yarmo Mackenbach
45c997ea04 Update NSAPI to 3.0.2 (#30971)
* Bump NSAPI version to 3.0.1

* Compatibility with NSAPI 3.0.1 response

* Removed commented code

* Obsolete setups receive an upgrade notification

* Bump NS-API to 3.0.2

* Assign platform values directly

* Removed obsolete config warning

* Improved reference to obsolete password
2020-02-03 14:39:45 +01:00
Vincent Le Bourlot
f49a392188 Add guard clause for discovery_info to tahoma platforms (#31434) 2020-02-03 13:30:44 +01:00
Paulus Schoutsen
e78378d90f Pass correct config to updater (#31428) 2020-02-03 09:51:27 +01:00
Raman Gupta
ee927fbc9e Bump pyvizio version and add additional device info (#31417)
* bump pyvizio version and add additional device info

* add patches for get_model and get_version

* change keywrod argument to positional for _test_service
2020-02-03 08:41:58 +01:00
Paulus Schoutsen
13aae8b5ec Bumped version to 0.105.0b6 2020-02-02 20:31:39 -08:00
springstan
744ae82933 Replace cmp option with eq and order (#31423) 2020-02-02 20:28:52 -08:00
Rami Mosleh
04cb2e9fd5 Rework Mikrotik device scanning following Unifi (#27484)
* rework device scanning, add tests

* update requirements and coverage

* fix description comments

* update tests, fix disabled entity updates

* rework device scanning, add tests

* update requirements and coverage

* fix description comments

* update tests, fix disabled entity updates

* update librouteros to 3.0.0

* fix sorting

* fix sorting 2

* revert to 2.3.0 as 3.0.0 requires code update

* fix requirements

* apply fixes

* fix tests

* update hub.py and fix tests

* fix test_hub_setup_failed

* rebased on dev and update librouteros to 3.0.0

* fixed test_config_flow

* fixed tests

* fix test_config_flow
2020-02-02 20:25:45 -08:00
HomeAssistant Azure
787faaa508 [ci skip] Translation update 2020-02-03 00:31:45 +00:00
Aaron Bach
2610415501 Streamline SimpliSafe data and token management (#31324)
* Streamline SimpliSafe API usage

* Streamline SimpliSafe data and token management

* Correctly define self.systems

* Inline update method
2020-02-02 17:16:09 -07:00
Paulus Schoutsen
4f79ec0c78 Bumped version to 0.105.0b5 2020-02-02 15:39:51 -08:00
Josh Bendavid
9dfc00898b always call set_volume with integer values (#31418) 2020-02-02 15:39:41 -08:00
Franck Nijhof
67e7541016 Fix device name Google Assistant when using aliases (#31416)
* Fix device name Google Assistant when using aliases

* Adjust cloud tests
2020-02-02 15:39:40 -08:00
Martin
2c1b465215 Emulated Hue + Alexa: Fix devices not discovered and error response (#30013 & #29899) (#31413)
* Revert "Emulated Hue: changed the reported fallback device-type to fix Alexa compatibility issues (#30013)"

This reverts commit ddc8d9e25c.

* Revert "Emulated Hue: updated tests (#30013)"

This reverts commit 90df461e75.

* Emulated Hue + Alexa: changed the fallback device-type again to "Dimmable Light" (#30013) after collective debugging; fixed brightness for on/off-devices and scripts to prevent "device malfunction" response from Alexa (#29899)

* Emulated Hue + Alexa: lint (#30013, #29899)
2020-02-02 15:39:39 -08:00
akasma74
3cbd426c52 Fix rflink commands containing equals sign (#31412)
* new lib verson available

* new rflink lib version

* new rflink lib version
2020-02-02 15:39:38 -08:00
FrengerH
a54d5f0bc4 deCONZ - Fix magic cube awake gesture (#31403) 2020-02-02 15:39:37 -08:00
Paulus Schoutsen
5b7a65c5ea Fix service annotations (#31402)
* Fix service annotations

* Filter area_id from service data

* Fix services not accepting entities

* Typo
2020-02-02 15:39:37 -08:00
springstan
fb26dd3028 Revert "Bump alarmdecoder to 1.13.9 (#30303)" (#31385)
This reverts commit f11d39f8eb.
2020-02-02 15:39:36 -08:00
Robert Svensson
aaea55efed deCONZ - Services normalize bridge id (#31378)
* Services should also make sure to normalize bridge id since users do not know to manage themselves
2020-02-02 15:39:35 -08:00
ochlocracy
d91f9fc2f5 Filter int in fan speed_list when yielding RangeController in Alexa (#31375)
* Allow for int in fan speed_list.

* Test for int in fan speed_list.

* prevent yielding preset for int labels.
2020-02-02 15:39:35 -08:00
Paulus Schoutsen
3b93065568 Add dump service to MQTT integration (#31370)
* Add dump service to MQTT integration

* Lint
2020-02-02 15:39:34 -08:00
Robert Svensson
59a9ca71ce deCONZ - Add support for new switch type (#31362) 2020-02-02 15:39:33 -08:00
springstan
11fcb2cc7f Fix auto_bypass in alarmdecoder (#30961)
* Fix auto_bypass in alarmdecoder

* Address review comments: used dict[key] and renamed variable

* Use dict[key] for required or optional config keys with default values
2020-02-02 15:39:32 -08:00
Paulus Schoutsen
7687ac8b91 Fix service annotations (#31402)
* Fix service annotations

* Filter area_id from service data

* Fix services not accepting entities

* Typo
2020-02-02 15:36:39 -08:00
Paulus Schoutsen
81dbdc6b9c Add dump service to MQTT integration (#31370)
* Add dump service to MQTT integration

* Lint
2020-02-02 15:01:51 -08:00
Martin
af105d2d61 Emulated Hue + Alexa: Fix devices not discovered and error response (#30013 & #29899) (#31413)
* Revert "Emulated Hue: changed the reported fallback device-type to fix Alexa compatibility issues (#30013)"

This reverts commit ddc8d9e25c.

* Revert "Emulated Hue: updated tests (#30013)"

This reverts commit 90df461e75.

* Emulated Hue + Alexa: changed the fallback device-type again to "Dimmable Light" (#30013) after collective debugging; fixed brightness for on/off-devices and scripts to prevent "device malfunction" response from Alexa (#29899)

* Emulated Hue + Alexa: lint (#30013, #29899)
2020-02-02 14:52:00 -08:00
Josh Bendavid
96ede54a1b always call set_volume with integer values (#31418) 2020-02-02 14:50:30 -08:00
Franck Nijhof
826433b680 Fix device name Google Assistant when using aliases (#31416)
* Fix device name Google Assistant when using aliases

* Adjust cloud tests
2020-02-02 14:48:13 -08:00
Robert Svensson
883b8f21ce deCONZ - Library cleanup (#31410)
* Follow library changes

* Bump dependency to v70

* Fix test
2020-02-02 19:07:20 +01:00
Jean-Paul van Ravensberg
f21a058f31 Enable SUPPORT_VOLUME_STEP (#31023) 2020-02-02 17:47:48 +01:00
Gerben ten Hove
75f1e573e4 Search specific train in Nederlandse Spoorwegen (#28898)
* Nederlandse Spoorwegen: search for specific trip

* Reformatting with Black

* Resolve pylint error

* Reformat with black.
2020-02-02 17:28:36 +01:00
Fabian Affolter
f701b2245a Upgrade alpha_vantage to 2.1.3 (#31388) 2020-02-02 17:27:06 +01:00
Björn Orri
8852cd0def Add Salt Fiber Box device tracker (#30986)
* Add salt component

* Update files from development checklist

* Use warning log level when data cannot be retrieved

Co-Authored-By: springstan <46536646+springstan@users.noreply.github.com>

* Remove empty fields from manifest.json

* Remove default arguments for host and username

* Bump saltbox library version

* Refactor and improve error handling

* Dev checklist

* Fix linting errors

* Check for None and return empty list

* Log on debug level instead of info

* More compact None checks

* Remove redundant None check

* Return None on exception but store as empty list

* More compact syntax

Co-authored-by: springstan <46536646+springstan@users.noreply.github.com>
2020-02-02 17:26:51 +01:00
akasma74
61a1d8e99f Fix rflink commands containing equals sign (#31412)
* new lib verson available

* new rflink lib version

* new rflink lib version
2020-02-02 17:23:13 +01:00
Daniel Perna
0f6e2850ab Update pyhomematic to 0.1.64 (#31406) 2020-02-02 16:29:10 +01:00
Fabian Affolter
f68a6ae3b2 Upgrade numpy to 1.18.1 (#31411) 2020-02-02 16:28:37 +01:00
Paulus Schoutsen
7127310f10 Catch device not found in device automations (#31401) 2020-02-02 07:13:07 -08:00
Arjan van Balken
55aa341dab Add unique_id to essent sensors (#31408)
* Fix mix-up of sensor entities and their values

* Prevent multiple calls for the same meter
2020-02-02 15:45:04 +01:00
Fabian Affolter
48402d49dc Upgrade praw to 6.5.1 (#31393) 2020-02-02 13:06:44 +01:00
Fabian Affolter
34aed53dcd Upgrade discord.py to 1.3.1 (#31391) 2020-02-02 13:05:50 +01:00
FrengerH
704cfcf235 deCONZ - Fix magic cube awake gesture (#31403) 2020-02-02 12:54:59 +01:00
Fabian Affolter
55a1bf3832 Upgrade holidays to 0.10.1 (#31392) 2020-02-02 02:17:24 -08:00
Fabian Affolter
83480291ce Upgrade sendgrid to 6.1.1 (#31394) 2020-02-02 02:16:33 -08:00
ochlocracy
e796de6c59 Filter int in fan speed_list when yielding RangeController in Alexa (#31375)
* Allow for int in fan speed_list.

* Test for int in fan speed_list.

* prevent yielding preset for int labels.
2020-02-01 16:44:40 -08:00
HomeAssistant Azure
a958418ef1 [ci skip] Translation update 2020-02-02 00:31:45 +00:00
Fabian Affolter
399173e3b3 Upgrade importlib-metadata to 1.5.0 (#31390) 2020-02-02 00:33:17 +01:00
Bernhard B
294c6a713f Support multiple attachments in signal messenger integration (#31141)
* added support for multiple attachments to signal_messenger integration

* updated pysignalclirestapi version in requirements_all.txt

* reworked multiple attachments feature in signal_messenger integration

* stay backwards compatible by both allowing the "attachment" and
  the "attachments" attribute.

* reworked multiple attachments feature in signal_messenger integration

* stay backwards compatible by both allowing the "attachment" and
  the "attachments" attribute.

* small change in signal_messenger integration

* added deprecation warning for 'attachment' attribute

* small changes in signal_messenger integration

* use 'warning' instead of 'warn' when logging the warning message

* re-generated requirements_test_pre_commit.txt

* added tests for signal_messenger integration

* regenerated requirements_test_all.txt for signal_messenger integration

* added more signal_messenger tests

* remove signal_messenger integration files from .coveragerc
2020-02-01 14:21:16 -08:00
Fabian Affolter
29aa1463ef Add PlatformNotReady 2020-02-01 23:04:42 +01:00
springstan
3aeaf3bb96 Revert "Bump alarmdecoder to 1.13.9 (#30303)" (#31385)
This reverts commit f11d39f8eb.
2020-02-01 22:02:39 +01:00
Frank van Ierland
e8b55552a1 Add temperature and humidity to xiaomi miio air quality monitor (#31287)
* Added new attributes to the Miio airquality monitor:
- temperature
- humidity

* updated Docstrings

* docstrings updated
2020-02-01 20:52:28 +01:00
Robert Svensson
1edaae34c5 UniFi - Log better information than a backtrace when poor switch data is involved (#31382) 2020-02-01 20:48:23 +01:00
Robert Svensson
43b11f6b39 deCONZ - Improve config flow logging (#31381) 2020-02-01 20:02:57 +01:00
Robert Svensson
e0704d73cc deCONZ - Services normalize bridge id (#31378)
* Services should also make sure to normalize bridge id since users do not know to manage themselves
2020-02-01 18:11:05 +01:00
dcnielsen90
9821047d75 Replace unmaintained BraviaRC backend with new fork: (#31234)
BraviaRC is currently unmaintained for home-assistant. This commit
    swaps it out with a new fork of BraviaRC called python-bravia-tv.
    This captures all bug fixes from BraviaRC release 3.7 (previously
    linked backend) to right before BraviaRC breaks when used by home-assistant.
    The intent of forking is to be able to continue supporting home-assistant.
    This is not intended to be a one off solution; this new fork will have
    future updates and be maintain as needed.

    This initial commit of python-bravia-tv improves the import process,
    however overall preserves the original API.
    Other fixes include:

    * Fix set-volume slider
    * Better error handling
    * Increase input options

    Resolves: #26351, #30964
    See also: #12577, #14843, #17345, #18245
2020-02-01 18:04:49 +01:00
Bas Nijholt
3275987f17 Add play, pause, previous and next track to kef (#31373)
* KEF: add support for play, pause, next track, and previous track

* bump aiokef to 0.2.7

* run isort

* do not dynamically change the supported features
2020-02-01 17:38:36 +01:00
Paulus Schoutsen
c67f53dc43 Remove hour delay before checking for updates (#31368)
* Check for updates at startup

* Add 100% test coverage for update_coordinator

* Address comments
2020-02-01 08:14:28 -08:00
Robert Svensson
b373c202c9 deCONZ - Add support for new switch type (#31362) 2020-02-01 17:08:49 +01:00
Ville Skyttä
dc5ca461a9 Run mypy through a pyenv/virtualenv enabler wrapper script (#30922) 2020-02-01 07:12:46 -08:00
Vincent Le Bourlot
79495d9f3a Add Tahoma lock support (#31311)
* Added lock support for tahoma

* Fixed logging to conform with pylint W1201 and E1205.

* Implemented @springstan suggestions.

* Fixed a typo...

* Implemented @springstan suggestions (v2).

* Implemented @springstan suggestions (v3).
2020-02-01 11:40:48 +01:00
Austin Mroczek
f584df46b7 Add totalconnect zones as binary sensors (#28712)
* Bump skybellpy to 0.4.0

* Bump skybellpy to 0.4.0 in requirements_all.txt

* Added extra states for STATE_ALARM_TRIGGERED to allow users to know if
it is a burglar or fire or carbon monoxide so automations can take
appropriate actions.  Updated TotalConnect component to handle these new
states.

* Fix const import

* Fix const import

* Fix const imports

* Bump total-connect-client to 0.26.

* Catch details of alarm trigger in state attributes.

Also bumps total_connect_client to 0.27.

* Change state_attributes() to device_state_attributes()

* Move totalconnect component toward being a multi-platform integration.  Bump total_connect_client to 0.28.

* add missing total-connect alarm state mappings

* Made recommended changes of MartinHjelmare at
https://github.com/home-assistant/home-assistant/pull/24427

* Update __init__.py

* Updates per MartinHjelmare comments

* flake8/pydocstyle fixes

* removed . at end of log message

* added blank line between logging and voluptuous

* more fixes

* Adding totalconnect zones as HA binary_sensors

* fix manifest.json

* flake8/pydocstyle fixes.  Added codeowner.

* Update formatting per @springstan guidance.

* Fixed pylint

* Add zone ID to log message for easier troubleshooting

* Account for bypassed zones in update()

* More status handling fixes.

* Fixed flake8 error

* Another attempt at black/isort fixes.

* Bump total-connect-client to 0.50.  Simplify code using new functions in
total-connect-client package instead of importing constants.  Run black
and isort.

* Fix manifest file

* Another manifest fix

* one more manifest fix

* more manifest changes.

* sync up

* fix indent

* one more pylint fix

* Hopefully the last pylint fix

* make variable names understandable

* create and fill dict in one step

* Fix name and attributes

* rename to logical variable in alarm_control_panel

* Remove location_name from alarm_control_panel attributes since it is
already the name of the alarm.

* Multiple fixes to improve code per @springstan suggestions

* Update homeassistant/components/totalconnect/binary_sensor.py

Co-Authored-By: springstan <46536646+springstan@users.noreply.github.com>

* Multiple changes per @MartinHjelmare review

* simplify alarm adding

* Fix binary_sensor.py is_on

Co-authored-by: springstan <46536646+springstan@users.noreply.github.com>
2020-02-01 10:09:52 +01:00
springstan
26415f6abd Fix auto_bypass in alarmdecoder (#30961)
* Fix auto_bypass in alarmdecoder

* Address review comments: used dict[key] and renamed variable

* Use dict[key] for required or optional config keys with default values
2020-02-01 10:01:42 +01:00
Paulus Schoutsen
d382b0ba42 Bumped version to 0.105.0b4 2020-02-01 00:29:29 -08:00
Dan Lehman
e1fd46d6db Updated wemo lights fix for #31360 (#31369) 2020-02-01 00:29:21 -08:00
Dan Lehman
0a90b01e77 Updated wemo lights fix for #31360 (#31369) 2020-01-31 21:42:37 -08:00
HomeAssistant Azure
0c1acc51a4 [ci skip] Translation update 2020-02-01 00:31:40 +00:00
Paulus Schoutsen
7ef352701c Bumped version to 0.105.0b3 2020-01-31 14:48:26 -08:00
Paulus Schoutsen
25d6bc348c Fix wemo device types for lights (#31360) 2020-01-31 14:48:20 -08:00
David F. Mulcahey
8f8468f016 bump quirks (#31355) 2020-01-31 14:48:19 -08:00
ochlocracy
f26cb83fd5 Protect for unknown state attributes. (#31354) 2020-01-31 14:48:18 -08:00
Franck Nijhof
7ee741d424 Partially Revert "Deprecate hide_if_away from device_tracker (#30833) (#31348) 2020-01-31 14:48:17 -08:00
Johann Kellerman
ec3dc3dd16 Upgrade pysma, fix #27154 (#31346) 2020-01-31 14:48:16 -08:00
Paulus Schoutsen
283cc5c8c3 Update Hue data fetching (#31338)
* Refactor Hue Lights to use DataCoordinator

* Redo how Hue updates data

* Address comments

* Inherit from Entity and remove pylint disable

* Add tests for debounce
2020-01-31 14:48:16 -08:00
Paulus Schoutsen
166d770ddd Update Hue data fetching (#31338)
* Refactor Hue Lights to use DataCoordinator

* Redo how Hue updates data

* Address comments

* Inherit from Entity and remove pylint disable

* Add tests for debounce
2020-01-31 14:47:40 -08:00
Malachi Soord
ae76b5be5a Let core resolve entity_id for lastfm from username (#31280)
* Sluggify user

* Simplify

* Remove unused import
2020-01-31 14:23:42 -08:00
escoand
d225fc08fe drop fritzdect (#31359) 2020-01-31 14:20:06 -08:00
ochlocracy
fa2e409abd Protect for unknown state attributes. (#31354) 2020-01-31 14:14:43 -08:00
Paulus Schoutsen
06efe3a2f6 Fix wemo device types for lights (#31360) 2020-01-31 14:01:25 -08:00
Robert Svensson
44f0728c60 Axis - Use core to start component tests (#31328)
* Fix test according to Martins comment in 31286

* Use core features rather than integration specific

* Fix populate options test
2020-01-31 20:23:51 +01:00
Robert Svensson
958a867c11 UniFi integration move to push messaging (#31086)
* Rewrite UniFi integration to use push messaging

* Add signalling for new clients/devices

* Update list of known wireless clients when we get events of them connecting

* Reconnection logic for websocket

* Fix failing tests

* Bump requirement to v12

* Add new tests

* Update homeassistant/components/unifi/controller.py

Co-Authored-By: Martin Hjelmare <marhje52@gmail.com>
2020-01-31 20:23:25 +01:00
David F. Mulcahey
06c8e53323 bump quirks (#31355) 2020-01-31 13:55:06 -05:00
Christian Clauss
df7d2b3aeb Fix typos found by codespell (#31243)
* Fix typos found by codespell

* Fix typos found by codespell

* codespell: Furture  ==> Future

* Update test_config_flow.py

* Update __init__.py

* Spellcheck: successfull  ==> successful

* Codespell: unsuccesful  ==> unsuccessful

* Codespell: cant  ==> can't

* Codespell: firware ==> firmware

* Codespell: mimick  ==> mimic
2020-01-31 08:33:00 -08:00
Franck Nijhof
a017c26234 Partially Revert "Deprecate hide_if_away from device_tracker (#30833) (#31348) 2020-01-31 08:27:16 -08:00
Johann Kellerman
ab3157e661 Upgrade pysma, fix #27154 (#31346) 2020-01-31 08:25:54 -08:00
Raman Gupta
a0067a298a Remove Throttle on async_setup and bump pyvizio version (#31337) 2020-01-31 12:45:23 +01:00
Pascal Vizeli
1aa322f2f0 Bump version to 0.105.0b0 2020-01-31 10:26:09 +00:00
Paulus Schoutsen
7b3dc42673 Fix incorrect annotation async flock notify (#31342)
* Fix incorrect annotation async flock notify

* Update notify.py

* Update notify.py

Co-authored-by: Pascal Vizeli <pascal.vizeli@syshack.ch>
2020-01-31 09:58:54 +00:00
Paulus Schoutsen
6a7bb7b149 Fix incorrect annotation async flock notify (#31342)
* Fix incorrect annotation async flock notify

* Update notify.py

* Update notify.py

Co-authored-by: Pascal Vizeli <pascal.vizeli@syshack.ch>
2020-01-31 10:58:27 +01:00
Paulus Schoutsen
c6baf026a7 Guard for callbacks in service helper (#31339) 2020-01-31 09:24:02 +00:00
Phil Bruckner
a53c3d10fe Fix async bug in amcrest when registering services (#31334) 2020-01-31 09:24:00 +00:00
Martin
3635c4df50 Emulated Hue: changed fallback device-type to fix Alexa compatibility issues (#30013) (#31330)
* Emulated Hue: changed the reported fallback device-type to fix Alexa compatibility issues (#30013)

* Emulated Hue: updated tests (#30013)
2020-01-31 09:23:58 +00:00
Paulus Schoutsen
73f27c728c Fix wemo lights (#31323) 2020-01-31 09:23:56 +00:00
Paulus Schoutsen
6b95e98eeb Guard Z-Wave light HS conversion on None (#31320) 2020-01-31 09:23:54 +00:00
Paulus Schoutsen
d405069406 Guard for callbacks in service helper (#31339) 2020-01-31 09:32:43 +01:00
Martin
b22dfa119b Emulated Hue: changed fallback device-type to fix Alexa compatibility issues (#30013) (#31330)
* Emulated Hue: changed the reported fallback device-type to fix Alexa compatibility issues (#30013)

* Emulated Hue: updated tests (#30013)
2020-01-30 23:30:13 -08:00
Phil Bruckner
7e9507833b Fix async bug in amcrest when registering services (#31334) 2020-01-30 23:28:53 -08:00
HomeAssistant Azure
74413e07d0 [ci skip] Translation update 2020-01-31 00:31:57 +00:00
Franck Nijhof
611127a6bc Bump pytest to 5.3.5 (#31327) 2020-01-31 00:04:59 +01:00
Robert Svensson
a8374cf423 UniFi - Try to discover local controller (#31326)
* Its working

* Use "unifi" as default host if a controller can be found

* Fix tests

* Make a fixture of patching the discovery function
2020-01-30 23:06:43 +01:00
Robert Svensson
56657fa859 Axis - config flow use new helper functions (#31286)
* Make use of new config flow helpers
Simplify Axis entry config to work with config flow helpers

* Keep old device data for rollback purposes
2020-01-30 22:20:30 +01:00
SukramJ
cd1aa46404 Register on HA stop event to gracefully shutdown HomematicIP Cloud connections (#31289)
* Register on HA stop event to gracefully shutdown HomematicIP Cloud connections

* fixes after review

* Fix lint

* switch to unload_entry

* Save listener

* Switch back to hap.async_reset()
2020-01-30 22:14:43 +01:00
Raman Gupta
73ea34e417 Update media_player and add tests to qualify vizio integration for platinum quality score (#31187)
* add media player test and update media player logic to qualify vizio for platinum quality score

* add SCAN_INTERVAL and log message once when device goes from available to unavailable and vice versa

* move test constants into one file to avoid defining dupes in each test file

* move constant to shrink diff

* move pytest fixtures to conftest.py

* remove commented out code

* move unload test to test_init

* updates to tests and logging based on review

* bypass notification service

* add fixture so component setup makes it through config flow

* split failure tests into two

* fix setup and entity check for test_init and setup failures in test_media_player

* make domain references consistent across test files

* remove logging steps that were introduced to help debug

* move common patches out to new fixture and use config entry everywhere appropriate

* fix docstring

* add test for update options to increase code coverage

* add one more assert

* refactor test_media_player to move boiler plate logic out of each test into _test_init function

* final refactor of test_media_player to move repeat logic into separate function

* update docstrings

* refactor setup failure tests to move shared logic into private function

* fix last new functions code to use variable instead of static config variable

* remove trailing comma

* test that volume_step gets properly passed to Vizio volume function

* fix comment language

* assert with unittest.mock.call in _test_service and use config_entries.async_setup instead of config_entries.async_add

* replace config_entries.async_add with config_entries.async_setup everywhere

* simplify if statement for argument assertion

* fix logging based on style guide

* remove accidentally committed changes

* update scan interval to something more reasonable and add tests for availability changes

* change filter function to list comprehension, simplify log messages, remove default entity id from logs since it is user configurable, fix docstrings
2020-01-30 22:13:45 +01:00
endor
9ab6d08b97 Bump pytrafikverket to 0.1.6.1 (#30697)
* Bumped version for pytrafikverket

* Updated version for pytrafikverket

* Updated version for pytrafikverket
2020-01-30 21:46:20 +01:00
Rick
3718b25bd9 Add opening and closing states to MQTT covers (#31259)
* Added support for the opening and closing states to MQTT covers

* Processed PR feedback on MQTT cover changes

* Add missing MQTT abbreviation to fix failing tests

* Fixed typo in MQTT abbreviations

* Added mqtt set cover position optimistic test
2020-01-30 21:14:46 +01:00
Paulus Schoutsen
d5486f883d Fix wemo lights (#31323) 2020-01-30 11:40:16 -08:00
Paulus Schoutsen
d6d3feb54e Guard Z-Wave light HS conversion on None (#31320) 2020-01-30 11:13:54 -08:00
Rami Mosleh
9432054066 Rework Mikrotik device scanning following Unifi (#27484)
* rework device scanning, add tests

* update requirements and coverage

* fix description comments

* update tests, fix disabled entity updates

* rework device scanning, add tests

* update requirements and coverage

* fix description comments

* update tests, fix disabled entity updates

* update librouteros to 3.0.0

* fix sorting

* fix sorting 2

* revert to 2.3.0 as 3.0.0 requires code update

* fix requirements

* apply fixes

* fix tests

* update hub.py and fix tests

* fix test_hub_setup_failed

* rebased on dev and update librouteros to 3.0.0

* fixed test_config_flow

* fixed tests

* fix test_config_flow
2020-01-30 10:21:51 -08:00
Paulus Schoutsen
202fd4197b Bumped version to 0.105.0b1 2020-01-30 09:48:00 -08:00
Paulus Schoutsen
e91c32cb00 Fix HTTP config serialization (#31319) 2020-01-30 09:47:50 -08:00
Bram Kragten
af8b63fe31 Updated frontend to 20200130.0 (#31318) 2020-01-30 09:47:49 -08:00
Paulus Schoutsen
afe869bee9 Handle service calls that do not refer entity IDs (#31317) 2020-01-30 09:47:49 -08:00
Paulus Schoutsen
f55193c2da Add zone to defaul config (#31303) 2020-01-30 09:47:48 -08:00
Paulus Schoutsen
9db2ad1fd7 Add zones services.yaml (#31298) 2020-01-30 09:47:47 -08:00
Alexei Chetroi
268430a61d ZHA dependencies bump (#31295)
* ZHA dependencies bump.

* Bump bellows-homeassistant.
2020-01-30 09:47:47 -08:00
Paulus Schoutsen
33361f8580 Fix HTTP config serialization (#31319) 2020-01-30 09:47:16 -08:00
Bram Kragten
0a1e397119 Updated frontend to 20200130.0 (#31318) 2020-01-30 09:30:59 -08:00
Paulus Schoutsen
d24e397a80 Handle service calls that do not refer entity IDs (#31317) 2020-01-30 09:28:06 -08:00
Alexei Chetroi
24f4f53f16 ZHA dependencies bump (#31295)
* ZHA dependencies bump.

* Bump bellows-homeassistant.
2020-01-30 10:04:06 -05:00
Franck Nijhof
981d963554 Upgrade pre-commit to 2.0.1 (#31308) 2020-01-30 13:08:37 +01:00
Tom Harris
7ff30fe29d Reorganize insteon code (#31183)
* Reorganize code

* Code review
2020-01-30 10:47:44 +01:00
Paulus Schoutsen
ea666248ce Add zones services.yaml (#31298) 2020-01-30 10:09:06 +01:00
Paulus Schoutsen
cad451d2b7 Add zone to defaul config (#31303) 2020-01-30 10:06:17 +01:00
Paulus Schoutsen
da14e2927f Removes I/O from linky tests (#31299) 2020-01-29 21:59:24 -08:00
Alan Tse
cf0e467150 Change scan_interval defaults for Tesla (#31194) 2020-01-29 20:15:47 -05:00
HomeAssistant Azure
8c178adf4f [ci skip] Translation update 2020-01-30 00:31:41 +00:00
Paulus Schoutsen
6499feffa3 Bumped version to 0.105.0b0 2020-01-29 16:30:03 -08:00
Paulus Schoutsen
c4a8af06e0 Merge remote-tracking branch 'origin/master' into dev 2020-01-29 16:29:36 -08:00
Paulus Schoutsen
01dad31adc Fix service helper not handling sync methods (#31254)
* Fix service helper not handling sync methods

* Add legacy support for returning coroutine objects

* Fix tests

* Fix tests

* Convert demo cover to async
2020-01-29 16:27:25 -08:00
Robert Svensson
111fc1fa8e Use all new helper functions (#31278) 2020-01-29 16:21:23 -08:00
Paulus Schoutsen
424e15c7a7 Find related items scripts/automations (#31293)
* Find related items scripts/automations

* Update manifest
2020-01-29 16:19:13 -08:00
Paulus Schoutsen
881437c085 Catch error when searching for scenes or automations (#31288) 2020-01-29 14:46:48 -08:00
Paulus Schoutsen
e9e44dbd97 Fix callback and async (#31281)
* Fix callback and async

* Fix a return

* Fix test

* Fix mqtt tests

* Fix some more callbacks
2020-01-29 13:59:45 -08:00
ktnrg45
ee602e40a6 Add command 'ps_hold' to PS4 (#31283) 2020-01-29 22:57:40 +01:00
Bram Kragten
67b73bd74c Updated frontend to 20200129.0 (#31279) 2020-01-29 21:40:41 +01:00
Jeff Irion
31dc2ad284 Allow filtering of sources for Android TV (#30994) 2020-01-29 14:13:09 -06:00
Phil Bruckner
61e41f0ddc Add code owner for amcrest integration (#31276) 2020-01-29 11:50:18 -06:00
David F. Mulcahey
f4a4c6bea5 ZHA group and device cleanup (#31260)
* add dispatching of groups to light
* added ha device registry device id
* added zha group object
* add group event listener
* add and remove group members
* get group by name
* api cleanup
* clean up get device info
* create and remove zigpy groups
* clean up create and remove group api
* use device id
* use device id
* cleanup
* update test
* update tests to allow group events to flow
2020-01-29 12:24:43 -05:00
Pascal Vizeli
6bbb713013 Fix tests for opnsense (#31277) 2020-01-29 18:18:24 +01:00
ochlocracy
83dff16e1e Add support for rangeValueDeltaDefault in Alexa AdjustRangeValue directive (#31258)
* Update tests with rangeValue and rangeValueDelta to use int.

* Add support for rangeValueDeltaDefault for covers.

* Update tests for range changes.

* Test for AdjustRangeValue with rangeValueDeltaDefault True.

* Update tilt error.
2020-01-29 09:04:57 -08:00
ochlocracy
7116c7404a Add PowerController to covers in Alexa (#31265)
* Add PowerController to covers.

* Comment Fix.

* Update test device_class.

* Update Comment.
2020-01-29 09:03:20 -08:00
Matthew Treinish
85dbf1ffad Add OPNSense device tracker (#26834)
* Add OPNSense device_tracker

This commit adds a new component for using an OPNSense router as a
device tracker. It uses pyopnsense to query the api to look at the
arptable for a list of devices on the network.

* Run black formatting locally to appease azure

* Apply suggestions from code review

Co-Authored-By: Fabian Affolter <mail@fabian-affolter.ch>

* Fix issues identified during code review

This commit updates several issues found in the module during code
review.

* Update homeassistant/components/opnsense/__init__.py

Co-Authored-By: Fabian Affolter <mail@fabian-affolter.ch>

* Update CODEOWNERS for recent changes

* Fix lint

* Apply suggestions from code review

Co-Authored-By: Martin Hjelmare <marhje52@kth.se>

* More fixes from review comments

This commit fixes several issues from review comments, including
abandoning all the use of async code. This also completely reworks the
tests to be a bit clearer.

* Revert tests to previous format

* Add device detection to opnsense device_tracker test

This commit adds actual device detection to the unit test for the setup
test. A fake api response is added to mocks for both api clients so that
they will register devices as expected and asserts are added for that.

The pyopnsense import is moved from the module level to be runtime in
the class. This was done because it was the only way to make the
MockDependency() call work as expected.

* Rerun black

* Fix lint

* Move import back to module level

* Return false on configuration errors in setup

This commit updates the connection logic to return false if we're unable
to connect to the configured OPNsense API endpoint for any reason.
Previously we would not catch if an endpoint was incorrectly configured
until we first tried to use it. In this case it would raise an unhandled
exception. To handle this more gracefully this adds an api call early in
the setup and catches any exception raised by that so we can return
False to indicate the setup failed.

* Update tests

* Add pyopnsense to test requirements

* Rerun gen_requirements script

* Fix failing isort lint job step

Since opening the PR originally yet another lint/style checker was added
which failed the PR in CI. This commit makes the adjustments to have
this pass the additional tool's checks.

* Fix comment

* Update manifest.json

Co-authored-by: Fabian Affolter <mail@fabian-affolter.ch>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
Co-authored-by: Pascal Vizeli <pascal.vizeli@syshack.ch>
2020-01-29 16:20:43 +01:00
Jeff Irion
9312d06fe4 Catch 'ConnectionResetError' exceptions for Android TV integra… (#31274) 2020-01-29 15:18:57 +01:00
Quentame
ec4ccb10ec Bump iCloud to 0.9.2 + fix setup log (#31273)
- pyicloud to 0.9.2
- fix log `ERROR (MainThread) [homeassistant.config_entries] icloud.async_setup_entry did not return boolean`
2020-01-29 15:16:54 +01:00
tetienne
fa15bead94 Remove useless assignment (#31272) 2020-01-29 14:08:53 +01:00
Alan Tse
a1e1610a69 Add device_class to Tesla sensors (#31231) 2020-01-29 13:22:04 +01:00
Thibault Maekelbergh
64edf2fe33 Create truly live unique id (#31078)
* Create truly live unique id

* Do not generate unique id on basis of name

* Add the station to the default station live name
2020-01-29 12:12:40 +01:00
Rafał Słota
080827fb62 Fix light.turn_on for emulated_hue (#31195)
* Fix light.turn_on for emulated_hue

HarmonyHub sends `{'xy': [0, 0], 'on': True, 'bri': 0}` when turning on lights that do not support brightness control. Unfortunately current logic always uses  brightness value to control on/off state which makes no sense for lights that don't support brightness at all. This change fixes that behavior, making light without brightness control usable with HarmonyHub and probably some other remotes.

* Test 'no_brightness' lights
2020-01-29 12:11:22 +01:00
Thomas
56c235d4f2 Fix example for set_datetime service (#31159) 2020-01-29 12:09:19 +01:00
Matthias Alphart
9ff9614d0b fix knx light turn_on with ct (#31184)
process both brightness and color_temperature in a turn_on call.
2020-01-29 12:07:25 +01:00
Franck Nijhof
c2f1d6aa19 Upgrade pre-commit to 2.0.0 (#31267) 2020-01-29 12:04:25 +01:00
Pascal Vizeli
28bfc6ae76 Update homeassistant-pyozw to 0.1.8 (#31270) 2020-01-29 12:04:05 +01:00
Daniel Perna
9902b648fb Add channel-mapping for HomeMatic (#31178)
* Update entity.py

* Fix Black

* Fix Black

* Update entity.py

* Use new style python

* Simplify

* Allow multible attribute with different channels

* Black

Co-authored-by: Pascal Vizeli <pascal.vizeli@syshack.ch>
2020-01-29 12:02:36 +01:00
Alan Tse
bcdef4e500 Fix reporting of battery sensor for Tesla (#31232)
* Fix reporting of battery sensor for Tesla

* Remove try
2020-01-29 08:58:43 +01:00
Bouwe Westerdijk
61a8618010 Fix Plugwise climate issues (#31209)
* Fix Plugwise climate issues

* Remove showing None-state for available_schemas, as requested by reviewer.
2020-01-29 08:57:25 +01:00
Bas Nijholt
89ae255de7 Bump pyhaversion to 3.2.0 (#31241)
* upgrade to pyhaversion=3.2.0

* bump to pyhaversion==3.2.0 in manifest.json
2020-01-29 08:54:21 +01:00
shred86
3ae5735e12 Bump abodepy version to 0.17.0 (#31250) 2020-01-29 08:53:30 +01:00
Robert Svensson
36675fe4fa deCONZ - New light level sensor attribute (#31255) 2020-01-29 07:40:42 +01:00
Alexei Chetroi
37af2170ec Mark device unavailable when it leaves Zigbee network. (#31264) 2020-01-28 21:21:33 -05:00
HomeAssistant Azure
2c02334c1f [ci skip] Translation update 2020-01-29 00:31:54 +00:00
Franck Nijhof
fd4f8d92d2 Upgrade dsmr_parser to 0.18, re-enable tests (#31256) 2020-01-28 23:35:28 +01:00
Franck Nijhof
747f5fd62c Upgrade iaqualink to 0.3.1 (#31257) 2020-01-28 23:33:27 +01:00
John Hollowell
c3cef7227c Add proxmoxve SSLError check and remove log spam (#30818)
* Add SSLError check and remove log spam

* Update homeassistant/components/proxmoxve/manifest.json

remove unnecessary requirement

* Remove log level change

Moved to proxmoxer library

* Update homeassistant/components/proxmoxve/__init__.py

* Update manifest.json

Update to new version of dependency which fixes log issue

* Run formatter and requires updates

* oops, tabs

* Fix quote marks

When you can't get black running, just fix whatever CI says is wrong!
2020-01-28 22:52:59 +01:00
Paulus Schoutsen
8ceef72853 Google Assistant: Track if request is local (#31226)
* Track if request is local

* Cancel early if 2FA disabled

* Allow disabling 2FA for ack

* Do not mark devices with 2FA as reachable

* Add request source to GA events
2020-01-28 10:54:39 -08:00
brefra
03954be12d Add brefra to codeowners list Velbus integration (#31245)
* Add myself to codeowners list

* Add myself to CODEOWNERS file
2020-01-28 09:25:15 -05:00
Daniel Høyer Iversen
a9c43c6c62 Mill, correct hvac_mode. Fixes #31236 (#31242) 2020-01-28 11:58:37 +01:00
Pascal Vizeli
259a7e8490 Add gammu to wheels (#31239) 2020-01-28 09:41:50 +01:00
Oscar Calvo
d813618d0d Add Gammu based local SMS notifications (#31233)
* Add sms integration

Committer: ocalvo <oscar@calvonet.com>

* Fix PyLint

* Update requirements
2020-01-28 09:35:41 +01:00
SukramJ
ec2d378a19 Add test for adding a device to HomematicIP Cloud (#31224)
* Add test for adding a hmip device

* refactor get_mock_hap to use config_entry setup

* remove unused parameters
2020-01-28 08:44:30 +01:00
Alexei Chetroi
9d8b4de09c Update ZHA entity discovery tests (#31191)
* ZHA registry test fixtures refactoring.

* Update ZHA test devices list.

* Use channel.id for event relay channels test.

* Add zigpy_device factory fixture.

* Add node descriptor to mock zigpy devices.

* Use node descriptor for ZHA device tests.

* Update ZHA discovery test.

check for unique_id and channels passed into each entity.

* Address comments.
2020-01-27 19:43:26 -05:00
HomeAssistant Azure
6daec557b4 [ci skip] Translation update 2020-01-28 00:31:59 +00:00
Paul Daumlechner
ed970797be Fix attribute in Alexa service call for cover tilt (#31223)
* Update attribute in Alexa service call for cover tilt

* Update Tests to fix Tilt Position call.

Co-authored-by: ochlocracy <5885236+ochlocracy@users.noreply.github.com>
2020-01-27 19:28:40 -05:00
aaska
1f7ab9091b Bump python-synology to 0.4.0 : Add support for DSM v5 + fix sensors unknown for 15 min (#31049)
* updating new api version

* Added new configuration option for updated API
2020-01-27 22:38:00 +01:00
SukramJ
1dbfc66669 Cleanup of HomematicIP Cloud tests (#31181)
* CleanUp tests for HomematicIP_Cloud

* Remove not required CoroutineMock

* remove None return in mocks, add asserts

* rewrite test
2020-01-27 21:34:15 +01:00
Christian Clauss
1d537ad416 Fix typo: serivce --> service (#31217) 2020-01-27 19:56:26 +01:00
Paulus Schoutsen
ab8b94382e Update Hue discovery (#31215) 2020-01-27 10:54:38 -07:00
Aaron Bach
f95a072877 Constrain SimpliSafe's check for emergency token usage (#31214) 2020-01-27 10:50:16 -07:00
Ron Klinkien
4e2737bfb7 Add Garmin Connect integration (#30792)
* Added code files

* Correctly name init file

* Update codeowners

* Update requirements

* Added code files

* Correctly name init file

* Update codeowners

* Update requirements

* Black changes, added to coveragerc

* Removed documentation location for now

* Added documentation url

* Fixed merge

* Fixed flake8 syntax

* Fixed isort

* Removed false check and double throttle, applied time format change

* Renamed email to username, used dict, deleted unused type, changed attr name

* Async and ConfigFlow code

* Fixes

* Added device_class and misc fixes

* isort and pylint fixes

* Removed from test requirements

* Fixed isort checkblack

* Removed host field

* Fixed coveragerc

* Start working test file

* Added more config_flow tests

* Enable only most used sensors by default

* Added more default enabled sensors, fixed tests

* Fixed isort

* Test config_flow  improvements

* Remove unused import

* Removed redundant patch calls

* Fixed mock return value

* Updated to garmin_connect 0.1.8 fixed exceptions

* Quick fix test patch to see if rest is error free

* Fixed mock routine

* Code improvements from PR feedback

* Fix entity indentifier

* Reverted device identifier

* Fixed abort message

* Test fix

* Fixed unique_id MockConfigEntry
2020-01-27 09:12:18 -08:00
Quentame
a73a1a4489 Use config_entry.unique_id in Linky (#31051)
* Use config_entry.unique_id in Linky

* Reviews

* _show_setup_form not async
2020-01-27 08:57:36 -08:00
ktnrg45
d3ac3e48a3 Fix ps4 errors if pin begins with a 0 (#31198)
* Fix errors if pin begins with a 0

* Test PIN leading with zero

* Edit tests
2020-01-27 10:32:14 -05:00
David F. Mulcahey
7d9c8fdfa0 update remove service (#31164) 2020-01-27 08:54:31 -05:00
Ron Klinkien
50b0e938e1 Added missing file (#31189) 2020-01-27 12:52:58 +01:00
Franck Nijhof
6be9a45333 Upgrade HAP-python to 2.7.0 (#31201) 2020-01-27 11:42:09 +01:00
Alan Tse
4f07ccd350 Fix unnecessary regeneration of access token in Tesla component (#31193)
* Fix unnecessary regeneration of access token

* Add manifest.json
2020-01-27 11:30:35 +01:00
Franck Nijhof
050e4afdc0 Disable failing dsmr tests (#31202)
* Disable failing dsmr tests

* Disable module, disable import of missing dep
2020-01-27 11:13:36 +01:00
Rohan Kapoor
52c1bc9c26 Check that documentation urls are valid (#31188)
* Check that documentation urls are valid

* Validate documentation url in pieces
2020-01-27 10:42:26 +01:00
starkillerOG
1278f32306 Add webostv sound_output capability (#31121)
* Webostv: add sound_output capability

Add the ability to read and set the sound_output

* Webostv: add sound_output capability

* Webostv: add sound_output capability

* fix blank spaces

* fix to long line

* add ,

* Import ATTR_SOUND_OUTPUT

Do not have the ability to test this change right now

* Add white space

* Create const.py

* Use const import

* Use import from const.py

* Add docstring

* Change order

* Change order

* Fix import

* Fix import

* Fix typo

* Change order again

* Change order again

* Change order of attributes
2020-01-27 10:40:48 +01:00
Paulus Schoutsen
1f0f62de7f Add unique IDs to automation/scenes (#31150)
* Add unique IDs to automation and scenes

* Fix typo
2020-01-26 23:01:35 -08:00
Ville Skyttä
8fff6462a1 Upgrade huawei-lte-api to 1.4.7 (#31155)
https://github.com/Salamek/huawei-lte-api/releases/tag/1.4.7
2020-01-27 08:50:01 +02:00
Aaron Bach
ac2172333c Use non-deprecated method of instantiating RainMachine client (#31149) 2020-01-26 18:01:59 -07:00
finnysamuel
9ba1a4a91a Bump aiobotocore to 0.11.1 (#30951)
* Bumped aiobotocore version to 0.11.1
* New dependencies are added to requirements_all.txt
2020-01-26 18:25:42 -05:00
Franck Nijhof
aa390efd69 Add hassfest URL validation to documentation link (#31143) 2020-01-26 21:32:20 +01:00
Tom Harris
4311b1ae65 Bump insteonplm to 0.16.6 (#31182) 2020-01-26 19:53:31 +01:00
brefra
51e032a7ca Add counters sensors for Velbus (#31165)
* Add counter sensor

* Apply black formatting

* Move all counter logic to sensor.py

* Code cleanup
2020-01-26 18:48:20 +01:00
SukramJ
1b3c4ed4b3 Use unique_id for config_entries of HomematicIP Cloud (#31133)
* use hapid as unique_id for config_entry of HomematicIP Cloud

* Add qualita_scale to manifest

* Update config_flow

* use core interface for config_flow tests

* refactor to fail earlier

* use asynctest

* rewrite tests

* rewrite tests

* fix test

* add assert
2020-01-26 14:54:33 +01:00
Maikel Punie
3f03848a07 Fix Velbus covers (includes velbus lib upgrade) (#31153)
* Fix velbus covers

* Update python-velbus lib

* flake8 and black fixes

* Fix comments

* fix codeowner
2020-01-26 14:36:29 +01:00
Malachi Soord
bc196a3c9f Introduce unique_id for lastfm to allow changing entity_id in backwards compatible way (#31163)
* Replace . with _ for lastfm entity_id

* lint

* double quotes

* Rollback change, add unique_id

* Expose prop

* Generate unique ID from user

* Linty

* FIx linter

* Revert changes for splitting entity_id

* Simplify
2020-01-26 14:28:42 +01:00
Jeff Irion
cd72128a80 Implement 'volume_set' service for Android TV devices (#31161) 2020-01-26 10:39:19 +01:00
Aaron Bach
4c4f726323 Refactor RainMachine switch platform (#31148)
* Import constants sanely

* Linting

* Rename data constants for consistency

* Refactor RainMachine switch platform

* Comments

* Cleanup

* Refactor switch and sensor API calls to be separate

* Linting

* Make sure zones are updated in appropriate service calls

* Correctly decrement

* Linting

* Don't do weird inheritance

* Ensure service calls update data properly

* Docstring

* Docstring

* Errors can be logged without string conversion

* Code review comments
2020-01-25 20:27:35 -07:00
Aaron Bach
37d1cdc4cb Add additional alarm states to SimpliSafe (#31060)
* Add additional alarm states to SimpliSafe

* Remove unused constant

* Remove redundant local variable
2020-01-25 18:41:49 -07:00
HomeAssistant Azure
d3511a3496 [ci skip] Translation update 2020-01-26 00:33:06 +00:00
Jens Østergaard Nielsen
353a014496 Fix the ihc.set_runtime_value_int service function not working with templates (#31145)
* Make the set_runtime_value_int function work with template values

* Use newest version of the ihcsdk library

* Make the set_runtime_value_int function work with template values

* Use newest version of the ihcsdk library

* Updated to the newest ihcsdk 2.5.0

* Formatted changes to make it pass CI tests
2020-01-26 00:37:31 +01:00
Matt Snyder
e4832ee4d0 Remove Owlet component (#31160)
* Remove owlet component

* Remove owlet from requirements_all.txt
2020-01-25 21:08:36 +01:00
Quentame
c481a48e3a Separate iCloud class (#31022)
* Separate iCloud class

* Update .coveragerc

* Fix pipe
2020-01-25 13:24:50 -05:00
Josh Bendavid
6f1c45257a Fix state handling for older webos versions (#31099)
* fix state handling for older webos versions

* update aiopylgtv to 0.3.2
2020-01-25 13:24:21 -05:00
Bill Durr
e16e192b3c improvements to zha cover (#31144) 2020-01-25 13:20:59 -05:00
Alexei Chetroi
217e280f8b Update ZHA remotes registry to proper identify "remotes (#31146)
* Update ZHA remote device types.

* Remove `binary_sensor` entity from affected devices.

* Update ZHA Profiles.

Prevent DeviceType.ON_OFF_LIGHT_SWITCH from creating entities.

* Update tests and remove unused entities.
2020-01-25 12:42:19 -05:00
Ville Skyttä
80a55360dc Remove no longer used Hound config (#31154) 2020-01-25 12:48:32 +01:00
Ville Skyttä
98ac84349c Fix Huawei LTE SMS recipient setting from options UI (#31117)
* Fix Huawei LTE SMS recipient setting from options UI

Refs https://github.com/home-assistant/home-assistant/issues/30827

* Use core interfaces in tests

* ...more
2020-01-25 13:09:43 +02:00
Aaron Bach
a007835293 Fix RainMachine update action (#31147) 2020-01-24 23:42:59 -07:00
Aaron Bach
550aa6a0a5 Add smarter API usage for RainMachine (#31115)
* Make RainMachine smarter with API usage

* Remove debug statements

* Fix deregistration

* Code review comments

* Code review

* Use an asyncio.Lock

* Remove unnecessary guard clause

* Ensure registation lock per API category
2020-01-24 21:31:14 -08:00
Aaron Bach
cf165cc35f Make SimpliSafe integration more resilient to SimpliSafe cloud issues (#31116)
* Make SimpliSafe integration more resilient to SimpliSafe cloud issues

* Clear emergency refresh token

* Stop listening when appropriate

* Cleanup

* Saving refresh token should happen after all updates

* Code review
2020-01-24 21:19:40 -07:00
ochlocracy
0eee152386 Include supported states in Alexa SecurityPanelController configuration object (#31120)
* Update Security Panel Controller.

* Update Security Panel Controller.

* Sort imports.
2020-01-24 17:57:58 -08:00
HomeAssistant Azure
71ae4b2623 [ci skip] Translation update 2020-01-25 00:31:41 +00:00
Paulus Schoutsen
f4626375f3 Fix when you have two wemo devices (#31139) 2020-01-24 14:59:54 -08:00
Franck Nijhof
c0bc4bb550 Add logo & icon support to Manifest (#31131)
* Add logo & icon support to Manifest

* Add URL validation
2020-01-24 14:36:22 -08:00
Ville Skyttä
9795449d22 Make pylint fail on informational messages too (#31136)
Refs https://github.com/PyCQA/pylint/issues/3250
2020-01-24 23:27:15 +02:00
Paulus Schoutsen
98bac43228 Validate coveragerc with hassfest (#31112)
* Validate coveragerc

* Test if files exists

* Print progress

* Flush
2020-01-24 10:25:46 -08:00
Franck Nijhof
7e4b9adc3d Rewrite of Spotify integration (#30717)
* Rewrite of Spotify integration

* Update homeassistant/components/spotify/config_flow.py

Co-Authored-By: Paulus Schoutsen <balloob@gmail.com>

* Remove configurator dependency

* Strip whitespace from device model in case Spotify product is missing

* Ensure domain dict exists in hass data on setup entry

* Simply config validation for client id and secret

* Abort flow on any exception from spotipy

* Add tests for config flow

* Gen requirements all

* Add test package __init__

* Remove Spotify from coveragerc

* Made alias handling more robuust

* Fix supported_features for Spotify free and open accounts

* Improve error message in the logs

* Re-implement Spotify media_player

* Change media content type when play a playlist

* Process review suggestions

* Move Spotify init, static current user and supported_features

* Remove unneeded me call

* Remove playlist content type due to frontend issues

* Improve playlist handling, when context is missing

* Handle entity disabled correctly

* Handle being offline/unavailable correctly

* Bump Spotipy to 2.7.1

* Update coverage RC, mark integration silver

* Remove URI limitation, lib supports all Spotify URI's now

* Final cleanup

* Addresses Pylint error

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-01-24 18:47:22 +01:00
Franck Nijhof
4571cf01e2 Update Hue existing config entry with discovery data (#31087)
* Update Hue existing config entry with discovery data

* Updated method documentation comments

* Update implementation to match latest dev

* Use named argument for clarity
2020-01-24 09:07:53 -08:00
SukramJ
1effd605a5 Remove unused async_setup_platform (#31132) 2020-01-24 17:33:23 +01:00
Michael Dokolin
30249d1428 Fix Template components to process entity_id configuration option (#31084)
* Fix Template Cover component to process entity_id configuration option

* Fix Template Light component to process entity_id configuration option

* Empty commit to re-trigger build

Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2020-01-24 12:40:00 +01:00
Desausoi Laurent
6ff572d1dd Add Buienradar camera for Belgium (#30399)
* Buienradar Camera for Belgium

* Voluptuous check for country code

* Black formatting

* Testing for Buienradar Belgium

* Changed MULTIPLE CHOICE variable name

* Changes from frenck review
2020-01-24 12:38:35 +01:00
Paulus Schoutsen
b4f3415eb9 Update cast to 4.1.1 (#31113) 2020-01-24 09:20:47 +01:00
Josef Schlehofer
ca591d591f Upgrade youtube_dl to version 2020.01.24 (#31124) 2020-01-24 00:07:36 -08:00
Raman Gupta
1de003487e Fix connection failure log message in async_setup_entry for Vizio component (#31097)
* remove connection check during setup since it is already done during config flow

* revert change and fix log message

* demote connection setup to warning
2020-01-24 07:39:28 +01:00
HomeAssistant Azure
6da2904e12 [ci skip] Translation update 2020-01-24 00:31:41 +00:00
Franck Nijhof
47b708974d Add disabled entities support to AdGuard (#31106) 2020-01-24 00:50:59 +01:00
Markus Pöschl
7fed328e1c Use speak2mary for MaryTTS integration and enable sound effects (#30805)
* Use speak2mary for MaryTTS integration and enable sound effects

* Replace static defaults for effects with user configured ones
2020-01-23 22:45:06 +01:00
Paolo Tuninetto
fc95744bb7 Change Samsung TV state detection (#30236)
* Changed Samsung TV state detection

* Trying codecov fix

* Update Rewritten

* Changed update method

* Timeout handling

* Fixed autodetect tests

* Fixed last test

* Added test to complete codecov

* Removed state settings in send_key method

* Fixed pylint

* Fixed some tests

* codecov fix
2020-01-23 21:43:30 +01:00
Franck Nijhof
b743f9b8f6 Add update_entry dict to unique ID flow abort helper (#31090)
* Add update_entry dict to unique ID flow abort helper

* Process review suggestions

* Process review suggestions

* Add additional test
2020-01-23 11:21:19 -08:00
Fabian Affolter
bdd73b03b5 Upgrade shodan to 1.21.3 (#31111) 2020-01-23 19:49:01 +01:00
uvjustin
910a0bc870 Allow framerates less than 1 (#31108) 2020-01-23 10:14:47 -08:00
tetienne
1a1ef7680d Add temperature support to light template (#30595)
* Add temperature support

* Use guard clause
2020-01-23 09:18:59 -08:00
Michael Dokolin
894b841a15 Fix HomeKit window covering to support float numbers in the position (#31081)
* Fix HomeKit window covering to support float numbers in the position

* Fix HomeKit window covering to cast current position to an integer value
2020-01-23 09:02:44 -08:00
mindigmarton
bfea9863f1 Update emulated_roku to 0.2.1 (#31100) 2020-01-23 17:12:20 +01:00
Franck Nijhof
e9eaa6536d Upgrade sqlalchemy to 1.3.13 (#31101) 2020-01-23 17:10:40 +01:00
Franck Nijhof
c563652574 Cleanup of PR and issue templates (#31070)
* Remove old issue template

* Small wording improvement

* Consistency

* Configuration fix

* Process review suggestions
2020-01-23 11:55:29 +01:00
Robin
c71ae090fc Add sighthound integration (#28824)
* Add component files

* Add test state

* Adds person detected event

* Update CODEOWNERS

* Updates requirements

* remove unused datetime

* Bump sighthound version

* Update CODEOWNERS

* Update CODEOWNERS

* Create requirements_test_all.txt

* Address reviewer comments

* Add test for bad_api_key
2020-01-23 09:30:06 +01:00
Aaron Bach
73a55825af Remove monitored conditions from RainMachine (#31066)
* Remove monitored conditions from RainMachine

* Migrate config entry

* Revert "Migrate config entry"

This reverts commit 84fcf5120f.

* Code review comments

* Disable some entities by default
2020-01-22 20:49:47 -08:00
Fredrik Erlandsson
3fc86988fa pydaikin version bump (#31080) 2020-01-22 18:09:52 -08:00
James Hilliard
d8eca8e303 Add keep-alive which is required for some hlk-sw16 variants (#31062) 2020-01-22 17:57:55 -08:00
springstan
b7678f526c Deprecate hook integration (#31046) 2020-01-22 17:50:24 -08:00
Jonathan Keljo
572b81e7e0 Add myself to owners for components I contributed (#31020)
* Add myself to owners for components I contributed

* Update CODEOWNERS
2020-01-22 17:49:00 -08:00
Aaron Bach
288574b8d1 Remove monitored conditions from OpenUV (#31019)
* Remove monitored conditions from OpenUV

* Code review comments
2020-01-22 17:48:20 -08:00
Paulus Schoutsen
80887d757a Simplify automation services (#30996)
* Simplify automation services

* Empty commit to re-trigger build

Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2020-01-22 17:46:12 -08:00
Raman Gupta
192b656635 Code Cleanup for Vizio component (#31076)
* code cleanup

* dont use named arguments for positional arguments

* remove extra comma
2020-01-23 01:55:34 +01:00
HomeAssistant Azure
a0d2a3c6c5 [ci skip] Translation update 2020-01-23 00:31:52 +00:00
Paulus Schoutsen
0fba9e44ed Migrate zone to use collection helpers (#30774) 2020-01-22 12:36:25 -08:00
Maciej Bieniek
4c27d6b9aa Add zeroconf discovery support to Brother Printer integration (#30959)
* Add zeroconf discovery support

* Fix data for config_entry

* Add sting for zeroconf confirm dialog

* Add and fix tests

* Fix pylint errors

* Suggested changes

* Tests

* Remove unnecessary object

* Add error handling

* Remove unnecessary objects

* Suggested change

* Suggested change

* Use core interfaces for tests
2020-01-22 11:34:11 -08:00
ochlocracy
4015a046d2 Update AdjustRange Handler Service Calls. (#31016)
Add a AlexaGlobalCatalog value to all labels.
2020-01-22 11:04:31 -08:00
thoscut
93d109e524 Add DIRECTORY and PLUGIN to kodi media types (#28336) 2020-01-22 19:31:03 +01:00
Josh Bendavid
fae74f7ed7 Improve state tracking for WebOsTV (#31042)
* upgrade to aiopylgtv 0.3.0 and corresponding simplification and cleanup of webostv state tracking

* properly handle case where Live TV is not reported in list of apps

* fix tests (entity state is no longer linked to source id)

* fix pylint checks

* avoid unnecessary retrieval of channel list

* use only standard home assistant states
2020-01-22 19:06:08 +01:00
Paulus Schoutsen
e5365779fe Allow unloading mobile app (#30995) 2020-01-22 09:57:47 -08:00
David F. Mulcahey
3c44a1353a change group id creation (#31075) 2020-01-22 09:23:35 -05:00
Franck Nijhof
db76b91ffa Add disabled entities support to WLED (#31040) 2020-01-22 10:45:38 +01:00
Dougal Matthews
96dba7b91f Add the Home Assistant version as a Sentry release (#31065)
This helps make it easier to identify which version of Home Assistant
first introduces a error.
2020-01-22 10:38:24 +01:00
Raman Gupta
463d949ee0 Add zeroconf discovery support for vizio integration (#30949)
* add missing tests

* readd removed test

* add zeroconf discovery support for vizio integration

* no mock_coro_func needed

* add reasonable timeout and don't log exceptions from pyvizio due to timeout

* add test to test options update and bump pyvizio to avoid timeout issues

* update requirements_*

* fix gaps in coverage

* change return hint for async_setup_entry

* use source variables instead of strings

* only get unique ID if about to create entry

* update based on review

* Revert "update based on review"

This reverts commit 0d612a90eb7d02c92061f902973e527267e3110a.

* f-string

* fix last review

* revert cleanup changes to simplify PR

* remove unnecessary ConfigFlow object variables to simplify logic

* revert cleanup changes to make review easier, noted for future cleanup

* revert cleanup changes to make review easier, noted for future cleanup

* move zeroconf service type constant to test module
2020-01-22 10:13:35 +01:00
Raman Gupta
ee74f95371 Enhance info_from_service function in zeroconf integration (#31059)
* enhance zeroconf service info decoding to include raw bytes

* Update homeassistant/components/zeroconf/__init__.py

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

* fix test based on last commit

* fix test based on last commit

* remove .keys() when asserting processed and raw service info properties

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-01-21 21:24:59 -08:00
Quentame
bc600995c1 Do not stop fetching iCloud data after service error (#31069) 2020-01-22 01:39:12 +01:00
Leon Knauer
58973d5265 Fix luftdaten broken icon for "Pressure at sealevel" (#31053) 2020-01-22 01:34:19 +01:00
HomeAssistant Azure
7e604bed7d [ci skip] Translation update 2020-01-22 00:31:43 +00:00
springstan
c3888330c1 Fix fan_modes in tuya climate (#30942) 2020-01-22 01:28:19 +01:00
Jens
15f6e28a04 Add tahoma io:AwningValanceIOComponent (#30944) 2020-01-22 01:09:59 +01:00
Joe Gross
3b4c3e6e17 Fix prometheus component to fully sanitize Unicode characters (#31037)
* Fix prometheus component to fully santize Unicode characters.

Sanitization used isdigit() to match numerics but that also matches 
Unicode "digit" characters that require special handling, like 
superscripts. Failures would look like this:

ValueError: Invalid metric name: sensor_unit_u0x23_per_m³

Changed sanitize to use string.digits, which matches only ascii digits, 
and added test.

See 
https://stackoverflow.com/questions/44891070/whats-the-difference-between-str-isdigit-isnumeric-and-isdecimal-in-python 
for discussion.

https://docs.python.org/3/library/stdtypes.html#str.isdigit

https://docs.python.org/3.7/library/string.html#string.digits

* fix formatting to comply with black
2020-01-22 01:03:42 +01:00
Franck Nijhof
ff7d2ac681 Iteration on issue and PR templates (#31058)
* Iteration on issue and PR templates

* Some small improvements to make it look better in the PR editor

* Better English

* Please keep template

* Consistency

* Adds www to website link, to make more clear it is our website

* Process review suggestion by Martin

* Added dep bump as type of change

* English
2020-01-21 23:24:01 +01:00
Franck Nijhof
e8e7e66e2b Bump pytest to 5.3.4 (#31045) 2020-01-21 15:44:39 -05:00
David Bonnes
e00388eea0 switch evohome to use a whitelist for valid zonetype (#31047) 2020-01-21 18:49:15 +00:00
Franck Nijhof
19d30f0a1b Update issue and PR templates (#31056)
* Update issue and PR templates

* Empty commit to re-trigger build
2020-01-21 18:38:50 +01:00
zhumuht
27c25b6f44 Add xiaomi miio sensors cgllc.airmonitor.s1 & cgllc.airmonitor.b1 (#30345)
* support xiaomi miio sensor: cgllc.airmonitor.s1 & cgllc.airmonitor.b1

* support xiaomi miio sensor: cgllc.airmonitor.s1 & cgllc.airmonitor.b1

* rollback sensor,  modify air_quality

* only set air_quality props

* remove set state from "zhimi.airmonitor.v1"

* unit_of_measurement return None when the pm25 isn't reported

* import libs by isort
2020-01-21 17:06:17 +01:00
Abílio Costa
2aff913d9b Update pyipma to 2.0 (#30746)
* update ipma component for pyipma 2.0

* fix wind speed; refactor forecast

* update requirements*.txt

* fix tests; update CODEOWNERS; update pyipma to 2.0.1

* minor changes as suggested in PR

* make lint happy

* fix mocking coroutines

* restore old unique id

* fix station lat/lon; update pyipma version
2020-01-21 17:04:22 +01:00
James Nimmo
c2df4f56a3 Bump pyintesishome to v1.6 (#31044) 2020-01-21 16:57:27 +01:00
Franck Nijhof
a3bcf69adf 0.104.3 (#31048)
0.104.3
2020-01-21 13:25:53 +01:00
Franck Nijhof
fb35d382e1 Remove all empty *_setup_platform() from integrations (#31025)
* Remove all empty *_setup_platform() from integrations

* Fix tests for smartthings

* Fix tests for heos
2020-01-21 12:38:38 +01:00
Franck Nijhof
cfa74039bb Bumped version to 0.104.3 2020-01-21 12:18:07 +01:00
Franck Nijhof
ccf6ce71cf Fix deCONZ update entry from Hassio discovery (#31015)
* Fix deCONZ update entry from Hassio discovery

* Empty commit to re-trigger build
2020-01-21 12:14:31 +01:00
Jeff Irion
392cf57750 Fix capability_attributes when supported_features is None (#30993)
* Fix capability_attributes when supported_features is None (water_heater)

* Fix capability_attributes when supported_features is None (media_player)
2020-01-21 12:14:28 +01:00
steve-gombos
6889816704 Ring camera fix (#30975)
* Fix ring camera entities

* Reverted test refresh interval

* Fix black errors
2020-01-21 12:14:24 +01:00
Jan De Luyck
dde6220ca5 Update emulated_roku to 0.2.0 (#30974) 2020-01-21 12:14:16 +01:00
Paulus Schoutsen
dead2fe576 Catch all Ring timeout errors (#30960)
* Catch more Ring errors

* Fix comment & Disable wifi entities by default

Signed-off-by: Franck Nijhof <git@frenck.dev>
2020-01-21 12:13:11 +01:00
David F. Mulcahey
41014d73be Allow ZHA device creation for the Zigbee coordinator (#31032)
* allow zha device creation for coordinator

* don't let coordinator get removed

* fix truthy issue in logical device type
2020-01-21 06:07:47 -05:00
Josef Schlehofer
bc6603d8d7 Upgrade pyyaml to 5.3 (#31026) 2020-01-20 21:12:16 -08:00
Josef Schlehofer
0b72587af2 Upgrade importlib-metadata to version 1.4.0 (#31027) 2020-01-20 21:11:23 -08:00
HomeAssistant Azure
692e4f27c4 [ci skip] Translation update 2020-01-21 00:33:20 +00:00
David Bonnes
8f37c843f5 Handle ghost zones gracefully (#31008) 2020-01-20 20:49:04 +00:00
Aaron Bach
662c12715e Allow OpenUV entities to be unavailable (#31018)
* Allow OpenUV entities to be unavailable

* Empty commit to re-trigger build
2020-01-20 13:33:58 -07:00
Sébastien RAMAGE
1639432463 Bump zigpy-zigate to 0.5.1 (#31004)
* Bump zigpy-zigate to 0.5.1
Improve startup and channel setting
2020-01-20 13:09:20 -05:00
Quentame
8c22858ae3 Use config_entry.unique_id in iCloud (#30984)
* Use unique_id in iCloud

* Remove missed self._configuration_exists()

* Avoid breaking change

* Almost fix tests

* Add missing test

* Fix tests
2020-01-20 18:59:29 +01:00
Ville Skyttä
5e2ba2eb77 Enable some more bandit checks (#30857)
* Enable B108 (hardcoded tmp dir), address findings

* Enable B602 (subprocess popen with shell), address findings

* Enable B604 (start process with shell), address findings

* Enable B306 (mktemp), B307 (eval), and B325 (tempnam), no issues to address
2020-01-20 18:44:55 +02:00
Franck Nijhof
6cf20fc7fa Fix deCONZ update entry from Hassio discovery (#31015)
* Fix deCONZ update entry from Hassio discovery

* Empty commit to re-trigger build
2020-01-20 08:18:10 -08:00
Franck Nijhof
f7a97dae2d Adds missing strings to Withings (#31012) 2020-01-20 16:26:44 +01:00
Franck Nijhof
d2b0031f55 Adds missing strings to Almond (#31013) 2020-01-20 16:26:06 +01:00
David Bonnes
9b02ca96ba Small tweaks for evohome (#31007) 2020-01-20 13:39:02 +00:00
Bas Nijholt
a010577d6e Add kef supports_on option (#30937)
* add supports_on_off option

* modify support_kef inplace

* all speakers support turning off remotely
2020-01-20 14:24:13 +01:00
Josh Bendavid
a634e62dfc Minor fixes for webostv (#30998)
* restore emulation of play pause toggle

* add protection to notify setup

* add state check for power off to avoid switching tv back on
2020-01-20 10:43:20 +01:00
Ronald Dehuysser
053f18d6ce Add attributes departure_minutes and delay_minutes to the nmbs sensor (#30958)
* Improve sensor for automations

I've updated the sensor so that departure time and delay can be used in automatons.

Before, the departure time and delay time were only available wrapped in strings which makes it difficult to use them in automations. Using the extra attributes, one can easily use them in automations.

* Update homeassistant/components/nmbs/sensor.py

Co-Authored-By: springstan <46536646+springstan@users.noreply.github.com>

* Updates based on review

Changed min to minutes as requested

Co-authored-by: springstan <46536646+springstan@users.noreply.github.com>
2020-01-20 09:51:59 +01:00
Aaron Bach
9993333bf9 Add state reproduction to remotes (#30990) 2020-01-19 23:08:32 -08:00
Jeff Irion
bb37f7bb75 Fix capability_attributes when supported_features is None (#30993)
* Fix capability_attributes when supported_features is None (water_heater)

* Fix capability_attributes when supported_features is None (media_player)
2020-01-19 23:06:35 -08:00
Faucogney Anthony
b2212ad445 Add Derivative component (#26456)
* create derivation component

based on integration component
remove left and right

* Update test

(was'n saved)

* add some functionnal point test

* Change derivation to derivative

* Continue migration from derivation to derivative

* Add codeowners info

* fix tests typo and values

* Improve code from reviewer

add test case
fix test values
still a prefix issue that should not

* create derivation component

based on integration component
remove left and right

* Update test

(was'n saved)

* add some functionnal point test

* Change derivation to derivative

* Continue migration from derivation to derivative

* Add codeowners info

* fix tests typo and values

* Improve code from reviewer

add test case
fix test values
still a prefix issue that should not

* Update homeassistant/components/derivative/sensor.py

Fix test issue with unit of measurement

Co-Authored-By: Santobert <tobhaase@gmail.com>

* Fix review

Move ValueError to SyntaxError

* precise state test

* un comment original tests and remove error tests

* Fix isort issue

* Fix review

- update doc link
- migrate to general const import

* Rollback import conf_unit, just defined localy

Co-authored-by: Santobert <tobhaase@gmail.com>
2020-01-19 22:17:06 -08:00
zhumuht
5f31b48f1d print component import error to logfile (#30346) 2020-01-19 22:05:10 -08:00
Raman Gupta
e535133016 Fix options update during import config flow step for vizio component (Bugfix for #30653) (#30977)
* fix options update logic during import

* add missing tests

* fix abort reasons and strings, add missing test

* combine steps when testing esn already exists

* readd removed test

* no mock_coro_func needed

* add block_until_done and assert entry options
2020-01-19 20:13:15 -08:00
Paulus Schoutsen
0c3ffbe282 Add foundation for integration services (#30813)
* Add foundation for integration services

* Fix tests

* Remove async_get_platform

* Migrate Sonos partially to EntityPlatform.async_register_entity_service

* Tweaks

* Move other Sonos services to media player domain

* Move other Sonos services to media player domain

* Address comments

* Remove lock

* Fix typos

* Use make_entity_service_schema

* Add area extraction to async_extract_entities

Co-authored-by: Anders Melchiorsen <amelchio@nogoto.net>
2020-01-19 17:55:18 -08:00
HomeAssistant Azure
f20b3515f2 [ci skip] Translation update 2020-01-20 00:31:55 +00:00
David Bonnes
a40a5a754b initial commit (#30968) 2020-01-19 14:29:15 -08:00
Paulus Schoutsen
ecef0f6e93 Catch all Ring timeout errors (#30960)
* Catch more Ring errors

* Fix comment & Disable wifi entities by default
2020-01-19 13:39:16 -08:00
steve-gombos
8fcd0e9a79 Ring camera fix (#30975)
* Fix ring camera entities

* Reverted test refresh interval

* Fix black errors
2020-01-19 13:18:11 -08:00
Paulus Schoutsen
765b45c81b Improve Wemo config entry support, add device info (#30963)
* Improve config entry support, add device info

* async_dispatch_connect

* Fix I/O in event loop

* Do not raise PlatformNotReady inside dispatcher

* Make main discovery process async

* Do discovery as part of set up.

* Greatly simplify set up

* Add parallel updates to fan&switch

* mini cleanup

* Address comments
2020-01-19 13:13:10 -08:00
Paulus Schoutsen
e4a53d3a08 Improve Wemo config entry support, add device info (#30963)
* Improve config entry support, add device info

* async_dispatch_connect

* Fix I/O in event loop

* Do not raise PlatformNotReady inside dispatcher

* Make main discovery process async

* Do discovery as part of set up.

* Greatly simplify set up

* Add parallel updates to fan&switch

* mini cleanup

* Address comments
2020-01-19 12:57:48 -08:00
Paulus Schoutsen
f14d34560e Improve Wemo config entry support, add device info (#30963)
* Improve config entry support, add device info

* async_dispatch_connect

* Fix I/O in event loop

* Do not raise PlatformNotReady inside dispatcher

* Make main discovery process async

* Do discovery as part of set up.

* Greatly simplify set up

* Add parallel updates to fan&switch

* mini cleanup

* Address comments
2020-01-19 12:56:31 -08:00
Jan De Luyck
90e811df20 Update emulated_roku to 0.2.0 (#30974) 2020-01-19 21:01:16 +01:00
Quentame
7c155731fc Fix can't add multiple iCloud accounts (remove account name) (#30898)
* Fix can't add multiple iCloud accounts (remove account name)

* Update tests with flow.async_init()
2020-01-19 14:19:46 +01:00
HomeAssistant Azure
6c84c126ea [ci skip] Translation update 2020-01-19 00:32:00 +00:00
David F. Mulcahey
078ce24e5a Add logical Zigbee device type to ZHA device info (#30954)
* add device type to device info
* capitalize
* use zigpy logical device type
2020-01-18 19:27:55 -05:00
ajmarks
656ef6566b Minor enhancements to jewish_calendar (#30632)
* Minor enhancement to jewish_calendar:
 - Expose more halachic times from the underlying hdate module
 - Correct and standardize some transliterations

* Undo breking name change

* Add icon for talit time

Co-authored-by: Andrew Marks <52414333+amarks-coatue@users.noreply.github.com>
2020-01-18 21:33:18 +01:00
Barry Williams
afb1b0cd3c Add play media support and Spotify control to Openhome (#28698) 2020-01-18 18:37:39 +01:00
Alexei Chetroi
26fb1ce255 Don't use unit_of_measurement in state attributes. (#30941) 2020-01-18 10:03:59 -05:00
springstan
4b67508330 Revert "Pulseaudio: Changed default port from 4712 to 4713 (#28857)" (#30939)
This reverts commit e915dd0d95.
2020-01-18 14:02:15 +01:00
David Bonnes
a037c1d788 Add services to evohome (#29816) 2020-01-18 12:21:22 +00:00
David Bonnes
bfa8cb760f Add services to geniushub (#30918)
adds:
 - `set_zone_override`, and
 - `set_zone_mode`
2020-01-18 12:14:50 +00:00
Raman Gupta
8630a076a7 Use default media player device classes for vizio component (#30802)
* use media player defined device classes instead of custom ones, add options flow test, add timeout options parameter

* make options update error more generic

* fix config flow options update logic

* simplify logic for options update during import

* use platform list for load and unload

* update private config flow function name and description

* fix grammar in strings.json

* update mock config variable names to be more accurate

* remove timeout conf option, create device_class property

* update requirements

* update .coveragerc to indicate that config_flow has tests

* fix source of device_class property and move constants to const.py

* fix grammar in error message

* remove redundant device check in async_setup_entry since device connection is checked during config flow

* revert change to async_setup_entry, raise ConfigEntryNotReady if device can't be connected to

* update error text

* add more context to error text
2020-01-18 09:15:05 +01:00
springstan
52cee84c2c Update outdated documentation links in json files (#30916) 2020-01-17 21:41:42 -08:00
Alexei Chetroi
3bf657284c Refactor rounding for ZHA electrical measurement sensor (#30923) 2020-01-17 20:53:31 -05:00
Alexei Chetroi
58520aa733 Add battery voltage state attribute for ZHA devices (#30901)
* Add battery voltage state attribute for ZHA devices.

* Pylint.
2020-01-17 19:43:02 -05:00
Paulus Schoutsen
7ef7d1dfd0 Merge pull request #30925 from home-assistant/rc
0.104.2
2020-01-17 16:32:18 -08:00
HomeAssistant Azure
4d7c8e254b [ci skip] Translation update 2020-01-18 00:31:52 +00:00
Paulus Schoutsen
2c915af348 Bumped version to 0.104.2 2020-01-17 15:48:27 -08:00
Paulus Schoutsen
2b733917a4 Fix hue accepting filename (#30924) 2020-01-17 15:48:21 -08:00
Bram Kragten
353010712f pdated frontend to 20200108.2 (#30921) 2020-01-17 15:47:58 -08:00
Robert Svensson
07a0bc4abe Fix service device refresh calling state update (#30920) 2020-01-17 15:46:10 -08:00
Paulus Schoutsen
f9b48844e6 camera endpoint likes to timeout, catch it. (#30919) 2020-01-17 15:46:10 -08:00
ochlocracy
6053d02e44 Fix Alexa semantics for covers with tilt support. (#30911)
* Fix Alexa semantics for covers with tilt support.

* Clarify wording.

* Korrect grammar.
2020-01-17 15:45:41 -08:00
Robert Svensson
6ac33e5c7b Fix issue with group unique id when normalising bridge id (#30904) 2020-01-17 15:44:09 -08:00
SukramJ
586566e6ab Fix missing switch groups of HomematicIP Cloud (#30903) 2020-01-17 15:44:08 -08:00
David F. Mulcahey
5a46adfebf add multistate back (#30889) 2020-01-17 15:44:07 -08:00
Paulus Schoutsen
9f20185cee Fix hue accepting filename (#30924) 2020-01-17 15:38:38 -08:00
Robert Svensson
c9db21ffac Fix service device refresh calling state update (#30920) 2020-01-17 15:33:46 -08:00
Robert Svensson
7b29a498c6 Fix issue with group unique id when normalising bridge id (#30904) 2020-01-17 15:28:34 -08:00
ochlocracy
1d41cf96ca Fix Alexa semantics for covers with tilt support. (#30911)
* Fix Alexa semantics for covers with tilt support.

* Clarify wording.

* Korrect grammar.
2020-01-17 15:04:46 -08:00
Bram Kragten
e33698b17d Updated frontend to 20200108.2 (#30921) 2020-01-17 14:54:53 -08:00
Paulus Schoutsen
8cacef47f3 camera endpoint likes to timeout, catch it. (#30919) 2020-01-17 14:54:32 -08:00
Joakim Sørensen
a5a69bdf71 Adds icon endpoint to NO_AUTH (#30910)
* Adds icon endpoint to NO_AUTH

* Add test for no_auth icon get

* Blackout
2020-01-17 13:54:28 -08:00
Peter Nijssen
196bf2f3a0 remove PostNL component as it is no longer working (#30902) 2020-01-17 12:51:32 -08:00
Aaron Bach
847196dbe8 Remove option to configure SimpliSafe scan interval (#30909)
* Enforce minimum scan interval for SimpliSafe

* Remove scan interval all together

* Fix tests
2020-01-17 13:43:41 -07:00
David F. Mulcahey
31996120dd add multistate back (#30889) 2020-01-17 13:06:10 -05:00
SukramJ
d913d35fc3 Fix missing switch groups of HomematicIP Cloud (#30903) 2020-01-17 18:37:32 +01:00
Alexei Chetroi
8a78b65f0d Extract collection entity registry cleaner into a helper (#30844)
* Extract entity_registry_keeper into separate helper
* Refactor input_*, timer and person to use new helper.
* Make Mypy happy.
* Better name.
2020-01-17 11:41:46 -05:00
cgtobi
da368f0cb8 Update pyatmo to 3.2.2 and add available attribute (#30882)
* Update pyatmo to 3.2.1

* Update pyatmo to 3.2.2

* Remove accidentally added requirements

* Add availability property
2020-01-17 17:08:30 +01:00
Raman Gupta
d63ea198f2 Bump pyvizio version to 0.1.1 (#30867)
* bump pyvizio version to resolve setup issue

* update requirements*.txt
2020-01-17 08:48:59 +01:00
HomeAssistant Azure
24a381456a [ci skip] Translation update 2020-01-17 00:31:45 +00:00
Daniel Shokouhi
6678f8387f Remove unused import (#30858) 2020-01-16 16:26:10 -08:00
Paulus Schoutsen
09f7a09ce7 Merge pull request #30853 from home-assistant/rc
0.104.1
2020-01-16 12:47:51 -08:00
Aaron Bach
e2e01f5020 Fix sensor type creation with multiple Ambient weather stations (#30850) 2020-01-16 11:38:10 -08:00
Per-Øyvind Bruun
0e1450838e Fix for issue #29822 (#30849) 2020-01-16 11:38:10 -08:00
Per-Øyvind Bruun
a93088dafb Fix for issue #29822 (#30849) 2020-01-16 11:37:53 -08:00
Aaron Bach
9bfcd04a4f Fix sensor type creation with multiple Ambient weather stations (#30850) 2020-01-16 11:37:28 -08:00
Paulus Schoutsen
006419b96c Whitelist Frenck for release 2020-01-16 11:36:01 -08:00
Paulus Schoutsen
3f54533e72 Bumped version to 0.104.1 2020-01-16 11:33:54 -08:00
Paulus Schoutsen
cc126761e1 Reinstate and deprecate filename option for hue config (#30846) 2020-01-16 11:33:47 -08:00
Quentame
8fdf68c8d1 Fix iCloud when no family members (issue #30829) (#30836) 2020-01-16 11:33:46 -08:00
Josh Bendavid
6a8582750c Fix play_media in webostv (#30828) 2020-01-16 11:33:45 -08:00
Pascal Vizeli
5b51f740df Fix mpd time issue (#30825)
* Fix mpd time issue

* Update homeassistant/components/mpd/media_player.py

Co-Authored-By: Franck Nijhof <git@frenck.dev>
2020-01-16 11:33:45 -08:00
Paulus Schoutsen
881b35f9d6 Handle no host info in ignored config entries (#30822) 2020-01-16 11:33:44 -08:00
springstan
8f852bd656 Fix setup error of Mikrotik (#30810) 2020-01-16 11:33:43 -08:00
Josh Bendavid
368d04b2a1 update to aiopylgtv 0.2.7 (#30797) 2020-01-16 11:33:42 -08:00
Jan De Luyck
6d83dafff2 Update emulated_roku to 0.1.9 (#30791)
* Update emulated_roku to 0.1.9

* Update requirements_all
2020-01-16 11:33:42 -08:00
Paulus Schoutsen
7da84dca76 Reinstate and deprecate filename option for hue config (#30846) 2020-01-16 11:28:35 -08:00
Franck Nijhof
2a65da5db2 Deprecate history_graph integration (#30835) 2020-01-16 10:31:18 -08:00
Franck Nijhof
8861c80068 Deprecate hide_if_away from device_tracker (#30833) 2020-01-16 10:31:00 -08:00
Quentame
04b7d9e848 Fix iCloud when no family members (issue #30829) (#30836) 2020-01-16 09:27:43 -08:00
Franck Nijhof
235ab64066 Deprecate weblink integration (#30834) 2020-01-16 09:25:49 -08:00
Franck Nijhof
4544665749 Deprecate states UI options in group integration (#30831) 2020-01-16 09:25:39 -08:00
Paulus Schoutsen
e1205409f3 Handle location API being exhausted (#30798) 2020-01-16 17:31:12 +01:00
Alexei Chetroi
d9d5e06baf Use collection helpers for input_datetime component (#30815)
* Refactor input_datetime.
Keep the state as datetime, but format accordingly to has_time and
has_date.

* Use config dict for input_datetime.
* Add tests.
* Lint
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-01-16 09:16:57 -05:00
Josh Bendavid
d1da653e62 Fix play_media in webostv (#30828) 2020-01-16 12:30:55 +01:00
Pascal Vizeli
bef8600972 Fix mpd time issue (#30825)
* Fix mpd time issue

* Update homeassistant/components/mpd/media_player.py

Co-Authored-By: Franck Nijhof <git@frenck.dev>
2020-01-16 11:20:58 +01:00
springstan
9d5a391916 Fix setup error of Mikrotik (#30810) 2020-01-16 10:48:47 +01:00
Paulus Schoutsen
6f24fe3970 Handle no host info in ignored config entries (#30822) 2020-01-16 10:19:38 +01:00
Rick van Hattem
1566d963a8 Fixed pyyaml requirement from 5.2.0 to 5.2 (#30808) 2020-01-15 20:16:26 -05:00
HomeAssistant Azure
01520a32d3 [ci skip] Translation update 2020-01-16 00:31:45 +00:00
Franck Nijhof
b42134bbce Merge branch 'master' into dev 2020-01-15 22:18:51 +01:00
Franck Nijhof
4bb319e658 0.104.0 (#30803)
0.104.0
2020-01-15 21:38:22 +01:00
MatthewFlamm
b8feaba5cb Update pynws to v0.10.1 (#30662)
* update to pynws 0.10.1

* remove unneeded raw json files

* move test helper module to const
2020-01-15 12:01:47 -08:00
springstan
3899c6ae27 Bump librouteros to 3.0.0 (#30800) 2020-01-15 11:54:20 -08:00
Franck Nijhof
1e2c3cacf9 Mark hide_entity deprecated in automation integration (#30799) 2020-01-15 11:53:52 -08:00
Franck Nijhof
3d9b6332c8 Bumped version to 0.104.0 2020-01-15 20:22:09 +01:00
Jc2k
1a6535ff8b Restore unit_of_measurement from entity registry (#30780)
* Restore unit_of_measurement from entity registry

* Lint fix
2020-01-15 20:17:42 +01:00
Paulus Schoutsen
3fd14ca3cf Refactor Ring data handling (#30777)
* Refactor Ring data handling

* Add async_ to methods
2020-01-15 20:17:36 +01:00
Pascal Vizeli
1c70435df6 Revert #29701 (#30766)
* Revert #29701

* fix format

* Fix lint
2020-01-15 20:17:28 +01:00
Josh Bendavid
5393300086 update to aiopylgtv 0.2.7 (#30797) 2020-01-15 10:48:30 -08:00
ochlocracy
bb42ff93f4 Add support for vacuums to Alexa. (#30764) 2020-01-15 09:15:31 -08:00
Paulus Schoutsen
1e82813c3b Refactor Ring data handling (#30777)
* Refactor Ring data handling

* Add async_ to methods
2020-01-15 08:10:42 -08:00
Jc2k
de26108b23 Restore unit_of_measurement from entity registry (#30780)
* Restore unit_of_measurement from entity registry

* Lint fix
2020-01-15 08:09:05 -08:00
Miroslav Ždrale
36796ef649 Update pyubee to 0.8 (#30785) 2020-01-15 16:24:06 +01:00
Jan De Luyck
41469cec6c Update emulated_roku to 0.1.9 (#30791)
* Update emulated_roku to 0.1.9

* Update requirements_all
2020-01-15 16:21:55 +01:00
Raman Gupta
ac771addc1 Add Config Flow support, Device Registry support, available property to vizio component (#30653)
* add config flow support, device registry support, available property

* raise PlatformNotReady if HA cant connect to device

* remove test logging statement and fix integration title

* store import and last user input values so user can see errors next to value that caused error

* add PARALLEL_UPDATES

* add missing type hints

* add missing type hints to tests

* fix options config flow title

* changes based on review

* better key name for message when cant connect

* fix missed update to key name

* fix comments

* remove logger from test which was used to debug and update test function names and docstrings to be more accurate

* add __init__.py to vizio tests module

* readded options flow and updated main component to handle options updates, set unique ID to serial, fixes based on review

* pop hass.data in media_player unload instead of in __init__ since it is set in media_player

* update requirements_all and requirements_test_all

* make unique_id key name a constant

* remove additional line breaks after docstrings

* unload entries during test_user_flow and test_import_flow tests to hopefully reduce teardown time

* try to speed up tests

* remove unnecessary code, use event bus to track options updates, move patches to pytest fixtures and fix patch scoping

* fix comment

* remove translations from commit

* suppress API error logging when checking for device availability as it can spam logs

* update requirements_all and requirements_test_all

* dont pass hass to entity since it is passed to entity anyway, remove entity unload from tests, other misc changes from review

* fix clearing listeners

* use config_entry unique ID for unique ID and use config_entry entry ID as update signal

* update config flow based on suggested changes

* update volume step on config import if it doesn't match config_entry volume step

* update config_entry data and options with new volume step value

* copy entry.data and entry.options before updating when updating config_entry

* fix test_import_entity_already_configured
2020-01-15 11:43:55 +01:00
Alexei Chetroi
5fa7d6f22a Allow input_* and timer component setup without config (#30772)
* Allow input_boolean setup without config.

* Allow input_number setup without config.

* Allow input_select setup without config.

* Allow input_text setup without config.

* Allow timer setup without config.
2020-01-14 22:15:59 -05:00
Bram Kragten
8af946fba5 Search: Add search to default config and don't resolve area (#30762)
* Add search to default config and don't resolve area

* Move to frontend

* Minor update

Co-authored-by: Jason Hu <awarecan@users.noreply.github.com>
2020-01-14 18:36:21 -08:00
HomeAssistant Azure
8093da6a0c [ci skip] Translation update 2020-01-15 00:31:56 +00:00
Alexei Chetroi
0a7feba855 Use storage based collections for Timer platform (#30765)
* Use config dict for timer entity.

* Manage timer entities using collection helpers.

* Add tests.

* Make Timer duration JSON serializable.
2020-01-14 15:32:48 -08:00
Josef Schlehofer
6f84723fec Upgrade youtube_dl to version 2020.01.15 (#30767) 2020-01-14 15:31:51 -08:00
Paulus Schoutsen
fbf5e320f7 Whitelist Frenck for release 2020-01-14 15:06:30 -08:00
Pascal Vizeli
4731f7c721 Hass.io allow to reset password with CLI (#30755)
* Hass.io allow to reset passwort with CLI

* Add improvments

* fix comments

* fix lint

* Fix tests

* more tests

* Address comments

* sort imports

* fix test python37
2020-01-14 23:49:56 +01:00
Pascal Vizeli
9f62b58929 Revert #29701 (#30766)
* Revert #29701

* fix format

* Fix lint
2020-01-14 23:02:49 +01:00
Paulus Schoutsen
5fdc60e067 Add Safe Mode (#30723)
* Store last working HTTP settings

* Add safe mode

* Fix tests

* Add cloud to safe mode

* Update logging text

* Fix camera tests leaving files behind

* Make emulated_hue tests not leave files behind

* Make logbook tests not leave files behind

* Make tts tests not leave files behind

* Make image_processing tests not leave files behind

* Make manual_mqtt tests not leave files behind
2020-01-14 13:03:02 -08:00
Paulus Schoutsen
8dbdf0b0e1 Bumped version to 0.104.0b5 2020-01-14 12:59:50 -08:00
Franck Nijhof
fe9c85aaf1 Fix HomeKit behavior with lights supporting color and temperature (#30756) 2020-01-14 12:59:41 -08:00
Bas Nijholt
9de800ab6a bump aiokef to 0.2.5 which uses locks (#30753) 2020-01-14 12:59:41 -08:00
Pascal Vizeli
f530ea10af Refactor HomeMatic / Fix issue with 0.104/dev (#30752)
* Refactor HomeMatic / Fix issue with 0.104/dev

* Fix lock
2020-01-14 12:59:40 -08:00
Daniel Perna
64224f46ec Update pyhomematic to 0.1.63 (#30594) 2020-01-14 12:59:39 -08:00
Alan Tse
413545bd91 Bump teslajsonpy to 0.2.3 (#30750) 2020-01-14 12:57:34 -08:00
Paulus Schoutsen
f5af77d00c Set default locale for cloud Alexa config (#30749) 2020-01-14 12:57:33 -08:00
Paulus Schoutsen
4bc520c724 Update Ring to 0.6.0 (#30748)
* Update Ring to 0.6.0

* Update sensor tests

* update -> async_update

* Delete temp files

* Address comments

* Final tweaks

* Remove stale print
2020-01-14 12:57:32 -08:00
David F. Mulcahey
8e5f46d5b5 Bump ZHA quirks to 0.0.31 (#30740)
* Bump ZHA quirks version

* update requirements
2020-01-14 12:57:31 -08:00
Josh Bendavid
9fa0779c1f update aiopylgtv to 0.2.6 (#30739) 2020-01-14 12:57:30 -08:00
Josh Bendavid
c138a93454 update aiopylgtv to 0.2.5 (#30702) 2020-01-14 12:57:30 -08:00
Paulus Schoutsen
c6b96f7250 Fix Ring wifi sensors (#30735)
* Fix Ring wifi sensors

* Update before adding
2020-01-14 12:56:01 -08:00
Phil Bruckner
4a8ecb82a8 Revert "Forget auth token when going offline so we can reconnect (#26630)" (#30705)
This reverts commit 2d6d6ba90e.
2020-01-14 12:56:00 -08:00
Franck Nijhof
80f3cb7d79 Fix discovery for oauth2 flow implementations (#30700)
* Fix discovery for oauth2 flow implementations

* Fix user step

* Add tests
2020-01-14 12:55:59 -08:00
Paulus Schoutsen
c4673ddee1 Update Ring to 0.6.0 (#30748)
* Update Ring to 0.6.0

* Update sensor tests

* update -> async_update

* Delete temp files

* Address comments

* Final tweaks

* Remove stale print
2020-01-14 12:54:45 -08:00
Tim Rightnour
ba3c3057da Add support for the voltage sensor on the greeneye GEM (#30484)
* Add support for the voltage sensor on the greeneye GEM

* Changed per suggestion @springstan
2020-01-14 20:46:04 +01:00
springstan
297c360d04 Fix supported_features in MQTT fan (#28680)
* Added custom validator function for speed list

* Replace CONF_SPEED_STATE_TOPIC with CONF_SPEED_COMMAND_TOPIC to determine SUPPORT_SET_SPEED

* Revert "Added custom validator function for speed list"

This reverts commit f000396fa6.

* Replace CONF_OSCILLATION_STATE_TOPIC with CONF_OSCILLATION_COMMAND_TOPIC to determine SUPPORT_OSCILLATE
2020-01-14 09:17:44 -08:00
Akın Ömeroğlu
0b8a269b23 Fix small typo in alarmdotcom component (#30758) 2020-01-14 17:47:59 +01:00
Bas Nijholt
a26fef38a2 bump aiokef to 0.2.5 which uses locks (#30753) 2020-01-14 17:41:52 +01:00
Franck Nijhof
6b49bea6c4 Fix HomeKit behavior with lights supporting color and temperature (#30756) 2020-01-14 07:09:35 -08:00
Alan Tse
aeb789ddcc Bump teslajsonpy to 0.2.3 (#30750) 2020-01-14 11:27:49 +01:00
Pascal Vizeli
ced6df158b Refactor HomeMatic / Fix issue with 0.104/dev (#30752)
* Refactor HomeMatic / Fix issue with 0.104/dev

* Fix lock
2020-01-14 11:26:59 +01:00
Bas Delfos
0d688faa56 Fix 'NewIPAddress' error in component fritz (#30210)
* Fix 'NewIPAddress' error in component fritzbox

* Upgrade to fritzconnection 1.2.0
2020-01-14 09:46:16 +01:00
Paulus Schoutsen
1e3b3ecbe6 Set default locale for cloud Alexa config (#30749) 2020-01-14 08:33:45 +01:00
HomeAssistant Azure
f9fe91ee74 [ci skip] Translation update 2020-01-14 00:31:46 +00:00
Steven Looman
75f0fedd68 Fix translation from HA playlist to UPnP playlistItem (#30743) 2020-01-13 23:52:49 +01:00
Franck Nijhof
658d338058 Removes Cisco Spark integration (#30738) 2020-01-13 10:23:26 -08:00
Josh Bendavid
f639a8fbaa update aiopylgtv to 0.2.6 (#30739) 2020-01-13 13:11:06 -05:00
David F. Mulcahey
1b730b3055 Bump ZHA quirks to 0.0.31 (#30740)
* Bump ZHA quirks version

* update requirements
2020-01-13 13:10:22 -05:00
Paulus Schoutsen
10e89bbc8c Fix Ring wifi sensors (#30735)
* Fix Ring wifi sensors

* Update before adding
2020-01-13 09:13:46 -08:00
Paulus Schoutsen
f50714d7e9 Update config flow test scaffolding (#30694)
* Update config flow test scaffolding

* asyncpatch -> patch

* Update classname
2020-01-13 15:20:25 +01:00
Franck Nijhof
040b283a14 Fix hassfest allowing omitting discovery methods when using OAuth2Flow (#30732) 2020-01-13 05:36:47 -08:00
Paulus Schoutsen
1f9d6ba541 Update Hue SSDP discovery (#30695) 2020-01-13 05:30:07 -08:00
Franck Nijhof
1b739f9555 Removes unneeded abort if unique id in Oauth2 discovery flow (#30733) 2020-01-13 05:29:19 -08:00
michaeldavie
3c2b57afaf Bump env_canada to 0.0.34 (#30713) 2020-01-13 14:27:53 +01:00
Franck Nijhof
7143ed7ceb Remove hidden property from fibaro integration (#30730) 2020-01-13 14:23:08 +01:00
Franck Nijhof
0c14d4e067 Remove hidden property from emby integration (#30729) 2020-01-13 14:22:48 +01:00
Franck Nijhof
c8a52d4566 Remove hidden property from egardia integration (#30728) 2020-01-13 14:22:06 +01:00
Franck Nijhof
3df329b8ec Bump apprise to 0.8.3 (#30731) 2020-01-13 08:20:09 -05:00
Franck Nijhof
56dc5298fc Remove hidden property from xiaomi_miio.remote integration (#30727) 2020-01-13 13:50:01 +01:00
Maciej Bieniek
15645ab0c9 Add unique ID to Airly config entries (#30681)
* Add unique ID to Airly config entries

* Update tests

* Update tests

* Fix typo

* Remove unnecesary and undo changes in first test

* Suggested change
2020-01-13 13:28:07 +01:00
zewelor
ce13fb8d73 Support yeelight color light with nightlight (#30194)
* Support color light with nightlight

* Better nightlight mode support check

* Lint fixes

* Remove brightness control for color light with nightlight mode
2020-01-13 06:03:48 +01:00
Franck Nijhof
96c11bc6d7 Unhide SPC binary sensors by default (#30699) 2020-01-12 20:47:07 -08:00
Aaron Bach
b585feb109 Consolidate SimpliSafe property services (#30567)
* Consolidate SimpliSafe property services

* Code review comments

* Code review comments

* Ensure all services are admin services

* Code review comments
2020-01-12 21:32:08 -07:00
Quentame
123bef4f1e Fix SynologyDSM sensor if network_sensors is None (#30718) 2020-01-13 04:42:37 +01:00
HomeAssistant Azure
0534153ae7 [ci skip] Translation update 2020-01-13 00:31:54 +00:00
Phil Bruckner
89c04c94e0 Revert "Forget auth token when going offline so we can reconnect (#26630)" (#30705)
This reverts commit 2d6d6ba90e.
2020-01-12 14:21:07 -06:00
Yarmo Mackenbach
96bf8bc395 Update NSAPI to version 3.0.0 (#30599)
* Updated NSAPI to version 3.0.0

* Fixed code style error

* Restructured API access

* Improved construction of attributes

* Fixed handling of API output

* Added @YarmoM as code owner

* Updated CODEOWNERS

* Reverted changes for full backwards compatibility

* Fixed bad conditional

* Simplify conditional
2020-01-12 20:30:26 +01:00
Bogdan Vlaicu
5f5e8d81e1 Bumped oru to 0.1.11 (adds a timeout to the api request) (#30704) 2020-01-12 17:55:33 +01:00
Josh Bendavid
c798413971 update aiopylgtv to 0.2.5 (#30702) 2020-01-12 17:55:11 +01:00
Franck Nijhof
6729902010 Fix discovery for oauth2 flow implementations (#30700)
* Fix discovery for oauth2 flow implementations

* Fix user step

* Add tests
2020-01-12 07:37:34 -08:00
Paulus Schoutsen
1b89fef888 Bumped version to 0.104.0b4 2020-01-11 20:16:43 -08:00
Paulus Schoutsen
3715f821d7 Fix update person validation (#30691) 2020-01-11 20:16:18 -08:00
Paulus Schoutsen
dc57d670d8 Log error when integration is missing platform setup (#30690) 2020-01-11 20:16:17 -08:00
Paulus Schoutsen
c00af14ee2 Ring OTP improvement (#30688)
* Fix otp flow

* Update Ring to 0.5

Co-authored-by: steve-gombos <3118886+steve-gombos@users.noreply.github.com>
2020-01-11 20:16:17 -08:00
SukramJ
b383a5195f Fix Error with HomematicIP Cloud Cover (#30667) 2020-01-11 20:16:16 -08:00
SukramJ
4c5ea54df9 Fix Error with HomematicIP Cloud Cover (#30667) 2020-01-11 20:01:13 -08:00
Martin Hjelmare
030a399b09 Make hue config flow tests more robust (#30678)
* Make hue config flow tests robust

* Fix io on setup

* Update last tests
2020-01-11 20:00:49 -08:00
Martin Hjelmare
91f738127d Make met config flow tests robust (#30689)
* Make met config flow tests more robust

* Fix test with default form values

* Remove not needed test

* Clean create entry test

* Clean double test

* Clean last tests

* Fix docstring
2020-01-11 20:00:02 -08:00
Paulus Schoutsen
117efb5a04 Fix update person validation (#30691) 2020-01-11 19:59:43 -08:00
inputd
4dc39492a5 Drop timer component microseconds (#30198)
* Update __init__.py
2020-01-11 22:55:28 -05:00
Bill Durr
4d6417295b ZHA cover device support (#30639)
* ZHA cover device support
* flake8
* flake8, black
* isort
* pylint
* more test
* use zigpy provided functions
* black
* handle command errors, better state handling
* black
* more test
* lint
* Update ZHA cover tests coverage.
Co-authored-by: Alexei Chetroi <lexoid@gmail.com>
2020-01-11 22:42:14 -05:00
Robert Van Gorkom
a0b0dc0aca Optimistically set tplink light states (#30189)
* Optimistically handling state changes.
Using retries when command fail.

* Fixing endless update loop.

* Address PR comments.
2020-01-12 03:45:01 +01:00
Paulus Schoutsen
9266fc0cd7 Ring OTP improvement (#30688)
* Fix otp flow

* Update Ring to 0.5

Co-authored-by: steve-gombos <3118886+steve-gombos@users.noreply.github.com>
2020-01-11 18:22:08 -08:00
Paulus Schoutsen
abe727fbbc Log error when integration is missing platform setup (#30690) 2020-01-11 18:21:57 -08:00
Robert Van Gorkom
672db9cfe9 Fixing unit of measure for withings hydration. Fixes #30570 (#30685) 2020-01-11 20:58:06 -05:00
HomeAssistant Azure
8b46b5591f [ci skip] Translation update 2020-01-12 00:32:04 +00:00
Paulus Schoutsen
e3b37c44d6 Bumped version to 0.104.0b3 2020-01-11 16:17:03 -08:00
Paulus Schoutsen
718f3438ea Upgrade Ring to new version (#30666)
* Upgrade Ring to new version

* Move legacy cleanup down

* Fix test
2020-01-11 16:16:58 -08:00
Paulus Schoutsen
7073b0eb88 Upgrade Ring to new version (#30666)
* Upgrade Ring to new version

* Move legacy cleanup down

* Fix test
2020-01-11 16:04:39 -08:00
Alexei Chetroi
4972b249bf Use collection helpers for input_text entities (#30633)
* Refactor input_text to use config dict.
* Use collections for input_text.
* Update homeassistant/components/input_text/__init__.py
Better logging names.
Co-Authored-By: Paulus Schoutsen <paulus@home-assistant.io>

* Update homeassistant/components/input_text/__init__.py
Correct artifacts.
Co-Authored-By: Paulus Schoutsen <paulus@home-assistant.io>

* Update homeassistant/components/input_text/__init__.py
Co-Authored-By: Paulus Schoutsen <paulus@home-assistant.io>

* Cleanup.
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-01-11 17:37:39 -05:00
Ville Skyttä
4a66eb0a69 Upgrade huawei-lte-api to 1.4.6 (#30683)
https://github.com/Salamek/huawei-lte-api/releases/tag/1.4.6
https://github.com/Salamek/huawei-lte-api/releases/tag/1.4.5
2020-01-11 23:36:40 +01:00
Quentame
519c1fa2da Update iCloud sensors when service finish its update (#30680)
* Update iCloud sensors when needed

* Add sensor should_poll
2020-01-11 23:12:55 +01:00
Ville Skyttä
62f53b656d Fix test_scenes_with_entity (#30684)
Don't assume any particular order for returned scenes; it's undefined
(currently uses dict values()).
2020-01-11 22:25:59 +01:00
Alexei Chetroi
7d506bc38b Use storage collections for input_select entity management (#30604)
* Refactor input_select to use _config dict.
* Use collections for input_select.
* Add tests.
* Move async_setup to top.
* Cleanup.
* async_write_ha_state()
* Update homeassistant/components/input_select/__init__.py
Co-Authored-By: Paulus Schoutsen <paulus@home-assistant.io>
2020-01-11 11:37:57 -05:00
cgtobi
e793ed9ab0 Refactor Netatmo integration (#29851)
* Refactor to use ids in data class

* Use station_id

* Refactor Netatmo to use oauth

* Remove old code

* Clean up

* Clean up

* Clean up

* Refactor binary sensor

* Add initial light implementation

* Add discovery

* Add set schedule service back in

* Add discovery via homekit

* More work on the light

* Fix set schedule service

* Clean up

* Remove unnecessary code

* Add support for multiple entities/accounts

* Fix MANUFACTURER typo

* Remove multiline inline if statement

* Only add tags when camera type is welcome

* Remove on/off as it's currently broken

* Fix camera turn_on/off

* Fix debug message

* Refactor some camera code

* Refactor camera methods

* Remove old code

* Rename method

* Update persons regularly

* Remove unused code

* Refactor method

* Fix isort

* Add english strings

* Catch NoDevice exception

* Fix unique id and only add sensors for tags if present

* Address comments

* Remove ToDo comment

* Add set_light_auto back in

* Add debug info

* Fix multiple camera issue

* Move camera light service to camera

* Only allow camera entities

* Make test pass

* Upgrade pyatmo module to 3.2.0

* Update requirements

* Remove list comprehension

* Remove guideline violating code

* Remove stale code

* Rename devices to entities

* Remove light platform

* Remove commented code

* Exclude files from coverage

* Remove unused code

* Fix unique id

* Address comments

* Fix comments

* Exclude sensor as well

* Add another test

* Use core interfaces
2020-01-11 12:20:00 +01:00
etheralm
5ffbf55170 Add support for Dyson TP06 fan (#30611)
* initial commit

* update manifest.json

* update CODEOWNERS

* remove unnecessary else

* add rest of asserts for TP06 state test
2020-01-11 10:41:52 +01:00
Jörg Thalheim
b128814acf pushover: improve error when image download fails (#30615) 2020-01-11 10:36:50 +01:00
Alexei Chetroi
9c551ae85d Use storage based collections for input_number entities (#30576)
* Use collections for input_number.
* Add tests.
* Typo fix.
* Make editable a public attribute.
* Move async_setup to top.
* Update homeassistant/components/input_number/__init__.py
Co-Authored-By: Paulus Schoutsen <paulus@home-assistant.io>

* Update homeassistant/components/input_number/__init__.py
Co-Authored-By: Paulus Schoutsen <paulus@home-assistant.io>

* Cleanup.
* async_write_ha_state()
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-01-10 23:27:41 -05:00
Paulus Schoutsen
86bdba2ea2 Bumped version to 0.104.0b2 2020-01-10 20:18:35 -08:00
HomeAssistant Azure
77d184ee25 [ci skip] Translation update 2020-01-10 20:18:20 -08:00
HomeAssistant Azure
d0357ceecd [ci skip] Translation update 2020-01-10 20:18:20 -08:00
HomeAssistant Azure
0fc2cce4dc [ci skip] Translation update 2020-01-10 20:18:20 -08:00
Dave T
80a1084f2d Update ON/OFF condition and triggers to match documentation and UI, issue #30462 (#30663) 2020-01-10 20:17:13 -08:00
Alexei Chetroi
2eff988a5c Fix ZHA temperature sensor restoration (#30661)
* Add test for restoring state for zha temp.

* Don't restore unit of measurement for ZHA sensors.

Properly restore ZHA temperature sensor state.
2020-01-10 20:17:12 -08:00
Jc2k
449e6841a7 Fix HomeKit with entity registry restoration where supported_features is a non-None falsey (#30657)
* Fix homekit with #30094

* Fix test
2020-01-10 20:17:12 -08:00
Dave T
c1c90b8034 Update ON/OFF condition and triggers to match documentation and UI, issue #30462 (#30663) 2020-01-10 19:59:11 -08:00
Alexei Chetroi
008dddb17c Fix ZHA temperature sensor restoration (#30661)
* Add test for restoring state for zha temp.

* Don't restore unit of measurement for ZHA sensors.

Properly restore ZHA temperature sensor state.
2020-01-10 20:30:58 -05:00
ochlocracy
605b0ceb5f Add support for variable fan speed list length. (#30574) 2020-01-10 17:26:37 -08:00
Jc2k
669c89e8c0 Fix HomeKit with entity registry restoration where supported_features is a non-None falsey (#30657)
* Fix homekit with #30094

* Fix test
2020-01-10 16:33:48 -08:00
HomeAssistant Azure
d6512c8a9f [ci skip] Translation update 2020-01-11 00:31:55 +00:00
ochlocracy
74a198e37b Implement TimeHoldController Interface in Alexa (#30650)
* Implement Alexa.TimeHoldController Interface

* Add test for timer resume directive.
2020-01-10 23:11:50 +01:00
Paulus Schoutsen
f505310f11 Bumped version to 0.104.0b1 2020-01-10 13:37:13 -08:00
Phil Bruckner
626c01b4a0 Do not save last_seen if older than prev_seen (#30647)
Also add warnings when updates skipped similar to google_maps
2020-01-10 13:37:03 -08:00
springstan
c785b791a2 Bump Adafruit_BBIO to 1.1.1 (#30630) 2020-01-10 13:37:02 -08:00
Pascal Vizeli
a6492cc7bb Set body size for Proxy / streams to 16mb (#30608) 2020-01-10 13:37:02 -08:00
Robert Svensson
5a8311e9d8 Fix problem with restoring POE control (#30597) 2020-01-10 13:37:01 -08:00
Paulus Schoutsen
0b3b589457 Add Ring config flow (#30564)
* Add Ring config flow

* Address comments + migrate platforms to config entry

* Migrate camera too

* Address comments

* Fix order config flows

* setup -> async_setup
2020-01-10 13:36:34 -08:00
Paulus Schoutsen
e58b41ef23 Implement capability attributes (#30545)
* Implement capability attributes

* Fix HeOS update order

* Fix test
2020-01-10 13:35:44 -08:00
Phil Bruckner
c7e300e5b1 Fix upnp raw sensor state formatting when None (#30444) 2020-01-10 13:35:43 -08:00
NobleKangaroo
e2f591e5bc Remove self as Emulated Hue codeowner (#30654) 2020-01-10 22:35:18 +01:00
ochlocracy
d0062fc740 Fix Alexa ChangeReports Filter non-proactively_reported_properties (#30655)
* Fix Change Report Properties.

* Fix Change Report Properties.
2020-01-10 22:34:50 +01:00
Paulus Schoutsen
3f29c234b8 Add Ring config flow (#30564)
* Add Ring config flow

* Address comments + migrate platforms to config entry

* Migrate camera too

* Address comments

* Fix order config flows

* setup -> async_setup
2020-01-10 21:35:31 +01:00
Paulus Schoutsen
3348f4f6d1 Add search integration (#30511)
* Add search integration

* Add scenes and config entry support

* Update comments

* Add support for groups

* Allow querying config entry

* Update manifest

* Fix scene tests
2020-01-10 19:57:37 +01:00
Robert Svensson
d883ee62f8 deCONZ - Disable daylight sensor by default (#30625)
* Dont enable daylight sensor by default

* Fix tests
2020-01-10 19:57:08 +01:00
springstan
c13b461737 Bump Adafruit_BBIO to 1.1.1 (#30630) 2020-01-10 19:56:41 +01:00
Ville Skyttä
74cde3de6e Upgrade pydocstyle to 5.0.2 (#30648)
https://github.com/PyCQA/pydocstyle/blob/5.0.2/docs/release_notes.rst
2020-01-10 19:56:07 +01:00
Fabian Affolter
fb2e059346 Upgrade colorlog to 4.1.0 (#30642) 2020-01-10 19:55:49 +01:00
Phil Bruckner
d65f2ac31a Do not save last_seen if older than prev_seen (#30647)
Also add warnings when updates skipped similar to google_maps
2020-01-10 19:55:39 +01:00
Fabian Affolter
53a42ccd5d Upgrade pylast to 3.2.0 (#30644) 2020-01-10 16:59:40 +01:00
Fabian Affolter
5e3747a058 Upgrade shodan to 1.21.2 (#30641) 2020-01-10 16:58:13 +01:00
Fabian Affolter
ec1109329b Upgrade praw to 6.5.0 (#30643) 2020-01-10 16:57:52 +01:00
Raman Gupta
d25aa1f183 Convert vizio component from sync to async component (#30605)
* add device_info property and move component to async

* use new VizioAsync class to have proper async support

* remove hass from VizioDevice init since it is not needed

* update requirements_all

* missed type hint

* updates based on review

* pyvizio version bump

* additional fixes based on review

* mistake in last commit

* remove device_info property because it can't be used unless this integration has config flow support
2020-01-10 03:53:47 +01:00
escoand
ef05aa2f39 Add Samsung TV config flow (#28306)
* add config flow

* add tests

* add user step error handling

* remove unload function

* add missing test file

* handle authentication correctly

* remove old discovery mode

* better handling of remote class

* optimized abort messages

* add already configured test for user flow

* Import order

* use ip property instead context

* Black

* small syntax

* use snake_case

* Revert "use ip property instead context"

This reverts commit 91502407eb216f8a0b1b90e3e6fb165b81406f8f.

* disable wrong pylint errors

* disable wrong no-member

* Try to fix review comments

* Try to fix review comments

* Fix missing self

* Fix ip checks

* methods to functions

* simplify user check

* remove user errors

* use async_setup for config

* fix after rebase

* import config to user config flow

* patch all samsungctl

* fix after rebase

* fix notes

* remove unused variable

* ignore old setup function

* fix after merge

* pass configuration to import step

* isort

* fix recursion

* remove timeout config

* add turn on action (dry without testing)

* use upstream checks

* cleanup

* minor

* correctly await async method

* ignore unused import

* async call send_key

* Revert "async call send_key"

This reverts commit f37057819f.

* fix comments

* fix timeout test

* test turn on action

* Update media_player.py

* Update test_media_player.py

* Update test_media_player.py

* use async executor

* use newer ssdp data

* update manually configured with ssdp data

* dont setup component directly

* ensure list

* check updated device info

* Update config_flow.py

* Update __init__.py

* fix duplicate check

* simplified unique check

* move method detection to config_flow

* move unique test to init

* fix after real world test

* optimize config_validation

* update device_info on ssdp discovery

* cleaner update listener

* fix lint

* fix method signature

* add note for manual config to confirm message

* fix turn_on_action

* pass script

* patch delay

* remove device info update
2020-01-10 03:19:10 +01:00
HomeAssistant Azure
4fb36451c2 [ci skip] Translation update 2020-01-10 00:31:50 +00:00
Nathan
955aa1de39 Add INFO logging to generic_thermostat component for keep-alive turn … (#28740)
* Add INFO logging to generic_thermostat component for keep-alive turn on/off

* run black
2020-01-10 00:20:16 +01:00
tiagofreire-pt
7052cdded1 Change nomenclature for Roborock fan speeds (#30614)
* Change nomenclature for Roborock fan speeds 

* Update test_vacuum.py

* Update test_vacuum.py
2020-01-09 23:49:13 +01:00
Daniel Lashua
669844e4dd Check netgear device_tracker link_rate to ensure device is connected (#30581)
* check link_rate to ensure device is connected

* black
2020-01-09 20:45:42 +01:00
Davide Varricchio
208a123c47 Update PYAEHW4A1 to version 0.3.4 (#30616)
* Update manifest.json

* Update requirements_all.txt

* Update requirements_test_all.txt
2020-01-09 13:07:23 -05:00
Nikolay Vasilchuk
f878fabd09 Fix TOD component incorrectly determining the state between sunrise and sunset (#30199)
* TOD fix

* Comment added

* Review

* Review

* Review
2020-01-09 17:17:16 +01:00
William Sutton
3a3d448f17 Add preset scheduling to radiothermostat (#29847)
* Added preset scheduling to radiothermostat. Added alternate scheduling & religious scheduling to climate/const.py

* Fix Flake8 Errors in climate.py

* Fixing more flake8 errors in climate.py

Removed duplicate set_preset_mode def

* Fixed more flake8 errors. 

Please be the end of these errors.

* Fixed black formatting

* Fixed black, broke flake8, fixed flake8

* Fixed CODE_TO_FAN_STATE black error

* Fixed isort issues

* Local isort broke black formatting

Docs should run isort before black. Default isort will undo certain black formatting.

* Removed last commas from imports

* Added removed line

* Fixed formatting

Hopefully this is what the CI pipeline is looking for.

* Ran isort from git repo root, utilizing setup.cfg.

* One more try

* fixed added definition and fixed logger string

* fixed formatting

* lost a close-paren

* Update const.py

Removed radiotherm specific presets

* Update climate.py

Moved preset definitions into radiotherm climate.py
2020-01-09 15:25:19 +01:00
Malte Franken
4149bd653d Fix statistics sensor honouring max_age (#27372)
* added update listener if max_age is set

* remove commented out code

* streamline test code

* schedule next update based on the next state to expire

* fixed update process

* isort

* fixed callback function

* fixed log message

* removed logging from test case
2020-01-09 14:03:27 +01:00
David Bonnes
a99135a09e tweak honeywell manifest (#30612) 2020-01-09 12:36:32 +00:00
Pascal Vizeli
a4c1114c8e Set body size for Proxy / streams to 16mb (#30608) 2020-01-09 11:09:34 +01:00
Martin Hjelmare
9ebf5ea413 Fix aurora import order (#30606) 2020-01-09 10:25:03 +01:00
Olen
290043aed6 Add neato boundary name to state if it exists (#29915)
* Add boundary name to state if it exists

If the robot is cleaning a pre defined area with a name, add the name to the state-attribute.

* Reformat patch

* Removing whitespace

* Even more formatting 

That black did not catch on first run...
2020-01-09 09:42:18 +01:00
Watchfox
6b7be35f4a Fix aurora sensor not converting latitude and longitude correctly (#28643) 2020-01-09 08:40:10 +01:00
Phil Bruckner
260596d11b Fix upnp raw sensor state formatting when None (#30444) 2020-01-09 06:51:30 +01:00
Alistair Galbraith
fe0b537291 Template alarm panel (#30487)
* Added support for template alarm panel

* Rewrote tests in new async format

* Fix stale docstring

* Update to tests, standardization on NAME vs FRIENDLY_NAME
2020-01-09 06:03:26 +01:00
HomeAssistant Azure
8062bed53e [ci skip] Translation update 2020-01-09 00:31:49 +00:00
Daniel Perna
9ce5c65b14 Update pyhomematic to 0.1.63 (#30594) 2020-01-09 00:32:57 +01:00
Robert Svensson
ff5f890e79 Fix problem with restoring POE control (#30597) 2020-01-08 22:33:51 +01:00
Matt Snyder
103d352b1f Add Doorbird events to logbook (#30588)
* Add Doorbird events to logbook

* Add logbook to dependencies
2020-01-08 21:27:48 +01:00
Paulus Schoutsen
ed6aef2fd7 Implement capability attributes (#30545)
* Implement capability attributes

* Fix HeOS update order

* Fix test
2020-01-08 21:22:56 +01:00
Paulus Schoutsen
4cd83e71dd Version bump to 0.105.0dev0 2020-01-08 21:07:04 +01:00
Paulus Schoutsen
5d850c5b19 Bumped version to 0.104.0b0 2020-01-08 21:06:22 +01:00
Paulus Schoutsen
95bc539bab Merge remote-tracking branch 'origin/master' into dev 2020-01-08 21:05:53 +01:00
Mariano Faraco
9e885112ec Add last_online and level attribute to steam online (#30321)
* Steam Online: Add last_online and Level attributes

* Steam Online: Add last_online and Level attributes

* Fixes from comments on initial pull request

* Push attributes only if they are not None
2020-01-08 21:04:42 +01:00
mohmacht
d048233776 The MFI Dimmer Switch model is missing from the list, causing the mfi Wall switches not to be recognized. (#30572)
Please add this one model to support my mfi switches, thank you.

 python 1.py dump_sensors --noverify
               Model |                Label |             Tag |      Value | Extra
------------------------------------------------------------------------------
       Dimmer Switch |        Bedroom2Light |      active_pwr |  22.047071 | 1.0
       Dimmer Switch |      LivingRoomLight |      active_pwr |        0.0 | 0.0
       Dimmer Switch |      FamilyRoomLight |      active_pwr |  42.803919 | 1.0
       Dimmer Switch |   MasterBedroomLight |      active_pwr |        0.0 | 0.0
2020-01-08 21:04:33 +01:00
fwestenberg
498bec4a61 Add Stookalert integration (#30306)
* Added Stookalert integration

* Added Stookalert integration

* Added Stookalert integration

* Solved comments

* Flake8 change

* Bump stookalert to version 1.1.2

* Fixed attributes and state

* Get method for private variables

*  Update to stookalert 0.1.4

* Code optimization

* Update requirements
2020-01-08 21:03:50 +01:00
Franck Nijhof
d659807b6f Fix WLED transition time unit (#30583) 2020-01-08 21:03:36 +01:00
Bram Kragten
6112092949 Updated frontend to 20200108.0 (#30591) 2020-01-08 21:02:07 +01:00
David Bonnes
2c1e354537 evohome: allow two round thermostats per gateway (#30589)
* bugfix issue #30517
* bump library, tweak name in manifest
* remove lint hint
2020-01-08 18:57:28 +00:00
Maciej Bieniek
4cd2e09fb3 Add missing string for already_configured in GIOS integration (#30590) 2020-01-08 19:44:03 +01:00
Franck Nijhof
120a96ff59 Bump adguardhome to 0.4.1 (#30586) 2020-01-08 10:48:57 -05:00
Maciej Bieniek
6e3e383b3f Add missing string for already_configured in Brother integration (#30584) 2020-01-08 16:15:05 +01:00
Franck Nijhof
0e9b414c26 Migrate Integration Quality Scale from docs to manifest (#30579) 2020-01-08 14:19:42 +01:00
Alexei Chetroi
ae8957ae12 Use more consts for person implementation (#30553)
* Use more consts for person implementation.

* Use ATTR_ENTITY_ID.
2020-01-08 07:35:34 -05:00
Santobert
3d7488d188 Trigger automation without skipping condition (#28484)
* Trigger automation without skipping condition

* [] instead of .get()

* Update __init__.py

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-01-08 10:36:11 +01:00
Robert Svensson
84a1afc785 deCONZ - Fix device automations (#30577) 2020-01-08 10:06:33 +01:00
Robert Svensson
0d48d682dc deCONZ - Make sensors sorted on creation for deterministic order (#30569)
* Make sensors sorted on creation for deterministic order

* Martins comment
2020-01-08 09:30:02 +01:00
Ernst Klamer
31553796da Bump pyRFXtrx to 0.25 (#30566) 2020-01-08 09:20:50 +01:00
Daniel Shokouhi
130a577e67 Add android repo to issue template (#30571) 2020-01-07 22:10:04 -05:00
HomeAssistant Azure
8b7ffcdaf1 [ci skip] Translation update 2020-01-08 00:31:50 +00:00
Bram Kragten
16199b7a52 Add command to delete lovelace config (#30558)
* Add command to delete lovelace config

* Test + decorator for WS
2020-01-07 22:59:04 +01:00
Bram Kragten
1ce662d699 Updated frontend to 20200107.0 (#30561) 2020-01-07 22:55:10 +01:00
Franck Nijhof
bfa0edaf92 Migrate Integration Quality Scale from docs to manifest: internal (#30551) 2020-01-07 20:58:49 +01:00
Sascha Kühndel
23700e4db8 Fix hue flashing innr lights (#29828) 2020-01-07 20:56:57 +01:00
FrengerH
83d18c183b Fix missing strings for deconz magic cube rotation support (#30552)
* Fix missing strings for deconz magic cube rotation

* Fix missing strings for deconz magic cube rotation
2020-01-07 19:06:25 +01:00
Aaron Bach
856db4d122 Fix incorrect Rainmachine dict lookups (#30550) 2020-01-07 10:43:12 -07:00
Paulus Schoutsen
9aa02e35a7 Entity Component to no longer generate automatic groups (#23789) 2020-01-07 17:30:53 +01:00
tetienne
13e6479b6e Ease code before adding color and temperature to light template (#30455)
* Split async_update

* Use pytest parameters to avoid duplicate code

* Fix UnboundLocalError

* Test error rendering for template state

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-01-07 17:22:42 +01:00
Franck Nijhof
e18426051b Add Integration Quality Scale to manifest (#30547) 2020-01-07 17:21:56 +01:00
SukramJ
a4c830b5e4 Add reset_energy_counter service to Homematic IP Cloud (#30256)
* Add reset_energy_counter service to Homematic IP Cloud

* Fix isort

* Register service as admin service
2020-01-07 10:24:46 -05:00
Aleix Murtra
1d1aa06d05 Add TMB sensor (#27964)
* Add TMB i-Bus sensor

* Raise exception if HTTP error

* Addressed comments

* Fixed format

* Fixed format

* Addressed comments

* Remove guard before add_entities method

* Remove unauthorized exception

* Make CONF_BUS_STOPS option required
2020-01-07 16:22:16 +01:00
Franck Nijhof
b4d6d238e5 Correct names in manifests (T-Z) (#30546) 2020-01-07 14:31:18 +01:00
springstan
a5cc08c8b6 Update featured integrations screenshot in README (#30134)
* Update featured integrations in README

* Update screenshot to include Somfy and exclude Almond

* Update outdated screenshot of featured components
2020-01-07 14:30:52 +01:00
Franck Nijhof
22760a0bee Correct names in manifests (Q-S) (#30543) 2020-01-07 08:19:44 -05:00
Paulus Schoutsen
b27e05fc8d Use capability attributes in climate (#30544)
Co-authored-by: Jc2k <john.carr@unrouted.co.uk>
2020-01-07 14:14:46 +01:00
Raman Gupta
a9f6dd698e Remove suppress_warning from config options for vizio component (#30536)
* move constants, move schema validation to init, prepare for zeroconf/config flow

* mistake in refactor

* update .coveragerc, move validate_auth to __init__, only attempt to get ESN if device setup is validated

* fix schema validation

* remove suppress warning config option

* remove config_flow from manifest since its not ready yet

* update requirements_all.txt

* fix issue with merge conflict
2020-01-07 13:31:13 +01:00
Jeff Irion
73af75cb41 Catch UnicodeDecodeError exceptions in 'androidtv.adb_command' service (#30538)
* Catch UnicodeDecodeError exceptions in 'androidtv.adb_command' service

* Replace "adb_command" with SERVICE_ADB_COMMAND
2020-01-07 13:30:34 +01:00
Jeff Irion
98bb400f3a Bump adb-shell to 0.1.1 and androidtv to 0.0.38 (#30539)
* Bump adb-shell to 0.1.1 and androidtv to 0.0.38

* Bump adb-shell to 0.1.1 and androidtv to 0.0.38

* Bump adb-shell to 0.1.1 and androidtv to 0.0.38
2020-01-07 13:30:15 +01:00
Franck Nijhof
dc02c28891 Correct names in manifests (M-P) (#30541) 2020-01-07 13:28:35 +01:00
Paulus Schoutsen
c963128306 Upgrade to use new version of HASS-nabucasa (#30506)
* Upgrade to use new version of HASS-nabucasa

* Update hass-nabucasa to 0.31
2020-01-07 13:25:57 +01:00
Casper
6dc49a44d9 Update manifest.json: Typo fixed (#30542) 2020-01-07 13:23:52 +01:00
Colin Frei
b3f429eefa Swiss Transport Data: Save delay on sensor (#30526) 2020-01-07 12:27:34 +01:00
Jason Ross
692e87f5cc Add venstar PIN to config and client initialization (#30300)
* Add PIN to config and client  initialization

* Fix Formatting Error

* update PLATFORM_SCHEMA validation with the new option.
2020-01-07 10:20:46 +01:00
Alexei Chetroi
6740249bef Use collection helpers for input_boolean (#30514)
* Refactor input_boolean to use config dict for instantiation.

* Refactor input_boolean to use YamlCollection.

* Add storage collection to input_boolean.

* Update homeassistant/components/input_boolean/__init__.py

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

* Doh.

* Address comments.

* Add editable device state attribute.

* Clean up entities from entity registry on removal.

Reload yaml from correct source.

* Add tests.

* Update homeassistant/components/input_boolean/__init__.py

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

* Don't reset entity state on updates.

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-01-07 08:53:43 +01:00
Franck Nijhof
345cc244ed Correct names in manifests (C-L) (#30532) 2020-01-07 08:19:17 +01:00
Raman Gupta
7d58de1bda Update vizio component to prepare for config flow and zeroconf support (#30522)
* move constants, move schema validation to init, prepare for zeroconf/config flow

* update requirements_all and make setup validation more pythonic

* mistake in refactor

* un-revert change from previous PR

* rename schema var

* update .coveragerc, move validate_auth to __init__, only attempt to get ESN if device setup is validated

* reinstate validate_setup but change logic to use new connection test function

* fix schema validation

* simplify string empty check logic

* missed commit
2020-01-06 20:32:31 -05:00
Eleftherios Chamakiotis
e22742550c Add "autobypass" option when arming AlarmDecoder integration (#30002)
* Initial implementation

* Passing autobypass parameter to constructor, as suggested

* Black formatting

* Removed default value from autobypass parameter of the constructor, as it's redundant
2020-01-06 20:17:21 -05:00
Trekky12
5ed1f16f25 Add pilight dimmer as light component (#30107)
* Add pilight dimmer as light component

* fix CI errors

* fix missing new lines

* improve formatting and addresses comments of @springstan

* rename config parameter and remove super() call to match pylint

* import only used constants of the pilight component

* Add myself to the code owners

* fix CODEOWNERS
2020-01-06 20:13:08 -05:00
HomeAssistant Azure
8c70fb5463 [ci skip] Translation update 2020-01-07 00:32:07 +00:00
Quentame
1587603c4c Bump synologydsm to 0.3.0 (#30529) 2020-01-06 17:38:42 -06:00
Markus Nigbur
453f7c7294 Fire restarted event on restarting active timer (#30475)
* Fire restarted event on restarting active timer

* Added test for the restart event
2020-01-07 00:00:23 +01:00
Franck Nijhof
6f92c19302 Correct integration names in manifests (A-B) (#30527)
* Correct names in manifests (A-B)

* Just Baidu

* Asterisk Call Detail Records
2020-01-06 23:59:12 +01:00
rccoleman
4a2987e790 Allow specific status codes while notifying mobile_app devices (#30496)
* Removed check and return with a notification status of 201

* Allow additional result codes

Allow 200, 201, and 202 as valid result codes
2020-01-06 23:41:07 +01:00
Jeff Irion
5ec5df77cc Register 'androidtv.download' and 'androidtv.upload' services (#30086)
* Add tests

* Add FileSync test

* Fill in services.yaml for 'androidtv.adb_filesync' service

* Update example paths in services.yaml

* Bump androidtv to 0.0.37

* Bump androidtv to 0.0.37

* Bump androidtv to 0.0.37

* Import LockNotAcquiredException

* Import LockNotAcquiredException from androidtv.exceptions

* Rename 'host' to 'address'

* Add a logging statement when an ADB command is skipped

* Check hass.config.is_allowed_path(local_path)

* Add return

* Fix pylint

* Reduce duplicated code (AndroidTVDevice vs. FireTVDevice)

* Split 'adb_filesync' service into 'download' and 'upload' services

* Don't use '.get()' for required data; return if the services are already registered

* Replace "command" with ATTR_COMMAND

* Don't try to connect to a device if it is a duplicate
2020-01-06 23:10:13 +01:00
Paulus Schoutsen
fbc53a886f Merge pull request #30525 from home-assistant/rc
0.103.6
2020-01-06 22:43:24 +01:00
Alexxander0
e88bfda2a8 Fix AVM FRITZ!DECT switch total consumption (#30478)
actor.get_energy() returns Wh, so division by 1000 is correct
2020-01-06 22:23:26 +01:00
Paulus Schoutsen
5675f16b61 Bumped version to 0.103.6 2020-01-06 22:02:31 +01:00
Paulus Schoutsen
4d0a093ec4 Fix google sync (#30524) 2020-01-06 22:02:25 +01:00
michaeldavie
60a9de40aa Bump env_canada to 0.0.31 (#30409) 2020-01-06 22:02:24 +01:00
Andrew Sayre
ed6b95f14a Bump pysmartthings 0.7.0 (#30302) 2020-01-06 22:01:06 +01:00
Robert Svensson
ce114b81c3 Handle wired bug on restart (#30276) 2020-01-06 22:01:05 +01:00
Paulus Schoutsen
05374d7c85 Fix google sync (#30524) 2020-01-06 22:00:39 +01:00
Franck Nijhof
a84741392b Format all manifests with prettier (#30521) 2020-01-06 21:28:23 +01:00
Maciej Bieniek
21029b1d7b Add Brother Printer integration (#30359)
* Init entities as unavailable when offline

* Initial commit

* Fix CODEOWNERS

* CODEOWNERS

* Run script.hassfest

* Add initial test

* Bump library

* More tests

* Tests

* Add new sensors and fix KeyError

* Fix unique_id and device_info

* Fix check for configured device

* More tests

* Bump library version

* Add uptime sensor

* Use config entry unique ID

* Run python3 -m script.gen_requirements_all

* Fix pylint error

* Remove pysnmp dependency

* Raise ConfigEntryNotReady when device offline at HA start

* Remove period from logging message

* Generator simplification

* Change raise_on_progress

* Rename data to printer

* Move update state to async_update

* Remove unused _unit_of_measurement

* Remove update of device_info

* Suggested change for tests

* Remove unnecessary argument

* Suggested change
2020-01-06 11:06:16 -06:00
Jc2k
8257ea30c0 Set required_features field when registering fan services (#30516)
* Set required_features on fan services

* Fix mqtt fan test

* Update fan.py
2020-01-06 17:10:51 +01:00
Jc2k
a58c796641 Add support for homekit air quality sensors (#30510)
* Add air quality sensor

* Fix comment from review

* Fix comment from review

* Lint fix
2020-01-06 16:35:10 +01:00
Ben
1fffa210e1 Add surepetcare component (#24426)
* add surepetcare

* cleanup

* remove unused imports and comments

* remove comment

* fix bug which prevented updating the sensors

* improve config validation

* fix voluptuous usage

* fix format & credential storage

* various fixes to hass-conform

* small format fixes

* change False to None

* still trying to be hass-conform

* remove unused class

* fix imports

* fix f-string

* add guard clause?!

* central data fetch

* do not pass in hass, will be provided automatically

* make the linters happy

* disable constant-test warning and add commas

* worksforme

* fix link in manifest

* remove icon

* bump surepy to 0.1.5

* worksforme

* small doc fixes

* add discovery_info guard

* result of another awesome review

* and again :)

* exclude surepetcare in .coveragerc
2020-01-06 09:00:01 -05:00
SukramJ
0971c681af Add HmIP-PMFS and HmIP-WHS2 to HomematicIP Cloud (#30325)
* update test data

* Update homematicip_cloud.json

* Add HmIP-WHS2

* Add HmIP-PMFS
2020-01-06 08:35:41 -05:00
Gido
10e698e0b2 Update GarbageTypeCodes for rova
Updating rova/sensor.py. Rova json format changed for garbage collection.
2020-01-06 08:34:15 -05:00
Ville Skyttä
80cbc32c49 Spell Zigbee consistently, with lowercase "b" (#30440)
https://zigbeealliance.org/developer_resources/zigbee-specification/
"Please note that this uses old branding, Zigbee is always a lowercase
 B, not a capital. This change occurred shortly after the official
 release of this document."

Also other docs at https://zigbeealliance.org/solution_type/zigbee/,
https://github.com/zigpy/zigpy/issues/111
2020-01-06 08:32:10 -05:00
FrengerH
0d1da9f5cb deCONZ - Rotation support for Xiaomi magic cube (#30472)
* Added rotation to deconz magic cube event

* Device trigger support
2020-01-06 12:34:27 +01:00
Alan Tse
f4f7c25f74 Bump teslajsonpy to 0.2.2 (#30512)
Fixes #30235
2020-01-06 09:52:26 +01:00
HomeAssistant Azure
d1ed67f44a [ci skip] Translation update 2020-01-06 00:32:11 +00:00
brefra
4efbe7135c Add LED control of push buttons and bump velbus-library (#30445)
* Add LED control

* Bump python-velbus library to 2.0.35

To have LED control available in library

* Apply black formating

* Fix no-else-return pylint error

* Changed to f-string and more dry code

* Rewrite turn_on for LED control
2020-01-06 01:28:10 +01:00
Franck Nijhof
e642d95d0f Migrate collection of component tests from coroutine to async/await (#30504) 2020-01-06 01:22:22 +01:00
Ville Skyttä
f400b77837 Preserve new BLE tracker item name if seen before adding discovery (#30318)
* Preserve new BLE device name if one seen before the last scan but not on it

* Save an indented else block

* Use async_fire_time_changed and mock_device_tracker_conf in tests
2020-01-05 23:13:54 +02:00
Jc2k
fffc5a5fbb Add support for v1 and v2 HomeKit fans. (#30503)
* Add support for v1 and v2 HomeKit fans.

* Lint fix
2020-01-05 15:56:46 +01:00
Paulus Schoutsen
8625e962ce Remove double person data validation (#30501) 2020-01-05 15:50:59 +01:00
Franck Nijhof
0a9ac91dec Migrate automatic tests from coroutine to async/await (#30371)
* Migrate automatic tests from coroutine to async/await

* Remove unneeded side effect

* Replace unittest with asynctest, add additional asserts to tests
2020-01-05 07:23:22 -06:00
Ville Skyttä
5216477353 Be consistent with Home Assistant and Hass.io spelling (#30500)
* Be consistent with Home Assistant spelling

* Be consistent with Hass.io spelling
2020-01-05 14:09:17 +02:00
Paulus Schoutsen
24b25b8917 Restore state helper to work with entity registry restoration (#30451)
* Restore state helper to work with entity registry restoratino

* Update restore_state.py
2020-01-05 11:58:59 +01:00
Raman Gupta
2ac5862eda Add unique id property for Vizio devices so they get added to entity registry (#30497)
* add unique id property for Vizio devices so they get added to entity registry

* update requirements

* small change to make code more readable

* update to use f-string for consistency

* fix property name

* set unique_id to none if serial number couldnt be found

* set unique_id to none

* ESN should be globally unique so no device type needed. pyvizio will set ESN to None if ESN is unobtainable
2020-01-05 11:20:06 +01:00
Paulus Schoutsen
30076d1843 Add person reload service (#30493) 2020-01-05 11:16:37 +01:00
Robert Svensson
35e19eec18 Axis - Allow manual configuration to update existing configuration (#30467)
* Allow manual configuration to update existing configuration

* Harmonize tests

* Understand what Elupus means...
2020-01-05 10:11:17 +01:00
HomeAssistant Azure
063193e6e5 [ci skip] Translation update 2020-01-05 00:32:15 +00:00
Pascal Vizeli
e95a04b6f6 bump hassio-builder version 2020-01-05 00:28:42 +01:00
Pascal Vizeli
8c2858ebde support odroid-n2 on release 2020-01-05 00:26:39 +01:00
Paulus Schoutsen
95cd0a2c68 Mobile App add device tracker to person registering app (#30460) 2020-01-04 23:15:50 +01:00
Phil Bruckner
e233dd7cbe Fix timer with empty config (#30463) 2020-01-04 23:01:58 +01:00
David F. Mulcahey
6c89b6c5a2 Add Zigbee group binding to ZHA (#30433)
* initial group binding work
* add group cluster binding
2020-01-04 16:58:51 -05:00
Robert Svensson
967fe89f6d deCONZ - Allow manual configuration to update existing configuration (#30469)
* Allow manual configuration to update existing configuration

* Harmonize tests
2020-01-04 22:55:57 +01:00
Franck Nijhof
639cdf5eef Bump twentemilieu to 0.2.0 (#30471) 2020-01-04 22:55:04 +01:00
Franck Nijhof
42b86d4b4e Bump wled to 0.2.1 (#30474)
* Bump wled to 0.2.0

* Bump wled to 0.2.1
2020-01-04 22:52:37 +01:00
Franck Nijhof
4e62da9c8e Improve WLED pure white support for RGBW (#30477) 2020-01-04 22:52:10 +01:00
Franck Nijhof
51db9bdfce Add unique ID to WLED config entries (#30480)
* Add unique ID to WLED config entries

* Improve robustness of the tests
2020-01-04 22:48:31 +01:00
Franck Nijhof
bf9418e51a Bump adguardhome to 0.4.0 (#30483) 2020-01-04 22:47:34 +01:00
Franck Nijhof
3b14d9f375 Add unique ID to elgato config entries (#30486) 2020-01-04 22:45:11 +01:00
Franck Nijhof
4ea0754094 Fix WLED light transition (#30490) 2020-01-04 22:44:28 +01:00
Franck Nijhof
049ced63b1 Bump elgato to 0.2.0 (#30485) 2020-01-04 20:25:07 +01:00
Paulus Schoutsen
2f362b44c4 Allow adding unique device ID to mobile app registration (#30457)
* Allow adding unique device ID to mobile app registration

* Remove unknown data

* Better fix
2020-01-04 13:45:03 +01:00
Paulus Schoutsen
6e909ab3f1 Only return remote UI url if remote UI enabled (#30453) 2020-01-04 13:43:59 +01:00
Robert Svensson
63347ebeb5 Make Axis integration use config entry unique id (#30461)
* Make Axis integration use config entry unique id
2020-01-04 08:58:18 +01:00
HomeAssistant Azure
075d3f6e32 [ci skip] Translation update 2020-01-04 00:32:23 +00:00
Joakim Plate
8dc57a3700 Allow all sources and sound modes to be selected in google assistant (#30418)
* Simplify media player source list

Google don't need a whitelisted set of modes anymore. So let's just forward any mode that we have.

* Report current mode with the setting name, not a synonym

* Refactor mode generation to support other modes

* Support sound mode as mode as well

* Adjust failing test now with sound modes
2020-01-04 00:39:03 +01:00
Phil Bruckner
d6e230e66b Fix counter with empty config (#30454) 2020-01-04 00:03:54 +01:00
brefra
b75aa7eb3a Fix async call inside sync context (#30458)
* Fix async call inside sync context

* Apply black formatting
2020-01-04 00:01:37 +01:00
Paulus Schoutsen
b9aba30a6e Extract Collection helper from Person integration (#30313)
* Add CRUD foundation

* Use collection helper in person integration

* Lint/pytest

* Add tests

* Lint

* Create notification
2020-01-03 21:37:11 +01:00
David Cramer
3033dbd86c Add Sentry component (#30422) 2020-01-03 21:34:20 +01:00
Robert Svensson
bb55606d29 Axis - Remove manual configuration and legacy config file import (#30365)
* Remove manual configuration and legacy config file import

* Remove unused imports in tests after rebase
2020-01-03 14:25:31 -06:00
ochlocracy
6387a50697 Implement supported locales for Alexa capabilities (#30285)
* Implement Alexa capability supported locales.

* Check config for supported locales.

* Removed unused import.

* Applied some potpourri to improve code smell.

* Change supported_locales to set.
2020-01-03 21:23:22 +01:00
Jc2k
80701c8f2a Defer homekit_controller initial poll after all entities are created (#30355)
* Make sure first poll happens after sub-platforms are loaded and entities are created.

* Function dosn't need to return anything

* Don't forward entry if already forwarded it
2020-01-03 21:22:27 +01:00
Robert Svensson
2b26af89df Improve tests based on Martins feedback from Axis improve tests (#30442) 2020-01-03 12:23:17 -06:00
Marcelo Moreira de Mello
e7af759330 Bump ring to 0.2.9 (#30439) 2020-01-03 12:19:14 -06:00
Robert Svensson
ec61342ec3 deCONZ - Improve tests based on Martins feedback in Axis integration (#30438) 2020-01-03 18:11:04 +01:00
Josh Anderson
8a1fc8b8f0 Check status field for UPS online binary sensor (#30144)
Avoids issue where status was previously reported as offline when
battery was low or UPS was over voltage
2020-01-03 17:40:36 +01:00
Jc2k
6b519499a7 Don't expose flows that aren't initialised. (#30432)
* Don't expose flows that aren't initialised.

If a flow init does not return immediately then there is a window where our
behaviour is screwy:

 * Can try to configure a flow that isn't ready
 * Can show notifications for discoveries that might yet return an abort

This moves the flow discovery events and notifications to after the flow is
initialised and hides flows that don't have a cur_step from async_progress

* Fix tradfri test

* Black.

* Lint fixes
2020-01-03 17:28:05 +01:00
Jc2k
df6c7b97f5 isort homekit (#30437) 2020-01-03 15:00:44 +00:00
Robert Svensson
536b201472 WIP deCONZ - Support Fyrtur/Kadrilj battery sensors (#30403)
* Sensor.binary is None means unsupported sensor
* Don't create ordinary sensor on ZHABattery type
2020-01-03 15:15:32 +01:00
Bas Nijholt
0d5486f772 Add KEF speakers integration (#28959)
* add KEF speakers platform for the integration

This will work with the KEF LS50 Wireless and KEF LSX speakers.
The development of this code happened on https://github.com/basnijholt/media_player.kef

* rename DATA_KEF -> DOMAIN

* use aiokef v0.2.0 and support LSX and new features

* sort imports

* fix @MartinHjelmare's suggestions

* remove _CONFIGURING

* change STATE_UNKNOWN to None

* use lat and long for unique_id

* bump aiokef to v0.2.2

* use config[ATTR] instead of config.get(ATTR)

* use getmac

* fix case when MAC is None

* use host as instance lifetime id

* fix requirements
2020-01-03 14:59:44 +01:00
Ville Skyttä
fa4fa30461 Various string cleanups (#30435)
* Remove some unnecessary string concatenations

* Replace some simple str.formats with f-strings

* Replace some string concatenations with f-strings
2020-01-03 14:47:06 +01:00
Sérgio
5ad209c6fd Handle telegram event commands with args (#30254)
* Handle telegram event commands with args

* Parse message regargless of command

* Lint

* Use multiple assignment
2020-01-03 08:22:14 -05:00
David K
859935e8bc Update HomeKit position state characteristic for covers (#27867)
* HomeKit: update position state characteristic for covers

position state is a mandatory characteristic for HK window coverings

* Test position state characteristic
2020-01-03 08:19:03 -05:00
Robert Svensson
b57da2f862 Axis - Improve tests based on feedback (#30430)
* Use MockConfigEntry, add_to_hass and hass.config_entries.async_setup

* Mock method instead of handling paths
2020-01-03 13:27:14 +01:00
Joakim Plate
0944d02262 Mark API key as deprecated (#30402)
Service account should be used instead
2020-01-03 12:12:29 +01:00
Ian Duffy
5580ee3fa1 Don't allow badly formed upnp devices to kill auto discovery (#30342)
Prevent the following from occurring:

```
2019-12-31 22:38:41 ERROR (MainThread) [homeassistant.core] Error doing job: Task exception was never retrieved
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/data_entry_flow.py", line 85, in async_init
    return await self._async_handle_step(flow, flow.init_step, data)
  File "/usr/src/homeassistant/homeassistant/data_entry_flow.py", line 145, in _async_handle_step
    result: Dict = await getattr(flow, method)(user_input)
  File "/usr/src/homeassistant/homeassistant/components/deconz/config_flow.py", line 182, in async_step_ssdp
    if discovery_info[ssdp.ATTR_UPNP_MANUFACTURER_URL] != DECONZ_MANUFACTURERURL:
KeyError: 'manufacturerURL'
2019-12-31 22:38:41 ERROR (MainThread) [homeassistant.core] Error doing job: Task exception was never retrieved
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/data_entry_flow.py", line 85, in async_init
    return await self._async_handle_step(flow, flow.init_step, data)
  File "/usr/src/homeassistant/homeassistant/data_entry_flow.py", line 145, in _async_handle_step
    result: Dict = await getattr(flow, method)(user_input)
  File "/usr/src/homeassistant/homeassistant/components/deconz/config_flow.py", line 182, in async_step_ssdp
    if discovery_info[ssdp.ATTR_UPNP_MANUFACTURER_URL] != DECONZ_MANUFACTURERURL:
KeyError: 'manufacturerURL'
```
2020-01-03 12:08:40 +01:00
Stefan Agner
3f33fc6122 convert to integer if rounding precision is zero (#30226)
Convert values to integer if rounding precision is zero. With that a
value which is an integer before filtering can be configured to stay
integer when using precision = 0. This also aligns behavior of filters
to how rounding behaves in tempaltes (homeassistant/helpers/template.py,
function forgiving_round).
2020-01-03 11:54:19 +01:00
Jc2k
fdfedd086b Rework FlowManager to use inheritance (#30133)
* Pull async_finish_flow/async_create_flow out of ConfigEntries

* Towards refactoring

* mypy fixes

* Mark Flow manager with abc.* annotations

* Flake8 fixes

* Mypy fixes

* Blacken data_entry_flow

* Blacken longer signatures caused by mypy changes

* test fixes

* Test fixes

* Fix typo

* Avoid protected member lint (W0212) in config_entries

* More protected member fixes

* Missing await
2020-01-03 11:52:01 +01:00
Robert Svensson
0a4f3ec1ec Use config entry unique id for deCONZ (#30122)
* Use config entry unique id

* Clean up

* Backwards compatiblity note

* Fix some of Balloobs comments

* Bump dependency to v66

* Black somehow missed config flow tests...

* Move set unique ID til after possibility to update existing entry
2020-01-03 11:50:53 +01:00
Ville Skyttä
c130e81638 Fix number of times seen in debug message (#30429) 2020-01-03 11:31:50 +01:00
tetienne
f5aa89dd06 Fix set tilt position (#30428) 2020-01-03 11:31:05 +01:00
ochlocracy
3a18ef219b Add RTSP stream support for UVC (Unifi Video Client) integration (#30297)
* Add SUPPORT_STREAM to supported_features.

* Implement stream_source with channel RTSP URIs.

* Add Tests for Stream Support.

* Make stream_source async.

* Removed unused import.

* Re-wrote test to remove warning, and lint error.
2020-01-03 11:30:26 +01:00
Oliver
b097a64010 Implemented media_play & media_pause / push to version 0.7.11 of denonavr (#30421)
* Implement media_play & media_pause / push to version 0.7.11 of denonavr

* fix denonavr version in requirements_test_all.txt
2020-01-02 22:06:33 -06:00
David F. Mulcahey
ef8eefc7a0 Remove ZHA establish device mappings function (#30423)
* remove establish_device_mappings
* inline init
2020-01-02 21:21:09 -05:00
Josh Bendavid
4c6e10a988 Cleanup of state handling in webostv (#30416)
* cleanup unnecessary manipulation of state variables

* update unit test
2020-01-03 02:46:32 +01:00
HomeAssistant Azure
4bf15a07a3 [ci skip] Translation update 2020-01-03 00:32:16 +00:00
Robert Svensson
9b961632af Axis - Improve tests (#30415) 2020-01-03 00:02:59 +01:00
Josh Bendavid
c1936f6fe4 Add generic command/button functionality to webostv (#30379)
* add generic command/button functionality to webostv

* update codeowners
2020-01-02 22:32:56 +01:00
Josh Bendavid
9064058a03 Add generic command functionality to denonavr (#29295)
* Add generic command functionality to denonavr

* add minimal unit tests for denonavr

* fix import order

* simplify denonavr unit test

* handle domain specific service calls with dispatcher

* update unit tests

* update unit tests

* remove unnecessary return value

* fix handling of mock instances in unit tests
2020-01-02 22:30:20 +01:00
michaeldavie
b91cbb50c8 Bump env_canada to 0.0.31 (#30409) 2020-01-02 15:24:43 -06:00
springstan
8e5ccfcb8a Bump miflora and bluepy (#30411) 2020-01-02 15:24:29 -06:00
Franck Nijhof
4f8663846b Migrate frontend tests from coroutine to async/await (#30386) 2020-01-02 14:23:56 -06:00
Franck Nijhof
4e6d415541 Migrate media_player tests from coroutine to async/await (#30387) 2020-01-02 14:23:35 -06:00
Franck Nijhof
b9fcb87d2c Migrate generic tests from coroutine to async/await (#30388) 2020-01-02 14:23:16 -06:00
Franck Nijhof
1e3822bdd7 Migrate group tests from coroutine to async/await (#30389) 2020-01-02 14:22:49 -06:00
Franck Nijhof
332cbbd8b1 Migrate freedns tests from coroutine to async/await (#30390) 2020-01-02 14:22:30 -06:00
Franck Nijhof
5b2b86987b Migrate fido tests from coroutine to async/await (#30391) 2020-01-02 14:22:13 -06:00
Franck Nijhof
7b00e94184 Migrate local_file tests from coroutine to async/await (#30392) 2020-01-02 14:21:54 -06:00
Aaron David Schneider
5edf72c9ea fix issuecomment-570284682 (#30405) 2020-01-02 14:17:37 -06:00
Franck Nijhof
24d5e54eed Bump pre-commit to 1.21.0 (#30406) 2020-01-02 14:16:58 -06:00
Ville Skyttä
e6388e186c Remove unnecessary string literal concatenations (#30360) 2020-01-02 21:17:10 +02:00
Ernst Klamer
cac750066a Remove unnessecary rfxtrx light property def (#30397) 2020-01-02 16:44:29 +01:00
Ernst Klamer
77978a979b Restore state for Rfxtrx devices (#30309)
* Restore state rfxtrx switch

* Restore state RFXtrx lights

* Restore state RFXtrx covers

* Restore comment

* Remove line

* Remove logging

* fix black

* Fix typo
2020-01-02 07:59:13 +01:00
HomeAssistant Azure
769cf19052 [ci skip] Translation update 2020-01-02 00:32:24 +00:00
Alan Tse
fc08c62a31 Add charging rate sensor to Tesla (#30286)
* Add charging rate sensor to Tesla

* Remove reference to bin_type
2020-01-02 00:36:14 +01:00
Franck Nijhof
37d1771400 Migrate google_* tests from coroutine to async/await (#30377) 2020-01-01 17:24:30 -06:00
Franck Nijhof
bcb47dab45 Migrate discovery tests from coroutine to async/await (#30376) 2020-01-01 17:22:32 -06:00
Franck Nijhof
b43b50b6d2 Migrate ffmpeg tests from coroutine to async/await (#30375) 2020-01-01 17:22:08 -06:00
Franck Nijhof
c5298dc4dc Migrate cast tests from coroutine to async/await (#30374) 2020-01-01 17:21:42 -06:00
Franck Nijhof
c837f185f7 Migrate camera tests from coroutine to async/await (#30372) 2020-01-01 17:21:21 -06:00
Franck Nijhof
8814e1eadc Migrate no_ip tests from coroutine to async/await (#30370) 2020-01-01 17:18:40 -06:00
Franck Nijhof
47aa0043bf Migrate owntracks tests from coroutine to async/await (#30369) 2020-01-01 17:18:20 -06:00
Franck Nijhof
1a2a976be2 Migrate counter tests from coroutine to async/await (#30368) 2020-01-01 17:17:55 -06:00
Franck Nijhof
320dc52bb3 Migrate config tests from coroutine to async/await (#30366) 2020-01-01 17:16:27 -06:00
Franck Nijhof
4e7b35355d Migrate websocket_api tests from coroutine to async/await (#30364) 2020-01-01 17:15:29 -06:00
Franck Nijhof
0fb5fbd85c Migrate hassio tests from coroutine to async/await (#30363) 2020-01-01 17:13:43 -06:00
Franck Nijhof
3a4db2fae7 Migrate mailbox tests from coroutine to async/await (#30361) 2020-01-01 17:13:04 -06:00
Aaron David Schneider
99bc911f7f Add attributes to fritz device_tracker (#30350)
* add attributes to device_tracker

* fix pylint

* requested changes

* docstring updated
2020-01-01 22:03:37 +01:00
Alan Tse
790b2d00c7 Fix HVAC mode for Tesla (#30287)
* Fix HVAC mode for Tesla

* Change HVAC_MODE to HEAT_COOL
2020-01-01 20:49:20 +01:00
Fabian Affolter
0479e93de7 Upgrade python_opendata_transport to 0.2.1 (#30348) 2020-01-01 14:06:20 -05:00
Jeff Irion
83e05da0b3 Fix media_player example for select_source service (#30358) 2020-01-01 19:40:11 +01:00
Franck Nijhof
bc6e2a06e6 Migrate yr tests from coroutine to async/await (#30351) 2020-01-01 16:21:37 +01:00
Franck Nijhof
33828ae514 Migrate timer tests from coroutine to async/await (#30352) 2020-01-01 16:20:18 +01:00
Franck Nijhof
9ba0daa358 Migrate teksavvy tests from coroutine to async/await (#30353) 2020-01-01 16:18:17 +01:00
Franck Nijhof
9fbe6d60cb Migrate startca tests from coroutine to async/await (#30354) 2020-01-01 16:17:35 +01:00
Fabian Affolter
e099d57bde Upgrade zeroconf to 0.24.4 (#30347) 2020-01-01 14:04:37 +01:00
Josef Schlehofer
298d898627 Upgrade youtube_dl to version 2020.01.01 (#30341) 2020-01-01 12:36:43 +01:00
Alan Tse
272c00e81b Remove use of bin_type in Tesla component (#30315)
* Remove use of bin_type

* Convert _unit attribute to units

* Remove unnecessary variable assignment

* Change to using util library convert
2020-01-01 12:23:29 +01:00
HomeAssistant Azure
bb2d8e3f7d [ci skip] Translation update 2020-01-01 00:32:22 +00:00
Franck Nijhof
52ed9608e2 Migrate input_* tests from coroutine to async/await (#30336) 2020-01-01 01:22:44 +01:00
Josh Bendavid
fc23b4f83f Migrate webostv to new library and make integration async with callback state updates (#29296)
* migrate webostv to new aiopylgtv version of the library and add support
for generic commands, input/button commands, and callback state updates

* update requirements

* cleanup and bump aiopylgtv version

* update webostv unit tests

* make webostv unit tests work with python 3.7

* cleanup for code checks

* cleanup and code review

* make all client request functions coroutines

* make host required for webostv configuration

* remove generic command and button functionality plus related cleanup

* fix previous track function

* update unit tests

* fix imports for unit tests

* update unit test

* further unit test updates

* remove unnecessary setup call in unit tests

* restore previous behaviour with client key config file in hass configuration directory
2020-01-01 00:26:35 +01:00
Franck Nijhof
af153521dc Migrate emulated_hue tests from coroutine to async/await (#30331) 2019-12-31 16:50:07 -06:00
Franck Nijhof
194cb8dbf5 Migrate xiaomi_miio tests from coroutine to async/await (#30329) 2019-12-31 16:49:00 -06:00
Franck Nijhof
2ac5537495 Migrate alexa tests from coroutine to async/await (#30332) 2019-12-31 16:48:17 -06:00
Franck Nijhof
0280862780 Migrate api tests from coroutine to async/await (#30338) 2019-12-31 22:58:40 +01:00
Franck Nijhof
687a052d40 Migrate python_script tests from coroutine to async/await (#30335) 2019-12-31 22:48:43 +01:00
springstan
f11d39f8eb Bump alarmdecoder to 1.13.9 (#30303) 2019-12-31 15:54:31 -05:00
Franck Nijhof
d8d75d882b Bump pyps4-2ndscreen to 1.0.4 (#30327) 2019-12-31 15:52:45 -05:00
Franck Nijhof
cd8f954a4d Migrate wunderground tests from coroutine to async/await (#30330) 2019-12-31 21:04:24 +01:00
Franck Nijhof
30dbed3f98 Migrate dsmr tests from coroutine to async/await (#30333) 2019-12-31 21:03:21 +01:00
Franck Nijhof
2620a95944 Improve Withings tests in different time zone (#30326)
* Improve Withings tests in different time zone

* Address code review comment

* Spelling error in code doc
2019-12-31 11:10:39 -05:00
Alexei Chetroi
a3061bda60 Make the rest of ZHA platforms to use ZHA class registry (#30261)
* Refactor ZHA component tests fixtures.

* Add tests for ZHA device discovery.

* Refactor ZHA registry MatchRule.

Allow callables as a matching criteria.
Allow sets for model & manufacturer.

* Minor ZHA class registry refactoring.

Less cluttered strict_matching registrations.

* Add entities only if there are any.

* Migrate rest of ZHA platforms to ZHA registry.

* Pylint fixes.
2019-12-31 11:09:58 -05:00
Alan Tse
5ed44297e6 Simplify Tesla icon get code (#30301)
* Simplify icon get code

* Remove extraneous None
2019-12-31 16:27:39 +01:00
Lars-P
4031596aa7 Fix luftdaten integration by adding a sensor for pressure at sealevel (#30317) 2019-12-31 15:58:54 +01:00
brefra
3c8ebf1844 Add light support to Velbus integration (#30323)
* Add light support to Velbus integration

* Add Velbus light.py to .coveragerc

* Applied black formatting
2019-12-31 15:46:02 +01:00
Fabian Affolter
734ef5a7a9 Upgrade Sphinx to 2.3.1 (#30310) 2019-12-31 15:32:26 +01:00
Iulius
1c2618d99a Add separate command and state topics for mqtt lock (#29808)
* Update lock.py

Allow different command and state topic + different command and state values.

* Formatting updated after black run

* TC updated to reflect different state & cmd values

* Abbreviations for lock states added

* additional non-default state test

* whitespaces fixed

* black formatting run
2019-12-31 15:24:09 +01:00
Christian
fd0375ac20 Add support for Velux garage doors (#30214)
* Update manifest.json

* Update cover.py

Add GarageDoor

* Update to pyvlx 0.2.12

* Sort
2019-12-31 15:17:17 +01:00
Phil Bruckner
609bf445f0 Remove Amcrest deprecated sensors and switches (#30308) 2019-12-31 08:16:41 -06:00
Shawn Wilsher
e68cd339b9 Reduce solaredge logging severity (#30305)
* [solaredge] Reduce Severity of Log Line

This log error happens frequently for some sites, but it shouldn't be an error.
It is expected, per the SolarEdge Monitoring API, that some sites do not
support this information, and the expected result is that this would be
empty (see comments on #27959).

Fixes #27959

* Fix a typo

Co-authored-by: Fabian Affolter <mail@fabian-affolter.ch>
2019-12-31 08:56:23 -05:00
rhadamantys
dedd1aec8c Add support for Somfy RTS power socket and Somfy io Temperature sensor (#30053)
* Added support for Somfy RTS wireless power socket and
Somfy Temperature Sensore Thermos Wirefree io

* Added code formatting fixes for commit 5faaf9c

* added support for RollerShutterRTSComponent from Somfy

* Added support for RTS roller shutter in set_cover_position

* Add support for Somfy RTS power socket and Somfy io temperature sensor

* black and isort fixes
2019-12-31 14:48:31 +01:00
SukramJ
b0a0871bed Bump dependency for HomematicIP Cloud (#30319) 2019-12-31 14:45:17 +01:00
Steven Barth
4bfc7b9848 Add homematic host port config for HMIP-only CCUs (#30077)
* homematic: Add host port config for HMIP-only CCUs

When adding a host (CCU) to the homematic component currently the hardcoded port 2001 is used to communicate with it.
However that port is only available on the target if the target supports HM (wireless) protocol which is not the case e.g. for
the Hass.io Homematic CCU addon when running in HMIP-only mode with the HMIP-RFUSB stick.

This allows to change the port home assistant uses to talk to the CCU in order to provide services under hte homematic homain, e.g. homematic.set_variable_value

The default value for this option is the old hardcoded value this the change should be backwards compatible with existing configurations.

* Change style of config retrieval
2019-12-31 08:41:44 -05:00
Philipp Schmitt
72e97792bd Update liveboxplay and pyteleloisirs (#30093) 2019-12-31 08:38:46 -05:00
Issac
3f570245aa Add local_ip component (#29973)
* Added localip component

* Split config and core logic, and migrate to sensor platform (requested by @MartinHjelmare)
Also allow overriding the sensor name via the config

* Tweak docstring

Co-Authored-By: Fabian Affolter <mail@fabian-affolter.ch>

* Initial support for config entries

* Rename localip to local_ip (1/2)

* Rename localip to local_ip (2/2)

* Add test for config_flow

* Split and rename tests

* Remove unneeded code from config_flow

* Implement configuration as config entry import.  Other misc requested changes from code review.

* Fix tests

* minor code review fixes

* remove unneeded code

Co-authored-by: Fabian Affolter <mail@fabian-affolter.ch>
2019-12-31 14:34:53 +01:00
Franck Nijhof
5414e9d155 Fix Withings leaking time zone change into other tests (#30320)
* Fix Withings leaking time zone change in other tests

* Fix spelling error in code doc
2019-12-31 14:30:09 +01:00
Paulus Schoutsen
bb14a083f0 Store capabilities and supported features in entity registry, restore registered entities on startup (#30094)
* Store capabilities and supported features in entity registry

* Restore states at startup

* Restore non-disabled entities on HA start

* Fix test

* Pass device class from entity platform

* Clean up restored entities from state machine

* Fix Z-Wave test?
2019-12-31 14:29:43 +01:00
Maciej Bieniek
2c1a7a54cd Add GIOS integration (#28719)
* Initial commit

* Add gios to requirements

* Add tests

* Update .coveragerc file

* Run gen_requirements_all.py

* Change DEFAULT_SCAN_INTERVAL

* Better strings

* Bump library version

* run script.hassfest

* run isort

* Add icons mapping

* Remove unnecessary f-string

* Remove unnecessary listener

* Refactoring config_flow

* Add unique_id to config entry

* Change AQI states to consts in English

* Remove unused init

* Remove unused exception

* Remove private instance attribute

* Remove overwrite state property

* Fix pylint error

* Add SCAN_INTERVAL for air_quality entity

* Add _abort_if_unique_id_configured()
2019-12-31 13:05:31 +01:00
Phil Bruckner
1ee299b079 Ignore google_maps updates when last_seen goes backwards (#30178) 2019-12-30 19:30:45 -06:00
HomeAssistant Azure
ae51331d49 [ci skip] Translation update 2019-12-31 00:32:20 +00:00
Andrew Sayre
914aea9446 Bump pysmartthings 0.7.0 (#30302) 2019-12-30 14:49:56 -06:00
Robert Svensson
41d2d1f309 Handle wired bug on restart (#30276) 2019-12-30 12:40:52 -06:00
Tais Hedegaard Holland
bad35577cb Bump ihcsdk to 2.4.0 (#30279)
* Update requirements_all.txt

update ihcsdk to version 2.4.0

* Update manifest.json

upgrade to version 2.4.0 of ihcsdk
2019-12-30 12:38:17 -06:00
Andy Grunwald
3b9f48b51d Contributing: Add note about feature suggestions and bug tracking (#30225) 2019-12-30 17:54:16 +01:00
Alan Tse
40e3d6f773 Change default icons for Tesla components (#30288) 2019-12-30 17:52:34 +01:00
Fabian Affolter
d0c9a42b81 Add custom validator for countries (#30280) 2019-12-30 17:51:25 +01:00
Fabian Affolter
33738cc83a Upgrade beautifulsoup4 to 4.8.2 (#30274) 2019-12-30 17:51:11 +01:00
Jc2k
fccb13b762 Add homekit_controller service.sensor.smoke (#30269) 2019-12-30 08:05:49 +00:00
Jc2k
8a22a38353 Accept homekit_controller pairing codes both with and without dashes (#30273)
* Handle MalformedPinError from homekit_python
* Handle both formats of pin codes
2019-12-30 07:36:01 +00:00
HomeAssistant Azure
13116d8d3f [ci skip] Translation update 2019-12-30 00:32:19 +00:00
Ville Skyttä
9892564ab5 Upgrade rflink to 0.0.50, ignore_devices now supports * and ? anywhere (#30268)
https://github.com/aequitas/python-rflink/releases/tag/0.0.50
https://github.com/aequitas/python-rflink/releases/tag/0.0.49
https://github.com/aequitas/python-rflink/releases/tag/0.0.48
https://github.com/aequitas/python-rflink/releases/tag/0.0.47
2019-12-29 21:12:49 +02:00
François
85624e8031 Fix creating smappee sensors when remote is not active (#30270) 2019-12-29 17:18:23 +01:00
LE LAY Olivier
a91b005822 Fix ble_tracker randomly pygatt thrown error (#28671)
* fix(ble_tracker): catch randomly pygatt thrown error

* fix(ble_tracker): merge except errors
2019-12-29 09:26:43 +02:00
HomeAssistant Azure
5d8dda4f68 [ci skip] Translation update 2019-12-29 00:32:14 +00:00
Pascal Vizeli
79b47157b8 Merge pull request #30260 from home-assistant/rc
0.103.5
2019-12-28 22:16:11 +01:00
Alexei Chetroi
36585558a5 Refactor ZHA channel logging (#30259)
Add channel.id property -- id unique for this the device only.
2019-12-28 15:41:55 -05:00
Pascal Vizeli
ae42736235 Bump version 0.103.5 2019-12-28 20:26:06 +00:00
Robert Van Gorkom
08af989658 Fixing timezone issue which caused wrong selection of data to be used. (#30011) 2019-12-28 21:25:37 +01:00
Marcelo Moreira de Mello
fdd090bae0 Bump ring to 0.2.8 to fix Oauth issues (#30245) 2019-12-28 20:24:29 +00:00
Paulus Schoutsen
5a9e543087 Whitelist Android/iOS auth callbacks (#30082)
* Whitelist Android/iOS

* Add iOS alternate flavor URLs

* Update indieauth.py

Co-authored-by: Robbie Trencheny <me@robbiet.us>
2019-12-28 21:20:18 +01:00
Maikel Punie
e1e8d6a562 Bump python-velbus library to 2.0.32 to fix problems with the glaspanels (#30257) 2019-12-28 21:16:52 +01:00
Ville Skyttä
4e50a402c7 Note Huawei LTE notify service change requires restart (#30223)
Refs https://github.com/home-assistant/home-assistant/issues/30222
2019-12-28 16:31:42 +01:00
SukramJ
658ec309aa Add HmIP-MOD_TM to HomematicIP Cloud (#30255) 2019-12-28 16:29:14 +01:00
Ville Skyttä
c5a280c064 Huawei LTE: Fix YAML options overriding ones set from GUI (#30249)
Closes https://github.com/home-assistant/home-assistant/issues/30221
2019-12-28 16:27:49 +01:00
Felix Barbalet
0323b246bd Bump libpurecool to 0.6.0 (#30247)
* bump libpurecool to 0.6.0 - fixes home-assistant/home-assistant#26367

* update manifest too
2019-12-28 16:19:18 +01:00
SukramJ
134dc45b77 Bump dependency for HomematicIp cloud (#30237)
* Bump dependency for HomematicIp cloud

* Update test_data
2019-12-28 13:46:04 +01:00
Ville Skyttä
e4cda9ae0b Fix Huawei LTE error message on service call without URL and routers (#30250) 2019-12-28 12:55:45 +01:00
Marcelo Moreira de Mello
59fee12b45 Bump ring to 0.2.8 to fix Oauth issues (#30245) 2019-12-28 10:15:35 +01:00
springstan
cf7b70dd8c Bump python-qbittorrent to 0.4.1 (#30239) 2019-12-28 10:09:42 +01:00
HomeAssistant Azure
2e07902999 [ci skip] Translation update 2019-12-28 00:32:22 +00:00
Kerwood
9d6f3654ad DECONZ - Added support for Aqara single switch WXKG03LM (#30240) 2019-12-27 21:47:45 +01:00
Franck Nijhof
9159da6583 Bump shodan to 1.21.1 (#30234) 2019-12-27 20:35:25 +01:00
HomeAssistant Azure
39d38923b7 [ci skip] Translation update 2019-12-27 00:32:13 +00:00
David F. Mulcahey
05a0922dc0 Bump ZHA dependencies (#30228)
* bump dependencies
* requirement files
* bump quirks to 0.0.30
2019-12-26 17:08:14 -05:00
Josh Bendavid
d6744fbc4e Fix handling of symlinked device descriptors in keyboard_remote and move remaining sync io to executor thread pool (#30206)
* fix handling of symlinked device decriptors

* make check for symlinked paths more efficient

* make variable names pylint compliant

* move sync io during setup and device connect/disconnect to executor thread pool

* move remaining sync io during setup to executor thread pool

* remove unnecessary lambda functions
2019-12-26 19:06:57 +01:00
Paul Annekov
b2753b7578 bump tuyaha 0.0.5 (#30213) 2019-12-26 13:27:59 +01:00
Alan Tse
e58ef36adc Bump teslajsonpy to 0.2.1 (#30217)
Closes #29922
2019-12-26 13:25:49 +01:00
HomeAssistant Azure
169c4089ff [ci skip] Translation update 2019-12-26 00:32:16 +00:00
Ville Skyttä
50a87bbe18 Add Huawei LTE integration suspend and resume services (#30207)
Useful e.g. if accessing the router web interface from another source
such as a web browser is temporarily required.
2019-12-25 12:43:51 +01:00
Ville Skyttä
a5c4508571 Make Huawei LTE notify service name configurable (#30208)
* Default Huawei LTE notify service name to notify.huawei_lte, make configurable

Closes https://github.com/home-assistant/home-assistant/issues/29409

* Set default notify service name for uninvoked options flow
2019-12-25 13:42:28 +02:00
Kevin McCormack
f56797e413 Update Vivotek camera component (#30191)
- Bump libpyvivotek version to 0.4.0
- Add digest authentication
2019-12-25 11:45:49 +01:00
rhadamantys
89450f405c Add support for enocean window handle FA 10 00 (Hoppe) (#29968)
* Added support for Somfy RTS wireless power socket and
Somfy Temperature Sensore Thermos Wirefree io

* Added code formatting fixes for commit 5faaf9c

* added support for RollerShutterRTSComponent from Somfy

* Added support for RTS roller shutter in set_cover_position

* added support for enocean window handle FA 10 00 (Hoppe)

* removed spaces in empty lines

* removal of rawdata attribute / code style

* isort fix

* PyLint fixes

* Improvements after review suggestions: rename device class to sensor type to avoid ambiguousness

* added import for DEVICE_CLASS_POWER from const.py

* removed window handle unit
2019-12-25 11:41:00 +01:00
Niall Donegan
5e3102b2d6 Pull track position from MPD status (#28579)
* Pull track position from MPD status()

This allows the progress bar to work when using the media-control card in lovelace.

* Actually commit flake8 fix!

* Extra documentation.

Mainly to trigger CI rerun.

* Updated to use self._media_position
2019-12-25 11:09:03 +01:00
Josef Schlehofer
217b974cef Upgrade youtube_dl to 2019.12.25 (#30203) 2019-12-25 10:18:10 +01:00
HomeAssistant Azure
bb35d93fde [ci skip] Translation update 2019-12-25 00:32:06 +00:00
ochlocracy
25f78dd1a9 Implement EqualizerController in Alexa for media_player. (#30159) 2019-12-24 17:06:39 -05:00
springstan
4ea42c2479 Bump datapoint to 0.9.5 (#30185) 2019-12-24 12:00:32 -07:00
springstan
482ff4061e Bump importlib-metadata to 1.3.0 (#30196)
* Bump importlib-metadata to 1.3.0

* Include setup.py and package_constraints.txt
2019-12-24 12:00:05 -07:00
Tim Rightnour
f32eaa2fdd Add onewire devices and owserver remote host support (#29948)
* Add support for HobbyBoards sensors: Hub, Humidity, Moisture, PulseCounter
Add support for an owserver running on a remote host

* Cleanup and fixes for style/etc

* Forgot to convert to f-strings.

* Update with changes requested by @MartinHjelmare

* Pylint

* Fix to None

* Reverse logic for hobbyboard test to eliminate pylint complaint

* Modified manifest to list myself as codeowner

* Move some functions down into OneWireProxy instead of the top OneWire

* Oops, missed some decode()'s

* And another!
2019-12-24 14:41:29 +01:00
Quentame
2113d65c06 Fix AdGuard Home safe search sensor name (#30171)
* Fix AdGuard Home safe search sensor name

* Fix typo
2019-12-24 14:14:58 +01:00
Fabian Affolter
783672d305 Upgrade zeroconf to 0.24.3 (#30187) 2019-12-24 14:11:01 +01:00
HomeAssistant Azure
8add6c5f2e [ci skip] Translation update 2019-12-24 00:32:12 +00:00
David F. Mulcahey
85d2ba047b Protect against bad data stored in ZHA (#30183) 2019-12-23 19:11:35 -05:00
Alan Tse
3aa2ae1700 Enable config flow for Tesla (#28744)
* build: bump teslajsonpy to 0.2.0

* Remove tests

* feat: add config flow

* feat: add async

* perf: convert unnecessary async calls to sync

* feat: add charger voltage and current sensor

* feat: add options flow

* build: bump teslajsonpy to 0.2.0

* Remove icon property

* Revert climate mode change

* Remove charger sensor

* Simplify async_setup_platform

* Update homeassistant/components/tesla/sensor.py

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

* Update homeassistant/components/tesla/binary_sensor.py

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

* Address requested changes

* Fix pylint error

* Address requested changes

* Update codeowners

* Fix pylint error

* Address requested changes

* Address requested change

* Remove unnecessary check for existing config entry

* Load scan_interval in async_setup_entry

* Include coverage of config_flow

* Add tests for full coverage

* Address requested test changes

* Remove unnecessary init lines

* Remove unnecessary init

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2019-12-23 21:54:25 +01:00
Claudio Heckler
edce497a0d New date_time_utc display option added to the time_date sensor platform (#30158) 2019-12-23 21:48:24 +01:00
P-Verbrugge
059e8722b6 Updated formatting of total_blocks value (#30170)
The number of total blocks is always a round number. There can't be .1 or .11 blocks for example. The output is now always formatted with two decimals that are always 00.
2019-12-23 21:42:44 +01:00
Greg
f23cc16660 Upgrade envoy_reader to 0.11.0 (#30179) 2019-12-23 21:35:54 +01:00
Quentame
f72ba0c716 Add icons to Freebox sensors (#30132) 2019-12-23 09:37:41 -07:00
springstan
4c5801ee8c Add cast to state of Dyson Air Quality Sensor (#30100) 2019-12-23 09:34:57 -07:00
Quentame
e3a3964911 Add icon to Plex sensor (#30172) 2019-12-23 09:25:57 -07:00
ochlocracy
a2678b2aff Add support for input_number entities in Alexa integration (#30139)
* Add support for input_number entities

* Update homeassistant/components/alexa/capabilities.py

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

* Removed get methods to directly access required attributes dicts.

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2019-12-23 15:17:37 +01:00
Paulus Schoutsen
7f2921b0e6 Merge remote-tracking branch 'origin/master' into merge-master 2019-12-22 23:42:46 +01:00
Paulus Schoutsen
48d35a4550 Merge pull request #30154 from home-assistant/rc
0.103.4
2019-12-22 23:41:22 +01:00
Robert Svensson
31b17e2b95 Allow battery value of 0 as well as make sure to not create a battery tracker if one already exist (#30155) 2019-12-22 22:58:36 +01:00
Robert Svensson
e9dc404de1 Allow battery value of 0 as well as make sure to not create a battery tracker if one already exist (#30155) 2019-12-22 22:58:22 +01:00
Paulus Schoutsen
720d63f496 Bumped version to 0.103.4 2019-12-22 22:34:57 +01:00
Franck Nijhof
e9b19e0465 Fix deconz SSDP updating Hassio discovery (#30153) 2019-12-22 22:34:14 +01:00
springstan
e74c4c5d99 Move imports into setup function in homekit __init__.py (#30137) 2019-12-22 22:25:27 +01:00
Paulus Schoutsen
697833bc91 Remove requirement from entity integration (#30113) 2019-12-22 22:25:03 +01:00
Franck Nijhof
d101d4449f Fix deconz SSDP updating Hassio discovery (#30153) 2019-12-22 22:24:18 +01:00
Alexei Chetroi
fdaaabf070 ZHA binary_sensor cleanup. (#30149) 2019-12-22 14:07:49 -05:00
cgtobi
d4ff214fce Clean up scaffold (#30135) 2019-12-22 19:53:03 +01:00
Franck Nijhof
b1bb2298e0 Bump sqlalchemy to 1.3.12 (#30142) 2019-12-22 19:52:39 +01:00
Ville Skyttä
868eb3c735 More helpers type improvements (#30145) 2019-12-22 19:51:39 +01:00
Philipp Danner
70f8bfbd4f Update Integration of Keba charging station (#30125)
* fixed parsing of current to float in service set_current

* Added optional name in the config file in order to get a better entety naming (easier to find)

* fix parsing of all parameters to service calls

* addressed code review comments + updated pypi dependency

* config name imported from cont.py + minor naming changes to be more clear about the meaning of a sensor

* removed name in config again, use product name gathered from the charging station instead

* implemented suggested changes

* changed variable naming as requested
2019-12-22 19:46:53 +01:00
Alexei Chetroi
83768be814 Refactor ZHA binary_sensor (#30138)
* Refactor ZHA binary_sensor.

Use ZHA entity class registry for channel specific implementations.

* Remove registries.BINARY_SENSOR_TYPES dict.

* Address PR comments.
2019-12-22 13:24:57 -05:00
Fabian Affolter
ed0ee3100d Upgrade zeroconf to 0.24.2 (#30140) 2019-12-22 12:01:22 +01:00
Paulus Schoutsen
32aae7017e Remove requirement from entity integration (#30113) 2019-12-22 10:32:42 +01:00
Paulus Schoutsen
63a843c19c Fix test 2019-12-22 10:31:23 +01:00
springstan
251808874f Move imports into setup function in homekit __init__.py (#30137) 2019-12-22 10:23:44 +01:00
Alexei Chetroi
9c23c4adf2 Cleanup ZHAEntity class (#30131)
Remove `_domain` attribute since we're not using it anymore.
2019-12-21 18:33:00 -05:00
Alexei Chetroi
8e3dfbd5c9 Refactor ZHA electrical measurement sensor. (#30130) 2019-12-21 17:15:50 -05:00
Paulus Schoutsen
834929a14e Clean up mobile app webhooks (#30123) 2019-12-21 22:45:06 +01:00
Alexei Chetroi
fb3bb8220b Implement ZHA entity classes registry (#30108)
* ZHA Entity registry.
Match a zha_device and channels to a ZHA entity.

* Refactor ZHA sensor to use registry.
* Remove sensor_types registry.
* Fix ZHA device tracker battery remaining.
* Remove should_poll/force_update attributes.
* Fix binary_sensor regression.
* isort.
* Pylint.
* Don't access protected members.
* Address comments and fix spelling.
* Make pylint happy again.
2019-12-21 16:26:58 -05:00
Jc2k
b41480ae46 Add a config entry mechanism to rediscover a discovery that was ignored (#30099)
* Mechanism to rediscover a discovery that was ignored

* Add core config entry tests for new rediscover step

* Add tests for homekit_controller implementation of async_step_rediscover

* Rename rediscover to unignore

* Comment the new ignore/unignore mechanisms
2019-12-21 11:22:07 +01:00
Maikel Punie
3911f24f75 Upgrade python-velbus (#30110) 2019-12-21 11:20:31 +01:00
Vladimír Záhradník
0fc92928a4 Add device class attribute to modbus sensors (#30030) 2019-12-21 10:54:48 +01:00
Ville Skyttä
6604680793 Helpers type hint improvements (#30106) 2019-12-21 09:23:48 +02:00
Ville Skyttä
ecdc1adf90 Upgrade mypy to 0.761 (#30104)
https://mypy-lang.blogspot.com/2019/12/mypy-0760-released.html
https://github.com/python/mypy/releases/tag/v0.761
2019-12-20 22:35:02 +01:00
Bas Nijholt
de94afd090 add --show-diff-on-failure to pre-commit (#30097)
This makes the traceback on a failing CI pipeline much more useful.
2019-12-20 22:00:31 +01:00
Jc2k
4ef04840e9 Don't error on removal of an ignored homekit_controller config entry (#30083)
* Don't error on ignored entries

* Don't ever call async_remove_entry or async_unload_entry for an unignored ignore config entry
2019-12-20 21:49:07 +01:00
Paulus Schoutsen
3e7699b886 Merge pull request #30096 from home-assistant/rc
0.103.3
2019-12-20 21:28:49 +01:00
Paulus Schoutsen
d448ed9f6d Bump ring to 0.2.5 (#30103) 2019-12-20 20:44:46 +01:00
springstan
f229cf2796 Bump starlingbank to 3.2 (#30098) 2019-12-20 20:44:46 +01:00
Paulus Schoutsen
b3098c9f2c Bump ring to 0.2.5 (#30103) 2019-12-20 20:42:13 +01:00
springstan
27f35f86ad Bump starlingbank to 3.2 (#30098) 2019-12-20 20:29:12 +01:00
ochlocracy
0faca57e8b Explicitly include Alexa interface for image_processing entities. (#30101) 2019-12-20 20:28:23 +01:00
gppanayotov
84e1b3d07f Add an open window sensor for heating zones (#30090) 2019-12-20 19:02:46 +01:00
Pascal Vizeli
5def51835e Fix v2 2019-12-20 17:10:04 +00:00
Pascal Vizeli
12f1a322a7 Fix test 2019-12-20 16:20:10 +00:00
Fazli Sapuan
488f26d55b Fix homekit handling of 0 light brightness and fan speed (#29962)
* Fix homekit handling of 0 light brightness and fan speed

* Update homekit tests for new initial brightness/speed value
2019-12-20 16:08:08 +00:00
Wim Haanstra
20a0557be7 Fix failure in transform method (#30023)
* Fix failure in transform method

* Fix formatting issue
2019-12-20 16:07:07 +00:00
omriasta
e58291015c Patch rachio (#30031)
* fix binary sensor offline/online

fixed self._handle_update on line 66 to produce args, kwargs.
Updated the binary sensor to check the correct index in the tuple.

* Fixed Standby switch

Set standby switch to poll in order to get status when homeassistant starts up.
Updated the index for the switch to get the status from the tuple.
2019-12-20 16:05:28 +00:00
Pascal Vizeli
e6a27983d3 Bump version 0.103.3 2019-12-20 14:16:39 +00:00
Franck Nijhof
939ca63cbc Fix update port and api key on deconz discovery config entry u… (#30088)
* Fix update port and api key on discovery config entry update

* Remove coroutine from _update_entry
2019-12-20 14:15:45 +00:00
Michaël Arnauts
04b5d6c697 Rework tado component (#29246)
* Fix imports so it works in custom_components

* Rework tado component

* Code cleanup

* Remove water_heater

* Address pylint warnings

* Remove water_heater from components

* Raise PlatformNotReady when we couldn't connect

* Revert PlatformNotReady since we are not a platform

* Add debugging information

* Add fallback setting

* Import with relative path

* Address race condition

* Cleanup

* Catch 422 Errors and log the real error

* Use async_schedule_update_ha_state to update the entities

* Forgot the True
2019-12-20 13:24:43 +01:00
Fazli Sapuan
92fd3e3ad5 Fix homekit handling of 0 light brightness and fan speed (#29962)
* Fix homekit handling of 0 light brightness and fan speed

* Update homekit tests for new initial brightness/speed value
2019-12-20 11:00:21 +01:00
Franck Nijhof
eb0aed3653 Fix update port and api key on deconz discovery config entry u… (#30088)
* Fix update port and api key on discovery config entry update

* Remove coroutine from _update_entry
2019-12-20 10:29:18 +01:00
HomeAssistant Azure
3a610edb78 [ci skip] Translation update 2019-12-20 00:32:22 +00:00
Ville Skyttä
d236a19139 Include all SSDP data in discovery info (#28197)
* Include all SSDP data in discovery info

* Use UPnP device description as discovery info, inject some SSDP attrs

* Clean up attribute names

* Adapt existing SSDP flows to changed attribute names

* Prefix all SSDP UPnP attribute name constants with ATTR_UPNP, tweak a bit
2019-12-19 19:28:03 +02:00
springstan
0cb468d7b0 Make name of nmbs live sensor customizable via unique_id (#29662)
* Make name customizable for nmbs live sensors

* Change order of the live name

* Added unique id to live nmbs sensor

* Revert changing the name of the live sensor
2019-12-19 17:45:52 +01:00
Maciej Bieniek
80be3b74a9 Init entities as unavailable when offline (#29738) 2019-12-19 14:10:27 +01:00
Paulus Schoutsen
52818bdb89 Make Hassfest stricter pt 2 (#30068)
* Make Hassfest stricter

* Fix if-condition

* Small cleanup
2019-12-19 14:00:22 +01:00
ochlocracy
5baaa852dd Refactor Alexa capabilityResources object into class, Implement Alexa semantics object (#29917)
* Refactor capabilityResources object into class.
Implement semantics object to support open, close, raise, lower utterences.
Replace covers PercentageController with RangeController.
Add semantics for covers.
Remove PowerController for covers.
Add new display categories.
Add new items to Alexa Global Catalog.
Implement garage door voice PIN code support though Alexa app.
Fixed bug with getting property for ModeController.
Fixed bug were PercentageController AdjustPercentage would exceed 100.

* Comment fixes in Tests.

* Reorder imports.

* Added additional tests for more code coverage.

* Added and additional test for more code coverage.

* Explicitly return None for configuration() if not instance of AlexaCapabilityResource.
2019-12-19 12:44:17 +01:00
Yuchen Ying
9804fbb527 Add unit_of_measurement to various Transmission sensors (#30037)
* Add unit_of_measurement to various Transmission sensors 

Without unit_of_measurement, the history graph card will not show those sensors as line chart.

* Change Counts to Torrents.
2019-12-19 11:23:46 +01:00
Paulus Schoutsen
e0d6810134 Remove stream from camera after deps (#30057) 2019-12-19 11:23:19 +01:00
Jc2k
c3144eddbb Set unique id on homekit_controller config entries (#30035)
* Set unique id on config entries

* Changes from review
2019-12-19 09:45:22 +01:00
Paulus Schoutsen
50714fbedf Merge pull request #30064 from home-assistant/rc
0.103.2
2019-12-19 08:03:47 +01:00
Paulus Schoutsen
c9de5b9fef Bumped version to 0.103.2 2019-12-19 07:53:38 +01:00
Paulus Schoutsen
aae80dca1c Fix recursion 2019-12-19 07:53:32 +01:00
Aaron Bach
9e5de1a106 Guard against future unknown SimpliSafe entity types (#30059)
* Guard against future unknown SimpliSafe entity types

* Updated log message
2019-12-18 17:52:56 -07:00
HomeAssistant Azure
5ea4ba6a2e [ci skip] Translation update 2019-12-19 00:32:16 +00:00
Paulus Schoutsen
f5c7d23b0f Merge remote-tracking branch 'origin/master' into dev 2019-12-18 22:18:35 +01:00
Wim Haanstra
36f7096f09 Fix failure in transform method (#30023)
* Fix failure in transform method

* Fix formatting issue
2019-12-18 13:18:14 -07:00
Alexei Chetroi
41bef4b919 Add timer reload service. (#30015) 2019-12-18 21:15:11 +01:00
Aaron Bach
0adb88156d Bump simplisafe-python to 5.3.6 (#30055) 2019-12-18 21:06:57 +01:00
omriasta
bdef54de0c Patch rachio (#30031)
* fix binary sensor offline/online

fixed self._handle_update on line 66 to produce args, kwargs.
Updated the binary sensor to check the correct index in the tuple.

* Fixed Standby switch

Set standby switch to poll in order to get status when homeassistant starts up.
Updated the index for the switch to get the status from the tuple.
2019-12-18 21:04:54 +01:00
Erik Kastelec
d16011b849 changed Venstar component temperature to half degree accuracy (#30034) 2019-12-18 08:47:01 -05:00
Paulus Schoutsen
9c7caaa142 Add option to ignore flows (#30008) 2019-12-18 07:41:01 +01:00
Greg
feb39c39a3 Update Envoy sensor to configure credentials and grab Inverter Date from updated API (#28837)
* Update manifest.json

Updated sensor to use the latest version of the API to be able to use the new features.

* Updated sensor to use new API features.  Configurable credentials and Inverter last reported date.

* EnvoyReader is passed to Envoy uses async update()

* Fixed pydocstyle warnings

* Fixed merge issue. Had extra variable.

* Added warning message when authentication for Inverter data fails

* Added continue after exception for loop

* Moved if statement outside of try/except

* Removed unneeded boolean attribute
2019-12-18 01:51:19 +01:00
HomeAssistant Azure
0135b988ff [ci skip] Translation update 2019-12-18 00:32:19 +00:00
Fabian Affolter
876195a8a8 Upgrade zeroconf to 0.24.1 (#30028) 2019-12-17 17:00:00 +01:00
Fabian Affolter
31cd0af47a Upgrade matrix-client to 0.3.2 (#30027) 2019-12-17 16:26:36 +01:00
Andre Richter
115aa2e49c Z-Wave: Fibaro FGR*-222: Add venetian blind support (#29701)
The Fibaro FGR-222/FGRM-2222 ZWave roller shutter devices have a proprietary
command class to support setting the tilt angle of venetian blinds (= type of
window cover). This PR adds the support to HA for this. This allows the user to
set the height of the blinds and the tilt angle separately.

Original patch by @ChristianKuehnel #24405.
2019-12-17 09:26:19 -05:00
Robert Van Gorkom
78e831b08e Make tplink light more responsive (#28652)
* Making tplink light more responsive.

* Adding light platform tests.

* Addressing PR feedback.

* Mocking the module, not the api.

* Using sync method for background update.
2019-12-17 02:24:50 +01:00
HomeAssistant Azure
ad8278c078 [ci skip] Translation update 2019-12-17 00:32:23 +00:00
Franck Nijhof
0439d6964c Fix persistent setup error notification content (#29995)
* Fix persistent setup error notification content

* Use documentation from manifest, enriched error messages

* Fix issue caught by mypy
2019-12-16 20:16:23 +01:00
Vladimír Záhradník
c16fae2c0b Fix modbus service description (#30005) 2019-12-16 20:07:46 +01:00
Paulus Schoutsen
58b5833d64 Convert Hue to use unique ID (#30000)
* Convert Hue to use unique ID

* Fix normalization

* Store/restore unique ID

* Fix tests
2019-12-16 19:45:09 +01:00
zewelor
575eb48feb Show current effect in yeelight device (#28975)
* Show current effect in yeelight device

* Use device_state_attributes instead of state_attributes

* Add early return in set effect

* Make single if elif chain

* Fix if elif

* Fix if elif
2019-12-16 16:23:05 +01:00
Paulus Schoutsen
d851cb6f9e Add unique ID to config entries (#29806)
* Add unique ID to config entries

* Unload existing entries with same unique ID if flow with unique ID is
finished

* Remove unused exception

* Fix typing

* silence pylint

* Fix tests

* Add unique ID to Hue

* Address typing comment

* Tweaks to comments

* lint
2019-12-16 12:27:43 +01:00
Franck Nijhof
87ca61ddd7 Add check-json to CI and Pre-commit (#29912)
* Add check-json to CI and Pre-commit

* Add ignore pre-commit hooks to gen_requirements_all
2019-12-16 11:06:16 +01:00
Franck Nijhof
d1e59b20c8 Bump pytest to 5.3.2 (#29990) 2019-12-16 10:59:32 +01:00
Franck Nijhof
dd0f0034f3 Bump shodan to 1.21.0 (#29991) 2019-12-16 10:57:42 +01:00
Emacee
be042f3d91 Update binary_sensor.py (#29977)
Change sensor type for central locking from safety into lock.
2019-12-16 09:42:48 +01:00
Louis-Dominique Dubeau
33cbb398ad Don't use the locals parameter on exec. (#29979)
Using the locals parameter makes it so that the code of a Python script runs as
if it were in the body of a ``class``. One effect of this is that functions
defined as part of a script cannot call one another directly.

Fixes: #24704, #13653
2019-12-16 09:39:20 +01:00
Paulus Schoutsen
b058742404 Fix condition typo (#29989) 2019-12-16 09:33:11 +01:00
Ryan
3f32490ae6 Fixed "condtion_type" to "condition_type" (#29984)
Fixed "condtion_type" to "condition_type"
2019-12-16 08:41:32 +01:00
Paulus Schoutsen
9e51a18845 Make hassfest import detection better (#29932)
* Make hassfest import detection better

* Fix tests
2019-12-16 08:22:20 +01:00
Jeff Irion
8fe17c0933 Remove 'SUPPORT_PLAY_MEDIA' from Volumio (#29969) 2019-12-16 08:21:29 +01:00
Kevin Eifinger
fc01da8933 Migrate to api_key (#29966) 2019-12-16 08:20:41 +01:00
Joakim Plate
039cc98278 Support case of unknown/unavailable temperature/humidity (#29959)
* Support case of unknown/unavailable temperature/humidity

State is never None, just a string.

* Lint suggestion
2019-12-16 08:04:59 +01:00
Ville Skyttä
445fd15f76 Drop Python 3.6 support (#29978) 2019-12-16 07:29:19 +01:00
Andrew Onyshchuk
bfafa77016 Fix support for legacy Z-Wave thermostats (#29955)
This brings back support for Z-Wave thermostats
of SETPOINT_THERMOSTAT specific device class.
Such devices don't have COMMAND_CLASS_THERMOSTAT_MODE
and are now handled separately.
2019-12-15 20:02:18 -05:00
HomeAssistant Azure
95a6a7502a [ci skip] Translation update 2019-12-16 00:32:25 +00:00
Ville Skyttä
d6f317c0a9 Remove deprecated rflink configs (#29972)
They've been deprecated and automatically replaced since July 2017
already, fe6a4b8ae5
2019-12-15 22:57:23 +02:00
Aaron Godfrey
012c09ce00 Fix example value for Todoist service (#29953) 2019-12-15 18:47:11 +01:00
Fabian Affolter
9c0799eb0a Upgrade keyring to 20.0.0 and keyrings.alt to 3.4.0 (#29960) 2019-12-15 17:41:56 +01:00
Chris Caron
09f3362cc6 isort fix on test_media_player (#29965) 2019-12-15 16:07:57 +01:00
Joakim Plate
84a7115435 Start of using hass state for tests rather than direct object (#29377) 2019-12-15 13:14:50 +01:00
Jeff Irion
8a5bce81c8 Bump adb-shell to 0.1.0 and androidtv to 0.0.36 (#29938)
* Bump adb-shell to 0.1.0 and androidtv to 0.0.36

* Add test for setting up two devices

* Add test_setup_same_device_twice

* Fix test_setup_two_devices

* Fix coverage

* Coverage

* Fix flaky 'test_setup_two_devices'

* Another stab at coverage

* Rename 'address' back to 'host'
2019-12-15 11:31:59 +01:00
Tyler
a28545b69b bump venstar 0.12 (#29954)
* bump venstar 0.12

* Update manifest.json
2019-12-15 08:16:20 +01:00
Chris Mandich
6dd496deb4 Fix loading flume integration (#29926)
* Fix https://github.com/home-assistant/home-assistant/issues/29853

* Run script.gen_requirements

* Update to store Token File in config directory

* Update to store Token File in config directory

* Update to store Token File in config directory
2019-12-15 03:45:29 +01:00
Quentame
820780996a Add battery sensor to iCloud (#29818)
* Add battery sensor to iCloud

* Update .coveragerc

* Review: @balloob & @MartinHjelmare

* Review: use f string
2019-12-14 23:06:00 +01:00
Raman Gupta
003658a3f0 Update androidtv version to improve source selection support (#29579)
* Change androidtv module versions and add support for select_source for all device types

* Update and add tests

* Update requirements_test_all.txt

* Update requirements_all.txt

* Consolidate tests

* Fix typo

* Remove 'self._device'
2019-12-14 16:54:41 +01:00
ochlocracy
3db7e8f5e9 Implement Alexa.EventDetectionSensor for Alexa (#28276)
* Implement Alexa.EventDetectionSensor Interface

* Removed references to PR #28218 not yet merged into dev.

* Update tests to include Alexa Interface

* Guard for `unknown` and `unavailible` states.

* Fixed Unnecessary "elif" after "return"
2019-12-14 08:47:45 +01:00
DjMoren
3c86825e25 Update Tahoma component's tahoma-api requirement's version (#29918) 2019-12-14 08:00:19 +01:00
Anders Melchiorsen
2cb92c66ef Support entity_id: all in lifx.set_state (#29919) 2019-12-14 07:36:33 +01:00
Justin Bassett
114390c95e Fix mobile app device identifiers (#29920)
Fix identifiers when updating device registration.
2019-12-14 07:36:12 +01:00
HomeAssistant Azure
8f5a00a98b [ci skip] Translation update 2019-12-14 00:32:08 +00:00
Paulus Schoutsen
a470a72ec5 Add integration platform helper (#29914) 2019-12-13 15:38:41 +01:00
springstan
6b3260357f Fix setup error for logbook (#29908)
* Fix setup error by moving an import back into the setup function

* Revert c741664d4d

* Add homekit as after_dependency to logbook manifest.json
2019-12-13 14:08:30 +01:00
Franck Nijhof
c8cc8acc81 Fixes invalid JSON syntax in devcontainer (#29911) 2019-12-13 12:41:56 +01:00
Franck Nijhof
b91a8f510c Fix incorrect file format yr test fixure (#29910) 2019-12-13 12:29:24 +01:00
Fabian Affolter
1301a4fcc6 Upgrade Sphinx to 2.2.2 and sphinx-autodoc-typehintsi to 1.10.3 (#29906) 2019-12-13 11:15:26 +01:00
Ville Skyttä
4d57de335c Make Python deprecation notice easier to maintain (#29900) 2019-12-13 10:39:57 +01:00
springstan
9fbb6d981a Fix setup for tank_utility component (#29902) 2019-12-13 10:31:53 +01:00
Bas Nijholt
c59bf0bff6 genericpath is an internal Python module and shouldn't be imported according to core Python devs. (see [this](https://bugs.python.org/msg358136) comment) (#29903)
For a reason unknown to me, @exxamalte introduced this in https://github.com/home-assistant/home-assistant/pull/14342.

The problem is that Linux and macOS implement `os.path` differently, one imports from [`ntpath.py`](https://github.com/python/cpython/blob/master/Lib/ntpath.py) and the other one from [`posixpath.py`](https://github.com/python/cpython/blob/master/Lib/posixpath.py), and both these files use `genericpath.py`.

Somehow, `isort` on macOS will see `genericpath` as a third party library and sort it accordingly.
Other Unix-based OSes will correctly treat `genericpath` as an internal library.

This problem led to a sorting sequence in the following commits:

- ca0fad2cbb
- f5d4878992
- 7d68e88d31
- 1fee400dcd

This supersedes https://github.com/home-assistant/home-assistant/pull/29893.
2019-12-13 09:47:09 +01:00
HomeAssistant Azure
5b32ee566c [ci skip] Translation update 2019-12-13 00:32:17 +00:00
Sebastian Muszynski
c051ae0bfb Bump python-miio version to 0.4.8 (#29890) 2019-12-12 22:39:11 +01:00
Alexei Chetroi
7685c76b9b Defer log formatting. (#29888) 2019-12-12 14:16:02 -05:00
randellhodges
9d662d6114 ISY994 Node Filter Update (#28155)
* Adding filters for keypad dimmers and smoke sensor

* ran black --fast as suggested

* Adding filters for keypad dimmers and smoke sensor

* ran black --fast as suggested
2019-12-12 19:47:38 +01:00
John Luetke
7c42f4b45b (Re)Add support for multiple Pi-Holes (#27569)
* Update configuration schema to support multiple Pi-holes

* Construct sensors for each configured Pi-hole

* Ensure each Pi-hole has a unique name

* Update services to handle multiple Pi-holes

* Update tests for multiple configurations

* Refactor tests to support service testing

* Fix else-raise per pyliunt

* Per code review, add all entities in a single call

* Per code review, add the default name as default.

* Per code review, add cv.ensure_list to prevent breaking change

* Per code review, move name validation to schema

* Remove default name

* Per code review, validate api_key in schema definition

* Per code review, rename variables

* Per code review, use list comprehension

* Ensure unique slug names in config validation

* Per code review, refactor to CoroutineMock

* Fix adding sensor entities

* Per code review, refactor mock function creation

* Per code review, refactor mock function return values
2019-12-12 19:43:49 +01:00
Alexei Chetroi
327b5c3c94 Log ZHA bind/unbind operations status (#29842)
* Log bind/unbind operation result.
* Use ZDO consts.
* Use device logger for bind/unbind results.
* Lint.
2019-12-12 12:16:51 -05:00
Alexei Chetroi
1fee400dcd Revert "Sort import for tests/components/feedreader/test_init.… (#29882)
This reverts commit 7d68e88d31.
2019-12-12 17:10:43 +01:00
Ville Skyttä
130571c478 Remove no longer needed auth.util, use secrets instead (#29861) 2019-12-12 16:46:33 +01:00
Bas Nijholt
c58c10ab7c Add isort to CI and pre-commit (#29739)
* add isort to CI and pre-commit

* disable wrong-import-order in pylintrc

* ✏️ Tweak


Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2019-12-12 15:58:47 +01:00
Bas Nijholt
7d68e88d31 Sort import for tests/components/feedreader/test_init.py (#29878)
This unblocks https://github.com/home-assistant/home-assistant/pull/29739
2019-12-12 15:56:32 +01:00
Franck Nijhof
4b33578757 Fix package import sort on dwd_weather_warnings (#29874) 2019-12-12 14:45:00 +01:00
Aaron Bach
914b49566a Bump aioambient to 1.0.2 (#29850) 2019-12-12 10:24:57 +01:00
Ville Skyttä
7931a0b675 Use Bionic's ffmpeg on Travis, jonathonf/ffmpeg-4 is N/A at the moment (#29860) 2019-12-12 07:15:32 +01:00
Paulus Schoutsen
b9eb831d29 Revert Tahoma removal (#29840)
* Revert "Remove Tahoma component #29744 (#29745)"

This reverts commit df74272ba6.

* Revert "Cleanup removed component (#29788)"

This reverts commit 3a28361beb.
2019-12-12 06:37:55 +01:00
HomeAssistant Azure
7bd98d1082 [ci skip] Translation update 2019-12-12 00:32:15 +00:00
foxy82
a08e3d7352 Update rfxtrx component so it can be run as a custom_component (#29638)
* Updating rfxtrx component so it can be run as a custom_component

* Fix pylint errors

* Fix pylint errors

* Fix pylint error on dict.

* isort
2019-12-11 15:58:49 +01:00
Robert Svensson
856dd63680 Add more logging to help future debug situations (#29800) 2019-12-11 15:45:21 +01:00
springstan
7b8dff2aa9 Add user-agent to fix dwd_weather_warnings setup error (#29596)
* Added dummy user-agent to http request to fix setup error

* Replace dummy user-agent with the user-agent of the global home assistant session

* Adjust comment and rename user-agent constant
2019-12-11 15:43:54 +01:00
Pascal Vizeli
0c796fc3c3 Remove uvloop event policy (#29835)
* Remove uvloop event policy

* Clean tests

* Fix lint

* Cleanup statment
2019-12-11 13:28:50 +01:00
Tiit Rätsep
01ef44fd68 Fix Soma integration connection issue (#27692)
* Added a check for Connect actually returning something before telling the user the setup succeeded

* Added handling for KeyError in case API returns empty response, formatting

* Trying to please the linter
2019-12-11 13:27:28 +01:00
Bas Nijholt
004af97699 Sort imports for requirements.py and its test using isort (#29836)
Unblocks https://github.com/home-assistant/home-assistant/pull/29739
2019-12-11 12:12:06 +01:00
HomeAssistant Azure
c2357d843b [ci skip] Translation update 2019-12-11 00:32:21 +00:00
Ville Skyttä
a12cf7211d Upgrade pydocstyle to 5.0.1 (#29830)
* Upgrade pydocstyle to 5.0.1

http://www.pydocstyle.org/en/5.0.1/release_notes.html

* Pydocstyle and other docstring fixes
2019-12-10 23:25:06 +01:00
Alexei Chetroi
3ed1738f76 Fix input_text initialization with empty config. (#29829) 2019-12-10 23:24:33 +01:00
Robert Van Gorkom
66d2f5f61d Fix withings wrong sleep state entry (#29651)
* Fixing issue where wrong sleep state entry was being used. closes #28370,#29397

* Fixing formatting.

* Sorting imports to get black checks to pass.

* Using lambda for getting latest sleep serie.
2019-12-10 21:54:50 +01:00
Ville Skyttä
899f6cf1a3 Re-authorize Huawei LTE on login required error (#29597)
* Re-authorize Huawei LTE on login required error

Closes https://github.com/home-assistant/home-assistant/issues/29531

* Eliminate one indented "else" block

* Convert get_data from inline to instance method

* Use .get instead of [] for checking subscriptions for clarity
2019-12-10 22:41:29 +02:00
Robert Svensson
99328bd4c1 UniFi - honor detection time when UniFi wire bug happens (#29820) 2019-12-10 20:05:18 +01:00
Robert Svensson
47e5142ddb UniFi - Handle disabled switches (#29824) 2019-12-10 20:04:48 +01:00
proferabg
e28fd16c84 Fix tank utility token (#29801)
* Tank Utility Token Fix

Fix 400 Bad Request on Invalid Token

* Format Fix for Pull Request #29801

* Pylint Annotation Fix for Pull Request #29801
2019-12-10 19:25:21 +01:00
Robert Svensson
db0baab692 Only update disabled_by when enabled default and entity enabled states differ (#29643) 2019-12-10 11:02:26 +01:00
Franck Nijhof
f5d4878992 Fix isort on a small set of misc files (#29803) 2019-12-10 09:25:42 +01:00
Paulus Schoutsen
27244e29c4 Install discovery requirements if used (#29795)
* Install discovery requirements if used

* Update loader.py

* Fix types
2019-12-10 09:24:49 +01:00
Franck Nijhof
0ed6a434f8 Adjusts repository README (#29805) 2019-12-10 09:22:37 +01:00
Ian
4f1f4a1b4f Nextbus: Sort results for upcoming times (#29811)
Sort upcoming times across all direction's for a particular route and
stop.
2019-12-10 09:22:13 +01:00
Brett T. Warden
9049e090f9 Bump Roku to 4.0.0 (#29809) 2019-12-10 09:20:52 +01:00
Alexei Chetroi
315d0064fe Fix zha circular import (#29802)
* Refactor zha.core.helpers.
* Make zha isort-able.
* Const import reorg.
* Keep DATA_ZHA config key on entry unload.
* Cleanup ZHA config flow.
* isort.
* Add test.
2019-12-10 00:00:04 -05:00
HomeAssistant Azure
12f273eb11 [ci skip] Translation update 2019-12-10 00:32:16 +00:00
Franck Nijhof
38a6fffecb Add JSON files validation to hassfest (#29799) 2019-12-09 22:43:38 +01:00
Alexei Chetroi
454cc684e4 Add input_select reload service. (#29647)
* Add input_select reload service.

* Add test.
2019-12-09 21:15:32 +01:00
Alexei Chetroi
8c1cdc0cf7 Add input_text reload service. (#29644)
* Add input_text reload service.

* Add test.
2019-12-09 21:15:24 +01:00
David F. Mulcahey
1222aa8c56 Add ZHA group API (#29641)
* add skeleton to retrieve zigbee groups
* get single group
* add a group
* return group members with group
* add comment
* fix group members
* add function to add device to group
* add group members
* add remove from group method
* add api to remove members from group
* add remove groups method
* clean up group add and remove
* fix remove group
* fix remove groups
* add api to get only groupable devices
* change var init
* add tests
* address review comment
2019-12-09 14:50:04 -05:00
Bas Nijholt
7f948594eb Sort imports according to PEP8 for google_assistant (#29633)
* sort imports and fix flake8 issue for google

* add isort:skip to EVENT_SYNC_RECEIVED
2019-12-09 20:00:14 +01:00
Franck Nijhof
bc3b7ed06b Fix build, invalid JSON file in icloud component (#29798) 2019-12-09 19:18:41 +01:00
Bas Nijholt
e37443f10c Sort imports according to PEP8 for components starting with "U" (#29779)
* use isort to sort imports for components starting with 'u'

* add 'pylint: disable=import-error' to the right place
2019-12-09 19:07:32 +01:00
Bas Nijholt
80c344d3a8 Sort imports according to PEP8 for huawei_lte (#29664) 2019-12-09 19:06:25 +01:00
Bas Nijholt
897522a82d Fix 'pytest.register_assert_rewrite("tests.common")' warning (#29797)
see fea243c035 (r355533273)
2019-12-09 19:04:38 +01:00
Bas Nijholt
080c702d4f Sort imports according to PEP8 for components starting with "C" (#29763) 2019-12-09 18:56:21 +01:00
Bas Nijholt
6cc75fc6f3 Sort imports according to PEP8 for components starting with "Z" (#29784)
* use isort to sort imports for components starting with 'z'

* add skip to end of zha/core/channels/__init__.py

* put 'pylint: disable=import-error' at the right place

* remove the import of config_flow in zha/__init__.py

According to @balloob it is no longer needed.

* revert previous commit

* isort:skip homeassistant/components/zha/__init__.py completely
2019-12-09 18:54:54 +01:00
springstan
6b6570e7ca Move imports to top for ness_alarm (#29518)
* Move imports to top for ness_alarm

* Added patch for the ArminState in alarm_control_panel.py
2019-12-09 18:46:56 +01:00
Bas Nijholt
08f128e9c7 Sort imports according to PEP8 for components starting with "D" (#29764)
* use isort to sort imports for components starting with 'd'

* fix isort mistake
2019-12-09 17:42:00 +01:00
Quentame
c804f8f961 Add config flow to iCloud (#28968)
* iCloud: setup ConfigFlow and prepare for more platforms

- add config flow + tests
- fix existing services
- add play_sound & display_message services
- document services
- can use devices with the same name
- prepare to add sensor platform

* Review : not copy account conf

* Review: Safer test patch

* Review: remove reset_account

* Review: Use executor_job while IO

* Review: Use executor_job while IO 2

* Review: use hass.helpers.storage.Store()

* Review: no IO in tests

* Remove reset from services.yaml

* Review: remove authenticate.return_value = Mock()

* Review: do not initialize the api with the mocked service

* isort

* Review: @MartinHjelmare Test config flow with all steps

* Review: Fix failed tests names

* Codevov: Add one missing test
2019-12-09 17:19:42 +01:00
Bas Nijholt
f60125b5c9 Sort imports according to PEP8 for 'tests' (#29791) 2019-12-09 16:52:24 +01:00
Bas Nijholt
67c56c860d Sort imports according to PEP8 for 'homeassistant' folder (#29789)
Components are already done
2019-12-09 16:42:10 +01:00
Bas Nijholt
29ec17d50d use isort to sort imports for "setup.py" (#29792) 2019-12-09 16:30:16 +01:00
Bas Nijholt
5cb6d1b21f Sort imports according to PEP8 for 'script' folder (#29790) 2019-12-09 16:24:03 +01:00
Pascal Vizeli
3a28361beb Cleanup removed component (#29788) 2019-12-09 16:21:12 +01:00
springstan
72f336a2dd Move imports to top for homekit (#29560)
* Move imports to top for homekit

* Moved back a couple imports, added annotation to disable import-outside-toplevel

* Fix all tests in test_homekit.py
2019-12-09 16:10:02 +01:00
Bram Kragten
bb3fa6990a Updated frontend to 20191204.1 (#29787) 2019-12-09 15:10:03 +01:00
Bas Nijholt
96a6a44411 Sort imports according to PEP8 for components starting with "X" (#29782) 2019-12-09 14:58:51 +01:00
Bas Nijholt
9bcd4653e0 Sort imports according to PEP8 for components starting with "Y" (#29783) 2019-12-09 14:57:42 +01:00
Bas Nijholt
4035fda659 Sort imports according to PEP8 for components starting with "Q" (#29785) 2019-12-09 14:56:20 +01:00
Bas Nijholt
fbf1836997 Sort imports according to PEP8 for components starting with "W" (#29781) 2019-12-09 14:47:53 +01:00
Bas Nijholt
1ab1808307 Sort imports according to PEP8 for components starting with "N" (#29773) 2019-12-09 14:46:24 +01:00
Bas Nijholt
ee1cc3b3dd Sort imports according to PEP8 for components starting with "V" (#29780) 2019-12-09 14:42:53 +01:00
Bas Nijholt
de915e1bf0 Sort imports according to PEP8 for components starting with "T" (#29778) 2019-12-09 14:41:48 +01:00
Bas Nijholt
485761bbaf Sort imports according to PEP8 for components starting with "R" (#29776) 2019-12-09 14:39:51 +01:00
Bas Nijholt
23b92b2a56 Sort imports according to PEP8 for components starting with "S" (#29777) 2019-12-09 14:38:01 +01:00
Bas Nijholt
21816eeed4 Sort imports according to PEP8 for components starting with "P" (#29775) 2019-12-09 14:29:39 +01:00
Bas Nijholt
5cdaff5405 Sort imports according to PEP8 for components starting with "O" (#29774) 2019-12-09 14:26:53 +01:00
Bas Nijholt
c49e423c78 Sort imports according to PEP8 for components starting with "K" (#29770) 2019-12-09 14:25:18 +01:00
Bas Nijholt
1dea0c9e34 Sort imports according to PEP8 for components starting with "L" (#29771) 2019-12-09 14:22:30 +01:00
Bas Nijholt
14779ce3d0 Sort imports according to PEP8 for components starting with "I" (#29769) 2019-12-09 14:21:24 +01:00
Bas Nijholt
710680d604 use isort to sort imports for components starting with 'm' (#29772) 2019-12-09 18:50:40 +05:30
Bas Nijholt
8b39957c56 Sort imports according to PEP8 for components starting with "H" (#29768) 2019-12-09 14:19:48 +01:00
Bas Nijholt
d58e6e924a Sort imports according to PEP8 for components starting with "G" (#29767) 2019-12-09 14:17:36 +01:00
Bas Nijholt
ca0fad2cbb Sort imports according to PEP8 for components starting with "F" (#29766) 2019-12-09 14:14:40 +01:00
Bas Nijholt
f9e06ca2fd Sort imports according to PEP8 for components starting with "E" (#29765) 2019-12-09 14:10:04 +01:00
Bas Nijholt
96961b9bcc Sort imports according to PEP8 for components starting with "A" (#29761) 2019-12-09 13:57:24 +01:00
Bas Nijholt
73de69896b Sort imports according to PEP8 for components starting with "B" (#29762) 2019-12-09 13:52:18 +01:00
tetienne
df74272ba6 Remove Tahoma component #29744 (#29745) 2019-12-09 13:35:14 +01:00
Pascal Vizeli
4bb670cdf7 HomeAssistant-pyozw 0.1.7 (#29743) 2019-12-09 13:33:28 +01:00
Bas Nijholt
9b27e5b86c Sort imports according to PEP8 for vultr (#29760) 2019-12-09 13:33:08 +01:00
Bas Nijholt
c7cf1b820c Sort imports according to PEP8 for hue (#29757) 2019-12-09 13:25:04 +01:00
Bas Nijholt
abfcc18004 Sort imports according to PEP8 for mobile_app (#29758) 2019-12-09 13:22:42 +01:00
Bas Nijholt
53012a548b Sort imports according to PEP8 for sleepiq (#29759) 2019-12-09 13:21:45 +01:00
Bas Nijholt
60e1789557 Sort imports according to PEP8 for emulated_roku (#29756) 2019-12-09 13:20:51 +01:00
Bas Nijholt
991834f337 Sort imports according to PEP8 for shopping_list (#29751) 2019-12-09 13:14:49 +01:00
Bas Nijholt
d1b38c0c79 Sort imports according to PEP8 for plaato (#29747) 2019-12-09 13:14:08 +01:00
Bas Nijholt
f281069c8c Sort imports according to PEP8 for vicare (#29754) 2019-12-09 13:13:33 +01:00
Bas Nijholt
76debf4c88 Sort imports according to PEP8 for scene (#29750) 2019-12-09 13:12:43 +01:00
Bas Nijholt
127d84edd1 Sort imports according to PEP8 for solarlog (#29752) 2019-12-09 13:11:37 +01:00
Bas Nijholt
3f469eac28 Sort imports according to PEP8 for yeelight (#29755) 2019-12-09 13:10:24 +01:00
Bas Nijholt
f81e608cc1 Sort imports according to PEP8 for remote (#29749) 2019-12-09 13:09:16 +01:00
Bas Nijholt
c4a6f265e8 Sort imports according to PEP8 for versasense (#29753) 2019-12-09 13:08:05 +01:00
Bas Nijholt
e9b428781b Sort imports according to PEP8 for pushbullet (#29748) 2019-12-09 13:06:25 +01:00
Bas Nijholt
3df40c7a16 Sort imports according to PEP8 for websocket_api (#29657) 2019-12-09 12:30:23 +01:00
Bas Nijholt
16a7408f23 Sort imports according to PEP8 for zwave (#29658) 2019-12-09 12:29:12 +01:00
Bas Nijholt
41cd678f00 Sort imports according to PEP8 for deconz (#29659) 2019-12-09 12:25:35 +01:00
Bas Nijholt
2da3848f89 Sort imports according to PEP8 for unifi (#29656) 2019-12-09 12:19:33 +01:00
Bas Nijholt
3b0f29fe95 sort imports according to PEP8 for lock (#29663) 2019-12-09 12:19:11 +01:00
Bas Nijholt
eb47c2b148 Sort imports according to PEP8 for media_player (#29665) 2019-12-09 12:17:41 +01:00
Bas Nijholt
01d651c67d Sort imports according to PEP8 for device_tracker (#29666) 2019-12-09 12:14:38 +01:00
Bas Nijholt
27bd6ca1db Sort imports according to PEP8 for emulated_hue (#29667) 2019-12-09 12:12:41 +01:00
Bas Nijholt
05daa817f5 Sort imports according to PEP8 for owntracks (#29672) 2019-12-09 12:11:27 +01:00
Bas Nijholt
d62993c5af Sort imports according to PEP8 for pilight (#29673) 2019-12-09 12:10:38 +01:00
Bas Nijholt
04225ba802 Sort imports according to PEP8 for rest (#29674) 2019-12-09 12:09:49 +01:00
Bas Nijholt
186799794d Sort imports according to PEP8 for nest (#29670) 2019-12-09 12:08:51 +01:00
Bas Nijholt
ad58e607df Sort imports according to PEP8 for somfy (#29675) 2019-12-09 12:07:10 +01:00
Bas Nijholt
69b113c539 Sort imports according to PEP8 for dyson (#29678) 2019-12-09 12:04:39 +01:00
Bas Nijholt
3d10bb3647 Sort imports according to PEP8 for http (#29679) 2019-12-09 11:59:38 +01:00
Bas Nijholt
c7d61279bd Sort imports according to PEP8 for ring (#29680) 2019-12-09 11:58:40 +01:00
Bas Nijholt
df85a50f3b Sort imports according to PEP8 for sensor (#29683) 2019-12-09 11:57:49 +01:00
Bas Nijholt
9cf3ff319e Sort imports according to PEP8 for iaqualink (#29681) 2019-12-09 11:56:51 +01:00
Bas Nijholt
b54c8641b4 Sort imports according to PEP8 for vesync (#29684) 2019-12-09 11:56:02 +01:00
Bas Nijholt
e4e4f78eb0 Sort imports according to PEP8 for utility_meter (#29710) 2019-12-09 11:54:56 +01:00
Bas Nijholt
b6cd6135c2 Sort imports according to PEP8 for wemo (#29685) 2019-12-09 11:53:51 +01:00
Bas Nijholt
776d8cfdc9 Sort imports according to PEP8 for specific_devices (#29687) 2019-12-09 11:51:36 +01:00
Bas Nijholt
c54135486e use isort to sort imports according to PEP8 for netatmo (#29682) 2019-12-09 11:50:59 +01:00
Bas Nijholt
4c5c34919d Sort imports according to PEP8 for camera (#29691) 2019-12-09 11:50:48 +01:00
Bas Nijholt
0b4ca9ecac Sort imports according to PEP8 for ambiclimate (#29689) 2019-12-09 11:49:35 +01:00
Bas Nijholt
bfa58f671a use isort to sort imports according to PEP8 for broadlink (#29690) 2019-12-09 11:48:52 +01:00
Bas Nijholt
9c1236b6de Sort imports according to PEP8 for ffmpeg (#29693) 2019-12-09 11:48:22 +01:00
Bas Nijholt
38657c0055 Sort imports according to PEP8 for counter (#29692) 2019-12-09 11:47:35 +01:00
Bas Nijholt
2261bb60e0 Sort imports according to PEP8 for geofency (#29695) 2019-12-09 11:46:49 +01:00
Bas Nijholt
2511f5edb4 Sort imports according to PEP8 for ifttt (#29696) 2019-12-09 11:46:08 +01:00
Bas Nijholt
fa6b75f2c1 Sort imports according to PEP8 for file (#29694) 2019-12-09 11:45:11 +01:00
Bas Nijholt
a78fe25871 Sort imports according to PEP8 for locative (#29698) 2019-12-09 11:43:46 +01:00
Bas Nijholt
642655b6d7 Sort imports according to PEP8 for met (#29699) 2019-12-09 11:43:00 +01:00
Bas Nijholt
c7b2c09a61 Sort imports according to PEP8 for xiaomi_miio (#29677) 2019-12-09 11:42:18 +01:00
Bas Nijholt
0e71c29e00 Sort imports according to PEP8 for opentherm_gw (#29671) 2019-12-09 11:34:06 +01:00
Bas Nijholt
0fbb450838 Sort imports according to PEP8 for jewish_calendar (#29697)
* use isort to sort imports according to PEP8 for jewish_calendar

* fix order
somehow isort did the wrong thing
2019-12-09 11:30:31 +01:00
springstan
202522fbca Move imports to top for nsw_fuel_station (#29538)
* Move imports to top for nsw_fuel_station

* Correct patch path in test_sensor.py

* Fix tests by removing the unused argument mock_nsw_fuel
2019-12-09 11:29:36 +01:00
Bas Nijholt
425a1814d9 Sort imports according to PEP8 for geonetnz_quakes (#29668) 2019-12-09 11:28:07 +01:00
Bas Nijholt
790881fa7b Sort imports according to PEP8 for almond (#29688) 2019-12-09 11:27:16 +01:00
Bas Nijholt
69f790f6cc Sort imports according to PEP8 for arduino (#29702) 2019-12-09 11:26:03 +01:00
Bas Nijholt
852996700f Sort imports according to PEP8 for arest (#29703) 2019-12-09 11:25:29 +01:00
Bas Nijholt
2cd55bbb87 Sort imports according to PEP8 for device_automation (#29707) 2019-12-09 11:24:49 +01:00
Bas Nijholt
ea39d5b428 Sort imports according to PEP8 for aws (#29704) 2019-12-09 11:23:21 +01:00
Bas Nijholt
f9e9a5e4cb Sort imports according to PEP8 for darksky (#29706) 2019-12-09 11:22:04 +01:00
Bas Nijholt
9228ed7c40 Sort imports according to PEP8 for verisure (#29711) 2019-12-09 11:21:16 +01:00
Bas Nijholt
6a11e6aa72 Sort imports according to PEP8 for soma (#29709) 2019-12-09 11:19:23 +01:00
Bas Nijholt
ebb2722d03 Sort imports according to PEP8 for gpslogger (#29717) 2019-12-09 11:15:02 +01:00
Bas Nijholt
c5316dbc39 Sort imports according to PEP8 for iqvia (#29720) 2019-12-09 11:14:08 +01:00
Bas Nijholt
c3d7ab6a7f Sort imports according to PEP8 for netgear_lte (#29725) 2019-12-09 11:13:37 +01:00
Bas Nijholt
7128396f1a Sort imports according to PEP8 for minio (#29723) 2019-12-09 11:08:29 +01:00
Bas Nijholt
6a67532a2d Sort imports according to PEP8 for linky (#29722) 2019-12-09 11:07:50 +01:00
Bas Nijholt
cbf59fb33d Sort imports according to PEP8 for input_text (#29719) 2019-12-09 11:06:05 +01:00
Bas Nijholt
9df71ecae2 Sort imports according to PEP8 for neato (#29724) 2019-12-09 11:05:22 +01:00
Nikolay Vasilchuk
791dc5809f Fix unit_of_measurement for Starline temperature sensors (#29740) 2019-12-09 10:56:57 +01:00
Santobert
c399fe2837 Change source of device_info (#29570) 2019-12-09 10:46:25 +01:00
Bas Nijholt
d0c7db548f use isort to sort imports according to PEP8 for group (#29713) 2019-12-09 09:39:26 +01:00
Bas Nijholt
1790036767 use isort to sort imports according to PEP8 for zone (#29712) 2019-12-09 09:38:38 +01:00
Bas Nijholt
2abc9005cc use isort to sort imports according to PEP8 for homeassistant (#29718) 2019-12-09 09:38:24 +01:00
Bas Nijholt
236a21c76e Sort imports according to PEP8 for pi_hole (#29726) 2019-12-09 09:38:14 +01:00
Bruno Filipe
942f654d92 Proactively report Alexa Endpoint Health properties (#29736) 2019-12-09 09:37:15 +01:00
Bas Nijholt
8c1a8b502d Sort imports according to PEP8 for velbus (#29676) 2019-12-09 09:36:42 +01:00
gjbadros
6996ad3541 Protect Doorbird platform from failing when individual doorbird fails (#29374)
* Wrap connection attempt by try/except block so an individual downed doorbird does not fail the whole platform

* Fixed lint warning

* Disable too-broad-exception pylint warning since the whole point of this is to catch all exceptions and log them while letting processing continue; I don't disable a lint warning lightly, but this is the entire intent of this PR.

* Fixed name of pylint warning to broad-except

* Use _LOGGER.exception to get the stack trace too, per PEP8 recommendation for a bare Exception being caught.

* per @balloob, switch to just catching OSError on a narrow block; I'm not sure this protects all problems with Doorbird device startup, but it protects against the primary one I experience.
2019-12-09 09:14:55 +01:00
HomeAssistant Azure
8dea7f0f98 [ci skip] Translation update 2019-12-09 00:32:08 +00:00
Bernhard B
d451e54e34 Add Signal Messenger integration (#28537)
* added signalmessenger integration

* allows to send a message (with an attachment) to one or more
  recipients

* added signalmessenger documentation to manifest file

* remove debug logging from signalmessenger integration

* add signalmessenger to .coveragerc

* fixed typo in signalmessenger manifes

* moved service specific code to own pypi library

* updated pysignalclirestapi dependeny in manifest.json

* added pysignalclirestapi requirement for signalmessenger component

* fixed typo in codeowners

* reworked signalmessenger integration based on code review input

* updated requirements for signalmessenger

* small code improvements in signalmessenger integration

* no need to use the get() method to access dict parameters that are
required

* small changes in signalmessenger integration

* re-ordered import statements
* removed empty "requirements" list (not needed)

* changed import order in signalmessenger integration according to PEP 8

* used isort to order includes in signalmessenger integration

* renamed signalmessenger to signal_messenger

* renamed signalmessenger to signal_messenger in CODEOWNERS file

* changed documentation url in signal_messenger integration to new name

* changed signal messenger naming in .coveragerc
2019-12-09 00:27:06 +01:00
Robert Van Gorkom
e577f047f7 Add tests for vera component (#28340)
* Adding tests for vera component.
Fixing update bug in the vera climate platform.

* Updating requrements file.

* Moving vera stop to a job.
Sorting imports.

* Addressing simple PR feedback.

* Splitting tests into platforms.

* Mocking controller instead of using requests_mock.

* Updating pyvera to use version that stops threads quickly.

* Updating requirements files.

* Mocking the pyvera module, not the API.

* Addressing PR feedback.
Handling start/stop of patch in fixture.
Removing unecessary code.

* Using generator
2019-12-09 00:19:38 +01:00
Bas Nijholt
076e0273a2 Sort imports according to PEP8 for kodi (#29721) 2019-12-08 23:42:04 +01:00
Bas Nijholt
39887c46c0 Sort imports according to PEP8 for dialogflow (#29714) 2019-12-08 23:40:06 +01:00
Bas Nijholt
81a482332d Sort imports according to PEP8 for eufy (#29715) 2019-12-08 23:34:18 +01:00
Bas Nijholt
6a1753d6db Sort imports according to PEP8 for geonetnz_volcano (#29716) 2019-12-08 23:33:42 +01:00
Bas Nijholt
cce3077df3 Sort imports according to PEP8 for cert_expiry (#29705) 2019-12-08 23:32:50 +01:00
Bas Nijholt
e6eed4755f Sort imports according to PEP8 for plex (#29708) 2019-12-08 23:31:55 +01:00
Gerald Hansen
3d25ed7994 Change state values for Worx Landroid sensor (#27453)
The obj["state"] contains already several named return states as
following: "grass cutting", "trapped recovery", "searching wire",
           "following wire", "searching home", "home", "idle"
And with the batteryChargerState also the "charging"

Fixes #455
2019-12-08 22:27:18 +01:00
Bas Nijholt
55559f3e30 Sort imports according to PEP8 for starline (#29653) 2019-12-08 21:09:48 +01:00
Bas Nijholt
51ece97e0d Sort imports according to PEP8 for hive (#29669) 2019-12-08 21:06:05 +01:00
Bas Nijholt
415176e350 Sort imports according to PEP8 for template (#29655) 2019-12-08 21:05:08 +01:00
Bas Nijholt
e0b82440ad Sort imports according to PEP8 for switch (#29654) 2019-12-08 18:50:17 +01:00
Bas Nijholt
3d64405896 Sort imports according to PEP8 for recorder (#29652) 2019-12-08 18:48:18 +01:00
Fabian Affolter
b832749e3c Fix file permission (#29660) 2019-12-08 18:41:48 +01:00
Bas Nijholt
0a4979549d use isort to sort imports according to PEP8 for vacuum (#29650) 2019-12-08 22:47:01 +05:30
Bas Nijholt
b731ddabde Sort imports according to PEP8 for homekit (#29645) 2019-12-08 18:16:49 +01:00
Bas Nijholt
aeff27680b use isort to sort imports according to PEP8 for light (#29648) 2019-12-08 22:46:23 +05:30
Bas Nijholt
ce5072fc91 use isort to sort imports according to PEP8 for mqtt (#29649) 2019-12-08 22:45:26 +05:30
Bas Nijholt
d2c1e5d45c Sort imports according to PEP8 for homekit_controller (#29646) 2019-12-08 18:14:26 +01:00
Bas Nijholt
0d5de6a464 use isort to sort imports according to PEP8 for ecobee (#29631) 2019-12-08 22:31:50 +05:30
Bas Nijholt
fbd4cf1089 use isort to sort imports according to PEP8 for cloud (#29626) 2019-12-08 22:31:12 +05:30
Bas Nijholt
e4e9cdce73 use isort to sort imports according to PEP8 for demo (#29630) 2019-12-08 22:29:27 +05:30
Bas Nijholt
a3b605bb7d use isort to sort imports according to PEP8 for cover (#29629) 2019-12-08 22:28:00 +05:30
Bas Nijholt
f355570f17 use isort to sort imports according to PEP8 for config (#29628) 2019-12-08 22:27:28 +05:30
Bas Nijholt
73c373a0f2 use isort to sort imports according to PEP8 for command_line (#29627) 2019-12-08 22:25:57 +05:30
Bas Nijholt
954813b478 use isort to sort imports according to PEP8 for climate (#29625) 2019-12-08 22:25:01 +05:30
springstan
3b5da9c44a Move imports to top for homekit_controller (#29564)
* Move imports to top for homekit_controller

* Fix IpPairing mock in two test files
2019-12-08 16:50:57 +00:00
Bas Nijholt
8f5e8c72c6 use isort to sort imports according to PEP8 for binary_sensor (#29622) 2019-12-08 22:02:08 +05:30
Bas Nijholt
f5288db93c use isort to sort imports according to PEP8 for cast (#29624) 2019-12-08 22:00:57 +05:30
Bas Nijholt
d3f67c3841 use isort to sort imports according to PEP8 for automation (#29620) 2019-12-08 21:59:39 +05:30
Bas Nijholt
a38f3ac9c6 use isort to sort imports according to PEP8 for fan (#29632) 2019-12-08 21:28:47 +05:30
Robert Svensson
57a3f7d5c8 Pass in parameters explicitly to DeconzSession (#29617)
Dont pass in loop to DeconzSession
Services will use new refresh state method
2019-12-08 16:53:34 +01:00
Bas Nijholt
00dc721609 sort imports according to PEP8 for hassio (#29634) 2019-12-08 16:33:22 +01:00
Bas Nijholt
b0d0060643 sort imports according to PEP8 for axis (#29621) 2019-12-08 15:44:03 +01:00
Fabian Affolter
c4794572d4 Fix file permission (#29635) 2019-12-08 15:43:09 +01:00
Sören Beye
94dec483e9 Don't escape command parameters (#29504)
* Don't escape command parameters

Escaping should only be done when using the tcp socket cli interface which we aren't.

* Updated comment to reflect the changes
2019-12-08 15:18:46 +01:00
James Nimmo
c78773970b Add IntesisHome Climate Platform (#25364)
* Add IntesisHome Climate Platform

* Add support for IntesisHome and Airconwithme devices

* Implement requested changes from PR review

* Improve error handling for IntesisHome component

* Fix snake-case naming style

* Update exception logging
2019-12-08 15:09:16 +01:00
Bas Nijholt
663e2eaaff sort imports according to PEP8 for buienradar (#29623) 2019-12-08 14:59:21 +01:00
Bas Nijholt
ba34922b03 sort imports according to PEP8 for alexa (#29618) 2019-12-08 14:56:42 +01:00
Bas Nijholt
6ad3b6426a sort imports according to PEP8 for auth (#29619) 2019-12-08 14:55:23 +01:00
Fabian Affolter
fa00808f6c Upgrade keyring to 19.3.0 and keyrings.alt to 3.2.0 (#29607) 2019-12-08 13:51:54 +01:00
Bas Nijholt
09ff0a5ac6 sort imports according to PEP8 for yweather (#29608) 2019-12-08 13:50:02 +01:00
Bas Nijholt
74c0219d0c sort imports according to PEP8 for components (#29609) 2019-12-08 13:46:04 +01:00
Bas Nijholt
b4bcd477f8 sort imports according to PEP8 for acer_projector (#29611) 2019-12-08 13:45:33 +01:00
Bas Nijholt
cfe68d7e00 sort imports according to PEP8 for actiontec (#29612) 2019-12-08 13:44:44 +01:00
Bas Nijholt
a885670a9a sort imports according to PEP8 for abode (#29610) 2019-12-08 13:44:12 +01:00
Bas Nijholt
f5a1b32be0 sort imports according to PEP8 for ads (#29613) 2019-12-08 13:43:32 +01:00
Bas Nijholt
e510c4ea1d sort imports according to PEP8 for air_quality (#29614) 2019-12-08 13:42:55 +01:00
Bas Nijholt
d020486929 sort imports according to PEP8 for alarm_control_panel (#29616) 2019-12-08 13:42:31 +01:00
Bas Nijholt
700cecc8ef sort imports according to PEP8 for airly (#29615) 2019-12-08 13:41:51 +01:00
Ville Skyttä
ef4515ed70 Add Huawei LTE reboot and clear traffic statistics services (#29594)
* Add clear traffic statistics service

* Add reboot service

* Register services as admin ones

* Make URL optional when there's only one router configured

* Eliminate one if/else indent level

* Remove unnecessary .keys() with sorted()
2019-12-08 12:21:48 +01:00
springstan
d752fe3033 Move imports to top for fido (#29557)
* Move imports to top for fido

* Fix tests for fido by using patch
2019-12-08 12:20:53 +01:00
springstan
6de8072e8a Move imports to top for websocket_api (#29556)
* Move imports to top for websocket_api

* Move back an import because of circular dependency, add annotations
2019-12-08 12:19:15 +01:00
SNoof85
21cf6777bb bump freebox api version (#29527) 2019-12-08 09:49:43 +01:00
Andrew McRae
de0db1601b Add quarterly cycle for utility_meter component (#29534)
* Add quarterly tariff period to utility_meter

Many tariff cycles in Australia are 3 monthly (quarterly).
Add quarterly tariff cycle handling to the utility_meter component.

* Add quarterly tariff period to utility_meter

Many tariff cycles in Australia are 3 monthly (quarterly).
Add quarterly tariff cycle handling to the utility_meter component.

* Change date for test for utility_meter

* Add quarterly tariff period to utility_meter

Many tariff cycles in Australia are 3 monthly (quarterly).
Add quarterly tariff cycle handling to the utility_meter component.
2019-12-08 09:49:18 +01:00
springstan
94b6cbc571 Move imports to top for stream (#29548) 2019-12-08 09:48:28 +01:00
springstan
957a2e99fd Move imports to top for tellduslive (#29550) 2019-12-08 09:48:08 +01:00
springstan
b759d50900 Move imports to top for google_assistant (#29561)
* Move imports to top for google_assistant

* Fix pylint error caused by isorting the imports with noqa: F401

* Move back an import because of circular dependency, add annotations
2019-12-08 09:45:13 +01:00
Franck Nijhof
cc9589cff2 Add Elgato Key Light integration (#29592)
* Add Elgato Key Light integration

* Remove passing in of hass loop

* Tweaks a comment

* Tweaks a function name

* Ensure domain namespace in data exists in entry setup
2019-12-08 09:26:31 +01:00
SukramJ
7f4baab3f6 Add additional Magic Cube Model (#29598) 2019-12-08 09:20:13 +01:00
Marius
0cdc315038 change icon for partly-cloudy-night (#29601)
to the available mdi:weather-night-partly-cloudy
2019-12-08 10:55:39 +05:30
Alexei Chetroi
e360b1265f Add input_number.reload admin service. (#29584)
* Add input_number reload service.

* Add test.

* Allow platform setup without entities.

We can reload and add entities later.
2019-12-07 21:26:06 +01:00
Alexei Chetroi
256056430e Add input_datetime reload service. (#29581)
* Add input_datetime reload service.

* Add reload service test.
2019-12-07 21:24:56 +01:00
Alexei Chetroi
ccb0fd5e32 Register automation.reload service as an admin service. (#29582)
* homeassistant/components/automation/__init__.py

* Register automation.reload as an admin service.
2019-12-07 21:17:30 +01:00
butako
d838a56c1d Improve Tahoma Velux support (#27920)
* Improved Velux support. Added Velux Solar Roller Blind. Fixed Velux Integra Window.

* fix indentation

* black formatting

* added new devices in correct sorted order
2019-12-07 16:14:09 +01:00
SNoof85
ee657f3c2f Add service to reboot the Freebox (#29525) 2019-12-07 12:09:43 +01:00
Fabian Affolter
9d7799c0af Upgrade pyyaml to 5.2.0 (#29586) 2019-12-07 09:06:55 +01:00
Ville Skyttä
977f51a9e4 Update Travis dist to bionic (#29575) 2019-12-07 08:34:46 +02:00
springstan
e2adfc3979 Move imports to top for onboarding (#29542) 2019-12-07 11:55:15 +05:30
HomeAssistant Azure
b4c95421d3 [ci skip] Translation update 2019-12-07 00:32:13 +00:00
springstan
23fb364076 Move imports to top for openuv (#29541)
* Move imports to top for openuv

* Renamed mock_pyopenuv_ to MockClient in test_config_flow
2019-12-06 14:13:43 -07:00
springstan
1ee8057662 Move imports to top for zha (#29555)
* Move imports to top for zha
* Move back some imports, add annotation for disabling import-outside-toplevel
* Move import config_flow before import api
2019-12-06 16:12:46 -05:00
Ville Skyttä
fb66a6cf81 Treat BaseException as over-general (#29573)
To follow pylint's defaults.
2019-12-06 21:58:32 +01:00
Ville Skyttä
31c71989e9 Huawei LTE device tracker fixes (#29551)
* Include MAC address in device state attributes for absent devices too

* Use MAC address as default name whether device is connected or not

* Fix initialization of known entities

Closes https://github.com/home-assistant/home-assistant/issues/29354
2019-12-06 21:53:26 +01:00
springstan
74d86dfff9 Move imports to top for soundtouch (#29546)
* Move imports to top for soundtouch

* Format with black

* Fix pyling error by renaming variable

* Rename entity instances to include entity instead of device
2019-12-06 21:11:02 +01:00
springstan
6af30bc232 Move imports to top for notion (#29539)
* Move imports to top for notion

* Fix mocking library in test_config_flow.py
2019-12-06 12:40:00 -07:00
Fabian Affolter
8afe13e818 Upgrade certifi to >=2019.11.28 (#29571) 2019-12-06 20:09:18 +01:00
Ville Skyttä
d257fff9ce Use "kB" and "s" as UPnP/IGD units (#29552)
For consistency with various existing components, and they're more
commonly used and compact than "kbyte" and "sec".
2019-12-06 23:24:11 +05:30
springstan
c9415ab75d Move imports to top for homematic (#29558) 2019-12-06 17:46:24 +01:00
1v0dev
b8434fdcfd Add service to set netatmo home heating schedule (#29244)
* Add service to set netatmo home heating schedule.

* handle NoDevice exeption; add service argument constant
2019-12-06 17:45:27 +01:00
Martin Rowan
48aba426a9 Bump lightwave to 0.17 (#29566) 2019-12-06 17:40:59 +01:00
springstan
606d310ea3 Move imports to top for spc (#29547)
* Move imports to top for spc

* Fix pylint error by removing duplicate import
2019-12-06 15:40:04 +01:00
springstan
d9b52ef98c Move imports to top for plant (#29543) 2019-12-06 15:00:54 +01:00
springstan
f3717421c0 Move imports to top for heatmiser (#29562) 2019-12-06 14:59:32 +01:00
David K
c5f4872aea Limit available heat/cool modes for HomeKit thermostats (#28586)
* Limit available heat/cool modes for HomeKit thermostats.
The Home app only shows appropriate modes (heat/cool/auto) for the device. Depending on the climate integration, disabling the auto start might be needed.

* Include improved mapping for HVAC modes in tests
2019-12-06 14:07:45 +01:00
springstan
27530be46f Move imports to top for influxdb (#29513) 2019-12-06 17:35:35 +05:30
springstan
ec3ffe309a Move imports to top for toon (#29553) 2019-12-06 10:40:38 +01:00
springstan
d5419b77f9 Move imports to top for sleepiq (#29544) 2019-12-06 09:13:44 +01:00
springstan
1bb499aec2 Move imports to top for smhi (#29545) 2019-12-06 09:11:07 +01:00
springstan
a857148560 Move imports to top for pjlink (#29540) 2019-12-06 09:09:45 +01:00
springstan
0aace1da55 Move imports to top for nx584 (#29537) 2019-12-06 09:08:54 +01:00
Franck Nijhof
e2a9c652ab Bump pytest to 5.3.1 (#29535) 2019-12-06 09:08:06 +01:00
Malte Franken
33542f0e5e Bump georss_generic_client to 0.3 (#29532)
* bump version of georss_generic_client library

* updated requirements
2019-12-06 06:55:42 +01:00
springstan
fcf18aca34 Move imports to top for modbus (#29515)
* Move imports to top for modbus

* Include imports for TCP and UDP ModbusClients
2019-12-06 06:10:29 +01:00
springstan
8def0326dd Move imports to top for izone (#29508)
* Move imports to top for izone

* Isorted all imports, fixed tests for config_flow
2019-12-06 06:08:08 +01:00
Alexei Chetroi
dc911ecc5b Add input_boolean reload service (#29379)
* Add input_boolean reload service.

* Add reload test.

* Address comments.

Register reload service as an admin service
Setup platform even if there're no entities
2019-12-05 20:31:18 -08:00
springstan
3b6bc9067f Move imports to top for mochad (#29514)
* Move imports to top for mochad

* Fix test test_light.py for mochad

* Fix test test_switch.py for mochad

* Make intra package imports relative in switch and light
2019-12-06 02:02:34 +01:00
orrpan
9ba9b3339b Add full state view for emulated_hue (apps using emulated_hue, 'sleep cycle' and 'sleep as android') (#26650)
* Add full state view for emulated_hue

* clean and support updated sleep cycle

* emulated hue add reuasable logic and cleanup code

* emulated hue correct typos

* Update hue_api.py

* correct error message and update test_hue_api.py

* cleanup test_hue_api.py
2019-12-05 15:23:54 -08:00
springstan
173966f459 Move imports to top for switcher_kis (#29530)
* Move imports to top for switcher_kis
* Disabled ungrouped imports if TYPE_CHECKING is true
2019-12-05 18:20:07 -05:00
springstan
20fdcbadff Move imports to top for nextbus (#29520)
* Move imports to top for nextbus

* Fix test_sensor.py failed tests
2019-12-05 21:56:42 +01:00
springstan
42688a6e4a Move imports to top for ign_sismologia (#29523) 2019-12-05 21:55:48 +01:00
tetienne
97cb8a3745 Increase somfy SCAN_INTERVAL (#29524)
- There was too many errors 504
2019-12-05 21:33:56 +01:00
springstan
b4fda5faab Move imports to top for mysensors (#29517) 2019-12-05 19:54:43 +01:00
Paulus Schoutsen
ec8ea02273 Fix recursion 2019-12-05 10:40:05 -08:00
springstan
4e7b9eaed0 Move imports to top for monoprice (#29516)
* Move imports to top for monoprice

* Format test with black
2019-12-05 19:16:15 +01:00
springstan
98d2eadb76 Move imports to top for statistics (#29223)
* Move imports to top for statistics

* Added recorder to manifest.json

* Deleted recorder from manifest.json, moved import back into method, added pylint disable comment

* Moved recorder util imports away from the top

* Move recorder imports to top, add recorder as after_dependency to manifest.json
2019-12-05 18:49:28 +01:00
springstan
5bdb20098e Move imports to top for meteoalarm (#29510) 2019-12-05 16:59:56 +01:00
springstan
1846b45cb5 Move imports to top for mobile_app (#29511) 2019-12-05 16:59:31 +01:00
springstan
19893b8f3c Move imports to top for islamic_prayer_times (#29506)
* Move imports to top for islamic_prayer_times

* Fix test_sensor.py for islamic_prayer_times

* Format test_sensor.py with black

* Fix tests for islamic prayer times sensor
2019-12-05 16:58:14 +01:00
springstan
76f455cea9 Move imports to top for mediaroom (#29509) 2019-12-05 16:56:53 +01:00
springstan
2a92eb1962 Move imports to top for ipma (#29507) 2019-12-05 16:56:01 +01:00
springstan
204ca3f3a6 Move imports to top for frontend (#29487) 2019-12-05 13:44:59 +01:00
springstan
ed5cdb528c Move imports to top for group (#29485)
* Move imports to top for group

* Fix failing test for group
2019-12-05 13:44:11 +01:00
springstan
ed464a75b2 Move imports to top for system_log (#29465) 2019-12-05 13:42:56 +01:00
springstan
04722fdd63 Move imports to top for http (#29500) 2019-12-05 13:42:09 +01:00
springstan
e9917c6a81 Move imports to top for google_translate (#29499) 2019-12-05 13:22:01 +01:00
springstan
009e4df6ef Move imports to top for hue (#29501) 2019-12-05 13:19:50 +01:00
springstan
086d1f432d Move imports to top for google_pubsub (#29498) 2019-12-05 12:59:59 +01:00
springstan
564fed7879 Move imports to top for ambient_station (#29497) 2019-12-05 12:50:53 +01:00
Paulus Schoutsen
a050d54847 Make hassfest stricter (#29494)
* Make hassfest stricter

* Update manifest.json
2019-12-05 10:15:28 +01:00
springstan
f6d1eb97a3 Move imports to top for decora_wifi (#29439) 2019-12-05 09:56:17 +01:00
Paulus Schoutsen
e99184bf68 Install requirements of after_dependencies when loading integrations (#29491)
* Install requirements of after_dependencies when loading integrations

* Fix smartthings test
2019-12-05 09:28:56 +01:00
Paulus Schoutsen
957e5018f4 Version bump to 0.104.0dev0 2019-12-04 22:52:58 -08:00
13540 changed files with 377442 additions and 142949 deletions

View File

@@ -1,16 +0,0 @@
codecov:
branch: dev
coverage:
status:
project:
default:
target: 90
threshold: 0.09
notify:
# Notify codecov room in Discord. The webhook URL (encrypted below) ends in /slack which is why we configure a Slack notification.
slack:
default:
url: "secret:TgWDUM4Jw0w7wMJxuxNF/yhSOHglIo1fGwInJnRLEVPy2P2aLimkoK1mtKCowH5TFw+baUXVXT3eAqefbdvIuM8BjRR4aRji95C6CYyD0QHy4N8i7nn1SQkWDPpS8IthYTg07rUDF7s5guurkKv2RrgoCdnnqjAMSzHoExMOF7xUmblMdhBTWJgBpWEhASJy85w/xxjlsE1xoTkzeJu9Q67pTXtRcn+5kb5/vIzPSYg="
comment:
require_changes: yes
branches: master

View File

@@ -5,37 +5,38 @@ omit =
homeassistant/__main__.py
homeassistant/helpers/signal.py
homeassistant/helpers/typing.py
homeassistant/monkey_patch.py
homeassistant/scripts/*.py
homeassistant/util/async.py
# omit pieces of code that rely on external devices being present
homeassistant/components/abode/__init__.py
homeassistant/components/abode/alarm_control_panel.py
homeassistant/components/abode/binary_sensor.py
homeassistant/components/abode/camera.py
homeassistant/components/abode/cover.py
homeassistant/components/abode/light.py
homeassistant/components/abode/lock.py
homeassistant/components/abode/sensor.py
homeassistant/components/abode/switch.py
homeassistant/components/acer_projector/switch.py
homeassistant/components/actiontec/device_tracker.py
homeassistant/components/acmeda/__init__.py
homeassistant/components/acmeda/base.py
homeassistant/components/acmeda/const.py
homeassistant/components/acmeda/cover.py
homeassistant/components/acmeda/errors.py
homeassistant/components/acmeda/helpers.py
homeassistant/components/acmeda/hub.py
homeassistant/components/acmeda/sensor.py
homeassistant/components/adguard/__init__.py
homeassistant/components/adguard/const.py
homeassistant/components/adguard/sensor.py
homeassistant/components/adguard/switch.py
homeassistant/components/ads/*
homeassistant/components/aftership/sensor.py
homeassistant/components/agent_dvr/__init__.py
homeassistant/components/agent_dvr/camera.py
homeassistant/components/agent_dvr/const.py
homeassistant/components/agent_dvr/helpers.py
homeassistant/components/airly/__init__.py
homeassistant/components/airly/air_quality.py
homeassistant/components/airly/sensor.py
homeassistant/components/airly/const.py
homeassistant/components/airvisual/__init__.py
homeassistant/components/airvisual/air_quality.py
homeassistant/components/airvisual/sensor.py
homeassistant/components/aladdin_connect/cover.py
homeassistant/components/alarm_control_panel/manual_mqtt.py
homeassistant/components/alarmdecoder/*
homeassistant/components/alarmdotcom/alarm_control_panel.py
homeassistant/components/alpha_vantage/sensor.py
homeassistant/components/amazon_polly/tts.py
homeassistant/components/ambiclimate/climate.py
@@ -57,18 +58,17 @@ omit =
homeassistant/components/arest/sensor.py
homeassistant/components/arest/switch.py
homeassistant/components/arlo/*
homeassistant/components/arris_tg2492lg/*
homeassistant/components/aruba/device_tracker.py
homeassistant/components/arwn/sensor.py
homeassistant/components/asterisk_cdr/mailbox.py
homeassistant/components/asterisk_mbox/*
homeassistant/components/asuswrt/device_tracker.py
homeassistant/components/aten_pe/*
homeassistant/components/atome/*
homeassistant/components/august/*
homeassistant/components/aurora_abb_powerone/sensor.py
homeassistant/components/automatic/device_tracker.py
homeassistant/components/avea/light.py
homeassistant/components/avion/light.py
homeassistant/components/avri/sensor.py
homeassistant/components/azure_event_hub/*
homeassistant/components/azure_service_bus/*
homeassistant/components/baidu/tts.py
@@ -85,21 +85,28 @@ omit =
homeassistant/components/blockchain/sensor.py
homeassistant/components/bloomsky/*
homeassistant/components/bluesound/*
homeassistant/components/bluetooth_le_tracker/device_tracker.py
homeassistant/components/bluetooth_tracker/*
homeassistant/components/bme280/sensor.py
homeassistant/components/bme680/sensor.py
homeassistant/components/bmp280/sensor.py
homeassistant/components/bmw_connected_drive/*
homeassistant/components/bom/camera.py
homeassistant/components/bom/sensor.py
homeassistant/components/bom/weather.py
homeassistant/components/braviatv/__init__.py
homeassistant/components/braviatv/const.py
homeassistant/components/braviatv/media_player.py
homeassistant/components/broadlink/const.py
homeassistant/components/broadlink/device.py
homeassistant/components/broadlink/remote.py
homeassistant/components/broadlink/sensor.py
homeassistant/components/broadlink/switch.py
homeassistant/components/brottsplatskartan/sensor.py
homeassistant/components/browser/*
homeassistant/components/brunt/cover.py
homeassistant/components/bsblan/__init__.py
homeassistant/components/bsblan/climate.py
homeassistant/components/bsblan/const.py
homeassistant/components/bt_home_hub_5/device_tracker.py
homeassistant/components/bt_smarthub/device_tracker.py
homeassistant/components/buienradar/sensor.py
@@ -109,13 +116,12 @@ omit =
homeassistant/components/canary/alarm_control_panel.py
homeassistant/components/canary/camera.py
homeassistant/components/cast/*
homeassistant/components/cert_expiry/sensor.py
homeassistant/components/cert_expiry/helper.py
homeassistant/components/channels/*
homeassistant/components/circuit/*
homeassistant/components/cisco_ios/device_tracker.py
homeassistant/components/cisco_mobility_express/device_tracker.py
homeassistant/components/cisco_webex_teams/notify.py
homeassistant/components/ciscospark/notify.py
homeassistant/components/citybikes/sensor.py
homeassistant/components/clementine/media_player.py
homeassistant/components/clickatell/notify.py
@@ -149,10 +155,12 @@ omit =
homeassistant/components/denon/media_player.py
homeassistant/components/denonavr/media_player.py
homeassistant/components/deutsche_bahn/sensor.py
homeassistant/components/devolo_home_control/__init__.py
homeassistant/components/devolo_home_control/const.py
homeassistant/components/devolo_home_control/switch.py
homeassistant/components/dht/sensor.py
homeassistant/components/digital_ocean/*
homeassistant/components/digitalloggers/switch.py
homeassistant/components/directv/media_player.py
homeassistant/components/discogs/sensor.py
homeassistant/components/discord/notify.py
homeassistant/components/dlib_face_detect/image_processing.py
@@ -168,7 +176,8 @@ omit =
homeassistant/components/dsmr_reader/*
homeassistant/components/dte_energy_bridge/sensor.py
homeassistant/components/dublin_bus_transport/sensor.py
homeassistant/components/duke_energy/sensor.py
homeassistant/components/dunehd/__init__.py
homeassistant/components/dunehd/const.py
homeassistant/components/dunehd/media_player.py
homeassistant/components/dwd_weather_warnings/sensor.py
homeassistant/components/dweet/*
@@ -183,6 +192,7 @@ omit =
homeassistant/components/ecobee/weather.py
homeassistant/components/econet/*
homeassistant/components/ecovacs/*
homeassistant/components/edl21/*
homeassistant/components/eddystone_temperature/sensor.py
homeassistant/components/edimax/switch.py
homeassistant/components/egardia/*
@@ -221,6 +231,7 @@ omit =
homeassistant/components/eufy/*
homeassistant/components/everlights/light.py
homeassistant/components/evohome/*
homeassistant/components/ezviz/*
homeassistant/components/familyhub/camera.py
homeassistant/components/fastdotcom/*
homeassistant/components/ffmpeg/camera.py
@@ -232,8 +243,12 @@ omit =
homeassistant/components/fleetgo/device_tracker.py
homeassistant/components/flexit/climate.py
homeassistant/components/flic/binary_sensor.py
homeassistant/components/flick_electric/__init__.py
homeassistant/components/flick_electric/const.py
homeassistant/components/flick_electric/sensor.py
homeassistant/components/flock/notify.py
homeassistant/components/flume/*
homeassistant/components/flunearyou/__init__.py
homeassistant/components/flunearyou/sensor.py
homeassistant/components/flux_led/light.py
homeassistant/components/folder/sensor.py
@@ -245,20 +260,26 @@ omit =
homeassistant/components/foscam/const.py
homeassistant/components/foursquare/*
homeassistant/components/free_mobile/notify.py
homeassistant/components/freebox/*
homeassistant/components/freebox/__init__.py
homeassistant/components/freebox/device_tracker.py
homeassistant/components/freebox/router.py
homeassistant/components/freebox/sensor.py
homeassistant/components/freebox/switch.py
homeassistant/components/fritz/device_tracker.py
homeassistant/components/fritzbox/*
homeassistant/components/fritzbox_callmonitor/sensor.py
homeassistant/components/fritzbox_netmonitor/sensor.py
homeassistant/components/fritzdect/switch.py
homeassistant/components/fronius/sensor.py
homeassistant/components/frontier_silicon/media_player.py
homeassistant/components/futurenow/light.py
homeassistant/components/garadget/cover.py
homeassistant/components/garmin_connect/__init__.py
homeassistant/components/garmin_connect/const.py
homeassistant/components/garmin_connect/sensor.py
homeassistant/components/gc100/*
homeassistant/components/geniushub/*
homeassistant/components/gearbest/sensor.py
homeassistant/components/geizhals/sensor.py
homeassistant/components/gios/__init__.py
homeassistant/components/gios/air_quality.py
homeassistant/components/github/sensor.py
homeassistant/components/gitlab_ci/sensor.py
homeassistant/components/gitter/sensor.py
@@ -266,7 +287,6 @@ omit =
homeassistant/components/glances/sensor.py
homeassistant/components/gntp/notify.py
homeassistant/components/goalfeed/*
homeassistant/components/gogogate2/cover.py
homeassistant/components/google/*
homeassistant/components/google_cloud/tts.py
homeassistant/components/google_maps/device_tracker.py
@@ -280,6 +300,10 @@ omit =
homeassistant/components/growatt_server/sensor.py
homeassistant/components/gstreamer/media_player.py
homeassistant/components/gtfs/sensor.py
homeassistant/components/guardian/__init__.py
homeassistant/components/guardian/binary_sensor.py
homeassistant/components/guardian/sensor.py
homeassistant/components/guardian/switch.py
homeassistant/components/habitica/*
homeassistant/components/hangouts/*
homeassistant/components/hangouts/__init__.py
@@ -297,29 +321,37 @@ omit =
homeassistant/components/hitron_coda/device_tracker.py
homeassistant/components/hive/*
homeassistant/components/hlk_sw16/*
homeassistant/components/home_connect/*
homeassistant/components/homematic/*
homeassistant/components/homematic/climate.py
homeassistant/components/homematic/cover.py
homeassistant/components/homematic/notify.py
homeassistant/components/homeworks/*
homeassistant/components/honeywell/climate.py
homeassistant/components/hook/switch.py
homeassistant/components/horizon/media_player.py
homeassistant/components/hp_ilo/sensor.py
homeassistant/components/htu21d/sensor.py
homeassistant/components/huawei_lte/*
homeassistant/components/huawei_router/device_tracker.py
homeassistant/components/hue/light.py
homeassistant/components/hunterdouglas_powerview/__init__.py
homeassistant/components/hunterdouglas_powerview/scene.py
homeassistant/components/hunterdouglas_powerview/sensor.py
homeassistant/components/hunterdouglas_powerview/cover.py
homeassistant/components/hunterdouglas_powerview/entity.py
homeassistant/components/hydrawise/*
homeassistant/components/hyperion/light.py
homeassistant/components/ialarm/alarm_control_panel.py
homeassistant/components/iammeter/sensor.py
homeassistant/components/iaqualink/binary_sensor.py
homeassistant/components/iaqualink/climate.py
homeassistant/components/iaqualink/light.py
homeassistant/components/iaqualink/sensor.py
homeassistant/components/iaqualink/switch.py
homeassistant/components/icloud/*
homeassistant/components/icloud/__init__.py
homeassistant/components/icloud/account.py
homeassistant/components/icloud/device_tracker.py
homeassistant/components/icloud/sensor.py
homeassistant/components/izone/climate.py
homeassistant/components/izone/discovery.py
homeassistant/components/izone/__init__.py
@@ -332,21 +364,39 @@ omit =
homeassistant/components/influxdb/sensor.py
homeassistant/components/insteon/*
homeassistant/components/incomfort/*
homeassistant/components/intesishome/*
homeassistant/components/ios/*
homeassistant/components/iota/*
homeassistant/components/iperf3/*
homeassistant/components/iqvia/*
homeassistant/components/irish_rail_transport/sensor.py
homeassistant/components/iss/binary_sensor.py
homeassistant/components/isy994/*
homeassistant/components/isy994/__init__.py
homeassistant/components/isy994/binary_sensor.py
homeassistant/components/isy994/climate.py
homeassistant/components/isy994/cover.py
homeassistant/components/isy994/entity.py
homeassistant/components/isy994/fan.py
homeassistant/components/isy994/helpers.py
homeassistant/components/isy994/light.py
homeassistant/components/isy994/lock.py
homeassistant/components/isy994/sensor.py
homeassistant/components/isy994/services.py
homeassistant/components/isy994/switch.py
homeassistant/components/itach/remote.py
homeassistant/components/itunes/media_player.py
homeassistant/components/joaoapps_join/*
homeassistant/components/juicenet/*
homeassistant/components/juicenet/__init__.py
homeassistant/components/juicenet/const.py
homeassistant/components/juicenet/device.py
homeassistant/components/juicenet/entity.py
homeassistant/components/juicenet/sensor.py
homeassistant/components/juicenet/switch.py
homeassistant/components/kaiterra/*
homeassistant/components/kankun/switch.py
homeassistant/components/keba/*
homeassistant/components/keenetic_ndms2/device_tracker.py
homeassistant/components/kef/*
homeassistant/components/keyboard/*
homeassistant/components/keyboard_remote/*
homeassistant/components/kira/*
@@ -380,7 +430,6 @@ omit =
homeassistant/components/linode/*
homeassistant/components/linux_battery/sensor.py
homeassistant/components/lirc/*
homeassistant/components/liveboxplaytv/media_player.py
homeassistant/components/llamalab_automate/notify.py
homeassistant/components/lockitron/lock.py
homeassistant/components/logi_circle/__init__.py
@@ -393,7 +442,13 @@ omit =
homeassistant/components/luftdaten/*
homeassistant/components/lupusec/*
homeassistant/components/lutron/*
homeassistant/components/lutron_caseta/*
homeassistant/components/lutron_caseta/__init__.py
homeassistant/components/lutron_caseta/binary_sensor.py
homeassistant/components/lutron_caseta/cover.py
homeassistant/components/lutron_caseta/fan.py
homeassistant/components/lutron_caseta/light.py
homeassistant/components/lutron_caseta/scene.py
homeassistant/components/lutron_caseta/switch.py
homeassistant/components/lw12wifi/light.py
homeassistant/components/lyft/sensor.py
homeassistant/components/magicseaweed/sensor.py
@@ -405,17 +460,32 @@ omit =
homeassistant/components/mcp23017/*
homeassistant/components/media_extractor/*
homeassistant/components/mediaroom/media_player.py
homeassistant/components/melcloud/__init__.py
homeassistant/components/melcloud/climate.py
homeassistant/components/melcloud/const.py
homeassistant/components/melcloud/sensor.py
homeassistant/components/melcloud/water_heater.py
homeassistant/components/message_bird/notify.py
homeassistant/components/met/weather.py
homeassistant/components/meteo_france/*
homeassistant/components/meteo_france/__init__.py
homeassistant/components/meteo_france/const.py
homeassistant/components/meteo_france/sensor.py
homeassistant/components/meteo_france/weather.py
homeassistant/components/meteoalarm/*
homeassistant/components/metoffice/sensor.py
homeassistant/components/metoffice/weather.py
homeassistant/components/microsoft/tts.py
homeassistant/components/miflora/sensor.py
homeassistant/components/mikrotik/*
homeassistant/components/mikrotik/hub.py
homeassistant/components/mikrotik/device_tracker.py
homeassistant/components/mill/__init__.py
homeassistant/components/mill/climate.py
homeassistant/components/mill/const.py
homeassistant/components/minecraft_server/__init__.py
homeassistant/components/minecraft_server/binary_sensor.py
homeassistant/components/minecraft_server/const.py
homeassistant/components/minecraft_server/helpers.py
homeassistant/components/minecraft_server/sensor.py
homeassistant/components/minio/*
homeassistant/components/mitemp_bt/sensor.py
homeassistant/components/mjpeg/camera.py
@@ -423,7 +493,6 @@ omit =
homeassistant/components/mochad/*
homeassistant/components/modbus/*
homeassistant/components/modem_callerid/sensor.py
homeassistant/components/mopar/*
homeassistant/components/mpchc/media_player.py
homeassistant/components/mpd/media_player.py
homeassistant/components/mqtt_room/sensor.py
@@ -432,7 +501,6 @@ omit =
homeassistant/components/mychevy/*
homeassistant/components/mycroft/*
homeassistant/components/mycroft/notify.py
homeassistant/components/myq/cover.py
homeassistant/components/mysensors/*
homeassistant/components/mystrom/binary_sensor.py
homeassistant/components/mystrom/light.py
@@ -447,19 +515,25 @@ omit =
homeassistant/components/nederlandse_spoorwegen/sensor.py
homeassistant/components/nello/lock.py
homeassistant/components/nest/*
homeassistant/components/netatmo/*
homeassistant/components/netatmo_public/sensor.py
homeassistant/components/netatmo/__init__.py
homeassistant/components/netatmo/api.py
homeassistant/components/netatmo/camera.py
homeassistant/components/netatmo/climate.py
homeassistant/components/netatmo/const.py
homeassistant/components/netatmo/sensor.py
homeassistant/components/netdata/sensor.py
homeassistant/components/netgear/device_tracker.py
homeassistant/components/netgear_lte/*
homeassistant/components/netio/switch.py
homeassistant/components/neurio_energy/sensor.py
homeassistant/components/nextcloud/*
homeassistant/components/nfandroidtv/notify.py
homeassistant/components/niko_home_control/light.py
homeassistant/components/nilu/air_quality.py
homeassistant/components/nissan_leaf/*
homeassistant/components/nmap_tracker/device_tracker.py
homeassistant/components/nmbs/sensor.py
homeassistant/components/notion/__init__.py
homeassistant/components/notion/binary_sensor.py
homeassistant/components/notion/sensor.py
homeassistant/components/noaa_tides/sensor.py
@@ -479,12 +553,21 @@ omit =
homeassistant/components/ombi/*
homeassistant/components/onewire/sensor.py
homeassistant/components/onkyo/media_player.py
homeassistant/components/onvif/__init__.py
homeassistant/components/onvif/base.py
homeassistant/components/onvif/binary_sensor.py
homeassistant/components/onvif/camera.py
homeassistant/components/onvif/device.py
homeassistant/components/onvif/event.py
homeassistant/components/onvif/parsers.py
homeassistant/components/onvif/sensor.py
homeassistant/components/opencv/*
homeassistant/components/openevse/sensor.py
homeassistant/components/openexchangerates/sensor.py
homeassistant/components/opengarage/cover.py
homeassistant/components/openhome/__init__.py
homeassistant/components/openhome/media_player.py
homeassistant/components/openhome/const.py
homeassistant/components/opensensemap/air_quality.py
homeassistant/components/opensky/sensor.py
homeassistant/components/opentherm_gw/__init__.py
@@ -496,13 +579,13 @@ omit =
homeassistant/components/openuv/sensor.py
homeassistant/components/openweathermap/sensor.py
homeassistant/components/openweathermap/weather.py
homeassistant/components/opnsense/*
homeassistant/components/opple/light.py
homeassistant/components/orangepi_gpio/*
homeassistant/components/oru/*
homeassistant/components/orvibo/switch.py
homeassistant/components/osramlightify/light.py
homeassistant/components/otp/sensor.py
homeassistant/components/owlet/*
homeassistant/components/panasonic_bluray/media_player.py
homeassistant/components/panasonic_viera/media_player.py
homeassistant/components/pandora/media_player.py
@@ -510,6 +593,8 @@ omit =
homeassistant/components/pencom/switch.py
homeassistant/components/philips_js/media_player.py
homeassistant/components/pi_hole/sensor.py
homeassistant/components/pi4ioe5v9xxxx/binary_sensor.py
homeassistant/components/pi4ioe5v9xxxx/switch.py
homeassistant/components/picotts/tts.py
homeassistant/components/piglow/light.py
homeassistant/components/pilight/*
@@ -518,16 +603,16 @@ omit =
homeassistant/components/pioneer/media_player.py
homeassistant/components/pjlink/media_player.py
homeassistant/components/plaato/*
homeassistant/components/plex/__init__.py
homeassistant/components/plex/media_player.py
homeassistant/components/plex/sensor.py
homeassistant/components/plex/server.py
homeassistant/components/plex/websockets.py
homeassistant/components/plugwise/*
homeassistant/components/plugwise/__init__.py
homeassistant/components/plugwise/binary_sensor.py
homeassistant/components/plugwise/climate.py
homeassistant/components/plugwise/sensor.py
homeassistant/components/plugwise/switch.py
homeassistant/components/plum_lightpad/*
homeassistant/components/pocketcasts/sensor.py
homeassistant/components/point/*
homeassistant/components/postnl/sensor.py
homeassistant/components/prezzibenzina/sensor.py
homeassistant/components/proliphix/climate.py
homeassistant/components/prometheus/*
@@ -538,7 +623,6 @@ omit =
homeassistant/components/pulseaudio_loopback/switch.py
homeassistant/components/pushbullet/notify.py
homeassistant/components/pushbullet/sensor.py
homeassistant/components/pushetta/notify.py
homeassistant/components/pushover/notify.py
homeassistant/components/pushsafer/notify.py
homeassistant/components/pvoutput/sensor.py
@@ -547,7 +631,7 @@ omit =
homeassistant/components/qnap/sensor.py
homeassistant/components/qrcode/image_processing.py
homeassistant/components/quantum_gateway/device_tracker.py
homeassistant/components/qwikswitch/*
homeassistant/components/qvr_pro/*
homeassistant/components/rachio/*
homeassistant/components/radarr/sensor.py
homeassistant/components/radiotherm/climate.py
@@ -577,11 +661,15 @@ omit =
homeassistant/components/ring/camera.py
homeassistant/components/ripple/sensor.py
homeassistant/components/rocketchat/notify.py
homeassistant/components/roku/*
homeassistant/components/roomba/binary_sensor.py
homeassistant/components/roomba/braava.py
homeassistant/components/roomba/irobot_base.py
homeassistant/components/roomba/roomba.py
homeassistant/components/roomba/sensor.py
homeassistant/components/roomba/vacuum.py
homeassistant/components/route53/*
homeassistant/components/rova/sensor.py
homeassistant/components/rpi_camera/camera.py
homeassistant/components/rpi_camera/*
homeassistant/components/rpi_gpio/*
homeassistant/components/rpi_gpio/cover.py
homeassistant/components/rpi_gpio_pwm/light.py
@@ -592,7 +680,9 @@ omit =
homeassistant/components/russound_rnet/media_player.py
homeassistant/components/sabnzbd/*
homeassistant/components/saj/sensor.py
homeassistant/components/salt/device_tracker.py
homeassistant/components/satel_integra/*
homeassistant/components/schluter/*
homeassistant/components/scrape/sensor.py
homeassistant/components/scsgate/*
homeassistant/components/scsgate/cover.py
@@ -601,6 +691,7 @@ omit =
homeassistant/components/sensehat/light.py
homeassistant/components/sensehat/sensor.py
homeassistant/components/sensibo/climate.py
homeassistant/components/sentry/__init__.py
homeassistant/components/serial/sensor.py
homeassistant/components/serial_pm/sensor.py
homeassistant/components/sesame/lock.py
@@ -626,8 +717,9 @@ omit =
homeassistant/components/smappee/*
homeassistant/components/smarty/*
homeassistant/components/smarthab/*
homeassistant/components/sms/*
homeassistant/components/smtp/notify.py
homeassistant/components/snapcast/media_player.py
homeassistant/components/snapcast/*
homeassistant/components/snmp/*
homeassistant/components/sochain/sensor.py
homeassistant/components/socialblade/sensor.py
@@ -640,23 +732,25 @@ omit =
homeassistant/components/soma/__init__.py
homeassistant/components/somfy/*
homeassistant/components/somfy_mylink/*
homeassistant/components/sonarr/sensor.py
homeassistant/components/songpal/*
homeassistant/components/sonos/*
homeassistant/components/sony_projector/switch.py
homeassistant/components/spc/*
homeassistant/components/speedtestdotnet/*
homeassistant/components/spider/*
homeassistant/components/spotcrime/sensor.py
homeassistant/components/spotify/__init__.py
homeassistant/components/spotify/media_player.py
homeassistant/components/squeezebox/*
homeassistant/components/starline/*
homeassistant/components/starlingbank/sensor.py
homeassistant/components/steam_online/sensor.py
homeassistant/components/stiebel_eltron/*
homeassistant/components/stookalert/*
homeassistant/components/stream/*
homeassistant/components/streamlabswater/*
homeassistant/components/suez_water/*
homeassistant/components/supervisord/sensor.py
homeassistant/components/surepetcare/*.py
homeassistant/components/swiss_hydrological_data/sensor.py
homeassistant/components/swiss_public_transport/sensor.py
homeassistant/components/swisscom/device_tracker.py
@@ -666,14 +760,17 @@ omit =
homeassistant/components/syncthru/sensor.py
homeassistant/components/synology/camera.py
homeassistant/components/synology_chat/notify.py
homeassistant/components/synology_dsm/__init__.py
homeassistant/components/synology_dsm/binary_sensor.py
homeassistant/components/synology_dsm/sensor.py
homeassistant/components/synology_srm/device_tracker.py
homeassistant/components/synologydsm/sensor.py
homeassistant/components/syslog/notify.py
homeassistant/components/systemmonitor/sensor.py
homeassistant/components/tado/*
homeassistant/components/tado/device_tracker.py
homeassistant/components/tahoma/*
homeassistant/components/tank_utility/sensor.py
homeassistant/components/tankerkoenig/*
homeassistant/components/tapsaff/binary_sensor.py
homeassistant/components/tautulli/sensor.py
homeassistant/components/ted5000/sensor.py
@@ -684,7 +781,14 @@ omit =
homeassistant/components/telnet/switch.py
homeassistant/components/temper/sensor.py
homeassistant/components/tensorflow/image_processing.py
homeassistant/components/tesla/*
homeassistant/components/tesla/__init__.py
homeassistant/components/tesla/binary_sensor.py
homeassistant/components/tesla/climate.py
homeassistant/components/tesla/const.py
homeassistant/components/tesla/device_tracker.py
homeassistant/components/tesla/lock.py
homeassistant/components/tesla/sensor.py
homeassistant/components/tesla/switch.py
homeassistant/components/tfiac/climate.py
homeassistant/components/thermoworks_smoke/sensor.py
homeassistant/components/thethingsnetwork/*
@@ -695,6 +799,7 @@ omit =
homeassistant/components/tikteck/light.py
homeassistant/components/tile/device_tracker.py
homeassistant/components/time_date/sensor.py
homeassistant/components/tmb/sensor.py
homeassistant/components/todoist/calendar.py
homeassistant/components/todoist/const.py
homeassistant/components/tof/sensor.py
@@ -703,8 +808,6 @@ omit =
homeassistant/components/torque/sensor.py
homeassistant/components/totalconnect/*
homeassistant/components/touchline/climate.py
homeassistant/components/tplink/device_tracker.py
homeassistant/components/tplink/light.py
homeassistant/components/tplink/switch.py
homeassistant/components/tplink_lte/*
homeassistant/components/traccar/device_tracker.py
@@ -726,13 +829,15 @@ omit =
homeassistant/components/twentemilieu/sensor.py
homeassistant/components/twilio_call/notify.py
homeassistant/components/twilio_sms/notify.py
homeassistant/components/twitch/sensor.py
homeassistant/components/twitter/notify.py
homeassistant/components/ubee/device_tracker.py
homeassistant/components/uber/sensor.py
homeassistant/components/ubus/device_tracker.py
homeassistant/components/ue_smart_radio/media_player.py
homeassistant/components/unifiled/*
homeassistant/components/upb/__init__.py
homeassistant/components/upb/const.py
homeassistant/components/upb/light.py
homeassistant/components/upb/scene.py
homeassistant/components/upcloud/*
homeassistant/components/upnp/*
homeassistant/components/upc_connect/*
@@ -745,11 +850,11 @@ omit =
homeassistant/components/velbus/climate.py
homeassistant/components/velbus/const.py
homeassistant/components/velbus/cover.py
homeassistant/components/velbus/light.py
homeassistant/components/velbus/sensor.py
homeassistant/components/velbus/switch.py
homeassistant/components/velux/*
homeassistant/components/venstar/climate.py
homeassistant/components/vera/*
homeassistant/components/verisure/*
homeassistant/components/versasense/*
homeassistant/components/vesync/__init__.py
@@ -758,8 +863,10 @@ omit =
homeassistant/components/vesync/switch.py
homeassistant/components/viaggiatreno/sensor.py
homeassistant/components/vicare/*
homeassistant/components/vilfo/__init__.py
homeassistant/components/vilfo/sensor.py
homeassistant/components/vilfo/const.py
homeassistant/components/vivotek/camera.py
homeassistant/components/vizio/media_player.py
homeassistant/components/vlc/media_player.py
homeassistant/components/vlc_telnet/media_player.py
homeassistant/components/volkszaehler/sensor.py
@@ -774,20 +881,28 @@ omit =
homeassistant/components/webostv/*
homeassistant/components/wemo/*
homeassistant/components/whois/sensor.py
homeassistant/components/wiffi/*
homeassistant/components/wink/*
homeassistant/components/wirelesstag/*
homeassistant/components/worldtidesinfo/sensor.py
homeassistant/components/worxlandroid/sensor.py
homeassistant/components/wunderlist/*
homeassistant/components/wwlln/__init__.py
homeassistant/components/wwlln/geo_location.py
homeassistant/components/x10/light.py
homeassistant/components/xbox_live/sensor.py
homeassistant/components/xeoma/camera.py
homeassistant/components/xfinity/device_tracker.py
homeassistant/components/xiaomi/camera.py
homeassistant/components/xiaomi_aqara/*
homeassistant/components/xiaomi_miio/*
homeassistant/components/xiaomi_miio/__init__.py
homeassistant/components/xiaomi_miio/air_quality.py
homeassistant/components/xiaomi_miio/alarm_control_panel.py
homeassistant/components/xiaomi_miio/device_tracker.py
homeassistant/components/xiaomi_miio/fan.py
homeassistant/components/xiaomi_miio/gateway.py
homeassistant/components/xiaomi_miio/light.py
homeassistant/components/xiaomi_miio/remote.py
homeassistant/components/xiaomi_miio/sensor.py
homeassistant/components/xiaomi_miio/switch.py
homeassistant/components/xiaomi_miio/vacuum.py
homeassistant/components/xiaomi_tv/media_player.py
homeassistant/components/xmpp/notify.py
homeassistant/components/xs1/*
@@ -802,10 +917,10 @@ omit =
homeassistant/components/zamg/weather.py
homeassistant/components/zengge/light.py
homeassistant/components/zeroconf/*
homeassistant/components/zerproc/__init__.py
homeassistant/components/zerproc/const.py
homeassistant/components/zestimate/sensor.py
homeassistant/components/zha/__init__.py
homeassistant/components/zha/api.py
homeassistant/components/zha/const.py
homeassistant/components/zha/core/channels/*
homeassistant/components/zha/core/const.py
homeassistant/components/zha/core/device.py
@@ -813,16 +928,20 @@ omit =
homeassistant/components/zha/core/helpers.py
homeassistant/components/zha/core/patches.py
homeassistant/components/zha/core/registries.py
homeassistant/components/zha/device_entity.py
homeassistant/components/zha/core/typing.py
homeassistant/components/zha/entity.py
homeassistant/components/zha/light.py
homeassistant/components/zha/sensor.py
homeassistant/components/zhong_hong/climate.py
homeassistant/components/zigbee/*
homeassistant/components/xbee/*
homeassistant/components/ziggo_mediabox_xl/media_player.py
homeassistant/components/zoneminder/*
homeassistant/components/supla/*
homeassistant/components/zwave/util.py
homeassistant/components/ozw/__init__.py
homeassistant/components/ozw/discovery.py
homeassistant/components/ozw/entity.py
homeassistant/components/ozw/services.py
[report]
# Regexes for lines to exclude from consideration

View File

@@ -1,4 +1,3 @@
// See https://aka.ms/vscode-remote/devcontainer.json for format details.
{
"name": "Home Assistant Dev",
"context": "..",

View File

@@ -2,9 +2,15 @@
.git
.github
config
docs
# Development
.devcontainer
.vscode
# Test related files
.tox
tests
# Other virtualization methods
venv

View File

@@ -1,47 +1,49 @@
<!-- READ THIS FIRST:
- If you need additional help with this template please refer to https://www.home-assistant.io/help/reporting_issues/
- Make sure you are running the latest version of Home Assistant before reporting an issue: https://github.com/home-assistant/home-assistant/releases
- Frontend issues should be submitted to the home-assistant-polymer repository: https://github.com/home-assistant/home-assistant-polymer/issues
- iOS issues should be submitted to the home-assistant-iOS repository: https://github.com/home-assistant/home-assistant-iOS/issues
- Do not report issues for integrations if you are using custom integration: files in <config-dir>/custom_components
- This is for bugs only. Feature and enhancement requests should go in our community forum: https://community.home-assistant.io/c/feature-requests
- Provide as many details as possible. Paste logs, configuration sample and code into the backticks. Do not delete any text from this template!
- If you need additional help with this template, please refer to https://www.home-assistant.io/help/reporting_issues/
- Make sure you are running the latest version of Home Assistant before reporting an issue: https://github.com/home-assistant/core/releases
- Do not report issues for integrations if you are using custom components or integrations.
- Provide as many details as possible. Paste logs, configuration samples and code into the backticks.
DO NOT DELETE ANY TEXT from this template! Otherwise, your issue may be closed without comment.
-->
## The problem
<!--
Describe the issue you are experiencing here to communicate to the
maintainers. Tell us what you were trying to do and what happened.
-->
**Home Assistant release with the issue:**
## Environment
<!--
- Frontend -> Developer tools -> Info
- Or use this command: hass --version
Provide details about the versions you are using, which helps us to reproduce
and find the issue quicker. Version information is found in the
Home Assistant frontend: Developer tools -> Info.
-->
- Home Assistant Core release with the issue:
- Last working Home Assistant Core release (if known):
- Operating environment (Home Assistant/Supervised/Docker/venv):
- Integration causing this issue:
- Link to integration documentation on our website:
**Last working Home Assistant release (if known):**
**Operating environment (Hass.io/Docker/Windows/etc.):**
## Problem-relevant `configuration.yaml`
<!--
Please provide details about your environment.
An example configuration that caused the problem for you. Fill this out even
if it seems unimportant to you. Please be sure to remove personal information
like passwords, private URLs and other credentials.
-->
**Integration:**
<!--
Please add the link to the documentation at https://www.home-assistant.io/integrations/ of the integration in question.
-->
**Description of problem:**
**Problem-relevant `configuration.yaml` entries and (fill out even if it seems unimportant):**
```yaml
```
**Traceback (if applicable):**
```
## Traceback/Error logs
<!--
If you come across any trace or error logs, please provide them.
-->
```txt
```
**Additional information:**
## Additional information

53
.github/ISSUE_TEMPLATE/BUG_REPORT.md vendored Normal file
View File

@@ -0,0 +1,53 @@
---
name: Report a bug with Home Assistant Core
about: Report an issue with Home Assistant Core
---
<!-- READ THIS FIRST:
- If you need additional help with this template, please refer to https://www.home-assistant.io/help/reporting_issues/
- Make sure you are running the latest version of Home Assistant before reporting an issue: https://github.com/home-assistant/core/releases
- Do not report issues for integrations if you are using custom components or integrations.
- Provide as many details as possible. Paste logs, configuration samples and code into the backticks.
DO NOT DELETE ANY TEXT from this template! Otherwise, your issue may be closed without comment.
-->
## The problem
<!--
Describe the issue you are experiencing here to communicate to the
maintainers. Tell us what you were trying to do and what happened.
-->
## Environment
<!--
Provide details about the versions you are using, which helps us to reproduce
and find the issue quicker. Version information is found in the
Home Assistant frontend: Developer tools -> Info.
-->
- Home Assistant Core release with the issue:
- Last working Home Assistant Core release (if known):
- Operating environment (Home Assistant/Supervised/Docker/venv):
- Integration causing this issue:
- Link to integration documentation on our website:
## Problem-relevant `configuration.yaml`
<!--
An example configuration that caused the problem for you. Fill this out even
if it seems unimportant to you. Please be sure to remove personal information
like passwords, private URLs and other credentials.
-->
```yaml
```
## Traceback/Error logs
<!--
If you come across any trace or error logs, please provide them.
-->
```txt
```
## Additional information

View File

@@ -1,52 +0,0 @@
---
name: Bug report
about: Create a report to help us improve
---
<!-- READ THIS FIRST:
- If you need additional help with this template please refer to https://www.home-assistant.io/help/reporting_issues/
- Make sure you are running the latest version of Home Assistant before reporting an issue: https://github.com/home-assistant/home-assistant/releases
- Frontend issues should be submitted to the home-assistant-polymer repository: https://github.com/home-assistant/home-assistant-polymer/issues
- iOS issues should be submitted to the home-assistant-iOS repository: https://github.com/home-assistant/home-assistant-iOS/issues
- Do not report issues for integrations if you are using a custom integration: files in <config-dir>/custom_components
- This is for bugs only. Feature and enhancement requests should go in our community forum: https://community.home-assistant.io/c/feature-requests
- Provide as many details as possible. Paste logs, configuration sample and code into the backticks. Do not delete any text from this template!
-->
**Home Assistant release with the issue:**
<!--
- Frontend -> Developer tools -> Info
- Or use this command: hass --version
-->
**Last working Home Assistant release (if known):**
**Operating environment (Hass.io/Docker/Windows/etc.):**
<!--
Please provide details about your environment.
-->
**Integration:**
<!--
Please add the link to the documentation at https://www.home-assistant.io/integrations/ of the integration in question.
-->
**Description of problem:**
**Problem-relevant `configuration.yaml` entries and (fill out even if it seems unimportant):**
```yaml
```
**Traceback (if applicable):**
```
```
**Additional information:**

17
.github/ISSUE_TEMPLATE/config.yml vendored Normal file
View File

@@ -0,0 +1,17 @@
blank_issues_enabled: false
contact_links:
- name: Report a bug with the UI, Frontend or Lovelace
url: https://github.com/home-assistant/frontend/issues
about: This is the issue tracker for our backend. Please report issues with the UI in the frontend repository.
- name: Report incorrect or missing information on our website
url: https://github.com/home-assistant/home-assistant.io/issues
about: Our documentation has its own issue tracker. Please report issues with the website there.
- name: I have a question or need support
url: https://www.home-assistant.io/help
about: We use GitHub for tracking bugs, check our website for resources on getting help.
- name: Feature Request
url: https://community.home-assistant.io/c/feature-requests
about: Please use our Community Forum for making feature requests.
- name: I'm unsure where to go
url: https://www.home-assistant.io/join-chat
about: If you are unsure where to go, then joining our chat is recommended; Just ask!

View File

@@ -1,35 +1,109 @@
## Breaking Change:
<!-- What is breaking and why we have to break it. Remove this section only if it was NOT a breaking change. -->
## Description:
<!--
You are amazing! Thanks for contributing to our project!
Please, DO NOT DELETE ANY TEXT from this template! (unless instructed).
-->
## Breaking change
<!--
If your PR contains a breaking change for existing users, it is important
to tell them what breaks, how to make it work again and why we did this.
This piece of text is published with the release notes, so it helps if you
write it towards our users, not us.
Note: Remove this section if this PR is NOT a breaking change.
-->
**Related issue (if applicable):** fixes #<home-assistant issue number goes here>
## Proposed change
<!--
Describe the big picture of your changes here to communicate to the
maintainers why we should accept this pull request. If it fixes a bug
or resolves a feature request, be sure to link to that issue in the
additional information section.
-->
**Pull request with documentation for [home-assistant.io](https://github.com/home-assistant/home-assistant.io) (if applicable):** home-assistant/home-assistant.io#<home-assistant.io PR number goes here>
## Example entry for `configuration.yaml` (if applicable):
## Type of change
<!--
What type of change does your PR introduce to Home Assistant?
NOTE: Please, check only 1! box!
If your PR requires multiple boxes to be checked, you'll most likely need to
split it into multiple PRs. This makes things easier and faster to code review.
-->
- [ ] Dependency upgrade
- [ ] Bugfix (non-breaking change which fixes an issue)
- [ ] New integration (thank you!)
- [ ] New feature (which adds functionality to an existing integration)
- [ ] Breaking change (fix/feature causing existing functionality to break)
- [ ] Code quality improvements to existing code or addition of tests
## Example entry for `configuration.yaml`:
<!--
Supplying a configuration snippet, makes it easier for a maintainer to test
your PR. Furthermore, for new integrations, it gives an impression of how
the configuration would look like.
Note: Remove this section if this PR does not have an example entry.
-->
```yaml
# Example configuration.yaml
```
## Checklist:
- [ ] The code change is tested and works locally.
- [ ] Local tests pass with `tox`. **Your PR cannot be merged unless tests pass**
- [ ] There is no commented out code in this PR.
- [ ] I have followed the [development checklist][dev-checklist]
## Additional information
<!--
Details are important, and help maintainers processing your PR.
Please be sure to fill out additional details, if applicable.
-->
- This PR fixes or closes issue: fixes #
- This PR is related to issue:
- Link to documentation pull request:
## Checklist
<!--
Put an `x` in the boxes that apply. You can also fill these out after
creating the PR. If you're unsure about any of them, don't hesitate to ask.
We're here to help! This is simply a reminder of what we are going to look
for before merging your code.
-->
- [ ] The code change is tested and works locally.
- [ ] Local tests pass. **Your PR cannot be merged unless tests pass**
- [ ] There is no commented out code in this PR.
- [ ] I have followed the [development checklist][dev-checklist]
- [ ] The code has been formatted using Black (`black --fast homeassistant tests`)
- [ ] Tests have been added to verify that the new code works.
If user exposed functionality or configuration variables are added/changed:
- [ ] Documentation added/updated in [home-assistant.io](https://github.com/home-assistant/home-assistant.io)
- [ ] Documentation added/updated for [www.home-assistant.io][docs-repository]
If the code communicates with devices, web services, or third-party tools:
- [ ] [_The manifest file_][manifest-docs] has all fields filled out correctly. Update and include derived files by running `python3 -m script.hassfest`.
- [ ] New or updated dependencies have been added to `requirements_all.txt` by running `python3 -m script.gen_requirements_all`.
- [ ] Untested files have been added to `.coveragerc`.
If the code does not interact with devices:
- [ ] Tests have been added to verify that the new code works.
- [ ] The [manifest file][manifest-docs] has all fields filled out correctly.
Updated and included derived files by running: `python3 -m script.hassfest`.
- [ ] New or updated dependencies have been added to `requirements_all.txt`.
Updated by running `python3 -m script.gen_requirements_all`.
- [ ] Untested files have been added to `.coveragerc`.
The integration reached or maintains the following [Integration Quality Scale][quality-scale]:
<!--
The Integration Quality Scale scores an integration on the code quality
and user experience. Each level of the quality scale consists of a list
of requirements. We highly recommend getting your integration scored!
-->
- [ ] No score or internal
- [ ] 🥈 Silver
- [ ] 🥇 Gold
- [ ] 🏆 Platinum
<!--
Thank you for contributing <3
Below, some useful links you could explore:
-->
[dev-checklist]: https://developers.home-assistant.io/docs/en/development_checklist.html
[manifest-docs]: https://developers.home-assistant.io/docs/en/creating_integration_manifest.html
[quality-scale]: https://developers.home-assistant.io/docs/en/next/integration_quality_scale_index.html
[docs-repository]: https://github.com/home-assistant/home-assistant.io

2
.github/lock.yml vendored
View File

@@ -24,4 +24,4 @@ only: pulls
# Optionally, specify configuration settings just for `issues` or `pulls`
issues:
daysUntilLock: 30
daysUntilLock: 30

13
.github/stale.yml vendored
View File

@@ -52,4 +52,15 @@ markComment: >
limitPerRun: 30
# Limit to only `issues` or `pulls`
only: issues
# only: issues
# Handle pull requests a little bit faster and with an adjusted comment.
pulls:
daysUntilStale: 30
exemptProjects: false
markComment: >
There hasn't been any activity on this pull request recently. This pull
request has been automatically marked as stale because of that and will
be closed if no further activity occurs within 7 days.
Thank you for your contributions.

1
.gitignore vendored
View File

@@ -106,6 +106,7 @@ virtualization/vagrant/config
!.vscode/cSpell.json
!.vscode/extensions.json
!.vscode/tasks.json
.env
# Built docs
docs/build

5
.hadolint.yaml Normal file
View File

@@ -0,0 +1,5 @@
ignored:
- DL3006
- DL3008
- DL3013
- DL3018

View File

@@ -1,2 +0,0 @@
python:
enabled: true

View File

@@ -1,51 +0,0 @@
# This configuration includes the full set of hooks we use. In
# addition to the defaults (see .pre-commit-config.yaml), this
# includes hooks that require our development and test dependencies
# installed and the virtualenv containing them active by the time
# pre-commit runs to produce correct results.
#
# If this is not a problem for your workflow, using this config is
# recommended, install it with
# pre-commit install --config .pre-commit-config-all.yaml
# Otherwise, see the default .pre-commit-config.yaml for a lighter one.
repos:
- repo: https://github.com/psf/black
rev: 19.10b0
hooks:
- id: black
args:
- --safe
- --quiet
files: ^((homeassistant|script|tests)/.+)?[^/]+\.py$
- repo: https://github.com/PyCQA/flake8
rev: 3.7.9
hooks:
- id: flake8
additional_dependencies:
- flake8-docstrings==1.5.0
- pydocstyle==4.0.1
files: ^(homeassistant|script|tests)/.+\.py$
- repo: https://github.com/PyCQA/bandit
rev: 1.6.2
hooks:
- id: bandit
args:
- --quiet
- --format=custom
- --configfile=tests/bandit.yaml
files: ^(homeassistant|script|tests)/.+\.py$
# Using a local "system" mypy instead of the mypy hook, because its
# results depend on what is installed. And the mypy hook runs in a
# virtualenv of its own, meaning we'd need to install and maintain
# another set of our dependencies there... no. Use the "system" one
# and reuse the environment that is set up anyway already instead.
- repo: local
hooks:
- id: mypy
name: mypy
entry: mypy
language: system
types: [python]
require_serial: true
files: ^homeassistant/.+\.py$

View File

@@ -1,28 +1,35 @@
# This configuration includes the default, minimal set of hooks to be
# run on all commits. It requires no specific setup and one can just
# start using pre-commit with it.
#
# See .pre-commit-config-all.yaml for a more complete one that comes
# with a better coverage at the cost of some specific setup needed.
repos:
- repo: https://github.com/psf/black
- repo: https://github.com/asottile/pyupgrade
rev: v2.3.0
hooks:
- id: pyupgrade
args: [--py37-plus]
- repo: https://github.com/psf/black
rev: 19.10b0
hooks:
- id: black
- id: black
args:
- --safe
- --quiet
files: ^((homeassistant|script|tests)/.+)?[^/]+\.py$
- repo: https://gitlab.com/pycqa/flake8
rev: 3.7.9
- repo: https://github.com/codespell-project/codespell
rev: v1.16.0
hooks:
- id: flake8
- id: codespell
args:
- --ignore-words-list=hass,alot,datas,dof,dur,farenheit,hist,iff,ines,ist,lightsensor,mut,nd,pres,referer,ser,serie,te,technik,ue,uint,visability,wan,wanna,withing
- --skip="./.*,*.csv,*.json"
- --quiet-level=2
exclude_types: [csv, json]
- repo: https://gitlab.com/pycqa/flake8
rev: 3.8.1
hooks:
- id: flake8
additional_dependencies:
- flake8-docstrings==1.5.0
- pydocstyle==4.0.1
- pydocstyle==5.0.2
files: ^(homeassistant|script|tests)/.+\.py$
- repo: https://github.com/PyCQA/bandit
- repo: https://github.com/PyCQA/bandit
rev: 1.6.2
hooks:
- id: bandit
@@ -31,3 +38,54 @@ repos:
- --format=custom
- --configfile=tests/bandit.yaml
files: ^(homeassistant|script|tests)/.+\.py$
- repo: https://github.com/pre-commit/mirrors-isort
rev: v4.3.21
hooks:
- id: isort
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v2.4.0
hooks:
- id: check-executables-have-shebangs
stages: [manual]
- id: check-json
- id: no-commit-to-branch
args:
- --branch=dev
- --branch=master
- --branch=rc
- repo: https://github.com/adrienverge/yamllint.git
rev: v1.23.0
hooks:
- id: yamllint
- repo: https://github.com/prettier/prettier
rev: 2.0.4
hooks:
- id: prettier
stages: [manual]
- repo: local
hooks:
# Run mypy through our wrapper script in order to get the possible
# pyenv and/or virtualenv activated; it may not have been e.g. if
# committing from a GUI tool that was not launched from an activated
# shell.
- id: mypy
name: mypy
entry: script/run-in-env.sh mypy
language: script
types: [python]
require_serial: true
files: ^homeassistant/.+\.py$
- id: gen_requirements_all
name: gen_requirements_all
entry: script/run-in-env.sh python3 -m script.gen_requirements_all
pass_filenames: false
language: script
types: [text]
files: ^(homeassistant/.+/manifest\.json|\.pre-commit-config\.yaml)$
- id: hassfest
name: hassfest
entry: script/run-in-env.sh python3 -m script.hassfest
pass_filenames: false
language: script
types: [json]
files: ^homeassistant/.+/(manifest|strings)\.json$

5
.prettierignore Normal file
View File

@@ -0,0 +1,5 @@
*.md
azure-*.yml
docs/source/_templates/*
homeassistant/components/*/translations/*.json
tests/fixtures/*

View File

@@ -4,7 +4,7 @@ build:
image: latest
python:
version: 3.6
version: 3.7
setup_py_install: true
requirements_file: requirements_docs.txt

View File

@@ -1,9 +1,7 @@
sudo: false
dist: xenial
dist: bionic
addons:
apt:
sources:
- sourceline: "ppa:jonathonf/ffmpeg-4"
packages:
- libudev-dev
- libavformat-dev
@@ -13,18 +11,19 @@ addons:
- libswscale-dev
- libswresample-dev
- libavfilter-dev
sources:
- sourceline: ppa:savoury1/ffmpeg4
matrix:
fast_finish: true
include:
- python: "3.6.1"
- python: "3.7.0"
env: TOXENV=lint
- python: "3.6.1"
- python: "3.7.0"
env: TOXENV=pylint PYLINT_ARGS=--jobs=0 TRAVIS_WAIT=30
- python: "3.6.1"
- python: "3.7.0"
env: TOXENV=typing
- python: "3.6.1"
env: TOXENV=py36
- python: "3.7"
- python: "3.7.0"
env: TOXENV=py37
cache:

3
.vscode/extensions.json vendored Normal file
View File

@@ -0,0 +1,3 @@
{
"recommendations": ["esbenp.prettier-vscode", "ms-python.python"]
}

61
.yamllint Normal file
View File

@@ -0,0 +1,61 @@
ignore: |
azure-*.yml
rules:
braces:
level: error
min-spaces-inside: 0
max-spaces-inside: 1
min-spaces-inside-empty: -1
max-spaces-inside-empty: -1
brackets:
level: error
min-spaces-inside: 0
max-spaces-inside: 0
min-spaces-inside-empty: -1
max-spaces-inside-empty: -1
colons:
level: error
max-spaces-before: 0
max-spaces-after: 1
commas:
level: error
max-spaces-before: 0
min-spaces-after: 1
max-spaces-after: 1
comments:
level: error
require-starting-space: true
min-spaces-from-content: 2
comments-indentation:
level: error
document-end:
level: error
present: false
document-start:
level: error
present: false
empty-lines:
level: error
max: 1
max-start: 0
max-end: 1
hyphens:
level: error
max-spaces-after: 1
indentation:
level: error
spaces: 2
indent-sequences: true
check-multi-line-strings: false
key-duplicates:
level: error
line-length: disable
new-line-at-end-of-file:
level: error
new-lines:
level: error
type: unix
trailing-spaces:
level: error
truthy:
level: error

View File

@@ -14,15 +14,19 @@ homeassistant/scripts/check_config.py @kellerza
# Integrations
homeassistant/components/abode/* @shred86
homeassistant/components/acmeda/* @atmurray
homeassistant/components/adguard/* @frenck
homeassistant/components/agent_dvr/* @ispysoftware
homeassistant/components/airly/* @bieniu
homeassistant/components/airvisual/* @bachya
homeassistant/components/alarmdecoder/* @ajschmidt8
homeassistant/components/alexa/* @home-assistant/cloud @ochlocracy
homeassistant/components/almond/* @gcampax @balloob
homeassistant/components/alpha_vantage/* @fabaff
homeassistant/components/amazon_polly/* @robbiet480
homeassistant/components/ambiclimate/* @danielhiversen
homeassistant/components/ambient_station/* @bachya
homeassistant/components/amcrest/* @pnbruckner
homeassistant/components/androidtv/* @JeffLIrion
homeassistant/components/apache_kafka/* @bachya
homeassistant/components/api/* @home-assistant/core
@@ -31,34 +35,43 @@ homeassistant/components/aprs/* @PhilRW
homeassistant/components/arcam_fmj/* @elupus
homeassistant/components/arduino/* @fabaff
homeassistant/components/arest/* @fabaff
homeassistant/components/arris_tg2492lg/* @vanbalken
homeassistant/components/asuswrt/* @kennedyshead
homeassistant/components/atag/* @MatsNL
homeassistant/components/aten_pe/* @mtdcr
homeassistant/components/atome/* @baqs
homeassistant/components/august/* @bdraco
homeassistant/components/aurora_abb_powerone/* @davet2001
homeassistant/components/auth/* @home-assistant/core
homeassistant/components/automatic/* @armills
homeassistant/components/automation/* @home-assistant/core
homeassistant/components/avea/* @pattyland
homeassistant/components/avri/* @timvancann
homeassistant/components/awair/* @danielsjf
homeassistant/components/aws/* @awarecan @robbiet480
homeassistant/components/axis/* @kane610
homeassistant/components/axis/* @Kane610
homeassistant/components/azure_event_hub/* @eavanvalkenburg
homeassistant/components/azure_service_bus/* @hfurubotten
homeassistant/components/beewi_smartclim/* @alemuro
homeassistant/components/bitcoin/* @fabaff
homeassistant/components/bizkaibus/* @UgaitzEtxebarria
homeassistant/components/blebox/* @gadgetmobile
homeassistant/components/blink/* @fronzbot
homeassistant/components/bmp280/* @belidzs
homeassistant/components/bmw_connected_drive/* @gerard33
homeassistant/components/braviatv/* @robbiet480
homeassistant/components/bom/* @maddenp
homeassistant/components/braviatv/* @robbiet480 @bieniu
homeassistant/components/broadlink/* @danielhiversen @felipediel
homeassistant/components/brother/* @bieniu
homeassistant/components/brunt/* @eavanvalkenburg
homeassistant/components/bsblan/* @liudger
homeassistant/components/bt_smarthub/* @jxwolstenholme
homeassistant/components/buienradar/* @mjj4791 @ties
homeassistant/components/cast/* @emontnemery
homeassistant/components/cert_expiry/* @Cereal2nd @jjlawren
homeassistant/components/circuit/* @braam
homeassistant/components/cisco_ios/* @fbradyirl
homeassistant/components/cisco_mobility_express/* @fbradyirl
homeassistant/components/cisco_webex_teams/* @fbradyirl
homeassistant/components/ciscospark/* @fbradyirl
homeassistant/components/cloud/* @home-assistant/cloud
homeassistant/components/cloudflare/* @ludeeus
homeassistant/components/comfoconnect/* @michaelarnauts
@@ -66,28 +79,39 @@ homeassistant/components/config/* @home-assistant/core
homeassistant/components/configurator/* @home-assistant/core
homeassistant/components/conversation/* @home-assistant/core
homeassistant/components/coolmaster/* @OnFreund
homeassistant/components/coronavirus/* @home_assistant/core
homeassistant/components/counter/* @fabaff
homeassistant/components/cover/* @home-assistant/core
homeassistant/components/cpuspeed/* @fabaff
homeassistant/components/cups/* @fabaff
homeassistant/components/daikin/* @fredrike @rofrantz
homeassistant/components/daikin/* @fredrike
homeassistant/components/darksky/* @fabaff
homeassistant/components/deconz/* @kane610
homeassistant/components/delijn/* @bollewolle
homeassistant/components/deconz/* @Kane610
homeassistant/components/delijn/* @bollewolle @Emilv2
homeassistant/components/demo/* @home-assistant/core
homeassistant/components/denonavr/* @scarface-4711 @starkillerOG
homeassistant/components/derivative/* @afaucogney
homeassistant/components/device_automation/* @home-assistant/core
homeassistant/components/devolo_home_control/* @2Fake @Shutgun
homeassistant/components/digital_ocean/* @fabaff
homeassistant/components/directv/* @ctalkington
homeassistant/components/discogs/* @thibmaek
homeassistant/components/doorbird/* @oblogic7
homeassistant/components/doorbird/* @oblogic7 @bdraco
homeassistant/components/dsmr_reader/* @depl0y
homeassistant/components/dunehd/* @bieniu
homeassistant/components/dweet/* @fabaff
homeassistant/components/dynalite/* @ziv1234
homeassistant/components/dyson/* @etheralm
homeassistant/components/ecobee/* @marthoc
homeassistant/components/ecovacs/* @OverloadUT
homeassistant/components/edl21/* @mtdcr
homeassistant/components/egardia/* @jeroenterheerdt
homeassistant/components/eight_sleep/* @mezz64
homeassistant/components/elgato/* @frenck
homeassistant/components/elkm1/* @bdraco
homeassistant/components/elv/* @majuss
homeassistant/components/emby/* @mezz64
homeassistant/components/emulated_hue/* @NobleKangaroo
homeassistant/components/emoncms/* @borpin
homeassistant/components/enigma2/* @fbradyirl
homeassistant/components/enocean/* @bdurrer
homeassistant/components/entur_public_transport/* @hfurubotten
@@ -98,38 +122,47 @@ homeassistant/components/eq3btsmart/* @rytilahti
homeassistant/components/esphome/* @OttoWinter
homeassistant/components/essent/* @TheLastProject
homeassistant/components/evohome/* @zxdavb
homeassistant/components/ezviz/* @baqs
homeassistant/components/fastdotcom/* @rohankapoorcom
homeassistant/components/file/* @fabaff
homeassistant/components/filter/* @dgomes
homeassistant/components/fitbit/* @robbiet480
homeassistant/components/fixer/* @fabaff
homeassistant/components/flick_electric/* @ZephireNZ
homeassistant/components/flock/* @fabaff
homeassistant/components/flume/* @ChrisMandich
homeassistant/components/flume/* @ChrisMandich @bdraco
homeassistant/components/flunearyou/* @bachya
homeassistant/components/forked_daapd/* @uvjustin
homeassistant/components/fortigate/* @kifeo
homeassistant/components/fortios/* @kimfrellsen
homeassistant/components/foscam/* @skgsergio
homeassistant/components/foursquare/* @robbiet480
homeassistant/components/freebox/* @snoof85
homeassistant/components/freebox/* @snoof85 @Quentame
homeassistant/components/fronius/* @nielstron
homeassistant/components/frontend/* @home-assistant/frontend
homeassistant/components/gearbest/* @HerrHofrat
homeassistant/components/garmin_connect/* @cyberjunky
homeassistant/components/gdacs/* @exxamalte
homeassistant/components/geniushub/* @zxdavb
homeassistant/components/geo_rss_events/* @exxamalte
homeassistant/components/geonetnz_quakes/* @exxamalte
homeassistant/components/geonetnz_volcano/* @exxamalte
homeassistant/components/gios/* @bieniu
homeassistant/components/gitter/* @fabaff
homeassistant/components/glances/* @fabaff @engrbm87
homeassistant/components/gntp/* @robbiet480
homeassistant/components/gogogate2/* @vangorra
homeassistant/components/google_assistant/* @home-assistant/cloud
homeassistant/components/google_cloud/* @lufton
homeassistant/components/google_translate/* @awarecan
homeassistant/components/google_travel_time/* @robbiet480
homeassistant/components/gpsd/* @fabaff
homeassistant/components/greeneye_monitor/* @jkeljo
homeassistant/components/griddy/* @bdraco
homeassistant/components/group/* @home-assistant/core
homeassistant/components/growatt_server/* @indykoning
homeassistant/components/gtfs/* @robbiet480
homeassistant/components/harmony/* @ehendrix23
homeassistant/components/guardian/* @bachya
homeassistant/components/harmony/* @ehendrix23 @bramkragten @bdraco
homeassistant/components/hassio/* @home-assistant/hass-io
homeassistant/components/heatmiser/* @andylockran
homeassistant/components/heos/* @andrewsayre
@@ -138,19 +171,23 @@ homeassistant/components/hikvision/* @mezz64
homeassistant/components/hikvisioncam/* @fbradyirl
homeassistant/components/hisense_aehw4a1/* @bannhead
homeassistant/components/history/* @home-assistant/core
homeassistant/components/history_graph/* @andrey-git
homeassistant/components/hive/* @Rendili @KJonline
homeassistant/components/home_connect/* @DavidMStraub
homeassistant/components/homeassistant/* @home-assistant/core
homeassistant/components/homekit/* @bdraco
homeassistant/components/homekit_controller/* @Jc2k
homeassistant/components/homematic/* @pvizeli @danielperna84
homeassistant/components/homematicip_cloud/* @SukramJ
homeassistant/components/honeywell/* @zxdavb
homeassistant/components/html5/* @robbiet480
homeassistant/components/http/* @home-assistant/core
homeassistant/components/huawei_lte/* @scop
homeassistant/components/huawei_lte/* @scop @fphammerle
homeassistant/components/huawei_router/* @abmantis
homeassistant/components/hue/* @balloob
homeassistant/components/hunterdouglas_powerview/* @bdraco
homeassistant/components/iammeter/* @lewei50
homeassistant/components/iaqualink/* @flz
homeassistant/components/icloud/* @Quentame
homeassistant/components/ign_sismologia/* @exxamalte
homeassistant/components/incomfort/* @zxdavb
homeassistant/components/influxdb/* @fabaff
@@ -159,30 +196,36 @@ homeassistant/components/input_datetime/* @home-assistant/core
homeassistant/components/input_number/* @home-assistant/core
homeassistant/components/input_select/* @home-assistant/core
homeassistant/components/input_text/* @home-assistant/core
homeassistant/components/insteon/* @teharris1
homeassistant/components/integration/* @dgomes
homeassistant/components/intent/* @home-assistant/core
homeassistant/components/intesishome/* @jnimmo
homeassistant/components/ios/* @robbiet480
homeassistant/components/iperf3/* @rohankapoorcom
homeassistant/components/ipma/* @dgomes
homeassistant/components/ipma/* @dgomes @abmantis
homeassistant/components/ipp/* @ctalkington
homeassistant/components/iqvia/* @bachya
homeassistant/components/irish_rail_transport/* @ttroy50
homeassistant/components/islamic_prayer_times/* @engrbm87
homeassistant/components/isy994/* @bdraco @shbatm
homeassistant/components/izone/* @Swamp-Ig
homeassistant/components/jewish_calendar/* @tsvi
homeassistant/components/juicenet/* @jesserockz
homeassistant/components/kaiterra/* @Michsior14
homeassistant/components/keba/* @dannerph
homeassistant/components/keenetic_ndms2/* @foxel
homeassistant/components/kef/* @basnijholt
homeassistant/components/keyboard_remote/* @bendavid
homeassistant/components/knx/* @Julius2342
homeassistant/components/kodi/* @armills
homeassistant/components/konnected/* @heythisisnate
homeassistant/components/konnected/* @heythisisnate @kit-klein
homeassistant/components/lametric/* @robbiet480
homeassistant/components/launch_library/* @ludeeus
homeassistant/components/lcn/* @alengwenus
homeassistant/components/life360/* @pnbruckner
homeassistant/components/linky/* @Quentame
homeassistant/components/linux_battery/* @fabaff
homeassistant/components/liveboxplaytv/* @pschmitt
homeassistant/components/local_ip/* @issacg
homeassistant/components/logger/* @home-assistant/core
homeassistant/components/logi_circle/* @evanjd
homeassistant/components/lovelace/* @home-assistant/frontend
@@ -190,33 +233,42 @@ homeassistant/components/luci/* @fbradyirl @mzdrale
homeassistant/components/luftdaten/* @fabaff
homeassistant/components/lupusec/* @majuss
homeassistant/components/lutron/* @JonGilmore
homeassistant/components/lutron_caseta/* @swails
homeassistant/components/mastodon/* @fabaff
homeassistant/components/matrix/* @tinloaf
homeassistant/components/mcp23017/* @jardiamj
homeassistant/components/mediaroom/* @dgomes
homeassistant/components/melcloud/* @vilppuvuorinen
homeassistant/components/melissa/* @kennedyshead
homeassistant/components/met/* @danielhiversen
homeassistant/components/meteo_france/* @victorcerutti @oncleben31
homeassistant/components/meteo_france/* @victorcerutti @oncleben31 @Quentame
homeassistant/components/meteoalarm/* @rolfberkenbosch
homeassistant/components/miflora/* @danielhiversen @ChristianKuehnel
homeassistant/components/mikrotik/* @engrbm87
homeassistant/components/mill/* @danielhiversen
homeassistant/components/min_max/* @fabaff
homeassistant/components/minecraft_server/* @elmurato
homeassistant/components/minio/* @tkislan
homeassistant/components/mobile_app/* @robbiet480
homeassistant/components/modbus/* @adamchengtkc
homeassistant/components/monoprice/* @etsinko
homeassistant/components/modbus/* @adamchengtkc @janiversen
homeassistant/components/monoprice/* @etsinko @OnFreund
homeassistant/components/moon/* @fabaff
homeassistant/components/mpd/* @fabaff
homeassistant/components/mqtt/* @home-assistant/core
homeassistant/components/mqtt/* @home-assistant/core @emontnemery
homeassistant/components/msteams/* @peroyvind
homeassistant/components/myq/* @bdraco
homeassistant/components/mysensors/* @MartinHjelmare
homeassistant/components/mystrom/* @fabaff
homeassistant/components/neato/* @dshokouhi @Santobert
homeassistant/components/nederlandse_spoorwegen/* @YarmoM
homeassistant/components/nello/* @pschmitt
homeassistant/components/ness_alarm/* @nickw444
homeassistant/components/nest/* @awarecan
homeassistant/components/netatmo/* @cgtobi
homeassistant/components/netdata/* @fabaff
homeassistant/components/nexia/* @ryannazaretian @bdraco
homeassistant/components/nextbus/* @vividboarder
homeassistant/components/nextcloud/* @meichthys
homeassistant/components/nilu/* @hfurubotten
homeassistant/components/nissan_leaf/* @filcole
homeassistant/components/nmbs/* @thibmaek
@@ -225,145 +277,188 @@ homeassistant/components/notify/* @home-assistant/core
homeassistant/components/notion/* @bachya
homeassistant/components/nsw_fuel_station/* @nickw444
homeassistant/components/nsw_rural_fire_service_feed/* @exxamalte
homeassistant/components/nuheat/* @bdraco
homeassistant/components/nuki/* @pvizeli
homeassistant/components/numato/* @clssn
homeassistant/components/nut/* @bdraco
homeassistant/components/nws/* @MatthewFlamm
homeassistant/components/nzbget/* @chriscla
homeassistant/components/obihai/* @dshokouhi
homeassistant/components/ohmconnect/* @robbiet480
homeassistant/components/ombi/* @larssont
homeassistant/components/onboarding/* @home-assistant/core
homeassistant/components/onewire/* @garbled1
homeassistant/components/onvif/* @hunterjm
homeassistant/components/openerz/* @misialq
homeassistant/components/opengarage/* @danielhiversen
homeassistant/components/opentherm_gw/* @mvn23
homeassistant/components/openuv/* @bachya
homeassistant/components/openweathermap/* @fabaff
homeassistant/components/opnsense/* @mtreinish
homeassistant/components/orangepi_gpio/* @pascallj
homeassistant/components/oru/* @bvlaicu
homeassistant/components/owlet/* @oblogic7
homeassistant/components/ozw/* @cgarwood @marcelveldt @MartinHjelmare
homeassistant/components/panasonic_viera/* @joogps
homeassistant/components/panel_custom/* @home-assistant/frontend
homeassistant/components/panel_iframe/* @home-assistant/frontend
homeassistant/components/pcal9535a/* @Shulyaka
homeassistant/components/persistent_notification/* @home-assistant/core
homeassistant/components/philips_js/* @elupus
homeassistant/components/pi_hole/* @fabaff @johnluetke
homeassistant/components/pi4ioe5v9xxxx/* @antonverburg
homeassistant/components/pi_hole/* @fabaff @johnluetke @shenxn
homeassistant/components/pilight/* @trekky12
homeassistant/components/plaato/* @JohNan
homeassistant/components/plant/* @ChristianKuehnel
homeassistant/components/plex/* @jjlawren
homeassistant/components/plugwise/* @laetificat @CoMPaTech @bouwew
homeassistant/components/plugwise/* @CoMPaTech @bouwew
homeassistant/components/plum_lightpad/* @ColinHarrington
homeassistant/components/point/* @fredrike
homeassistant/components/proxmoxve/* @k4ds3
homeassistant/components/powerwall/* @bdraco @jrester
homeassistant/components/proxmoxve/* @k4ds3 @jhollowe
homeassistant/components/ps4/* @ktnrg45
homeassistant/components/ptvsd/* @swamp-ig
homeassistant/components/push/* @dgomes
homeassistant/components/pvoutput/* @fabaff
homeassistant/components/pvpc_hourly_pricing/* @azogue
homeassistant/components/qld_bushfire/* @exxamalte
homeassistant/components/qnap/* @colinodell
homeassistant/components/quantum_gateway/* @cisasteelersfan
homeassistant/components/qvr_pro/* @oblogic7
homeassistant/components/qwikswitch/* @kellerza
homeassistant/components/rachio/* @bdraco
homeassistant/components/rainbird/* @konikvranik
homeassistant/components/raincloud/* @vanstinator
homeassistant/components/rainforest_eagle/* @gtdiehl
homeassistant/components/rainforest_eagle/* @gtdiehl @jcalbert
homeassistant/components/rainmachine/* @bachya
homeassistant/components/random/* @fabaff
homeassistant/components/repetier/* @MTrab
homeassistant/components/rfxtrx/* @danielhiversen
homeassistant/components/ring/* @balloob
homeassistant/components/rmvtransport/* @cgtobi
homeassistant/components/roomba/* @pschmitt
homeassistant/components/roku/* @ctalkington
homeassistant/components/roomba/* @pschmitt @cyr-ius @shenxn
homeassistant/components/safe_mode/* @home-assistant/core
homeassistant/components/saj/* @fredericvl
homeassistant/components/salt/* @bjornorri
homeassistant/components/samsungtv/* @escoand
homeassistant/components/scene/* @home-assistant/core
homeassistant/components/schluter/* @prairieapps
homeassistant/components/scrape/* @fabaff
homeassistant/components/script/* @home-assistant/core
homeassistant/components/search/* @home-assistant/core
homeassistant/components/sense/* @kbickar
homeassistant/components/sensibo/* @andrey-git
homeassistant/components/sentry/* @dcramer
homeassistant/components/serial/* @fabaff
homeassistant/components/seven_segments/* @fabaff
homeassistant/components/seventeentrack/* @bachya
homeassistant/components/shell_command/* @home-assistant/core
homeassistant/components/shiftr/* @fabaff
homeassistant/components/shodan/* @fabaff
homeassistant/components/sighthound/* @robmarkcole
homeassistant/components/signal_messenger/* @bbernhard
homeassistant/components/simplisafe/* @bachya
homeassistant/components/sinch/* @bendikrb
homeassistant/components/sisyphus/* @jkeljo
homeassistant/components/slide/* @ualex73
homeassistant/components/sma/* @kellerza
homeassistant/components/smarthab/* @outadoc
homeassistant/components/smartthings/* @andrewsayre
homeassistant/components/smarty/* @z0mbieprocess
homeassistant/components/sms/* @ocalvo
homeassistant/components/smtp/* @fabaff
homeassistant/components/solaredge_local/* @drobtravels @scheric
homeassistant/components/solarlog/* @Ernst79
homeassistant/components/solax/* @squishykid
homeassistant/components/soma/* @ratsept
homeassistant/components/somfy/* @tetienne
homeassistant/components/songpal/* @rytilahti
homeassistant/components/sonarr/* @ctalkington
homeassistant/components/songpal/* @rytilahti @shenxn
homeassistant/components/spaceapi/* @fabaff
homeassistant/components/speedtestdotnet/* @rohankapoorcom
homeassistant/components/spider/* @peternijssen
homeassistant/components/spotify/* @frenck
homeassistant/components/sql/* @dgomes
homeassistant/components/squeezebox/* @rajlaud
homeassistant/components/starline/* @anonym-tsk
homeassistant/components/statistics/* @fabaff
homeassistant/components/stiebel_eltron/* @fucm
homeassistant/components/stookalert/* @fwestenberg
homeassistant/components/stream/* @hunterjm
homeassistant/components/stt/* @pvizeli
homeassistant/components/suez_water/* @ooii
homeassistant/components/sun/* @Swamp-Ig
homeassistant/components/supla/* @mwegrzynek
homeassistant/components/surepetcare/* @benleb
homeassistant/components/swiss_hydrological_data/* @fabaff
homeassistant/components/swiss_public_transport/* @fabaff
homeassistant/components/switchbot/* @danielhiversen
homeassistant/components/switcher_kis/* @tomerfi
homeassistant/components/switchmate/* @danielhiversen
homeassistant/components/syncthru/* @nielstron
homeassistant/components/synology_dsm/* @ProtoThis @Quentame
homeassistant/components/synology_srm/* @aerialls
homeassistant/components/syslog/* @fabaff
homeassistant/components/tado/* @michaelarnauts
homeassistant/components/tado/* @michaelarnauts @bdraco
homeassistant/components/tahoma/* @philklei
homeassistant/components/tankerkoenig/* @guillempages
homeassistant/components/tautulli/* @ludeeus
homeassistant/components/tellduslive/* @fredrike
homeassistant/components/template/* @PhracturedBlue
homeassistant/components/tesla/* @zabuldon
homeassistant/components/template/* @PhracturedBlue @tetienne
homeassistant/components/tesla/* @zabuldon @alandtse
homeassistant/components/tfiac/* @fredrike @mellado
homeassistant/components/thethingsnetwork/* @fabaff
homeassistant/components/threshold/* @fabaff
homeassistant/components/tibber/* @danielhiversen
homeassistant/components/tile/* @bachya
homeassistant/components/time_date/* @fabaff
homeassistant/components/tmb/* @alemuro
homeassistant/components/todoist/* @boralyl
homeassistant/components/toon/* @frenck
homeassistant/components/totalconnect/* @austinmroczek
homeassistant/components/tplink/* @rytilahti
homeassistant/components/traccar/* @ludeeus
homeassistant/components/tradfri/* @ggravlingen
homeassistant/components/trafikverket_train/* @endor-force
homeassistant/components/transmission/* @engrbm87 @JPHutchins
homeassistant/components/tts/* @robbiet480
homeassistant/components/tts/* @pvizeli
homeassistant/components/tuya/* @ollo69
homeassistant/components/twentemilieu/* @frenck
homeassistant/components/twilio_call/* @robbiet480
homeassistant/components/twilio_sms/* @robbiet480
homeassistant/components/unifi/* @kane610
homeassistant/components/ubee/* @mzdrale
homeassistant/components/unifi/* @Kane610
homeassistant/components/unifiled/* @florisvdk
homeassistant/components/upb/* @gwww
homeassistant/components/upc_connect/* @pvizeli
homeassistant/components/upcloud/* @scop
homeassistant/components/updater/* @home-assistant/core
homeassistant/components/upnp/* @robbiet480
homeassistant/components/upnp/* @StevenLooman
homeassistant/components/uptimerobot/* @ludeeus
homeassistant/components/usgs_earthquakes_feed/* @exxamalte
homeassistant/components/utility_meter/* @dgomes
homeassistant/components/velbus/* @cereal2nd
homeassistant/components/velbus/* @Cereal2nd @brefra
homeassistant/components/velux/* @Julius2342
homeassistant/components/vera/* @vangorra
homeassistant/components/versasense/* @flamm3blemuff1n
homeassistant/components/version/* @fabaff
homeassistant/components/vesync/* @markperdue @webdjoe
homeassistant/components/vicare/* @oischinger
homeassistant/components/vilfo/* @ManneW
homeassistant/components/vivotek/* @HarlemSquirrel
homeassistant/components/vizio/* @raman325
homeassistant/components/vlc_telnet/* @rodripf
homeassistant/components/waqi/* @andrey-git
homeassistant/components/watson_tts/* @rutkai
homeassistant/components/weather/* @fabaff
homeassistant/components/weblink/* @home-assistant/core
homeassistant/components/webostv/* @bendavid
homeassistant/components/websocket_api/* @home-assistant/core
homeassistant/components/wemo/* @sqldiablo
homeassistant/components/wiffi/* @mampfes
homeassistant/components/withings/* @vangorra
homeassistant/components/wled/* @frenck
homeassistant/components/workday/* @fabaff
homeassistant/components/worldclock/* @fabaff
homeassistant/components/wwlln/* @bachya
homeassistant/components/xbox_live/* @MartinHjelmare
homeassistant/components/xfinity/* @cisasteelersfan
homeassistant/components/xiaomi_aqara/* @danielhiversen @syssi
@@ -378,6 +473,7 @@ homeassistant/components/yessssms/* @flowolf
homeassistant/components/yi/* @bachya
homeassistant/components/yr/* @danielhiversen
homeassistant/components/zeroconf/* @robbiet480 @Kane610
homeassistant/components/zerproc/* @emlove
homeassistant/components/zha/* @dmulcahey @adminiuga
homeassistant/components/zone/* @home-assistant/core
homeassistant/components/zoneminder/* @rohankapoorcom

View File

@@ -2,79 +2,139 @@
## Our Pledge
In the interest of fostering an open and welcoming environment, we as
contributors and maintainers pledge to making participation in our project and
our community a harassment-free experience for everyone, regardless of age, body
size, disability, ethnicity, gender identity and expression, level of experience,
nationality, personal appearance, race, religion, or sexual identity and
orientation.
We as members, contributors, and leaders pledge to make participation in our
community a harassment-free experience for everyone, regardless of age, body
size, visible or invisible disability, ethnicity, sex characteristics, gender
identity and expression, level of experience, education, socio-economic status,
nationality, personal appearance, race, religion, or sexual identity
and orientation.
We pledge to act and interact in ways that contribute to an open, welcoming,
diverse, inclusive, and healthy community.
## Our Standards
Examples of behavior that contributes to creating a positive environment
include:
Examples of behavior that contributes to a positive environment for our
community include:
* Using welcoming and inclusive language
* Being respectful of differing viewpoints and experiences
* Gracefully accepting constructive criticism
* Focusing on what is best for the community
* Showing empathy towards other community members
* Demonstrating empathy and kindness toward other people
* Being respectful of differing opinions, viewpoints, and experiences
* Giving and gracefully accepting constructive feedback
* Accepting responsibility and apologizing to those affected by our mistakes,
and learning from the experience
* Focusing on what is best not just for us as individuals, but for the
overall community
Examples of unacceptable behavior by participants include:
Examples of unacceptable behavior include:
* The use of sexualized language or imagery and unwelcome sexual attention or
advances
* Trolling, insulting/derogatory comments, and personal or political attacks
* The use of sexualized language or imagery, and sexual attention or
advances of any kind
* Trolling, insulting or derogatory comments, and personal or political attacks
* Public or private harassment
* Publishing others' private information, such as a physical or electronic
address, without explicit permission
* Publishing others' private information, such as a physical or email
address, without their explicit permission
* Other conduct which could reasonably be considered inappropriate in a
professional setting
## Our Responsibilities
## Enforcement Responsibilities
Project maintainers are responsible for clarifying the standards of acceptable
behavior and are expected to take appropriate and fair corrective action in
response to any instances of unacceptable behavior.
Community leaders are responsible for clarifying and enforcing our standards of
acceptable behavior and will take appropriate and fair corrective action in
response to any behavior that they deem inappropriate, threatening, offensive,
or harmful.
Project maintainers have the right and responsibility to remove, edit, or
reject comments, commits, code, wiki edits, issues, and other contributions
that are not aligned to this Code of Conduct, or to ban temporarily or
permanently any contributor for other behaviors that they deem inappropriate,
threatening, offensive, or harmful.
Community leaders have the right and responsibility to remove, edit, or reject
comments, commits, code, wiki edits, issues, and other contributions that are
not aligned to this Code of Conduct, and will communicate reasons for moderation
decisions when appropriate.
## Scope
This Code of Conduct applies both within project spaces and in public spaces
when an individual is representing the project or its community. Examples of
representing a project or community include using an official project e-mail
address, posting via an official social media account, or acting as an appointed
representative at an online or offline event. Representation of a project may be
further defined and clarified by project maintainers.
This Code of Conduct applies within all community spaces, and also applies when
an individual is officially representing the community in public spaces.
Examples of representing our community include using an official e-mail address,
posting via an official social media account, or acting as an appointed
representative at an online or offline event.
## Enforcement
Instances of abusive, harassing, or otherwise unacceptable behavior may be
reported by contacting the project team at [safety@home-assistant.io][email]. All
complaints will be reviewed and investigated and will result in a response that
is deemed necessary and appropriate to the circumstances. The project team is
obligated to maintain confidentiality with regard to the reporter of an incident.
Further details of specific enforcement policies may be posted separately.
reported to the community leaders responsible for enforcement at
[safety@home-assistant.io][email] or by using the report/flag feature of
the medium used. All complaints will be reviewed and investigated promptly and
fairly.
Project maintainers who do not follow or enforce the Code of Conduct in good
faith may face temporary or permanent repercussions as determined by other
members of the project's leadership.
All community leaders are obligated to respect the privacy and security of the
reporter of any incident.
## Enforcement Guidelines
Community leaders will follow these Community Impact Guidelines in determining
the consequences for any action they deem in violation of this Code of Conduct:
### 1. Correction
**Community Impact**: Use of inappropriate language or other behavior deemed
unprofessional or unwelcome in the community.
**Consequence**: A private, written warning from community leaders, providing
clarity around the nature of the violation and an explanation of why the
behavior was inappropriate. A public apology may be requested.
### 2. Warning
**Community Impact**: A violation through a single incident or series
of actions.
**Consequence**: A warning with consequences for continued behavior. No
interaction with the people involved, including unsolicited interaction with
those enforcing the Code of Conduct, for a specified period of time. This
includes avoiding interactions in community spaces as well as external channels
like social media. Violating these terms may lead to a temporary or
permanent ban.
### 3. Temporary Ban
**Community Impact**: A serious violation of community standards, including
sustained inappropriate behavior.
**Consequence**: A temporary ban from any sort of interaction or public
communication with the community for a specified period of time. No public or
private interaction with the people involved, including unsolicited interaction
with those enforcing the Code of Conduct, is allowed during this period.
Violating these terms may lead to a permanent ban.
### 4. Permanent Ban
**Community Impact**: Demonstrating a pattern of violation of community
standards, including sustained inappropriate behavior, harassment of an
individual, or aggression toward or disparagement of classes of individuals.
**Consequence**: A permanent ban from any sort of public interaction within
the community.
## Attribution
This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,
available [here][version].
This Code of Conduct is adapted from the [Contributor Covenant][homepage],
version 2.0, available [here][version].
Community Impact Guidelines were inspired by [Mozilla's code of conduct
enforcement ladder][mozilla].
## Adoption
This Code of Conduct was first adopted January 21st, 2017 and announced in [this][coc-blog] blog post.
This Code of Conduct was first adopted January 21st, 2017 and announced in
[this][coc-blog] blog post and has been updated on May 25th, 2020 to version
2.0 of the [Contributor Covenant][homepage] as announced in [this][coc2-blog]
blog post.
[homepage]: http://contributor-covenant.org
[version]: http://contributor-covenant.org/version/1/4/
For answers to common questions about this code of conduct, see the FAQ at
<https://www.contributor-covenant.org/faq>. Translations are available at
<https://www.contributor-covenant.org/translations>.
[coc-blog]: /blog/2017/01/21/home-assistant-governance/
[coc2-blog]: /blog/2020/05/25/code-of-conduct-updated/
[email]: mailto:safety@home-assistant.io
[coc-blog]: https://home-assistant.io/blog/2017/01/21/home-assistant-governance/
[homepage]: http://contributor-covenant.org
[mozilla]: https://github.com/mozilla/diversity
[version]: https://www.contributor-covenant.org/version/2/0/code_of_conduct.html

View File

@@ -4,7 +4,7 @@ Everybody is invited and welcome to contribute to Home Assistant. There is a lot
The process is straight-forward.
- Read [How to get faster PR reviews](https://github.com/kubernetes/community/blob/master/contributors/guide/pull-requests.md#best-practices-for-faster-reviews) by Kubernetes (but skip step 0)
- Read [How to get faster PR reviews](https://github.com/kubernetes/community/blob/master/contributors/guide/pull-requests.md#best-practices-for-faster-reviews) by Kubernetes (but skip step 0 and 1)
- Fork the Home Assistant [git repository](https://github.com/home-assistant/home-assistant).
- Write the code for your device, notification service, sensor, or IoT thing.
- Ensure tests work.
@@ -12,3 +12,7 @@ The process is straight-forward.
Still interested? Then you should take a peek at the [developer documentation](https://developers.home-assistant.io/) to get more details.
## Feature suggestions
If you want to suggest a new feature for Home Assistant (e.g., new integrations), please open a thread in our [Community Forum: Feature Requests](https://community.home-assistant.io/c/feature-requests).
We use [GitHub for tracking issues](https://github.com/home-assistant/home-assistant/issues), not for tracking feature requests.

21
Dockerfile Normal file
View File

@@ -0,0 +1,21 @@
ARG BUILD_FROM
FROM ${BUILD_FROM}
ENV \
S6_SERVICES_GRACETIME=60000
WORKDIR /usr/src
## Setup Home Assistant
COPY . homeassistant/
RUN \
pip3 install --no-cache-dir --no-index --only-binary=:all: --find-links "${WHEELS_LINKS}" \
-r homeassistant/requirements_all.txt -c homeassistant/homeassistant/package_constraints.txt \
&& pip3 install --no-cache-dir --no-index --only-binary=:all: --find-links "${WHEELS_LINKS}" \
-e ./homeassistant \
&& python3 -m compileall homeassistant/homeassistant
# Home Assistant S6-Overlay
COPY rootfs /
WORKDIR /config

View File

@@ -1,7 +1,7 @@
FROM python:3.7
FROM mcr.microsoft.com/vscode/devcontainers/python:0-3.8
RUN apt-get update \
&& apt-get install -y --no-install-recommends \
RUN \
apt-get update && apt-get install -y --no-install-recommends \
libudev-dev \
libavformat-dev \
libavcodec-dev \
@@ -18,8 +18,7 @@ WORKDIR /usr/src
# Setup hass-release
RUN git clone --depth 1 https://github.com/home-assistant/hass-release \
&& cd hass-release \
&& pip3 install -e .
&& pip3 install -e hass-release/
WORKDIR /workspaces

View File

@@ -1,14 +1,7 @@
Home Assistant |Chat Status|
=================================================================================
Home Assistant is a home automation platform running on Python 3. It is able to track and control all devices at home and offer a platform for automating control.
To get started:
.. code:: bash
python3 -m pip install homeassistant
hass --open-ui
Open source home automation that puts local control and privacy first. Powered by a worldwide community of tinkerers and DIY enthusiasts. Perfect to run on a Raspberry Pi or a local server.
Check out `home-assistant.io <https://home-assistant.io>`__ for `a
demo <https://home-assistant.io/demo/>`__, `installation instructions <https://home-assistant.io/getting-started/>`__,

View File

@@ -4,9 +4,9 @@ trigger:
batch: true
branches:
include:
- rc
- dev
- master
- rc
- dev
- master
pr:
- rc
- dev
@@ -14,180 +14,229 @@ pr:
resources:
containers:
- container: 36
image: homeassistant/ci-azure:3.6
- container: 37
image: homeassistant/ci-azure:3.7
- container: 37
image: homeassistant/ci-azure:3.7
- container: 38
image: homeassistant/ci-azure:3.8
repositories:
- repository: azure
type: github
name: 'home-assistant/ci-azure'
endpoint: 'home-assistant'
name: "home-assistant/ci-azure"
endpoint: "home-assistant"
variables:
- name: PythonMain
value: '36'
- group: codecov
value: "37"
- name: versionHadolint
value: "v1.17.6"
stages:
- stage: "Overview"
jobs:
- job: "Lint"
pool:
vmImage: "ubuntu-latest"
container: $[ variables['PythonMain'] ]
steps:
- template: templates/azp-step-cache.yaml@azure
parameters:
keyfile: "requirements_test.txt | homeassistant/package_constraints.txt"
build: |
python -m venv venv
- stage: 'Overview'
jobs:
- job: 'Lint'
pool:
vmImage: 'ubuntu-latest'
container: $[ variables['PythonMain'] ]
steps:
- template: templates/azp-step-cache.yaml@azure
parameters:
keyfile: 'requirements_test.txt | homeassistant/package_constraints.txt'
build: |
python -m venv venv
. venv/bin/activate
pip install -r requirements_test.txt -c homeassistant/package_constraints.txt
pre-commit install-hooks
- script: |
. venv/bin/activate
pre-commit run --hook-stage manual check-executables-have-shebangs --all-files
displayName: "Run executables check"
- script: |
. venv/bin/activate
pre-commit run codespell --all-files
displayName: "Run codespell"
- script: |
. venv/bin/activate
pre-commit run flake8 --all-files
displayName: "Run flake8"
- script: |
. venv/bin/activate
pre-commit run bandit --all-files
displayName: "Run bandit"
- script: |
. venv/bin/activate
pre-commit run isort --all-files --show-diff-on-failure
displayName: "Run isort"
- script: |
. venv/bin/activate
pre-commit run check-json --all-files
displayName: "Run check-json"
- script: |
. venv/bin/activate
pre-commit run yamllint --all-files
displayName: "Run yamllint"
- script: |
. venv/bin/activate
pre-commit run pyupgrade --all-files --show-diff-on-failure
displayName: "Run pyupgrade"
# Prettier seems to hang on Azure, unknown why yet.
# Temporarily disable the check to no block PRs
# - script: |
# . venv/bin/activate
# pre-commit run prettier --all-files --show-diff-on-failure
# displayName: 'Run prettier'
- job: "Validate"
pool:
vmImage: "ubuntu-latest"
container: $[ variables['PythonMain'] ]
steps:
- template: templates/azp-step-cache.yaml@azure
parameters:
keyfile: "homeassistant/package_constraints.txt"
build: |
python -m venv venv
. venv/bin/activate
pip install -r requirements_test.txt -c homeassistant/package_constraints.txt
pre-commit install-hooks --config .pre-commit-config-all.yaml
- script: |
. venv/bin/activate
pre-commit run flake8 --all-files
displayName: 'Run flake8'
- script: |
. venv/bin/activate
pre-commit run bandit --all-files
displayName: 'Run bandit'
- job: 'Validate'
pool:
vmImage: 'ubuntu-latest'
container: $[ variables['PythonMain'] ]
steps:
- template: templates/azp-step-cache.yaml@azure
parameters:
keyfile: 'homeassistant/package_constraints.txt'
build: |
python -m venv venv
. venv/bin/activate
pip install -e .
- script: |
. venv/bin/activate
python -m script.hassfest --action validate
displayName: "Validate manifests"
- script: |
. venv/bin/activate
./script/gen_requirements_all.py validate
displayName: "requirements_all validate"
- job: "CheckFormat"
pool:
vmImage: "ubuntu-latest"
container: $[ variables['PythonMain'] ]
steps:
- template: templates/azp-step-cache.yaml@azure
parameters:
keyfile: "requirements_test.txt | homeassistant/package_constraints.txt"
build: |
python -m venv venv
. venv/bin/activate
pip install -e .
- script: |
. venv/bin/activate
python -m script.hassfest validate
displayName: 'Validate manifests'
- script: |
. venv/bin/activate
./script/gen_requirements_all.py validate
displayName: 'requirements_all validate'
- job: 'CheckFormat'
pool:
vmImage: 'ubuntu-latest'
container: $[ variables['PythonMain'] ]
steps:
- template: templates/azp-step-cache.yaml@azure
parameters:
keyfile: 'requirements_test.txt | homeassistant/package_constraints.txt'
build: |
python -m venv venv
. venv/bin/activate
pip install -r requirements_test.txt -c homeassistant/package_constraints.txt
pre-commit install-hooks
- script: |
. venv/bin/activate
pre-commit run black --all-files --show-diff-on-failure
displayName: "Check Black formatting"
- job: "Docker"
pool:
vmImage: "ubuntu-latest"
steps:
- script: sudo docker pull hadolint/hadolint:$(versionHadolint)
displayName: "Install Hadolint"
- script: |
set -e
for dockerfile in Dockerfile Dockerfile.dev
do
echo "Linting: $dockerfile"
docker run --rm -i \
-v "$(pwd)/.hadolint.yaml:/.hadolint.yaml:ro" \
hadolint/hadolint:$(versionHadolint) < "$dockerfile"
done
displayName: "Run Hadolint"
. venv/bin/activate
pip install -r requirements_test.txt -c homeassistant/package_constraints.txt
pre-commit install-hooks --config .pre-commit-config-all.yaml
- script: |
. venv/bin/activate
pre-commit run black --all-files
displayName: 'Check Black formatting'
- stage: "Tests"
dependsOn:
- "Overview"
jobs:
- job: "PyTest"
pool:
vmImage: "ubuntu-latest"
strategy:
maxParallel: 3
matrix:
Python37:
python.container: "37"
Python38:
python.container: "38"
container: $[ variables['python.container'] ]
steps:
- template: templates/azp-step-cache.yaml@azure
parameters:
keyfile: "requirements_test_all.txt | requirements_test.txt | homeassistant/package_constraints.txt"
build: |
set -e
python -m venv venv
- stage: 'Tests'
dependsOn:
- 'Overview'
jobs:
- job: 'PyTest'
pool:
vmImage: 'ubuntu-latest'
strategy:
maxParallel: 3
matrix:
Python36:
python.container: '36'
Python37:
python.container: '37'
container: $[ variables['python.container'] ]
steps:
- template: templates/azp-step-cache.yaml@azure
parameters:
keyfile: 'requirements_test_all.txt | homeassistant/package_constraints.txt'
build: |
set -e
python -m venv venv
. venv/bin/activate
pip install -U pip setuptools pytest-azurepipelines pytest-xdist -c homeassistant/package_constraints.txt
pip install -r requirements_test_all.txt -c homeassistant/package_constraints.txt
# This is a TEMP. Eventually we should make sure our 4 dependencies drop typing.
# Find offending deps with `pipdeptree -r -p typing`
pip uninstall -y typing
- script: |
. venv/bin/activate
pip install -e .
displayName: "Install Home Assistant"
- script: |
set -e
. venv/bin/activate
pip install -U pip setuptools pytest-azurepipelines pytest-xdist -c homeassistant/package_constraints.txt
pip install -r requirements_test_all.txt -c homeassistant/package_constraints.txt
# This is a TEMP. Eventually we should make sure our 4 dependencies drop typing.
# Find offending deps with `pipdeptree -r -p typing`
pip uninstall -y typing
- script: |
. venv/bin/activate
pip install -e .
displayName: 'Install Home Assistant'
- script: |
set -e
. venv/bin/activate
pytest --timeout=9 --durations=10 -n auto --dist=loadfile -qq -o console_output_style=count -p no:sugar tests
script/check_dirty
displayName: "Run pytest for python $(python.container)"
condition: and(succeeded(), ne(variables['python.container'], variables['PythonMain']))
- script: |
set -e
. venv/bin/activate
pytest --timeout=9 --durations=10 -n auto --dist=loadfile -qq -o console_output_style=count -p no:sugar tests
script/check_dirty
displayName: 'Run pytest for python $(python.container)'
condition: and(succeeded(), ne(variables['python.container'], variables['PythonMain']))
- script: |
set -e
. venv/bin/activate
pytest --timeout=9 --durations=10 -n auto --dist=loadfile --cov homeassistant --cov-report html -qq -o console_output_style=count -p no:sugar tests
codecov --token $(codecovToken)
script/check_dirty
displayName: "Run pytest for python $(python.container) / coverage"
condition: and(succeeded(), eq(variables['python.container'], variables['PythonMain']))
. venv/bin/activate
pytest --timeout=9 --durations=10 -n auto --dist=loadfile --cov homeassistant --cov-report html -qq -o console_output_style=count -p no:sugar tests
codecov --token $(codecovToken)
script/check_dirty
displayName: 'Run pytest for python $(python.container) / coverage'
condition: and(succeeded(), eq(variables['python.container'], variables['PythonMain']))
- stage: "FullCheck"
dependsOn:
- "Overview"
jobs:
- job: "Pylint"
pool:
vmImage: "ubuntu-latest"
container: $[ variables['PythonMain'] ]
steps:
- template: templates/azp-step-cache.yaml@azure
parameters:
keyfile: "requirements_all.txt | requirements_test.txt | homeassistant/package_constraints.txt"
build: |
set -e
python -m venv venv
- stage: 'FullCheck'
dependsOn:
- 'Overview'
jobs:
- job: 'Pylint'
pool:
vmImage: 'ubuntu-latest'
container: $[ variables['PythonMain'] ]
steps:
- template: templates/azp-step-cache.yaml@azure
parameters:
keyfile: 'requirements_all.txt | requirements_test.txt | homeassistant/package_constraints.txt'
build: |
set -e
python -m venv venv
. venv/bin/activate
pip install -U pip setuptools wheel
pip install -r requirements_all.txt -c homeassistant/package_constraints.txt
pip install -r requirements_test.txt -c homeassistant/package_constraints.txt
# This is a TEMP. Eventually we should make sure our 4 dependencies drop typing.
# Find offending deps with `pipdeptree -r -p typing`
pip uninstall -y typing
- script: |
. venv/bin/activate
pip install -e .
displayName: "Install Home Assistant"
- script: |
. venv/bin/activate
pylint homeassistant
displayName: "Run pylint"
- job: "Mypy"
pool:
vmImage: "ubuntu-latest"
container: $[ variables['PythonMain'] ]
steps:
- template: templates/azp-step-cache.yaml@azure
parameters:
keyfile: "requirements_test.txt | setup.py | homeassistant/package_constraints.txt"
build: |
python -m venv venv
. venv/bin/activate
pip install -U pip setuptools wheel
pip install -r requirements_all.txt -c homeassistant/package_constraints.txt
pip install -r requirements_test.txt -c homeassistant/package_constraints.txt
- script: |
. venv/bin/activate
pip install -e .
displayName: 'Install Home Assistant'
- script: |
. venv/bin/activate
pylint homeassistant
displayName: 'Run pylint'
- job: 'Mypy'
pool:
vmImage: 'ubuntu-latest'
container: $[ variables['PythonMain'] ]
steps:
- template: templates/azp-step-cache.yaml@azure
parameters:
keyfile: 'requirements_test.txt | setup.py | homeassistant/package_constraints.txt'
build: |
python -m venv venv
. venv/bin/activate
pip install -e . -r requirements_test.txt -c homeassistant/package_constraints.txt
pre-commit install-hooks --config .pre-commit-config-all.yaml
- script: |
. venv/bin/activate
pre-commit run --config .pre-commit-config-all.yaml mypy --all-files
displayName: 'Run mypy'
. venv/bin/activate
pip install -e . -r requirements_test.txt -c homeassistant/package_constraints.txt
pre-commit install-hooks
- script: |
. venv/bin/activate
pre-commit run mypy --all-files
displayName: "Run mypy"

View File

@@ -14,7 +14,7 @@ schedules:
always: true
variables:
- name: versionBuilder
value: '6.3'
value: '7.2.0'
- group: docker
- group: github
- group: twine
@@ -41,9 +41,9 @@ stages:
jq curl
release="$(Build.SourceBranchName)"
created_by="$(curl -s https://api.github.com/repos/home-assistant/home-assistant/releases/tags/${release} | jq --raw-output '.author.login')"
created_by="$(curl -s https://api.github.com/repos/home-assistant/core/releases/tags/${release} | jq --raw-output '.author.login')"
if [[ "${created_by}" =~ ^(balloob|pvizeli|fabaff|robbiet480|bramkragten)$ ]]; then
if [[ "${created_by}" =~ ^(balloob|pvizeli|fabaff|robbiet480|bramkragten|frenck)$ ]]; then
exit 0
fi
@@ -94,7 +94,7 @@ stages:
buildMachine: 'raspberrypi2,raspberrypi3,raspberrypi4,odroid-xu,tinker'
aarch64:
buildArch: 'aarch64'
buildMachine: 'qemuarm-64,raspberrypi3-64,raspberrypi4-64,odroid-c2,orangepi-prime'
buildMachine: 'qemuarm-64,raspberrypi3-64,raspberrypi4-64,odroid-c2,odroid-n2'
steps:
- template: templates/azp-step-ha-version.yaml@azure
- script: |
@@ -108,11 +108,9 @@ stages:
docker run --rm --privileged \
-v ~/.docker:/root/.docker:rw \
-v /run/docker.sock:/run/docker.sock:rw \
-v $(pwd):/homeassistant:ro \
-v $(pwd):/data:ro \
homeassistant/amd64-builder:$(versionBuilder) \
--homeassistant $(homeassistantRelease) "--$(buildArch)" \
-r https://github.com/home-assistant/hassio-homeassistant \
-t generic --docker-hub homeassistant
--generic $(homeassistantRelease) "--$(buildArch)" -t /data \
docker run --rm --privileged \
-v ~/.docker:/root/.docker \
@@ -163,7 +161,7 @@ stages:
git commit -am "Bump Home Assistant $version"
git push
displayName: 'Update version files'
displayName: "Update version files"
- job: 'ReleaseDocker'
pool:
vmImage: 'ubuntu-latest'

View File

@@ -7,7 +7,7 @@ trigger:
- dev
pr: none
schedules:
- cron: "30 0 * * *"
- cron: "0 0 * * *"
displayName: "translation update"
branches:
include:
@@ -37,7 +37,7 @@ jobs:
export LOKALISE_TOKEN="$(lokaliseToken)"
export AZURE_BRANCH="$(Build.SourceBranchName)"
./script/translations_upload
python3 -m script.translations upload
displayName: 'Upload Translation'
- job: 'Download'
@@ -54,9 +54,8 @@ jobs:
- template: templates/azp-step-git-init.yaml@azure
- script: |
export LOKALISE_TOKEN="$(lokaliseToken)"
export AZURE_BRANCH="$(Build.SourceBranchName)"
./script/translations_download
python3 -m script.translations download
displayName: 'Download Translation'
- script: |
git checkout dev

View File

@@ -1,10 +1,10 @@
# https://dev.azure.com/home-assistant
trigger:
batch: true
branches:
include:
- dev
- rc
paths:
include:
- requirements_all.txt
@@ -15,10 +15,9 @@ schedules:
branches:
include:
- dev
always: true
variables:
- name: versionWheels
value: '1.4-3.7-alpine3.10'
value: '1.10.1-3.7-alpine3.11'
resources:
repositories:
- repository: azure
@@ -30,17 +29,19 @@ jobs:
- template: templates/azp-job-wheels.yaml@azure
parameters:
builderVersion: '$(versionWheels)'
builderApk: 'build-base;cmake;git;linux-headers;bluez-dev;libffi-dev;openssl-dev;glib-dev;eudev-dev;libxml2-dev;libxslt-dev;libpng-dev;libjpeg-turbo-dev;tiff-dev;autoconf;automake;cups-dev;gmp-dev;mpfr-dev;mpc1-dev;ffmpeg-dev'
builderApk: 'build-base;cmake;git;linux-headers;bluez-dev;libffi-dev;openssl-dev;glib-dev;eudev-dev;libxml2-dev;libxslt-dev;libpng-dev;libjpeg-turbo-dev;tiff-dev;autoconf;automake;cups-dev;gmp-dev;mpfr-dev;mpc1-dev;ffmpeg-dev;gammu-dev'
builderPip: 'Cython;numpy'
skipBinary: 'aiohttp'
wheelsRequirement: 'requirements_wheels.txt'
wheelsRequirementDiff: 'requirements_diff.txt'
wheelsConstraint: 'homeassistant/package_constraints.txt'
preBuild:
- script: |
cp requirements_all.txt requirements_wheels.txt
if [[ "$(Build.Reason)" =~ (Schedule|Manual) ]]; then
touch requirements_diff.txt
else
curl -s -o requirements_diff.txt https://raw.githubusercontent.com/home-assistant/home-assistant/master/requirements_all.txt
curl -s -o requirements_diff.txt https://raw.githubusercontent.com/home-assistant/core/master/requirements_all.txt
fi
requirement_files="requirements_wheels.txt requirements_diff.txt"
@@ -68,9 +69,6 @@ jobs:
sed -i "s|# face_recognition|face_recognition|g" ${requirement_file}
sed -i "s|# py_noaa|py_noaa|g" ${requirement_file}
sed -i "s|# bme680|bme680|g" ${requirement_file}
if [[ "$(buildArch)" =~ arm ]]; then
sed -i "s|# VL53L1X|VL53L1X|g" ${requirement_file}
fi
sed -i "s|# python-gammu|python-gammu|g" ${requirement_file}
done
displayName: 'Prepare requirements files for Hass.io'
displayName: 'Prepare requirements files for Home Assistant wheels'

14
build.json Normal file
View File

@@ -0,0 +1,14 @@
{
"image": "homeassistant/{arch}-homeassistant",
"build_from": {
"aarch64": "homeassistant/aarch64-homeassistant-base:7.2.0",
"armhf": "homeassistant/armhf-homeassistant-base:7.2.0",
"armv7": "homeassistant/armv7-homeassistant-base:7.2.0",
"amd64": "homeassistant/amd64-homeassistant-base:7.2.0",
"i386": "homeassistant/i386-homeassistant-base:7.2.0"
},
"labels": {
"io.hass.type": "core"
},
"version_tag": true
}

9
codecov.yml Normal file
View File

@@ -0,0 +1,9 @@
codecov:
branch: dev
coverage:
status:
project:
default:
target: 90
threshold: 0.09
comment: false

Binary file not shown.

Before

Width:  |  Height:  |  Size: 139 KiB

After

Width:  |  Height:  |  Size: 108 KiB

View File

@@ -8,20 +8,19 @@ Loosely based on https://github.com/astropy/astropy/pull/347
import os
import warnings
__licence__ = 'BSD (3 clause)'
__licence__ = "BSD (3 clause)"
def get_github_url(app, view, path):
github_fmt = 'https://github.com/{}/{}/{}/{}{}'
return (
github_fmt.format(app.config.edit_on_github_project, view,
app.config.edit_on_github_branch,
app.config.edit_on_github_src_path, path))
f"https://github.com/{app.config.edit_on_github_project}/"
f"{view}/{app.config.edit_on_github_branch}/"
f"{app.config.edit_on_github_src_path}{path}"
)
def html_page_context(app, pagename, templatename, context, doctree):
if templatename != 'page.html':
if templatename != "page.html":
return
if not app.config.edit_on_github_project:
@@ -30,16 +29,16 @@ def html_page_context(app, pagename, templatename, context, doctree):
if not doctree:
warnings.warn("doctree is None")
return
path = os.path.relpath(doctree.get('source'), app.builder.srcdir)
show_url = get_github_url(app, 'blob', path)
edit_url = get_github_url(app, 'edit', path)
path = os.path.relpath(doctree.get("source"), app.builder.srcdir)
show_url = get_github_url(app, "blob", path)
edit_url = get_github_url(app, "edit", path)
context['show_on_github_url'] = show_url
context['edit_on_github_url'] = edit_url
context["show_on_github_url"] = show_url
context["edit_on_github_url"] = edit_url
def setup(app):
app.add_config_value('edit_on_github_project', '', True)
app.add_config_value('edit_on_github_branch', 'master', True)
app.add_config_value('edit_on_github_src_path', '', True) # 'eg' "docs/"
app.connect('html-page-context', html_page_context)
app.add_config_value("edit_on_github_project", "", True)
app.add_config_value("edit_on_github_branch", "master", True)
app.add_config_value("edit_on_github_src_path", "", True) # 'eg' "docs/"
app.connect("html-page-context", html_page_context)

29
docs/source/api/auth.rst Normal file
View File

@@ -0,0 +1,29 @@
:mod:`homeassistant.auth`
=========================
.. automodule:: homeassistant.auth
:members:
homeassistant.auth.auth\_store
------------------------------
.. automodule:: homeassistant.auth.auth_store
:members:
:undoc-members:
:show-inheritance:
homeassistant.auth.const
------------------------
.. automodule:: homeassistant.auth.const
:members:
:undoc-members:
:show-inheritance:
homeassistant.auth.models
-------------------------
.. automodule:: homeassistant.auth.models
:members:
:undoc-members:
:show-inheritance:

View File

@@ -1,7 +1,7 @@
.. _bootstrap_module:
:mod:`homeassistant.bootstrap`
-------------------------
------------------------------
.. automodule:: homeassistant.bootstrap
:members:

View File

@@ -0,0 +1,170 @@
:mod:`homeassistant.components`
===============================
air\_quality
--------------------------------------------
.. automodule:: homeassistant.components.air_quality
:members:
:undoc-members:
:show-inheritance:
alarm\_control\_panel
--------------------------------------------
.. automodule:: homeassistant.components.alarm_control_panel
:members:
:undoc-members:
:show-inheritance:
binary\_sensor
--------------------------------------------
.. automodule:: homeassistant.components.binary_sensor
:members:
:undoc-members:
:show-inheritance:
camera
---------------------------
.. automodule:: homeassistant.components.camera
:members:
:undoc-members:
:show-inheritance:
calendar
---------------------------
.. automodule:: homeassistant.components.calendar
:members:
:undoc-members:
:show-inheritance:
climate
---------------------------
.. automodule:: homeassistant.components.climate
:members:
:undoc-members:
:show-inheritance:
conversation
---------------------------
.. automodule:: homeassistant.components.conversation
:members:
:undoc-members:
:show-inheritance:
cover
---------------------------
.. automodule:: homeassistant.components.cover
:members:
:undoc-members:
:show-inheritance:
device\_tracker
---------------------------
.. automodule:: homeassistant.components.device_tracker
:members:
:undoc-members:
:show-inheritance:
fan
---------------------------
.. automodule:: homeassistant.components.fan
:members:
:undoc-members:
:show-inheritance:
light
---------------------------
.. automodule:: homeassistant.components.light
:members:
:undoc-members:
:show-inheritance:
lock
---------------------------
.. automodule:: homeassistant.components.lock
:members:
:undoc-members:
:show-inheritance:
media\_player
---------------------------
.. automodule:: homeassistant.components.media_player
:members:
:undoc-members:
:show-inheritance:
notify
---------------------------
.. automodule:: homeassistant.components.notify
:members:
:undoc-members:
:show-inheritance:
remote
---------------------------
.. automodule:: homeassistant.components.remote
:members:
:undoc-members:
:show-inheritance:
switch
---------------------------
.. automodule:: homeassistant.components.switch
:members:
:undoc-members:
:show-inheritance:
sensor
-------------------------------------
.. automodule:: homeassistant.components.sensor
:members:
:undoc-members:
:show-inheritance:
vacuum
-------------------------------------
.. automodule:: homeassistant.components.vacuum
:members:
:undoc-members:
:show-inheritance:
water\_heater
-------------------------------------
.. automodule:: homeassistant.components.water_heater
:members:
:undoc-members:
:show-inheritance:
weather
---------------------------
.. automodule:: homeassistant.components.weather
:members:
:undoc-members:
:show-inheritance:
webhook
---------------------------
.. automodule:: homeassistant.components.webhook
:members:
:undoc-members:
:show-inheritance:

View File

@@ -0,0 +1,7 @@
.. _config_entries_module:
:mod:`homeassistant.config_entries`
-----------------------------------
.. automodule:: homeassistant.config_entries
:members:

View File

@@ -4,35 +4,4 @@
-------------------------
.. automodule:: homeassistant.core
.. autoclass:: Config
:members:
.. autoclass:: Event
:members:
.. autoclass:: EventBus
:members:
.. autoclass:: HomeAssistant
:members:
.. autoclass:: State
:members:
.. autoclass:: StateMachine
:members:
.. autoclass:: ServiceCall
:members:
.. autoclass:: ServiceRegistry
:members:
Module contents
---------------
.. automodule:: homeassistant.core
:members:
:undoc-members:
:show-inheritance:
:members:

View File

@@ -0,0 +1,7 @@
.. _data_entry_flow_module:
:mod:`homeassistant.data_entry_flow`
-----------------------------
.. automodule:: homeassistant.data_entry_flow
:members:

View File

@@ -1,10 +0,0 @@
.. _components_device_tracker_module:
:mod:`homeassistant.components.device_tracker`
----------------------------------------------
.. automodule:: homeassistant.components.device_tracker
:members:
.. autoclass:: Device
:members:

View File

@@ -1,12 +0,0 @@
.. _helpers_entity_module:
:mod:`homeassistant.helpers.entity`
-----------------------------------
.. automodule:: homeassistant.helpers.entity
.. autoclass:: Entity
:members:
.. autoclass:: ToggleEntity
:members:

View File

@@ -1,20 +0,0 @@
.. _helpers_event_module:
:mod:`homeassistant.helpers.event`
----------------------------------
.. automodule:: homeassistant.helpers.event
.. autofunction:: track_state_change
.. autofunction:: track_point_in_time
.. autofunction:: track_point_in_utc_time
.. autofunction:: track_sunrise
.. autofunction:: track_sunset
.. autofunction:: track_utc_time_change
.. autofunction:: track_time_change

View File

@@ -0,0 +1,7 @@
.. _exceptions_module:
:mod:`homeassistant.exceptions`
-------------------------------
.. automodule:: homeassistant.exceptions
:members:

View File

@@ -1,287 +1,335 @@
homeassistant.helpers package
=============================
Submodules
----------
homeassistant.helpers.aiohttp_client module
-------------------------------------------
.. automodule:: homeassistant.helpers.aiohttp_client
:members:
:undoc-members:
:show-inheritance:
homeassistant.helpers.area_registry module
------------------------------------------
.. automodule:: homeassistant.helpers.area_registry
:members:
:undoc-members:
:show-inheritance:
homeassistant.helpers.condition module
--------------------------------------
.. automodule:: homeassistant.helpers.condition
:members:
:undoc-members:
:show-inheritance:
homeassistant.helpers.config_entry_flow module
----------------------------------------------
.. automodule:: homeassistant.helpers.config_entry_flow
:members:
:undoc-members:
:show-inheritance:
homeassistant.helpers.config_validation module
----------------------------------------------
.. automodule:: homeassistant.helpers.config_validation
:members:
:undoc-members:
:show-inheritance:
homeassistant.helpers.data_entry_flow module
--------------------------------------------
.. automodule:: homeassistant.helpers.data_entry_flow
:members:
:undoc-members:
:show-inheritance:
homeassistant.helpers.deprecation module
----------------------------------------
.. automodule:: homeassistant.helpers.deprecation
:members:
:undoc-members:
:show-inheritance:
homeassistant.helpers.device_registry module
--------------------------------------------
.. automodule:: homeassistant.helpers.device_registry
:members:
:undoc-members:
:show-inheritance:
homeassistant.helpers.discovery module
--------------------------------------
.. automodule:: homeassistant.helpers.discovery
:members:
:undoc-members:
:show-inheritance:
homeassistant.helpers.dispatcher module
---------------------------------------
.. automodule:: homeassistant.helpers.dispatcher
:members:
:undoc-members:
:show-inheritance:
homeassistant.helpers.entity module
-----------------------------------
.. automodule:: homeassistant.helpers.entity
:members:
:undoc-members:
:show-inheritance:
homeassistant.helpers.entity_component module
---------------------------------------------
.. automodule:: homeassistant.helpers.entity_component
:members:
:undoc-members:
:show-inheritance:
homeassistant.helpers.entity_platform module
--------------------------------------------
.. automodule:: homeassistant.helpers.entity_platform
:members:
:undoc-members:
:show-inheritance:
homeassistant.helpers.entity_registry module
--------------------------------------------
.. automodule:: homeassistant.helpers.entity_registry
:members:
:undoc-members:
:show-inheritance:
homeassistant.helpers.entity_values module
------------------------------------------
.. automodule:: homeassistant.helpers.entity_values
:members:
:undoc-members:
:show-inheritance:
homeassistant.helpers.entityfilter module
-----------------------------------------
.. automodule:: homeassistant.helpers.entityfilter
:members:
:undoc-members:
:show-inheritance:
homeassistant.helpers.event module
----------------------------------
.. automodule:: homeassistant.helpers.event
:members:
:undoc-members:
:show-inheritance:
homeassistant.helpers.icon module
---------------------------------
.. automodule:: homeassistant.helpers.icon
:members:
:undoc-members:
:show-inheritance:
homeassistant.helpers.intent module
-----------------------------------
.. automodule:: homeassistant.helpers.intent
:members:
:undoc-members:
:show-inheritance:
homeassistant.helpers.json module
---------------------------------
.. automodule:: homeassistant.helpers.json
:members:
:undoc-members:
:show-inheritance:
homeassistant.helpers.location module
-------------------------------------
.. automodule:: homeassistant.helpers.location
:members:
:undoc-members:
:show-inheritance:
homeassistant.helpers.logging module
------------------------------------
.. automodule:: homeassistant.helpers.logging
:members:
:undoc-members:
:show-inheritance:
homeassistant.helpers.restore_state module
------------------------------------------
.. automodule:: homeassistant.helpers.restore_state
:members:
:undoc-members:
:show-inheritance:
homeassistant.helpers.script module
-----------------------------------
.. automodule:: homeassistant.helpers.script
:members:
:undoc-members:
:show-inheritance:
homeassistant.helpers.service module
------------------------------------
.. automodule:: homeassistant.helpers.service
:members:
:undoc-members:
:show-inheritance:
homeassistant.helpers.signal module
-----------------------------------
.. automodule:: homeassistant.helpers.signal
:members:
:undoc-members:
:show-inheritance:
homeassistant.helpers.state module
----------------------------------
.. automodule:: homeassistant.helpers.state
:members:
:undoc-members:
:show-inheritance:
homeassistant.helpers.storage module
------------------------------------
.. automodule:: homeassistant.helpers.storage
:members:
:undoc-members:
:show-inheritance:
homeassistant.helpers.sun module
--------------------------------
.. automodule:: homeassistant.helpers.sun
:members:
:undoc-members:
:show-inheritance:
homeassistant.helpers.system_info module
----------------------------------------
.. automodule:: homeassistant.helpers.system_info
:members:
:undoc-members:
:show-inheritance:
homeassistant.helpers.temperature module
----------------------------------------
.. automodule:: homeassistant.helpers.temperature
:members:
:undoc-members:
:show-inheritance:
homeassistant.helpers.template module
-------------------------------------
.. automodule:: homeassistant.helpers.template
:members:
:undoc-members:
:show-inheritance:
homeassistant.helpers.translation module
-----------------------------------------
.. automodule:: homeassistant.helpers.translation
:members:
:undoc-members:
:show-inheritance:
homeassistant.helpers.typing module
-----------------------------------
.. automodule:: homeassistant.helpers.typing
:members:
:undoc-members:
:show-inheritance:
Module contents
---------------
:mod:`homeassistant.helpers`
============================
.. automodule:: homeassistant.helpers
:members:
:undoc-members:
:show-inheritance:
:members:
:undoc-members:
:show-inheritance:
homeassistant.helpers.aiohttp\_client
-------------------------------------
.. automodule:: homeassistant.helpers.aiohttp_client
:members:
:undoc-members:
:show-inheritance:
homeassistant.helpers.area\_registry
------------------------------------
.. automodule:: homeassistant.helpers.area_registry
:members:
:undoc-members:
:show-inheritance:
homeassistant.helpers.check\_config
-----------------------------------
.. automodule:: homeassistant.helpers.check_config
:members:
:undoc-members:
:show-inheritance:
homeassistant.helpers.collection
--------------------------------
.. automodule:: homeassistant.helpers.collection
:members:
:undoc-members:
:show-inheritance:
homeassistant.helpers.condition
-------------------------------
.. automodule:: homeassistant.helpers.condition
:members:
:undoc-members:
:show-inheritance:
homeassistant.helpers.config\_entry\_flow
-----------------------------------------
.. automodule:: homeassistant.helpers.config_entry_flow
:members:
:undoc-members:
:show-inheritance:
homeassistant.helpers.config\_entry\_oauth2\_flow
-------------------------------------------------
.. automodule:: homeassistant.helpers.config_entry_oauth2_flow
:members:
:undoc-members:
:show-inheritance:
homeassistant.helpers.config\_validation
----------------------------------------
.. automodule:: homeassistant.helpers.config_validation
:members:
:undoc-members:
:show-inheritance:
homeassistant.helpers.data\_entry\_flow
---------------------------------------
.. automodule:: homeassistant.helpers.data_entry_flow
:members:
:undoc-members:
:show-inheritance:
homeassistant.helpers.debounce
------------------------------
.. automodule:: homeassistant.helpers.debounce
:members:
:undoc-members:
:show-inheritance:
homeassistant.helpers.deprecation
---------------------------------
.. automodule:: homeassistant.helpers.deprecation
:members:
:undoc-members:
:show-inheritance:
homeassistant.helpers.device\_registry
--------------------------------------
.. automodule:: homeassistant.helpers.device_registry
:members:
:undoc-members:
:show-inheritance:
homeassistant.helpers.discovery
-------------------------------
.. automodule:: homeassistant.helpers.discovery
:members:
:undoc-members:
:show-inheritance:
homeassistant.helpers.dispatcher
--------------------------------
.. automodule:: homeassistant.helpers.dispatcher
:members:
:undoc-members:
:show-inheritance:
homeassistant.helpers.entity
----------------------------
.. automodule:: homeassistant.helpers.entity
:members:
:undoc-members:
:show-inheritance:
homeassistant.helpers.entity\_component
---------------------------------------
.. automodule:: homeassistant.helpers.entity_component
:members:
:undoc-members:
:show-inheritance:
homeassistant.helpers.entity\_platform
--------------------------------------
.. automodule:: homeassistant.helpers.entity_platform
:members:
:undoc-members:
:show-inheritance:
homeassistant.helpers.entity\_registry
--------------------------------------
.. automodule:: homeassistant.helpers.entity_registry
:members:
:undoc-members:
:show-inheritance:
homeassistant.helpers.entity\_values
------------------------------------
.. automodule:: homeassistant.helpers.entity_values
:members:
:undoc-members:
:show-inheritance:
homeassistant.helpers.entityfilter
----------------------------------
.. automodule:: homeassistant.helpers.entityfilter
:members:
:undoc-members:
:show-inheritance:
homeassistant.helpers.event
---------------------------
.. automodule:: homeassistant.helpers.event
:members:
:undoc-members:
:show-inheritance:
homeassistant.helpers.icon
--------------------------
.. automodule:: homeassistant.helpers.icon
:members:
:undoc-members:
:show-inheritance:
homeassistant.helpers.integration\_platform
-------------------------------------------
.. automodule:: homeassistant.helpers.integration_platform
:members:
:undoc-members:
:show-inheritance:
homeassistant.helpers.intent
----------------------------
.. automodule:: homeassistant.helpers.intent
:members:
:undoc-members:
:show-inheritance:
homeassistant.helpers.json
--------------------------
.. automodule:: homeassistant.helpers.json
:members:
:undoc-members:
:show-inheritance:
homeassistant.helpers.location
------------------------------
.. automodule:: homeassistant.helpers.location
:members:
:undoc-members:
:show-inheritance:
homeassistant.helpers.logging
-----------------------------
.. automodule:: homeassistant.helpers.logging
:members:
:undoc-members:
:show-inheritance:
homeassistant.helpers.network
-----------------------------
.. automodule:: homeassistant.helpers.network
:members:
:undoc-members:
:show-inheritance:
homeassistant.helpers.restore\_state
------------------------------------
.. automodule:: homeassistant.helpers.restore_state
:members:
:undoc-members:
:show-inheritance:
homeassistant.helpers.script
----------------------------
.. automodule:: homeassistant.helpers.script
:members:
:undoc-members:
:show-inheritance:
homeassistant.helpers.service
-----------------------------
.. automodule:: homeassistant.helpers.service
:members:
:undoc-members:
:show-inheritance:
homeassistant.helpers.signal
-----------------------------
.. automodule:: homeassistant.helpers.signal
:members:
:undoc-members:
:show-inheritance:
homeassistant.helpers.state
---------------------------
.. automodule:: homeassistant.helpers.state
:members:
:undoc-members:
:show-inheritance:
homeassistant.helpers.storage
-----------------------------
.. automodule:: homeassistant.helpers.storage
:members:
:undoc-members:
:show-inheritance:
homeassistant.helpers.sun
-------------------------
.. automodule:: homeassistant.helpers.sun
:members:
:undoc-members:
:show-inheritance:
homeassistant.helpers.system\_info
----------------------------------
.. automodule:: homeassistant.helpers.system_info
:members:
:undoc-members:
:show-inheritance:
homeassistant.helpers.temperature
---------------------------------
.. automodule:: homeassistant.helpers.temperature
:members:
:undoc-members:
:show-inheritance:
homeassistant.helpers.template
------------------------------
.. automodule:: homeassistant.helpers.template
:members:
:undoc-members:
:show-inheritance:
homeassistant.helpers.translation
---------------------------------
.. automodule:: homeassistant.helpers.translation
:members:
:undoc-members:
:show-inheritance:
homeassistant.helpers.typing
----------------------------
.. automodule:: homeassistant.helpers.typing
:members:
:undoc-members:
:show-inheritance:
homeassistant.helpers.update\_coordinator
-----------------------------------------
.. automodule:: homeassistant.helpers.update_coordinator
:members:
:undoc-members:
:show-inheritance:

View File

@@ -1,70 +0,0 @@
homeassistant package
=====================
Subpackages
-----------
.. toctree::
helpers
util
Submodules
----------
bootstrap module
------------------------------
.. automodule:: homeassistant.bootstrap
:members:
:undoc-members:
:show-inheritance:
config module
---------------------------
.. automodule:: homeassistant.config
:members:
:undoc-members:
:show-inheritance:
const module
--------------------------
.. automodule:: homeassistant.const
:members:
:undoc-members:
:show-inheritance:
core module
-------------------------
.. automodule:: homeassistant.core
:members:
:undoc-members:
:show-inheritance:
exceptions module
-------------------------------
.. automodule:: homeassistant.exceptions
:members:
:undoc-members:
:show-inheritance:
loader module
---------------------------
.. automodule:: homeassistant.loader
:members:
:undoc-members:
:show-inheritance:
Module contents
---------------
.. automodule:: homeassistant
:members:
:undoc-members:
:show-inheritance:

View File

@@ -0,0 +1,7 @@
.. _loader_module:
:mod:`homeassistant.loader`
---------------------------
.. automodule:: homeassistant.loader
:members:

View File

@@ -1,86 +1,159 @@
homeassistant.util package
==========================
Submodules
----------
homeassistant.util.async_ module
-------------------------------
.. automodule:: homeassistant.util.async_
:members:
:undoc-members:
:show-inheritance:
homeassistant.util.color module
-------------------------------
.. automodule:: homeassistant.util.color
:members:
:undoc-members:
:show-inheritance:
homeassistant.util.distance module
----------------------------------
.. automodule:: homeassistant.util.distance
:members:
:undoc-members:
:show-inheritance:
homeassistant.util.dt module
----------------------------
.. automodule:: homeassistant.util.dt
:members:
:undoc-members:
:show-inheritance:
homeassistant.util.location module
----------------------------------
.. automodule:: homeassistant.util.location
:members:
:undoc-members:
:show-inheritance:
homeassistant.util.package module
---------------------------------
.. automodule:: homeassistant.util.package
:members:
:undoc-members:
:show-inheritance:
homeassistant.util.temperature module
-------------------------------------
.. automodule:: homeassistant.util.temperature
:members:
:undoc-members:
:show-inheritance:
homeassistant.util.unit_system module
-------------------------------------
.. automodule:: homeassistant.util.unit_system
:members:
:undoc-members:
:show-inheritance:
homeassistant.util.yaml module
------------------------------
.. automodule:: homeassistant.util.yaml
:members:
:undoc-members:
:show-inheritance:
Module contents
---------------
:mod:`homeassistant.util`
=========================
.. automodule:: homeassistant.util
:members:
:undoc-members:
:show-inheritance:
:members:
:undoc-members:
:show-inheritance:
homeassistant.util.yaml
-----------------------
.. automodule:: homeassistant.util.yaml
:members:
:undoc-members:
:show-inheritance:
homeassistant.util.aiohttp
--------------------------
.. automodule:: homeassistant.util.aiohttp
:members:
:undoc-members:
:show-inheritance:
homeassistant.util.async\_
--------------------------
.. automodule:: homeassistant.util.async_
:members:
:undoc-members:
:show-inheritance:
homeassistant.util.color
------------------------
.. automodule:: homeassistant.util.color
:members:
:undoc-members:
:show-inheritance:
homeassistant.util.decorator
----------------------------
.. automodule:: homeassistant.util.decorator
:members:
:undoc-members:
:show-inheritance:
homeassistant.util.distance
---------------------------
.. automodule:: homeassistant.util.distance
:members:
:undoc-members:
:show-inheritance:
homeassistant.util.dt
---------------------
.. automodule:: homeassistant.util.dt
:members:
:undoc-members:
:show-inheritance:
homeassistant.util.json
-----------------------
.. automodule:: homeassistant.util.json
:members:
:undoc-members:
:show-inheritance:
homeassistant.util.location
---------------------------
.. automodule:: homeassistant.util.location
:members:
:undoc-members:
:show-inheritance:
homeassistant.util.logging
--------------------------
.. automodule:: homeassistant.util.logging
:members:
:undoc-members:
:show-inheritance:
homeassistant.util.network
--------------------------
.. automodule:: homeassistant.util.network
:members:
:undoc-members:
:show-inheritance:
homeassistant.util.package
--------------------------
.. automodule:: homeassistant.util.package
:members:
:undoc-members:
:show-inheritance:
homeassistant.util.pil
----------------------
.. automodule:: homeassistant.util.pil
:members:
:undoc-members:
:show-inheritance:
homeassistant.util.pressure
---------------------------
.. automodule:: homeassistant.util.pressure
:members:
:undoc-members:
:show-inheritance:
homeassistant.util.ruamel\_yaml
-------------------------------
.. automodule:: homeassistant.util.ruamel_yaml
:members:
:undoc-members:
:show-inheritance:
homeassistant.util.ssl
----------------------
.. automodule:: homeassistant.util.ssl
:members:
:undoc-members:
:show-inheritance:
homeassistant.util.temperature
------------------------------
.. automodule:: homeassistant.util.temperature
:members:
:undoc-members:
:show-inheritance:
homeassistant.util.unit\_system
-------------------------------
.. automodule:: homeassistant.util.unit_system
:members:
:undoc-members:
:show-inheritance:
homeassistant.util.volume
-------------------------
.. automodule:: homeassistant.util.volume
:members:
:undoc-members:
:show-inheritance:

View File

@@ -1,5 +1,4 @@
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
#
# Home-Assistant documentation build configuration file, created by
# sphinx-quickstart on Sun Aug 28 13:13:10 2016.
@@ -17,31 +16,32 @@
# add these directories to sys.path here. If the directory is relative to the
# documentation root, use os.path.abspath to make it absolute, like shown here.
#
import sys
import os
import inspect
import os
import sys
from homeassistant.const import __version__, __short_version__
from homeassistant.const import __short_version__, __version__
PROJECT_NAME = 'Home Assistant'
PROJECT_PACKAGE_NAME = 'homeassistant'
PROJECT_AUTHOR = 'The Home Assistant Authors'
PROJECT_COPYRIGHT = ' 2013-2018, {}'.format(PROJECT_AUTHOR)
PROJECT_LONG_DESCRIPTION = ('Home Assistant is an open-source '
'home automation platform running on Python 3. '
'Track and control all devices at home and '
'automate control. '
'Installation in less than a minute.')
PROJECT_GITHUB_USERNAME = 'home-assistant'
PROJECT_GITHUB_REPOSITORY = 'home-assistant'
PROJECT_NAME = "Home Assistant"
PROJECT_PACKAGE_NAME = "homeassistant"
PROJECT_AUTHOR = "The Home Assistant Authors"
PROJECT_COPYRIGHT = f" 2013-2020, {PROJECT_AUTHOR}"
PROJECT_LONG_DESCRIPTION = (
"Home Assistant is an open-source "
"home automation platform running on Python 3. "
"Track and control all devices at home and "
"automate control. "
"Installation in less than a minute."
)
PROJECT_GITHUB_USERNAME = "home-assistant"
PROJECT_GITHUB_REPOSITORY = "home-assistant"
GITHUB_PATH = '{}/{}'.format(
PROJECT_GITHUB_USERNAME, PROJECT_GITHUB_REPOSITORY)
GITHUB_URL = 'https://github.com/{}'.format(GITHUB_PATH)
GITHUB_PATH = f"{PROJECT_GITHUB_USERNAME}/{PROJECT_GITHUB_REPOSITORY}"
GITHUB_URL = f"https://github.com/{GITHUB_PATH}"
sys.path.insert(0, os.path.abspath('_ext'))
sys.path.insert(0, os.path.abspath('../homeassistant'))
sys.path.insert(0, os.path.abspath("_ext"))
sys.path.insert(0, os.path.abspath("../homeassistant"))
# -- General configuration ------------------------------------------------
@@ -53,27 +53,27 @@ sys.path.insert(0, os.path.abspath('../homeassistant'))
# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
# ones.
extensions = [
'sphinx.ext.autodoc',
'sphinx.ext.linkcode',
'sphinx_autodoc_annotation',
'edit_on_github'
"sphinx.ext.autodoc",
"sphinx.ext.linkcode",
"sphinx_autodoc_annotation",
"edit_on_github",
]
# Add any paths that contain templates here, relative to this directory.
templates_path = ['_templates']
templates_path = ["_templates"]
# The suffix(es) of source filenames.
# You can specify multiple suffix as a list of string:
#
# source_suffix = ['.rst', '.md']
source_suffix = '.rst'
source_suffix = ".rst"
# The encoding of source files.
#
# source_encoding = 'utf-8-sig'
# The master toctree document.
master_doc = 'index'
master_doc = "index"
# General information about the project.
project = PROJECT_NAME
@@ -89,25 +89,25 @@ version = __short_version__
# The full version, including alpha/beta/rc tags.
release = __version__
code_branch = 'dev' if 'dev' in __version__ else 'master'
code_branch = "dev" if "dev" in __version__ else "master"
# Edit on Github config
edit_on_github_project = GITHUB_PATH
edit_on_github_branch = code_branch
edit_on_github_src_path = 'docs/source/'
edit_on_github_src_path = "docs/source/"
def linkcode_resolve(domain, info):
"""Determine the URL corresponding to Python object."""
if domain != 'py':
if domain != "py":
return None
modname = info['module']
fullname = info['fullname']
modname = info["module"]
fullname = info["fullname"]
submod = sys.modules.get(modname)
if submod is None:
return None
obj = submod
for part in fullname.split('.'):
for part in fullname.split("."):
try:
obj = getattr(obj, part)
except:
@@ -132,7 +132,8 @@ def linkcode_resolve(domain, info):
fn = fn[index:]
return '{}/blob/{}/{}{}'.format(GITHUB_URL, code_branch, fn, linespec)
return f"{GITHUB_URL}/blob/{code_branch}/{fn}{linespec}"
# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.
@@ -175,7 +176,7 @@ exclude_patterns = []
# show_authors = False
# The name of the Pygments (syntax highlighting) style to use.
pygments_style = 'sphinx'
pygments_style = "sphinx"
# A list of ignored prefixes for module index sorting.
# modindex_common_prefix = []
@@ -192,22 +193,22 @@ todo_include_todos = False
# The theme to use for HTML and HTML Help pages. See the documentation for
# a list of builtin themes.
#
html_theme = 'alabaster'
html_theme = "alabaster"
# Theme options are theme-specific and customize the look and feel of a theme
# further. For a list of options available for each theme, see the
# documentation.
#
html_theme_options = {
'logo': 'logo.png',
'logo_name': PROJECT_NAME,
'description': PROJECT_LONG_DESCRIPTION,
'github_user': PROJECT_GITHUB_USERNAME,
'github_repo': PROJECT_GITHUB_REPOSITORY,
'github_type': 'star',
'github_banner': True,
'travis_button': True,
'touch_icon': 'logo-apple.png',
"logo": "logo.png",
"logo_name": PROJECT_NAME,
"description": PROJECT_LONG_DESCRIPTION,
"github_user": PROJECT_GITHUB_USERNAME,
"github_repo": PROJECT_GITHUB_REPOSITORY,
"github_type": "star",
"github_banner": True,
"travis_button": True,
"touch_icon": "logo-apple.png",
# 'fixed_sidebar': True, # Re-enable when we have more content
}
@@ -233,12 +234,12 @@ html_theme_options = {
# This file should be a Windows icon file (.ico) being 16x16 or 32x32
# pixels large.
#
html_favicon = '_static/favicon.ico'
html_favicon = "_static/favicon.ico"
# Add any paths that contain custom static files (such as style sheets) here,
# relative to this directory. They are copied after the builtin static files,
# so a file named "default.css" will overwrite the builtin "default.css".
html_static_path = ['_static']
html_static_path = ["_static"]
# Add any extra paths that contain custom files (such as robots.txt or
# .htaccess) here, relative to this directory. These files are copied
@@ -250,7 +251,7 @@ html_static_path = ['_static']
# bottom, using the given strftime format.
# The empty string is equivalent to '%b %d, %Y'.
#
html_last_updated_fmt = '%b %d, %Y'
html_last_updated_fmt = "%b %d, %Y"
# If true, SmartyPants will be used to convert quotes and dashes to
# typographically correct entities.
@@ -260,13 +261,13 @@ html_use_smartypants = True
# Custom sidebar templates, maps document names to template names.
#
html_sidebars = {
'**': [
'about.html',
'links.html',
'searchbox.html',
'sourcelink.html',
'navigation.html',
'relations.html'
"**": [
"about.html",
"links.html",
"searchbox.html",
"sourcelink.html",
"navigation.html",
"relations.html",
]
}
@@ -327,34 +328,36 @@ html_sidebars = {
# html_search_scorer = 'scorer.js'
# Output file base name for HTML help builder.
htmlhelp_basename = 'Home-Assistantdoc'
htmlhelp_basename = "Home-Assistantdoc"
# -- Options for LaTeX output ---------------------------------------------
latex_elements = {
# The paper size ('letterpaper' or 'a4paper').
#
# 'papersize': 'letterpaper',
# The font size ('10pt', '11pt' or '12pt').
#
# 'pointsize': '10pt',
# Additional stuff for the LaTeX preamble.
#
# 'preamble': '',
# Latex figure (float) alignment
#
# 'figure_align': 'htbp',
# The paper size ('letterpaper' or 'a4paper').
#
# 'papersize': 'letterpaper',
# The font size ('10pt', '11pt' or '12pt').
#
# 'pointsize': '10pt',
# Additional stuff for the LaTeX preamble.
#
# 'preamble': '',
# Latex figure (float) alignment
#
# 'figure_align': 'htbp',
}
# Grouping the document tree into LaTeX files. List of tuples
# (source start file, target name, title,
# author, documentclass [howto, manual, or own class]).
latex_documents = [
(master_doc, 'home-assistant.tex', 'Home Assistant Documentation',
'Home Assistant Team', 'manual'),
(
master_doc,
"home-assistant.tex",
"Home Assistant Documentation",
"Home Assistant Team",
"manual",
)
]
# The name of an image file (relative to this directory) to place at the top of
@@ -395,8 +398,7 @@ latex_documents = [
# One entry per manual page. List of tuples
# (source start file, name, description, authors, manual section).
man_pages = [
(master_doc, 'home-assistant', 'Home Assistant Documentation',
[author], 1)
(master_doc, "home-assistant", "Home Assistant Documentation", [author], 1)
]
# If true, show URL addresses after external links.
@@ -410,9 +412,15 @@ man_pages = [
# (source start file, target name, title, author,
# dir menu entry, description, category)
texinfo_documents = [
(master_doc, 'Home-Assistant', 'Home Assistant Documentation',
author, 'Home Assistant', 'Open-source home automation platform.',
'Miscellaneous'),
(
master_doc,
"Home-Assistant",
"Home Assistant Documentation",
author,
"Home Assistant",
"Open-source home automation platform.",
"Miscellaneous",
)
]
# Documents to append as an appendix to all manuals.

View File

@@ -1,22 +1,21 @@
"""Start Home Assistant."""
import argparse
import asyncio
import os
import platform
import subprocess
import sys
import threading
from typing import List, Dict, Any, TYPE_CHECKING
from typing import List
from homeassistant import monkey_patch
from homeassistant.const import __version__, REQUIRED_PYTHON_VER, RESTART_EXIT_CODE
import yarl
if TYPE_CHECKING:
from homeassistant import core
from homeassistant.const import REQUIRED_PYTHON_VER, RESTART_EXIT_CODE, __version__
def set_loop() -> None:
"""Attempt to use different loop."""
import asyncio
# pylint: disable=import-outside-toplevel
from asyncio.events import BaseDefaultEventLoopPolicy
if sys.platform == "win32":
@@ -39,15 +38,15 @@ def validate_python() -> None:
"""Validate that the right Python version is running."""
if sys.version_info[:3] < REQUIRED_PYTHON_VER:
print(
"Home Assistant requires at least Python {}.{}.{}".format(
*REQUIRED_PYTHON_VER
)
"Home Assistant requires at least Python "
f"{REQUIRED_PYTHON_VER[0]}.{REQUIRED_PYTHON_VER[1]}.{REQUIRED_PYTHON_VER[2]}"
)
sys.exit(1)
def ensure_config_path(config_dir: str) -> None:
"""Validate the configuration directory."""
# pylint: disable=import-outside-toplevel
import homeassistant.config as config_util
lib_dir = os.path.join(config_dir, "deps")
@@ -56,10 +55,8 @@ def ensure_config_path(config_dir: str) -> None:
if not os.path.isdir(config_dir):
if config_dir != config_util.get_default_config_dir():
print(
(
"Fatal Error: Specified configuration directory does "
"not exist {} "
).format(config_dir)
f"Fatal Error: Specified configuration directory {config_dir} "
"does not exist"
)
sys.exit(1)
@@ -67,10 +64,8 @@ def ensure_config_path(config_dir: str) -> None:
os.mkdir(config_dir)
except OSError:
print(
(
"Fatal Error: Unable to create default configuration "
"directory {} "
).format(config_dir)
"Fatal Error: Unable to create default configuration "
f"directory {config_dir}"
)
sys.exit(1)
@@ -79,29 +74,13 @@ def ensure_config_path(config_dir: str) -> None:
try:
os.mkdir(lib_dir)
except OSError:
print(
("Fatal Error: Unable to create library " "directory {} ").format(
lib_dir
)
)
print(f"Fatal Error: Unable to create library directory {lib_dir}")
sys.exit(1)
async def ensure_config_file(hass: "core.HomeAssistant", config_dir: str) -> str:
"""Ensure configuration file exists."""
import homeassistant.config as config_util
config_path = await config_util.async_ensure_config_exists(hass, config_dir)
if config_path is None:
print("Error getting configuration path")
sys.exit(1)
return config_path
def get_arguments() -> argparse.Namespace:
"""Get parsed passed in arguments."""
# pylint: disable=import-outside-toplevel
import homeassistant.config as config_util
parser = argparse.ArgumentParser(
@@ -116,7 +95,7 @@ def get_arguments() -> argparse.Namespace:
help="Directory that contains the Home Assistant configuration",
)
parser.add_argument(
"--demo-mode", action="store_true", help="Start Home Assistant in demo mode"
"--safe-mode", action="store_true", help="Start Home Assistant in safe mode"
)
parser.add_argument(
"--debug", action="store_true", help="Start Home Assistant in debug mode"
@@ -148,7 +127,7 @@ def get_arguments() -> argparse.Namespace:
"--log-file",
type=str,
default=None,
help="Log file to write to. If not set, CONFIG/home-assistant.log " "is used",
help="Log file to write to. If not set, CONFIG/home-assistant.log is used",
)
parser.add_argument(
"--log-no-color", action="store_true", help="Disable color logs"
@@ -189,7 +168,7 @@ def daemonize() -> None:
sys.exit(0)
# redirect standard file descriptors to devnull
infd = open(os.devnull, "r")
infd = open(os.devnull)
outfd = open(os.devnull, "a+")
sys.stdout.flush()
sys.stderr.flush()
@@ -202,7 +181,7 @@ def check_pid(pid_file: str) -> None:
"""Check that Home Assistant is not already running."""
# Check pid file
try:
with open(pid_file, "r") as file:
with open(pid_file) as file:
pid = int(file.readline())
except OSError:
# PID File does not exist
@@ -217,7 +196,7 @@ def check_pid(pid_file: str) -> None:
except OSError:
# PID does not exist
return
print("Fatal Error: HomeAssistant is already running.")
print("Fatal Error: Home Assistant is already running.")
sys.exit(1)
@@ -239,6 +218,7 @@ def closefds_osx(min_fd: int, max_fd: int) -> None:
are guarded. But we can set the close-on-exec flag on everything we want to
get rid of.
"""
# pylint: disable=import-outside-toplevel
from fcntl import fcntl, F_GETFD, F_SETFD, FD_CLOEXEC
for _fd in range(min_fd, max_fd):
@@ -261,40 +241,34 @@ def cmdline() -> List[str]:
async def setup_and_run_hass(config_dir: str, args: argparse.Namespace) -> int:
"""Set up HASS and run."""
from homeassistant import bootstrap, core
"""Set up Home Assistant and run."""
# pylint: disable=import-outside-toplevel
from homeassistant import bootstrap
hass = core.HomeAssistant()
hass = await bootstrap.async_setup_hass(
config_dir=config_dir,
verbose=args.verbose,
log_rotate_days=args.log_rotate_days,
log_file=args.log_file,
log_no_color=args.log_no_color,
skip_pip=args.skip_pip,
safe_mode=args.safe_mode,
)
if args.demo_mode:
config: Dict[str, Any] = {"frontend": {}, "demo": {}}
bootstrap.async_from_config_dict(
config,
hass,
config_dir=config_dir,
verbose=args.verbose,
skip_pip=args.skip_pip,
log_rotate_days=args.log_rotate_days,
log_file=args.log_file,
log_no_color=args.log_no_color,
)
else:
config_file = await ensure_config_file(hass, config_dir)
print("Config directory:", config_dir)
await bootstrap.async_from_config_file(
config_file,
hass,
verbose=args.verbose,
skip_pip=args.skip_pip,
log_rotate_days=args.log_rotate_days,
log_file=args.log_file,
log_no_color=args.log_no_color,
)
if hass is None:
return 1
if args.open_ui and hass.config.api is not None:
import webbrowser
if args.open_ui:
import webbrowser # pylint: disable=import-outside-toplevel
hass.add_job(webbrowser.open, hass.config.api.base_url)
if hass.config.api is not None:
scheme = "https" if hass.config.api.use_ssl else "http"
url = str(
yarl.URL.build(
scheme=scheme, host="127.0.0.1", port=hass.config.api.port
)
)
hass.add_job(webbrowser.open, url)
return await hass.async_run()
@@ -345,11 +319,6 @@ def main() -> int:
"""Start Home Assistant."""
validate_python()
monkey_patch_needed = sys.version_info[:3] < (3, 6, 3)
if monkey_patch_needed and os.environ.get("HASS_NO_MONKEY") != "1":
monkey_patch.disable_c_asyncio()
monkey_patch.patch_weakref_tasks()
set_loop()
# Run a simple daemon runner process on Windows to handle restarts
@@ -368,11 +337,12 @@ def main() -> int:
args = get_arguments()
if args.script is not None:
# pylint: disable=import-outside-toplevel
from homeassistant import scripts
return scripts.run(args.script)
config_dir = os.path.join(os.getcwd(), args.config)
config_dir = os.path.abspath(os.path.join(os.getcwd(), args.config))
ensure_config_path(config_dir)
# Daemon functions
@@ -383,13 +353,11 @@ def main() -> int:
if args.pid_file:
write_pid(args.pid_file)
from homeassistant.util.async_ import asyncio_run
exit_code = asyncio_run(setup_and_run_hass(config_dir, args))
exit_code = asyncio.run(setup_and_run_hass(config_dir, args), debug=args.debug)
if exit_code == RESTART_EXIT_CODE and not args.runner:
try_to_restart()
return exit_code # type: ignore
return exit_code
if __name__ == "__main__":

View File

@@ -1,21 +1,21 @@
"""Provide an authentication layer for Home Assistant."""
import asyncio
import logging
from collections import OrderedDict
from datetime import timedelta
import logging
from typing import Any, Dict, List, Optional, Tuple, cast
import jwt
from homeassistant import data_entry_flow
from homeassistant.auth.const import ACCESS_TOKEN_EXPIRATION
from homeassistant.core import callback, HomeAssistant
from homeassistant.core import HomeAssistant, callback
from homeassistant.util import dt as dt_util
from . import auth_store, models
from .const import GROUP_ID_ADMIN
from .mfa_modules import auth_mfa_module_from_config, MultiFactorAuthModule
from .providers import auth_provider_from_config, AuthProvider, LoginFlow
from .mfa_modules import MultiFactorAuthModule, auth_mfa_module_from_config
from .providers import AuthProvider, LoginFlow, auth_provider_from_config
EVENT_USER_ADDED = "user_added"
EVENT_USER_REMOVED = "user_removed"
@@ -67,6 +67,69 @@ async def auth_manager_from_config(
return manager
class AuthManagerFlowManager(data_entry_flow.FlowManager):
"""Manage authentication flows."""
def __init__(self, hass: HomeAssistant, auth_manager: "AuthManager"):
"""Init auth manager flows."""
super().__init__(hass)
self.auth_manager = auth_manager
async def async_create_flow(
self,
handler_key: Any,
*,
context: Optional[Dict[str, Any]] = None,
data: Optional[Dict[str, Any]] = None,
) -> data_entry_flow.FlowHandler:
"""Create a login flow."""
auth_provider = self.auth_manager.get_auth_provider(*handler_key)
if not auth_provider:
raise KeyError(f"Unknown auth provider {handler_key}")
return await auth_provider.async_login_flow(context)
async def async_finish_flow(
self, flow: data_entry_flow.FlowHandler, result: Dict[str, Any]
) -> Dict[str, Any]:
"""Return a user as result of login flow."""
flow = cast(LoginFlow, flow)
if result["type"] != data_entry_flow.RESULT_TYPE_CREATE_ENTRY:
return result
# we got final result
if isinstance(result["data"], models.User):
result["result"] = result["data"]
return result
auth_provider = self.auth_manager.get_auth_provider(*result["handler"])
if not auth_provider:
raise KeyError(f"Unknown auth provider {result['handler']}")
credentials = await auth_provider.async_get_or_create_credentials(
result["data"]
)
if flow.context.get("credential_only"):
result["result"] = credentials
return result
# multi-factor module cannot enabled for new credential
# which has not linked to a user yet
if auth_provider.support_mfa and not credentials.is_new:
user = await self.auth_manager.async_get_user_by_credentials(credentials)
if user is not None:
modules = await self.auth_manager.async_get_enabled_mfa(user)
if modules:
flow.user = user
flow.available_mfa_modules = modules
return await flow.async_step_select_mfa_module()
result["result"] = await self.auth_manager.async_get_or_create_user(credentials)
return result
class AuthManager:
"""Manage the authentication for Home Assistant."""
@@ -82,9 +145,7 @@ class AuthManager:
self._store = store
self._providers = providers
self._mfa_modules = mfa_modules
self.login_flow = data_entry_flow.FlowManager(
hass, self._async_create_login_flow, self._async_finish_login_flow
)
self.login_flow = AuthManagerFlowManager(hass, self)
@property
def auth_providers(self) -> List[AuthProvider]:
@@ -154,12 +215,14 @@ class AuthManager:
return user
async def async_create_user(self, name: str) -> models.User:
async def async_create_user(
self, name: str, group_ids: Optional[List[str]] = None
) -> models.User:
"""Create a user."""
kwargs: Dict[str, Any] = {
"name": name,
"is_active": True,
"group_ids": [GROUP_ID_ADMIN],
"group_ids": group_ids or [],
}
if await self._user_should_be_owner():
@@ -240,7 +303,7 @@ class AuthManager:
async def async_deactivate_user(self, user: models.User) -> None:
"""Deactivate a user."""
if user.is_owner:
raise ValueError("Unable to deactive the owner")
raise ValueError("Unable to deactivate the owner")
await self._store.async_deactivate_user(user)
async def async_remove_credentials(self, credentials: models.Credentials) -> None:
@@ -417,50 +480,6 @@ class AuthManager:
return refresh_token
async def _async_create_login_flow(
self, handler: _ProviderKey, *, context: Optional[Dict], data: Optional[Any]
) -> data_entry_flow.FlowHandler:
"""Create a login flow."""
auth_provider = self._providers[handler]
return await auth_provider.async_login_flow(context)
async def _async_finish_login_flow(
self, flow: LoginFlow, result: Dict[str, Any]
) -> Dict[str, Any]:
"""Return a user as result of login flow."""
if result["type"] != data_entry_flow.RESULT_TYPE_CREATE_ENTRY:
return result
# we got final result
if isinstance(result["data"], models.User):
result["result"] = result["data"]
return result
auth_provider = self._providers[result["handler"]]
credentials = await auth_provider.async_get_or_create_credentials(
result["data"]
)
if flow.context.get("credential_only"):
result["result"] = credentials
return result
# multi-factor module cannot enabled for new credential
# which has not linked to a user yet
if auth_provider.support_mfa and not credentials.is_new:
user = await self.async_get_user_by_credentials(credentials)
if user is not None:
modules = await self.async_get_enabled_mfa(user)
if modules:
flow.user = user
flow.available_mfa_modules = modules
return await flow.async_step_select_mfa_module()
result["result"] = await self.async_get_or_create_user(credentials)
return result
@callback
def _async_get_auth_provider(
self, credentials: models.Credentials

View File

@@ -11,7 +11,7 @@ from homeassistant.core import HomeAssistant, callback
from homeassistant.util import dt as dt_util
from . import models
from .const import GROUP_ID_ADMIN, GROUP_ID_USER, GROUP_ID_READ_ONLY
from .const import GROUP_ID_ADMIN, GROUP_ID_READ_ONLY, GROUP_ID_USER
from .permissions import PermissionLookup, system_policies
from .permissions.types import PolicyType

View File

@@ -1,4 +1,4 @@
"""Plugable auth modules for Home Assistant."""
"""Pluggable auth modules for Home Assistant."""
import importlib
import logging
import types
@@ -7,7 +7,7 @@ from typing import Any, Dict, Optional
import voluptuous as vol
from voluptuous.humanize import humanize_error
from homeassistant import requirements, data_entry_flow
from homeassistant import data_entry_flow, requirements
from homeassistant.const import CONF_ID, CONF_NAME, CONF_TYPE
from homeassistant.core import HomeAssistant
from homeassistant.exceptions import HomeAssistantError

View File

@@ -7,9 +7,9 @@ import voluptuous as vol
from homeassistant.core import HomeAssistant
from . import (
MultiFactorAuthModule,
MULTI_FACTOR_AUTH_MODULES,
MULTI_FACTOR_AUTH_MODULE_SCHEMA,
MULTI_FACTOR_AUTH_MODULES,
MultiFactorAuthModule,
SetupFlow,
)

View File

@@ -3,9 +3,9 @@
Sending HOTP through notify service
"""
import asyncio
import logging
from collections import OrderedDict
from typing import Any, Dict, Optional, List
import logging
from typing import Any, Dict, List, Optional
import attr
import voluptuous as vol
@@ -16,9 +16,9 @@ from homeassistant.exceptions import ServiceNotFound
from homeassistant.helpers import config_validation as cv
from . import (
MultiFactorAuthModule,
MULTI_FACTOR_AUTH_MODULES,
MULTI_FACTOR_AUTH_MODULE_SCHEMA,
MULTI_FACTOR_AUTH_MODULES,
MultiFactorAuthModule,
SetupFlow,
)
@@ -47,28 +47,28 @@ _LOGGER = logging.getLogger(__name__)
def _generate_secret() -> str:
"""Generate a secret."""
import pyotp
import pyotp # pylint: disable=import-outside-toplevel
return str(pyotp.random_base32())
def _generate_random() -> int:
"""Generate a 8 digit number."""
import pyotp
import pyotp # pylint: disable=import-outside-toplevel
return int(pyotp.random_base32(length=8, chars=list("1234567890")))
def _generate_otp(secret: str, count: int) -> str:
"""Generate one time password."""
import pyotp
import pyotp # pylint: disable=import-outside-toplevel
return str(pyotp.HOTP(secret).at(count))
def _verify_otp(secret: str, otp: str, count: int) -> bool:
"""Verify one time password."""
import pyotp
import pyotp # pylint: disable=import-outside-toplevel
return bool(pyotp.HOTP(secret).verify(otp, count))
@@ -204,7 +204,7 @@ class NotifyAuthModule(MultiFactorAuthModule):
await self._async_load()
assert self._user_settings is not None
notify_setting = self._user_settings.get(user_id, None)
notify_setting = self._user_settings.get(user_id)
if notify_setting is None:
return False
@@ -222,7 +222,7 @@ class NotifyAuthModule(MultiFactorAuthModule):
await self._async_load()
assert self._user_settings is not None
notify_setting = self._user_settings.get(user_id, None)
notify_setting = self._user_settings.get(user_id)
if notify_setting is None:
raise ValueError("Cannot find user_id")
@@ -246,7 +246,7 @@ class NotifyAuthModule(MultiFactorAuthModule):
await self._async_load()
assert self._user_settings is not None
notify_setting = self._user_settings.get(user_id, None)
notify_setting = self._user_settings.get(user_id)
if notify_setting is None:
_LOGGER.error("Cannot find user %s", user_id)
return
@@ -317,7 +317,7 @@ class NotifySetupFlow(SetupFlow):
async def async_step_setup(
self, user_input: Optional[Dict[str, str]] = None
) -> Dict[str, Any]:
"""Verify user can recevie one-time password."""
"""Verify user can receive one-time password."""
errors: Dict[str, str] = {}
hass = self._auth_module.hass

View File

@@ -1,7 +1,7 @@
"""Time-based One Time Password auth module."""
import asyncio
import logging
from io import BytesIO
import logging
from typing import Any, Dict, Optional, Tuple
import voluptuous as vol
@@ -10,9 +10,9 @@ from homeassistant.auth.models import User
from homeassistant.core import HomeAssistant
from . import (
MultiFactorAuthModule,
MULTI_FACTOR_AUTH_MODULES,
MULTI_FACTOR_AUTH_MODULE_SCHEMA,
MULTI_FACTOR_AUTH_MODULES,
MultiFactorAuthModule,
SetupFlow,
)
@@ -35,13 +35,13 @@ _LOGGER = logging.getLogger(__name__)
def _generate_qr_code(data: str) -> str:
"""Generate a base64 PNG string represent QR Code image of data."""
import pyqrcode
import pyqrcode # pylint: disable=import-outside-toplevel
qr_code = pyqrcode.create(data)
with BytesIO() as buffer:
qr_code.svg(file=buffer, scale=4)
return "{}".format(
return str(
buffer.getvalue()
.decode("ascii")
.replace("\n", "")
@@ -55,7 +55,7 @@ def _generate_qr_code(data: str) -> str:
def _generate_secret_and_qr_code(username: str) -> Tuple[str, str, str]:
"""Generate a secret, url, and QR code."""
import pyotp
import pyotp # pylint: disable=import-outside-toplevel
ota_secret = pyotp.random_base32()
url = pyotp.totp.TOTP(ota_secret).provisioning_uri(
@@ -105,7 +105,7 @@ class TotpAuthModule(MultiFactorAuthModule):
def _add_ota_secret(self, user_id: str, secret: Optional[str] = None) -> str:
"""Create a ota_secret for user."""
import pyotp
import pyotp # pylint: disable=import-outside-toplevel
ota_secret: str = secret or pyotp.random_base32()
@@ -160,7 +160,7 @@ class TotpAuthModule(MultiFactorAuthModule):
def _validate_2fa(self, user_id: str, code: str) -> bool:
"""Validate two factor authentication code."""
import pyotp
import pyotp # pylint: disable=import-outside-toplevel
ota_secret = self._users.get(user_id) # type: ignore
if ota_secret is None:
@@ -195,7 +195,7 @@ class TotpSetupFlow(SetupFlow):
Return self.async_show_form(step_id='init') if user_input is None.
Return self.async_create_entry(data={'result': result}) if finish.
"""
import pyotp
import pyotp # pylint: disable=import-outside-toplevel
errors: Dict[str, str] = {}

View File

@@ -1,5 +1,6 @@
"""Auth models."""
from datetime import datetime, timedelta
import secrets
from typing import Dict, List, NamedTuple, Optional
import uuid
@@ -9,7 +10,6 @@ from homeassistant.util import dt as dt_util
from . import permissions as perm_mdl
from .const import GROUP_ID_ADMIN
from .util import generate_secret
TOKEN_TYPE_NORMAL = "normal"
TOKEN_TYPE_SYSTEM = "system"
@@ -31,22 +31,28 @@ class User:
"""A user."""
name = attr.ib(type=Optional[str])
perm_lookup = attr.ib(type=perm_mdl.PermissionLookup, cmp=False)
perm_lookup = attr.ib(type=perm_mdl.PermissionLookup, eq=False, order=False)
id = attr.ib(type=str, factory=lambda: uuid.uuid4().hex)
is_owner = attr.ib(type=bool, default=False)
is_active = attr.ib(type=bool, default=False)
system_generated = attr.ib(type=bool, default=False)
groups = attr.ib(type=List[Group], factory=list, cmp=False)
groups = attr.ib(type=List[Group], factory=list, eq=False, order=False)
# List of credentials of a user.
credentials = attr.ib(type=List["Credentials"], factory=list, cmp=False)
credentials = attr.ib(type=List["Credentials"], factory=list, eq=False, order=False)
# Tokens associated with a user.
refresh_tokens = attr.ib(type=Dict[str, "RefreshToken"], factory=dict, cmp=False)
refresh_tokens = attr.ib(
type=Dict[str, "RefreshToken"], factory=dict, eq=False, order=False
)
_permissions = attr.ib(
type=Optional[perm_mdl.PolicyPermissions], init=False, cmp=False, default=None
type=Optional[perm_mdl.PolicyPermissions],
init=False,
eq=False,
order=False,
default=None,
)
@property
@@ -96,8 +102,8 @@ class RefreshToken:
)
id = attr.ib(type=str, factory=lambda: uuid.uuid4().hex)
created_at = attr.ib(type=datetime, factory=dt_util.utcnow)
token = attr.ib(type=str, factory=lambda: generate_secret(64))
jwt_key = attr.ib(type=str, factory=lambda: generate_secret(64))
token = attr.ib(type=str, factory=lambda: secrets.token_hex(64))
jwt_key = attr.ib(type=str, factory=lambda: secrets.token_hex(64))
last_used_at = attr.ib(type=Optional[datetime], default=None)
last_used_ip = attr.ib(type=Optional[str], default=None)
@@ -117,4 +123,8 @@ class Credentials:
is_new = attr.ib(type=bool, default=True)
UserMeta = NamedTuple("UserMeta", [("name", Optional[str]), ("is_active", bool)])
class UserMeta(NamedTuple):
"""User metadata."""
name: Optional[str]
is_active: bool

View File

@@ -5,13 +5,12 @@ from typing import Any, Callable, Optional
import voluptuous as vol
from .const import CAT_ENTITIES
from .models import PermissionLookup
from .types import PolicyType
from .entities import ENTITY_POLICY_SCHEMA, compile_entities
from .merge import merge_policies # noqa: F401
from .models import PermissionLookup
from .types import PolicyType
from .util import test_all
POLICY_SCHEMA = vol.Schema({vol.Optional(CAT_ENTITIES): ENTITY_POLICY_SCHEMA})
_LOGGER = logging.getLogger(__name__)

View File

@@ -4,11 +4,10 @@ from typing import Callable, Optional
import voluptuous as vol
from .const import SUBCAT_ALL, POLICY_READ, POLICY_CONTROL, POLICY_EDIT
from .const import POLICY_CONTROL, POLICY_EDIT, POLICY_READ, SUBCAT_ALL
from .models import PermissionLookup
from .types import CategoryType, SubCategoryDict, ValueType
from .util import SubCatLookupType, lookup_all, compile_policy
from .util import SubCatLookupType, compile_policy, lookup_all
SINGLE_ENTITY_SCHEMA = vol.Any(
True,

View File

@@ -1,7 +1,7 @@
"""Merging of policies."""
from typing import cast, Dict, List, Set
from typing import Dict, List, Set, cast
from .types import PolicyType, CategoryType
from .types import CategoryType, PolicyType
def merge_policies(policies: List[PolicyType]) -> PolicyType:

View File

@@ -1,5 +1,5 @@
"""System policies."""
from .const import CAT_ENTITIES, SUBCAT_ALL, POLICY_READ
from .const import CAT_ENTITIES, POLICY_READ, SUBCAT_ALL
ADMIN_POLICY = {CAT_ENTITIES: True}

View File

@@ -1,6 +1,5 @@
"""Helpers to deal with permissions."""
from functools import wraps
from typing import Callable, Dict, List, Optional, cast
from .const import SUBCAT_ALL

View File

@@ -8,8 +8,8 @@ import voluptuous as vol
from voluptuous.humanize import humanize_error
from homeassistant import data_entry_flow, requirements
from homeassistant.core import callback, HomeAssistant
from homeassistant.const import CONF_ID, CONF_NAME, CONF_TYPE
from homeassistant.core import HomeAssistant, callback
from homeassistant.exceptions import HomeAssistantError
from homeassistant.util import dt as dt_util
from homeassistant.util.decorator import Registry
@@ -116,7 +116,6 @@ class AuthProvider:
async def async_initialize(self) -> None:
"""Initialize the auth provider."""
pass
async def auth_provider_from_config(

View File

@@ -1,20 +1,18 @@
"""Auth provider that validates credentials via an external command."""
from typing import Any, Dict, Optional, cast
import asyncio.subprocess
import collections
import logging
import os
from typing import Any, Dict, Optional, cast
import voluptuous as vol
from homeassistant.exceptions import HomeAssistantError
from . import AuthProvider, AUTH_PROVIDER_SCHEMA, AUTH_PROVIDERS, LoginFlow
from . import AUTH_PROVIDER_SCHEMA, AUTH_PROVIDERS, AuthProvider, LoginFlow
from ..models import Credentials, UserMeta
CONF_COMMAND = "command"
CONF_ARGS = "args"
CONF_META = "meta"
@@ -63,8 +61,7 @@ class CommandLineAuthProvider(AuthProvider):
"""Validate a username and password."""
env = {"username": username, "password": password}
try:
# pylint: disable=no-member
process = await asyncio.subprocess.create_subprocess_exec(
process = await asyncio.subprocess.create_subprocess_exec( # pylint: disable=no-member
self.config[CONF_COMMAND],
*self.config[CONF_ARGS],
env=env,
@@ -78,7 +75,7 @@ class CommandLineAuthProvider(AuthProvider):
if process.returncode != 0:
_LOGGER.error(
"User %r failed to authenticate, command exited " "with code %d.",
"User %r failed to authenticate, command exited with code %d.",
username,
process.returncode,
)

View File

@@ -3,21 +3,18 @@ import asyncio
import base64
from collections import OrderedDict
import logging
from typing import Any, Dict, List, Optional, Set, cast
import bcrypt
import voluptuous as vol
from homeassistant.const import CONF_ID
from homeassistant.core import callback, HomeAssistant
from homeassistant.core import HomeAssistant, callback
from homeassistant.exceptions import HomeAssistantError
from . import AuthProvider, AUTH_PROVIDER_SCHEMA, AUTH_PROVIDERS, LoginFlow
from . import AUTH_PROVIDER_SCHEMA, AUTH_PROVIDERS, AuthProvider, LoginFlow
from ..models import Credentials, UserMeta
STORAGE_VERSION = 1
STORAGE_KEY = "auth_provider.homeassistant"
@@ -141,8 +138,9 @@ class Data:
if not bcrypt.checkpw(password.encode(), user_hash):
raise InvalidAuth
# pylint: disable=no-self-use
def hash_password(self, password: str, for_storage: bool = False) -> bytes:
def hash_password( # pylint: disable=no-self-use
self, password: str, for_storage: bool = False
) -> bytes:
"""Encode a password."""
hashed: bytes = bcrypt.hashpw(password.encode(), bcrypt.gensalt(rounds=12))
@@ -203,7 +201,7 @@ class Data:
@AUTH_PROVIDERS.register("homeassistant")
class HassAuthProvider(AuthProvider):
"""Auth provider based on a local storage of users in HASS config dir."""
"""Auth provider based on a local storage of users in Home Assistant config dir."""
DEFAULT_TITLE = "Home Assistant Local"

View File

@@ -5,13 +5,12 @@ from typing import Any, Dict, Optional, cast
import voluptuous as vol
from homeassistant.exceptions import HomeAssistantError
from homeassistant.core import callback
from homeassistant.exceptions import HomeAssistantError
from . import AuthProvider, AUTH_PROVIDER_SCHEMA, AUTH_PROVIDERS, LoginFlow
from . import AUTH_PROVIDER_SCHEMA, AUTH_PROVIDERS, AuthProvider, LoginFlow
from ..models import Credentials, UserMeta
USER_SCHEMA = vol.Schema(
{
vol.Required("username"): str,

View File

@@ -12,9 +12,9 @@ from homeassistant.core import HomeAssistant, callback
from homeassistant.exceptions import HomeAssistantError
import homeassistant.helpers.config_validation as cv
from . import AuthProvider, AUTH_PROVIDER_SCHEMA, AUTH_PROVIDERS, LoginFlow
from . import AUTH_PROVIDER_SCHEMA, AUTH_PROVIDERS, AuthProvider, LoginFlow
from .. import AuthManager
from ..models import Credentials, UserMeta, User
from ..models import Credentials, User, UserMeta
AUTH_PROVIDER_TYPE = "legacy_api_password"
CONF_API_PASSWORD = "api_password"

View File

@@ -3,15 +3,16 @@
It shows list of users if access from trusted network.
Abort login flow if not access from trusted network.
"""
from ipaddress import ip_network, IPv4Address, IPv6Address, IPv4Network, IPv6Network
from ipaddress import IPv4Address, IPv4Network, IPv6Address, IPv6Network, ip_network
from typing import Any, Dict, List, Optional, Union, cast
import voluptuous as vol
import homeassistant.helpers.config_validation as cv
from homeassistant.core import callback
from homeassistant.exceptions import HomeAssistantError
from . import AuthProvider, AUTH_PROVIDER_SCHEMA, AUTH_PROVIDERS, LoginFlow
import homeassistant.helpers.config_validation as cv
from . import AUTH_PROVIDER_SCHEMA, AUTH_PROVIDERS, AuthProvider, LoginFlow
from ..models import Credentials, UserMeta
IPAddress = Union[IPv4Address, IPv6Address]

View File

@@ -1,13 +0,0 @@
"""Auth utils."""
import binascii
import os
def generate_secret(entropy: int = 32) -> str:
"""Generate a secret.
Backport of secrets.token_hex from Python 3.6
Event loop friendly.
"""
return binascii.hexlify(os.urandom(entropy)).decode("ascii")

View File

@@ -0,0 +1,14 @@
"""Block I/O being done in asyncio."""
from http.client import HTTPConnection
from homeassistant.util.async_ import protect_loop
def enable() -> None:
"""Enable the detection of I/O in the event loop."""
# Prevent urllib3 and requests doing I/O in event loop
HTTPConnection.putrequest = protect_loop(HTTPConnection.putrequest)
# Currently disabled. pytz doing I/O when getting timezone.
# Prevent files being opened inside the event loop
# builtins.open = protect_loop(builtins.open)

View File

@@ -1,22 +1,29 @@
"""Provide methods to bootstrap a Home Assistant instance."""
import asyncio
import contextlib
import logging
import logging.handlers
import os
import sys
from time import time
from collections import OrderedDict
from typing import Any, Optional, Dict, Set
from time import monotonic
from typing import Any, Dict, Optional, Set
from async_timeout import timeout
import voluptuous as vol
from homeassistant import core, config as conf_util, config_entries, loader
from homeassistant.const import EVENT_HOMEASSISTANT_CLOSE
from homeassistant.setup import async_setup_component
from homeassistant.util.logging import AsyncHandler
from homeassistant import config as conf_util, config_entries, core, loader
from homeassistant.components import http
from homeassistant.const import (
EVENT_HOMEASSISTANT_STOP,
REQUIRED_NEXT_PYTHON_DATE,
REQUIRED_NEXT_PYTHON_VER,
)
from homeassistant.exceptions import HomeAssistantError
from homeassistant.helpers.typing import ConfigType
from homeassistant.setup import DATA_SETUP, DATA_SETUP_STARTED, async_setup_component
from homeassistant.util.logging import async_activate_log_queue_handler
from homeassistant.util.package import async_get_user_site, is_virtual_env
from homeassistant.util.yaml import clear_secret_cache
from homeassistant.exceptions import HomeAssistantError
_LOGGER = logging.getLogger(__name__)
@@ -25,9 +32,11 @@ ERROR_LOG_FILENAME = "home-assistant.log"
# hass.data key for logging information.
DATA_LOGGING = "logging"
LOG_SLOW_STARTUP_INTERVAL = 60
DEBUGGER_INTEGRATIONS = {"ptvsd"}
CORE_INTEGRATIONS = ("homeassistant", "persistent_notification")
LOGGING_INTEGRATIONS = {"logger", "system_log"}
LOGGING_INTEGRATIONS = {"logger", "system_log", "sentry"}
STAGE_1_INTEGRATIONS = {
# To record data
"recorder",
@@ -35,35 +44,131 @@ STAGE_1_INTEGRATIONS = {
"mqtt_eventstream",
# To provide account link implementations
"cloud",
# Ensure supervisor is available
"hassio",
# Get the frontend up and running as soon
# as possible so problem integrations can
# be removed
"frontend",
"config",
}
async def async_setup_hass(
*,
config_dir: str,
verbose: bool,
log_rotate_days: int,
log_file: str,
log_no_color: bool,
skip_pip: bool,
safe_mode: bool,
) -> Optional[core.HomeAssistant]:
"""Set up Home Assistant."""
hass = core.HomeAssistant()
hass.config.config_dir = config_dir
async_enable_logging(hass, verbose, log_rotate_days, log_file, log_no_color)
hass.config.skip_pip = skip_pip
if skip_pip:
_LOGGER.warning(
"Skipping pip installation of required modules. This may cause issues"
)
if not await conf_util.async_ensure_config_exists(hass):
_LOGGER.error("Error getting configuration path")
return None
_LOGGER.info("Config directory: %s", config_dir)
config_dict = None
basic_setup_success = False
if not safe_mode:
await hass.async_add_executor_job(conf_util.process_ha_config_upgrade, hass)
try:
config_dict = await conf_util.async_hass_config_yaml(hass)
except HomeAssistantError as err:
_LOGGER.error(
"Failed to parse configuration.yaml: %s. Activating safe mode", err,
)
else:
if not is_virtual_env():
await async_mount_local_lib_path(config_dir)
basic_setup_success = (
await async_from_config_dict(config_dict, hass) is not None
)
finally:
clear_secret_cache()
if config_dict is None:
safe_mode = True
elif not basic_setup_success:
_LOGGER.warning("Unable to set up core integrations. Activating safe mode")
safe_mode = True
elif (
"frontend" in hass.data.get(DATA_SETUP, {})
and "frontend" not in hass.config.components
):
_LOGGER.warning("Detected that frontend did not load. Activating safe mode")
# Ask integrations to shut down. It's messy but we can't
# do a clean stop without knowing what is broken
hass.async_track_tasks()
hass.bus.async_fire(EVENT_HOMEASSISTANT_STOP, {})
with contextlib.suppress(asyncio.TimeoutError):
async with timeout(10):
await hass.async_block_till_done()
safe_mode = True
hass = core.HomeAssistant()
hass.config.config_dir = config_dir
if safe_mode:
_LOGGER.info("Starting in safe mode")
hass.config.safe_mode = True
http_conf = (await http.async_get_last_config(hass)) or {}
await async_from_config_dict(
{"safe_mode": {}, "http": http_conf}, hass,
)
return hass
async def async_from_config_dict(
config: Dict[str, Any],
hass: core.HomeAssistant,
config_dir: Optional[str] = None,
enable_log: bool = True,
verbose: bool = False,
skip_pip: bool = False,
log_rotate_days: Any = None,
log_file: Any = None,
log_no_color: bool = False,
config: ConfigType, hass: core.HomeAssistant
) -> Optional[core.HomeAssistant]:
"""Try to configure Home Assistant from a configuration dictionary.
Dynamically loads required components and its dependencies.
This method is a coroutine.
"""
start = time()
start = monotonic()
if enable_log:
async_enable_logging(hass, verbose, log_rotate_days, log_file, log_no_color)
hass.config_entries = config_entries.ConfigEntries(hass, config)
await hass.config_entries.async_initialize()
hass.config.skip_pip = skip_pip
if skip_pip:
_LOGGER.warning(
"Skipping pip installation of required modules. " "This may cause issues"
# Set up core.
_LOGGER.debug("Setting up %s", CORE_INTEGRATIONS)
if not all(
await asyncio.gather(
*(
async_setup_component(hass, domain, config)
for domain in CORE_INTEGRATIONS
)
)
):
_LOGGER.error("Home Assistant core failed to initialize. ")
return None
_LOGGER.debug("Home Assistant core initialized")
core_config = config.get(core.DOMAIN, {})
@@ -79,27 +184,19 @@ async def async_from_config_dict(
)
return None
# Make a copy because we are mutating it.
config = OrderedDict(config)
# Merge packages
await conf_util.merge_packages_config(
hass, config, core_config.get(conf_util.CONF_PACKAGES, {})
)
hass.config_entries = config_entries.ConfigEntries(hass, config)
await hass.config_entries.async_initialize()
await _async_set_up_integrations(hass, config)
stop = time()
stop = monotonic()
_LOGGER.info("Home Assistant initialized in %.2fs", stop - start)
if sys.version_info[:3] < (3, 7, 0):
if REQUIRED_NEXT_PYTHON_DATE and sys.version_info[:3] < REQUIRED_NEXT_PYTHON_VER:
msg = (
"Python 3.6 support is deprecated and will "
"be removed in the first release after December 15, 2019. Please "
"upgrade Python to 3.7.0 or higher."
"Support for the running Python version "
f"{'.'.join(str(x) for x in sys.version_info[:3])} is deprecated and will "
f"be removed in the first release after {REQUIRED_NEXT_PYTHON_DATE}. "
"Please upgrade Python to "
f"{'.'.join(str(x) for x in REQUIRED_NEXT_PYTHON_VER)} or "
"higher."
)
_LOGGER.warning(msg)
hass.components.persistent_notification.async_create(
@@ -109,46 +206,6 @@ async def async_from_config_dict(
return hass
async def async_from_config_file(
config_path: str,
hass: core.HomeAssistant,
verbose: bool = False,
skip_pip: bool = True,
log_rotate_days: Any = None,
log_file: Any = None,
log_no_color: bool = False,
) -> Optional[core.HomeAssistant]:
"""Read the configuration file and try to start all the functionality.
Will add functionality to 'hass' parameter.
This method is a coroutine.
"""
# Set config dir to directory holding config file
config_dir = os.path.abspath(os.path.dirname(config_path))
hass.config.config_dir = config_dir
if not is_virtual_env():
await async_mount_local_lib_path(config_dir)
async_enable_logging(hass, verbose, log_rotate_days, log_file, log_no_color)
await hass.async_add_executor_job(conf_util.process_ha_config_upgrade, hass)
try:
config_dict = await hass.async_add_executor_job(
conf_util.load_yaml_config_file, config_path
)
except HomeAssistantError as err:
_LOGGER.error("Error loading %s: %s", config_path, err)
return None
finally:
clear_secret_cache()
return await async_from_config_dict(
config_dict, hass, enable_log=False, skip_pip=skip_pip
)
@core.callback
def async_enable_logging(
hass: core.HomeAssistant,
@@ -161,11 +218,12 @@ def async_enable_logging(
This method must be run in the event loop.
"""
fmt = "%(asctime)s %(levelname)s (%(threadName)s) " "[%(name)s] %(message)s"
fmt = "%(asctime)s %(levelname)s (%(threadName)s) [%(name)s] %(message)s"
datefmt = "%Y-%m-%d %H:%M:%S"
if not log_no_color:
try:
# pylint: disable=import-outside-toplevel
from colorlog import ColoredFormatter
# basicConfig must be called after importing colorlog in order to
@@ -191,7 +249,7 @@ def async_enable_logging(
pass
# If the above initialization failed for any reason, setup the default
# formatting. If the above succeeds, this wil result in a no-op.
# formatting. If the above succeeds, this will result in a no-op.
logging.basicConfig(format=fmt, datefmt=datefmt, level=logging.INFO)
# Suppress overly verbose logs from libraries that aren't helpful
@@ -199,6 +257,10 @@ def async_enable_logging(
logging.getLogger("urllib3").setLevel(logging.WARNING)
logging.getLogger("aiohttp.access").setLevel(logging.WARNING)
sys.excepthook = lambda *args: logging.getLogger(None).exception(
"Uncaught exception", exc_info=args # type: ignore
)
# Log errors to a file if we have write access to file or config dir
if log_file is None:
err_log_path = hass.config.path(ERROR_LOG_FILENAME)
@@ -224,24 +286,17 @@ def async_enable_logging(
err_handler.setLevel(logging.INFO if verbose else logging.WARNING)
err_handler.setFormatter(logging.Formatter(fmt, datefmt=datefmt))
async_handler = AsyncHandler(hass.loop, err_handler)
async def async_stop_async_handler(_: Any) -> None:
"""Cleanup async handler."""
logging.getLogger("").removeHandler(async_handler) # type: ignore
await async_handler.async_close(blocking=True)
hass.bus.async_listen_once(EVENT_HOMEASSISTANT_CLOSE, async_stop_async_handler)
logger = logging.getLogger("")
logger.addHandler(async_handler) # type: ignore
logger.setLevel(logging.INFO)
logger.addHandler(err_handler)
logger.setLevel(logging.INFO if verbose else logging.WARNING)
# Save the log file location for access by other components.
hass.data[DATA_LOGGING] = err_log_path
else:
_LOGGER.error("Unable to set up error log %s (access denied)", err_log_path)
async_activate_log_queue_handler(hass)
async def async_mount_local_lib_path(config_dir: str) -> str:
"""Add local library to Python Path.
@@ -259,10 +314,11 @@ async def async_mount_local_lib_path(config_dir: str) -> str:
def _get_domains(hass: core.HomeAssistant, config: Dict[str, Any]) -> Set[str]:
"""Get domains of components to set up."""
# Filter out the repeating and common config section [homeassistant]
domains = set(key.split(" ")[0] for key in config.keys() if key != core.DOMAIN)
domains = {key.split(" ")[0] for key in config.keys() if key != core.DOMAIN}
# Add config entry domains
domains.update(hass.config_entries.async_domains())
if not hass.config.safe_mode:
domains.update(hass.config_entries.async_domains())
# Make sure the Hass.io component is loaded
if "HASSIO" in os.environ:
@@ -275,15 +331,47 @@ async def _async_set_up_integrations(
hass: core.HomeAssistant, config: Dict[str, Any]
) -> None:
"""Set up all the integrations."""
setup_started = hass.data[DATA_SETUP_STARTED] = {}
async def async_setup_multi_components(domains: Set[str]) -> None:
"""Set up multiple domains. Log on failure."""
async def _async_log_pending_setups() -> None:
"""Periodic log of setups that are pending for longer than LOG_SLOW_STARTUP_INTERVAL."""
while True:
await asyncio.sleep(LOG_SLOW_STARTUP_INTERVAL)
remaining = [domain for domain in domains if domain in setup_started]
if remaining:
_LOGGER.info(
"Waiting on integrations to complete setup: %s",
", ".join(remaining),
)
futures = {
domain: hass.async_create_task(async_setup_component(hass, domain, config))
for domain in domains
}
log_task = asyncio.create_task(_async_log_pending_setups())
await asyncio.wait(futures.values())
log_task.cancel()
errors = [domain for domain in domains if futures[domain].exception()]
for domain in errors:
exception = futures[domain].exception()
_LOGGER.error(
"Error setting up integration %s - received exception",
domain,
exc_info=(type(exception), exception, exception.__traceback__),
)
domains = _get_domains(hass, config)
# Start up debuggers. Start these first in case they want to wait.
debuggers = domains & DEBUGGER_INTEGRATIONS
if debuggers:
_LOGGER.debug("Starting up debuggers %s", debuggers)
await asyncio.gather(
*(async_setup_component(hass, domain, config) for domain in debuggers)
)
await async_setup_multi_components(debuggers)
domains -= DEBUGGER_INTEGRATIONS
# Resolve all dependencies of all components so we can find the logging
@@ -293,25 +381,6 @@ async def _async_set_up_integrations(
return_exceptions=True,
)
# Set up core.
_LOGGER.debug("Setting up %s", CORE_INTEGRATIONS)
if not all(
await asyncio.gather(
*(
async_setup_component(hass, domain, config)
for domain in CORE_INTEGRATIONS
)
)
):
_LOGGER.error(
"Home Assistant core failed to initialize. "
"Further initialization aborted"
)
return
_LOGGER.debug("Home Assistant core initialized")
# Finish resolving domains
for dep_domains in await resolved_domains_task:
# Result is either a set or an exception. We ignore exceptions
@@ -327,9 +396,7 @@ async def _async_set_up_integrations(
if logging_domains:
_LOGGER.info("Setting up %s", logging_domains)
await asyncio.gather(
*(async_setup_component(hass, domain, config) for domain in logging_domains)
)
await async_setup_multi_components(logging_domains)
# Kick off loading the registries. They don't need to be awaited.
asyncio.gather(
@@ -339,9 +406,9 @@ async def _async_set_up_integrations(
)
if stage_1_domains:
await asyncio.gather(
*(async_setup_component(hass, domain, config) for domain in stage_1_domains)
)
_LOGGER.info("Setting up %s", stage_1_domains)
await async_setup_multi_components(stage_1_domains)
# Load all integrations
after_dependencies: Dict[str, Set[str]] = {}
@@ -370,9 +437,7 @@ async def _async_set_up_integrations(
_LOGGER.debug("Setting up %s", domains_to_load)
await asyncio.gather(
*(async_setup_component(hass, domain, config) for domain in domains_to_load)
)
await async_setup_multi_components(domains_to_load)
last_load = domains_to_load
stage_2_domains -= domains_to_load
@@ -382,9 +447,8 @@ async def _async_set_up_integrations(
if stage_2_domains:
_LOGGER.debug("Final set up: %s", stage_2_domains)
await asyncio.gather(
*(async_setup_component(hass, domain, config) for domain in stage_2_domains)
)
await async_setup_multi_components(stage_2_domains)
# Wrap up startup
_LOGGER.debug("Waiting for startup to wrap up")
await hass.async_block_till_done()

View File

@@ -11,7 +11,6 @@ import logging
from homeassistant.core import split_entity_id
# mypy: allow-untyped-defs
_LOGGER = logging.getLogger(__name__)

View File

@@ -1,22 +0,0 @@
{
"config": {
"abort": {
"single_instance_allowed": "\u0420\u0430\u0437\u0440\u0435\u0448\u0435\u043d\u0430 \u0435 \u0441\u0430\u043c\u043e \u0435\u0434\u043d\u0430 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f \u043d\u0430 Abode."
},
"error": {
"connection_error": "\u041d\u0435\u0443\u0441\u043f\u0435\u0448\u043d\u043e \u0441\u0432\u044a\u0440\u0437\u0432\u0430\u043d\u0435 \u0441 Abode.",
"identifier_exists": "\u041f\u0440\u043e\u0444\u0438\u043b\u044a\u0442 \u0435 \u0432\u0435\u0447\u0435 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u0430\u043d.",
"invalid_credentials": "\u041d\u0435\u0432\u0430\u043b\u0438\u0434\u043d\u0438 \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u043e\u043d\u043d\u0438 \u0434\u0430\u043d\u043d\u0438."
},
"step": {
"user": {
"data": {
"password": "\u041f\u0430\u0440\u043e\u043b\u0430",
"username": "E-mail \u0430\u0434\u0440\u0435\u0441"
},
"title": "\u041f\u043e\u043f\u044a\u043b\u043d\u0435\u0442\u0435 \u0412\u0430\u0448\u0430\u0442\u0430 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f \u0437\u0430 \u0432\u0445\u043e\u0434 \u0432 Abode"
}
},
"title": "Abode"
}
}

View File

@@ -1,22 +0,0 @@
{
"config": {
"abort": {
"single_instance_allowed": "Nom\u00e9s es permet una \u00fanica configuraci\u00f3 d'Abode."
},
"error": {
"connection_error": "No es pot connectar amb Abode.",
"identifier_exists": "Compte ja registrat.",
"invalid_credentials": "Credencials inv\u00e0lides."
},
"step": {
"user": {
"data": {
"password": "Contrasenya",
"username": "Correu electr\u00f2nic"
},
"title": "Introdueix la teva informaci\u00f3 d'inici de sessi\u00f3 a Abode."
}
},
"title": "Abode"
}
}

View File

@@ -1,22 +0,0 @@
{
"config": {
"abort": {
"single_instance_allowed": "Je povolena pouze jedna konfigurace Abode."
},
"error": {
"connection_error": "Nelze se p\u0159ipojit k Abode.",
"identifier_exists": "\u00da\u010det je ji\u017e zaregistrov\u00e1n.",
"invalid_credentials": "Neplatn\u00e9 p\u0159ihla\u0161ovac\u00ed \u00fadaje."
},
"step": {
"user": {
"data": {
"password": "Heslo",
"username": "E-mailov\u00e1 adresa"
},
"title": "Vypl\u0148te p\u0159ihla\u0161ovac\u00ed \u00fadaje Abode"
}
},
"title": "Abode"
}
}

View File

@@ -1,22 +0,0 @@
{
"config": {
"abort": {
"single_instance_allowed": "Det er kun n\u00f8dvendigt med en ops\u00e6tning af Abode."
},
"error": {
"connection_error": "Kunne ikke oprette forbindelse til Abode.",
"identifier_exists": "Konto er allerede registreret.",
"invalid_credentials": "Ugyldige legitimationsoplysninger."
},
"step": {
"user": {
"data": {
"password": "Adgangskode",
"username": "Email adresse"
},
"title": "Udfyld dine Abode-loginoplysninger"
}
},
"title": "Abode"
}
}

View File

@@ -1,22 +0,0 @@
{
"config": {
"abort": {
"single_instance_allowed": "Es ist nur eine einzige Konfiguration von Abode erlaubt."
},
"error": {
"connection_error": "Es kann keine Verbindung zu Abode hergestellt werden.",
"identifier_exists": "Das Konto ist bereits registriert.",
"invalid_credentials": "Ung\u00fcltige Anmeldeinformationen"
},
"step": {
"user": {
"data": {
"password": "Passwort",
"username": "E-Mail-Adresse"
},
"title": "Gib deine Abode-Anmeldeinformationen ein"
}
},
"title": "Abode"
}
}

View File

@@ -1,22 +0,0 @@
{
"config": {
"abort": {
"single_instance_allowed": "Only a single configuration of Abode is allowed."
},
"error": {
"connection_error": "Unable to connect to Abode.",
"identifier_exists": "Account already registered.",
"invalid_credentials": "Invalid credentials."
},
"step": {
"user": {
"data": {
"password": "Password",
"username": "Email Address"
},
"title": "Fill in your Abode login information"
}
},
"title": "Abode"
}
}

View File

@@ -1,22 +0,0 @@
{
"config": {
"abort": {
"single_instance_allowed": "Solo se permite una \u00fanica configuraci\u00f3n de Abode."
},
"error": {
"connection_error": "No se puede conectar a Abode.",
"identifier_exists": "Cuenta ya registrada.",
"invalid_credentials": "Credenciales inv\u00e1lidas."
},
"step": {
"user": {
"data": {
"password": "Contrase\u00f1a",
"username": "Direcci\u00f3n de correo electr\u00f3nico"
},
"title": "Rellene la informaci\u00f3n de acceso Abode"
}
},
"title": "Abode"
}
}

View File

@@ -1,22 +0,0 @@
{
"config": {
"abort": {
"single_instance_allowed": "Une seule configuration d'Abode est autoris\u00e9e."
},
"error": {
"connection_error": "Impossible de se connecter \u00e0 Abode.",
"identifier_exists": "Compte d\u00e9j\u00e0 enregistr\u00e9.",
"invalid_credentials": "Informations d'identification invalides."
},
"step": {
"user": {
"data": {
"password": "Mot de passe",
"username": "Adresse e-mail"
},
"title": "Remplissez vos informations de connexion Abode"
}
},
"title": "Abode"
}
}

View File

@@ -1,22 +0,0 @@
{
"config": {
"abort": {
"single_instance_allowed": "\u00c8 consentita una sola configurazione di Abode."
},
"error": {
"connection_error": "Impossibile connettersi ad Abode.",
"identifier_exists": "Account gi\u00e0 registrato",
"invalid_credentials": "Credenziali non valide"
},
"step": {
"user": {
"data": {
"password": "Password",
"username": "Indirizzo email"
},
"title": "Inserisci le tue informazioni di accesso Abode"
}
},
"title": "Abode"
}
}

View File

@@ -1,22 +0,0 @@
{
"config": {
"abort": {
"single_instance_allowed": "\ud558\ub098\uc758 Abode \ub9cc \uad6c\uc131 \ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4."
},
"error": {
"connection_error": "Abode \uc5d0 \uc5f0\uacb0\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4.",
"identifier_exists": "\uacc4\uc815\uc774 \uc774\ubbf8 \ub4f1\ub85d\ub418\uc5c8\uc2b5\ub2c8\ub2e4",
"invalid_credentials": "\uc0ac\uc6a9\uc790 \uc774\ub984 \ud639\uc740 \ube44\ubc00\ubc88\ud638\uac00 \uc798\ubabb\ub418\uc5c8\uc2b5\ub2c8\ub2e4"
},
"step": {
"user": {
"data": {
"password": "\ube44\ubc00\ubc88\ud638",
"username": "\uc774\uba54\uc77c \uc8fc\uc18c"
},
"title": "Abode \uc0ac\uc6a9\uc790 \uc815\ubcf4\ub97c \uc785\ub825\ud574\uc8fc\uc138\uc694"
}
},
"title": "Abode"
}
}

View File

@@ -1,22 +0,0 @@
{
"config": {
"abort": {
"single_instance_allowed": "N\u00ebmmen eng eenzeg Konfiguratioun vun ZHA ass erlaabt."
},
"error": {
"connection_error": "Kann sech net mat Abode verbannen.",
"identifier_exists": "Konto ass scho registr\u00e9iert",
"invalid_credentials": "Ong\u00eblteg Login Informatioune"
},
"step": {
"user": {
"data": {
"password": "Passwuert",
"username": "E-Mail Adress"
},
"title": "F\u00ebllt \u00e4r Abode Login Informatiounen aus."
}
},
"title": "Abode"
}
}

View File

@@ -1,22 +0,0 @@
{
"config": {
"abort": {
"single_instance_allowed": "Slechts een enkele configuratie van Abode is toegestaan."
},
"error": {
"connection_error": "Kan geen verbinding maken met Abode.",
"identifier_exists": "Account is al geregistreerd.",
"invalid_credentials": "Ongeldige inloggegevens."
},
"step": {
"user": {
"data": {
"password": "Wachtwoord",
"username": "E-mailadres"
},
"title": "Vul uw Abode-inloggegevens in"
}
},
"title": "Abode"
}
}

View File

@@ -1,5 +0,0 @@
{
"config": {
"title": "Abode"
}
}

View File

@@ -1,22 +0,0 @@
{
"config": {
"abort": {
"single_instance_allowed": "Bare en enkelt konfigurasjon av Abode er tillatt."
},
"error": {
"connection_error": "Kan ikke koble til Abode.",
"identifier_exists": "Kontoen er allerede registrert.",
"invalid_credentials": "Ugyldig brukerinformasjon"
},
"step": {
"user": {
"data": {
"password": "Passord",
"username": "E-postadresse"
},
"title": "Fyll ut innloggingsinformasjonen for Abode"
}
},
"title": "Abode"
}
}

View File

@@ -1,22 +0,0 @@
{
"config": {
"abort": {
"single_instance_allowed": "Dozwolona jest tylko jedna konfiguracja Abode."
},
"error": {
"connection_error": "Nie mo\u017cna po\u0142\u0105czy\u0107 si\u0119 z Abode.",
"identifier_exists": "Konto zosta\u0142o ju\u017c zarejestrowane",
"invalid_credentials": "Nieprawid\u0142owe dane uwierzytelniaj\u0105ce"
},
"step": {
"user": {
"data": {
"password": "Has\u0142o",
"username": "Adres e-mail"
},
"title": "Wprowad\u017a informacje logowania Abode"
}
},
"title": "Abode"
}
}

View File

@@ -1,21 +0,0 @@
{
"config": {
"abort": {
"single_instance_allowed": "Somente uma \u00fanica configura\u00e7\u00e3o de Abode \u00e9 permitida."
},
"error": {
"connection_error": "N\u00e3o foi poss\u00edvel conectar ao Abode.",
"identifier_exists": "Conta j\u00e1 cadastrada.",
"invalid_credentials": "Credenciais inv\u00e1lidas."
},
"step": {
"user": {
"data": {
"password": "Senha",
"username": "Endere\u00e7o de e-mail"
}
}
},
"title": ""
}
}

View File

@@ -1,16 +0,0 @@
{
"config": {
"error": {
"identifier_exists": "Conta j\u00e1 registada"
},
"step": {
"user": {
"data": {
"password": "Palavra-passe",
"username": "Endere\u00e7o de e-mail"
}
}
},
"title": ""
}
}

View File

@@ -1,22 +0,0 @@
{
"config": {
"abort": {
"single_instance_allowed": "\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u0430 \u0443\u0436\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0430."
},
"error": {
"connection_error": "\u041d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u0442\u044c\u0441\u044f \u043a Abode.",
"identifier_exists": "\u0423\u0447\u0451\u0442\u043d\u0430\u044f \u0437\u0430\u043f\u0438\u0441\u044c \u0443\u0436\u0435 \u0437\u0430\u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u0430.",
"invalid_credentials": "\u041d\u0435\u0432\u0435\u0440\u043d\u044b\u0435 \u0443\u0447\u0451\u0442\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435."
},
"step": {
"user": {
"data": {
"password": "\u041f\u0430\u0440\u043e\u043b\u044c",
"username": "\u0410\u0434\u0440\u0435\u0441 \u044d\u043b\u0435\u043a\u0442\u0440\u043e\u043d\u043d\u043e\u0439 \u043f\u043e\u0447\u0442\u044b"
},
"title": "Abode"
}
},
"title": "Abode"
}
}

View File

@@ -1,22 +0,0 @@
{
"config": {
"abort": {
"single_instance_allowed": "Dovoljena je samo ena konfiguracija Abode."
},
"error": {
"connection_error": "Ni mogo\u010de vzpostaviti povezave z Abode.",
"identifier_exists": "Ra\u010dun je \u017ee registriran.",
"invalid_credentials": "Neveljavne poverilnice."
},
"step": {
"user": {
"data": {
"password": "Geslo",
"username": "E-po\u0161tni naslov"
},
"title": "Izpolnite svoje podatke za prijavo v Abode"
}
},
"title": "Abode"
}
}

View File

@@ -1,22 +0,0 @@
{
"config": {
"abort": {
"single_instance_allowed": "\u50c5\u5141\u8a31\u8a2d\u5b9a\u4e00\u7d44 Abode\u3002"
},
"error": {
"connection_error": "\u7121\u6cd5\u9023\u7dda\u81f3 Abode\u3002",
"identifier_exists": "\u5e33\u865f\u5df2\u8a3b\u518a\u3002",
"invalid_credentials": "\u6191\u8b49\u7121\u6548\u3002"
},
"step": {
"user": {
"data": {
"password": "\u5bc6\u78bc",
"username": "\u96fb\u5b50\u90f5\u4ef6\u5730\u5740"
},
"title": "\u586b\u5beb Abode \u767b\u5165\u8cc7\u8a0a"
}
},
"title": "Abode"
}
}

View File

@@ -2,7 +2,6 @@
from asyncio import gather
from copy import deepcopy
from functools import partial
import logging
from abodepy import Abode
from abodepy.exceptions import AbodeException
@@ -20,25 +19,18 @@ from homeassistant.const import (
CONF_USERNAME,
EVENT_HOMEASSISTANT_STOP,
)
from homeassistant.helpers.dispatcher import dispatcher_send
from homeassistant.exceptions import ConfigEntryNotReady
from homeassistant.helpers import config_validation as cv
from homeassistant.helpers.dispatcher import dispatcher_send
from homeassistant.helpers.entity import Entity
from .const import (
ATTRIBUTION,
DOMAIN,
DEFAULT_CACHEDB,
SIGNAL_CAPTURE_IMAGE,
SIGNAL_TRIGGER_QUICK_ACTION,
)
_LOGGER = logging.getLogger(__name__)
from .const import ATTRIBUTION, DEFAULT_CACHEDB, DOMAIN, LOGGER
CONF_POLLING = "polling"
SERVICE_SETTINGS = "change_setting"
SERVICE_CAPTURE_IMAGE = "capture_image"
SERVICE_TRIGGER = "trigger_quick_action"
SERVICE_TRIGGER_AUTOMATION = "trigger_automation"
ATTR_DEVICE_ID = "device_id"
ATTR_DEVICE_NAME = "device_name"
@@ -53,8 +45,6 @@ ATTR_APP_TYPE = "app_type"
ATTR_EVENT_BY = "event_by"
ATTR_VALUE = "value"
ABODE_DEVICE_ID_LIST_SCHEMA = vol.Schema([str])
CONFIG_SCHEMA = vol.Schema(
{
DOMAIN: vol.Schema(
@@ -74,7 +64,7 @@ CHANGE_SETTING_SCHEMA = vol.Schema(
CAPTURE_IMAGE_SCHEMA = vol.Schema({ATTR_ENTITY_ID: cv.entity_ids})
TRIGGER_SCHEMA = vol.Schema({ATTR_ENTITY_ID: cv.entity_ids})
AUTOMATION_SCHEMA = vol.Schema({ATTR_ENTITY_ID: cv.entity_ids})
ABODE_PLATFORMS = [
"alarm_control_panel",
@@ -93,7 +83,6 @@ class AbodeSystem:
def __init__(self, abode, polling):
"""Initialize the system."""
self.abode = abode
self.polling = polling
self.entity_ids = set()
@@ -130,8 +119,8 @@ async def async_setup_entry(hass, config_entry):
hass.data[DOMAIN] = AbodeSystem(abode, polling)
except (AbodeException, ConnectTimeout, HTTPError) as ex:
_LOGGER.error("Unable to connect to Abode: %s", str(ex))
return False
LOGGER.error("Unable to connect to Abode: %s", str(ex))
raise ConfigEntryNotReady
for platform in ABODE_PLATFORMS:
hass.async_create_task(
@@ -149,7 +138,7 @@ async def async_unload_entry(hass, config_entry):
"""Unload a config entry."""
hass.services.async_remove(DOMAIN, SERVICE_SETTINGS)
hass.services.async_remove(DOMAIN, SERVICE_CAPTURE_IMAGE)
hass.services.async_remove(DOMAIN, SERVICE_TRIGGER)
hass.services.async_remove(DOMAIN, SERVICE_TRIGGER_AUTOMATION)
tasks = []
@@ -170,7 +159,7 @@ async def async_unload_entry(hass, config_entry):
def setup_hass_services(hass):
"""Home assistant services."""
"""Home Assistant services."""
def change_setting(call):
"""Change an Abode system setting."""
@@ -180,7 +169,7 @@ def setup_hass_services(hass):
try:
hass.data[DOMAIN].abode.set_setting(setting, value)
except AbodeException as ex:
_LOGGER.warning(ex)
LOGGER.warning(ex)
def capture_image(call):
"""Capture a new image."""
@@ -193,12 +182,12 @@ def setup_hass_services(hass):
]
for entity_id in target_entities:
signal = SIGNAL_CAPTURE_IMAGE.format(entity_id)
signal = f"abode_camera_capture_{entity_id}"
dispatcher_send(hass, signal)
def trigger_quick_action(call):
"""Trigger a quick action."""
entity_ids = call.data.get(ATTR_ENTITY_ID, None)
def trigger_automation(call):
"""Trigger an Abode automation."""
entity_ids = call.data.get(ATTR_ENTITY_ID)
target_entities = [
entity_id
@@ -207,7 +196,7 @@ def setup_hass_services(hass):
]
for entity_id in target_entities:
signal = SIGNAL_TRIGGER_QUICK_ACTION.format(entity_id)
signal = f"abode_trigger_automation_{entity_id}"
dispatcher_send(hass, signal)
hass.services.register(
@@ -219,7 +208,7 @@ def setup_hass_services(hass):
)
hass.services.register(
DOMAIN, SERVICE_TRIGGER, trigger_quick_action, schema=TRIGGER_SCHEMA
DOMAIN, SERVICE_TRIGGER_AUTOMATION, trigger_automation, schema=AUTOMATION_SCHEMA
)
@@ -232,7 +221,7 @@ async def setup_hass_events(hass):
hass.data[DOMAIN].abode.events.stop()
hass.data[DOMAIN].abode.logout()
_LOGGER.info("Logged out of Abode")
LOGGER.info("Logged out of Abode")
if not hass.data[DOMAIN].polling:
await hass.async_add_executor_job(hass.data[DOMAIN].abode.events.start)
@@ -275,7 +264,6 @@ def setup_abode_events(hass):
TIMELINE.TEST_GROUP,
TIMELINE.CAPTURE_GROUP,
TIMELINE.DEVICE_GROUP,
TIMELINE.AUTOMATION_EDIT_GROUP,
]
for event in events:
@@ -284,36 +272,72 @@ def setup_abode_events(hass):
)
class AbodeDevice(Entity):
"""Representation of an Abode device."""
class AbodeEntity(Entity):
"""Representation of an Abode entity."""
def __init__(self, data, device):
"""Initialize Abode device."""
def __init__(self, data):
"""Initialize Abode entity."""
self._data = data
self._device = device
self._available = True
async def async_added_to_hass(self):
"""Subscribe to device events."""
self.hass.async_add_job(
self._data.abode.events.add_device_callback,
self._device.device_id,
self._update_callback,
)
self.hass.data[DOMAIN].entity_ids.add(self.entity_id)
async def async_will_remove_from_hass(self):
"""Unsubscribe from device events."""
self.hass.async_add_job(
self._data.abode.events.remove_all_device_callbacks, self._device.device_id
)
@property
def available(self):
"""Return the available state."""
return self._available
@property
def should_poll(self):
"""Return the polling state."""
return self._data.polling
async def async_added_to_hass(self):
"""Subscribe to Abode connection status updates."""
await self.hass.async_add_executor_job(
self._data.abode.events.add_connection_status_callback,
self.unique_id,
self._update_connection_status,
)
self.hass.data[DOMAIN].entity_ids.add(self.entity_id)
async def async_will_remove_from_hass(self):
"""Unsubscribe from Abode connection status updates."""
await self.hass.async_add_executor_job(
self._data.abode.events.remove_connection_status_callback, self.unique_id
)
def _update_connection_status(self):
"""Update the entity available property."""
self._available = self._data.abode.events.connected
self.schedule_update_ha_state()
class AbodeDevice(AbodeEntity):
"""Representation of an Abode device."""
def __init__(self, data, device):
"""Initialize Abode device."""
super().__init__(data)
self._device = device
async def async_added_to_hass(self):
"""Subscribe to device events."""
await super().async_added_to_hass()
await self.hass.async_add_executor_job(
self._data.abode.events.add_device_callback,
self._device.device_id,
self._update_callback,
)
async def async_will_remove_from_hass(self):
"""Unsubscribe from device events."""
await super().async_will_remove_from_hass()
await self.hass.async_add_executor_job(
self._data.abode.events.remove_all_device_callbacks, self._device.device_id
)
def update(self):
"""Update device and automation states."""
"""Update device state."""
self._device.refresh()
@property
@@ -352,29 +376,13 @@ class AbodeDevice(Entity):
self.schedule_update_ha_state()
class AbodeAutomation(Entity):
class AbodeAutomation(AbodeEntity):
"""Representation of an Abode automation."""
def __init__(self, data, automation, event=None):
def __init__(self, data, automation):
"""Initialize for Abode automation."""
self._data = data
super().__init__(data)
self._automation = automation
self._event = event
async def async_added_to_hass(self):
"""Subscribe to a group of Abode timeline events."""
if self._event:
self.hass.async_add_job(
self._data.abode.events.add_event_callback,
self._event,
self._update_callback,
)
self.hass.data[DOMAIN].entity_ids.add(self.entity_id)
@property
def should_poll(self):
"""Return the polling state."""
return self._data.polling
def update(self):
"""Update automation state."""
@@ -388,14 +396,9 @@ class AbodeAutomation(Entity):
@property
def device_state_attributes(self):
"""Return the state attributes."""
return {
ATTR_ATTRIBUTION: ATTRIBUTION,
"automation_id": self._automation.automation_id,
"type": self._automation.type,
"sub_type": self._automation.sub_type,
}
return {ATTR_ATTRIBUTION: ATTRIBUTION, "type": "CUE automation"}
def _update_callback(self, device):
"""Update the automation state."""
self._automation.refresh()
self.schedule_update_ha_state()
@property
def unique_id(self):
"""Return a unique ID to use for this automation."""
return self._automation.automation_id

View File

@@ -1,6 +1,4 @@
"""Support for Abode Security System alarm control panels."""
import logging
import homeassistant.components.alarm_control_panel as alarm
from homeassistant.components.alarm_control_panel.const import (
SUPPORT_ALARM_ARM_AWAY,
@@ -16,16 +14,9 @@ from homeassistant.const import (
from . import AbodeDevice
from .const import ATTRIBUTION, DOMAIN
_LOGGER = logging.getLogger(__name__)
ICON = "mdi:security"
async def async_setup_platform(hass, config, async_add_entities, discovery_info=None):
"""Platform uses config entry setup."""
pass
async def async_setup_entry(hass, config_entry, async_add_entities):
"""Set up Abode alarm control panel device."""
data = hass.data[DOMAIN]
@@ -34,7 +25,7 @@ async def async_setup_entry(hass, config_entry, async_add_entities):
)
class AbodeAlarm(AbodeDevice, alarm.AlarmControlPanel):
class AbodeAlarm(AbodeDevice, alarm.AlarmControlPanelEntity):
"""An alarm_control_panel implementation for Abode."""
@property
@@ -55,6 +46,11 @@ class AbodeAlarm(AbodeDevice, alarm.AlarmControlPanel):
state = None
return state
@property
def code_arm_required(self):
"""Whether the code is required for arm actions."""
return False
@property
def supported_features(self) -> int:
"""Return the list of supported features."""

View File

@@ -1,21 +1,13 @@
"""Support for Abode Security System binary sensors."""
import logging
import abodepy.helpers.constants as CONST
import abodepy.helpers.timeline as TIMELINE
from homeassistant.components.binary_sensor import BinarySensorDevice
from homeassistant.helpers.dispatcher import async_dispatcher_connect
from homeassistant.components.binary_sensor import (
DEVICE_CLASS_WINDOW,
BinarySensorEntity,
)
from . import AbodeAutomation, AbodeDevice
from .const import DOMAIN, SIGNAL_TRIGGER_QUICK_ACTION
_LOGGER = logging.getLogger(__name__)
async def async_setup_platform(hass, config, async_add_entities, discovery_info=None):
"""Platform uses config entry setup."""
pass
from . import AbodeDevice
from .const import DOMAIN
async def async_setup_entry(hass, config_entry, async_add_entities):
@@ -35,17 +27,10 @@ async def async_setup_entry(hass, config_entry, async_add_entities):
for device in data.abode.get_devices(generic_type=device_types):
entities.append(AbodeBinarySensor(data, device))
for automation in data.abode.get_automations(generic_type=CONST.TYPE_QUICK_ACTION):
entities.append(
AbodeQuickActionBinarySensor(
data, automation, TIMELINE.AUTOMATION_EDIT_GROUP
)
)
async_add_entities(entities)
class AbodeBinarySensor(AbodeDevice, BinarySensorDevice):
class AbodeBinarySensor(AbodeDevice, BinarySensorEntity):
"""A binary sensor implementation for Abode device."""
@property
@@ -56,23 +41,6 @@ class AbodeBinarySensor(AbodeDevice, BinarySensorDevice):
@property
def device_class(self):
"""Return the class of the binary sensor."""
if self._device.get_value("is_window") == "1":
return DEVICE_CLASS_WINDOW
return self._device.generic_type
class AbodeQuickActionBinarySensor(AbodeAutomation, BinarySensorDevice):
"""A binary sensor implementation for Abode quick action automations."""
async def async_added_to_hass(self):
"""Subscribe Abode events."""
await super().async_added_to_hass()
signal = SIGNAL_TRIGGER_QUICK_ACTION.format(self.entity_id)
async_dispatcher_connect(self.hass, signal, self.trigger)
def trigger(self):
"""Trigger a quick automation."""
self._automation.trigger()
@property
def is_on(self):
"""Return True if the binary sensor is on."""
return self._automation.is_active

View File

@@ -1,6 +1,5 @@
"""Support for Abode Security System cameras."""
from datetime import timedelta
import logging
import abodepy.helpers.constants as CONST
import abodepy.helpers.timeline as TIMELINE
@@ -11,17 +10,10 @@ from homeassistant.helpers.dispatcher import async_dispatcher_connect
from homeassistant.util import Throttle
from . import AbodeDevice
from .const import DOMAIN, SIGNAL_CAPTURE_IMAGE
from .const import DOMAIN, LOGGER
MIN_TIME_BETWEEN_UPDATES = timedelta(seconds=90)
_LOGGER = logging.getLogger(__name__)
async def async_setup_platform(hass, config, async_add_entities, discovery_info=None):
"""Platform uses config entry setup."""
pass
async def async_setup_entry(hass, config_entry, async_add_entities):
"""Set up Abode camera devices."""
@@ -49,14 +41,14 @@ class AbodeCamera(AbodeDevice, Camera):
"""Subscribe Abode events."""
await super().async_added_to_hass()
self.hass.async_add_job(
self.hass.async_add_executor_job(
self._data.abode.events.add_timeline_callback,
self._event,
self._capture_callback,
)
signal = SIGNAL_CAPTURE_IMAGE.format(self.entity_id)
async_dispatcher_connect(self.hass, signal, self.capture)
signal = f"abode_camera_capture_{self.entity_id}"
self.async_on_remove(async_dispatcher_connect(self.hass, signal, self.capture))
def capture(self):
"""Request a new image capture."""
@@ -76,7 +68,7 @@ class AbodeCamera(AbodeDevice, Camera):
self._response.raise_for_status()
except requests.HTTPError as err:
_LOGGER.warning("Failed to get camera image: %s", err)
LOGGER.warning("Failed to get camera image: %s", err)
self._response = None
else:
self._response = None

View File

@@ -1,21 +1,17 @@
"""Config flow for the Abode Security System component."""
import logging
from abodepy import Abode
from abodepy.exceptions import AbodeException
from requests.exceptions import ConnectTimeout, HTTPError
import voluptuous as vol
from homeassistant import config_entries
from homeassistant.const import CONF_PASSWORD, CONF_USERNAME
from homeassistant.const import CONF_PASSWORD, CONF_USERNAME, HTTP_BAD_REQUEST
from homeassistant.core import callback
from .const import DOMAIN, DEFAULT_CACHEDB # pylint: disable=unused-import
from .const import DEFAULT_CACHEDB, DOMAIN, LOGGER # pylint: disable=unused-import
CONF_POLLING = "polling"
_LOGGER = logging.getLogger(__name__)
class AbodeFlowHandler(config_entries.ConfigFlow, domain=DOMAIN):
"""Config flow for Abode."""
@@ -32,7 +28,6 @@ class AbodeFlowHandler(config_entries.ConfigFlow, domain=DOMAIN):
async def async_step_user(self, user_input=None):
"""Handle a flow initialized by the user."""
if self._async_current_entries():
return self.async_abort(reason="single_instance_allowed")
@@ -50,8 +45,8 @@ class AbodeFlowHandler(config_entries.ConfigFlow, domain=DOMAIN):
)
except (AbodeException, ConnectTimeout, HTTPError) as ex:
_LOGGER.error("Unable to connect to Abode: %s", str(ex))
if ex.errcode == 400:
LOGGER.error("Unable to connect to Abode: %s", str(ex))
if ex.errcode == HTTP_BAD_REQUEST:
return self._show_form({"base": "invalid_credentials"})
return self._show_form({"base": "connection_error"})
@@ -76,7 +71,7 @@ class AbodeFlowHandler(config_entries.ConfigFlow, domain=DOMAIN):
async def async_step_import(self, import_config):
"""Import a config entry from configuration.yaml."""
if self._async_current_entries():
_LOGGER.warning("Only one configuration of abode is allowed.")
LOGGER.warning("Only one configuration of abode is allowed.")
return self.async_abort(reason="single_instance_allowed")
return await self.async_step_user(import_config)

View File

@@ -1,8 +1,9 @@
"""Constants for the Abode Security System component."""
import logging
LOGGER = logging.getLogger(__package__)
DOMAIN = "abode"
ATTRIBUTION = "Data provided by goabode.com"
DEFAULT_CACHEDB = "abodepy_cache.pickle"
SIGNAL_CAPTURE_IMAGE = "abode_camera_capture_{}"
SIGNAL_TRIGGER_QUICK_ACTION = "abode_trigger_quick_action_{}"

View File

@@ -1,20 +1,11 @@
"""Support for Abode Security System covers."""
import logging
import abodepy.helpers.constants as CONST
from homeassistant.components.cover import CoverDevice
from homeassistant.components.cover import CoverEntity
from . import AbodeDevice
from .const import DOMAIN
_LOGGER = logging.getLogger(__name__)
async def async_setup_platform(hass, config, async_add_entities, discovery_info=None):
"""Platform uses config entry setup."""
pass
async def async_setup_entry(hass, config_entry, async_add_entities):
"""Set up Abode cover devices."""
@@ -28,7 +19,7 @@ async def async_setup_entry(hass, config_entry, async_add_entities):
async_add_entities(entities)
class AbodeCover(AbodeDevice, CoverDevice):
class AbodeCover(AbodeDevice, CoverEntity):
"""Representation of an Abode cover."""
@property

Some files were not shown because too many files have changed in this diff Show More