Compare commits

...

4574 Commits

Author SHA1 Message Date
Paulus Schoutsen
b4237be609 Merge pull request #40706 from home-assistant/rc 2020-09-28 14:58:19 +02:00
Paulus Schoutsen
2ee5b0a9c1 Bumped version to 0.115.4 2020-09-28 12:29:16 +00:00
Paweł Stankowski
48f5ffa0bd Bump Airly package to 1.0.0 (#40695) 2020-09-28 12:29:06 +00:00
Franck Nijhof
b01d04c4ca Pin gRPC to 1.31.0 to workaround amrv7 issues (#40678) 2020-09-28 12:29:05 +00:00
Chris
94f3a085ed set ID3 tags as TextFrame types (#40666) 2020-09-28 12:29:04 +00:00
Jason Hunter
59daab9434 Fix camera play stream (#40641)
Co-authored-by: Justin Wong <46082645+uvjustin@users.noreply.github.com>
2020-09-28 12:28:44 +00:00
Bouwe Westerdijk
af88a78aae Bump Plugwise-Smile to v1.5.1 (#40572) 2020-09-28 12:27:54 +00:00
Colin Frei
837c3d3c9d Fix fitbit current URL not available while configuring (#40547)
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-09-28 12:27:53 +00:00
uvjustin
d952a2b756 Create master playlist for cast (#40483)
Co-authored-by: Jason Hunter <hunterjm@gmail.com>
2020-09-28 12:27:53 +00:00
Maciej Bieniek
c07c6ca413 Bump aioshelly library to version 0.3.3 (#40415) 2020-09-28 12:27:40 +00:00
Franck Nijhof
9fdab64e8b Merge pull request #40571 from home-assistant/rc 2020-09-25 10:29:07 +02:00
Franck Nijhof
7be494f845 Bumped version to 0.115.3 2020-09-25 09:28:38 +02:00
Kevin Cathcart
1c8e8419b6 Fix bug in state trigger when using for: without to: (#40556) 2020-09-25 09:27:49 +02:00
Bram Kragten
da7f206414 Updated frontend to 20200918.2 (#40549) 2020-09-25 09:27:43 +02:00
Rob Bierbooms
6bd72c3ff5 Fix connection validation during import for dsmr integration (#40548)
* Close transport when equipment identifier is received

* Minor fix
2020-09-25 09:27:37 +02:00
Steven Looman
82c137d69b Increase upnp timeout from 5 seconds to 10 seconds (#40540) 2020-09-25 09:27:32 +02:00
cagnulein
a404c51797 Fix luci device_tracker when release is none (#40524)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-09-25 09:27:27 +02:00
uvjustin
ff39cd753c Disable audio in stream when audio stream profile is None (#40521) 2020-09-25 09:27:22 +02:00
J. Nick Koston
fe056f518e Ensure group state is recalculated when re-adding on reload (#40497) 2020-09-25 09:27:15 +02:00
Anders Melchiorsen
0ebeb161e1 Fix handling of quoted time_pattern values (#40470)
Co-authored-by: J. Nick Koston <nick@koston.org>
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2020-09-25 09:27:10 +02:00
Robert Van Gorkom
f953454374 Increase gogogate2 request timeout (#40461) 2020-09-25 09:27:07 +02:00
Maciej Bieniek
016834185a Bump accuweather library to version 0.0.11 (#40458) 2020-09-25 09:27:00 +02:00
square99
34c0e0f58d Fix proxy camera conversion with PNG Alpha(RGBA) (#40446) 2020-09-25 09:26:56 +02:00
MeIchthys
95e6969912 Fix regression in Nextcloud component (#40438) 2020-09-25 09:26:52 +02:00
Pedro Lamas
297e5300b4 Fix webostv supported features for "external_speaker" sound output (#40435) 2020-09-25 09:26:48 +02:00
jan iversen
6cccd87318 Make modbus switch read_coil failure resistent (#40417)
* Make modbus switch read_coil failure resistent.

Make sure all return paths return true/false.

* Add comment how binary_sensor get its value (is_on).
2020-09-25 09:26:43 +02:00
cagnulein
532c624d01 Fix luci device_tracker incorrectly reporting devices status (#40409) 2020-09-25 09:26:39 +02:00
Michael Thingnes
ed17a81f50 Validate Met.no forecast entries before passing them on to HA (#40400) 2020-09-25 09:26:33 +02:00
On Freund
44be190378 Fix handling of empty ws port (#40399) 2020-09-25 09:26:29 +02:00
Maciej Bieniek
b1ac920505 Fix OSError (#40393) 2020-09-25 09:26:25 +02:00
Tom Harris
1901cc962e Bump pyinsteon to 1.0.8 (#40383) 2020-09-25 09:26:21 +02:00
Michael Thingnes
babaf48867 Fix Met.no missing conditions in API forecasts (#40373) 2020-09-25 09:26:17 +02:00
Robert Svensson
b3e2426967 Axis - Fix list applications breaks if empty response (#40360) 2020-09-25 09:26:14 +02:00
uvjustin
f1ee7fed4c Ignore packets with missing dts in peek_first_pts (#40299) 2020-09-25 09:26:10 +02:00
Markus Haack
3efda8d1d2 Guard SolarEdge for inverters without batteries (#40295) 2020-09-25 09:26:07 +02:00
Harrison Pace
a5f00d1db2 Use Cloud State as alternative state if condition unknown (#37121) 2020-09-25 09:26:03 +02:00
Paulus Schoutsen
ddbadb1e26 Merge pull request #40310 from home-assistant/rc 2020-09-19 23:06:09 +02:00
Felipe Martins Diel
cf81a5c09a Improve tests for Broadlink config flow (#39894) 2020-09-19 20:37:20 +00:00
Paulus Schoutsen
a8b6464d7f Bumped version to 0.115.2 2020-09-19 20:13:52 +00:00
Rob Bierbooms
85ae63c656 Fix error creating duplicate ConfigEntry upon import for rfxtrx (#40296) 2020-09-19 20:13:44 +00:00
Alexei Chetroi
68cc34df6f Update ZHA dependencies (#40283) 2020-09-19 20:13:23 +00:00
Daniel Shokouhi
9955e7e5e1 Bump hangups to 0.4.11 (#40258) 2020-09-19 20:11:41 +00:00
Bram Kragten
ab8ef1c9e1 Updated frontend to 20200918.0 (#40253) 2020-09-19 20:11:40 +00:00
Robert Van Gorkom
7e6d64a24c Fix high CPU usage in vera integration. (#40249) 2020-09-19 20:11:39 +00:00
On Freund
e582caccc9 Fix Kodi discovery title (#40247) 2020-09-19 20:11:39 +00:00
Felipe Martins Diel
1eb8035122 Handle an unsupported device in the Broadlink config flow (#40242) 2020-09-19 20:11:38 +00:00
jan iversen
57b7ed6a07 Correct modbus switch to return correct coil (#40190) 2020-09-19 20:11:37 +00:00
Erik Montnemery
d35f06ac15 Get option flow defaults from yaml for non configured MQTT options (#40177) 2020-09-19 20:11:36 +00:00
Paulus Schoutsen
bf741c1b26 Merge pull request #40243 from home-assistant/rc 2020-09-18 16:51:17 +02:00
Paulus Schoutsen
2df709c7d0 Bumped version to 0.115.1 2020-09-18 14:05:11 +00:00
On Freund
e9b355bd8a Fix coolmaster.info (#40240) 2020-09-18 14:04:57 +00:00
On Freund
ef279b125d Handle systems without groups (#40238) 2020-09-18 14:04:57 +00:00
On Freund
152b380a2f Fix kodi.call_method (#40236) 2020-09-18 14:04:56 +00:00
Felipe Martins Diel
8a39bea761 Fix RM mini 3 update manager (#40215) 2020-09-18 14:04:55 +00:00
Chris Caron
d37fe1fbb6 Disable async on Apprise (#40213) 2020-09-18 14:04:54 +00:00
MeIchthys
33b56b0cf9 Fix Nextcloud sensors becoming unavailable (#40212) 2020-09-18 14:04:53 +00:00
Raman Gupta
0383030266 Fix Vizio async_unload_entry bug (#40210) 2020-09-18 14:04:52 +00:00
Julius Mittenzwei
b8fe0c6c3a Upgrade pyvlx to 0.2.17 (#40182) 2020-09-18 14:04:52 +00:00
J. Nick Koston
7cb0c98c03 Log template listeners when debug logging is on (#40180) 2020-09-18 14:04:51 +00:00
Paulus Schoutsen
58c6702080 Merge pull request #40179 from home-assistant/rc 2020-09-17 17:37:29 +02:00
Franck Nijhof
f77b3d4714 Bumped version to 0.115.0 2020-09-17 17:10:26 +02:00
J. Nick Koston
f5aee6b886 Add missing conext preservation to bayesian and universal (#40178)
We already do this for template sensors, but it was
missing for bayesian and universal
2020-09-17 17:07:52 +02:00
Bram Kragten
6f26722f69 Fix editing tags only get isoformat from datetime (#40174)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2020-09-17 17:07:49 +02:00
Bram Kragten
13cfd1bae1 Updated frontend to 20200917.1 (#40170) 2020-09-17 17:07:45 +02:00
Joakim Sørensen
5271a3eb1e Update pyhaversion to 3.4.2 (#40161) 2020-09-17 17:07:42 +02:00
cagnulein
78022bf145 Fix luci device_tracker not reliably reporting home/away state (#40160) 2020-09-17 17:07:39 +02:00
Chris Talkington
99a57f5a4e Check mpd time type before splitting it (#40139) 2020-09-17 17:07:33 +02:00
Paulus Schoutsen
a9e220c96b Bumped version to 0.115.0b12 2020-09-16 20:50:22 +00:00
Bram Kragten
f7d7765d5e Update frontend to 20200916.0 (#40153) 2020-09-16 20:42:50 +00:00
Franck Nijhof
9ffcf35b23 Fix local media browser source conflicting with local www folder (#40151) 2020-09-16 20:42:49 +00:00
Franck Nijhof
d3a59652bb Fix missing f from f-strings in cast integration (#40144) 2020-09-16 20:42:48 +00:00
Paulus Schoutsen
c62a6cd779 Fix scene validator (#40140) 2020-09-16 20:42:47 +00:00
Paulus Schoutsen
f1169120ae Bumped version to 0.115.0b11 2020-09-16 13:37:51 +00:00
Paulus Schoutsen
b28dbe20b6 Fix ESPHome scan tag device ID (#40132) 2020-09-16 13:37:34 +00:00
Paulus Schoutsen
8dde59be02 Guard for when Yandex Transport data fetching fails (#40131) 2020-09-16 13:37:33 +00:00
Jesse Hills
abca177894 Use device name stored in device_info for tag scan in ESPHome (#40130) 2020-09-16 13:37:32 +00:00
Jesse Hills
d3bb2e5e16 Allow ESPHome to trigger the HA tag scanned event (#40128) 2020-09-16 13:37:31 +00:00
Maciej Bieniek
7f8a89838b Bump aioshelly library to version 0.3.2 (#40118) 2020-09-16 13:36:01 +00:00
springstan
39c4b338f1 Increase TIMEOUT_ACK to 10s (#40117) 2020-09-16 13:33:48 +00:00
Maciej Bieniek
4518335a56 Remove the unnecessary prefix from the sensor names in the Shelly integration (#40097) 2020-09-16 13:33:47 +00:00
Shay Levy
b856b0e15d Guard both Shelly 2 & Shelly 2.5 in roller mode (#40086)
Co-authored-by: Maciej Bieniek <bieniu@users.noreply.github.com>
2020-09-16 13:33:46 +00:00
Franck Nijhof
5d518b5365 Add media dirs core configuration (#40071)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2020-09-16 13:33:46 +00:00
Diogo Gomes
ce86112612 Address error in SQL query (#39939) 2020-09-16 13:33:45 +00:00
Bram Kragten
e095120023 Bumped version to 0.115.0b10 2020-09-15 16:21:32 +02:00
Bram Kragten
3ef3d848f7 Update frontend to 20200915.0 (#40101) 2020-09-15 16:19:42 +02:00
J. Nick Koston
610a327b52 Convert color temperature to hue and saturation for HomeKit (#40089)
The HomeKit spec does not permit the color temp characteristic
being exposed when color (hue, sat) is present.  Since
Home Assistant will still send color temp values, we need to
convert them to hue, sat values for HomeKit
2020-09-15 16:19:41 +02:00
cgtobi
81436fb688 Check Sonos for local library before browsing (#40085) 2020-09-15 16:19:40 +02:00
Alexei Chetroi
24fe9cdd5a Update ZHA dependency (#40083) 2020-09-15 16:19:39 +02:00
Erik Montnemery
e5c499c22e Increase TIMEOUT_ACK to 2s (#40080) 2020-09-15 16:19:39 +02:00
cgtobi
99a8604601 Fix netatmo media browser of outdoor events (#40079)
* Fix outdoor events

* Fix test data

* Increase coverage
2020-09-15 16:19:38 +02:00
Paulus Schoutsen
3ef821d62f Fix tag last scanned serialization (#40067) 2020-09-15 16:19:37 +02:00
Pascal Vizeli
a38e047e83 Update docker base image to 8.4.0 (#40066) 2020-09-15 16:19:36 +02:00
Jc2k
e0fcf9b648 Bump aiohomekit version (regression fix) (#40064) 2020-09-15 16:18:08 +02:00
Evgeny
0e823b566b Fix default forecast mode OpenWeatherMap (#40062) 2020-09-15 16:00:28 +02:00
Markus Bong
a9d24c2cd5 Correct devolo climate devices (#40061) 2020-09-15 16:00:27 +02:00
b3nj1
7a7cad39eb Fix ecobee weather forcast off by 1 bug (#40048) 2020-09-15 16:00:26 +02:00
J. Nick Koston
1a76a953c7 Update gogogate2-api to 2.0.2 (#40010)
* Update gogogate2-api to 2.0.2

Resolves a timeout issue: https://github.com/vangorra/python_gogogate2_api/pull/11

* mock voltage
2020-09-15 16:00:25 +02:00
r4nd0mbr1ck
db27079fa8 Speedtestdotnet - use server name to generate server list (#39775) 2020-09-15 16:00:24 +02:00
Paulus Schoutsen
ef1649383c Bumped version to 0.115.0b9 2020-09-13 20:22:47 +00:00
Franck Nijhof
afde5a7ece Fix entity extraction from Template conditions (#40034) 2020-09-13 20:22:38 +00:00
J. Nick Koston
30b8565548 Ensure homekit_controller traps exceptions from find_ip_by_device_id (#40030) 2020-09-13 20:22:38 +00:00
springstan
a971b92899 Fix slack notifications requiring an icon (#40027) 2020-09-13 20:22:37 +00:00
J. Nick Koston
4ee7cdc8a0 Do not log an error when a host is unreachable while pinging (#40024) 2020-09-13 20:22:36 +00:00
Robert Svensson
4c2788a13c Improve handling of mireds being far out of spec (#40018) 2020-09-13 20:22:36 +00:00
Bouwe Westerdijk
8b4e193614 Ensure Plugwise unique_id is correctly set (#40014)
* Ensure unique_id is correctly set

* Removed unnec. line

Co-authored-by: Tom Scholten <git@scholten.nu>
2020-09-13 20:22:35 +00:00
Tom
f0ce65af7d Add tests for Plugwise integration (#36371) 2020-09-13 20:22:34 +00:00
springstan
b81c61dd99 Fix requiring username or password for nzbget yaml config (#40003) 2020-09-13 20:18:57 +00:00
J. Nick Koston
30ef7a5e88 Suppress homekit bridge discovery by homekit controller (#39990) 2020-09-13 20:18:56 +00:00
Pascal Vizeli
5a6492b76d Update azure-pipelines-wheels.yml 2020-09-13 15:38:31 +02:00
Bram Kragten
b19fe17e76 Bumped version to 0.115.0b8 2020-09-13 11:41:46 +02:00
Joakim Sørensen
47326b2295 Bump pyhaversion to 3.4.0 (#40016) 2020-09-13 11:40:19 +02:00
Quentame
951c373110 Fix Freebox call sensor when no call in history (#40001) 2020-09-13 11:40:19 +02:00
Jeff Irion
b9b76b3519 Bump androidtv to 0.0.50 (#39998) 2020-09-13 11:40:17 +02:00
Joakim Sørensen
da6885af6c Bump frontend to 20200912.0 (#39997) 2020-09-13 11:40:16 +02:00
jjlawren
bc2173747c Fix children_media_class for special folders (#39974) 2020-09-13 11:40:15 +02:00
uvjustin
d0e6b3e268 Remove skip_sidx container option in stream (#39970)
* Remove skip_sidx container option

* Add comment
2020-09-13 11:40:14 +02:00
Paulus Schoutsen
172a02a605 Bumped version to 0.115.0b7 2020-09-12 12:28:57 +00:00
Bram Kragten
b6f868f629 Add children media class to children spotify media browser (#39953) 2020-09-12 12:28:47 +00:00
uvjustin
5697f4b4e7 Set output timescale to input timescale (#39946) 2020-09-12 12:28:47 +00:00
J. Nick Koston
30f9e1b479 Change template loop detection strategy to allow self-referencing updates when there are multiple templates (#39943) 2020-09-12 12:28:46 +00:00
Quentame
fcbcebea9b Fix missing position attribute for MeteoFranceAlertSensor (#39938) 2020-09-12 12:28:45 +00:00
J. Nick Koston
f81606cbf5 Return the listeners with the template result for the websocket api (#39925) 2020-09-12 12:28:44 +00:00
Greg Dowling
3240be0bb6 Bump pyloopenergy library to 0.2.1 (#39919) 2020-09-12 12:28:44 +00:00
On Freund
18be6cbadc Handle Kodi shutdown (#39856)
* Handle Kodi shutdown

* Core review comments

* Make async_on_quit a coroutine
2020-09-12 12:28:43 +00:00
Paulus Schoutsen
a002e9b12f Bumped version to 0.115.0b6 2020-09-11 12:18:53 +00:00
Franck Nijhof
db64a9ebfa Accept known hosts for get_url for OAuth (#39936) 2020-09-11 12:17:24 +00:00
J. Nick Koston
3fbde22cc4 Update zeroconf to 0.28.5 (#39923) 2020-09-11 12:17:24 +00:00
J. Nick Koston
758e60a58d Prevent missing integration from failing HomeKit startup (#39918) 2020-09-11 12:17:23 +00:00
Paulus Schoutsen
5201410e39 Bump aioshelly to 0.3.1 (#39917) 2020-09-11 12:16:43 +00:00
Thomas Lovén
b1b7944012 Set variable values in scripts (#39915)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2020-09-11 12:16:01 +00:00
Paulus Schoutsen
8ef04268be Extract variable rendering (#39934) 2020-09-11 12:15:28 +00:00
Bas Nijholt
b107e87d38 Don't trigger on attribute when the attribute doesn't change (#39910)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2020-09-11 12:12:58 +00:00
uvjustin
b0b9579778 Disable audio for HLS or mpegts input (#39906) 2020-09-11 12:12:57 +00:00
Martin Hjelmare
7eade4029a Add children media class (#39902)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2020-09-11 12:12:57 +00:00
Marvin Wichmann
3d4913348a Warn users if KNX has no devices configured (#39899)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-09-11 12:12:56 +00:00
J. Nick Koston
1720b71d62 Limit zeroconf discovery to name/macaddress when provided (#39877)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-09-11 12:12:27 +00:00
Paulus Schoutsen
589086f0d0 Bumped version to 0.115.0b5 2020-09-10 18:53:37 +00:00
Erik Montnemery
6f8060dea7 Fix discovery update of MQTT state templates (#39901) 2020-09-10 18:53:25 +00:00
J. Nick Koston
b8ef87d84c Fix ping log level to be debug instead of warning (#39900) 2020-09-10 18:53:25 +00:00
J. Nick Koston
7370b0ffc6 Detect self-referencing loops in template entities and log a warning (#39897) 2020-09-10 18:53:24 +00:00
Paulus Schoutsen
209cf44e8e Add default variables to script helper (#39895) 2020-09-10 18:53:23 +00:00
Pascal Vizeli
b7dacabbe4 Fix issue with grpcio build on 32bit arch (#39893) 2020-09-10 18:53:22 +00:00
Bram Kragten
5098c35814 Fix spotify media browser category (#39888) 2020-09-10 18:53:21 +00:00
Paulus Schoutsen
896df60f32 Shelly switch to guard for shelly 2 in roller mode (#39886) 2020-09-10 18:53:21 +00:00
Pascal Vizeli
b26ab2849b Bump hass-nabucasa 0.37.0 (#39885) 2020-09-10 18:53:20 +00:00
Paulus Schoutsen
36f52a26f6 Fix event trigger (#39884)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2020-09-10 18:53:19 +00:00
bsmappee
f0295d562d Bump pysmappee to 0.2.13 (#39883) 2020-09-10 18:53:18 +00:00
Joakim Sørensen
081bd22e59 Updated frontend to 20200909.0 (#39869)
Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2020-09-10 18:53:18 +00:00
Franck Nijhof
668c73010a Disable Met.no hourly weather by default (#39867)
Co-authored-by: Daniel Hjelseth Høyer <mail@dahoiv.net>
2020-09-10 18:53:17 +00:00
Paulus Schoutsen
fe371f0438 Install stdlib-list in script/bootstrap (#39866) 2020-09-10 18:53:16 +00:00
Joakim Sørensen
be28dc0bca Add exception for NoURLAvailableError in OAuth2FlowHandler (#39845)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2020-09-10 18:53:15 +00:00
Chris Talkington
4578baca3e Improve Roku media browser structure (#39754)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-09-10 18:53:15 +00:00
Paulus Schoutsen
6d7dfc0804 Bumped version to 0.115.0b4 2020-09-09 20:35:18 +00:00
Martin Hjelmare
c5cf95c14b Remove media class apps and channels (#39864) 2020-09-09 20:34:15 +00:00
Alexei Chetroi
f79ce7bd04 Update ZHA dependency (#39862) 2020-09-09 20:34:14 +00:00
Jason Hunter
578c1b283a Sort Local Media Source and fix media class (#39858) 2020-09-09 20:34:13 +00:00
Martin
5ae0844f35 Updated warning_device_warn (#39851)
duty_cycle: spec says in inrements of 10
duration: its a 16 bit field
2020-09-09 20:34:13 +00:00
J. Nick Koston
8e3e2d436e Use a unique id for each icmplib ping to avoid mixing unrelated responses (#39830) 2020-09-09 20:34:12 +00:00
Colin Frei
4af6804c50 Use correct URL for Fitbit callbacks (#39823) 2020-09-09 20:34:11 +00:00
Paulus Schoutsen
1333e23c23 Bumped version to 0.115.0b3 2020-09-09 13:15:53 +00:00
Martin Hjelmare
b572c0df7f Make spotify media class lookup more robust (#39841) 2020-09-09 13:15:47 +00:00
cgtobi
139a0ca008 Fix Kodi media browser (#39840)
* Refactor

* Make linter happy

* Only return at the end

* Handle exception
2020-09-09 13:15:46 +00:00
Chris Talkington
0458b5e3a6 Fix nzbget sensors (#39833)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2020-09-09 13:15:45 +00:00
cgtobi
c91c9f2b40 Fix Kodi media browser (#39829)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-09-09 13:15:45 +00:00
Maciej Bieniek
5165d746aa Add missing sensors after reworking sensor platform in Shelly integration (#39765) 2020-09-09 13:15:44 +00:00
Paulus Schoutsen
6cadc5b157 Bumped version to 0.115.0b2 2020-09-08 21:18:08 +00:00
Franchie
d32e3dc31a Avoid failing when hub does not provide cover position information (#39826)
The powerview hub, seemingly randomly, will occasionally not
provide data for cover positions. Some requests will return the
desired response, but minutes later the same request might not.

It appears this issue is being experienced by a number of people:
https://community.home-assistant.io/t/hunter-douglas-powerview-component-expanding-this-api/88635/48

While an unfortunate bug with the hub, crashing the integration
as a result of this missing data appears somewhat excessive.
This patch adds a simple check to ensure the 'position' key
has been returned by the hub before attempting to access its
data.
2020-09-08 21:18:04 +00:00
Bram Kragten
807bfb71df Update frontend to 20200908.0 (#39824) 2020-09-08 21:18:03 +00:00
Erik Montnemery
c2f16cf21d Fix MQTT light value template (#39820) 2020-09-08 21:18:02 +00:00
Paulus Schoutsen
9ca7efbe4c Bumped version to 0.115.0b1 2020-09-08 15:35:41 +00:00
J. Nick Koston
a5dec53e1b Fix isy994 send_node_command (#39806) 2020-09-08 15:35:35 +00:00
J. Nick Koston
f1de903fb5 Restore missing device_class to template binary_sensor (#39805) 2020-09-08 15:35:35 +00:00
J. Nick Koston
fa07787007 Fix cover template entities honoring titlecase True/False (#39803) 2020-09-08 15:35:34 +00:00
Emilv2
0d27e10d77 Bump pydelijn to 0.6.1 (#39802) 2020-09-08 15:35:33 +00:00
Franck Nijhof
8dee5f4cf8 Remove deprecated Hue configuration (#39800) 2020-09-08 15:35:32 +00:00
Paulus Schoutsen
c6a7350db1 Remove HTML support from frontend (#39799) 2020-09-08 15:35:32 +00:00
Paulus Schoutsen
2a68952334 Some shelly fixes (#39798) 2020-09-08 15:35:31 +00:00
Paulus Schoutsen
7f801faed1 Copy instead of deepcopy the variables in a wait for trigger (#39796) 2020-09-08 15:35:30 +00:00
cgtobi
02600bf190 Fix Sonos issue (#39790) 2020-09-08 15:35:29 +00:00
Bas Nijholt
f41d283354 Restore miflora now that v0.7.0 is out (#39787)
* add miflora again, reverts part of github.com/home-assistant/core/pull/37707

* edit CODEOWNERS
2020-09-08 15:35:29 +00:00
Franck Nijhof
f34e831650 Remove invalidation version from panel_custom (#39782) 2020-09-08 15:35:28 +00:00
J. Nick Koston
c9ec533aa5 Add the ability to reload bayesian platforms from yaml (#39771) 2020-09-08 15:35:27 +00:00
Martin Hjelmare
2a879afc7a Add media class browse media attribute (#39770) 2020-09-08 15:35:26 +00:00
Paulus Schoutsen
71c2557405 Guard for spotify items without type (#39795)
Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2020-09-08 15:35:03 +00:00
Simone Chemelli
214fc04473 Support shelly cover(roller) mode (#39711)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-09-08 15:32:48 +00:00
Franck Nijhof
7756038bee Bumped version to 0.115.0b0 2020-09-07 23:01:27 +02:00
Martin Hjelmare
38834d1945 Fix plex browse media (#39766) 2020-09-07 22:58:21 +02:00
Martin Hjelmare
c3ee79e4db Clean up spotify media browser dict access (#39764) 2020-09-07 22:17:10 +02:00
Bram Kragten
72b392e853 Update frontend to 20200907.0 (#39761) 2020-09-07 21:32:13 +02:00
Aidan Timson
6f43285a28 Force token expires_in to float (#39489) 2020-09-07 21:26:58 +02:00
Bram Kragten
d0e44893f5 Local media source: return different error if media folder doesnt exist (#39759) 2020-09-07 20:38:06 +02:00
David F. Mulcahey
be8aa16170 Don't poll entities for unavailable ZHA devices (#39756)
* Don't poll entities for unavailable ZHA devices

* Update homeassistant/components/zha/entity.py

Co-authored-by: Bas Nijholt <basnijholt@gmail.com>

* cleanup after accepting suggestion

Co-authored-by: Bas Nijholt <basnijholt@gmail.com>
2020-09-07 13:52:00 -04:00
Bas Nijholt
36a1877cbd Add missing MENU option for webos.button service (#39746)
See all button options at https://github.com/bendavid/aiopylgtv/blob/master/aiopylgtv/buttons.py.
2020-09-07 19:24:06 +02:00
On Freund
78dbd090b5 Update pykodi to 0.1.2 (#39758) 2020-09-07 13:15:00 -04:00
Bram Kragten
4b01ab616a Timer make attribute format always h:mm:ss (#38292)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2020-09-07 19:12:52 +02:00
cgtobi
ef8cdf0405 Add Kodi media browser support (#39729)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-09-07 18:22:20 +02:00
Marijn Pool
c11b88b4c2 Remove remaining and add finishes_at attributes from timer (#37519) 2020-09-07 18:08:46 +02:00
Philip Allgaier
84992da24a Make Spotify library payload use "BrowseMedia" (#39744) 2020-09-07 17:52:35 +02:00
J. Nick Koston
5e83feeabf Increase test coverage for template sandbox (#39750) 2020-09-07 17:33:22 +02:00
Tomasz
ae5d8f4d64 Support color temperature (#39743)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2020-09-07 17:29:51 +02:00
J. Nick Koston
90d574e521 Ensure static templates are still called back on first refresh (#39753) 2020-09-07 17:19:39 +02:00
Martin Hjelmare
fc2cddc452 Fix netatmo browse_media return type (#39751) 2020-09-07 16:57:22 +02:00
Franck Nijhof
7c86fa0203 Support 'for' without setting the 'to'-state in automation state triggers (#39730) 2020-09-07 16:30:02 +02:00
J. Nick Koston
8c96eb7c56 Retry tado setup later when cloud service is unavailable (#39748) 2020-09-07 16:16:29 +02:00
Anders Melchiorsen
4b84b74b89 Support state trigger with from/for but no to (#39480) 2020-09-07 16:08:24 +02:00
Chris Talkington
8a3279a5c9 Add device action support for remotes (#39400) 2020-09-07 08:54:18 -05:00
Markus Bong
7c56ee8e0c Add devolo remote devices as binary sensors (#39105) 2020-09-07 08:48:14 -05:00
Markus Bong
007873153e Add devolo current and total consumption to sensors (#38386) 2020-09-07 07:24:05 -05:00
Tom
f6aa3e0cdc Improve Plugwise config_options testing (#39736) 2020-09-07 14:13:47 +02:00
Paulus Schoutsen
b07628ae57 Rework Shelly sensors (#39747)
* Rework Shelly sensors

* Lint

* Add shelly/entity to coveragerc
2020-09-07 14:13:20 +02:00
Bram Kragten
90c6e1c449 Fix cast media player browser (#39745) 2020-09-07 13:44:10 +02:00
Tom
5b5b57b810 Bump Plugwise_Smile from 1.1.0 to 1.4.0 (#39726)
* Provisional commit to test latest pre-release of module

* Bump version to release
2020-09-07 13:17:22 +02:00
cgtobi
21dbce1554 Make Sonos use BrowseMedia (#39742) 2020-09-07 11:24:31 +02:00
Franck Nijhof
72300a54df Upgrade isort to 5.5.1 (#39737) 2020-09-07 11:17:03 +02:00
RogerSelwyn
2bd2dcb50a Bump pyskyqhub to 0.1.3 (#39739)
To fix issue - https://github.com/RogerSelwyn/skyq_hub/issues/4 - where tests (and manage) modules includes in pypi package
2020-09-07 10:36:37 +02:00
J. Nick Koston
2e6cd4f12b Optimize template sandbox for Home Assistant (#39731) 2020-09-07 09:17:41 +02:00
Chris
12cc158b64 Remove ozw lock service for loops, replace with get_value() (#39735) 2020-09-07 08:39:23 +02:00
Alexei Chetroi
cd0195a27a Update ZHA dependencies (#39700)
* Update ZHA dependencies
* Update zigpy-zigate
* Move ZNP on top of the radios so it's probed 1st

Some stick don't like if there was some unexpected traffic on the port
prior the initialization.

* Update dependencies
2020-09-06 23:10:15 -04:00
Erik Montnemery
863b63d75e Fix handling of device registry defaults (#39688) 2020-09-06 21:08:50 -05:00
pbalogh77
3a36a789ad Improve climate support for fibaro (#39038)
* Fibaro climate improvements

1, Implemented support for multinode climate devices, such as Danfoss HC10, differentiating zones based on endPointId
2, Improved recognition of temperature sensor subdevice for climate devices
3, Changed default opmode for devices without an opmode to "auto" instead of "fan_only", for better clarity and to avoid misunderstandings

* pylint inspired code restructuring to reduce depth

gotta love pylint
2020-09-06 21:03:03 -05:00
Andrew Marks
d0af3339fc Add unique_id to jewish_calendar entities (#39025) 2020-09-06 20:29:17 -05:00
HomeAssistant Azure
c74f187b1f [ci skip] Translation update 2020-09-07 00:03:02 +00:00
J. Nick Koston
4779916ac4 Set DEVICE_CLASS_GATE for iSmartGate gates (#39703) 2020-09-06 18:55:20 -05:00
Jason Hunter
1a78d96014 allow creating directories from camera snapshot, stream record, and tensorflow file out (#39728) 2020-09-06 18:54:24 -04:00
Franck Nijhof
1ec3446c56 State condition can also accept an input_* Entity ID as state value (#39691) 2020-09-07 00:36:01 +02:00
Chris
165dd351b7 Fix some missing ozw sensors (#39686) 2020-09-07 00:04:55 +02:00
Martin Hjelmare
8eed7110a1 Add hassfest requirements validation (#39329) 2020-09-06 23:41:41 +02:00
Robert Svensson
41abc08d63 Axis - Improve naming of some events (#39699)
* Add support for events from Loitering guard and Motion guard
* Improve naming of events originating from applications Fence guard and VMD4 (Loitering guard and motion guard also benefit from this)
2020-09-06 23:26:06 +02:00
J. Nick Koston
251d8919ea Add domain filter support to async_all to match async_entity_ids (#39725)
This avoids copying all the states before applying
the filter
2020-09-06 23:20:32 +02:00
Bram Kragten
19818d96b7 Spotify browser add more sources (#39296)
Co-authored-by: Tobias Sauerwein <cgtobi@gmail.com>
2020-09-06 22:55:29 +02:00
Ville Skyttä
f828cdcaef Fix setup of ONVIF devices without snapshot capability (#39723)
* Fix setup of ONVIF devices without snapshot capability

* Unrelated debug message typo fix
2020-09-06 16:52:06 -04:00
Philip Allgaier
dd00cfc7a2 Fix media browser panel title (#39720) 2020-09-06 16:48:07 -04:00
J. Nick Koston
e649e27d4d Bump zeroconf to resolve a performance issue with the cache reaper (#39713)
https://github.com/jstasiak/python-zeroconf/pull/297
2020-09-06 22:40:27 +02:00
Bouwe Westerdijk
61e8ab1300 Add Plugwise scan_interval config option (#37229)
Co-authored-by: Tom Scholten <tom@sue.nl>
Co-authored-by: Tom Scholten <git@scholten.nu>
2020-09-06 15:26:14 -05:00
Franck Nijhof
e52a303e93 Merge branch 'master' into dev 2020-09-06 21:09:50 +02:00
David F. Mulcahey
f2d21ea735 Update ZHA storage every 10 minutes (#39710) 2020-09-06 15:00:28 -04:00
fillefilip8
8af64456ec Add number parsing for OpenHardwareMonitor (#39030) 2020-09-06 20:49:54 +02:00
uvjustin
c9a4deb118 Set log level for libav.mp4 in stream (#39719)
Also add @uvjustin to codeowners
2020-09-06 20:46:36 +02:00
Franck Nijhof
878347243d Numeric state condition can also accept input_number entity ID (#39680) 2020-09-06 20:04:07 +02:00
J. Nick Koston
d7e471e244 Add HomeKit discovery for iSmartGate (#39702) 2020-09-06 12:56:38 -05:00
Maciej Bieniek
f29154011e Bump aioshelly library to 0.3.0 (#39716) 2020-09-06 10:34:51 -05:00
kennedyshead
af47a94e70 Update py-melissa-climate to 2.1.4 (#39708)
* Bumping melissa version

Took 48 minutes

* Black

Took 6 minutes

Co-authored-by: magnusknutas <magnus@thefarm.se>
2020-09-06 10:22:52 -05:00
Franck Nijhof
a3c45a6f89 Add shorthand notation for Template conditions (#39705) 2020-09-06 16:55:06 +02:00
Franck Nijhof
da9b077c11 Time condition can also accept an input_datetime Entity ID (#39676) 2020-09-06 16:06:09 +02:00
Simone Chemelli
f298281ec4 Make multi-switches device a single device with 2 switches (#39689)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-09-06 16:05:10 +02:00
Paulus Schoutsen
df8daf561e Browse media class (#39698) 2020-09-06 15:52:59 +02:00
Chris Talkington
13a6aaa6ff Add media browser support to roku (#39652)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2020-09-06 14:53:45 +02:00
Martin Hjelmare
405311e89f Bump pytradfri to 7.0.2 (#39707) 2020-09-06 12:01:14 +02:00
Martin Hjelmare
36632f64f1 Mock tradfri lights correctly (#39706) 2020-09-06 11:54:08 +02:00
Jason Hunter
3b88452b2f Upgrade TensorFlow to 2.3 (#39673) 2020-09-06 10:12:36 +02:00
HomeAssistant Azure
2f0138e891 [ci skip] Translation update 2020-09-06 00:03:25 +00:00
Martin Hjelmare
f584e3f689 Bump pytradfri to 7.0.1 (#39696) 2020-09-06 00:36:32 +02:00
Simone Chemelli
1fffa748e5 Improve handling of DHCP devices (#39683) 2020-09-06 00:17:10 +02:00
Joakim Plate
74fea6d306 Add Arcam radio media browsing (#39593) 2020-09-06 00:10:18 +02:00
Martin Hjelmare
b6630a48b2 Add tradfri api call error handling (#39681)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2020-09-05 23:02:32 +02:00
Joakim Plate
29c1bec0f3 Match documentation on expose being default True (#39692) 2020-09-05 21:49:33 +02:00
MatthewFlamm
958c9c08d6 Use more homeassistant constants in NWS (#39690) 2020-09-05 21:11:15 +02:00
springstan
d2b1918e9c Drop UNIT_ prefix for percentage constant (#39383) 2020-09-05 21:09:14 +02:00
Egor Shilyaev
cdc93d7110 Fix for starline authorization (#39674) 2020-09-05 16:40:39 +02:00
Robert Van Gorkom
b860caa631 Add iSmartGate support (#39437)
* Add iSmartGate support.

* Addressing PR feedback.

* More PR feedback cleanups.
2020-09-05 09:26:01 -05:00
Martin Hjelmare
52c09396e0 Fix monoprice option flow test (#39685) 2020-09-05 15:25:22 +02:00
Keilin Bickar
3022fc4702 Add Emulated Kasa Integration (#39630)
Co-authored-by: J. Nick Koston <nick@koston.org>
2020-09-05 07:57:45 -05:00
Rob Bierbooms
8567fe94e1 Add connection validation on import for dsmr integration (#39664) 2020-09-05 12:05:46 +02:00
Nishchith Shetty
3565fec005 Add parameters for enabling Auth in Apache Kafka integration (#39611) 2020-09-05 10:44:30 +02:00
Philip Allgaier
7be5ef8b6c Improve systemmonitor (#36283)
* Improvements for systemmonitor

* Use MDI CPU icon (bit architecture determined at runtime)
* Consistent usages of "percent" (ensured backwards compatibility by explicity setting the entity_id)
* Default value "/" (root) for disk_* sensors to prevent runtime issues if not specified in configuration

* Added CPU temperature sensor to systemmonitor

* Code streamlining of CPU temperature retrieval

* Corrected sensor state handling and added "available" logic

* Corrected ENTITY_ID to include argument

* Optimized "available" handling & CPU temperature detection

* Corrected tuple for CPU temperature determination

* - Do not create CPU temperature entity if no sensor data can be read
- Re-use temperature sensor labels from "glances" integration

* Array fix

* Corrected sensor array access

* Handle empty temperature sensor labels (same logic as used by "glances")

* PR comments: Setting unique_ID and f-strings

* Removed unused constants

* Revert entity rename (wait until next release)
2020-09-05 05:51:18 +02:00
HomeAssistant Azure
2183ff5906 [ci skip] Translation update 2020-09-05 00:04:17 +00:00
Evgeny
b0192cf9c0 Add OpenWeatherMap config_flow (#34659)
Co-authored-by: J. Nick Koston <nick@koston.org>
2020-09-04 18:22:50 -05:00
Maciej Bieniek
1e770f089d Bump accuweather library (#39667) 2020-09-04 18:01:49 -05:00
Maciej Bieniek
8b4847162d Bump gios library (#39669) 2020-09-04 18:01:34 -05:00
Jason Hunter
706f1f8a66 Register media browser panel (#39655)
* register media browser panel

* Apply suggestions from code review.

Co-authored-by: Zack Arnett <arnett.zackary@gmail.com>

* Update homeassistant/components/media_source/__init__.py

Co-authored-by: Zack Arnett <arnett.zackary@gmail.com>

Co-authored-by: Zack Arnett <arnett.zackary@gmail.com>
2020-09-05 00:28:53 +02:00
Bram Kragten
ab2d171909 Updated frontend to 20200904.0 (#39665) 2020-09-05 00:23:20 +02:00
RogerSelwyn
0d3396ed64 Add mac address to sky_hub tracker (#39506)
* Add mac address to Sky_Hub tracker

* Update manifest.json

* Update device_tracker.py

* Update device_tracker.py

* Update device_tracker.py

* Apply suggestions from code review

Co-authored-by: Chris Talkington <chris@talkingtontech.com>
2020-09-04 15:31:06 -05:00
Andrew Marks
01bac9f433 Refactor sharkiq tests (#39564)
* Refactor sharkiq tests

* Fix linting

* Remove unussed logger

* Test one more code branch

* Don't patch integration files

* Remove legacy calls

* Linting fixes

* Refactor coordinator update tests

* Reformat test params

* Refector config flow tests

* Minor code cleanup

* Fix spelling error

* Address review

* Minor formatting change

* Remove vacuum.py from .coveragerc
2020-09-04 15:13:11 -05:00
Joakim Plate
1cb60dd5c7 Replace old source prefixing for channels with new media browser (#39596)
* Replace old source prefixing for channels with new media browser

* Restore support to call select source with prefix

* Drop warning log for deprecated call method
2020-09-04 22:12:31 +02:00
Charles Garwood
4885b22cb4 Improve ozw websocket response when node is not found (#39653)
* Return not_found error over ws if node is not found

* Remove unrelated code from this PR

* Only import ERR_NOT_FOUND from core websocket_api
2020-09-04 15:52:47 -04:00
Chris Talkington
1fb70625a3 Prevent mpchc from spamming logs (#39663) 2020-09-04 14:22:50 -05:00
On Freund
ad6e8b2d62 Add event sensors for risco (#39594)
* Add Risco event sensors

* Fix lint
2020-09-04 14:11:07 -05:00
J. Nick Koston
9b23d7c2fd Use the shared Zeroconf instance in esphome (#38747) 2020-09-04 21:01:41 +02:00
Rob Bierbooms
7f7a0003c7 Address review comments on dsmr update to ConfigEntry (#39662) 2020-09-04 20:56:22 +02:00
kennedyshead
767be18265 Bumping aioasuswrt version so that it have license-tag and manifest (#39654)
Took 32 minutes

Co-authored-by: magnusknutas <magnus@thefarm.se>
2020-09-04 14:52:44 -04:00
cgtobi
84944cfc24 Add Netatmo media browser support (#39578) 2020-09-04 20:21:42 +02:00
Greg Dowling
08d5175d05 Improve handling of roon radio data (#39659) 2020-09-04 13:19:18 -05:00
Keilin Bickar
05e15dc318 Add unique ID to demo fan (#39658) 2020-09-04 11:23:53 -05:00
Maciej Bieniek
f1ee11cb14 Bump brother library (#39657) 2020-09-04 11:21:23 -05:00
Jason Hunter
f2b3e63ff6 Media Source implementation for Chromecast (#39305)
* Implement local media finder and integrate into cast

* update to media source as a platform

* Tweak media source design

* fix websocket and local source

* fix websocket schema

* fix playing media

* Apply suggestions from code review

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

* Add resolve_media websocket

* Register that shit

* Square brackets

* Sign path

* add support for multiple media sources and address PR review

* fix lint

* fix tests from auto whitelisting config/media

* allow specifying a name on the media source

* add tests

* fix for python 3.7

* Apply suggestions from code review

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

* add http back to cast and remove guess_type from executor as there is no i/o

Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-09-04 11:16:29 -04:00
jjlawren
f01a0f9151 Allow separate URL for REST switch state (#39557) 2020-09-04 16:58:40 +02:00
J. Nick Koston
ebc31c0f08 Do not treat nexia http not found as invalid auth (#39484)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-09-04 16:54:27 +02:00
jjlawren
55040cfde5 Reduce log level for Plex service call (#39647) 2020-09-04 16:47:39 +02:00
Maciej Bieniek
0b7576b634 Add some missing sensors for Shelly integration (#39651) 2020-09-04 16:42:57 +02:00
J. Nick Koston
a096c20930 Fix missing assert in template test (#39648) 2020-09-04 16:28:56 +02:00
Markus Bong
fa1b8c824c Add devolo thermostat devices (#38594)
Co-authored-by: J. Nick Koston <nick@koston.org>
2020-09-04 08:33:54 -05:00
Bjørn Snoen
f207d46390 Allow using environment cacert file (#38816) 2020-09-04 13:54:20 +02:00
Oscar Calvo
08d93b8349 Make resilient to errors while receiving SMS (#37577) 2020-09-04 12:48:15 +02:00
Hmmbob
60c7a91794 Add payload to debug output of rest_command (#39190) 2020-09-04 12:39:26 +02:00
Maciej Bieniek
ad3e520e09 Fix sensors without unit attribute in Shelly integration (#39629) 2020-09-04 11:44:22 +02:00
Franck Nijhof
8fd9f56d21 Upgrade wled to 0.4.4 (#39641) 2020-09-04 11:33:31 +02:00
jjlawren
dd7f282723 Add new Plex movie lookup method for media_player.play_media (#39584) 2020-09-04 11:32:36 +02:00
Franck Nijhof
fdb737d1d9 Upgrade isort to 5.5.0 (#39639) 2020-09-04 09:23:24 +02:00
Franck Nijhof
ed3e04b9ed Fix Spotify scopes validation for re-auth (#39638) 2020-09-04 08:57:12 +02:00
Angelo Gagliano
eb7742ea7c Add support for VeSync Fans (#36132)
Co-authored-by: J. Nick Koston <nick@koston.org>
2020-09-03 21:05:37 -05:00
Chris Talkington
48cfbf8662 Improve broadlink sensor tests (#39632) 2020-09-03 20:01:15 -05:00
J. Nick Koston
1034e4ec50 Bump nexia to 0.9.4 (#39634)
Fix for type missing in the json response
2020-09-03 20:54:48 -04:00
HomeAssistant Azure
bfd6989c75 [ci skip] Translation update 2020-09-04 00:04:26 +00:00
Felipe Martins Diel
353b40b28a Add tests for Broadlink remotes (#39235)
* Add tests for Broadlink remotes

* Reformat the tests with Black

* Add a helper method for device setup

* Rename device.setup() to device.setup_entry()

* Apply suggestions from code review

Co-authored-by: Chris Talkington <chris@talkingtontech.com>
2020-09-03 16:51:08 -05:00
Anders Melchiorsen
da82d171e0 Add radio channel attribute to Sonos (#39631) 2020-09-03 23:47:32 +02:00
Chris Talkington
f6a3eea7f2 Add device class to directv devices (#39628)
* add device class to directv devices

* Update test_media_player.py

* Update media_player.py

* Update test_media_player.py

* Update media_player.py
2020-09-03 23:27:13 +02:00
Rob Bierbooms
d0120d5e0a Update DSMR integration to import yaml to ConfigEntry (#39473)
* Rewrite to import from platform setup

* Add config flow for import

* Implement reload

* Update sensor tests

* Add config flow tests

* Remove some code

* Fix pylint issue

* Remove update options code

* Add platform import test

* Remove infinite while loop

* Move async_setup_platform

* Check for unload_ok

* Remove commented out test code

* Implement function to check on host/port already existing

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

* Implement new method in import

* Update tests

* Fix test setup platform

* Add string

* Patch setup_platform

* Add block till done to patch block

Co-authored-by: Chris Talkington <chris@talkingtontech.com>
2020-09-03 16:19:45 -05:00
Chris Talkington
77f5fb765b Add device class for roku devices (#39627)
* add tv device class for roku tvs

* Update test_media_player.py

* Update test_media_player.py

* Update media_player.py

* Update test_media_player.py

* Update media_player.py

* Update test_media_player.py

* Update test_media_player.py

* Update media_player.py
2020-09-03 17:06:24 -04:00
On Freund
a87fedc0af Automatically configure HTTP auth type in ONVIF snapshots (#38729)
* Allow selection of HTTP auth type in ONVIF snapshots

* Auto populate snapshot auth

* Fix no auth case

* Add missing return
2020-09-03 22:41:24 +02:00
Chris Talkington
c1b8497aaa Improve sonarr sensor test (#39623)
* improve sonarr sensor test

* Update test_sensor.py

* Update test_sensor.py

* Update test_sensor.py

* Update test_sensor.py

* Update test_sensor.py

* Update test_sensor.py
2020-09-03 15:32:48 -05:00
J. Nick Koston
35e84d0427 Add as_local convenience function to jinja templates (#39618) 2020-09-03 14:35:16 -05:00
Chris Talkington
a9cc882394 Improve mpd media position handling (#39390)
* improve mpd media position handling

* Update media_player.py

* Update media_player.py

* Update media_player.py
2020-09-03 12:23:02 -05:00
Chris Talkington
17b4c1a2ca Use CoordinatorEntity for supla (#39621) 2020-09-03 19:11:14 +02:00
Chris Talkington
a0663d84d2 fix black for stream (#39622) 2020-09-03 11:54:04 -05:00
Martin Hjelmare
bde0bdbf80 Clean tradfri hass data and add tests (#39620) 2020-09-03 18:39:24 +02:00
Joakim Plate
d128443a2a Google assistant openclose (#39612)
* Make sure we set discreteOnlyOpenClose for binary sensors

* Mark switches that are assumed state as commandOnlyOnOff

* Drop stray extra line

* Fix pylint error

Co-authored-by: springstan <46536646+springstan@users.noreply.github.com>
2020-09-03 18:32:57 +02:00
Michał Węgrzynek
8818a5ab6c Use DataUpdateCoordinator for supla (#38921)
* Linter suggestions

* Store coordinator in hass.data[supla_coordinators]

* Server cleanup

* Spelling mistake

* Fixes suggested in review

* Pass server and coordinator during async_setup_platform

* Linter changes

* Rename fetch_channels to _fetch_channels

* Linter suggestions

* Store coordinator in hass.data[supla_coordinators]

* Server cleanup

* Fixes suggested in review

* Pass server and coordinator during async_setup_platform

* Linter changes

* Remove scan interval configuration option

* Linting

* Isort

* Disable polling, update asyncpysupla version

* Black fixes

* Update manifest.json

Co-authored-by: Chris Talkington <chris@talkingtontech.com>
2020-09-03 11:25:30 -05:00
Eric Severance
9baa7c6c24 Restart keepalive streams (#38863) 2020-09-03 12:22:00 -04:00
Paulus Schoutsen
fbbfd46fb8 Add .well-known/password-change (#39613) 2020-09-03 18:13:33 +02:00
jjlawren
4ebcbadfc2 Address Plex review comments (#39591) 2020-09-03 18:10:37 +02:00
starkillerOG
e288246366 Add troubleshooting link to error message for xiaomi_aqara (#39617) 2020-09-03 17:26:13 +02:00
SukramJ
4dee2b599a Add HmIP-STV to HomematicIP Cloud (#39518)
* add general attribute for connection type

* Add HmIP-STV to HomematicIP Cloud
2020-09-03 17:23:42 +02:00
Tomer Figenblat
77c6a48553 Update aioswitcher to 1.2.1 (#39614) 2020-09-03 16:58:31 +02:00
Paulus Schoutsen
948ec80b6e Bump pytradfri to 7.0.0, support multiple gateways (#39609)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-09-03 14:47:14 +02:00
Martin Eberhardt
8ca9724258 Expose more attributes in rejseplanen (#37216) 2020-09-03 13:43:35 +02:00
Franck Nijhof
1c90bdddb4 Upgrade apprise to 0.8.8 (#39606) 2020-09-03 13:30:42 +02:00
Franck Nijhof
0cba7acf5a Upgrade sentry-sdk to 0.17.3 (#39607) 2020-09-03 13:29:17 +02:00
Maciej Bieniek
7e50a4999c Add support for Shelly Gas to the Shelly integration (#39478)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-09-03 10:54:25 +02:00
Paulus Schoutsen
6d1ba10788 Bump hass-nabucasa to 0.36.0 (#39603)
* Bump hass-nabucasa to 0.36.0

* hass-nabucasa 0.36.1
2020-09-03 10:43:51 +02:00
SukramJ
f2f68859cc Fix wrong error message on adding a new HomematicIP Cloud AP (#39599) 2020-09-03 09:52:51 +02:00
jjlawren
aecd74c6af Add service to scan for new Plex clients (#39074) 2020-09-03 09:35:37 +02:00
Maciej Bieniek
226406b853 Improve tests for GIOS integration (#39514) 2020-09-03 09:27:21 +02:00
jjlawren
d66bc6a873 Add Recently Added and On Deck to Plex media browser (#39232) 2020-09-03 09:26:30 +02:00
Hendrik Schröter
49daf57c54 Fix rain retrival for OWM (#39566)
As documented in the OWM API (https://openweathermap.org/api/one-call-api), rain and snow are reported on a 1h basis:

current.rain
    current.rain.1h (where available) Rain volume for last hour, mm
current.snow
    current.snow.1h (where available) Snow volume for last hour, mm
2020-09-03 08:16:38 +02:00
J. Nick Koston
65e53b8251 Support reloading mqtt yaml configuration (#39531) 2020-09-02 20:16:21 -05:00
J. Nick Koston
56e76a3265 Support reloading the smtp notify platform (#39530)
* Support reloading the smtp notify platform

* patch test
2020-09-02 19:43:07 -05:00
J. Nick Koston
93555fed75 Support reloading the telegram notify platform (#39529)
* Support reloading the telegram notify platform

* services.yaml
2020-09-02 19:08:47 -05:00
HomeAssistant Azure
65b227126d [ci skip] Translation update 2020-09-03 00:06:16 +00:00
J. Nick Koston
661b593db3 Support reloading the rest notify platform (#39527)
* Support reloading the rest notify platform

* update services.yaml

* fix conflict
2020-09-02 18:25:43 -05:00
J. Nick Koston
a778690b64 Support reloading the group notify platform (#39511) 2020-09-03 00:12:07 +02:00
Tomasz
2d2efeb9bb Add the ability to reload rpi_gpio platforms from yaml (#39548)
* add reload service

* test for reload service

* missing file

* Revert "missing file"

This reverts commit 24391fe3b9.

* Revert "test for reload service"

This reverts commit 5bda48d070.
2020-09-02 14:28:18 -05:00
jjlawren
cb1cf2238d Add Plex service to refresh a library (#39094)
* Add Plex service to refresh a library

* Clean up rebase leftovers

* Re-run black

* Fix docstring

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

Co-authored-by: Charles Garwood <cgarwood@newdealmultimedia.com>
2020-09-02 13:56:41 -05:00
Daniel Hjelseth Høyer
97602a127a Reintroduce custom met.no url (#39583) 2020-09-02 20:56:23 +02:00
springstan
e3354895f8 Round sensor readings for bom (#39513) 2020-09-02 11:59:21 -06:00
Charles Garwood
5fafaa3c4f Add get_migration_config to zwave websocket api (#39577)
* Add get_migration_config to zwave websocket api

* Add test
2020-09-02 18:56:09 +02:00
Xiaonan Shen
7b3182fa8f Improve Yeelight code (#39543)
* Rename ipaddr to ip_addr

* Move custom services to entity services

* Remove platform data

* Change service setup to callback

* Rename ip_addr to host

* Use _host inside class
2020-09-02 18:42:12 +02:00
Raman Gupta
04c849b0ee Remove vizio test assertions for integration details in test_init (#39579) 2020-09-02 18:38:53 +02:00
Ziv
dfa6f0223a library version upgrade to 0.46 (#39580) 2020-09-02 18:07:27 +02:00
J. Nick Koston
45c28dd9c5 Provide a logbook option entity_matches_only to optimize for single entity lookup (#39555)
* Provide a logbook option entity_matches_only to optimize for single entity id lookup

When entity_matches_only is provided, contexts and events that do not
contain the entity_id are not included in the logbook response.

* Update homeassistant/components/logbook/__init__.py

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

* api only takes a single entity

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-09-02 10:32:08 -05:00
Olivér Falvai
70e39a26a2 Fix UPC ConnectBox logout and device hostnames (#39568) 2020-09-02 14:56:32 +02:00
Paulus Schoutsen
6de02fc1b9 Fix some more usages of asynctest (#39570) 2020-09-02 14:53:07 +02:00
Martin Hjelmare
24f63127de Fix vizio black formatting (#39573) 2020-09-02 14:16:23 +02:00
Michael Thingnes
0892acbabd Met.no migrate from classic to complete endpoint (#39493) 2020-09-02 14:11:13 +02:00
Joakim Plate
ec6a1f9137 Add support for receiver and speaker device classes (#38381)
These are now officially supported by google
2020-09-02 11:59:51 +02:00
Raman Gupta
7ff633f531 Automatically update app list for Vizio SmartTV's (#38641) 2020-09-02 11:55:10 +02:00
Ville Skyttä
9f5baa0bf7 Syncthru device registry (#36750)
* Store printer instances in hass.data

* Add SyncThru device registry support

* Use config entry id as hass.data key

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

* Use printer hostname as device registry name

* Handle non-syncthru device more gracefully on entry setup

* Use device identifiers rather than connections to link entities with devices

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-09-02 11:50:57 +02:00
Paulus Schoutsen
78b0837cb8 Remove flaky wol test that didn't test anything (#39571) 2020-09-02 11:50:00 +02:00
Paulus Schoutsen
d5bcafaefd Handle Alexa entity removed (#39569) 2020-09-02 11:30:37 +02:00
Phil Bruckner
4486251382 Add max_exceeded log level option to automations & scripts (#39448) 2020-09-02 11:05:14 +02:00
cgtobi
603707aa85 Add Sonos media browser capability (#39239) 2020-09-02 10:57:12 +02:00
Erik Montnemery
4c6960ed36 Fix discovery update of MQTT light (#39325) 2020-09-02 10:52:33 +02:00
J. Nick Koston
e55a014e94 Undecorate RenderInfo result property (#39108) 2020-09-02 10:35:15 +02:00
J. Nick Koston
3e9963a216 Overcome group concurrent setup limitation (#39483)
With a lot of groups the limitation that groups
had to be setup one at a time could account for
the bulk of startup time.
2020-09-02 10:14:16 +02:00
J. Nick Koston
557684c3ce Add ability to disable the sqlite3 quick_check (#39479) 2020-09-02 10:12:56 +02:00
Paolo Antinori
225becc89a Add alexa unofficial specific API support for Italian (#39475)
Co-authored-by: ochlocracy <5885236+ochlocracy@users.noreply.github.com>
2020-09-02 09:56:11 +02:00
Simone Chemelli
07f2f78b02 Add shelly overtemp and vibration sensors (#39556) 2020-09-02 08:56:27 +02:00
Finbarr Brady
acfb4e462e Bump openwrt-luci-rpc to 1.1.6 (#39561)
* Update requirements_all.txt

* Update manifest.json
2020-09-02 07:34:00 +02:00
Chris Talkington
e921f72d31 Use media state to better represent roku state (#39540)
* use media state to better represent roku state

* Update media_player.py

* Update media_player.py

* Update media_player.py

* Update media_player.py

* Update media_player.py

* Update media_player.py

* Update media_player.py

* Update media_player.py

* Update test_media_player.py

* Update test_media_player.py

* Update test_media_player.py

* Update media_player.py

* Update test_media_player.py

* Update test_media_player.py
2020-09-01 20:40:45 -05:00
HomeAssistant Azure
5ce62c8446 [ci skip] Translation update 2020-09-02 00:03:29 +00:00
Bram Kragten
10606360f7 Updated frontend to 20200901.0 (#39560) 2020-09-02 00:35:11 +02:00
Arda ŞEREMET
1eda3d31f9 Apply code review on progettihwsw (#39520) 2020-09-01 19:42:17 +02:00
Andrew Marks
064d115ccb Address open review issues in sharkiq integration (#39504) 2020-09-01 17:51:27 +02:00
On Freund
c6805aa354 Update pycoolmaster-async to 0.1.1 (#39551) 2020-09-01 16:41:05 +02:00
Jean-Yves Avenard
cf4b6307ae Provide compatibility with older Home Assistant installations. (#39539)
Prior 0.113 all lights and switches were reported as dimmable devices and this was fixed by #37978.
However, under some circumstances Alexa will not smoothly transition from those broken devices to the new ones as it cache the list of entities.
It is imperative to have Alexa rediscover all devices and then remove the now non-responding duplicates using the Alexa phone App. This can take quite a while if you have lots of devices.
An alternative would be to log to the Alexa web site and remove all the lights instead and then re-discover them all.

If you have multiple echo devices on your network, it is possible that the entries would continue to show as duplicates. This is due to an individual echo devices caching the old list and re-using it.
The only known solution for this is to remove your echo devices from your Amazon account and re-add them.
After that, have Alexa rediscover all your devices.

This is a one-off requirement.

Fixes #39503
2020-09-01 09:16:40 -05:00
J. Nick Koston
762537d82d Deprecate manually passing entity ids to template entities (#39382)
It is no longer necessary to provide a list of entities to monitor
to the template platforms.

The template is now re-evaluated whenever
a referenced entity changes state, and new entities are automaticlly
discovered.

Automatic analysis can now determine the entities for all templates
without the need for manual setup.
2020-09-01 08:53:50 -05:00
rajlaud
352995c663 Squeezebox scene fixes (#38214)
* Support for playlist in media_content_id

* Support include playlist index in content_id

* Add media_player.media_stop support to squeezebox
2020-09-01 08:28:34 -04:00
Tom Brien
151c0d9761 Provide user-defined actions to app (#38572)
* Start moving stuff to iOS

* Load config on to hass.data

* Remove un used logging

* Switch to Rest API

* Add schema

* Return whole config in new view and leave old 100 % the same

* Update doc strings

* MartinHjelmare feedback

* Move register view to async_setup_entry
2020-09-01 08:24:23 -04:00
Paulus Schoutsen
aa476b392c Filter out disconnected Shelly sensors (#39516) 2020-09-01 08:18:11 -04:00
On Freund
963651d6f2 Add support for authenticated Shelly devices (#39461)
* Add support for authenticated Shelly devices

* Fix comment typos

* Update homeassistant/components/shelly/config_flow.py

Co-authored-by: Maciej Bieniek <bieniu@users.noreply.github.com>

* Fix unauthenticated devices

* Update homeassistant/components/shelly/config_flow.py

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

* Code review fixes

* More code review fixes

* Fix typo

* Update homeassistant/components/shelly/config_flow.py

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

Co-authored-by: Maciej Bieniek <bieniu@users.noreply.github.com>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-09-01 08:08:37 -04:00
SNoof85
32094c8773 Fix missing end tag in translation key (#39546) 2020-09-01 08:05:09 -04:00
On Freund
dde0dab3db Handle missing values in Shelly sensors (#39515) 2020-09-01 08:04:42 -04:00
Finbarr Brady
b541abc551 Bump openwrt-luci-rpc version: 1.1.3 → 1.1.5 (#39545) 2020-09-01 13:03:41 +02:00
Marvin Wichmann
69b3da48b1 Adds missing name property to KNX weather device (#39547) 2020-09-01 13:01:47 +02:00
jdelaney72
762d7357b5 Fix outdated api url in noaa_tides (#39370)
* Fix outdated dependency in noaa_tides

* Catch exceptions when instantiating new Station

* Add myself to codeowners
2020-09-01 12:42:39 +02:00
Xiaonan Shen
99d830551a Bump yeelight to 0.5.3 (#39542) 2020-09-01 00:06:30 -05:00
J. Nick Koston
a77e09b2c2 Make async_track_template_result track multiple templates (#39371)
* Make async_track_template_result track multiple templates

Combine template entity updates to only write ha
state once per template group update

* Make async_track_template_result use dataclasses for input/output

* black versions

* naming
2020-08-31 19:07:40 -05:00
HomeAssistant Azure
8d68963854 [ci skip] Translation update 2020-09-01 00:07:08 +00:00
J. Nick Koston
60d1606049 Fix kodi codeowners (#39532) 2020-08-31 16:18:12 -05:00
Emily Mills
3fe8afe667 Removing myself as a kodi owner
I no longer use Kodi
2020-08-31 16:53:32 -04:00
On Freund
4828d3d85b Update pyvolumio to 0.1.1 (#39525) 2020-08-31 20:42:14 +02:00
J. Nick Koston
11e4ad2272 Bump zeroconf to 0.28.3 (#39471)
Changes:
https://github.com/jstasiak/python-zeroconf/pull/287

Hopefully this will fix the last round of HomeKit issues
2020-08-31 13:11:26 -05:00
On Freund
d8b4fa4a8b Update pyvolumio to 0.1.2 (#39522) 2020-08-31 20:08:08 +02:00
On Freund
72fe4db937 Update pyrisco to 0.2.4 (#39521) 2020-08-31 20:04:41 +02:00
SukramJ
5de1d04b6e Bump dependency to 0.11.0 for HomematicIP Cloud (#39508)
* Bump dependency to 0.11.0 for HomematicIP Cloud

* Update test data
2020-08-31 18:18:12 +02:00
Maciej Bieniek
7e87181826 Bump gios library to version 0.1.3 (#39507) 2020-08-31 16:55:59 +02:00
Xiaonan Shen
45a927ffb2 Add config flow to yeelight (#37191) 2020-08-31 16:40:56 +02:00
Stefan Lehmann
3ab6663434 Fix ADS component by bumping pyads version to 3.2.2 (#39502) 2020-08-31 15:53:16 +02:00
David F. Mulcahey
7062838940 Add entity services to the Flo integration (#38287)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-08-31 15:37:45 +02:00
J. Nick Koston
4d637e5f30 Skip setup of dependencies if they are already setup (#39482)
after_dependencies were checking hass.config.components
to see if something was already setup.  We did not do
the same for dependencies which resulted in trying
to set them up more then once.

Noticed when `homeassistant.setup` was set to debug
logging and many integrations were announcing
waiting on http when it was already setup.
2020-08-31 07:54:15 -04:00
starkillerOG
f187091594 Add Xiaomi Miio gateway illuminance sensor and gateway light (#37959)
Co-authored-by: Xiaonan Shen <s@sxn.dev>
Co-authored-by: Teemu R. <tpr@iki.fi>
2020-08-31 13:27:57 +02:00
arunderwood
84205a9a57 route53 - support updating base domain (#39264) 2020-08-31 11:48:55 +02:00
Marvin Wichmann
bba8b8e759 Add support for a dedicated weather station within KNX (#39476)
* Adds support for a dedicated weather station within KNX

* Review

* Change config values to comply with the naming of the other platforms
2020-08-31 11:38:52 +02:00
Paulus Schoutsen
190611a079 Detect comments in jinja templates (#39496) 2020-08-31 10:51:30 +02:00
Denys Dovhan
00eb23b43f Allow loading Lovelace dashboards not only from root (#37561) 2020-08-31 10:51:03 +02:00
Franck Nijhof
97e1be98df Upgrade sentry-sdk to 0.17.1 (#39495) 2020-08-31 10:28:52 +02:00
Aidan Timson
09efbc569f Fix oauth2 template by updating outdated method name (#39486) 2020-08-31 10:25:25 +02:00
Franck Nijhof
a1678368cf Upgrade pydocstyle to 5.1.1 (#39492) 2020-08-31 10:20:39 +02:00
Paulus Schoutsen
4688171ce0 Add cache headers to picture integration (#39402) 2020-08-31 09:25:39 +02:00
Eugene Prystupa
b71cbd2033 Fix a problem with set_speed(off) when direct HA API for set speed is called (#39488) 2020-08-30 21:10:15 -05:00
Chris Talkington
e1c7c3fdb2 Ensure patching applies while testing marytts (#39490)
* ensure patching applies while testing marytts

* Update test_tts.py
2020-08-30 21:04:49 -05:00
HomeAssistant Azure
2856915b6d [ci skip] Translation update 2020-08-31 00:03:01 +00:00
Tom Harris
75153dd4a3 Apply code review for insteon config flow (#39171)
* Move options import to async_setup_entry

* Add tests for insteon init

* Move common constants to const

* Clean up to adhear to standards

* Create mock insteon device manager

* Update for HA standards

* Use keys and align to config_flow steps

* Fix default port for hub v1

* Update doc string to represent function

* Remove dump print commands

* Add modem_type entry

* Simplify dict key test

* Setup platforms in async_setup_entry

* Black

* Black tests
2020-08-30 19:15:09 -04:00
Aidan Timson
f7e6b060a7 Make onvif username optional (#39415) 2020-08-30 17:39:33 -04:00
Chris Talkington
159f6750d7 Update progettihwsw to use CoordinatorEntity (#39477)
* update progettihwsw to use CoordinatorEntity

* Update switch.py

* Update binary_sensor.py

* Update binary_sensor.py

* Update switch.py
2020-08-30 22:53:32 +02:00
Arda ŞEREMET
e707b50658 Add integration for ProgettiHWSW automation boards (#37922)
* Opened a new fresh page to clean my mess.

* Solved pylint warnings

* Fixing pylint issue of defining attr outside init.

* Excluded files from being tested by codecov.

* Solved binary sensor error.

* Fixed some stylisation errors.

* Resolved input not updating problem.

* Added port entry to test file.

* Added tests for create_entry.

* Added support for better state management.

* Increased code coverage of config_flow.py & made some tweaks.

* Increased coverage of config_flow.py by adding tests for unknown exceptions.

* A small bugfix.

* Stylised code as per Chris' suggestions.

* Stylised code again.

* Improved quality of test code.

* Added step_id in config flow tests.
2020-08-30 15:03:33 -05:00
J. Nick Koston
4bbc737954 Fix light device trigger test flapping (#39470) 2020-08-30 14:34:16 -05:00
J. Nick Koston
25f9560fb6 Update schluter to use CoordinatorEntity (#39454) 2020-08-30 14:19:48 -05:00
J. Nick Koston
705b253a99 Update awair to use CoordinatorEntity (#39469) 2020-08-30 14:05:22 -05:00
Tom Brien
56057a638f Clarify when message come from FCM (#39455) 2020-08-30 14:04:36 -05:00
Chris Talkington
863c7414bc Implement code review for nzbget (#39425)
* implement code review for nzbget

* Update strings.json

* Update sensor.py

* Update config_flow.py

* Update sensor.py

* Update config_flow.py

* Update config_flow.py

* Update config_flow.py
2020-08-30 13:59:15 -05:00
Chris Talkington
65a9e18b27 Improve patching in marytts tests (#39458)
* improve patching in marytts tests

* Update test_tts.py

* Update test_tts.py

* Update test_tts.py

* Update test_tts.py

* Update test_tts.py

* Update test_tts.py
2020-08-30 13:58:25 -05:00
J. Nick Koston
56ddbd87b2 Fix recorder test intermittently failing (#39468) 2020-08-30 13:58:00 -05:00
J. Nick Koston
9ec870c750 Update hunterdouglas_powerview to use CoordinatorEntity (#39463) 2020-08-30 13:28:09 -05:00
J. Nick Koston
b57f33c41a Update control4 to use CoordinatorEntity (#39466) 2020-08-30 13:27:46 -05:00
J. Nick Koston
ab0b0dc51c Update ovo_energy to use CoordinatorEntity (#39459) 2020-08-30 13:20:45 -05:00
J. Nick Koston
1fbb158211 Update dexcom to use CoordinatorEntity (#39464) 2020-08-30 13:20:01 -05:00
J. Nick Koston
c4f5a05b27 Update coolmaster to use CoordinatorEntity (#39465) 2020-08-30 13:18:19 -05:00
Maciej Bieniek
80910b4f9a Add bieniu as code owner for shelly (#39467) 2020-08-30 13:17:27 -05:00
J. Nick Koston
9d1045dd7a Update met to use CoordinatorEntity (#39462) 2020-08-30 20:14:09 +02:00
Marvin Wichmann
9f4d4862b4 Update xknx to 0.13.0 (#39407) 2020-08-30 20:13:47 +02:00
J. Nick Koston
2b78d5235d Update risco to use CoordinatorEntity (#39456) 2020-08-30 13:04:30 -05:00
springstan
e5b360cd08 Update coronavirus to use CoordinatorEntity (#39449)
* Update coronavirus to use CoordinatorEntity

* Remove should_poll from coronavirus
2020-08-30 13:04:01 -05:00
J. Nick Koston
692ed8c639 Update notion to use CoordinatorEntity (#39460) 2020-08-30 13:02:56 -05:00
J. Nick Koston
773860ca5c Update plugwise to use CoordinatorEntity (#39457) 2020-08-30 13:02:27 -05:00
springstan
953626b2d4 Update meteo_france to use CoordinatorEntity (#39432)
* Update meteo_france to use CoordinatorEntity

* Update homeassistant/components/meteo_france/sensor.py

* Update homeassistant/components/meteo_france/weather.py

Co-authored-by: J. Nick Koston <nick@koston.org>
2020-08-30 19:52:53 +02:00
Chris Talkington
bd7682a694 Update roku state faster after actions (#39453)
* update roku state faster after actions

* Update media_player.py

* Update remote.py
2020-08-30 12:42:53 -05:00
J. Nick Koston
8b893173fd Prevent CoordinatorEntity from requesting updates on disabled entities (#39452) 2020-08-30 12:10:22 -05:00
springstan
17734d54ab Update hue to use CoordinatorEntity (#39446) 2020-08-30 11:32:56 -05:00
springstan
d3b845c01a Update tile to use CoordinatorEntity (#39439) 2020-08-30 11:32:32 -05:00
J. Nick Koston
d9c9adbc91 Update tankerkoenig to use CoordinatorEntity (#39440) 2020-08-30 18:27:06 +02:00
springstan
cceaa088cb Update toon to use CoordinatorEntity (#39441) 2020-08-30 18:26:37 +02:00
J. Nick Koston
225743a620 Update upnp to use CoordinatorEntity (#39434) 2020-08-30 18:17:41 +02:00
springstan
42818c150f Update pi_hole to use CoordinatorEntity (#39433) 2020-08-30 11:10:45 -05:00
springstan
7bed868d60 Update wolflink to use CoordinatorEntity (#39444) 2020-08-30 11:10:28 -05:00
springstan
ce1ef73366 Update WLED to use CoordinatorEntity (#39442) 2020-08-30 18:05:55 +02:00
Marius
77fe206084 Update stookalert to use DEVICE_CLASS_SAFETY constant (#39438)
asper discussion here https://github.com/home-assistant/core/pull/39310#issuecomment-681968732
2020-08-30 18:01:04 +02:00
springstan
22b8d43bf5 Update tesla to use CoordinatorEntity (#39436) 2020-08-30 10:48:15 -05:00
springstan
e701001c5f Update poolsense to use CoordinatorEntity (#39435) 2020-08-30 10:47:45 -05:00
springstan
1e97ca14f1 Update accuweather to fully use CoordinatorEntity (#39431) 2020-08-30 10:38:26 -05:00
springstan
e984801104 Update iammeter to use CoordinatorEntity (#39423)
* Update iammeter to use CoordinatorEntity

* Remove async_will_remove_from_hass and async_added_to_hass
2020-08-30 10:02:55 -05:00
J. Nick Koston
0a389a4651 Update sharkiq to use CoordinatorEntity (#39427)
* Update sharkiq to use CoordinatorEntity

Fix pylint

* revert
2020-08-30 09:52:48 -05:00
springstan
70c241b51b Fix pylint erros for sharkiq (#39428) 2020-08-30 09:51:50 -05:00
J. Nick Koston
4a21b1f589 Update smart_meter_texas to use CoordinatorEntity (#39426) 2020-08-30 16:43:30 +02:00
springstan
a1d48ad1ec Update juicenet to use CoordinatorEntity (#39424) 2020-08-30 09:38:15 -05:00
springstan
baf5750425 Update gios to use CoordinatorEntity (#39421) 2020-08-30 09:37:03 -05:00
springstan
186c13f1ab Update eafm to use CoordinatorEntity (#39420) 2020-08-30 09:17:59 -05:00
Chris Talkington
16a0bd7ff3 Update ipp to use CoordinatorEntity (#39412)
* update ipp to use CoordinatorEntity

* Update homeassistant/components/ipp/__init__.py

Co-authored-by: springstan <46536646+springstan@users.noreply.github.com>

* Solve isort and black

Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
Co-authored-by: springstan <46536646+springstan@users.noreply.github.com>
2020-08-30 09:07:36 -05:00
springstan
152b6c2d1a Update accuweather to use CoordinatorEntity (#39408) 2020-08-30 09:06:38 -05:00
springstan
29c1f873eb Update brother to use CoordinatorEntity (#39418) 2020-08-30 09:02:12 -05:00
springstan
64513c8c9a Update airvisual to use CoordinatorEntity (#39417) 2020-08-30 09:01:19 -05:00
springstan
4294d10789 Format sharkiq with black (#39422) 2020-08-30 08:56:59 -05:00
springstan
be489e83a1 Update speedtestdotnet to use CoordinatorEntity (#39404) 2020-08-30 08:50:33 -05:00
Chris Talkington
5dfb043896 update nzbget to use CoordinatorEntity (#39406) 2020-08-30 08:47:28 -05:00
Paulus Schoutsen
5a7f1d62c1 CoordinatorEntity to call super added_to_hass (#39416) 2020-08-30 08:42:33 -05:00
Andrew Marks
3d1ff5b8d0 Add sharkiq integration for Shark IQ robot vacuums (#38272)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-08-30 15:26:11 +02:00
Paulus Schoutsen
ab7b42c022 Google: Recover from an entity raising while serializing query (#39381)
Co-authored-by: Joakim Plate <elupus@ecce.se>
2020-08-30 15:19:56 +02:00
J. Nick Koston
854e33025b Update nexia to use CoordinatorEntity (#39391)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-08-30 14:57:02 +02:00
springstan
b3ec3d0baf Update atag to use CoordinatorEntity (#39414) 2020-08-30 14:42:45 +02:00
Chris Talkington
108e2ec1ba Update roku to use CoordinatorEntity (#39405) 2020-08-30 14:42:31 +02:00
springstan
4425c3aea2 Update airly to use CoordinatorEntity (#39413) 2020-08-30 14:41:39 +02:00
J. Nick Koston
0f5733ac59 Update cert_expiry to use CoordinatorEntity (#39397) 2020-08-30 14:41:18 +02:00
J. Nick Koston
21f1875816 Update updater to use CoordinatorEntity (#39396) 2020-08-30 14:40:55 +02:00
J. Nick Koston
2525d319a3 Update nut to use CoordinatorEntity (#39394) 2020-08-30 14:40:26 +02:00
J. Nick Koston
4e876cb473 Update myq to use CoordinatorEntity (#39393) 2020-08-30 14:40:00 +02:00
J. Nick Koston
a4f475245c Update griddy to use CoordinatorEntity (#39392) 2020-08-30 14:39:07 +02:00
J. Nick Koston
f7d1cfb625 Update powerwall to use CoordinatorEntity (#39389) 2020-08-30 14:37:11 +02:00
Paulus Schoutsen
ba75856f2b Do not break Alexa sync when encounter bad entity (#39380) 2020-08-30 14:36:00 +02:00
Ville Skyttä
b4db9f615d Fix huawei_lte duplicate device registry identifiers (#39409)
Regression in 3c0f766933

Refs https://github.com/home-assistant/core/pull/38925
2020-08-30 14:27:56 +02:00
springstan
c0c6a457bd Update air_quality to use CoordinatorEntity (#39410) 2020-08-30 14:26:03 +02:00
Maciej Bieniek
0cffba77cf Add more sensors to the Shelly integration (#39368) 2020-08-30 14:18:35 +02:00
Maciej Bieniek
4aa8b6cad8 Add basic binary_sensor support to Shelly (#39365) 2020-08-30 14:16:41 +02:00
Chris Talkington
ef13da5555 Fix marytts sync requests within event loop (#39399) 2020-08-30 06:19:51 -05:00
J. Nick Koston
f8712b0e00 Create a CoordinatorEntity class to avoid repating code in integrations (#39388) 2020-08-30 12:02:37 +02:00
Marius
87425d4ab1 Add device_class safety to synology_dsm storage binary_sensors (#39310)
* add device_class: safety to storage binary_sensors

* Update binary_sensor.py

* Update homeassistant/components/synology_dsm/binary_sensor.py

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

* Update binary_sensor.py

* Import device_class Safety

from homeassistant.components.binary_sensor

* Update binary_sensor.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-08-30 11:08:57 +02:00
J. Nick Koston
dda4cf4d58 Tune logbook performance to accomodate recent changes (#39348) 2020-08-30 09:20:31 +02:00
Jeff Irion
ad0d3b4848 Improve handling of exceptions in Android TV (#39229)
* Close the ADB connection when there is an exception

* Add a test

* Split a comment onto two lines

* Fix test ('async_update' -> 'async_update_entity')

* 'close' -> 'Close'
2020-08-29 21:56:25 -05:00
HomeAssistant Azure
904f5c4346 [ci skip] Translation update 2020-08-30 00:03:17 +00:00
Franck Nijhof
800cf6c8c0 Revert "Support selecting http vs https protocols for qvrpro (#38951)" (#39385)
This reverts commit 526c418e1e.
2020-08-29 17:45:54 -05:00
Anders Melchiorsen
79252c06b2 Upgrade eternalegypt to 0.0.12 (#39386) 2020-08-30 00:43:09 +02:00
Eugene Prystupa
867d5088e3 Fix bond fan.turn_on with OFF speed (#39387) 2020-08-29 17:03:19 -05:00
Chris Talkington
7469f57a7b Add config flow to nzbget (#38938)
* work on config flow

* Update test_init.py

* work on config flow

* Update test_config_flow.py

* Update test_config_flow.py

* Update __init__.py

* Update test_config_flow.py

* Update __init__.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 __init__.py

* Update __init__.py

* Apply suggestions from code review

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

* Update __init__.py

* Update __init__.py

* Update __init__.py

* Update config_flow.py

* Update __init__.py

* Update __init__.py

* Create coordinator.py

* Update __init__.py

* Update sensor.py

* Update __init__.py

* Update .coveragerc

* Update coordinator.py

* Update __init__.py

* Update coordinator.py

* Update __init__.py

* Update coordinator.py

* Update config_flow.py

* Update __init__.py

* Update coordinator.py

* Update __init__.py

* Update test_config_flow.py

* Update coordinator.py

* Update test_config_flow.py

* Update test_init.py

* Update homeassistant/components/nzbget/coordinator.py

* Update test_config_flow.py

Co-authored-by: J. Nick Koston <nick@koston.org>
2020-08-29 16:47:00 -05:00
J. Nick Koston
54ef16f01a Reload notify platforms concurrently with asyncio.gather (#39384) 2020-08-29 22:23:57 +02:00
Xiaonan Shen
22a123fd4b Support acpartner in aqara discovery (#37926) 2020-08-29 11:34:25 -05:00
Berni Moses
a9b611d3ed Bump python-temescal to 0.3 for lg_soundbar (#39379) 2020-08-29 16:22:37 +02:00
Paulus Schoutsen
8302a7879e Catch bad devices when Google Sync (#39377) 2020-08-29 13:09:50 +02:00
Ville Skyttä
b882304ec2 Upgrade pydocstyle to 5.1.0 (#39374) 2020-08-29 10:07:48 +02:00
Ville Skyttä
6ae9399237 Upgrade isort to 5.4.2 (#37939) 2020-08-29 08:23:55 +02:00
Ville Skyttä
1bf2c4d976 Upgrade pylint to 2.6.0 (#39363) 2020-08-29 07:59:24 +02:00
J. Nick Koston
67de1d3466 Fix sun test to patch time since it is now refetched (#39372)
This accounts for the fix in #39335
2020-08-28 22:06:06 -05:00
Chris Talkington
4682de5ac1 Improve patching in broadlink sensor tests (#39366)
* improve patching in broadlink sensor tests

* Update test_sensors.py

* Update test_sensors.py
2020-08-28 21:26:19 -05:00
pbalogh77
6348f130bc Add basic lock support for fibaro (#38962)
Added very basic support for locks in the Fibaro integration.
2020-08-28 21:16:02 -05:00
HomeAssistant Azure
989a040b67 [ci skip] Translation update 2020-08-29 00:03:59 +00:00
Aaron Godfrey
16ad8cf720 Fix todoist calendar events (#39197)
Updated the calendar event dict to contain a `summary` key so that the
title will display on the calendar panel.  Also update the start/end
date to not include time information if the event is all day so that it
renders as an all day event on the calendar panel.
2020-08-28 16:43:40 -05:00
cgtobi
755ddf1a94 Add Netatmo camera light service (#39354)
* Add camera light service

* Move service to camera

* Review
2020-08-28 16:09:07 -05:00
Daniel Shokouhi
d587f134ca Reload mobile app notify service upon device name change, add device name to all webhook logs (#39364)
* Add device name to all webhook logs to help with multiple devices

* Reload notifications when we update the registration, update from rebase

* Make hassfest happy

* Adjust caplog test to accomodate log message change

Co-authored-by: J. Nick Koston <nick@koston.org>
2020-08-28 15:13:43 -05:00
Diogo Gomes
c163d4a4b5 bump pymediaroom (#39360) 2020-08-28 15:12:42 -05:00
Teemu R
94c474eab2 Add missing status mappings for xiaomi_miio (#39357) 2020-08-28 15:09:46 -05:00
Rob Bierbooms
5658a1efec Increase test coverage for rfxtrx integration (#39340)
* Increase switch coverage

* Increase binary sensor coverage

* Final improvements

* Remove debug statement

* Adjust test duplicate cover

* Remove None return test

* Assert on length of conf_entries

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

Co-authored-by: Chris Talkington <chris@talkingtontech.com>
2020-08-28 15:05:11 -05:00
Phil Bruckner
b315df2118 Reduce automation state changes by using script helper's last_triggered attribute (#39323) 2020-08-28 14:51:15 -05:00
J. Nick Koston
92c06f0818 Ensure mobile_app notifications get re-registered after adding,removing,adding (#39362) 2020-08-28 14:08:09 -05:00
Phil Bruckner
a99efcb5c2 Fix sun integration vulnerability to sudden large clock changes (#39335)
* Fix sun integration vulnerability to sudden large clock changes

* Fix update_sun_position as well
2020-08-28 13:09:43 -05:00
J. Nick Koston
57848cdf35 Add the ability to reload ping platforms from yaml (#39344) 2020-08-28 12:40:30 -05:00
J. Nick Koston
85869be2d8 Unregister mobile_app notification services when a device is removed (#39359) 2020-08-28 12:37:19 -05:00
Anna Tikhomirova
33a05541a4 Simplify mobile app debugging by adding sender device name (#38518)
* Simplify mobile app debugging by adding sender device name.

* Reformatted webhook.py with black
2020-08-28 12:36:59 -05:00
J. Nick Koston
3377f6b12a Register mobile_app notification services when a new device is added (#39356)
* Register mobile_app notification services when a new device is added

* targets and base service use their own patterns to generate the name
2020-08-28 12:18:02 -05:00
Paulus Schoutsen
4b8217777e Add basic light and sensor support to Shelly (#39288)
* Add basic light platform

* Add sensor support

* Bump aioshelly to 0.2.1

* Lint

* Use UNIT_PERCENTAGE

Co-authored-by: Maciej Bieniek <bieniu@users.noreply.github.com>

* Format sensor.py

Co-authored-by: Maciej Bieniek <bieniu@users.noreply.github.com>
2020-08-28 17:33:34 +02:00
Paulus Schoutsen
d9f3bdea53 Black 2020-08-28 15:33:08 +00:00
Jin
4b5d0915a9 Add support for hmi208(xiaomi plug BLE) (#39306)
As this plug has already been supported in [python-miio v5.1](https://github.com/rytilahti/python-miio/releases/tag/0.5.1).
Changes towards xiaomi-miio made for fully supporting this device in HA.
2020-08-28 17:24:14 +02:00
J. Nick Koston
d2195e2b37 Add support for reloading min_max from yaml (#39327)
* Add support for reloading min_max from yaml

* git add
2020-08-28 10:23:19 -05:00
Phil Bruckner
e6141ae558 Add description of what caused an automation trigger to fire (#39251)
Co-authored-by: J. Nick Koston <nick@koston.org>
2020-08-28 17:02:12 +02:00
Paulus Schoutsen
5217139e0b Allow exposing domains in cloud (#39216) 2020-08-28 16:49:17 +02:00
J. Nick Koston
414a59ae9f Add the ability to reload homekit from yaml (#39326) 2020-08-28 16:46:45 +02:00
J. Nick Koston
400741006b Add the ability to reload generic platforms from yaml (#39289) 2020-08-28 16:44:51 +02:00
J. Nick Koston
2109444ba5 Update time triggers to use async_track_state_change_event (#39338)
This was one of the ones missed in the
async_track_state_change to
async_track_state_change_event conversion.
2020-08-28 16:32:05 +02:00
J. Nick Koston
f8704a2dfc Ensure we always fire time pattern changes after microsecond 0 (#39302) 2020-08-28 16:27:25 +02:00
J. Nick Koston
7c191388a9 Use icmplib for ping when available (#39284)
* Use icmplib for ping when available

* Update homeassistant/components/ping/binary_sensor.py

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

* Revert "Update homeassistant/components/ping/binary_sensor.py"

This reverts commit 618f42512a.

* move it up so its easier to see

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-08-28 08:50:09 -05:00
Ville Skyttä
b4bac0f7a0 Exception chaining and wrapping improvements (#39320)
* Remove unnecessary exception re-wraps

* Preserve exception chains on re-raise

We slap "from cause" to almost all possible cases here. In some cases it
could conceivably be better to do "from None" if we really want to hide
the cause. However those should be in the minority, and "from cause"
should be an improvement over the corresponding raise without a "from"
in all cases anyway.

The only case where we raise from None here is in plex, where the
exception for an original invalid SSL cert is not the root cause for
failure to validate a newly fetched one.

Follow local convention on exception variable names if there is a
consistent one, otherwise `err` to match with majority of codebase.

* Fix mistaken re-wrap in homematicip_cloud/hap.py

Missed the difference between HmipConnectionError and
HmipcConnectionError.

* Do not hide original error on plex new cert validation error

Original is not the cause for the new one, but showing old in the
traceback is useful nevertheless.
2020-08-28 13:50:32 +02:00
Joakim Plate
d768fd4de9 Bump arcam fmj with no install requires on asyncio (#39353) 2020-08-28 13:06:25 +02:00
Chris Talkington
ab90ea7884 Fix black on homematicip_cloud binary_sensor (#39351) 2020-08-28 00:47:27 -05:00
Chris Talkington
98db0a2d2e fix black on generic_thermostat tests (#39350) 2020-08-28 00:24:11 -05:00
J. Nick Koston
f914625b8a Add the ability to reload history_stats platforms from yaml (#39337)
* Add the ability to reload history_stats platforms from yaml

* Increase coverage and cleanup

* Fix coverage

* services.yaml
2020-08-28 00:22:43 -05:00
SukramJ
b5c2c9ec9b Add device attribute for homematicip_cloud rotary handle (#39144) 2020-08-28 00:08:37 -05:00
J. Nick Koston
77490287e9 Add the ability to reload generic_thermostat platforms from yaml (#39291) 2020-08-27 23:59:49 -05:00
J. Nick Koston
f449620d38 Add the ability to reload filesize platforms from yaml (#39347) 2020-08-27 23:53:27 -05:00
J. Nick Koston
0db5bb27a8 Add the ability to reload trend platforms from yaml (#39341) 2020-08-27 23:50:28 -05:00
Bill (William) O'Neill
526c418e1e Support selecting http vs https protocols for qvrpro (#38951)
* Support selecting http vs https protocols for qvrpro

* Make protocol selection limited to http or https
2020-08-27 22:22:28 -05:00
Greg Dowling
637fdf72ca Improve volume handling for Roon (#39119)
* Handle players without volume attribute.

* Refactor volume and now_playing error handling,

* Apply suggestions from code review

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

* Review suggestions.

Co-authored-by: Chris Talkington <chris@talkingtontech.com>
2020-08-27 22:18:09 -05:00
On Freund
b14af3e727 Add Custom mapping of Risco states (#39218)
* Custom mapping of Risco states

* More informative error log

* Add alternative Risco terms

* Black formatting
2020-08-27 21:23:01 -05:00
On Freund
24db31fa28 Add (un)bypass services to Risco (#39292)
* Add (un)bypass services to Risco

* Simplify service registration
2020-08-27 20:39:27 -05:00
jgrob1
a83c778c4f Bump rflink to 0.0.54 (#39342)
* Update manifest.json

* Update requirements_all.txt

* Update requirements_test_all.txt
2020-08-27 20:35:33 -05:00
HomeAssistant Azure
68ba1d8790 [ci skip] Translation update 2020-08-28 00:05:07 +00:00
J. Nick Koston
ca05f8928d Switch duckdns to use async_call_later (#39339) 2020-08-28 00:10:02 +02:00
Paul Daumlechner
b1444ffefb Bump zeroconf to 0.28.2 (#39322)
* Bump zeroconf to 0.28.2

* Requirements updated
2020-08-27 14:47:15 -05:00
J. Nick Koston
f4f8aa3e52 Prevent duckdns from consuming 100% cpu when time abruptly moves forward (#39334) 2020-08-27 21:17:52 +02:00
Oncleben31
90ac426a54 Meteo france "next_rain" attributes rework (#39092)
* Improve next_rain sensor attributes

* Add log message to identify missing condition

* Add a condtion

* Set the coordinator for 1 hour rain forecast in English

* Attribut dict keys shorten

* reverse transalate the API results for next rain

* Use f string for the keys in the dict

* Remove Logging from state property

* Remove other logging from state property
2020-08-27 21:08:39 +02:00
Erik Montnemery
4e39a00b3d Use boolean for mqtt fan state (#39332) 2020-08-27 21:04:58 +02:00
Charles Garwood
c2365b8c0f Add get_nodes command to OZW websocket api (#39317)
* Add get_nodes command to OZW websocket api

* Fix black

* Use constants for get_nodes and get_node

* Missed a couple constants
2020-08-27 14:00:22 -04:00
cgtobi
c8d49a8adf Add Spotify media browser capability (#39240)
Co-authored-by: Tobias Sauerwein <cgtobi@gmail.com>
Co-authored-by: Bram Kragten <mail@bramkragten.nl>
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
Co-authored-by: Franck Nijhof <git@frenck.dev>
2020-08-27 17:00:36 +02:00
Ville Skyttä
27f3c0a302 Skip install on tox pylint (#39260)
We're not operating on the installed package anyway, and necessary
dependencies are handled with tox deps.

As a nice bonus side effect, doing this sidesteps breakage caused by
pip's (up to 20.2.2 at least) behavior of prepending site-packages to
sys.path in certain cases, which in turn results in failures e.g. if a
version of typing that is incompatible with the (now overridden)
stdlib is installed there. And that combined with also pip's behavior
of installing a default build system consisting of setuptools and
wheel under the hood when it sees our pyproject.toml without a
build-system defined would provoke the breakage before we have a
chance to uninstall typing. (There are ways around this too, but
skipping the install makes the issue moot at least with our current
dependency set.)
2020-08-27 16:57:58 +02:00
Ville Skyttä
98993d8503 Trivial requirements cleanups (#39222) 2020-08-27 16:56:53 +02:00
matgad
b880c33043 Bump zigpy-cc version (#39318) 2020-08-27 09:36:35 -04:00
Martin Hjelmare
55283df705 Remove protobuf requirement from tensorflow manifest (#39316) 2020-08-27 08:54:43 -04:00
Franck Nijhof
1c2ebdf307 Upgrade black to 20.8b1 (#39287) 2020-08-27 13:56:20 +02:00
João Gabriel
0d7eec710c Fix Panasonic Viera config flow and state update (#39303) 2020-08-27 13:51:18 +02:00
Martin Hjelmare
b0a2c8d430 Bump hangups to 0.4.10 (#39312) 2020-08-27 13:26:46 +02:00
Fabian Affolter
b759f2c7ca Updated certifi to > 2020.6.20 (#39160) 2020-08-27 12:45:17 +02:00
Felipe Martins Diel
e4d29bf3ec Add tests for Broadlink sensors (#39230)
* Add tests for Broadlink sensors

* Remove sensor.py from .coveragerc
2020-08-26 22:43:17 -05:00
HomeAssistant Azure
195d4b6897 [ci skip] Translation update 2020-08-27 00:04:55 +00:00
Paulus Schoutsen
6348884735 Allow passing in user id instead of username to change password (#39266) 2020-08-26 23:37:33 +02:00
jjlawren
1bc4de2bd3 Add tests for Plex media browser (#39220) 2020-08-26 23:24:44 +02:00
Paulus Schoutsen
2e4cd5f343 Merge pull request #39286 from home-assistant/rc 2020-08-26 20:13:33 +02:00
Phil Bruckner
8fa1a1f600 Fix async_fire_time_changed in tests/common.py (#38705) 2020-08-26 16:44:01 +00:00
Marvin Wichmann
a2651845f3 Centralize knx config and update xknx to 0.12.0 (#39219)
* Refactor KNX integration to centralize configuration yaml (#39189)

* Updates for xknx 0.12.0 (#38880)
2020-08-26 18:03:03 +02:00
J. Nick Koston
79f4b6eb6b Cleanup the rest reload test to use the pytest requests_mock fixture (#39282) 2020-08-26 17:53:11 +02:00
Paulus Schoutsen
77107e4501 Bumped version to 0.114.4 2020-08-26 15:52:05 +00:00
J. Nick Koston
9678cbdde2 Fix time pattern listener firing a few microseconds early (#39281) 2020-08-26 15:52:01 +00:00
Pascal Vizeli
5c9a8a27c8 Fix TTS languange characters (#39211) 2020-08-26 15:52:00 +00:00
J. Nick Koston
715fe4eef8 Fix time pattern listener firing a few microseconds early (#39281) 2020-08-26 17:50:25 +02:00
Paulus Schoutsen
51a63c1fc4 Drop last bits of asyncio.coroutine (#39280) 2020-08-26 16:57:52 +02:00
Paulus Schoutsen
b47992dba0 Bump CI cache (#39283) 2020-08-26 16:53:22 +02:00
J. Nick Koston
dc84196202 Add the ability to reload statistics platforms from yaml (#39268) 2020-08-26 14:52:19 +02:00
Paulus Schoutsen
e96d8a961c Block typing from being installed (#37707) 2020-08-26 14:51:41 +02:00
Paulus Schoutsen
df9de8eb5d Prevent bluepy from being part of requirements_all.txt (#39275) 2020-08-26 14:50:14 +02:00
Franck Nijhof
44118d8fb6 Add cache version to GitHub Actions CI (#39277) 2020-08-26 13:40:31 +02:00
Phil Bruckner
4ff376cdd6 Add timestamp option for input_datetime.set_datetime (#39121) 2020-08-26 11:28:30 +02:00
Maciej Bieniek
2568932c1c Bump brother library to version 0.1.15 (#39226) 2020-08-26 10:55:57 +02:00
Felipe Martins Diel
067efc7805 Remove services.yaml from the Broadlink integration (#39261) 2020-08-26 10:47:44 +02:00
Marty Zalega
e065673d7b Version bump panasonic_viera to 0.3.6 (#39269)
This version fixes the issue of mishandling an error when requesting a session id
2020-08-26 10:32:23 +02:00
Paulus Schoutsen
2a9da208d4 Allow disabling integrations in manifest, block uuid package being installed and disable ezviz (#38444) 2020-08-26 10:20:14 +02:00
J. Nick Koston
eaac00acfc Add the ability to reload filter platforms from yaml (#39267)
* Add the ability to reload filter platforms from yaml

* force in memory db

* fix listener leak on un-load
2020-08-25 20:55:45 -05:00
J. Nick Koston
215e3f2dab Add the ability to reload command_line platforms from yaml (#39262) 2020-08-25 19:52:36 -05:00
J. Nick Koston
5018e53b33 Add the ability to reload the rest platforms from yaml (#39257)
* Add the ability to reload rest platforms from yaml

* Revert changes to notify as these will be done in another pass
2020-08-25 19:05:29 -05:00
SukramJ
758c0adb5e Rename entity base class for HMIPC (#39243) 2020-08-26 01:55:55 +02:00
J. Nick Koston
810df38f0d Add the ability to reload light/cover groups from yaml (#39250)
* Add the ability to reload light/cover groups from yaml

Update previous usage to reduce code duplication.

* Fix conflict from rebase
2020-08-25 18:13:43 -05:00
J. Nick Koston
e109b04efe Add api to reload config entries (#39068) 2020-08-26 00:59:22 +02:00
bsmappee
11f121b008 Implement local discovery of Smappee series-2 devices and improvements (#38728)
* prepare local api support for Smappee2-series

* Series-2 devices are now supported

* remove switch scan_interval
2020-08-26 00:37:53 +02:00
J. Nick Koston
c87e03ee6f Ensure template tracking can recover after the template generates an exception (#39256) 2020-08-26 00:33:08 +02:00
J. Nick Koston
90842fcb84 Support reloading the universal platform (#39248) 2020-08-26 00:25:15 +02:00
J. Nick Koston
63ebea1706 Ensure the context is passed to group changes (#39221) 2020-08-26 00:22:10 +02:00
J. Nick Koston
20398cc0a6 Subscribe to state change events only if the template has entities (#39188) 2020-08-26 00:20:04 +02:00
Pascal Vizeli
68c0f770fe Update homeassistant base image 8.3.0 (#39245) 2020-08-25 23:10:18 +02:00
Daniel Hjelseth Høyer
7bc273b182 Remove yr integration after a request from yr.no (#39247) 2020-08-25 21:18:45 +02:00
Yuxiang Zhu
19cc168433 Add HomeKit Controller heater-cooler devices (#38979)
Some new HomeKit climate devices, like XiaoMi Air Conditioning Controller P3 are heater-cooler devices rather than
thermostat devices. This commit adds support for the heater-cooler class via homekit_controller.
2020-08-25 17:56:01 +01:00
Chris Talkington
ab6fb5cb77 Ensure unique ids are generated for surepetcare (#39196)
* ensure unique ids are generated for surepetcare

* Create test_binary_sensor.py

* work on tests

* Update test_binary_sensor.py

* Update __init__.py

* Update __init__.py

* Update test_binary_sensor.py

* Update test_binary_sensor.py

* Update test_binary_sensor.py

* Update test_binary_sensor.py

* Update test_binary_sensor.py

* Update test_binary_sensor.py

* Update __init__.py
2020-08-25 11:34:14 -05:00
Erik Montnemery
114a7226d6 Wait before sending MQTT birth message (#39120)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2020-08-25 16:42:24 +02:00
Paulus Schoutsen
415213a325 Add support for attributes in state/numeric state trigger (#39238) 2020-08-25 16:21:16 +02:00
Pascal Vizeli
342e84e550 Fix TTS languange characters (#39211) 2020-08-25 14:23:21 +02:00
Paulus Schoutsen
9979e465aa Fix hassio auth data (#39244)
Co-authored-by: Pascal Vizeli <pvizeli@syshack.ch>
2020-08-25 14:22:50 +02:00
Paulus Schoutsen
13df3bce1b Allow owner users to change password of any user (#39242) 2020-08-25 13:49:32 +02:00
javicalle
ef35eea0f6 Remove 'entity_id' from ToggleRflinkLight (#37992)
Remove `entity_id` overwrite from `ToggleRflinkLight` class
2020-08-25 13:49:00 +02:00
Akın Ömeroğlu
7d4a9ac65a Bump python-temascal to 0.2 for lg_soundbar (#39213) 2020-08-25 09:32:48 +02:00
J. Nick Koston
3a7620bd08 Update sense icon mappings (#39225) 2020-08-24 21:35:48 -05:00
Paulus Schoutsen
2a1fe9d29a Add websocket trigger/condition commands (#39109) 2020-08-24 23:01:57 +02:00
Bram Kragten
d5193e64de Updated frontend to 20200824.0 (#39224) 2020-08-24 14:33:58 -05:00
J. Nick Koston
6b7a7939d2 Include the first seen context data in the logbook api (#39194)
* Include the context_entity_id in the logbook api

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

* update test

* more of them

* include friendly name

* pylint wants a ternary

* Refactor

* performance

* fix homekit context

* Fix self describing events

* Fix external_events
2020-08-24 12:44:40 -05:00
Erik Montnemery
b1c0d8fb6c Minor cleanup of MQTT ACK handling (#39217) 2020-08-24 17:28:07 +02:00
J. Nick Koston
bee6d87e7a Standardize uuid generation for events/storage/registry (#39184) 2020-08-24 17:21:30 +02:00
Bram Kragten
28332f23b3 Don't sort keys when dumping json and yaml (#39214) 2020-08-24 16:58:27 +02:00
Franck Nijhof
181709f3d2 Allow templates in data & service parameters (making data_template & service_template obsolete) (#39210) 2020-08-24 16:21:48 +02:00
Leonardo Figueiro
a47f73244c Add Wilight integration with SSDP (#36694)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-08-24 14:15:07 +02:00
Paulus Schoutsen
fefa1a7259 Add shortcuts when we know template is static (#39208)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2020-08-24 13:40:34 +02:00
Paulus Schoutsen
e61f7f0274 100% test coverage for Shelly config flow (#39209) 2020-08-24 13:39:23 +02:00
Franck Nijhof
46ab5ab38e Upgrade pre-commit to 2.7.1 (#39206) 2020-08-24 12:47:55 +02:00
Paulus Schoutsen
ca2bc9906d Add Shelly integration (#39178) 2020-08-24 12:43:31 +02:00
jjlawren
6d95ee7a00 Websocket media browsing for Plex (#35590)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2020-08-24 12:41:01 +02:00
Erik Montnemery
3df67ff9e1 Fix race when waiting for MQTT ACK (#39193) 2020-08-24 11:13:12 +02:00
Paulus Schoutsen
71acb2c665 Only reload config entry if it is loaded (#39202) 2020-08-24 10:54:26 +02:00
Franck Nijhof
e17c87ef72 Upgrade debugpy to 1.0.0rc2 (#39195) 2020-08-24 10:45:44 +02:00
Chris
7462d140af Trim CW from RGB when not supported in ozw (#39191)
* Trim the CW value if CW isn't supported

* Trim CW from white level as well
2020-08-23 19:20:37 -04:00
Ernst Klamer
2e8506de80 Add unique_id to solarlog sensors (#39186)
* Add unique_id to solarlog

Add unique_id to solarlog sensors

* Resolve suggested changes

Resolve suggested changes

* Update homeassistant/components/solarlog/sensor.py

Ok, thanks for the explanation.

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

Co-authored-by: Chris Talkington <chris@talkingtontech.com>
2020-08-23 12:58:43 -05:00
J. Nick Koston
c3ad493bb7 Report usage of extract_entities by custom components (#39185)
Block core usage usage of extract_entities

Suggest event.async_track_template_result instead.
2020-08-23 19:38:45 +02:00
On Freund
15c101e85d Add pin code support to the Risco integration (#39177)
* Pin code support for Risco

* Remove unused parameter

* Fix imports

* Fix typo

* Apply suggestions from code review

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

Co-authored-by: Chris Talkington <chris@talkingtontech.com>
2020-08-23 12:34:30 -05:00
Lukas
9e3f7ac8df Update bug report template for new Logs location (#39183)
Logs were moved from Dev Tools > Info to Configuration > Info. This was already changed in ISSUE_TEMPLATE.md but not here.
2020-08-23 18:50:12 +02:00
Paul Madden
04c1c1a279 Support Rainbow radar site in BOM camera (#39129) 2020-08-23 11:46:11 -05:00
Fabian Affolter
c86c522eb1 Upgrade py-cpuinfo to 7.0.0 (#39155) 2020-08-23 12:44:11 -04:00
Fabian Affolter
7874711936 Upgrade discogs_client to 2.3.0 (#39164)
* Upgrade discogs_client to 2.3.0

* Fix pylint issue
2020-08-23 11:41:11 -05:00
Franck Nijhof
f757e258a7 Upgrade pre-commit to 2.7.0 (#39180) 2020-08-23 12:40:51 -04:00
Fritiof Hedman
961f36c679 Add ZwaveStringSensor to OZW integration (#38676)
* Add ZwaveStringSensor to OZW integration

* Remove unnecessary new line

* Set enabled default to false for ZwaveStringSensor

* Add missing decorator for property

* Add a test for ZwaveStringSensor

* Also test state of ZWaveStringSensor

* Remove entity type check
2020-08-23 15:16:26 +02:00
J.P. Hutchins
62b1f23328 Allow multiple config entries per host for transmission (#39127)
* Allow multiple integrations per host (check port) #36605

* Add test for allow multiple config entries per host for transmission
2020-08-23 13:29:44 +02:00
Fabian Affolter
f295684c10 Upgrade TwitterAPI to 2.5.13 (#39157) 2020-08-23 12:27:53 +02:00
Fabian Affolter
1126c750e1 Upgrade colorlog to 4.2.1 (#39159) 2020-08-23 12:25:54 +02:00
Fabian Affolter
d31dea50bb Upgrade discord.py to 1.4.1 (#39150) 2020-08-23 12:11:59 +02:00
Fabian Affolter
2bf31dc5b3 Upgrade mutagen to 1.45.1 (#39166) 2020-08-23 12:08:52 +02:00
J. Nick Koston
b68c5cec94 Convert bayesian binary_sensor to use async_track_template_result (#39174)
Add coverage to reach 100% line coverage
2020-08-23 09:59:26 +02:00
J. Nick Koston
42227c1c53 Improve the performance of dt_util.utcnow() (#39145) 2020-08-23 09:57:58 +02:00
J. Nick Koston
3cc099af80 Make emulated_hue upnp responder async (#39126) 2020-08-23 09:50:59 +02:00
Chris Talkington
dfa18b4b6a Fix unmocked calls in melcloud (#39170)
* fix unmocked calls in melcloud

* Update test_config_flow.py

* Update test_config_flow.py

* Update test_config_flow.py
2020-08-22 18:31:53 -05:00
On Freund
3198233b8f Add binary sensors to Risco integration (#39137)
* Add binary sensors to Risco integration

* Minor cleanups

* RiscoEntity base class

* Platinum score

* Remove alarm parameter in _setup_risco

* Avoid zones and partitions sharing unique ids
2020-08-22 18:30:26 -05:00
Fabian Affolter
73328dab5e Upgrade psutil to 5.7.2 (#39149) 2020-08-22 18:18:05 -05:00
J. Nick Koston
9baf3ff706 Update universal media_player to use async_track_template_result (#39054)
* Update universal media_player to use async_track_template_result

* Review comments and add missing test cover
2020-08-22 18:12:53 -05:00
Fabian Affolter
2beca3e69a Upgrade jinja2 to >=2.11.2 (#39161) 2020-08-22 18:11:24 -05:00
Fabian Affolter
bd136fa79a Upgrade sqlalchemy to 1.3.19 (#39167) 2020-08-22 18:09:36 -05:00
ktownsend-personal
fa09a93cfe add zone status attribute so we can know if queued (#39133)
Before this proposed change, all of the zones related to a running program turn "on", but it's not possible to know which zone is actually running (vs. queued). Adding the mapped state values (they are the same as program status values) as an attribute will allow inspection of all 3 states.
2020-08-22 15:19:20 -06:00
Fabian Affolter
69de68c025 Upgrade slixmpp to 1.5.2 (#39169) 2020-08-22 16:31:39 -04:00
Fabian Affolter
7ca8e9077a Upgrade python-whois to 0.7.3 (#39153) 2020-08-22 14:09:00 -05:00
Fabian Affolter
a1845e9ef0 Upgrade sendgrid to 6.4.6 (#39148) 2020-08-22 14:02:12 -05:00
Fabian Affolter
1f5b948ead Upgrade connect-box to 0.2.7 (#39162) 2020-08-22 13:57:28 -05:00
Fabian Affolter
644e826ca7 Upgrade praw to 7.1.0 (#39152) 2020-08-22 14:53:01 -04:00
Fabian Affolter
41ba1dff71 Upgrade beautifulsoup4 to 4.9.1 (#39158) 2020-08-22 14:48:25 -04:00
On Freund
f075742a86 Address Kodi code review follow up (#39104)
* Code review follow up

* Update config_flow.py

* Update config_flow.py

* Update strings.json

* Update config_flow.py

* Update config_flow.py

* Update config_flow.py

* Update config_flow.py

* Update config_flow.py

* Update config_flow.py

* Update util.py

* Update test_config_flow.py

* Update config_flow.py

* Update util.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 util.py

* Update test_config_flow.py

* Update config_flow.py

* Update config_flow.py

* Update config_flow.py

* Update config_flow.py

* Update test_config_flow.py

* 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 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

Co-authored-by: Chris Talkington <chris@talkingtontech.com>
2020-08-22 13:40:12 -05:00
Franck Nijhof
3c1c6069da Fix Sentry user context and system info (#39130) 2020-08-22 19:51:39 +02:00
On Freund
cdb6161d3d Add risco options flow (#39154) 2020-08-22 12:15:03 -05:00
Fabian Affolter
4af90e41ce Upgrade pylast to 3.3.0 (#39151) 2020-08-22 12:15:30 -04:00
Fabian Affolter
e909596587 Upgrade volkszaehler to 0.1.3 (#39147) 2020-08-22 12:12:09 -04:00
Raman Gupta
55c71b5e83 Fix Vizio pylance error by using schema extend instead of dict update (#39139)
* fix pylance error by using schema extend instead of dict update

* fix bug
2020-08-22 12:09:20 -04:00
On Freund
e3ce699d75 Risco code review follow ups (#39143) 2020-08-22 15:54:12 +02:00
J. Nick Koston
45401d4308 Fix flapping recorder last run test (#39134) 2020-08-22 09:35:18 +02:00
Erik Montnemery
18047726b6 Remove ending period from cast log 2020-08-22 09:01:17 +02:00
On Freund
1b8d9f7cc4 Add Risco integration (#36930)
* Risco integration

* Fix lint errors

* Raise ConfigEntryNotReady if can't connect

* Gracefully handle shutdown

* pass session to pyrisco

* minor change to init

* Fix retries

* Add exception log

* Remove retries

* Address code review comments

* Remove log
2020-08-21 23:49:09 -05:00
J. Nick Koston
83b9c6188d Make template entities reloadable (#39075)
* Make template entities reloadable

* Address review items
2020-08-21 18:31:48 -05:00
Charles Garwood
993088d26e Add OZW network_statistics websocket command (#39124)
* Add network_statistics websocket command

* Add tests
2020-08-21 22:52:03 +02:00
Bas Nijholt
a9ffc149f8 Allow templating keys in data_template (#39008)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2020-08-21 22:42:05 +02:00
jjlawren
b0f214bd9c Bump plexapi to 4.1.0 (#39118) 2020-08-21 15:03:44 -05:00
Sean Mooney
7c117452ba Update issue template for new Logs location (#39115)
Logs were moved from Dev Tools > Info to Configuration > Info.  I updated all the other repos before when this was changed, but missed this one.
2020-08-21 14:47:29 -04:00
Graham Wetzler
32db1d1eb2 Improve tests and config flow for Smart Meter Texas (#39089)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-08-21 19:20:42 +02:00
Charles Garwood
52d949ec90 Tweak OZW Websocket Instance/Network Responses (#39107) 2020-08-21 18:48:56 +02:00
Erik Montnemery
91ba8c0ef0 Warn when casting of tts fails (#38603)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2020-08-21 17:17:36 +02:00
Erik Montnemery
ee043d8614 Wait for broker to ACK MQTT operations (#39051)
* Wait for broker to ACK MQTT operations

* Deduplicate new code

* Fix tests

* Improve test

* Don't hold PAHO lock when waiting for ACK

* Fix tests

* Add constant for ACK timeout
2020-08-21 17:00:13 +02:00
Aaron Bach
4a7c181e91 Allow Slack notifications to change username/icon on the fly (#39091)
* Allow Slack notifications to change username/icon on the fly

* Code review
2020-08-21 08:37:30 -06:00
Eric Severance
ed68b15a31 Support unknown mime type for image attachments in html email (#38682) 2020-08-21 08:37:08 -06:00
Eric Severance
f01634f75c Add wemo 'Socket' model for Homekit discovery (#38765)
Corresponds with the model WSP080 WiFi Smart Plug
https://www.belkin.com/us/p/P-WSP080/

```
[homeassistant.components.zeroconf] Discovered new device Wemo Plug 603._hap._tcp.local. {'host': '10.234.200.95', 'port': 54664, 'hostname': 'Wemo Plug 603.local.', 'type': '_hap._tcp.local.', 'name': 'Wemo Plug 603._hap._tcp.local.', 'properties': {'_raw': {'c#': b'2', 'ff': b'2', 'id': b'63:30:B3:10:BA:B1', 'md': b'Socket', 'pv': b'1.1', 's#': b'1', 'sf': b'1', 'ci': b'7', 'sh': b'AD4l7g=='}, 'c#': '2', 'ff': '2', 'id': '63:30:B3:10:BA:B1', 'md': 'Socket', 'pv': '1.1', 's#' : '1', 'sf': '1', 'ci': '7', 'sh': 'AD4l7g=='}}
```
2020-08-21 08:36:20 -06:00
Anders Melchiorsen
1ea21b7011 Clean up more netgear_lte resources on shutdown (#39065) 2020-08-21 09:23:03 -05:00
kbickar
2ec546db3d Fix for exception when checking if fan without speed is on (#39096)
* Fix for exception when checking if fan without speed is on

* Organized imports

* Space
2020-08-21 08:20:28 -06:00
Markus Bong
00b05d764d correct naming (#39102) 2020-08-21 08:17:29 -06:00
Aaron Bach
31e0ddaec5 Update Notion to use a DataUpdateCoordinator (#38978)
* Update Notion to use a DataUpdateCoordinator

* isort

* Bug
2020-08-21 08:10:12 -06:00
J. Nick Koston
6fd61be276 Update template triggers to use async_track_template_result (#39059)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-08-21 15:02:24 +02:00
J. Nick Koston
796d74886e Simplify template integration entities (#39083) 2020-08-21 14:33:53 +02:00
J. Nick Koston
5a9246468e Prevent invalid data from being passed to zeroconf (#39009) 2020-08-21 14:31:17 +02:00
J. Nick Koston
7c346c2f7c Skip the sqlite quick_check on clean restarts (#38972) 2020-08-21 14:20:46 +02:00
Paulus Schoutsen
05d54a60b0 Deprecate optional script context (#39034)
Co-authored-by: Phil Bruckner <pnbruckner@gmail.com>
2020-08-21 14:17:47 +02:00
J. Nick Koston
f560256546 Update websocket api to use async_track_template_result (#39057) 2020-08-21 14:04:29 +02:00
J. Nick Koston
7878d97588 Use SimpleQueue for recorder (#38967)
Now that python 3.7 is the minimum supported version, we can
use the more efficient SimpleQueue in the recorder as it does
not have to use threading.Lock
2020-08-21 13:54:13 +02:00
Martin Hjelmare
3cea3eb6e5 Remove dead ozw discovery code (#39098) 2020-08-21 12:44:40 +02:00
Phil Bruckner
76ead858cf Add wait_for_trigger script action (#38075)
* Add wait_for_trigger script action

* Add tests

* Change script integration to use config validator
2020-08-21 11:38:25 +02:00
On Freund
c1ed584f2d Add config flow to kodi (#38551)
* Add config flow to kodi

* Fix lint errors

* Remove entry update listener

* Create test_init.py

* Apply suggestions from code review

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

* Update __init__.py

* fix indentation

* Apply suggestions from code review

* Apply suggestions from code review

* Update tests/components/kodi/__init__.py

* Fix init test

* Fix merge

* More review changes

* Apply suggestions from code review

* Apply suggestions from code review

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

* Fix black formatting

* Fix Flake8

* Don't store CONF_ID

* Fall back to entry id

* Apply suggestions from code review

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

* Update __init__.py

* Apply suggestions from code review

* Apply suggestions from code review

Co-authored-by: Chris Talkington <chris@talkingtontech.com>
Co-authored-by: J. Nick Koston <nick@koston.org>
2020-08-20 23:16:58 -05:00
thrust15
e0e31693f5 Update DOODS name (#38997)
https://github.com/home-assistant/home-assistant.io/pull/11703
I was working on the DOODS documentation, and I noticed above PR and the comment by Frenck. So I updated the name.
2020-08-20 14:52:02 -04:00
Andrey Kupreychik
8500e3c5a8 Prefer mac for onvif device identifier (#38864) 2020-08-20 14:39:04 -04:00
Jc2k
96a1c80626 Pre-create homekit_controller device registry entries when processing entity map (#39036) 2020-08-20 19:12:36 +01:00
Bram Kragten
3182dac1eb Generate ID when not provided (#39082) 2020-08-20 14:01:35 -04:00
Bram Kragten
af6ca7a4d3 Update frontend to 20200820.0 (#39085) 2020-08-20 17:48:24 +02:00
Felipe Martins Diel
a2c1f08c8c Implement config flow in the Broadlink integration (#36914)
* Implement config flow in the Broadlink integration

* General improvements to the Broadlink config flow

* Remove unnecessary else after return

* Fix translations

* Rename device to device_entry

* Add tests for the config flow

* Improve docstrings

* Test we do not accept more than one config entry per device

* Improve helpers

* Allow empty packets

* Allow multiple config files for switches related to the same device

* Rename mock_device to mock_api

* General improvements

* Make new attempts before marking the device as unavailable

* Let the name be the template for the entity_id

* Handle OSError

* Test network unavailable in the configuration flow

* Rename lock attribute

* Update manifest.json

* Import devices from platforms

* Test import flow

* Add deprecation warnings

* General improvements

* Rename deprecate to discontinue

* Test device setup

* Add type attribute to mock api

* Test we handle an update failure at startup

* Remove BroadlinkDevice from tests

* Remove device.py from .coveragerc

* Add tests for the config flow

* Add tests for the device

* Test device registry and update listener

* Test MAC address validation

* Add tests for the device

* Extract domains and types to a helper function

* Do not patch integration details

* Add tests for the device

* Set device classes where appropriate

* Set an appropriate connection class

* Do not set device class for custom switches

* Fix tests and improve code readability

* Use RM4 to test authentication errors

* Handle BroadlinkException in the authentication
2020-08-20 17:30:41 +02:00
J. Nick Koston
eb4f667a1a Remove unused code from the template integration (#39048)
* Convert template lock to use async_track_template_result

* Convert template switch to use async_track_template_result

* Convert template fan to use async_track_template_result

* Convert template binary_sensor to use async_track_template_result

Co-Authored-By: Penny Wood <Swamp-Ig@users.noreply.github.com>

* Convert template cover to use async_track_template_result

* Convert template light to use async_track_template_result

* Convert template vacuum to use async_track_template_result

* Remove unused code from the template integration

Co-authored-by: Penny Wood <Swamp-Ig@users.noreply.github.com>
2020-08-20 09:30:56 -05:00
J. Nick Koston
5db90478f3 Convert template vacuum to use async_track_template_result (#39047)
* Convert template lock to use async_track_template_result

* Convert template switch to use async_track_template_result

* Convert template fan to use async_track_template_result

* Convert template binary_sensor to use async_track_template_result

Co-Authored-By: Penny Wood <Swamp-Ig@users.noreply.github.com>

* Convert template cover to use async_track_template_result

* Convert template light to use async_track_template_result

* Convert template vacuum to use async_track_template_result

Co-authored-by: Penny Wood <Swamp-Ig@users.noreply.github.com>
2020-08-20 09:30:31 -05:00
J. Nick Koston
b4f0485be2 Convert template light to use async_track_template_result (#39045)
* Convert template lock to use async_track_template_result

* Convert template switch to use async_track_template_result

* Convert template fan to use async_track_template_result

* Convert template binary_sensor to use async_track_template_result

Co-Authored-By: Penny Wood <Swamp-Ig@users.noreply.github.com>

* Convert template cover to use async_track_template_result

* Convert template light to use async_track_template_result

Co-authored-by: Penny Wood <Swamp-Ig@users.noreply.github.com>
2020-08-20 09:29:41 -05:00
J. Nick Koston
e861957937 Convert template cover to use async_track_template_result (#39042) 2020-08-20 09:29:19 -05:00
James Hilliard
8a9c94fd9e Fix hlk-sw16 checksum decode. (#39080) 2020-08-20 09:10:29 -05:00
J. Nick Koston
5a8013b58c Convert template binary_sensor to use async_track_template_result (#39027)
Co-Authored-By: Penny Wood <Swamp-Ig@users.noreply.github.com>

Co-authored-by: Penny Wood <Swamp-Ig@users.noreply.github.com>
2020-08-20 09:07:58 -05:00
J. Nick Koston
8813f669c2 Convert template alarm_control_panel to use async_track_template_result (#39014)
* Convert template lock to use async_track_template_result

* Convert template switch to use async_track_template_result

* Convert template fan to use async_track_template_result

* Convert template alarm_control_panel to use async_track_template_result
2020-08-20 08:54:16 -05:00
J. Nick Koston
f3d077c1e1 Convert template fan to use async_track_template_result (#38983)
* Convert template lock to use async_track_template_result

* Convert template switch to use async_track_template_result

* Convert template fan to use async_track_template_result
2020-08-20 08:53:45 -05:00
J. Nick Koston
264e340b9e Convert template switch to use async_track_template_result (#38950) 2020-08-20 08:51:27 -05:00
J. Nick Koston
d7f54ce98f Convert template lock to use async_track_template_result (#38946) 2020-08-20 08:32:52 -05:00
J. Nick Koston
1381b279f0 Update template sensor to use async_track_template_result (#38940)
* Add template entity

* Update template tracking to work for template sensors

* add test for whitespace

* Update homeassistant/helpers/config_validation.py

* revert

* fix

* reduce

* fix _refresh missing decorator

* defer until start

* do not throw errors during startup

* defer tracking until start event

Co-authored-by: Swamp-Ig <github@ninjateaparty.com>
2020-08-20 08:06:41 -05:00
Paulus Schoutsen
b7ec0d4884 Remove stale print 2020-08-20 11:41:05 +00:00
Chris Talkington
da5dc1130e Fix slower tests in sonarr (#39073) 2020-08-20 12:21:58 +02:00
Franck Nijhof
d3389fa22e Sentry integration enhancements (#38833)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2020-08-20 11:37:27 +02:00
Paulus Schoutsen
ff9a4f8754 Merge pull request #39079 from home-assistant/rc 2020-08-20 10:57:46 +02:00
Paulus Schoutsen
052df518d0 Bumped version to 0.114.3 2020-08-20 08:30:04 +00:00
Daniel Hjelseth Høyer
fb1c3f7f1c Update met.no library (#39076) 2020-08-20 08:30:01 +00:00
J. Nick Koston
c8e2af8046 Fix emulated hue on/off devices compatibility with alexa (#39063) 2020-08-20 08:30:00 +00:00
Erik Montnemery
ecb7d7b992 Bump pychromecast to 7.2.1 (#39018) 2020-08-20 08:29:59 +00:00
lawtancool
4f42165c8a Fix Control4 light setup issues (#38952)
* catch KeyError and UnboundLocalError in light setup

* add check for no dimmer info from control4

* use existence of light_level data to enable dimming

* check if light data is not in dimmer and non_dimmer

* add item_variables logging

* add await to item_variables call

* add full item dump

* remove full item list

* change logging message

* fix typo

* reduce code inside try and add all entities at once

* Apply suggestions from code review

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

* format with black

Co-authored-by: J. Nick Koston <nick@koston.org>
2020-08-20 08:29:58 +00:00
J. Nick Koston
f1f09f7156 Bump netdisco to 2.8.2 to accomodate new zeroconf exception (#38949) 2020-08-20 08:29:58 +00:00
J. Nick Koston
53e6c7f0c4 Update zeroconf to fix ServiceBrowser leak on cancelation (#38933) 2020-08-20 08:29:57 +00:00
J. Nick Koston
4371068f6a Fix emulated hue on/off devices compatibility with alexa (#39063) 2020-08-20 10:27:14 +02:00
Daniel Hjelseth Høyer
28a9793a7b Update met.no library (#39076) 2020-08-20 10:26:49 +02:00
Ivan Belokobylskiy
be0f2719e2 Upgrade to aioymaps==1.1.0 to support new types of stops #39006 (#39021) 2020-08-20 05:30:48 +02:00
uvjustin
dc2d0b9297 Add audio to stream (#38846)
* Add audio to stream component

* Use container options to do most fmp4 formatting

* Add test for treatment of different audio inputs

* Add test for treatment of different audio inputs

* pcm_mulaw frames should be s16

* Use seek to get BytesIO length

* Remove unused utcnow

* Remove peek_next_audio_pts

* only demux audio and video packets - ignoring data and subtitle streams

Co-authored-by: Jason Hunter <hunterjm@gmail.com>
2020-08-19 23:18:54 -04:00
J. Nick Koston
b0974d89a6 Ensure speedtest cancels the listener on options update (#39062) 2020-08-19 17:32:01 -07:00
Felipe Martins Diel
fec4966ee0 Clean up feedreader files at the end (#39064) 2020-08-19 16:38:34 -05:00
Graham Wetzler
bb164bb32c Smart Meter Texas integration (#37966)
* Run scaffold script

* Update version

* Bump version

* Initial commit

* Move meter and ESIID to device attributes

* Update internal to hourly due to api limit

* Format with Black

* Fix typo

* Update tests

* Update description

* Disable Pylint error

* Don't commit translations

* Remove meter number from sensor name

* Allow multiple meters per account

* Move data updates to a DataUpdateCoordinator

* Use setdefault to setup the component

* Move strings to const.py

* Fix tests

* Remove meter last updated attribute

* Bump smart-meter-texas version

* Fix logger call

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

* Remove unneeded manifest keys

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

* Remove icon property

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

* Handle instance where user already setup an account

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

* Remove icon constant

* Fix indentation

* Handle config flow errors better

* Use ESIID + meter number as unique ID for sensor

* Update config flow tests to reach 100% coverage

* Avoid reading meters on startup

Cherrypick @bdraco's suggestion

* Run scaffold script

* Update version

* Bump version

* Initial commit

* Move meter and ESIID to device attributes

* Update internal to hourly due to api limit

* Format with Black

* Fix typo

* Update tests

* Update description

* Disable Pylint error

* Don't commit translations

* Remove meter number from sensor name

* Allow multiple meters per account

* Move data updates to a DataUpdateCoordinator

* Use setdefault to setup the component

* Move strings to const.py

* Fix tests

* Remove meter last updated attribute

* Bump smart-meter-texas version

* Fix logger call

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

* Remove unneeded manifest keys

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

* Remove icon property

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

* Handle instance where user already setup an account

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

* Remove icon constant

* Fix indentation

* Handle config flow errors better

* Use ESIID + meter number as unique ID for sensor

* Update config flow tests to reach 100% coverage

* Remove unnecessary try/except block

This checks for the same exception just prior in execution on L51.

* Remove unused return values

* Add tests

* Improve tests and coverage

* Use more pythonic control flow

* Remove all uses of hass.data

Co-authored-by: J. Nick Koston <nick@koston.org>
2020-08-19 13:16:45 -05:00
lawtancool
e626937147 Fix Control4 light setup issues (#38952)
* catch KeyError and UnboundLocalError in light setup

* add check for no dimmer info from control4

* use existence of light_level data to enable dimming

* check if light data is not in dimmer and non_dimmer

* add item_variables logging

* add await to item_variables call

* add full item dump

* remove full item list

* change logging message

* fix typo

* reduce code inside try and add all entities at once

* Apply suggestions from code review

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

* format with black

Co-authored-by: J. Nick Koston <nick@koston.org>
2020-08-19 14:05:02 -04:00
Franck Nijhof
bdc5af8dd2 Add support for attributes in (numeric) state conditions (#39050) 2020-08-19 20:01:27 +02:00
Bram Kragten
5f10c55303 Fix ws create tags (#39043) 2020-08-19 10:36:32 -04:00
Charles Garwood
96035ccd6f Add websocket command to get a list of OZW instances and their status (#39019)
* Add websocket command to get a list of OZW instances and their status

* Add test

* Review comments
2020-08-19 09:37:04 -04:00
Paulus Schoutsen
3dc79aa60a Track entity sources (#37258)
Co-authored-by: David Mulcahey <david.mulcahey@me.com>
2020-08-19 14:57:38 +02:00
Paulus Schoutsen
24a16ff8fe Add image integration (#38969) 2020-08-19 11:33:04 +02:00
Brian Rogers
111c2006c8 Add Rachio zone moisture service (#38817)
* Add zone moisture percent service

* Fix tests

* Add flex const

* Add fixed constant
2020-08-18 21:51:24 -05:00
Tomasz
81b4c6956b Make ping binary_sensor update async (#35301)
* async_update

* isort and pylint

* @shenxn suggestions

Co-authored-by: Xiaonan Shen <s@sxn.dev>

* async_update

* store the command from the beginning

* command as string

* f-string instead of str.format

* create_subprocess_shell > create_subprocess_exec
more logs

* isort

* types

* use asyncio.wait_for

* Update homeassistant/components/ping/binary_sensor.py

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

* @bdraco review changes

* Update homeassistant/components/ping/binary_sensor.py

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

Co-authored-by: Xiaonan Shen <s@sxn.dev>
Co-authored-by: J. Nick Koston <nick@koston.org>
2020-08-18 17:25:50 -05:00
Erik Montnemery
14a3599c47 Bump pychromecast to 7.2.1 (#39018) 2020-08-18 23:43:38 +02:00
Franck Nijhof
475e70986b Extend IP ban / failed login notification information (#39020) 2020-08-18 23:32:19 +02:00
Anders Melchiorsen
d4f1fd7396 Improve time_pattern validation schema (#38982) 2020-08-18 21:10:43 +02:00
kbickar
1505343b4b Update emulated_hue to allow getting bridge config without username (#38986)
* Allow bridge config without username

* Updated emulated_hue tests

* Test cleanup
2020-08-18 14:02:38 -05:00
David F. Mulcahey
1af6c04111 Add triggers for the Tag component (#39004) 2020-08-18 16:22:53 +02:00
Farid
3c876c4fe1 Bump pysuez to 0.1.19 (#38998) 2020-08-18 15:23:14 +02:00
Phil Bruckner
5d73714f5a Fix time trigger test (#38988)
* Fix time trigger test

* Forgot part of fix
2020-08-18 07:37:04 -05:00
dependabot[bot]
d2469e4159 Bump codecov/codecov-action from v1.0.12 to v1.0.13 (#38991)
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from v1.0.12 to v1.0.13.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Commits](https://github.com/codecov/codecov-action/compare/v1.0.12...6004246f47ab62d32be025ce173b241cd84ac58e)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-08-18 10:47:08 +02:00
Erik Montnemery
af9ae2e0a4 Allow empty cast media_player config (#38971) 2020-08-18 08:04:32 +02:00
Charles Garwood
e9f32617cc Bump python-openzwave-mqtt to 1.0.5 (#38984) 2020-08-18 07:21:30 +02:00
J. Nick Koston
9feae62f93 Update zeroconf to fix ServiceBrowser leak on cancelation (#38933) 2020-08-17 15:52:54 -05:00
Erik Montnemery
7198a5647d Make check-executables-have-shebangs manual (#38980) 2020-08-17 22:50:00 +02:00
endor
bf643b63ad Add wind max speed to trafikverket_weatherstation (#38929)
* Add wind max speed to trafikverket_weatherstation

* Update CODEOWNERS
2020-08-17 15:39:00 -04:00
Ville Skyttä
802c556e82 State and service related type hint improvements (#38956)
* Improve type hint of service_func to register

* Add named type for state values

* Narrow some unnecessarily broad state type hints
2020-08-17 15:02:43 -04:00
Thomas Delaet
4ea587804e update python-velbus to 2.0.44 (#38966)
The only change is in python-velbus 2.0.44 is a more flexible way to import dependency pyserial as asked for by @MartinHjelmare
2020-08-17 15:01:21 -04:00
Phil Bruckner
ca9dd0c833 Reorganize trigger code (#38655) 2020-08-17 11:54:56 -05:00
Paulus Schoutsen
740209a81d Merge pull request #38964 from home-assistant/rc 2020-08-17 12:43:35 +02:00
Paulus Schoutsen
3d66065fe6 Bumped version to 0.114.2 2020-08-17 09:29:00 +00:00
J. Nick Koston
68c83ea629 Accommodate systems with very large databases and slow disk/cpu (#38947)
On startup we run an sqlite3 quick_check to verify the database
integrity. In the majority of cases, the quick_check takes under
10 seconds.

On systems with very large databases and very slow disk/cpu,
this can take much longer so we freeze the timeout.
2020-08-17 09:28:20 +00:00
pbalogh77
7fb879f191 Fix HC3 compatibility further (#38931)
* Update __init__.py

Further fixes for HC3 compatibility.

* Update homeassistant/components/fibaro/__init__.py

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

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-08-17 09:28:19 +00:00
cgtobi
79924fcc7a Fix Netatmo climate boost/heat event handling (#38923)
* Fix boost event handling

* Replace strings with vars
2020-08-17 09:28:18 +00:00
Oncleben31
5fa14aae7d Fix error in meteo_france for overseas France cities (#38895) 2020-08-17 09:28:18 +00:00
automaton82
588fb283cc Fix the CONF_LOOP check to use the config (#38890) 2020-08-17 09:28:17 +00:00
Martin Hjelmare
48267c2705 Fix ozw pure rgb dimmer light (#38877)
* Fix ozw pure rgb light

* Add test
2020-08-17 09:28:16 +00:00
escoand
9ee6ae8f94 Better timeout handling in samsungtv integration (#38759)
* handle PlatformNotReady

* set timeout in bridge

* set timeout in test

* Revert "handle PlatformNotReady"

This reverts commit 118ee06ba0.
2020-08-17 09:28:15 +00:00
tizzen33
431fe5950c Fix 'Not Available' message for Onkyo integration (#38554) 2020-08-17 09:28:14 +00:00
Ville Skyttä
fca071742d Install ffmpeg on Travis CI for homekit camera tests (#38955)
INFO:homeassistant.setup:Setting up ffmpeg
DEBUG:haffmpeg.core:Start FFmpeg with ['ffmpeg', '-version', '']
ERROR:haffmpeg.core:FFmpeg fails [Errno 2] No such file or directory: 'ffmpeg': 'ffmpeg'
2020-08-17 09:50:21 +02:00
J. Nick Koston
ab2b2f6dd5 Accommodate systems with very large databases and slow disk/cpu (#38947)
On startup we run an sqlite3 quick_check to verify the database
integrity. In the majority of cases, the quick_check takes under
10 seconds.

On systems with very large databases and very slow disk/cpu,
this can take much longer so we freeze the timeout.
2020-08-17 09:47:50 +02:00
Kit Klein
8d8c1335c5 Fix Konnected pro options (#38848) 2020-08-17 09:47:21 +02:00
J. Nick Koston
49edd91f4e Bump netdisco to 2.8.2 to accomodate new zeroconf exception (#38949) 2020-08-17 09:46:30 +02:00
cgtobi
afa2d268f2 Improve Netatmo sensor naming (#38957) 2020-08-17 09:39:09 +02:00
pbalogh77
5a4de04bcf Fix HC3 compatibility further (#38931)
* Update __init__.py

Further fixes for HC3 compatibility.

* Update homeassistant/components/fibaro/__init__.py

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

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-08-17 08:19:34 +02:00
Aaron Bach
7071f3a966 Remove deprecated YAML config from OpenUV (#38857) 2020-08-16 19:57:10 -06:00
tizzen33
061d88f875 Fix 'Not Available' message for Onkyo integration (#38554) 2020-08-17 00:06:22 +02:00
Kit Klein
a6236886e4 Set up konnected entities even if panel isn't immediately reachable (#38879) 2020-08-17 00:05:11 +02:00
J. Nick Koston
472b12bef5 Update TrackTemplateResultInfo to remove side effects from init (#38934)
* Verify and case

* Review comments

* Update homeassistant/helpers/event.py

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

* Update homeassistant/helpers/event.py

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

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-08-16 11:16:28 -05:00
automaton82
66a5f24d4a Fix the CONF_LOOP check to use the config (#38890) 2020-08-16 16:28:40 +02:00
Ville Skyttä
3c0f766933 Huawei LTE device registry improvements (#38925)
* Fix getting software version in unauthenticated mode

* Add serial number device identifier if available
2020-08-16 13:38:12 +02:00
cgtobi
decf3d320b Fix Netatmo climate boost/heat event handling (#38923)
* Fix boost event handling

* Replace strings with vars
2020-08-16 12:18:58 +02:00
Dennis Gilmore
71a03c8ca5 bump the version of openevsewifi to latest upstream 1.1.0 (#38892)
The latest version of openevsewifi fixes some of the outstanding issues
with the component.

Signed-off-by: Dennis Gilmore <dennis@ausil.us>
2020-08-15 23:14:15 -05:00
Chris Talkington
037668ed80 Fix log message format in daikin (#38920) 2020-08-16 03:45:34 +02:00
J. Nick Koston
7d0e356560 Add track_template_result method to events (#38802)
* Merge original changes from #23590

* guard

* adjust

* adjust

* adjust

* Update async_render_to_info for recent codebase changes

* no more protected access

* do not fire right away per review comments

* update test to not fire right away

* closer

* rework tests for non firing first

* augment coverage

* remove cruft

* test for complex listen add/remove

* update docs to match review feedback to not fire right away

* preserve existing behavior

* fix test

* Ensure listeners are cleaned up

* de-dupe and comment

* de-dupe and comment

* coverage

* test to login again if we go from exception to ok to exception

* Update homeassistant/core.py

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

* Update homeassistant/helpers/event.py

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

* rename _boolean_coerce to result_as_boolean and move it out of event

* additional coverage

* Add more tests (may still be able to trim this down)

Co-authored-by: Swamp-Ig <github@ninjateaparty.com>
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-08-15 19:53:03 -05:00
Martin Hjelmare
0f1e70ca79 Fix ozw pure rgb dimmer light (#38877)
* Fix ozw pure rgb light

* Add test
2020-08-15 14:41:30 -04:00
escoand
9c6b019ca9 Better timeout handling in samsungtv integration (#38759)
* handle PlatformNotReady

* set timeout in bridge

* set timeout in test

* Revert "handle PlatformNotReady"

This reverts commit 118ee06ba0.
2020-08-15 20:25:37 +02:00
indykoning
92adb5d58a Add new growatt_server device class constants (#38906) 2020-08-15 18:04:49 +02:00
Franck Nijhof
755761867d Use current request context in OAuth redirect (#38692) 2020-08-15 15:26:54 +02:00
Jc2k
a1dfa8ebc6 Bump aiohomekit to 0.2.47 (#38901) 2020-08-15 08:19:07 -05:00
Oncleben31
1544b8cea7 Fix error in meteo_france for overseas France cities (#38895) 2020-08-15 11:54:42 +02:00
Paulus Schoutsen
e8b7ddc966 Merge pull request #38894 from home-assistant/rc 2020-08-15 07:35:34 +02:00
Paulus Schoutsen
2485aa772c Bumped version to 0.114.1 2020-08-15 05:17:31 +00:00
J. Nick Koston
10525c7aa7 Adjust slow add entities timeouts to handle slowest known case (#38876)
With this change, we should still be able to startup
in under 10 minutes if something really goes wrong.

The testing done in #38661 was used to determine
these values.
2020-08-15 05:17:13 +00:00
Aidan Timson
0c83156ba4 Update ovoenergy package to v1.1.7 (#38875) 2020-08-15 05:17:12 +00:00
J. Nick Koston
0d4331829c Ensure service browser does not collapse on bad dns names (#38851)
If a device on the network presented a bad name, zeroconf
would throw zeroconf.BadTypeInNameException and the service
browser would die off.  We now trap the exception and continue.
2020-08-15 05:16:49 +00:00
Chris
276874c414 Fix ozw dimming transition (#38850)
* Handle float from light component

* Test with float

Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2020-08-15 05:14:43 +00:00
Aidan Timson
ca5368f01f Fix OVO Energy Sensors (#38849) 2020-08-15 05:14:43 +00:00
Eric Severance
d4a7cefa8d Bump pywemo to 0.4.46 (#38845) 2020-08-15 05:14:42 +00:00
RogerSelwyn
473d0af85d Fix creation of unrequired sensors in OVO energy (#38835) 2020-08-15 05:14:41 +00:00
J. Nick Koston
eb16ca847a Make executor max_workers consistent between python versions (#38821)
The default on python 3.8 is for max_workers is significantly
lower than the default on python 3.7 which means we can get starved
for workers.

To determine a reasonable maximum, the maximum was increased to large
number on 5 production instances.

The number of worker threads created during startup that were
needed to avoid waiting for a thread:

  HOU 1 - 71
  HOU 2 - 48
  OGG 1 - 60
  OGG 2 - 68
  OGG 3 - 64

This lead to a selection of 64 as it was reliable in all cases
and did not have a significant memory impact
2020-08-15 05:14:40 +00:00
Aaron Bach
8feb382ae5 Handle unhandled exceptions related to unavailable SimpliSafe features (#38812) 2020-08-15 05:14:39 +00:00
Paulus Schoutsen
18eeda0e03 Catch upnp timeout error (#38794) 2020-08-15 05:14:39 +00:00
Quentame
caf5020bac Update meteo_france based on code review (#38789)
* Review: if not to pop

* Review: async_add_job --> async_add_executor_job

* Review: const

* Review: start logging messages with capital letter

* Review : UTC isoformated time --> fix "Invalid date""

* Fix hail forecast condition

* Review: _show_setup_form is a callback

* Fix update option

* Review: no icon for next_rain

* Review: inline cities form

* Review: store places as an instance attribute

* UNDO_UPDATE_LISTENER()
2020-08-15 05:14:38 +00:00
J. Nick Koston
af5cb948a0 Adjust slow add entities timeouts to handle slowest known case (#38876)
With this change, we should still be able to startup
in under 10 minutes if something really goes wrong.

The testing done in #38661 was used to determine
these values.
2020-08-15 07:14:02 +02:00
Fredrik Erlandsson
68047f7c1a Handle missing MAC address during daikin discovery (#38840)
* Abort flow if MAC-address can't be found

* Apply suggestions from code review

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

Co-authored-by: Chris Talkington <chris@talkingtontech.com>
2020-08-14 20:11:12 -05:00
Chris Caron
70c028458f Bump apprise to 0.8.7 (#38886) 2020-08-14 20:04:36 -05:00
indykoning
b7275de837 Get more detailed info for growatt_server (#38852)
* Get more detailed info including inverter temperature

* Bump version to 0.1.1
2020-08-14 19:54:10 -05:00
Aidan Timson
4bfcfb0017 Update ovoenergy package to v1.1.7 (#38875) 2020-08-14 18:55:56 +02:00
J. Nick Koston
483d09b9c1 Adjust homekit controller pairing to have a new step for each potentially recoverable error (#38742)
* Adjust homekit controller pairing errors back to a single step

* adjust test

* Revert "Adjust homekit controller pairing errors back to a single step"

This reverts commit e5ed89bbbb.

* Revert "adjust test"

This reverts commit c2e9f21a8401c144315260f6fdf71ea8060f8ca3.

* adjust

* prune

* prune

* merge

* Update tests

* remove debug

* adjust

* Multiple steps

* adjust the test
2020-08-14 10:34:52 -05:00
Martin Hjelmare
4ecdb1f19f Fix PR link in PR template (#38871) 2020-08-14 09:11:41 -04:00
Quentame
e0c0d3b53f Update meteo_france based on code review (#38789)
* Review: if not to pop

* Review: async_add_job --> async_add_executor_job

* Review: const

* Review: start logging messages with capital letter

* Review : UTC isoformated time --> fix "Invalid date""

* Fix hail forecast condition

* Review: _show_setup_form is a callback

* Fix update option

* Review: no icon for next_rain

* Review: inline cities form

* Review: store places as an instance attribute

* UNDO_UPDATE_LISTENER()
2020-08-14 09:10:13 -04:00
Erik J. Olson
91ead3be50 Add Slack url icon support (#38814)
* Add support for slack bot icons via URL

* Removed as_user property from message send

* Use f-strings rather than concatenation

* Don't span lines with complex expression
2020-08-14 09:07:04 -04:00
Chris
5c9f29c43a Fix ozw dimming transition (#38850)
* Handle float from light component

* Test with float

Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2020-08-14 08:35:42 -04:00
Aidan Timson
47d1920f8a Fix OVO Energy Sensors (#38849) 2020-08-14 14:06:31 +02:00
Martin Hjelmare
f4f614a0bc Add sympathy review check box to PR template (#38867)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2020-08-14 14:03:39 +02:00
Paulus Schoutsen
2bc533d0cb Fix logger name (#38866) 2020-08-14 13:27:11 +02:00
Martin Hjelmare
23510e6839 Disable env_canada pylint import error (#38868)
* Disable env_canada pylint import error

* Disable pylint in camera and sensor too
2020-08-14 11:15:45 +02:00
J. Nick Koston
49478298cc Ensure service browser does not collapse on bad dns names (#38851)
If a device on the network presented a bad name, zeroconf
would throw zeroconf.BadTypeInNameException and the service
browser would die off.  We now trap the exception and continue.
2020-08-13 22:00:39 -05:00
Eric Severance
2f955ccfd7 Bump pywemo to 0.4.46 (#38845) 2020-08-13 21:00:55 -05:00
Quentame
f26a49eca5 Fix Freebox unsub dispatcher (#38842) 2020-08-13 20:56:06 -05:00
Niels Mündler
fceba0bb88 Bump pysyncthru to 0.7.0 (#38832)
* Bump pysyncthru version to 0.7.0

This change includes a heavier refactoring, using a more reliable source for the device status and parsing display strings only for additional details

* Fix test flow to ensure a status is set
2020-08-13 20:48:26 -05:00
cgtobi
72472cd11f Remove superfluous netatmo icons (#38859) 2020-08-13 20:39:17 -05:00
J. Nick Koston
ee64aafc39 Fix iqvia test patching the wrong integration (#38847) 2020-08-13 11:47:18 -05:00
Charles Garwood
18833d342e Fix typo in media_player docstring (#38843) 2020-08-13 10:16:28 -04:00
David F. Mulcahey
ca5e752514 Add switch support to the Flo integration (#38268)
* Add switch domain to Flo integration

* lint

* updates post rebase

* fix after rebase

* remove device state attrs

* oops

* stale name and docstring
2020-08-13 07:52:30 -04:00
Marcio Granzotto Rodrigues
52a9921ed3 Nightscout PR fixes (#38737)
* Don't allow duplicate nightscout configs

* Fix nightscout translations

* Remove unnecessary should_poll method

* Remove SVG attribute, as it was duplicating the state

* Use aiohttp client session from HA

* Move validate_input outside the config class

* Use the entry unique_id on the sensor

* Move create entity logic

* Handle unexpected exception on Nightscout config
2020-08-13 07:46:07 -04:00
David F. Mulcahey
86aa758ecd Add binary sensor support to the Flo integration (#38267)
* update device

* add binary sensor

* updates post rebase

* fix entity type post rebase

* fix post rebase

* fix add entities

* fix name

* review comments
2020-08-13 07:26:47 -04:00
Paulus Schoutsen
03676693ce Catch upnp timeout error (#38794) 2020-08-13 12:11:58 +02:00
RogerSelwyn
1f3b9bc70c Fix creation of unrequired sensors in OVO energy (#38835) 2020-08-13 11:47:32 +02:00
Paulus Schoutsen
7343649c54 Convert Channels platform services to use platform register (#38827) 2020-08-13 11:08:59 +02:00
Paulus Schoutsen
b3571602bb Add default_* to device registry (#38829) 2020-08-13 10:38:56 +02:00
J. Nick Koston
a6cec21c43 Make executor max_workers consistent between python versions (#38821)
The default on python 3.8 is for max_workers is significantly
lower than the default on python 3.7 which means we can get starved
for workers.

To determine a reasonable maximum, the maximum was increased to large
number on 5 production instances.

The number of worker threads created during startup that were
needed to avoid waiting for a thread:

  HOU 1 - 71
  HOU 2 - 48
  OGG 1 - 60
  OGG 2 - 68
  OGG 3 - 64

This lead to a selection of 64 as it was reliable in all cases
and did not have a significant memory impact
2020-08-13 10:12:18 +02:00
cgtobi
3957337b9f Cleanup Netatmo sensors (#38627) 2020-08-13 09:36:47 +02:00
sean tearney
9244bf28ef Add Agent DVR Alarm Control Panel (#36468)
* Add Agent DVR Alarm Control Panel

* code review

* remove return statement
2020-08-13 07:28:06 +02:00
Chris Talkington
851c20aeb2 Update rokuecp to 0.6.0 (#38819)
* update rokuecp to 0.6.0

* Update requirements_all.txt

* Update requirements_test_all.txt
2020-08-12 21:41:29 -04:00
Chris Talkington
4d50a20500 Update pyipp to 0.11.0 (#38820)
* update pyipp to 0.11.0

* Update requirements_all.txt

* Update requirements_test_all.txt
2020-08-12 21:40:32 -04:00
Kit Klein
40f31faa10 update to use latest konnected py module (#38803) 2020-08-13 00:37:18 +02:00
Aaron Bach
9e21fb6b52 Handle unhandled exceptions related to unavailable SimpliSafe features (#38812) 2020-08-12 15:21:17 -06:00
Ville Skyttä
991bf126d4 Helpers type hint improvements (#38522) 2020-08-12 23:01:10 +02:00
Joakim Plate
15db2225da async_get_instance was not reentrant during await (#38263) 2020-08-12 22:35:24 +02:00
Charles Garwood
8cf0a01149 Add refresh_node_info command to OZW websocket api (#38573)
* Add ozw refresh_node_info websocket api

* Remove extra unsubs definition

* Remove unused bits from refresh_node_info websocket

* Add tests

* Add unsubscribe test

* Wait for response in unsubscribe test
2020-08-12 15:49:40 -04:00
Phil Bruckner
580e229cf2 Create variable with result of wait_template and accept template for timeout option (#38634) 2020-08-12 13:42:06 -05:00
J. Nick Koston
45526f4e8a Add async_track_state_added_domain for tracking when states are added to a domain (#38776)
* Fire event_state_added when a state is added after start

* async_track_state_added_domain

* test

* naming

* coverage
2020-08-12 13:30:40 -05:00
Phil Bruckner
716fa63e73 Update script helper constructor parameters (#38763)
Add domain and make it and name required.

Add optional running_description.
2020-08-12 11:39:05 -05:00
Raman Gupta
fbf44b37a9 Simplify vizio unique ID check since only IP and device class are needed (#37692) 2020-08-12 16:50:36 +02:00
J. Nick Koston
444df4a7d2 Use the shared zeroconf instance when attempting to create another Zeroconf instance (#38744) 2020-08-12 16:08:33 +02:00
Eric Severance
34cb12d3c9 Addressing feedback from #37711 (#38781) 2020-08-12 09:34:27 -04:00
Ziv
d058802325 Add dynalite level preset (#37533)
* implementation of "level" in preset

* updated library version - bug fix for covers during init with active=on

* cleanup after merge
2020-08-12 09:18:26 -04:00
Martin Hjelmare
7949357180 Unsubscribe ozw listeners (#38787) 2020-08-12 15:17:21 +02:00
Greg Dowling
e9b50706a9 Add roon media player integration (#37553)
* Import roon code.

* Fix flake8/pylint issues.

* Fix lint issues, extend timeout, change contact infomation.

* Add new files to .coveragerc

* Make file executable.

* Fix problem with integration not working after initial creation.

* Improve logic unavailable players by caching data.

* Review changes

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

* Review changes

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

* Review changes

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

* Review changes

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

* Review changes

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

* Review changes

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

* Review changes

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

* Review changes

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

* Review changes

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

* Review changes

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

* Update review suggestions

* Rremove custom play action script.

* Add test requirements.

* Tidy manifest.

* Missed fixes.

* Refactor config_flow to use current pattern.

* Add config_flow tests.

* Refactor to use signal dispatch helpers.

* Remove ToDo: for now.

* Remove remaining zone / source logic for initial release,

* Stop authenticate blocking, handle timeout.

* Removed unneeded code.

* Review comments update.

* Fix comment.

* Apply suggestions from code review

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

* Apply suggestions from code review

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

* Fix bug in seek.

* Use sync rather than async update

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

* Upgrade library, remove exception now caught in library,

* Review comments.

* Review changes

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

* Check for duplicate host before adding.

* Review comment.

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

* Remove unused code, revise turn_on/turn_off.

* Sync translations.

* Make interim timeout const.

* Refactor tests.

* Add tests with an existing config entry.

* Apply suggestions from code review

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

* Remove CannotConnect

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-08-12 09:09:47 -04:00
Franck Nijhof
8eb6f29c53 Merge pull request #38785 from home-assistant/rc 2020-08-12 12:52:23 +02:00
Franck Nijhof
e3f10f977b Bumped version to 0.114.0 2020-08-12 10:58:46 +02:00
Alexei Chetroi
f33d120ebf Bump up ZHA dependencies (#38775) 2020-08-12 10:58:14 +02:00
Franck Nijhof
c0730a519a Fix lastest version in updater for Supervisor enabled installs (#38773)
* Fix lastest version in update for Supervisor enabled installs

* Fix updater tests
2020-08-12 10:58:09 +02:00
David F. Mulcahey
e60e82c424 Bump ZHA quirks lib to 0.0.43 (#38762) 2020-08-12 10:58:04 +02:00
Joakim Sørensen
7722bb05bc Bump frontend to 20200811.0 (#38760) 2020-08-12 10:58:00 +02:00
etheralm
d1e6fce652 Bump dyson upstream library version (#38756) 2020-08-12 10:57:57 +02:00
J. Nick Koston
eada72e2e1 Install a threading.excepthook on python 3.8 and later (#38741)
Exceptions in threads were being silently discarded and never
logged as the new in python 3.8 threading.excepthook was not
being set.
2020-08-12 10:57:53 +02:00
David F. Mulcahey
48617534e9 Make default duration 1/10th of a second for ZHA light calls (#38739)
* default duration to 1/10th of a second
* update test
2020-08-12 10:57:50 +02:00
Andrew Sayre
6717e67352 Bump pysmartthings 0.7.3 (#38732) 2020-08-12 10:57:46 +02:00
Pascal Vizeli
57e99af9ec Add scikit-build to installed env (#38726) 2020-08-12 10:57:43 +02:00
Paulus Schoutsen
db646141c6 Add scan_tag webhook to mobile app (#38721) 2020-08-12 10:57:39 +02:00
cgtobi
f286992b10 Remove Netatmo HomeKit discovery method (#38770) 2020-08-12 08:41:11 +02:00
dependabot[bot]
7ac38557e6 Bump actions/upload-artifact from v2.1.3 to v2.1.4 (#38779)
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from v2.1.3 to v2.1.4.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/v2.1.3...58740802ef971a2d71eff71e63d48ab68d1f5507)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-08-12 08:30:13 +02:00
dependabot[bot]
4833cf4e4a Bump actions/setup-python from v2.1.1 to v2.1.2 (#38780)
Bumps [actions/setup-python](https://github.com/actions/setup-python) from v2.1.1 to v2.1.2.
- [Release notes](https://github.com/actions/setup-python/releases)
- [Commits](https://github.com/actions/setup-python/compare/v2.1.1...24156c231c5e9d581bde27d0cdbb72715060ea51)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-08-12 08:29:52 +02:00
Franck Nijhof
5f95b5caaf Fix lastest version in updater for Supervisor enabled installs (#38773)
* Fix lastest version in update for Supervisor enabled installs

* Fix updater tests
2020-08-12 08:00:38 +02:00
Jeff Irion
540d0e5428 Bump androidtv to 0.0.49 (#38778) 2020-08-11 22:27:16 -05:00
Alexei Chetroi
b242b46888 Bump up ZHA dependencies (#38775) 2020-08-11 20:41:49 -04:00
Tom Harris
b1fd931cdc Add config flow to insteon component (#36467)
* Squashed

* Fix requirements_all

* Update homeassistant/components/insteon/__init__.py

Only update options if the result is to create the entry.

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

* Update homeassistant/components/insteon/__init__.py

No return value needed.

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

* Ref RESULT_TYPE_CREATE_ENTRY correctly

* Return result back to import config process

* Make DOMAIN ref more clear

Co-authored-by: J. Nick Koston <nick@koston.org>
2020-08-11 18:04:44 -05:00
cgtobi
6bdb2f3d11 Cleanup Netatmo code (#38772)
* Clean up const

* Clean up data handler
2020-08-12 00:23:51 +02:00
Eric Severance
49b375ff94 Allow ONVIF devices to resume a PullPoint subscription when the camera reboots (#37711) 2020-08-11 17:53:30 -04:00
Eric Severance
4d1ef02802 Stream clients operate on a copy of the intnernal self._outputs dict (#38766) 2020-08-11 17:20:43 -04:00
uvjustin
5355fcaba8 Add H.265 support to stream component (#38125)
* Add H.265 support to stream component

* Change find_box to generator

* Move fmp4 utilities to fmp4utils.py

* Add minimum segments and segment durations

* Remove MIN_SEGMENTS

* Fix when container_options is None

* Fix missing num_segments and update tests

* Remove unnecessary mock attribute

* Fix Segment construction in test_recorder_save

* fix recorder with lookback

Co-authored-by: Jason Hunter <hunterjm@gmail.com>
2020-08-11 17:12:41 -04:00
Franck Nijhof
d0a59e28ac Revert "Add energy device class to Toon sensors" (#38768)
This reverts commit dd86de3255.
2020-08-11 23:03:56 +02:00
Eric Severance
61a911af41 Adapt the ONVIF Renewal termination_time for Amcrest cameras (#37750) 2020-08-11 16:59:26 -04:00
Franck Nijhof
cc4ebc925c Improve X-Forwarded-* request headers handling (#38696)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
Co-authored-by: Franck Nijhof <git@frenck.dev>
Co-authored-by: Pascal Vizeli <pvizeli@syshack.ch>
2020-08-11 22:57:50 +02:00
Erik Montnemery
4fa346278c Enable PAHO MQTT client logging (#38767) 2020-08-11 22:54:41 +02:00
Phil Bruckner
192fe58fc8 Time trigger can also accept an input_datetime Entity ID (#38698) 2020-08-11 15:16:28 -05:00
Franck Nijhof
dd86de3255 Add energy device class to Toon sensors (#38686) 2020-08-11 13:42:10 -04:00
Vitalii Martyniak
96bcbb43c4 Add power sensor for Aqara Wall Plug (#38672) 2020-08-11 13:38:45 -04:00
Ziv
6a8378bec0 Add Dynalite service to request the channel level (#38735)
* added service to request the channel level

* cleanup

* Update homeassistant/components/dynalite/__init__.py

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

* Update homeassistant/components/dynalite/__init__.py

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

* Update services.yaml

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-08-11 18:33:16 +02:00
Paulus Schoutsen
f31a580caf Speed up OZW availability check (#38758)
* Speed up OZW availability check

* Apply suggestions from code review

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

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-08-11 18:23:10 +02:00
stephan192
016cd8f8ef Move DwdWeatherWarningsAPI to a library hosted on PyPI (#34820)
* Move DwdWeatherWarningsAPI to a library hosted on PyPI
PyPI library uses new DWD WFS API
WFS API allows a more detailed query with reduced data sent as return
Change CONF_REGION_NAME from Optional to Required because it was never really optional
Set attribute region_state to "N/A" because it is not available via the new API
Add attributes warning_i_parameters and warning_i_color

* Use constants instead of raw strings
Streamline methods state and device_state_attributes

* Wrap api, use UTC time

* Update homeassistant/components/dwd_weather_warnings/sensor.py

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

* Update homeassistant/components/dwd_weather_warnings/manifest.json

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

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-08-11 17:55:50 +02:00
David F. Mulcahey
5802d65ef7 Bump ZHA quirks lib to 0.0.43 (#38762) 2020-08-11 11:14:02 -04:00
Brian Rogers
52b80a08c9 Bump Rachiopy version to 0.1.4 (#38761) 2020-08-11 16:40:18 +02:00
Joakim Sørensen
3fc2bae49e Bump frontend to 20200811.0 (#38760) 2020-08-11 15:45:07 +02:00
Paulus Schoutsen
d1780b8d7e Mobile App integration to use tag integration (#38757) 2020-08-11 14:23:47 +02:00
etheralm
1d9a469f84 Bump dyson upstream library version (#38756) 2020-08-11 14:19:10 +02:00
David F. Mulcahey
6a24667944 Update Flo config flow and associated tests (#38722) 2020-08-11 14:13:40 +02:00
David F. Mulcahey
227d7c0a99 [RFC] Add Tag integration (#38727)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-08-11 11:08:47 +02:00
Yehuda Davis
bd3f075060 Add Ecobee services (#38749)
Enable/disable automatic daylight savings time
Enable/disable the Alexa mic on the Ecobee 4
Enable/disable Smart Home/Away and follow me modes
2020-08-11 10:31:38 +02:00
Eliseo Martelli
9bc68b9a73 Remove prezzibenzina integration (ADR-0004) (#38736) 2020-08-11 10:17:34 +02:00
J. Nick Koston
0d51d8660e Install a threading.excepthook on python 3.8 and later (#38741)
Exceptions in threads were being silently discarded and never
logged as the new in python 3.8 threading.excepthook was not
being set.
2020-08-11 09:45:36 +02:00
Diogo Gomes
39843319e2 Update IPMA weather component (#38697)
* long overdue mismatch

* missing updated tests
2020-08-10 21:55:44 -05:00
Vaclav
8555e17eb9 Add hourly forecast to met.no (#38700)
* Add hourly forecast

* fix tests to assert for 2 entities created

* fix test to assert for 4 calls

* correct test tracking home number of calls

* fox tests

* fix test

* Apply suggestions from code review

* black

Co-authored-by: Chris Talkington <chris@talkingtontech.com>
2020-08-10 20:22:39 -05:00
David F. Mulcahey
844b3f8d23 Make default duration 1/10th of a second for ZHA light calls (#38739)
* default duration to 1/10th of a second
* update test
2020-08-10 17:40:07 -04:00
Chris Talkington
cf72ade093 Add URL as common string (#38694)
* add URL as common string

* Update strings.json
2020-08-10 22:51:37 +02:00
Andrew Sayre
bbda1272c2 Bump pysmartthings 0.7.3 (#38732) 2020-08-10 22:32:00 +02:00
Franck Nijhof
ea65eb270f Ignore requirements for env_canada (#38731) 2020-08-10 18:00:02 +02:00
Paulus Schoutsen
52729e9dc8 Add scan_tag webhook to mobile app (#38721) 2020-08-10 17:54:46 +02:00
Franck Nijhof
3d0ea42ac0 Add current device class to WLED current sensor (#38687) 2020-08-10 17:50:03 +02:00
Pascal Vizeli
c6105580bf Add scikit-build to installed env (#38726) 2020-08-10 16:34:52 +02:00
Ziv
ff539f3f05 Add Dynalite current preset service (#38689)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-08-10 16:30:59 +02:00
Markus Bong
dba82fedd4 Bump devolo-home-control-api to 0.13.0 (#38718) 2020-08-10 15:57:04 +02:00
Jc2k
f82f815304 Add water level sensors provided by UK Environment Agency (#31954) 2020-08-10 15:51:04 +02:00
Paulus Schoutsen
e3335eea00 Bumped version to 0.114.0b4 2020-08-10 12:49:12 +00:00
Pascal Vizeli
e8587408ae Update base image 8.2.1 (#38716) 2020-08-10 12:49:04 +00:00
Paulus Schoutsen
7f0c97fad8 Bump updater timeout (#38690) 2020-08-10 12:49:03 +00:00
David F. Mulcahey
f1fd8aa51f Add support for Flo by Moen water shutoff devices (#38171) 2020-08-10 14:19:38 +02:00
bsmappee
07de9deab6 Implement local discovery of Smappee legacy devices (#37812)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-08-10 13:34:18 +02:00
Pascal Vizeli
65f1e0c71a Update base image 8.2.1 (#38716) 2020-08-10 13:12:23 +02:00
Phil Bruckner
4c8c8a8c99 Fix async_fire_time_changed in tests/common.py (#38705) 2020-08-09 22:26:35 -05:00
J. Nick Koston
9bb7b3b125 Fix homekit_controller pairing retry when the first attempt is busy (#38605)
* Fix homekit_controller pairing retry

If the device was busy on the first pairing attempt, it
was not possible to retry.

* always restart pairing on recoverable execptions

* move code

* malformed pin is safe to restart

* make busy_error an abort

* switch max retries, simplify tests

* try pairing later

* try pairing later

* merge

* s/tlv_error/protocol_error/g

* Adjust wording
2020-08-09 22:17:13 -05:00
David F. Mulcahey
4e56339ba1 add event and device action for when devices drop (#38701) 2020-08-09 20:37:07 -04:00
Markus Haack
3d308e0599 Add SolarEdge battery level and dynamic icon for storage sensor (#37826)
* Add SolarEdge battery level and dynamic icon for storage sensor

* Add SolarEdge battery storage sensor

* Fix isort warning

* Remove charging attribute

* Fix isort warning

* Apply suggestions from code review

* Update homeassistant/components/solaredge/sensor.py

Co-authored-by: Chris Talkington <chris@talkingtontech.com>
2020-08-09 16:28:45 -05:00
Michaël Arnauts
d7d7ee6524 Use global CONF_UNIQUE_ID for mqtt (#38595)
* Use global CONF_UNIQUE_ID for mqtt

* Update __init__.py

* Update __init__.py

* Update __init__.py

Co-authored-by: Chris Talkington <chris@talkingtontech.com>
2020-08-09 16:00:14 -05:00
Arto Jantunen
abb81704d2 Add support for boost and eco modes to Daikin climate (#37282)
Daikin calls these 'econo' and 'powerful', but the result is the same..
2020-08-09 15:48:38 -05:00
Alex Ward
feb36c3efc Persist hive light brightness for color change (#38677)
when changing the color for a hive light, keep the brightness at the
previous level.

Co-authored-by: Adam Charlton <ad5665@live.co.uk>

Co-authored-by: Adam Charlton <ad5665@live.co.uk>
2020-08-09 15:15:25 -05:00
Michaël Arnauts
3761942b82 Use global CONF_UNIQUE_ID for deconz (#38597) 2020-08-09 13:21:11 -05:00
Michaël Arnauts
2ba4c1193c Use global CONF_UNIQUE_ID for hue (#38596) 2020-08-09 13:20:11 -05:00
Vaclav
b258e757c2 Add DataUpdateCoordinator to met integration (#38405)
* Add DataUpdateCoordinator to met integration

* isort

* redundant fetch_data

* Update homeassistant/components/met/weather.py

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

* Update homeassistant/components/met/weather.py

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

* Update homeassistant/components/met/__init__.py

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

* Update homeassistant/components/met/__init__.py

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

* Update homeassistant/components/met/__init__.py

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

* Update homeassistant/components/met/__init__.py

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

* Update homeassistant/components/met/weather.py

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

* Update homeassistant/components/met/__init__.py

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

* Update homeassistant/components/met/__init__.py

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

* Update homeassistant/components/met/__init__.py

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

* Update homeassistant/components/met/__init__.py

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

* Update homeassistant/components/met/__init__.py

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

* Update homeassistant/components/met/weather.py

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

* Update homeassistant/components/met/weather.py

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

* fix black, isort, flake8, hassfest, mypy

* remove unused async_setup method

* replace fetch_data by coordinator request_refresh

* remove redundant  async_update

* track_home

* Apply suggestions from code review

* Apply suggestions from code review

* Update homeassistant/components/met/__init__.py

* Apply suggestions from code review

* Update homeassistant/components/met/__init__.py

* Apply suggestions from code review

* Update homeassistant/components/met/__init__.py

* Apply suggestions from code review

* Update test_config_flow.py

* Apply suggestions from code review

* Apply suggestions from code review

* Update __init__.py

* Create test_init.py

* Update homeassistant/components/met/__init__.py

* Update __init__.py

* Update __init__.py

* Update homeassistant/components/met/__init__.py

Co-authored-by: Chris Talkington <chris@talkingtontech.com>
2020-08-09 13:18:02 -05:00
Marcio Granzotto Rodrigues
761067559d Add Nightscout integration (#38615)
* Implement NightScout sensor integration

* Add tests for NightScout integration

* Fix Nightscout captalization

* Change quality scale for Nightscout

* Trigger actions

* Add missing tests

* Fix stale comments

* Fix Nightscout manufacturer

* Add entry type service

* Change host to URL on nightscout config flow

* Add ConfigEntryNotReady exception to nighscout init

* Remote platform_schema from nightscout sensor

* Update homeassistant/components/nightscout/config_flow.py

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

Co-authored-by: Chris Talkington <chris@talkingtontech.com>
2020-08-09 13:15:56 -05:00
On Freund
96d48c309f Make CoolMasterNet integration async (#38643)
* make CoolMasteNet integration async

* Apply suggestions from code review

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

* Minor post-review tweaks

* Apply suggestions from code review

* Update homeassistant/components/coolmaster/__init__.py

Co-authored-by: Chris Talkington <chris@talkingtontech.com>
2020-08-09 13:08:07 -05:00
Chris
597d1e2799 Add missing Short type to set_config_param (#38618)
* Add missing Short type to set_config_param

* Forgot to fix the for loop

* Remove leftover return

* Guard the for loop

* Changed from if to else

* Fixed list iteration for validating input

* Adjusted per linter
2020-08-09 19:05:26 +02:00
Ian Duffy
ef039d6a65 Fix Kodi play_media media type casing (#38665)
* [KODI] Fix casing issue

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

* Update homeassistant/components/kodi/media_player.py

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

* Update homeassistant/components/kodi/media_player.py

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

* Update homeassistant/components/kodi/media_player.py

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

* Update homeassistant/components/kodi/media_player.py

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

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

* Add tests for sensor platform

* Add more tests

* More tests

* Simplify parsing of attributes

* Change Quality scale to platinum

* Patch the library in the manual update entity test

* Add unsupported condition icon test

* Do not patch _async_get_data

* Apply suggestions from code review

* Update config_flow.py

* Apply suggestions from code review

* Apply suggestions from code review

* Apply suggestions from code review

* Update tests/components/accuweather/test_weather.py

* Apply suggestions from code review

* Add return_value

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

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

For media players with support for volume up/down, but no support for
setting the volume to a specific number, allow use of the
action.devices.commands.relativeMute intent to control volume up/down.
This will improve support for IR blasters and other open-loop
media_player integrations.
2020-08-09 14:03:53 +02:00
J. Nick Koston
a6f869aeee Improve performance of fetching the state domain (#38653)
Pre calc domain when an entity id created to avoid
having to call the property method which had to call
split_entity_id every time. If there are a lot of
zone related automations, async_active_zone can call
async_entity_ids frequently which results in 100000s
of split_entity_id via the domain property every
second.
2020-08-09 13:45:16 +02:00
J. Nick Koston
ef8e74786f Support extracting entities by domain from templates (#38647) 2020-08-09 13:44:09 +02:00
Paulus Schoutsen
c0be9aca48 Bumped version to 0.114.0b3 2020-08-09 11:30:45 +00:00
On Freund
cb51a00c37 Bump pyvolumio to 0.1.1 (#38685) 2020-08-09 11:30:38 +00:00
Aaron Bach
6f5884805e Fix missing data for Guardian "AP enabled" binary sensor (#38681) 2020-08-09 11:30:37 +00:00
J. Nick Koston
65450d8518 Update aiohomekit to handle homekit devices that do not send format (#38679) 2020-08-09 11:30:36 +00:00
J. Nick Koston
f1e3023d44 Ensure shared zeroconf is passed to homekit controller devices (#38678) 2020-08-09 11:30:36 +00:00
Alejandro Rivera
aa4e879e1a Fix rest_command UnboundLocalError in exception handling (#38656)
```
2020-08-07 22:38:10 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection.3903193064] local variable 'response' referenced before assignment
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/rest_command/__init__.py", line 115, in async_service_handler
    async with getattr(websession, method)(
  File "/usr/local/lib/python3.8/site-packages/aiohttp/client.py", line 1012, in __aenter__
    self._resp = await self._coro
  File "/usr/local/lib/python3.8/site-packages/aiohttp/client.py", line 582, in _request
    break
  File "/usr/local/lib/python3.8/site-packages/aiohttp/helpers.py", line 586, in __exit__
    raise asyncio.TimeoutError from None
asyncio.exceptions.TimeoutError

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/commands.py", line 125, in handle_call_service
    await hass.services.async_call(
  File "/usr/src/homeassistant/homeassistant/core.py", line 1281, in async_call
    task.result()
  File "/usr/src/homeassistant/homeassistant/core.py", line 1316, in _execute_service
    await handler.func(service_call)
  File "/usr/src/homeassistant/homeassistant/components/rest_command/__init__.py", line 137, in async_service_handler
    _LOGGER.warning("Timeout call %s", response.url, exc_info=1)
UnboundLocalError: local variable 'response' referenced before assignment
```
2020-08-09 11:30:35 +00:00
Chris Talkington
43961dc36b Fix AccuWeather async timeout (#38654) 2020-08-09 11:30:34 +00:00
Aaron Bach
24c3cbfff9 Bump regenmaschine to 2.1.0 (#38649) 2020-08-09 11:30:33 +00:00
Ole-Martin Heggen
95ffe12264 Fix url in seventeentrack delivered notification (#38646) 2020-08-09 11:30:33 +00:00
Franck Nijhof
eac5619001 Remove tf-models-official from wheels builder (#38637) 2020-08-09 11:30:32 +00:00
Joakim Sørensen
ab9df350fd Update frontend to 20200807.1 (#38626) 2020-08-09 11:30:32 +00:00
starkillerOG
a58a67923b Fix xiaomi_aqara discovery (#38622) 2020-08-09 11:30:31 +00:00
Thomas Hollstegge
a92bc562d3 Make sure groups are initialized before template sensors (#37766)
* Make sure groups are initialized before template sensors

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

Fixes #35872

* Patch async_setup_platform instead of async_setup

* Cleanup

* Use an event to avoid sleep

* Update tests/components/template/test_sensor.py

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

Co-authored-by: J. Nick Koston <nick@koston.org>
2020-08-09 11:30:30 +00:00
J. Nick Koston
d659502e35 Update aiohomekit to handle homekit devices that do not send format (#38679) 2020-08-09 13:29:46 +02:00
On Freund
f0487b783d Bump pyvolumio to 0.1.1 (#38685) 2020-08-09 00:02:21 -05:00
Aaron Bach
6856735a1d Fix missing data for Guardian "AP enabled" binary sensor (#38681) 2020-08-08 21:00:55 -06:00
Thomas Hollstegge
5de21375c0 Make sure groups are initialized before template sensors (#37766)
* Make sure groups are initialized before template sensors

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

Fixes #35872

* Patch async_setup_platform instead of async_setup

* Cleanup

* Use an event to avoid sleep

* Update tests/components/template/test_sensor.py

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

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

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

* Add support for exposing light effects via Google Assistant

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

(cherry picked from commit 2409fe19ed43bef568a0cca826652867d3a2d71a)

* upadte power factor unit (%)

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

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

* Actually add the tests

* collapse branch

* Update homeassistant/config_entries.py

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

* handle entries that lack the ability to reload

* reduce

* adjust konnected tests

* update axis tests

* fix blocking

* more mocking

* config flow tests outside of test_config_flow

* reduce

* volumio

* Update homeassistant/config_entries.py

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

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

* get rid of copy

* revert test change

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

During handling of the above exception, another exception occurred:

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

* Update Tesla to use DataUpdateCoordinator

* Fix linting errors

* Apply suggestions from code review

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

* Address requested changes

* Apply suggestions from code review

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

* Fix lint errors

* Remove controller from hass.data

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

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

* Fix Black issue

Weirdly when i run it i had an error `1544 files left unchanged, 3313 files failed to reformat.`
I didn't watch the commit check output afterward.
2020-08-07 22:28:49 +02:00
James Hilliard
3e9f2b8246 Remove unused async_setup_platform from HLK-SW16 switch (#38648) 2020-08-07 15:18:31 -05:00
Ole-Martin Heggen
2d70df9776 Fix url in seventeentrack delivered notification (#38646) 2020-08-07 14:14:42 -06:00
Franck Nijhof
94fd6cceef Remove tf-models-official from wheels builder (#38637) 2020-08-07 17:37:31 +02:00
Paulus Schoutsen
214bc81d02 Fix lint 2020-08-07 10:02:10 +00:00
Franck Nijhof
fa956e3153 Bump version to 0.115.0dev0 (#38606) 2020-08-07 11:41:26 +02:00
Paulus Schoutsen
b626368b6a Bumped version to 0.114.0b2 2020-08-07 08:45:05 +00:00
J. Nick Koston
30e1ff83b9 Ensure doorbird does not block startup (#38619) 2020-08-07 08:44:53 +00:00
Austin Drummond
6e31a2e67d Expose video doorbell button state to HomeKit (#38617) 2020-08-07 08:44:52 +00:00
Pascal Vizeli
64749a0f85 Bump OpenCV 4.3.0 and Numpy 1.19.1 (#38616) 2020-08-07 08:44:31 +00:00
Paulus Schoutsen
6baded622b Handle unavailable input_select in Google Assistant (#38611) 2020-08-07 08:44:07 +00:00
J. Nick Koston
790a136c0a Ensure homekit pairing barcode is usable on dark themes (#38609) 2020-08-07 08:44:07 +00:00
Pascal Vizeli
4fc56cec1c V2 timeout for async_add_entities (#38601)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
Co-authored-by: J. Nick Koston <nick@koston.org>
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2020-08-07 08:44:06 +00:00
Aidan Timson
93cdd4dbf3 Improve the OVO Energy integration (#38598)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-08-07 08:43:41 +00:00
Jason Hunter
f0f112ff42 Upgrade to TensorFlow 2 (#38384)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
Co-authored-by: Franck Nijhof <git@frenck.dev>
2020-08-07 08:42:37 +00:00
Paulus Schoutsen
93e1f6176a Fix lint 2020-08-07 08:40:50 +00:00
cgtobi
6930aebea2 Switch Netatmo integration to dispatcher for internal communication (#38590)
* Switch to dispatcher for internal communication

* Fix method call

* Update homeassistant/components/netatmo/camera.py

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

* Update homeassistant/components/netatmo/camera.py

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

* Update homeassistant/components/netatmo/climate.py

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

* Update homeassistant/components/netatmo/climate.py

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

* Rename variables

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

* sort setting types

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

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

unlikely to occur but less error prone

* Update if statement to be more consistent

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

* revert one more change

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

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

* Update media_player.py

* Update test_media_player.py

* Update test_media_player.py

* Update test_media_player.py

* Update test_media_player.py

* Update test_media_player.py

* Update test_media_player.py

* Update test_media_player.py

* Update test_media_player.py

* Update test_media_player.py

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

* Update homeassistant/components/google_assistant/trait.py

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

* Adjust to match new version of _next_selected

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-08-06 15:58:26 +02:00
Paulus Schoutsen
ec14bf215a Bumped version to 0.114.0b1 2020-08-06 10:58:06 +00:00
Paulus Schoutsen
9713b5806f Do not print warning when command line switch queries off (#38591) 2020-08-06 10:57:59 +00:00
Pascal Vizeli
e287c9cf08 Revert "Add a timeout for async_add_entities (#38474)" (#38584)
This reverts commit 7590af3930.
2020-08-06 10:57:58 +00:00
Martin Hjelmare
a25f1cc6c3 Fix missing rfxtrx strings (#38570)
* Fix missing rfxtrx strings

* Clean
2020-08-06 10:57:57 +00:00
Erik Montnemery
5bdeb46c12 Suppress MQTT discovery updates without changes (#38568) 2020-08-06 10:57:57 +00:00
Quentame
187f47233c Remove Linky integration (#38565) 2020-08-06 10:57:56 +00:00
starkillerOG
e43fb649a4 Improve Xioami Aqara zeroconf discovery handling (#37469)
Co-authored-by: Franck Nijhof <git@frenck.dev>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-08-06 10:57:55 +00:00
starkillerOG
aaad986002 Improve Xioami Aqara zeroconf discovery handling (#37469)
Co-authored-by: Franck Nijhof <git@frenck.dev>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-08-06 12:54:18 +02:00
Paulus Schoutsen
95835326f3 Do not print warning when command line switch queries off (#38591) 2020-08-06 12:36:59 +02:00
Markus Bong
e3e9ad1342 Add devolo blinds devices (#36597)
* add support for devolo blinds

* correct internal sync function

* correct naming

* fix R1719 in line 73:15

* remove 'break point' print

* simplified _sync check

* change comment

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

* Fix linting with trailing commas

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

* Clean
2020-08-06 08:32:53 +02:00
Jeff Irion
970c0e7594 Bump androidtv to 0.0.48 and pure-python-adb to 0.3.0.dev0 (#38578) 2020-08-06 06:02:28 +02:00
HomeAssistant Azure
e32a57ce48 [ci skip] Translation update 2020-08-06 00:02:06 +00:00
Paulus Schoutsen
f037feaebc Handle non-existing translations in clean script (#38574) 2020-08-06 01:49:52 +02:00
Franck Nijhof
485752a033 Bumped version to 0.114.0b0 2020-08-05 20:32:53 +02:00
Markus Bong
6c5bcbfc3e Add devolo light devices (#37366) 2020-08-05 18:16:21 +02:00
J. Nick Koston
7590af3930 Add a timeout for async_add_entities (#38474) 2020-08-05 18:06:21 +02:00
Bram Kragten
d66ddeb69e Allow to set default dark theme and persist frontend default themes (#38548)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2020-08-05 17:42:23 +02:00
J. Nick Koston
d0d0403664 Add zeroconf/homekit/ssdp discovery support for custom components (#38466)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-08-05 15:50:56 +02:00
Joakim Sørensen
1ebc420c75 Bump frontend to 20200805.0 (#38557) 2020-08-05 14:59:33 +02:00
Pascal Vizeli
c291d4aa7d Intelligent timeout handler for setup/bootstrap (#38329)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
Co-authored-by: J. Nick Koston <nick@koston.org>
2020-08-05 14:58:19 +02:00
Aidan Timson
caca762088 OVO Energy Integration (#36104)
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2020-08-05 14:38:29 +02:00
Steffen Zimmermann
b50f3103fe Bump python-wiffi to 1.0.1 (#38556)
fix missing exception asyncio.IncompleteReadError
2020-08-05 13:41:56 +02:00
Maciej Bieniek
8258dcf41d Add device_info property and simplify generation of unique_id for Airly integration (#38479) 2020-08-05 12:55:14 +02:00
Maciej Bieniek
56f8ced267 Add device_info property for AccuWeather integration (#38480) 2020-08-05 12:50:34 +02:00
Maciej Bieniek
d47900473e Add device_info to GIOS integration (#38503) 2020-08-05 12:47:33 +02:00
J. Nick Koston
a91f5b7192 Prevent ping integration from blocking startup (#38504) 2020-08-05 12:43:35 +02:00
Kevin Fronczak
3fdec7946c Blink auth flow improvement and mini camera support (#38027) 2020-08-05 12:21:14 +02:00
chewbh
3fc5f9deb8 Add Xiaomi Aqara wireless and light switches (2020 model) (#37985) 2020-08-05 12:15:19 +02:00
Peter Nijssen
c0c30bb1cc Update pyrainbird to 0.4.2 (#38542) 2020-08-05 11:42:34 +02:00
dependabot[bot]
74ba209f06 Bump actions/upload-artifact from v2.1.2 to v2.1.3 (#38552)
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from v2.1.2 to v2.1.3.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/v2.1.2...268d7547644ab8a9d0c1163299e59a1f5d93f39b)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-08-05 11:32:53 +02:00
Pedro Lamas
e422274085 Use IP Address (host) provided by mDNS on Elgato Key Light (#38539) 2020-08-05 11:26:17 +02:00
A C++ MaNong
5b234b80e8 Keep webostv source list when TV is off (#38250)
* keep source list when TV is off

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

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

* Only load camera platform with valid scope

* Add initial data handler and netatmo base class

* Update camera to use data handler

* Update init

* Parallelize API calls

* Remove cruft

* Minor tweaks

* Refactor data handler

* Update climate to use data handler

* Fix pylint error

* Fix climate update not getting fresh data

* Update climate data

* update to pyatmo 4.0.0

* Refactor for pyatmo 4.0.0

* Exclude from coverage until tests are written

* Fix typo

* Reduce parallel calls

* Add heating request attr

* Async get_entities

* Undo parallel updates

* Fix camera issue

* Introduce individual scan interval per device class

* Some cleanup

* Add basic webhook support for climate to improve responsiveness

* Replace ClimateDevice by ClimateEntity

* Add support for turning camera on/off

* Update camera state upon webhook events

* Guard data class registration with lock

* Capture errors

* Add light platform

* Add dis-/connect handling

* Fix set schedule service

* Remove extra calls

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

* Add service descriptions

* Improve service descriptions

* Use LightEntity instead of Light

* Add guard if no data is retrieved

* Make services entity based

* Only raise platform not ready if there is a NOC

* Register webhook even during runtime

* Fix turning off event

* Fix linter error

* Fix linter error

* Exclude light platform from coverage

* Change log level

* Refactor public weather sensor to use data handler

* Prevent too short coordinates

* Ignore modules without _id

* Code cleanup

* Fix test

* Exit early if no home data is retrieved

* Prevent discovery if already active

* Add services to (un-)register webhook

* Fix tests

* Not actually a coroutine

* Move methods to base class

* Address pylint comment

* Address pylint complaints

* Address comments

* Address more comments

* Add docstring

* Use single instance allowed

* Extract method

* Remove cruft

* Write state directly

* Fix test

* Add file to coverage

* Move nested function

* Move nested function

* Update docstring

* Clean up code

* Fix webhook bug

* Clean up listeners

* Use deque

* Clean up prints

* Update homeassistant/components/netatmo/sensor.py

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

* Update homeassistant/components/netatmo/sensor.py

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

* Update homeassistant/components/netatmo/sensor.py

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

* Update homeassistant/components/netatmo/sensor.py

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

* Update homeassistant/components/netatmo/sensor.py

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

* Update homeassistant/components/netatmo/sensor.py

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

* Update homeassistant/components/netatmo/camera.py

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

* Update homeassistant/components/netatmo/camera.py

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

* Update homeassistant/components/netatmo/camera.py

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

* Update homeassistant/components/netatmo/camera.py

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

* Update homeassistant/components/netatmo/camera.py

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

* Update homeassistant/components/netatmo/camera.py

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

* Rename data_class variable

* Break when match

* Extract method

* Extract methods

* Rename variable

* Improve comment

* Some refinements

* Extra

* Extract method

* Simplify code

* Improve reability

* Code simplification

* Simplify code

* Simplify code

* Code cleanup

* Fix import

* Clean up

* Clean up magic strings

* Replace data_class_name with CAMERA_DATA_CLASS_NAME

* Replace data_class_name with CAMERA_DATA_CLASS_NAME

* Replace data_class_name with HOMEDATA_DATA_CLASS_NAME

* Replace data_class_name in public weather sensor

* Clean up

* Remove deprecated config options

* Schedule immediate update on camera reconnect

* Use UUID to clearly identify public weather areas

* Use subscription mode

* Move clean up of temporary data classes

* Delay data class removal

* Fix linter complaints

* Adjust test

* Only setup lights if webhook are registered

* Prevent crash with old config entries

* Don't cache home ids

* Remove stale code

* Fix coordinates if entered mixed up by the user

* Move nested function

* Add test case for swapped coordinates

* Only wait for discovery entries

* Only use what I need

* Bring stuff closer to where it's used

* Auto clean up setup data classes

* Code cleanup

* Remove unneccessary lock

* Update homeassistant/components/netatmo/sensor.py

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

* Update tests/components/netatmo/test_config_flow.py

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

* Clean up dead code

* Fix formating

* Extend coverage

* Extend coverage

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

* Add myself to xiaomi miio codeowners (#38350)

* add myself to xiaomi miio codeowners

* Update CODEOWNERS

* Update manifest.json

* Upgrade youtube_dl to version 2020.07.28 (#38328)

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

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

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

* Add jobs names to Wheels builds (#38363)

* Update aioharmony to 0.2.6 (#38360)

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

* Bump aioambient to 1.2.0 (#38364)

* Bump simplisafe-python to 9.2.2 (#38365)

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

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

* Bump ElkM1 library version. (#38368)

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

* Add basic websocket api for OZW (#38265)

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

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

This reverts commit 9e0530df1d.

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

This reverts commit 3ca93baa55.

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

This reverts commit 143f55ad12.

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

This reverts commit 90a10baf38.

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

This reverts commit 67cdeafe21.

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

This reverts commit 01d68e01c6.

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

This reverts commit bec6904eb9.

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

This reverts commit 53acc1b41e.

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

This reverts commit a991d6f131.

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

This reverts commit 58dcc059c7.

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

This reverts commit 14b4722b69.

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

This reverts commit cb9e76adb7.

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

This reverts commit b2207ed776.

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

This reverts commit 144e827ce9.

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

This reverts commit 88538254ec.

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

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

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

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

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

Fixes #38446

* Add new tests verifying emulated_hue behaviour.

* Increase code test coverage.

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

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

* Update homeassistant/components/emulated_hue/hue_api.py

* Add test for state change wait timeout

* Preserve the cache long enough for groups to change

* Update tests/components/emulated_hue/test_hue_api.py

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

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

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

* pylint

* switch to WeakValueDictionary

* preen
2020-08-04 03:00:44 +02:00
Ville Skyttä
63403f894d Fix run-in-env.sh sh options (#38520)
Shebang takes only one arg, regression in
f6540e3002
2020-08-03 21:20:12 +02:00
Aaron Bach
d498246fb6 Bump aioambient to 1.2.1 (#38519) 2020-08-03 12:30:46 -06:00
Aaron Bach
6fd39f57ee Remove YAML configuration support for IQVIA (#38141) 2020-08-03 19:35:36 +02:00
Aaron Bach
53e162c922 Remove deprecated Slack attachments framework (#38139) 2020-08-03 19:33:49 +02:00
Cooper Dale
0b0e323632 Fix missing .name at entity_id in service example (#38515)
for propper filename
2020-08-03 18:22:52 +02:00
Eugene Prystupa
809c2980df Log the version reported by Bond hub upon startup to facilitate troub… (#38508) 2020-08-03 17:55:04 +02:00
Erik Montnemery
86e38a8467 Add missing MQTT strings (#38513) 2020-08-03 17:54:09 +02:00
Bram Kragten
a187183bd1 Update frontend to 20200803.0 (#38514) 2020-08-03 17:52:58 +02:00
Shane Qi
85497c6b75 Fix Lutron Caseta devices loading when missing serials (#38255)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-08-03 16:50:47 +02:00
J. Nick Koston
b3fd8a8343 Fix flapping chained task logging test (#38492) 2020-08-03 15:01:15 +02:00
J. Nick Koston
2f1d989df2 Bump hass-nabucasa to avoid the performance penalty loading ecdsa (#38056) 2020-08-03 12:55:30 +02:00
J. Nick Koston
8f2abc2ee1 Fix harmony activity starting initial state (#38439) 2020-08-03 12:55:15 +02:00
jjlawren
e940811a8b Clean up Plex clip handling (#38500) 2020-08-03 12:41:24 +02:00
jjlawren
67312e2d42 Fix lookup by Plex media key when playing on Sonos (#38119) 2020-08-03 12:40:48 +02:00
dependabot[bot]
364aaceb1c Bump actions/upload-artifact from v2.1.1 to v2.1.2 (#38505)
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from v2.1.1 to v2.1.2.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/v2.1.1...c8879bf5aef7bef66f9b82b197f34c4eeeb1731b)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-08-03 10:12:37 +02:00
James Hilliard
064cc52ad6 Add config flow to HLK-SW16 (#37190)
* Add config flow to HLK-SW16

* Use entry_id for unique_id

* Add options update capability

* Refactor entry_id under domain

* Remove name from config

* Set options

* Remove options flow

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

* Add tests and config import

* Add back config schema

* Remove config import

* Refactor unload

* Add back config import

* Update coveragerc

* Don't mock validate_input

* Test duplicate configs

* Add import test

* Use patch for timeout test

* Use mock for testing timeout

* Use MockSW16Client for tests

* Check mock_calls count

* Remove unused NameExists exception

* Remove title from strings.json

* Mock setup for import test

* Set PARALLEL_UPDATES for switch

* Move hass.data.setdefault(DOMAIN, {}) to async_setup_entry
2020-08-02 17:52:53 -10:00
Matthew Garrett
76b46b9175 Provide a unique entity ID for lgsoundbar (#38494)
The device gives us a UUID, so let's just use that to construct a unique
ID.
2020-08-02 16:51:01 -10:00
Eugene Prystupa
542c6cce25 Ensure bond unique ids are unique across hubs (#38496) 2020-08-02 16:50:03 -10:00
HomeAssistant Azure
ce71775722 [ci skip] Translation update 2020-08-03 00:02:55 +00:00
Chris Talkington
1e685a4a00 Optimize ipp tests (#38485)
* optimize ipp tests

* Update test_config_flow.py
2020-08-02 13:02:47 -10:00
clssn
428c376fe4 Update numato-gpio to 0.8.0 (#38415)
* Bump the numato-gpio dependency

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

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

We now close the socket so the select unblocks
right away
2020-08-02 08:32:07 -10:00
Matthias Weiss
34b911203c Add homematic IPWKeyBlindMulti device (#38345) 2020-08-02 17:55:17 +02:00
Xiaonan Shen
e8b6ed5a27 Add platform tests to yeelight (#37745)
* Add platform tests to yeelight

* Update requirements

* Break long string
2020-08-02 16:37:31 +02:00
Robert Van Gorkom
c913d17913 Add bed sensor availability for withings (#37906) 2020-08-02 09:36:14 -05:00
Maciej Bieniek
a57dca1e11 Add sensor platform for AccuWeather integration (#38312)
* Add sensor platform

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

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

* Update test_binary_sensor.py

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

* Update requirements

* Remove old libs

* config flow with client.search_places

* WIP: UI config + weather OK

* WIP: sensors

* WIP: add pressure to weather + available to sensor

* WIP: coordinator next_rain + alert

* Make import step working

* migrate to meteofrance-api v0.0.3

* Create coordinator for rain only if data available in API

* Fix avoid creation of rain sensor when not available.

* Add options flow for forecast mode

* Fix import config causing bug with UI

* Add alert sensor

* Add coastal alerts when available (#5)

* Use meteofrance-api feature branch on Github

* Update unit of next_rain sensor

* Test different type of attibutes

* Typo for attribute

* Next rain sensor device class as timestamp

* Better design for rain entity attributes

* use master branch for meteofrance-api

* time displayed in the HA server timezone.

* fix bug when next_rain_date_locale is None

* Add precipitation and cloud cover sensors

* Add variable to avoid repeating computing

* Apply suggestions from code review

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

* Attributes names in const.

* Cleaning

* Cleaning: use current_forecast and today_forecast

* Write state to HA after fetch

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

* Add messages in log

* Refactor using 'current_forecast'.

* Use % string format with _LOGGER

* Remove inconsistent path

* Secure timestamp value and get current day forecast

* new unique_id

* Change Log message to debug

* Log messages improvement

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

* convert wind speed in km/h

* Better list of city in config_flow

* Manage initial CONF_MODE as None

* Review correction

* Review coorections

* unique id correction

* Migrate from previous config

* Make config name detailed

* Fix weather alert sensor unload (#7)

* Unload weather alert platform

* Revert "Unload weather alert platform"

This reverts commit 95259fdee84f30a5be915eb1fbb2e19fcddc97e4.

* second try in async_unload_entry

* Make it work

* isort modification

* remove weather alert logic in sensor.py

* Refactor to avoid too long code lines

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

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

* Update meteo_france exception name

* Update MeteoFranceClient name used in tests

* Update 'test_user'

* Make test_user works

* Add test test_user_list

* Make test_import works

* Quick & Dirty fix on exception managment. WIP

* allow to catch MeteoFranceClient() exceptions

* remove test_abort_if_already_setup_district

* bump meteofrance-api version

* We do not need to test Exception in flow yet

* Remove unused data

* Change client1 fixture name

* Change client2 fixture name

* Finish cities step

* Test import with multiple choice

* refactor places

* Add option flow test

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

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

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

* fix from review

* remove summary

* Other fix from PR review

* WIP: error if no results in city search

* Add test for config_flow when no result in search

* Lint fix

* generate en.json

* Update homeassistant/components/meteo_france/__init__.py

* Update homeassistant/components/meteo_france/__init__.py

* Update homeassistant/components/meteo_france/__init__.py

* Update homeassistant/components/meteo_france/sensor.py

* Update homeassistant/components/meteo_france/__init__.py

* Update homeassistant/components/meteo_france/__init__.py

* string: city input --> city field

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

* Update homeassistant/components/ozw/websocket_api.py

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

* Update tests/components/ozw/test_websocket_api.py

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

Co-authored-by: Charles Garwood <cgarwood@newdealmultimedia.com>
2020-08-01 15:50:04 -04:00
Rob Bierbooms
af97141f4f Increase test coverage for rfxtrx integration (#38435)
* Remove rfxtrx from coveragerc

* Tweak binary sensor test

* Tweak light test
2020-08-01 11:26:26 -05:00
Eugene Prystupa
11994d207a Add zeroconf discovery for bond integration (#38448)
* Add zeroconf discovery for bond integration

* Add zeroconf discovery for bond integration (fix typo)

* Add zeroconf discovery for bond integration (PR feedback)

* Add zeroconf discovery for bond integration (PR feedback)

* Add zeroconf discovery for bond integration (PR feedback)
2020-08-01 11:18:40 -05:00
Phil Bruckner
c3a820c4a3 Fix queued script not updating current attribute when queuing (#38432) 2020-08-01 15:51:48 +02:00
Paulus Schoutsen
c3aa9f9a6f Merge pull request #38443 from home-assistant/rc 2020-08-01 15:37:05 +02:00
Franck Nijhof
c4fcd8bd2e Temporary lock pip to 20.1.1 to avoid build issue (#38358) 2020-08-01 13:18:38 +00:00
J. Nick Koston
fe69a85386 Improve logging when a unique id conflict is detected (#38434)
* fix error when unique id is re-used

* add test for the logging

* Update homeassistant/helpers/entity_platform.py

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

* Update homeassistant/helpers/entity_platform.py

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

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

* Remove prefix from unique ids
2020-08-01 09:13:17 +02:00
Marcio Granzotto Rodrigues
416ee7f143 Add support to climate devices in Google Assistant Fan Trait (#38337)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-08-01 04:05:00 +02:00
Paulus Schoutsen
b209c1a7b5 Bumped version to 0.113.3 2020-08-01 02:02:48 +00:00
Franck Nijhof
82b3fe1ab6 Fix double encoding issue in google_translate TTS (#38429) 2020-08-01 02:02:40 +00:00
Franck Nijhof
7a8d9b6065 Pin yarl dependency to 1.4.2 as core dependency (#38428) 2020-08-01 02:02:22 +00:00
Stefan Lehmann
f4afa2dc68 Fix ads integration after 0.113 (#38402) 2020-08-01 01:59:47 +00:00
cgtobi
2a3947f7cc Fix rmvtransport breaking when destinations don't match (#38401) 2020-08-01 01:59:47 +00:00
Franck Nijhof
47a729495d Ensure Toon webhook ID isn't registered on re-registration (#38376) 2020-08-01 01:59:46 +00:00
J. Nick Koston
293655f988 Prevent nut config flow error when checking ignored entries (#38372) 2020-08-01 01:59:45 +00:00
J. Nick Koston
0ecaab1a7d Avoid error with ignored harmony config entries (#38367) 2020-08-01 01:59:45 +00:00
ehendrix23
9819d70941 Update aioharmony to 0.2.6 (#38360) 2020-08-01 01:59:44 +00:00
Erik Montnemery
abad6dfdd7 Bump pychromecast to 7.2.0 (#38351) 2020-08-01 01:59:43 +00:00
Jeff Irion
dd4e0511a3 Bump androidtv to 0.0.47 and adb-shell to 0.2.1 (#38344) 2020-08-01 01:59:43 +00:00
jjlawren
d65545964b Ignore remote Plex clients during plex.tv lookup (#38327) 2020-08-01 01:59:42 +00:00
J. Nick Koston
d1fbcba7b6 Prevent kodi from blocking startup (#38257)
* Prevent kodi from blocking startup

* Update homeassistant/components/kodi/media_player.py

* isort

* ignore args

* adjustments per review

* asyncio
2020-08-01 01:59:41 +00:00
Xiaonan Shen
1b73bcbff7 Fix songpal already configured check in config flow (#37813)
* Fix already configured check

* Mark endpoint duplicate check as callback
2020-08-01 01:59:41 +00:00
shred86
7a2f6a5006 Add Abode camera on and off support (#35164)
* Add Abode camera controls

* Add tests for camera turn on and off service

* Bump abodepy version

* Bump abodepy version and updates to reflect changes

* Update manifest
2020-08-01 01:59:40 +00:00
Eugene Prystupa
2e340d2c2f Update bond-api to 0.1.8 (#38442)
* Bump bond API dependency version

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

* adjust for poweroff

* switch to activity name for activity starting

* adjust

* do not set starting on initial update
2020-07-31 09:55:38 -10:00
Austin Drummond
9d0f58009e Add support for HomeKit doorbell (#38419)
* Add support for HomeKit doorbell

* Update homeassistant/components/homekit/type_cameras.py

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

* Update homeassistant/components/homekit/type_cameras.py

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

* add speaker service for doorbells

* fixed test as doorbell char requires null value

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

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

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

* pylint

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

* Generate bond config entry ID from the hub metadata (PR feedback)
2020-07-30 18:00:58 -05:00
Franck Nijhof
ecf22198c5 Ensure Toon webhook ID isn't registered on re-registration (#38376) 2020-07-30 21:37:34 +02:00
Maciej Bieniek
ad0560ef37 Improve tests for Airly integration (#38357)
* Add tests

* More tests

* Add PARALLEL_UPDATES

* Change Quality scale to platinum

* Change PARALLEL_UPDATES value
2020-07-30 08:41:18 -10:00
Ville Skyttä
c2a21fa496 Update coordinator improvements (#38366)
* Make generic

* Add type info to bunch of uses

* Recognize requests exceptions

* Recognize urllib exceptions
2020-07-30 18:04:00 +03:00
On Freund
76e8870e98 Clean up Volumio code (#38400) 2020-07-30 16:51:46 +02:00
Eugene Prystupa
a00aa6740e Fix bond fans without defined max_speed (#38382) 2020-07-30 14:44:26 +02:00
Sergiy Maysak
00a4bcff3d Bump wirelesstagpy to 0.4.1 (#38387) 2020-07-30 11:45:04 +02:00
Marcio Granzotto Rodrigues
8ab1b41974 Add support for dimmable bond lights (#38203)
* Add support for dimmable lights

* Fix formatting

* Add supported features test on Bond Light

* Add more tests to bond light and fixes comments

* Fix rebase conflict resolution

* Apply suggestions from code review

Co-authored-by: Chris Talkington <chris@talkingtontech.com>
2020-07-29 20:01:59 -05:00
Franck Nijhof
fa9866db96 Add support for multiple time triggers in automations (#37975)
* Add support for multiple time triggers in automations

* Attach with single callback

* Patch time in tests

* Improve test coverage

* Adjusting my facepalm moment
2020-07-29 14:51:30 -10:00
HomeAssistant Azure
99b624a676 [ci skip] Translation update 2020-07-30 00:03:25 +00:00
Erik Montnemery
e3dc8a1ff2 Bump pychromecast to 7.2.0 (#38351) 2020-07-29 23:46:14 +02:00
J. Nick Koston
1b593e3169 Prevent nut config flow error when checking ignored entries (#38372) 2020-07-29 23:20:19 +02:00
Charles Garwood
13e8e28778 Add basic websocket api for OZW (#38265) 2020-07-29 22:35:26 +02:00
Glenn Waters
c5ca484eaa Bump ElkM1 library version. (#38368)
To reduce required version of dependent library.
No code changed.
2020-07-29 21:49:10 +02:00
J. Nick Koston
ed104d1927 Avoid error with ignored harmony config entries (#38367) 2020-07-29 21:20:06 +02:00
jjlawren
1d987b4846 Ignore remote Plex clients during plex.tv lookup (#38327) 2020-07-29 20:56:32 +02:00
Aaron Bach
497c1587fe Bump simplisafe-python to 9.2.2 (#38365) 2020-07-29 12:12:07 -06:00
Aaron Bach
e86fd9af8a Bump aioambient to 1.2.0 (#38364) 2020-07-29 11:56:44 -06:00
ehendrix23
b916eb6cf2 Update run-in-env.sh (#36577) 2020-07-29 19:50:09 +02:00
ehendrix23
1d01a5ed7b Update aioharmony to 0.2.6 (#38360) 2020-07-29 19:49:13 +02:00
Franck Nijhof
cb40ee342e Add jobs names to Wheels builds (#38363) 2020-07-29 18:47:48 +02:00
Jeff Irion
98ce4897ab Bump androidtv to 0.0.47 and adb-shell to 0.2.1 (#38344) 2020-07-29 17:16:24 +02:00
Franck Nijhof
167b10ccc1 Add wheels job for building core wheels (#38359) 2020-07-29 16:11:06 +02:00
Franck Nijhof
417e00ee9c Temporary lock pip to 20.1.1 to avoid build issue (#38358) 2020-07-29 15:31:29 +02:00
Josef Schlehofer
00e50d18b9 Upgrade youtube_dl to version 2020.07.28 (#38328) 2020-07-29 09:12:48 -04:00
starkillerOG
b7976d2856 Add myself to xiaomi miio codeowners (#38350)
* add myself to xiaomi miio codeowners

* Update CODEOWNERS

* Update manifest.json
2020-07-29 11:21:47 +02:00
HomeAssistant Azure
ff3d76b464 [ci skip] Translation update 2020-07-29 00:02:39 +00:00
Xiaonan Shen
d2022aa07b Fix songpal already configured check in config flow (#37813)
* Fix already configured check

* Mark endpoint duplicate check as callback
2020-07-29 01:49:43 +02:00
Franck Nijhof
d24b02646e Merge pull request #38332 from home-assistant/rc
Co-authored-by: Franck Nijhof <git@frenck.dev>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
Co-authored-by: J. Nick Koston <nick@koston.org>
Co-authored-by: Phil Bruckner <pnbruckner@gmail.com>
Co-authored-by: Joakim Plate <elupus@ecce.se>
Co-authored-by: Jeroen Van den Keybus <jeroen.vandenkeybus@gmail.com>
Co-authored-by: Mister Wil <1091741+MisterWil@users.noreply.github.com>
Co-authored-by: Greg Dowling <pavoni@users.noreply.github.com>
Co-authored-by: Marcio Granzotto Rodrigues <oscensores@gmail.com>
Co-authored-by: Teemu R <tpr@iki.fi>
Co-authored-by: Kyle Hendricks <kylehendricks@users.noreply.github.com>
2020-07-28 20:24:28 +02:00
Franck Nijhof
60cab62da5 Revert "Make rfxtrx RfyDevices have sun automation switches (#38210)"
This reverts commit ee0c32cbb7.
2020-07-28 20:05:31 +02:00
Franck Nijhof
612e27b5ff Bumped version to 0.113.2 2020-07-28 19:37:50 +02:00
Franck Nijhof
d9953a8c2f Remove AdGuard version check (#38326) 2020-07-28 19:32:14 +02:00
J. Nick Koston
e984e0d414 Add debug logging for when a chain of tasks blocks startup (#38311)
Co-authored-by: Franck Nijhof <git@frenck.dev>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-07-28 19:32:11 +02:00
Kyle Hendricks
f8fbe8dba3 Fix issue with certain Samsung TVs repeatedly showing auth dialog (#38308)
Through some testing with the samsungtvws library, it was determined
that the issue is related to the short read timeout (1s).  Increasing
the timeout to 10s should solve the issue.
2020-07-28 19:32:08 +02:00
J. Nick Koston
b8d6b20c96 Prevent speedtest from blocking startup or causing other intergations to fail setup (#38305)
When speedtest starts up, it would saturate the network interface and cause other
integrations to randomly fail to setup. We now wait to do the first speed test
until after the started event is fired.
2020-07-28 19:32:05 +02:00
Teemu R
c4038c8652 Bump python-miio to 0.5.3 (#38300) 2020-07-28 19:32:01 +02:00
Marcio Granzotto Rodrigues
b5a64b3752 Fix #38289 issue with xboxapi lib (#38293) 2020-07-28 19:31:56 +02:00
J. Nick Koston
bd1336cbdf Prevent onvif from blocking startup (#38256) 2020-07-28 19:31:51 +02:00
Greg Dowling
8768fe1652 Don't set up callbacks until entity is created. (#38251) 2020-07-28 19:09:36 +02:00
J. Nick Koston
37e029b2c1 Improve setup retry logic to handle inconsistent powerview hub availability (#38249) 2020-07-28 19:09:33 +02:00
Mister Wil
c55c415933 Fix Skybell useragent (#38245) 2020-07-28 19:09:30 +02:00
Phil Bruckner
293db61b32 Fix parallel script containing repeat or choose action with max_runs > 10 (#38243) 2020-07-28 19:09:25 +02:00
Phil Bruckner
bdab437574 Fix repeat action when variables present (#38237) 2020-07-28 18:58:10 +02:00
Jeroen Van den Keybus
e89c475856 Fix detection of zones 2 and 3 in Onkyo/Pioneer amplifiers (#38234) 2020-07-28 18:31:06 +02:00
Joakim Plate
ee0c32cbb7 Make rfxtrx RfyDevices have sun automation switches (#38210)
* RfyDevices have sun automation

* We must accept sun automation commands for switch

* Add test for Rfy sun automation
2020-07-28 18:31:03 +02:00
J. Nick Koston
2e89ec24f7 Ignore harmony hubs ips that are already configured during ssdp discovery (#38181)
We would connect to the hub via discovery and via setup
around the same time.  This put additional load on the hub
which can increase the risk of timeouts.
2020-07-28 18:30:59 +02:00
J. Nick Koston
b82e64d9cb Bump tesla-powerwall to 0.2.12 to handle powerwall firmware 1.48+ (#38180) 2020-07-28 18:30:56 +02:00
Phil Bruckner
61fa572068 Stop automation runs when turned off or reloaded (#38174)
* Add automation turn off / reload test

* Stop automation runs when turned off or reloaded
2020-07-28 18:30:53 +02:00
J. Nick Koston
7f2a2ed23b Bump netdisco to 2.8.1 (#38173)
* Bump netdisco to 2.8.1

* bump ssdp
2020-07-28 18:30:49 +02:00
J. Nick Koston
03582402fa Add debug logging for when a chain of tasks blocks startup (#38311)
Co-authored-by: Franck Nijhof <git@frenck.dev>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-07-28 18:24:29 +02:00
Franck Nijhof
2c6686c5e1 Remove AdGuard version check (#38326) 2020-07-28 17:51:35 +02:00
J. Nick Koston
e8c9734f3a Bump tesla-powerwall to 0.2.12 to handle powerwall firmware 1.48+ (#38180) 2020-07-28 17:26:06 +02:00
dependabot[bot]
a92a7ec848 Bump actions/upload-artifact from 2.1.0 to v2.1.1 (#38315)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-07-28 12:05:20 +02:00
Kyle Hendricks
0a7dc40712 Fix issue with certain Samsung TVs repeatedly showing auth dialog (#38308)
Through some testing with the samsungtvws library, it was determined
that the issue is related to the short read timeout (1s).  Increasing
the timeout to 10s should solve the issue.
2020-07-28 12:03:56 +02:00
Matthew Garrett
508fc3fa0e Fix lg_soundbar callback (#38259)
* Don't schedule an update if the hass instance isn't instantiated

If we get a status update packet before self.hass exists, we trip a
"assert self.hass is not None" that was added in 0.112 and setup fails.

* Fix callback hander properly

The right fix is to register the callback after hass is ready for it.

* Remove unnecessary check

This is now guaranteed by the core code.

* Don't request an immediate device update and do an async connect.

* Remove unnecessary return
2020-07-28 09:55:24 +02:00
Chris Mandich
ae8a38757a Update PyFlume version, support for multiple state attributes (#38138)
* Update PyFlume version, support for multiple state attributes

* Update PyFlume to resolve issue https://github.com/ChrisMandich/PyFlume/issues/7

* Update PyFlume package to 0.5.2, flatten values in sensor

* Delete setup

* Remove 'current_interval' from attributes and round values to 1 decimal place.

* Add missing brackets to remove 'current_interval' from attributes

* Set attribute keys explicitly, check attribute format.

* Breakout intervals into separate sensors.

* Update 'unit_of_measurement' for each sensor, update sensor 'available', remove unusued variables

* Update "Device unique ID."

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

* Update PyFlume, resolve API query update for request.

* Cleanup debug logging

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-07-27 21:30:38 -10:00
J. Nick Koston
77b6f8c9f2 Prevent speedtest from blocking startup or causing other intergations to fail setup (#38305)
When speedtest starts up, it would saturate the network interface and cause other
integrations to randomly fail to setup. We now wait to do the first speed test
until after the started event is fired.
2020-07-27 22:57:36 -07:00
J. Nick Koston
f06ae1fa95 Prevent kodi from blocking startup (#38257)
* Prevent kodi from blocking startup

* Update homeassistant/components/kodi/media_player.py

* isort

* ignore args

* adjustments per review

* asyncio
2020-07-28 07:43:42 +02:00
Chris
5fef9653a8 Fix ozw dimming duration (#38254)
* Dimming duration fix

Fixes #38068 - allows dimming duration to 7620 (default of 7621)

* Forgot to commit my test updates

* Added backwards compatibility with pre-150+ builds

Added tests for backwards compatibility

* Upped the build number cut off

* Add check for major.minor version as well

* Fix major.minor detection

* Adjust variable name

* Adjust version checking logic

* Math is hard

* Rename files, adjust test names

* Update doc string
2020-07-28 07:37:09 +02:00
Eugene Prystupa
c29f412a70 Add debug logging for bond (#38304) 2020-07-27 21:53:56 -05:00
Teemu R
213496095f Bump python-miio to 0.5.3 (#38300) 2020-07-27 21:26:29 -05:00
Eugene Prystupa
020dd39c08 Apply changes from bond code review (#38303) 2020-07-27 21:18:24 -05:00
Marcio Granzotto Rodrigues
02e2c40c48 Bond - Make assumed state conditional (#38209) 2020-07-27 20:39:23 -05:00
HomeAssistant Azure
e6e3517a94 [ci skip] Translation update 2020-07-28 00:04:53 +00:00
Joakim Plate
0bcee21333 Restore rfxtrx state to off when delay off is in effect (#38239) 2020-07-28 01:45:41 +02:00
Jeroen Van den Keybus
a1e2bce1b9 Fix detection of zones 2 and 3 in Onkyo/Pioneer amplifiers (#38234) 2020-07-28 01:40:21 +02:00
Joakim Plate
c93fc8af4a Clean up commands generation for rfxtrx (#38236) 2020-07-28 00:44:30 +02:00
Joakim Plate
c3966a5ef2 Setup rfxtrx event listener directly (#38298) 2020-07-28 00:29:35 +02:00
Phil Bruckner
1158925b53 Fix repeat action when variables present (#38237) 2020-07-27 16:51:34 -05:00
David Bonnes
bea1570354 Delint recent change to evohome (#38294) 2020-07-27 23:17:07 +02:00
Marcio Granzotto Rodrigues
561e4b537a Fix #38289 issue with xboxapi lib (#38293) 2020-07-27 14:56:39 -04:00
J. Nick Koston
ddf7ceecd4 Prevent harmony from resetting state with multiple turn ons (#38183)
Automations or HomeKit may turn the device on multiple times
when the current activity is already active which will cause
harmony to lose state.  This behavior is unexpected as turning
the device on when its already on isn't expected to reset state.
2020-07-27 06:31:30 -10:00
Greg Dowling
f38e1ae2c0 Don't set up callbacks until entity is created. (#38251) 2020-07-27 17:15:28 +02:00
David Bonnes
26bb604243 Remove evohome hvac_action as it is inaccurate (#38244) 2020-07-27 15:20:18 +02:00
James Callaghan
818949abd9 Corrected typo (#38278) 2020-07-27 15:19:10 +02:00
Phil Bruckner
1a760c63d0 Fix parallel script containing repeat or choose action with max_runs > 10 (#38243) 2020-07-27 10:43:58 +02:00
Markus Bong
569caf9e40 Change devolo Home Control entity naming (#38275)
* adding suffix after the entity name just in case the device class is not known

* remove if else
2020-07-27 10:17:45 +02:00
On Freund
b226a7183f Add config flow to Volumio (#38252) 2020-07-27 09:19:19 +02:00
J. Nick Koston
8b06d1d4bd Prevent onvif from blocking startup (#38256) 2020-07-27 08:51:53 +02:00
MikeTsenatek
da30ed06d8 Update holidays to 0.10.3 (#38246) 2020-07-27 08:17:40 +02:00
Mister Wil
8fec0da5be Fix Skybell useragent (#38245) 2020-07-27 08:08:01 +02:00
J. Nick Koston
56186a3d75 Improve setup retry logic to handle inconsistent powerview hub availability (#38249) 2020-07-26 17:01:29 -10:00
Maciej Bieniek
2b0914994d Add changes from comments after merging AccuWeather (#38227)
* Fix documentation url

* Return None instead STATE_UNKNOWN

* Invert forecast check

* Patch async_setup_entry in test_create entry

* Improve test name, docstring and add comment
2020-07-26 20:00:47 -05:00
HomeAssistant Azure
8abdc2c969 [ci skip] Translation update 2020-07-27 00:02:58 +00:00
Eugene Prystupa
4d73f107c4 Implement resilient startup for bond integration with ConfigEntryNotReady support (#38253) 2020-07-26 18:27:18 -05:00
David Bonnes
455ac1cadf fix issue #34559 (#38241) 2020-07-26 21:13:10 +01:00
shred86
36cb818cd0 Add Abode camera on and off support (#35164)
* Add Abode camera controls

* Add tests for camera turn on and off service

* Bump abodepy version

* Bump abodepy version and updates to reflect changes

* Update manifest
2020-07-26 08:59:11 -10:00
Alan Tse
093bd863ba Add update available binary sensor to Tesla (#37991)
* Add update available binary sensor to Tesla

* Bump teslajsonpy to 0.10.1

* Add check for DEVICE_CLASS

* Change to relative import
2020-07-26 08:00:07 -10:00
Eugene Prystupa
2d6eb5c05d Refactor bond unit tests to reduce boilerplate (#38177)
* Refactor bond unit tests to reduce boilerplate

* Refactor bond unit tests to reduce boilerplate (PR feedback)

* Refactor bond unit tests to reduce boilerplate (PR feedback, nullcontext)
2020-07-26 12:15:21 -05:00
Ville Skyttä
34ac4e78af Fix libav install in Travis CI (#38221) 2020-07-26 15:56:00 +02:00
J. Nick Koston
f6b0f8d6de Update logbook to use async_add_executor_job (#38217) 2020-07-26 10:42:28 +02:00
J. Nick Koston
a39aec862e Attempt to fix islamic prayer times tests (#38220)
* Attempt to fix islamic_prayer_times tests

* adj
2020-07-26 10:26:32 +02:00
J. Nick Koston
34d01d5e47 Mark event tests to run as callbacks (#38212)
* Mark event tests to run as callbacks

* revert change to same state check that is expected to run in a thread
2020-07-25 17:52:48 -10:00
HomeAssistant Azure
d1464211a6 [ci skip] Translation update 2020-07-26 00:04:14 +00:00
Aidan Timson
dcba45e67d Add Azure DevOps Integration (#33765)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-07-26 00:04:10 +02:00
Joakim Plate
fd11748a1a Make rfxtrx RfyDevices have sun automation switches (#38210)
* RfyDevices have sun automation

* We must accept sun automation commands for switch

* Add test for Rfy sun automation
2020-07-25 22:56:58 +02:00
Emil Stjerneman
85c856cfa3 Volvo on call updates (#38142)
* Add "doors_tailgate_open" and "average_speed" to resource list

* Bump volvooncall from 0.8.7 to 0.8.12

* Bump volvooncall in requirements_all.txt
2020-07-25 14:48:19 -05:00
Robert Van Gorkom
da380d89c2 Removing gogogate2 emulated cover transitional states. (#38199) 2020-07-25 21:43:45 +02:00
Joakim Plate
1776540757 Rfxtrx fixup config entry creation (#38185)
* Make sure import flow completely replace existing config

* Make sure added device contain correct config data

* Revert change to directly run init
2020-07-25 19:13:10 +02:00
J. Nick Koston
3206f4dc83 Support multiple camera streams in HomeKit (#37968)
* Support multiple camera stream in HomeKit

* Update homeassistant/components/homekit/type_cameras.py

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

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

This reverts commit d7624c5bff.

* Update homeassistant/components/homekit/type_cameras.py

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

* Update homeassistant/components/homekit/type_cameras.py

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

* black

* bump pyhap

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-07-25 07:12:14 -10:00
Phil Bruckner
bbc8748e3b Stop automation runs when turned off or reloaded (#38174)
* Add automation turn off / reload test

* Stop automation runs when turned off or reloaded
2020-07-25 12:19:55 +02:00
Daniel Hjelseth Høyer
662d79eb86 Prevent unnecessary updates of met component (#38168) 2020-07-25 11:18:30 +02:00
J. Nick Koston
a07f4e0986 Ignore harmony hubs ips that are already configured during ssdp discovery (#38181)
We would connect to the hub via discovery and via setup
around the same time.  This put additional load on the hub
which can increase the risk of timeouts.
2020-07-25 11:13:47 +02:00
J. Nick Koston
973688d87e Bump netdisco to 2.8.1 (#38173)
* Bump netdisco to 2.8.1

* bump ssdp
2020-07-24 21:00:08 -10:00
Nick Whyte
7599997a46 Enable Homekit remote support for devices without play/pause (#37180)
* Enable Homekit remote support for devices without play/pause

* linting

* Update tests

* code review

* code review
2020-07-24 18:20:29 -10:00
J. Nick Koston
b868f13591 Ensure all track time change tests mock a specific start time (#38178)
* Ensure all track time change tests mock a specific start time

* make sure tests calling async_track_utc_time_change fire time in utc
2020-07-24 19:04:36 -07:00
HomeAssistant Azure
a1ebb52813 [ci skip] Translation update 2020-07-25 00:04:22 +00:00
Markus Korbel
b55d1127de Added 2020 version Aqara double wall switch (#38164)
Added support for new 2020 version of the Aqara D1 double wall switch (lumi.remote.b286acn02)
Confirmed that all button press events use the same codes after updating deconz rest api to add support for this switch.
A contributor of the API currently has the working version @ git clone --branch Legrand-teleruptor https://github.com/Smanar/deconz-rest-plugin.git
2020-07-24 23:17:39 +02:00
Maciej Bieniek
581c4a4edd Add AccuWeather integration (#37166)
* Initial commit

* Fix strings

* Fix unit system

* Add config_flow tests

* Simplify tests

* More tests

* Update comment

* Fix pylint error

* Run gen_requirements_all

* Fix pyline error

* Round precipitation and precipitation probability

* Bump backend library

* Bump backend library

* Add undo update listener on unload

* Add translation key for invalid_api_key

* Remove entity_registry_enabled_default property

* Suggested change

* Bump library
2020-07-24 15:59:15 -05:00
Daniel Hjelseth Høyer
9fe142a114 Prevent unnecessary updates of sun component (#38169) 2020-07-24 10:46:05 -10:00
Daniel Hjelseth Høyer
8943954b18 Prevent unnecessary updates of zone component (#38167) 2020-07-24 10:45:34 -10:00
Franck Nijhof
79b1c3f573 Merge pull request #38176 from home-assistant/rc 2020-07-24 22:20:36 +02:00
Eugene Prystupa
69203b5373 Gracefully handle bond API errors and timeouts through available state (#38137)
* Gracefully handle API errors and timeouts through available state

* Gracefully handle API errors and timeouts through available state
2020-07-24 15:14:47 -05:00
Franck Nijhof
46dd245560 Bumped version to 0.113.1 2020-07-24 21:57:56 +02:00
Aaron Bach
bbf36d1a36 Remove leftover print statement (#38163) 2020-07-24 21:54:08 +02:00
Philipp Schmitt
ad74d42b15 Fix Nuki Locks and Openers not being available after some time (#38159) 2020-07-24 21:54:05 +02:00
Franck Nijhof
953963c95b Fix incorrect mesurement in Toon for meter low (#38149) 2020-07-24 21:54:02 +02:00
Heiko Rothe
650f2babf9 Fix Xbox Live integration (#38146)
* Fix Xbox Live component

The API moved to a different domain, so the integration was broken.
The library upgrade contains the required fixes.

* Fix API connectivity check

* Access dict values directly
2020-07-24 21:53:59 +02:00
J. Nick Koston
979dafd0a7 Log which task is blocking startup when debug logging is on (#38134)
* Log which task is blocking startup when debug logging for homeassistant.core is on

* test needs to go one level deeper now
2020-07-24 21:53:55 +02:00
Phil Bruckner
24b8545ebe Fix script repeat variable lifetime (#38124) 2020-07-24 21:53:52 +02:00
Joakim Sørensen
bf8bfa6321 Fix text error when getting getting external IP in route53 (#38100) 2020-07-24 21:53:49 +02:00
Aaron Bach
7fe5fee124 Fix SimpliSafe to work with new MFA (#38097)
* Fix SimpliSafe to work with new MFA

* Code review (part 1)

* Input needed from Martin

* Code review

* Code review

* Restore YAML

* Tests

* Code review

* Remove JSON patching in tests

* Add reauth test

* One more reauth test

* Don't abuse the word "conf"

* Update homeassistant/components/simplisafe/config_flow.py

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

* Test coverage

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-07-24 21:53:45 +02:00
J. Nick Koston
3e7ada2056 Prevent the zeroconf service browser from terminating when a device without any addresses is discovered. (#38094) 2020-07-24 21:53:40 +02:00
Jeff Irion
7ad75493ff Bump androidtv to 0.0.46 (#38090) 2020-07-24 21:53:37 +02:00
Andrew Sayre
71048545fa Bump pysmartthings to v0.7.2 (#38086) 2020-07-24 21:53:34 +02:00
Paulus Schoutsen
49f59007df Fix route53 depending on broken package (#38079) 2020-07-24 21:53:30 +02:00
Rob Bierbooms
80b0c10a38 Fix issue with creation of PT2262 devices in rfxtrx integration (#38074) 2020-07-24 21:53:26 +02:00
Heiko Rothe
21db4a4160 Fix Xbox Live integration (#38146)
* Fix Xbox Live component

The API moved to a different domain, so the integration was broken.
The library upgrade contains the required fixes.

* Fix API connectivity check

* Access dict values directly
2020-07-24 21:45:59 +02:00
Dubh Ad
81b95f4050 Update discord.py to v1.3.4 for API change (#38060) 2020-07-24 21:45:17 +02:00
Joakim Plate
632a36d819 Support rfxtrx smoke detectors, motion sensors as binary_sensors (#38000)
* Add binary sensor support to motion sensors and smoke detectors

* Add support for new sensor events as binary sensors

Adds a default device_class for motion sensors and smoke detector

* Use device type instead of event to set class

* Add some additional binary values
2020-07-24 17:16:41 +02:00
Franck Nijhof
84df0efb5e Upgrade coverage to 5.2.1 (#38158) 2020-07-24 17:03:10 +02:00
Kevin Fronczak
3149cf6849 Bump python-slugify to 4.0.1 (#38140)
* Bump python-slugify to 4.0.1

* Dummy commit to re-trigger tests
2020-07-24 16:55:54 +02:00
Philipp Schmitt
027ece52e6 Fix Nuki Locks and Openers not being available after some time (#38159) 2020-07-24 16:42:42 +02:00
Tomasz
19e06c613b convert_until isn't returning anything (#38157) 2020-07-24 15:24:19 +01:00
Aaron Bach
5f6bd22f18 Remove leftover print statement (#38163) 2020-07-24 16:11:02 +02:00
Thomas Delaet
3ff5c17009 Support unavailable state in template fan (#38114)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-07-24 15:48:07 +02:00
Joakim Plate
5d28e109e8 Asyncify rfxtrx startup and event handling (#38155)
* Asyncify startup and event handling

* Adjust linting error

* Must use the thread safe add_job function

* Switch to correct async function
2020-07-24 14:40:10 +02:00
Erik Montnemery
686e6b8fc3 Add test (#37890) 2020-07-24 12:29:19 +02:00
Rob Bierbooms
c76b11f9d7 Write device_id to ConfigEntry of rfxtrx integration (#38064)
* Write device_id to ConfigEntry

* Rework based on review comment

* Add hass add job

* Cleanup
2020-07-24 11:49:48 +02:00
Franck Nijhof
0b9663a23b Fix incorrect mesurement in Toon for meter low (#38149) 2020-07-24 11:00:17 +02:00
Phil Bruckner
2f87da8aa9 Fix script repeat variable lifetime (#38124) 2020-07-23 23:11:21 -07:00
J. Nick Koston
a7459b3126 Log which task is blocking startup when debug logging is on (#38134)
* Log which task is blocking startup when debug logging for homeassistant.core is on

* test needs to go one level deeper now
2020-07-23 20:03:42 -06:00
Aaron Bach
a5b7a2c228 Fix SimpliSafe to work with new MFA (#38097)
* Fix SimpliSafe to work with new MFA

* Code review (part 1)

* Input needed from Martin

* Code review

* Code review

* Restore YAML

* Tests

* Code review

* Remove JSON patching in tests

* Add reauth test

* One more reauth test

* Don't abuse the word "conf"

* Update homeassistant/components/simplisafe/config_flow.py

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

* Test coverage

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-07-23 20:02:29 -06:00
Eugene Prystupa
2dfd767b8c Upgrade bond-api to 0.1.7 (#38121) 2020-07-23 19:55:27 -05:00
HomeAssistant Azure
124ea04e57 [ci skip] Translation update 2020-07-24 00:02:30 +00:00
Rob Bierbooms
0e0f61764a Fix updates of Rssi for control devices in rfxtrx (#38131)
* Change entity to entity_info

* Fix bug in RSSI for Control devices
2020-07-24 01:49:46 +02:00
Jeff Irion
eb1970c015 Bump androidtv to 0.0.46 (#38090) 2020-07-23 23:18:46 +02:00
Eugenio Panadero
8cfffd00d6 Fix state automation trigger (#38014) (#38032)
for scenarios of enabling/disabling (~ creating/removing) entities,
so it does not trigger in removal if a `to: xxx` is defined, and also
does not trigger in creation if a `from: xxx` is present.
2020-07-23 14:17:11 -05:00
mvn23
6652af5cc0 Add set_central_heating_ovrd service to opentherm_gw (#34425)
* Add set_central_heating_ovrd service to opentherm_gw

* Use await instead of async_create_task

Use await instead of async_create_task as per review.

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

* Use boolean values for service call to opentherm_gw.set_central_heating_ovrd

Co-authored-by: J. Nick Koston <nick@koston.org>
2020-07-23 08:24:17 -10:00
Daniel
98a8ce0555 Add homematic IPKeyBlindMulti device (#38059)
* Update const.py

Added device class "IPKeyBlindMulti" to const.py in order to support HomematicIP device HmIP-DRBLI4. The site package pyhomematic supports this class already in actors.py.

* Update const.py
2020-07-23 15:02:54 +02:00
melyux
3365677484 Add 'alarm_event_occurred' property from AlarmDecoder (#38055) 2020-07-23 14:43:57 +02:00
dependabot[bot]
4001eabafa Bump codecov/codecov-action from v1.0.11 to v1.0.12 (#38102)
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from v1.0.11 to v1.0.12.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Commits](https://github.com/codecov/codecov-action/compare/v1.0.11...07127fde53bc3ccd346d47ab2f14c390161ad108)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-07-23 13:16:31 +02:00
J. Nick Koston
fdc5208d18 Prevent the zeroconf service browser from terminating when a device without any addresses is discovered. (#38094) 2020-07-22 20:21:57 -10:00
Paulus Schoutsen
5583f43030 Clean up fido tests (#38098) 2020-07-22 20:21:32 -10:00
Joakim Sørensen
f742875e0d Fix text error when getting getting external IP in route53 (#38100) 2020-07-22 20:20:49 -10:00
J. Nick Koston
6e2025a748 Use postgresql style uuid generation (uuid_generate_v1mc) for Context uuids (#38089)
This avoids the syscall to getrandom() every time we generate a uuid.
2020-07-22 21:53:01 -07:00
J. Nick Koston
d7811a4adf Avoid generating a Context() object every second (#38085)
Every second we were calling the getrandom() syscall to generate a uuid4
for a context that will never be looked:

 * In most setups there are no more time_changed listeners

 * The ones that do exist never care about context

 * time_changed events are never saved in the database
2020-07-22 21:52:10 -07:00
Paulus Schoutsen
2b3f22c871 Fix route53 depending on broken package (#38079) 2020-07-22 21:43:51 -07:00
Eugene Prystupa
a756d1e637 Centralize bond update state logic (#38093)
* Refactor bond integration to centralize update state logic in single superclass

* Refactor bond integration to centralize update state logic in single superclass
2020-07-23 04:15:27 +02:00
Eugene Prystupa
3480fb6996 Refactor bond integration to be completely async (#38066) 2020-07-22 20:22:25 -05:00
HomeAssistant Azure
15fe727f2c [ci skip] Translation update 2020-07-23 00:02:48 +00:00
Andrew Sayre
ae5c50c1b6 Bump pysmartthings to v0.7.2 (#38086) 2020-07-22 16:01:57 -07:00
Martin Hjelmare
2f4c1e683a Fix ozw light color values check (#38067)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2020-07-22 15:50:44 -07:00
Rob Bierbooms
83a27f4855 Fix issue with creation of PT2262 devices in rfxtrx integration (#38074) 2020-07-22 15:09:37 -07:00
Franck Nijhof
b15dad8c4b Upgrade aiohttp to 3.6.2 (#38082) 2020-07-22 14:56:28 -07:00
Dubh Ad
e0ceacdf85 Update discord.py to v1.3.4 for API change (#38060) 2020-07-22 21:48:48 +02:00
Franck Nijhof
d7fdbbc2a5 Bump version to 0.114.0dev0 (#38071) 2020-07-22 20:17:11 +02:00
RogerSelwyn
393dd4fe7f Change sky_hub to async and fix exception spamming (#37129)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-07-22 19:58:07 +02:00
Franck Nijhof
bb8e4db47b Merge branch 'master' into dev 2020-07-22 19:11:00 +02:00
Phil Bruckner
65d1dfba62 Update automation logger to include object_id like scripts (#37948) 2020-07-22 10:55:49 -05:00
Franck Nijhof
c9380d4972 Merge pull request #38065 from home-assistant/rc 2020-07-22 17:45:03 +02:00
Ville Skyttä
aa1c5fc43d Various type hint improvements (#37952) 2020-07-22 08:06:37 -07:00
Pascal Vizeli
3e2555e2c1 Update home assistant base image (#38063) 2020-07-22 16:39:50 +02:00
Franck Nijhof
c505bf2df2 Bumped version to 0.113.0 2020-07-22 15:48:28 +02:00
Joakim Plate
dfd956b083 Fix rfxtrx stop after first non light (#38057) 2020-07-22 15:44:16 +02:00
Paulus Schoutsen
a50cf1d00a Add MQTT to constraints file (#38049) 2020-07-22 15:36:25 +02:00
Alexei Chetroi
6617d676e5 ZHA dependencies bump bellows to 0.18.0 (#38043) 2020-07-22 15:36:22 +02:00
Erik Montnemery
9f12226b2b Use keywords for MQTT birth and will (#38040) 2020-07-22 15:36:19 +02:00
Erik Montnemery
d8d48b0a21 Correct arguments to MQTT will_set (#38036) 2020-07-22 15:36:16 +02:00
Daniel Shokouhi
0cd8dce9df Check if robot has boundaries to update (#38030) 2020-07-22 15:36:13 +02:00
Jesse Newland
34751fcd86 Fix notify.slack service calls using data_template (#37980) 2020-07-22 15:36:10 +02:00
Tom Harris
b003d9675c Fix issue with Insteon events not firing correctly (#37974) 2020-07-22 15:36:06 +02:00
michaeldavie
98dd56eed5 Make nested get() statements safe (#37965) 2020-07-22 15:36:02 +02:00
Joakim Plate
66e490e55f Rfxtrx fixup restore (#38039) 2020-07-22 15:27:04 +02:00
Joakim Plate
bbff9ff6a0 Fix rfxtrx stop after first non light (#38057) 2020-07-22 13:08:31 +02:00
Paulus Schoutsen
0ffeb4dea4 Add MQTT to constraints file (#38049) 2020-07-21 19:19:32 -07:00
Phil Bruckner
726d5fdd94 Allow float values in time periods (#38023) 2020-07-21 19:41:42 -05:00
J. Nick Koston
4a5a09a0e9 Speed up group setup (#38048) 2020-07-21 17:29:57 -07:00
Donnie
6e87c2ad3e Support default transition in light profiles (#36747)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-07-21 17:19:07 -07:00
J. Nick Koston
5cf7b1b1bc Ensure we do not start discovered flows until after the started event has fired (#38047)
* Ensure we do not start discovered flows until after the start event has fired

This change makes zeroconf and ssdp match discovery behavior of not
creating config flows until the start event has been fired.  This
prevents config flow creation/dependency installs for discovered
config flows from competing for cpu time during startup.

* Start discovery/service browser/ssdp when EVENT_HOMEASSISTANT_STARTED is fired instead of EVENT_HOMEASSISTANT_START
2020-07-21 14:18:43 -10:00
HomeAssistant Azure
e766a119d2 [ci skip] Translation update 2020-07-22 00:02:30 +00:00
Joakim Plate
7a3c6d6525 Avoid using implementation internal to trigger events (#38041)
This uses the moxking in fixture to trigger events.
2020-07-22 00:24:26 +02:00
Joakim Plate
945acb4e29 Make sure command entities restore from state (#38038) 2020-07-22 00:01:31 +02:00
Rob Bierbooms
ad5d7ee615 Implement unload entry for rfxtrx integration (#38037)
* Implement unload entry

* Change async_remove to remove

* Pop data from hass.data

* Change sequence order in unload

* Dont unload internal when unload platforms fail
2020-07-21 23:43:05 +02:00
Alexei Chetroi
ec17ed9364 ZHA dependencies bump bellows to 0.18.0 (#38043) 2020-07-21 11:42:23 -10:00
J. Nick Koston
4015991622 Update tests that track time to account for microsecond precision (#38044) 2020-07-21 14:22:55 -07:00
Erik Montnemery
fa0e12ffe8 Use keywords for MQTT birth and will (#38040) 2020-07-21 14:10:34 -07:00
Erik Montnemery
908b72370b Correct arguments to MQTT will_set (#38036) 2020-07-21 12:36:21 -07:00
Ville Skyttä
01d2d2f315 Fix wolflink datetime import (#38028) 2020-07-21 10:37:54 -07:00
dependabot[bot]
1fc37fec7b Bump actions/setup-python from v2 to v2.1.1 (#38034)
Bumps [actions/setup-python](https://github.com/actions/setup-python) from v2 to v2.1.1.
- [Release notes](https://github.com/actions/setup-python/releases)
- [Commits](https://github.com/actions/setup-python/compare/v2...0c28554988f6ccf1a4e2818e703679796e41a214)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-07-21 12:54:35 +02:00
Rob Bierbooms
d9dba9142c Move data on import in rfxtrx integration into ConfigEntry (#38022)
* Move all data imported from yaml to ConfigEntry

* Revert changes that prevent updating yaml entry

* Cleanup code around time conversion
2020-07-21 09:44:00 +02:00
J. Nick Koston
60009ec2f9 Use event loop scheduling for tracking time patterns (#38021)
* Use event loop scheduling for tracking time patterns

* make patching of time targetable

* patch time tests since time can tick to match during the test

* fix more tests

* time can only move forward

* time can only move forward

* back to 100% coverage

* simplify since the event loop time cannot move backwards

* simplify some more

* revert simplify

* Revert "revert simplify"

This reverts commit bd42f232f6.

* Revert "simplify some more"

This reverts commit 2a6c57d514.

* Revert "simplify since the event loop time cannot move backwards"

This reverts commit 3b13714ef4.

* Attempt another simplify

* time does not move backwards in the last two

* remove next_time <= now check

* fix previous merge error
2020-07-20 20:18:31 -10:00
Daniel Shokouhi
7bc8caca96 Check if robot has boundaries to update (#38030) 2020-07-20 22:00:11 -07:00
HomeAssistant Azure
83d4e5bbb7 [ci skip] Translation update 2020-07-21 00:03:00 +00:00
Ryan
59063a7d61 Add scrape sensor name to logs (#38020) 2020-07-20 23:07:36 +02:00
Patrick
19870ea867 Fix ozw color temp (#38012)
* Fix color temp math

* Ran black --fast

* Update test_light.py

* tweaking mireds

* updating comments

* fixing test_light to match standards

* fixing comments, need coffee
2020-07-20 14:35:30 -04:00
Tom Harris
dd459a7855 Fix issue with Insteon events not firing correctly (#37974) 2020-07-20 16:23:59 +02:00
David F. Mulcahey
d5a03b4d6a Cleanup async_accept_signal in ZHA (#38009) 2020-07-20 07:04:57 -07:00
dependabot[bot]
2a975db9cf Bump codecov/codecov-action from v1.0.10 to v1.0.11 (#38006)
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from v1.0.10 to v1.0.11.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Commits](https://github.com/codecov/codecov-action/compare/v1.0.10...6d208f5b527841fb050f92f778e86cb808dacdcb)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-07-20 11:58:22 +02:00
Adam Król
bedb0753f3 Add Wolflink integration (#34104)
* WOLF Smart-set integration

* Removed translations. Changed device class of timestamp. Added new test for unknown exception

* Remove unit_of_measurement from hours sensor

* Code cleanup. Pull Request comments fixes

* ConnectError import change. Removed DEVICE_CLASS_TIMESTAMP

* Add unique id guard with tests. Use common translations. Move device_id resolution to config_flow.

* Remove debug print
2020-07-20 11:52:52 +02:00
Rob Bierbooms
d0d4e08a2a Force updates for ozw sensors (#38003)
* Force updates and disable polling

* Move force_update to sensor
2020-07-20 11:49:05 +02:00
Rob Bierbooms
65eedcf434 Disable polling for ozw entities (#38005) 2020-07-20 10:56:22 +02:00
Jean-Yves Avenard
36ee9ff58f Don't advertise switch devices as dimmable lights (#37978)
This issue has been corrected and then reverted multiple times.
It seems that the core issue was a casing one (On/off vs On/Off) ; for better
matching with a real Hue hub, also add the productname.

Tested to work with echo 2 and echo 5.
2020-07-19 22:33:56 -10:00
J. Nick Koston
6ea5c8aed9 Index the device registry (#37990) 2020-07-19 23:32:05 -07:00
Jesse Newland
92d72f26c7 Fix notify.slack service calls using data_template (#37980) 2020-07-19 22:55:50 -07:00
J. Nick Koston
890562e3ae Index the entity registry (#37994) 2020-07-19 22:52:41 -07:00
Daniel Shokouhi
41421b56a4 Bumpy pyobihai to make last reboot update as needed (#37914) 2020-07-19 19:02:45 -10:00
Jeff Irion
2c3618e2c7 Close androidtv ADB socket connection when Home Assistant stops (#37973)
* Close the ADB connection on HA stop

* Get the test to pass

* Remove unnecessary test code

* Register the callback sooner

* '_async_stop' -> 'async_close'

* 'async_close' method -> '_async_close' function
2020-07-20 02:48:08 +02:00
David F. Mulcahey
967a168ab7 Update comment about parallel updates to match the documentation (#37964) 2020-07-19 14:40:08 -10:00
Paulus Schoutsen
0b32caa71f Bumped version to 0.113.0b3 2020-07-20 00:35:25 +00:00
David F. Mulcahey
9b46796969 Force updates for ZHA light group entity members (Part 2) (#37995) 2020-07-20 00:35:18 +00:00
Erik Montnemery
8409385fca Bump pychromecast to 7.1.2 (#37976) 2020-07-20 00:35:18 +00:00
HomeAssistant Azure
9092b83869 [ci skip] Translation update 2020-07-20 00:03:01 +00:00
David F. Mulcahey
bfba44f6bb Force updates for ZHA light group entity members (Part 2) (#37995) 2020-07-19 15:05:53 -07:00
lawtancool
432cbd3148 Add Control4 integration (#37632)
Co-authored-by: J. Nick Koston <nick@koston.org>
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-07-19 13:48:08 -07:00
Erik Montnemery
c994904e75 Bump pychromecast to 7.1.2 (#37976) 2020-07-19 12:36:59 +02:00
michaeldavie
619707e0e3 Make nested get() statements safe (#37965) 2020-07-19 11:52:46 +02:00
HomeAssistant Azure
650d61e4f3 [ci skip] Translation update 2020-07-19 00:03:02 +00:00
Paulus Schoutsen
27859a2784 Bumped version to 0.113.0b2 2020-07-18 23:37:48 +00:00
David F. Mulcahey
28f78c0c67 Force updates for ZHA light group entity members (#37961)
* Force updates for ZHA light group entity members

* add a 3 second debouncer to the forced refresh

* lint
2020-07-18 23:37:48 +00:00
jjlawren
a3429848a2 Fix Sonos speaker lookup for Plex (#37942) 2020-07-18 23:37:48 +00:00
Tim Messerschmidt
757d05a74e Fix: Passes secure parameter when setting up Nuki (#36844) (#37932)
* Passes secure parameter when setting up Nuki (#36844)

* Adds an additional configuration option for soft bridges instead of passing True when setting up the bridge

* Revert "Adds an additional configuration option for soft bridges instead of passing True when setting up the bridge"

This reverts commit af1d839ab1.
2020-07-18 23:37:48 +00:00
Abílio Costa
253950f84f Change ZHA power unit from kW to W (#37896)
* Change ZHA power unit from kW to W

* Use POWER_WATT

* Move kW to W conversion; ignore unit for power
2020-07-18 23:37:48 +00:00
J. Nick Koston
af36a67b89 fix (#37889) 2020-07-18 23:37:47 +00:00
rajlaud
b784cc011d Fix bugs updating state of hdmi_cec switch (#37786) 2020-07-18 23:37:47 +00:00
Marcel van der Veldt
7c0a933452 Add ozw support for single setpoint thermostat devices (#37713)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-07-18 23:37:47 +00:00
Joakim Plate
8b207df819 Rfxtrx fixes for beta (#37957) 2020-07-18 16:34:50 -07:00
Thorjan Knudsvik
e6ff8d6839 Adds median to min_max component (#36686) 2020-07-18 16:18:31 -07:00
Joakim Plate
6fa04aa3e3 Add support for InputSelector trait (#35753) 2020-07-18 16:07:32 -07:00
David F. Mulcahey
2354d0117b Force updates for ZHA light group entity members (#37961)
* Force updates for ZHA light group entity members

* add a 3 second debouncer to the forced refresh

* lint
2020-07-18 14:47:32 -04:00
Joakim Plate
f173805c2f Make sensor and binary_sensor inherit from base class (#37946)
* Make sensor and binary_sensor inherit from base class

* Drop several pointless public properties

* Make sure base function has same parameters

* Drop pass

* Missed one

* Adjust inherit order
2020-07-18 13:43:38 +02:00
J. Nick Koston
b030ed1adf fix (#37889) 2020-07-18 07:25:07 -04:00
J. Nick Koston
ad22619efb Bump zeroconf to 0.28.0 (#37951) 2020-07-17 21:47:43 -10:00
Xiaonan Shen
394194d1e6 Add switch to pi_hole integration (#35605)
Co-authored-by: Ian <vividboarder@gmail.com>
2020-07-17 23:19:01 -07:00
J. Nick Koston
1acdb28cdd Automatically recover when the sqlite3 database is malformed or corrupted (#37949)
* Validate sqlite database on startup and move away if corruption is detected.

* do not switch context in test -- its all sync
2020-07-17 19:07:37 -10:00
J. Nick Koston
910b6c9c2c Index entity_registry_updated listeners (#37940) 2020-07-17 21:59:18 -07:00
Shulyaka
9ae08585dc Add humidifier device triggers (#36887)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2020-07-17 21:57:52 -07:00
jjlawren
a7dfa60208 Fix Sonos speaker lookup for Plex (#37942) 2020-07-17 18:18:53 -07:00
J. Nick Koston
1582e4347d Mock out I/O in the default_config test (#37897)
This test never passed locally because of the I/O.
2020-07-17 18:17:40 -07:00
HomeAssistant Azure
72309a0dfc [ci skip] Translation update 2020-07-18 00:02:49 +00:00
Joakim Plate
d0040e60cc Rftrx force update (#37944)
* Make sure sensor and binary_sensor force update

This make sure it's possible to react to events on all updates.

* Correct addition of binary sensors
2020-07-18 01:23:49 +02:00
Ivan Belokobylskiy
cecdce07cc Fix Yandex transport Integration, add signature to requests (#37365) 2020-07-17 12:55:30 -07:00
Shulyaka
cee136ec55 Add humidifier device conditions (#36962) 2020-07-17 11:33:52 -07:00
Shulyaka
7c9ef39ef6 Add humidifier intents (#37335)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-07-17 11:20:34 -07:00
Martin Weinelt
2e4b4dc188 prometheus: Reduce loglevel of failed float conversion to debug (#37936)
It creates alot of useless noise currently.

Fixes #30186
2020-07-17 20:18:35 +02:00
Daniel Shokouhi
6ad794e1f8 Switch back to create task for Neato (#37913) 2020-07-17 09:29:20 -07:00
Martin Weinelt
1dd5a36f5c Improve setup script portability (#37935) 2020-07-17 09:27:46 -07:00
rajlaud
1e8676bf2c Fix bugs updating state of hdmi_cec switch (#37786) 2020-07-17 09:21:42 -07:00
Abílio Costa
8beaccf2dd Change ZHA power unit from kW to W (#37896)
* Change ZHA power unit from kW to W

* Use POWER_WATT

* Move kW to W conversion; ignore unit for power
2020-07-17 10:04:04 -04:00
Marcel van der Veldt
24ed932b01 Add ozw support for single setpoint thermostat devices (#37713)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-07-17 14:25:16 +02:00
Tim Messerschmidt
0297c9e612 Fix: Passes secure parameter when setting up Nuki (#36844) (#37932)
* Passes secure parameter when setting up Nuki (#36844)

* Adds an additional configuration option for soft bridges instead of passing True when setting up the bridge

* Revert "Adds an additional configuration option for soft bridges instead of passing True when setting up the bridge"

This reverts commit af1d839ab1.
2020-07-17 13:04:12 +02:00
Joakim Plate
7c9be024bb Rfxtrx use previous received event to do complete restore (#37819)
* Add event attribute to display last received event

* Restore state using event attribute

* Allow empty dict for device config

* Must also validate normal case

* Do early return
2020-07-17 10:27:07 +02:00
J. Nick Koston
f5b628c04f Cleanup logbook tests to prevent failure on race condition (#37928) 2020-07-16 21:48:22 -07:00
J. Nick Koston
fa4e9c0485 Increase test line coverage of homeassistant/helpers/event.py to 100% (#37927)
* Increase test line coverage of homeassistant/helpers/event.py to 100%

* fix test
2020-07-16 21:47:53 -07:00
Eugene Prystupa
aaf084d713 Apply feedback on bond integration (#37921) 2020-07-16 21:25:04 -05:00
Chris
a6129467aa Add RGB light support to ozw (#37636) 2020-07-16 18:10:36 -07:00
Perry Naseck
93919dea88 Add Firmata Integration (attempt 2) (#35591) 2020-07-16 17:58:45 -07:00
Paulus Schoutsen
d297be2698 Bumped version to 0.113.0b1 2020-07-17 00:51:53 +00:00
J. Nick Koston
de67135e86 Ensure a state change tracker setup from inside a state change listener does not fire immediately (#37924)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-07-17 00:51:37 +00:00
Anders Melchiorsen
b684007fbb Upgrade pysonos to 0.0.32 (#37923) 2020-07-17 00:51:37 +00:00
cgtobi
98347345d1 Fix unavailable when value is zero (#37918) 2020-07-17 00:51:36 +00:00
Alexei Chetroi
c0302e6eca Fix ZHA electrical measurement sensor initialization (#37915)
* Refactor cached ZHA channel reads.

If doing a cached ZCL attribute read, do "only_from_cache" read for
battery operated devices only. Mains operated devices will do a network
read in case of a cache miss.

* Use cached attributes for ZHA electrical measurement

* Bump up ZHA zigpy dependency.
2020-07-17 00:51:35 +00:00
Bram Kragten
06bc98a3a2 Updated frontend to 20200716.0 (#37910) 2020-07-17 00:51:34 +00:00
Phil Bruckner
32858bcea3 Fix automation & script restart mode bug (#37909) 2020-07-17 00:51:33 +00:00
Franck Nijhof
979260f4be Fix swapped variables deprecation in log message (#37901) 2020-07-17 00:51:33 +00:00
Bram Kragten
408b52de1b Update frontend to 20200715.1 (#37888) 2020-07-17 00:50:26 +00:00
J. Nick Koston
b6befa2e83 Ensure a state change tracker setup from inside a state change listener does not fire immediately (#37924)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-07-16 17:50:06 -07:00
Anders Melchiorsen
2d93f8eae8 Upgrade pysonos to 0.0.32 (#37923) 2020-07-16 17:26:29 -07:00
cgtobi
baa7bb69b3 Fix unavailable when value is zero (#37918) 2020-07-17 00:28:49 +02:00
Alexei Chetroi
33dc015083 Fix ZHA electrical measurement sensor initialization (#37915)
* Refactor cached ZHA channel reads.

If doing a cached ZCL attribute read, do "only_from_cache" read for
battery operated devices only. Mains operated devices will do a network
read in case of a cache miss.

* Use cached attributes for ZHA electrical measurement

* Bump up ZHA zigpy dependency.
2020-07-16 16:25:42 -04:00
Phil Bruckner
716cee6907 Fix automation & script restart mode bug (#37909) 2020-07-16 12:03:43 -07:00
Bram Kragten
a224b944e9 Updated frontend to 20200716.0 (#37910) 2020-07-16 20:18:31 +02:00
Eugene Prystupa
37a70c73a5 Improve bond startup performance (#37900) 2020-07-16 10:31:15 -05:00
Franck Nijhof
93c6a9cd96 Fix swapped variables deprecation in log message (#37901) 2020-07-16 10:08:05 +02:00
mdegat01
16e5d02794 Add ignore_attributes option to influxdb (#37747)
* Added ignore_attributes option and tests

* adjusted config for overlapping customization with ignore attrs
2020-07-16 09:42:02 +02:00
Sly Gryphon
4ef581622d Feature/izone temperature precision (#37669)
* Change to precision tenths for current temp
2020-07-16 08:05:31 +08:00
Eugene Prystupa
0bfcd8c2ab Refactor bond tests (#37868) 2020-07-15 15:49:58 -05:00
J. Nick Koston
9db6318122 Remove support for legacy logbook events created before 0.112 (#37822)
* Remove support for legacy logbook events created before 0.112

Reduce the complexity of the logbook code.  This
should also have a small performance boost.

* None is the default
2020-07-15 10:38:08 -10:00
Bram Kragten
261f0b971c Update frontend to 20200715.1 (#37888) 2020-07-15 21:35:33 +02:00
Franck Nijhof
b81b57cdf7 Bumped version to 0.113.0b0 2020-07-15 21:29:28 +02:00
Pascal Vizeli
f4c3f5d074 Revert breaking change for Automation (#37885)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2020-07-15 20:38:29 +02:00
J. Nick Koston
abe3e3094e Provide workaround for missing/disabled/broken IPv6 (#37887) 2020-07-15 11:26:40 -07:00
Erik Montnemery
53d6f4948e Adapt MQTT config flow to default birth and will (#37875) 2020-07-15 11:16:03 -07:00
Bram Kragten
1b09c65e74 Updated frontend to 20200715.0 (#37884) 2020-07-15 07:41:39 -10:00
Phil
21649244e9 Update per review 3 2020-07-15 16:58:42 +00:00
Phil
741c702ff3 Add tests 2020-07-15 16:58:42 +00:00
Phil Bruckner
cf498b7beb Stop running scripts at shutdown (#37858) 2020-07-15 09:28:32 -07:00
Daniel Shokouhi
f24fe9c246 Improve Neato error logging by including device name (#37865) 2020-07-15 09:26:57 -07:00
Xiaonan Shen
d37a5cdde5 Fix yeelight flash (#37743)
* Fix yeelight flash

* Use cast instead of string comparison

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

Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2020-07-15 15:51:33 +02:00
Franck Nijhof
a3174a88f5 Don't reuse venv cache when Python version changes (#37881) 2020-07-15 15:08:38 +02:00
shker
c3724186cf Use supervisord "group:name" when get process info (#37678) 2020-07-15 13:45:29 +02:00
Paulus Schoutsen
633f9b2f01 Prefer external URLs because internal can't have valid SSL (#37872) 2020-07-15 09:23:16 +02:00
J. Nick Koston
1d7f3416d3 Switch async_track_state_change to the faster async_track_state_change_event part 7 (#37870)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-07-14 23:37:25 -07:00
J. Nick Koston
44fefb3216 Improve handling of template platforms when entity extraction fails (#37831)
Most of the the template platforms would check for
extract_entities failing to extract entities and avoid
setting up a state change listner for MATCH_ALL after
extract_entities had warned that it could not extract
the entities and updates would need to be done manually.
This protection has been extended to all template platforms.

Alter the behavior of extract_entities to return the
successfully extracted entities if one or more templates
fail extraction instead of returning MATCH_ALL
2020-07-14 22:34:35 -07:00
J. Nick Koston
e938dcfbda Switch universal media_player to use async_track_state_change_event (#37832)
async_track_state_change_event is faster than async_track_state_change
and since we do not care about the data being returned to the callback
this is a simple speedup
2020-07-14 22:32:03 -07:00
J. Nick Koston
20d5d3c162 Switch a few more async_track_state_change to the faster async_track_state_change_event (#37833)
async_track_state_change_event is faster than async_track_state_change
and since we do not care about the data being returned to the callback
this is a simple speedup
2020-07-14 22:31:34 -07:00
J. Nick Koston
b12566e265 Switch async_track_state_change to the faster async_track_state_change_event (#37834)
async_track_state_change_event is faster than async_track_state_change
2020-07-14 22:30:47 -07:00
J. Nick Koston
b430496b13 Switch async_track_state_change to the faster async_track_state_change_event part 4 (#37863)
* Switch async_track_state_change to the faster async_track_state_change_event part 4

Calling async_track_state_change_event directly is faster than async_track_state_change (see #37251) since async_track_state_change is a wrapper around async_track_state_change_event now

* pylint
2020-07-14 22:25:48 -07:00
J. Nick Koston
aed98a830f Switch async_track_state_change to the faster async_track_state_change_event part 5 (#37866)
Calling async_track_state_change_event directly is faster than async_track_state_change (see #37251) since async_track_state_change is a wrapper around async_track_state_change_event now
2020-07-14 22:25:12 -07:00
J. Nick Koston
e65235b207 Switch async_track_state_change to the faster async_track_state_change_event part 6 (#37869)
Calling async_track_state_change_event directly is faster than async_track_state_change (see #37251) since async_track_state_change is a wrapper around async_track_state_change_event now
2020-07-14 22:24:27 -07:00
J. Nick Koston
bf72e3c965 Update august manufacturer name (#37867)
* Update august manufacturer name

This allows homekit to link the accessories to the august app

* yeah.. update the test
2020-07-14 18:03:24 -10:00
Eugene Prystupa
b07d09f7dc Add support for fireplaces to bond integration (#37850) 2020-07-14 22:27:03 -05:00
J. Nick Koston
41cd90648e Have async_track_point_in_utc_time call async_run_job directly from call_at (#37790)
We do not need a nested function here since call_at
takes args
2020-07-14 17:24:36 -10:00
HomeAssistant Azure
e852a2eb9b [ci skip] Translation update 2020-07-15 00:02:40 +00:00
Bram Kragten
c62345b9a3 Updated frontend to 20200714.0 (#37862) 2020-07-14 13:50:19 -10:00
David F. Mulcahey
69d1faea35 bump zigpy and zha quirks (#37859) 2020-07-14 19:34:57 -04:00
Franck Nijhof
706eb8f36a Merge branch 'master' into dev 2020-07-14 23:08:43 +02:00
Daniel Shokouhi
ddfbeffd28 Fix zone cleaning and raise config entry not ready when needed (#37741) 2020-07-14 22:59:03 +02:00
Jannik Beyerstedt
d8c2732bcb Do no crash Luftdaten on additional data returned by the API (#37763) 2020-07-14 22:56:02 +02:00
Daniel Pervan
5b3d094a1e Fix Fibaro HC light switches not being configured as Light entities (#37690) 2020-07-14 22:47:05 +02:00
SukramJ
d119c96aee Add HmIP-FSI16 to HomematicIP Cloud (#37715) 2020-07-14 22:43:21 +02:00
J. Nick Koston
d4111617ca Ensure HomeKit does not throw when a linked motion sensor is removed (#37773) 2020-07-14 22:38:55 +02:00
J. Nick Koston
f8d547f2d3 Adjust history as all scripts can now be canceled (#37820) 2020-07-14 22:31:34 +02:00
Aidan Timson
36dde3ff68 Use size of camera in Agent DVR (#36375) 2020-07-14 22:25:34 +02:00
Franck Nijhof
209f9b6722 Always expose Toon gas sensors (#37829) 2020-07-14 22:22:44 +02:00
J. Nick Koston
f5cbae0cd5 Avoid homekit crash when temperature is clamped above max value (#37746) 2020-07-14 22:21:10 +02:00
Bram Kragten
9ecaa10e51 Adjust icons for MDI bump (#37730) 2020-07-14 22:17:14 +02:00
J. Nick Koston
5cd6370822 Switch async_track_state_change to the faster async_track_state_change_event part 3 (#37852)
async_track_state_change_event is faster than async_track_state_change
2020-07-14 09:40:01 -10:00
Bram Kragten
ea17d36cbb Frontend: deprecate extra_html_url (#37843) 2020-07-14 21:06:36 +02:00
Adam Liddell
c3f63e0739 Fix media_content_id attribute in Spotify integration (#37853)
Previously, the media_content_id field would contain the track name, which
appears was a regression when the Spotify integration was rewritten in
7e4b9adc. The media_content_id now reverts to containing the Spotify
track 'uri' field, which has the form 'spotify:track:...'
2020-07-14 20:37:08 +02:00
Bram Kragten
7d77fa92c2 Add mode info attributes to script and automation (#37815)
Co-authored-by: J. Nick Koston <nick@koston.org>
2020-07-14 10:47:59 -07:00
Ville Skyttä
ac0dbb17af Attrs cleanups (#37849) 2020-07-14 10:30:30 -07:00
Phil Bruckner
7e280e2b27 Add choose script action (#37818)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2020-07-14 10:22:54 -07:00
Eugene Prystupa
515ad6164d Add support for generic device (switch) to bond integration (#37837) 2020-07-14 08:54:33 -05:00
dependabot[bot]
f0916aeb86 Bump actions/upload-artifact from v2.0.1 to 2.1.0 (#37841)
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from v2.0.1 to 2.1.0.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/v2.0.1...ebad382c0953e8c6b4039e8d30dfd19ee7b2a862)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-07-14 10:39:58 +02:00
Ville Skyttä
22f17a1887 Travis CI improvements (#37840) 2020-07-14 09:29:56 +02:00
kennedyshead
81914258e9 Version bump for asuswrt (#37827)
Co-authored-by: magnusknutas <magnus@thefarm.se>
2020-07-14 09:27:07 +02:00
Paulus Schoutsen
ec1df9b427 Merge pull request #37836 from home-assistant/rc 2020-07-13 20:04:12 -07:00
Paulus Schoutsen
fb484e87c0 Bumped version to 0.112.5 2020-07-14 01:11:49 +00:00
Robert Svensson
5d1d113a25 deCONZ - don't let light "attr" events update group data (#37797) 2020-07-14 01:11:24 +00:00
Robert Svensson
738d3a13e1 UniFi - Handle session expiration (#37782) 2020-07-14 01:11:23 +00:00
Kevin Fronczak
2c58d860b6 Bump blinkpy version to fix connection errors (#37755)
* Bump blinkpy version to fix connection errors

* Bump blinkpy version to fix connection errors

* Rebased, re-ran gen_requirements_all
2020-07-14 01:11:23 +00:00
Rohan Kapoor
d0e26c3dee Add support for the DataUpdateCoordinator to not automatically update (#37734) 2020-07-14 01:11:22 +00:00
J. Nick Koston
6eca0b2a39 Fix homekit_controller discovery via zeroconf (#37725) 2020-07-14 01:11:21 +00:00
Erik Montnemery
502f0cd2ce Fix MQTT availability startup race (#37718) 2020-07-14 01:10:42 +00:00
Erik Montnemery
114fbb1278 Tweak MQTT availability (#37719) 2020-07-14 01:10:25 +00:00
Erik Montnemery
5d26f5d01d Support multiple MQTT availability topics (#37418)
* Support multiple MQTT availability topics

* Make availability list and availability_topic exclusive

* Make availability list and availability_topic exclusive

* Add missing abbreviation
2020-07-14 01:10:15 +00:00
Rami Mosleh
0d58048cea Properly set update_interval during Speedtest setup (#37708)
* Properly set update_interval during setup

* implement new update_interval method
2020-07-14 01:04:47 +00:00
bsmappee
39d5fb82e5 Smappee dependency update (#37680) 2020-07-14 01:04:47 +00:00
J. Nick Koston
bfbb2826bc Fix homekit_controller discovery via zeroconf (#37725) 2020-07-13 17:45:05 -07:00
HomeAssistant Azure
aabf0dab88 [ci skip] Translation update 2020-07-14 00:03:03 +00:00
Haemish Kyd
33eaf081cd Apply code review changes for poolsense (#37817) 2020-07-13 18:04:10 -05:00
Eugene Prystupa
95e72b4c4b Map bond fan speeds to standard HA speeds (#37808) 2020-07-13 18:00:05 -05:00
Ville Skyttä
9e8e5c37f4 Update Travis-CI to use Python 3.7.1 (#37830)
Refs 89a9634d35
2020-07-14 00:45:10 +02:00
Joakim Plate
1a64108eea Switch rfxtrx to config entries (#37794)
* Switch to config flow setup

* Add minimal test for config flow

* Add myself as codeowner and address some review concerns

* Address some further review comments
2020-07-13 23:24:28 +02:00
Eugene Prystupa
ed3f25489e Apply bond python related feedback from a prior PR (#37821) 2020-07-13 23:07:35 +02:00
tizzen33
4aaf7c5432 Convert Toon expires_in value to float (#37716)
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2020-07-13 22:59:27 +02:00
Rami Mosleh
cd3e045e06 Properly set update_interval during Speedtest setup (#37708)
* Properly set update_interval during setup

* implement new update_interval method
2020-07-13 12:32:22 -07:00
Markus Bong
b152d59afe Add devolo binary sensor device class mapping (#37350)
* add device class mapping for binary sensors

* change if else statement to or
2020-07-13 08:56:22 -10:00
Paulus Schoutsen
9ac1475251 Simplify logger integration (#37780)
Co-authored-by: J. Nick Koston <nick@koston.org>
2020-07-13 10:20:18 -07:00
Paulus Schoutsen
8ed1a29c82 Drop white blacklist pt1 (#37816) 2020-07-13 17:43:11 +02:00
Joakim Plate
ccbc3b5e39 Add rfxtrx ability to send a raw command to device (#37793)
* Add the ability to send a raw command to device

* Add a test for new service

* Use async test

* Sort includes
2020-07-13 16:54:52 +02:00
Jakob Schlyter
dbcd5f4c2c Add urlencode template filter (#37753)
* add urlencode template filter

* fix flake8

* add test to string ang integer

* better test vectors
2020-07-13 16:48:29 +02:00
Paulus Schoutsen
34c2579507 Constraints pt3 (#37803) 2020-07-13 15:55:20 +02:00
Dermot Duffy
eb6fda8387 Allow an extra packet without dts (for Arlo camera streaming) (#37792)
* Allow 1 packet without dts. See https://github.com/twrecked/hass-aarlo/issues/151 .

* Reset boolean once a packet with dts is found.

* Fix no-else-continue lint error.
2020-07-13 09:47:33 -04:00
pnguyen-tyro
d8ec1d36b2 pydaikin version bump to 2.3.1: (#37682)
* Fix skyfi incorrect setting zone
* Add support for advanced modes for brp069 model
2020-07-13 08:40:16 +02:00
Joakim Plate
aaa073183c Drop dummy connection (#37805)
We now mock the module
2020-07-13 03:40:45 +02:00
Paulus Schoutsen
8e71559068 Bump aiokafka to 0.6.0 (#37778) 2020-07-12 19:39:01 -06:00
Joakim Plate
87f6b7cdd4 Replace rfxtrx entity events with integration events (#37565)
* Drop per entity events

* Correct linting error

* Drop keys()
2020-07-13 02:57:19 +02:00
HomeAssistant Azure
d3b47b6d89 [ci skip] Translation update 2020-07-13 00:02:52 +00:00
Eugene Prystupa
f32f73a7d1 Add basic support for lights in bond integration (#37802) 2020-07-12 18:45:47 -05:00
AJ Schmidt
b63f882c3f Fix Dockerfile.dev for VS Code devcontainer (#37801) 2020-07-12 16:18:08 -07:00
Robert Svensson
548e956670 deCONZ - don't let light "attr" events update group data (#37797) 2020-07-12 16:16:40 -07:00
jjlawren
5c28919fba Wrap possible I/O in executor (#37688) 2020-07-12 18:09:47 -04:00
Haemish Kyd
6fe54e31cc Apply code quality updates to poolsense (#37781)
* Created a binary sensor and corrected some review comments.

* Updated the poolsense class and its interface to handle credentials better

* Moved the client session to the PoolSense class.

* Apply suggestions from code review

* Update binary_sensor.py

* Update homeassistant/components/poolsense/__init__.py

* Update sensor.py

* Update binary_sensor.py

* Removed unnecessary class variable

* Correcting a merge error.

Co-authored-by: Chris Talkington <chris@talkingtontech.com>
2020-07-12 15:33:30 -05:00
Eugene Prystupa
e9440c49d5 Add support for fan direction in bond integration (#37789)
* Add support for fan direction in bond integration

* Add support for fan direction (PR feedback)
2020-07-12 15:30:24 -05:00
Joakim Plate
53844488d8 Switch rfxtrx to integration level config (#37742)
* Switch to integration level config

* Switch to per device config rather than per entity type

* All roller shutters should be added as covers

(there are non lighting types)

* Fixup tests that used invalid packets for platforms

* Avoid variable re-use

* Allow control events on sensors too

That way we get signal level sensors for these too

* Lint correction

* Don't filter sensors from config

Disable sensors from GUI if the entities are not wanted

* Correct usage of ATTR_ instead of CONF_

* Make sure the logging when a new entity is added includes the event
2020-07-12 22:03:22 +02:00
Eric Severance
16a947aa5f Add generic unavailable and last_updated metrics for prometheus (#37456)
* Add generic unavailable and last_updated metrics for prometheus

* Updated with feedback from the code review
2020-07-12 21:27:33 +02:00
Eugene Prystupa
c6ab2c5d0a Add Bond hub as a device for bond entities (#37772)
* Introduce Bond Hub concept

* Read Hub version information when setting up entry

* Link entities to Hub using via_device

* Add test to verify created Hub device properties
2020-07-12 11:31:53 -05:00
Robert Svensson
6826a8829c UniFi - Handle session expiration (#37782) 2020-07-12 09:47:26 +02:00
J. Nick Koston
f16090caf4 Significantly improve logging performance when no integrations are requesting debug level (#37776) 2020-07-11 22:33:25 -07:00
Alan Tse
401dd4a32a Bump teslajsonpy to 0.9.3. (#37771)
Fixes #37684
2020-07-11 20:07:20 -05:00
Eugene Prystupa
b7318b1914 Upgrade bond-home to 0.0.9 (#37764) 2020-07-11 20:04:07 -05:00
HomeAssistant Azure
f9ce3f3bc4 [ci skip] Translation update 2020-07-12 00:04:30 +00:00
Phil Bruckner
e5a081c7dd Fix script queued mode typo (#37759) 2020-07-11 13:34:53 -05:00
Paulus Schoutsen
690579749e Bump pyHS100 to 3.5.1 (#37749) 2020-07-11 18:02:08 +02:00
Kevin Fronczak
4d0c4ac5b3 Bump blinkpy version to fix connection errors (#37755)
* Bump blinkpy version to fix connection errors

* Bump blinkpy version to fix connection errors

* Rebased, re-ran gen_requirements_all
2020-07-11 17:50:18 +02:00
Paulus Schoutsen
0bcc8624b7 Reference constraint files from requirement files (#37751)
* Reference constraint files from requirement files

* Update azure-pipelines-wheels.yml

Co-authored-by: Pascal Vizeli <pvizeli@syshack.ch>
2020-07-11 06:20:14 -07:00
Paulus Schoutsen
0bf772b68b Bump ADS to 3.1.3 (#37748) 2020-07-10 23:50:28 -07:00
Haemish Kyd
8a2b34cc09 Updates to poolsense integration (#37613)
* Created a binary sensor and corrected some review comments.

* Updated the poolsense class and its interface to handle credentials better

* Moved the client session to the PoolSense class.

* Apply suggestions from code review

* Update binary_sensor.py

* Update homeassistant/components/poolsense/__init__.py

* Update sensor.py

* Update binary_sensor.py

Co-authored-by: Chris Talkington <chris@talkingtontech.com>
2020-07-10 21:53:34 -05:00
Eugene Prystupa
1e9bc278e0 Refactor Bond integration to remove duplication (#37740)
* Refactor Bond integration to remove duplication in Entity code and unit tests

* Refactor Bond integration to remove duplication in Entity code and unit tests (PR feedback)
2020-07-10 20:20:50 -05:00
Eugene Prystupa
0fbdb47dcf Fix incorrect comparison of speed "off" by identity instead of by value (#37738) 2020-07-10 19:45:12 -05:00
Eugene Prystupa
366354c90c Support Fan domain in Bond integration (#37703)
* Support Fan domain in Bond integration

* Support Fan domain in Bond integration

* Support Fan domain in Bond integration (apply PR feedback)

* Support Fan domain in Bond integration (apply PR feedback)
2020-07-10 19:23:35 -05:00
HomeAssistant Azure
2e72216a1c [ci skip] Translation update 2020-07-11 00:02:51 +00:00
Phil Bruckner
63e55bff52 Remove legacy script mode and simplify remaining modes (#37729) 2020-07-10 17:00:57 -07:00
Paulus Schoutsen
8a8289b1a4 Uninstall typing (#37735) 2020-07-10 15:57:40 -07:00
Rohan Kapoor
0db8140c13 Add support for the DataUpdateCoordinator to not automatically update (#37734) 2020-07-10 15:48:20 -07:00
J. Nick Koston
52939865fa Use the shared zeroconf instance for homekit_controller (#37691)
* Use the shared zeroconf instance for homekit_controller

* bump version

* Update for upstream changes. Thank you @Jc2k !

* naming

* bump version

* empty commit to reset CI as re-run is not working
2020-07-10 12:18:53 -10:00
Aaron Bach
e61da2fff3 Re-add ability to use remote files (by URL) in Slack messages (#37161)
* Re-add remote file support for Slack

* More work

* Ensure Slack can only upload files from whitelisted directories

* Cleanup

* Finish work

* Code review

* Messing around

* Final cleanup

* Add comment explaining why we use aiohttp for remote files

* Typo
2020-07-10 16:07:44 -06:00
Joakim Plate
5255bf20d3 Add rfxtrx device classes to known types (#37698)
* Add device classes to known types

* Update homeassistant/components/rfxtrx/sensor.py

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-07-10 21:47:37 +02:00
Phil Bruckner
91271f388c Add new repeat loop for scripts and automations (#37589) 2020-07-10 13:37:19 -05:00
Erik Montnemery
b187b17a4f Fix MQTT availability startup race (#37718) 2020-07-10 09:40:15 -07:00
Erik Montnemery
383db60dff Tweak MQTT availability (#37719) 2020-07-10 09:39:18 -07:00
Paulus Schoutsen
67b18aef5b Fix Hue homekit discovery (#37694)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2020-07-10 09:37:36 -07:00
Greg Dowling
405c1cdc86 Fix loopenergy callback updating HA before the object is initialised (#37650)
* Fix loopenergy callback updating HA before the object is initialised.

* Change to use async_added_to_hass.
2020-07-10 17:42:27 +02:00
Jakub Bednář
c260b7fa16 Update influxdb-client dependency to 1.8.0, fix test write for InfluxDB v2 (#37710)
* chore: updated influxdb-client dependency to 1.8.0, fixed testing write for InfluxDB v2

* fix: code style
2020-07-10 16:56:36 +02:00
Diefferson Koderer Môro
804cae02ee Fix get profiles checking if has ptz capabilities (#37176) 2020-07-10 10:13:16 -04:00
Paul Annekov
609bd6313a bump tuyaha 0.0.7 (#37709) 2020-07-10 14:56:21 +02:00
Joakim Plate
67038c6ba8 Rewrite rfxtrx init logic to do away with global object (#37699)
* Rewrite init logic to do away with global object

* Put constant at end

* Use a set instead of list for device_ids
2020-07-10 14:52:07 +02:00
Paulus Schoutsen
b45a952d61 Upgrade foobot-async (#37706) 2020-07-10 08:44:19 +02:00
mdegat01
e379bfe383 Revert "Updated influxdb-client dependency to 1.8.0" (#37396)" (#37697)
This reverts commit 9964bd40ed.
2020-07-10 05:05:55 +02:00
Aaron Bach
5f36023b9e Actually fix Guardian entity services (#37700)
* Actually fix Guardian entity services

* Bump aioguardian

* Remove upgrade_firmware defaults
2020-07-09 20:52:13 -06:00
HomeAssistant Azure
82739bac3b [ci skip] Translation update 2020-07-10 00:03:39 +00:00
Eugene Prystupa
69a8ba2af8 Add bond cover assumed state and local polling (#37666)
* Declare Bond covers as having assumed state, setup local polling for state updates

* Declare Bond covers as having assumed state, setup local polling for state updates (apply feedback from PR review)

* Declare Bond covers as having assumed state, setup local polling for state updates (apply feedback from PR review)

* Declare Bond covers as having assumed state, setup local polling for state updates (apply feedback from PR review)
2020-07-09 18:25:18 -05:00
Jelle Raaijmakers
ef254a1c3d Round time values in get_age() to better approximate the actual age (#37125) 2020-07-09 11:19:38 -07:00
Harryjholmes
511da9557b Change audio sample rate for apple watch homekit camera (#37637)
* Update type_cameras.py

* Apply suggestions from code review

Support both 24kHz and 16kHz sample rate

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

* Adjust formatting

* Reformat

Co-authored-by: J. Nick Koston <nick@koston.org>
2020-07-09 05:19:49 -10:00
Joakim Plate
bcd604eec2 Detect lingering threads after tests (#37270)
* Detect lingering threads after tests

* Make sure cast is setup before checking state

* Make sure we ask executors of old hass to shutdown

We are not waiting here, just hoping for the best

* Make sure all instances of hass and executors is stopped.

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

* Also apply hass stopping to scripts

* Adjust to changes how we set up executor

* Add new CoreState.stopped

Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2020-07-09 16:15:14 +02:00
bsmappee
08fa701854 Smappee dependency update (#37680) 2020-07-09 13:03:23 +02:00
Pascal Vizeli
748ce05341 Python 3.8 on core Container (#37677) 2020-07-09 13:01:18 +02:00
Joakim Plate
a3310330f4 Split handling and application of event (#37665)
This way _handle_event can contain things available
when entity has been added to home assistant,
and _apply event can remain internal and used on init.
2020-07-09 11:40:37 +02:00
Paulus Schoutsen
aa39dede59 Merge pull request #37668 from home-assistant/rc 2020-07-08 22:50:16 -07:00
cgtobi
155a5f7c26 Add back Netatmo public weather sensors (#34401)
* Add public weather sensors back in

* Remove stale code

* Cleanup after before adding entities

* Fix pylint complaint

* Add test for options flow

* Change mode to listbox

* Update .coveragerc

* Address comments

* Don't process empty list

* Address comment

* Fix mistake

* Make signal unique

* Make string more unique

* Fix merge conflict
2020-07-09 06:39:33 +02:00
jduquennoy
af6a4bb6cf Refactor Enocean part 1 (#35927)
* First step of an EnOcean integration refactoring, including code reorganisation and support of a setup config flow

* Moved title to root of strings file

* Fixed pre-commit checks failures

* Fixed linter errors

* Updated formatted string format in logs

* Removed leftover comment

* Multiple changes after PR change requests.
Using an import flow for yaml config, removed unnecessary logs, added proper unload in __init__ and EnOceanDongle
Replaced config state machine by several flows.
Serial port validity check done in the EnOceanDongle class asynchronously, removed unique ID from config flow
Multiple cosmetic changes

* Multiple changes after PR change requests

* Added variable to store default value, as setdefault was caught returning None when the empty dict literal was passed as an argument

* Literal used directly

* Added tests for EnOcean config flows, changed static methods to bundle methods for bundle

* Updated variable name

* Added missing mock to test, replaced repeated magic strings by constants

* Changed imports to avoid an unused import warning from pylint on DOMAIN

* Adding pylint exception for unused import

* Added proper propagation of setup and unload to platforms, removed dead code, some syntax changes

* Removed setup_entry forwarding as the entities can only be configured using yaml

* Removed forwarding of unload

* Enabled code coverage for config flow only

* Clean up coveragerc

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-07-08 20:46:38 -04:00
Shulyaka
872140123d Add humidifier support to prometheus (#37112)
* Add humidifier support to promethease

* add humidifier dependency

* handle dependencies

* wrong place

* applied suggestions from code review

* fix typo

* Revert "wrong place"

This reverts commit 58e509d767.

* Revert "handle dependencies"

This reverts commit 74bd523e08.

* Revert "add humidifier dependency"

This reverts commit 8840b378e5.
2020-07-08 20:42:45 -04:00
Chris
3c7f729b15 OZW Usercodes update services.yaml with examples (#37667) 2020-07-08 17:33:04 -07:00
Paulus Schoutsen
81af0e2ada Bumped version to 0.112.4 2020-07-09 00:18:38 +00:00
J. Nick Koston
9be06d8be4 Increase slow setup logging to warning level (#37635)
When I fixed verbose logging in #36444, I did not
realize this would mean almost nobody would
see this now.
2020-07-09 00:18:31 +00:00
Robert Van Gorkom
2da64b03f3 Remove withings use of deprecated classes (#37611)
Adjusting in bed device class to occupancy.
2020-07-09 00:18:31 +00:00
Bas Nijholt
3ede54def9 Bump aiokef to v0.2.13 which fixes the device from becoming "Unavailable" (#37607) 2020-07-09 00:18:30 +00:00
Maciej Bieniek
3b56e75e1d Bump backend library for Dune HD integration (#37594) 2020-07-09 00:18:03 +00:00
starkillerOG
8f77cc2f7b Fix DenonAvr discovery of Denon DN-500AV (#37529)
* fix discovery of Denon DN-500AV

* fix discovery of Denon DN-500AV

* fix discovery of Denon DN-500AV

* fix typo

* bump denonavr to 0.9.4

* add ignored model test

* fix mistake in branch
2020-07-09 00:18:02 +00:00
bsmappee
cdb283319d Update Smappee integration with proper solar, voltage and reactive entities (#37407) 2020-07-09 00:18:01 +00:00
bsmappee
a30b5690f8 Place smappee supported configurations after device class (#37595) 2020-07-09 00:17:51 +00:00
therealryanbonham
aac65416ff Upgrade sonar to 0.2.3 (#37392)
Co-authored-by: Ryan Bonham <ryan@transparent-tech.com>
2020-07-09 00:16:44 +00:00
Sava Tshontikidis
af87168ca3 Add kwargs to send_magic_packet() service individually (#37387) 2020-07-09 00:16:43 +00:00
HomeAssistant Azure
251a1d6619 [ci skip] Translation update 2020-07-09 00:05:04 +00:00
Chris
fd65ce08c1 Add ozw usercode support (#37390) 2020-07-08 16:41:53 -07:00
Rami Mosleh
62477a3457 Use "next_state" attr instead of "post_pending" for ArmDisarm trait (#37325) 2020-07-08 16:38:42 -07:00
Ville Skyttä
a077c280c8 Convert syncthru to config flow and native SSDP discovery (#36690)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-07-08 16:38:16 -07:00
Erik Montnemery
fb3049d6a2 Set MQTT sensor to state unavailable when value expires (#36609) 2020-07-08 16:20:19 -07:00
Chris Talkington
fb420d5952 Apply more suggestions from bond code review (#37592)
* apply more suggestions from bond code review

* Update cover.py

* Update test_cover.py

* Update test_cover.py

* Update test_cover.py

* Update cover.py

* Update utils.py

* Update test_cover.py

* Update test_utils.py

* Delete test_utils.py

* Update cover.py

* Update test_cover.py

* Update test_cover.py
2020-07-08 16:28:53 -05:00
Sava Tshontikidis
c1de781a23 Add kwargs to send_magic_packet() service individually (#37387) 2020-07-08 14:25:21 -07:00
Aaron Bach
05f93f27df Fix missing Guardian service strings (#37659) 2020-07-08 14:51:42 -06:00
bsmappee
99c815bcbd Update Smappee integration with proper solar, voltage and reactive entities (#37407) 2020-07-08 13:45:01 -07:00
mdegat01
d60c52bbc7 Check buckets/dbs for validity during Influx sensor startup (#37391)
* Check buckets/dbs for validity during sensor startup

* Empty array instead of none
2020-07-08 15:37:43 -04:00
mdegat01
9964bd40ed Updated influxdb-client dependency to 1.8.0 (#37396) 2020-07-08 15:36:54 -04:00
Mikkel Pilehave Jensen
317bd8ffd2 Add preset modes to Touchline (#36054)
* Added preset modes.

* Flake8 passed.

* New and cleaner version.

* isort fixed?

* OrderedDict removed, constant OPERATION_LIST removed.

* ClimateDevice changed to ClimateEntity

* Two methods replaced with constants.

* Update homeassistant/components/touchline/climate.py

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

* Update homeassistant/components/touchline/climate.py

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

* Update homeassistant/components/touchline/climate.py

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

* All changes needed.

* Cleaned up

* Clean up

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-07-08 15:33:27 -04:00
Raman Gupta
572d5a09cd Vizio: when checking new host against existing config entry hosts, make check hostname aware (#37397)
* make ip check hostname aware

* add executor job for sync function doing IO and remove errant comma

* revert change to update new_data explicitly for options keys since it is already done later

* empty commit to retrigger CI
2020-07-08 15:31:41 -04:00
Alexander Hardwicke
368116d242 Give fan and remote components unique LED strings (#37605) 2020-07-08 15:29:51 -04:00
Erik Montnemery
550f9ba9b0 Modify cast tests to setup via cast integration (#37256)
* Improve tests

* Improve tests

* Don't start zeroconf from tests
2020-07-08 12:11:34 -07:00
Pascal Vizeli
b067e1deee Update azure-pipelines-wheels.yml for Azure Pipelines 2020-07-08 21:08:49 +02:00
Chris
aa8f3ad307 Add OZW support for set_config_parameter service (#37523)
* Add support for set_config_parameter service

* Adjusted elif to if

* More if/else cleanup

* More if/else cleanup

* Less nesting

* End loop properly

* Added byte type

* Convert break to return
2020-07-08 20:59:52 +02:00
Pascal Vizeli
03ce1f46f6 Update azure-pipelines-wheels.yml for Azure Pipelines 2020-07-08 18:30:34 +02:00
J. Nick Koston
4343e84ecf Increase slow setup logging to warning level (#37635)
When I fixed verbose logging in #36444, I did not
realize this would mean almost nobody would
see this now.
2020-07-08 15:57:07 +02:00
Raman Gupta
80890f0096 bump pyvizio version (#37644) 2020-07-08 07:24:31 -04:00
Pascal Vizeli
a58e428f48 Update azure-pipelines-wheels.yml for Azure Pipelines 2020-07-08 12:06:04 +02:00
Marcel van der Veldt
adc88deaa8 Fix ozw entities cleanup on node removal (#37630)
* fix hass cleanup on node removal

also detect removefailednode command to issue a full cleanup

* satisfy pylint
2020-07-08 09:52:03 +02:00
Paulus Schoutsen
ad025f0b3b Mark the example values as strings because that's what we expect (#37640) 2020-07-07 23:38:08 -07:00
Eugene Prystupa
90c308a393 fix erroneous dependency used by Bond integration (simplejson to json) (#37642) 2020-07-07 20:36:22 -05:00
HomeAssistant Azure
6fd756299e [ci skip] Translation update 2020-07-08 00:02:43 +00:00
Paulus Schoutsen
00182e7b9f Reduce log level of unknown discovered services (#37617) 2020-07-07 15:29:37 -07:00
J. Nick Koston
3871688dfb Fix homekit test mocking missed in loop changeover (#37628) 2020-07-07 15:14:58 -07:00
Pascal Vizeli
4c2b12d8f1 Update azure-pipelines-wheels.yml for Azure Pipelines 2020-07-07 23:39:51 +02:00
Jc2k
af7bf428d8 Bump aiohomekit to 0.2.41 (#37602) 2020-07-07 21:58:09 +01:00
Marcel van der Veldt
cbccf011e7 Ozw climate fixes (#37560)
* fix presets and mode conversion

* fix mapping issues in ozw climate

* build mapping table in advance

* Copying a dict to a list copies the keys by default
2020-07-07 16:20:57 -04:00
brefra
2b37cbe079 Change MediaPlayerDevice into MediaPlayerEntity (#37629) 2020-07-07 16:19:27 -04:00
Joakim Plate
d0983b69df Switch what is used for unique identifier (#37581)
* Switch what is used for device identifier

type_string can be changed if new device types are added based
on same driver.

* No need to slugify unique id
2020-07-07 21:50:19 +02:00
Franck Nijhof
d0632ab636 Fix sync/async override in sms (#37621) 2020-07-07 20:35:30 +02:00
Franck Nijhof
aeb0504c1c Fix acmeda syn/async cover methods (#37618) 2020-07-07 20:35:02 +02:00
Franck Nijhof
621c375a25 Remove dead code from cast (#37620) 2020-07-07 20:34:30 +02:00
Franck Nijhof
1499c0a563 Fix sync/async and small improvements to forked_daapd (#37619) 2020-07-07 20:08:22 +02:00
Robert Van Gorkom
09ee52c4cb Remove withings use of deprecated classes (#37611)
Adjusting in bed device class to occupancy.
2020-07-07 19:17:04 +02:00
Mateusz Soszyński
663acfe89f Add host names in esphome logs (#37587) 2020-07-07 19:15:45 +02:00
Franck Nijhof
07d7191db3 Add current temperature as separate sensor in Toon (#37336)
* Add current temperature as seperate sensor in Toon

* Set default enabled to False

* Trigger build
2020-07-07 10:06:24 -07:00
Franck Nijhof
c89c0d7824 Fix typos in Hue integration (#37597) 2020-07-07 09:33:37 -05:00
Franck Nijhof
0f5d300db4 Upgrade coverage to 5.2 (#37598) 2020-07-07 09:32:19 -05:00
Franck Nijhof
270e87166c Upgrade debugpy to 1.0.0b12 (#37599) 2020-07-07 09:31:33 -05:00
Bas Nijholt
50bb249a93 Bump aiokef to v0.2.13 which fixes the device from becoming "Unavailable" (#37607) 2020-07-07 09:30:20 -05:00
starkillerOG
3f1d25b9d0 Fix DenonAvr discovery of Denon DN-500AV (#37529)
* fix discovery of Denon DN-500AV

* fix discovery of Denon DN-500AV

* fix discovery of Denon DN-500AV

* fix typo

* bump denonavr to 0.9.4

* add ignored model test

* fix mistake in branch
2020-07-07 09:28:20 -05:00
bsmappee
6b97b4f5ac Place smappee supported configurations after device class (#37595) 2020-07-07 09:15:52 -05:00
J. Nick Koston
76be95d7e0 Make devices and activities visible as harmony attributes (#37559)
* Make devices and activities visibile as harmony attributes

* Allow restoring previous activity, add tests

* fix test

* Kill activity_notify with fire

* remove trailing ,
2020-07-07 09:02:22 -05:00
Pascal Vizeli
ae7d464878 Update azure-pipelines-wheels.yml for Azure Pipelines 2020-07-07 13:19:25 +02:00
Martin Eberhardt
a58e357cd5 Update Rejseplanen rjpl to 0.3.6 (#37215) 2020-07-07 10:07:50 +02:00
Maciej Bieniek
43c7a8a119 Bump backend library for Dune HD integration (#37594) 2020-07-07 09:09:13 +02:00
jjlawren
7128092139 Fix missing Plex account mocks in tests (#37591) 2020-07-06 22:58:43 -07:00
Paulus Schoutsen
16ccf0affd Bump voluptuous-serialize 2.4.0 (#37241)
* Bump voluptuous-serialize 2.4.0

* Add constant to demo

* gen reqs
2020-07-06 20:04:35 -07:00
Eugene Prystupa
e5872cc0e4 apply small feedback suggestions from a previous PR that is already merged (#37551) 2020-07-06 20:09:56 -05:00
J. Nick Koston
27ef8a1ced Ensure homekit accessory reset only affect the bridges with the accessory (#37588) 2020-07-06 17:27:25 -07:00
J. Nick Koston
bea3d841d2 Mock setup in plex test to prevent CI failure (#37590) 2020-07-06 17:25:22 -07:00
HomeAssistant Azure
0426b70046 [ci skip] Translation update 2020-07-07 00:17:49 +00:00
Paulus Schoutsen
c47fd90eb3 Fix loop exception handler 2020-07-07 00:00:46 +00:00
Paulus Schoutsen
a773534809 Merge pull request #37586 from home-assistant/rc 2020-07-06 16:42:07 -07:00
akloeckner
d0668d3a6c Add optimistic mode to template switch (#31637) 2020-07-06 16:32:33 -07:00
Paulus Schoutsen
f49ce5d1b4 Protect loop set default executor (#37438)
Co-authored-by: J. Nick Koston <nick@koston.org>
2020-07-06 15:58:53 -07:00
Paulus Schoutsen
e5a2b0d2d8 Bumped version to 0.112.3 2020-07-06 22:36:05 +00:00
Paulus Schoutsen
7ba9bcebed Fix CODEOWNERS 2020-07-06 22:35:38 +00:00
starkillerOG
3bd5d83c9c Ignore HEOS 1, 3, 5 and 7 for DenonAvr ssdp discovery (#37579) 2020-07-06 22:21:13 +00:00
jjlawren
0f3b7b73af Fix Plex client controls when connected via plex.tv resource (#37572) 2020-07-06 22:21:13 +00:00
J. Nick Koston
38d2410156 Ensure homekit tv names can be saved (#37571) 2020-07-06 22:21:12 +00:00
J. Nick Koston
82693d9dca Suppress spurious homekit warning about media player sources when the device is off (#37567) 2020-07-06 22:21:11 +00:00
Bram Kragten
a88ac1e1fc Update frontend to 20200702.1 (#37566) 2020-07-06 22:21:11 +00:00
Sean Mooney
37bef01f67 Fix default icon for Withings sleep sensor (#37502)
The icon for Withings sleep sensor was using `mdi:bed` (which is correct for MDI v5.0.45 and later). However Home Assistant still uses an older version of Material Design Icons (4.9.95), so this `mdi:bed` icon was not displaying at all.  It should be`mdi:hotel` instead, which you can see here: https://cdn.materialdesignicons.com/4.9.95/
2020-07-06 22:21:10 +00:00
David Nielsen
7c3e64673f Fix braviatv authentication refresh (#37482)
- Bumps bravia-tv lib to 1.0.6 which fixes is_connected() to actually
      return True only when API is connected, instead of just returning whether
      or not cookies are cached (regardless if they actually worked).
    - Wrap is_connected() because it now performs io.
    - Remove unnecessary logic to refresh cookies. Now that
      is_connected() works, the bravia instance only needs to be
      reconnected when is_connected is False and TV is not off.
2020-07-06 22:20:57 +00:00
Martin
16b59220f3 Fix base class for ViCare binary sensor to remove warning (#37478) 2020-07-06 22:19:58 +00:00
Erik Montnemery
050a558243 Fix base topic for 'topic' (#37475) 2020-07-06 22:19:57 +00:00
Rami Mosleh
ddb049e884 Stop Speedtest sensors update on startup if manual option is enabled (#37403)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-07-06 22:19:57 +00:00
J. Nick Koston
891640972b Ensure removed entities are not displayed in logbook (#37395) 2020-07-06 22:19:56 +00:00
J. Nick Koston
2e824f3fa5 Ensure logbook performs well when filtering is configured (#37292) 2020-07-06 22:19:55 +00:00
J. Nick Koston
4ca643342e Move logbook continuous domain filtering to sql (#37115)
* Move logbook continuous domain filtering to sql

sensors tend to generate a significant amount of states
that are filtered out by logbook.  In testing 75% of
states can be filtered away in sql to avoid the
sqlalchemy ORM overhead of creating objects that will
be discarded.

* remove un-needed nesting
2020-07-06 22:19:54 +00:00
Rami Mosleh
f8651d9faa Stop Speedtest sensors update on startup if manual option is enabled (#37403)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-07-06 15:18:56 -07:00
Erik Montnemery
b826970b16 Fix base topic for 'topic' (#37475) 2020-07-06 15:17:13 -07:00
jjlawren
ba356c41e0 Fix Plex client controls when connected via plex.tv resource (#37572) 2020-07-06 15:16:41 -07:00
starkillerOG
b9f97e64f8 Ignore HEOS 1, 3, 5 and 7 for DenonAvr ssdp discovery (#37579) 2020-07-06 15:16:21 -07:00
J. Nick Koston
89599bc3cf Ensure homekit tv names can be saved (#37571) 2020-07-06 14:28:55 -07:00
J. Nick Koston
c989f6dc09 Suppress spurious homekit warning about media player sources when the device is off (#37567) 2020-07-06 14:28:26 -07:00
Bram Kragten
706bc4c307 Update frontend to 20200702.1 (#37566) 2020-07-06 19:24:22 +02:00
Ville Skyttä
c9a97da0ef Strings capitalization consistency fixes (#37454) 2020-07-06 09:59:57 -07:00
Pascal Vizeli
b3d46aa074 Wheels for Python 3.8 / Alpine 3.12 2020-07-06 16:41:51 +02:00
dependabot[bot]
4a28133f11 Bump codecov/codecov-action from v1 to v1.0.10 (#37556)
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from v1 to v1.0.10.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Commits](https://github.com/codecov/codecov-action/compare/v1...f3570723ef743f6942b6a480461ed0cd6c0f9baa)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-07-06 16:12:12 +02:00
dependabot[bot]
308421f1d6 Bump actions/upload-artifact from v1 to v2.0.1 (#37555)
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from v1 to v2.0.1.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/v1...97b7dace6c8d860ce9708aba808be6a2ee4cbc3a)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-07-06 16:11:43 +02:00
Franck Nijhof
03bfff3660 Add dependabot for automatic updates to GitHub Actions (#37550) 2020-07-06 15:05:58 +02:00
Joakim Sørensen
0fb73a6332 Add missing manifest object to the check (#37535) 2020-07-06 11:21:40 +02:00
J. Nick Koston
711b8e10a3 Switch homekit to use async_track_state_change_event (#37253)
* Switch homekit to use async_track_state_change_event

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

* check for deleted entities

* Update additional tests for linked sensor removals

* Ensure removing entities does not result in an exception
2020-07-05 19:05:13 -07:00
Eugene Prystupa
9b77e16ffc Add new integration for Bond hub (#37477)
* create foundation for Bond integration

* add Bond hub integration (fix lint)

* Update homeassistant/components/bond/__init__.py

adding async_unload_entry per PR review suggestion

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

* add Bond hub integration (fix missing import after applying PR suggestion)

* Update tests/components/bond/test_init.py

add a unit for unloading per PR review suggestion

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

* Update tests/components/bond/test_init.py

add unit test for unload per PR review suggestion

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

* Update tests/components/bond/test_init.py

PR review suggestion

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

* Update tests/components/bond/test_init.py

PR review suggestion

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

* Update tests/components/bond/test_init.py

PR review suggestion

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

* add Bond hub integration (fix formatting)

* Update homeassistant/components/bond/manifest.json

PR suggestion

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

* Update homeassistant/components/bond/manifest.json

PR suggestion

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

* Update homeassistant/components/bond/manifest.json

PR suggestion

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

* Update homeassistant/components/bond/strings.json

PR suggestion

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

* Update homeassistant/components/bond/manifest.json

PR suggestion

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

* Update requirements_all.txt

PR suggestion

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

* Update homeassistant/components/bond/manifest.json

PR suggestion

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

* Update requirements_test_all.txt

PR suggestion

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

* add Bond hub integration (remove friendly name from config per PR suggestion)

* Update homeassistant/components/bond/__init__.py

add per PR review feedback

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

* Update homeassistant/components/bond/__init__.py

remove per PR review feedback

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

* Update tests/components/bond/test_init.py

fix unit test

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

Co-authored-by: Chris Talkington <chris@talkingtontech.com>
2020-07-05 20:17:53 -05:00
HomeAssistant Azure
6749424508 [ci skip] Translation update 2020-07-06 00:02:55 +00:00
Phil Bruckner
f6f84fc201 Add Amcrest audio_detected binary sensor (#37486) 2020-07-05 18:54:17 -04:00
J. Nick Koston
34ccb6588c Cleanup async_track_state_change and augment docstring (#37251)
* Cleanup async_track_state_change and augment docstrings.

Skip from_state and to_state matching in
async_track_state_change when they are None

Optimize the state change listener for the most
common use case: no to_state and from_state
matching.

* Update benchmark to be more realistic (previously we assumed only one entity was present in the whole instance)

* Add more tests to ensure behavior is preserved

* Ensure new behavior matches test

* remove MATCH_ALL from zone automation since its the default anyways

* Might as well use async_track_state_change_event instead since MATCH_ALL is removed
2020-07-05 17:31:33 -05:00
Joakim Plate
2088092f7c Switch rfxtrx to dispatcher (#37271)
* Switch to dispatcher

* Adjust tests for dispatcher

* Store device in sensor

* Move state application into binary sensor entity class

* Move more specifics into per platform classes

* Should not apply event in init of sensor

* Switch to call_later

* Make apply_event public

* No point in slugifying debug logs

* Adjust error in off delay and event

* Make sure we match with masked id
2020-07-06 00:10:26 +02:00
Aaron Bach
0067b6a84d Transition Guardian to use a DataUpdateCoordinator (#37380)
* Migrate Guardian to use the DataUpdateCoordinator

* Finish work

* Cleanup

* Don't use UpdateFailed error

* Code cleanup

* Code cleanup

* Remove unnecessary change

* Code review

* Code review

* Use a subclass of DataUpdateCoordinator

* Make sure to pop client upon unload

* Adjust coverage
2020-07-05 16:09:40 -06:00
Franck Nijhof
80c108c25a Fix flake8 problem matcher to handle fatals as errors (#37536) 2020-07-05 23:25:18 +02:00
Franck Nijhof
53545c984b Log lines do not end with a full stop (#37527) 2020-07-05 23:04:19 +02:00
Joakim Plate
01fd33f173 Switch tests to use hass objects instead of direct (#37530)
* Switch tests to use hass objects instead of direct

* Make sure sensor update state

* Add some initial binary sensor tests

* Add initial binary sensor tests

* Add tests for pt2262

* Add test for off delay
2020-07-05 22:41:11 +02:00
starkillerOG
3ad59f877c Fix xiaomi_miio error when no sensors present (#37531) 2020-07-05 13:06:28 -07:00
J. Nick Koston
c1aaceebb6 Use async_track_state_change_event for automation numeric_state (#37255)
Calling async_track_state_change_event directly
is faster than async_track_state_change (see #37251) and has
slightly lower latency triggering state updates
2020-07-05 13:05:53 -07:00
jfearon
404b1f40d6 Tado climate entity timer service (#37472)
* New entity service to allow timer to be set on tado climate entities

* Add new line to end of yaml
2020-07-05 14:43:52 -05:00
Baptiste Candellier
3062312649 Add config flow + async support for SmartHab integration (#34387)
* Setup barebones SmartHab config flow

* Setup authentication flow

* Make setup async, add config flow receivers

* Add French translation

* Fix async issues

* Address review comments (thanks bdraco!)

* Fix unloading entries

* Migrate translations dir according to warning

* Create list of components

* Fix pylint false positive

* Fix bad copy-pastes 🤭

* Add async support to SmartHab component

* Address review comments (bdraco)

* Fix pylint

* Improve exception handling (bdraco)

* Apply suggestions from code review (bdraco)

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

* Don't log exceptions manually, fix error

* Reduce repeated lines in async_step_user (bdraco)

* Remove useless else (pylint)

* Remove broad exception handler

* Create strings.json + remove fr i18n

* Write tests for smarthab config flow

* Test import flow

* Fix import test

* Update homeassistant/components/smarthab/config_flow.py

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

Co-authored-by: J. Nick Koston <nick@koston.org>
2020-07-05 14:20:51 -05:00
Jeff Irion
10893f6246 Convert Android TV integration to async (#37510)
* Convert Android TV integration to async

* pylint

* Remove unused test code

* Require async versions of androidtv and adb-shell

* Cleanup

* Remove commented out code

* Use constants SHELL_RESPONSE_OFF and SHELL_RESPONSE_STANDBY
2020-07-05 14:13:08 -05:00
RogerSelwyn
e3aa4679a0 Standardis asuswrt error message level (#37515) 2020-07-05 13:21:21 -05:00
RogerSelwyn
d79067db7e Standardise geniusheub error levels (#37512) 2020-07-05 13:11:07 -05:00
J. Nick Koston
f0dda4f875 Fix flapping demo geo_location test (#37516) 2020-07-05 12:55:44 -05:00
Rick Sherman
b56f4bd9f8 Fix Datadog boolean metrics (#37273)
Explicitly cast boolean metrics to integers
2020-07-05 12:50:51 -05:00
starkillerOG
992793295c Add denonavr solution tip for connection_error (#37405)
* denonavr: add solution tip for connection_error

see https://github.com/home-assistant/core/issues/37351#issuecomment-653356452

* Update en.json

* Update strings.json
2020-07-05 12:46:46 -05:00
J. Nick Koston
debb928b30 Use the main event loop for homekit (#37441)
* use hass.loop for homekit

* update calls for upstream pr

* Bump HAP-python to 2.9.2
2020-07-05 12:27:07 -05:00
Anton Tolchanov
6ca476fe21 Add prometheus metric naming guidelines (#37149)
* Add prometheus metric naming guidelines.

* Update homeassistant/components/prometheus/README.md

Co-authored-by: Martin Weinelt <mweinelt@users.noreply.github.com>

Co-authored-by: Martin Weinelt <mweinelt@users.noreply.github.com>
2020-07-05 19:00:37 +02:00
J. Nick Koston
b64ae55c66 Prebake common history queries (#37496)
* Prebake common history queries

The python overhead of to construct
the queries exceeded the database overhead.  We now
prebake the queries that get frequently polled.

This reduces the time it takes to update history_stats
sensors and can make quite a difference if there
are a lot of them.

When using the mini-graph-card card, all the entities
on the card being graphed are queried every few seconds
for new states. Previously this would tie up the database if there
are lot of these graphs in the UI.

* Update homeassistant/components/history/__init__.py

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

* Update homeassistant/components/history/__init__.py

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

* cache entity_filter in the lambda

* switch to yield

* Revert "switch to yield"

This reverts commit f8386f4940.

* get_states always returns a list

* query wasnt actually reusable so revert part of the breakout

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-07-05 11:03:23 -05:00
michaeldavie
8bc775dacc Bump env_canada to 0.1.0 (#37483) 2020-07-05 17:10:32 +02:00
Jürgen Haas
988a335e9d Do not count netdata cleared and undefined alarms as warnings (#37505)
* Add NetdataAlarms alarm sensor to additionally collect alarm information from the netdata host

* Incorporate suggested changes by @MartinHjelmare

* Change from pictures to icons

* Simplify API callbacks following home-assistant-ecosystem/python-netdata/pull/5 and home-assistant-ecosystem/python-netdata/pull/6

* Bring back lost empty line

* Update the library version in manifest.json

* Update the library version in requirements_all.txt

* Linting

* Linting

* Fix typo

* Do not count cleared and undefined alarms as warnings

* Do not count cleared, undefined and uninitialized alarms as warnings
2020-07-05 17:06:04 +02:00
Phil Bruckner
f7c4900d5c Enhance automation integration to use new features in script helper (#37479) 2020-07-05 09:25:15 -05:00
Franck Nijhof
c3b5bf7437 GitHub Actions: Add pytest problem matcher (#37508) 2020-07-05 14:10:42 +02:00
David Nielsen
a08cb2ca9d Fix braviatv authentication refresh (#37482)
- Bumps bravia-tv lib to 1.0.6 which fixes is_connected() to actually
      return True only when API is connected, instead of just returning whether
      or not cookies are cached (regardless if they actually worked).
    - Wrap is_connected() because it now performs io.
    - Remove unnecessary logic to refresh cookies. Now that
      is_connected() works, the bravia instance only needs to be
      reconnected when is_connected is False and TV is not off.
2020-07-05 12:02:45 +02:00
Sean Mooney
a882cfafb1 Fix default icon for Withings sleep sensor (#37502)
The icon for Withings sleep sensor was using `mdi:bed` (which is correct for MDI v5.0.45 and later). However Home Assistant still uses an older version of Material Design Icons (4.9.95), so this `mdi:bed` icon was not displaying at all.  It should be`mdi:hotel` instead, which you can see here: https://cdn.materialdesignicons.com/4.9.95/
2020-07-05 11:28:05 +02:00
Ville Skyttä
3d08601796 Use package constraints in tox lint (#37500)
Otherwise fails with
pip._vendor.pkg_resources.ContextualVersionConflict: (importlib-metadata
1.7.0 (.../.tox/lint/lib/python3.7/site-packages),
Requirement.parse('importlib-metadata==1.6.0'), {'homeassistant'})
2020-07-05 11:04:00 +02:00
Ville Skyttä
63af60c7e7 Upgrade flake8 to 3.8.3 (#37501)
https://flake8.pycqa.org/en/latest/release-notes/3.8.2.html
https://flake8.pycqa.org/en/latest/release-notes/3.8.3.html
2020-07-05 11:03:22 +02:00
J. Nick Koston
93df0a6d70 Fix flapping geonetnz_volcano test (#37497) 2020-07-04 19:06:42 -07:00
Franck Nijhof
ff3407ea25 GitHub Actions: Show diff on failure (#37461) 2020-07-04 17:19:46 -07:00
Franck Nijhof
79fb722657 GitHub Actions: Add flake8 problem matcher (#37465) 2020-07-04 17:19:00 -07:00
Franck Nijhof
3eb6e75d3e GitHub Actions: Add yamllint problem matcher (#37468)
* GitHub Actions: Add yamllint problem matcher

* Introduce YAML issue to test problem matcher

* Revert "Introduce YAML issue to test problem matcher"

This reverts commit fa88c9484e.
2020-07-04 17:05:14 -07:00
Franck Nijhof
6d6188e34d GitHub Actions: Add mypy problem matcher (#37485) 2020-07-04 17:04:39 -07:00
Franck Nijhof
fa6bd786d2 GitHub Actions: Add check executables problem matcher (#37488)
* GitHub Actions: Add check executables problem matcher

* Create a problem for testing

* Revert "Create a problem for testing"

This reverts commit 3532b3777f.
2020-07-04 17:04:25 -07:00
HomeAssistant Azure
c6ed7754c7 [ci skip] Translation update 2020-07-05 00:02:52 +00:00
Franck Nijhof
b4aa6f9f8b GitHub Actions: Add pylint problem matcher (#37463)
* GitHub Actions: Add pylint problem matcher

* Create a pylint issue to test

* Create another pylint issue to test

* Register problem matcher in same step

* Apply possible workaround

* Disable problem matcher to catch raw output

* Trying again with new CI containers

* Extend problem matcher with errors and warnings

* Improve matching, keep error code in message

* Revert "Create another pylint issue to test"

This reverts commit a90e23656e.

* Revert "Create a pylint issue to test"

This reverts commit 9dd5148eb4.

* Fix stable name in job description
2020-07-04 17:00:51 -07:00
Franck Nijhof
c71fcc8cbb GitHub Actions: Add json problem matcher (#37490)
* GitHub Actions: Add json problem matcher

* Create a problem for testing

* Revert "Create a problem for testing"

This reverts commit d7735e4af3.
2020-07-04 16:59:41 -07:00
Franck Nijhof
83b41897f8 GitHub Actions: Add codespell problem matcher (#37487)
* GitHub Actions: Add codespell problem matcher

* Add some spelling issues for test

* Disable color, might throw off matcher

* Revert "Add some spelling issues for test"

This reverts commit 3afb59c8d9.
2020-07-04 16:59:22 -07:00
Franck Nijhof
c630037f04 GitHub Actions: Add hadolint problem matcher (#37494) 2020-07-04 16:59:02 -07:00
Shulyaka
5ba38e5053 Add humidifier support to emulated_hue (#37110)
* Add humidifier support to emulated_hue

* add humidifier dependency

* move dependency to after_dependency

* move dependency to hassfest
2020-07-04 17:53:36 -05:00
Martin
95d980da4a Fix base class for ViCare binary sensor to remove warning (#37478) 2020-07-04 19:39:45 +02:00
Franck Nijhof
7b855927e2 Fix flapping google_assistant tests (#37480) 2020-07-04 19:33:26 +02:00
Erik Montnemery
b63655057c Publish birth and will messages by default (#37371)
* Publish birth and will messages by default

* Remove useless copy
2020-07-04 17:49:08 +02:00
Erik Montnemery
4b3ad0a1cd Support multiple MQTT availability topics (#37418)
* Support multiple MQTT availability topics

* Make availability list and availability_topic exclusive

* Make availability list and availability_topic exclusive

* Add missing abbreviation
2020-07-04 17:48:34 +02:00
Erik Montnemery
9ade1de3d5 Support empty output of MQTT binary_sensor value_template (#37420)
* Support empty output of MQTT binary_sensor value_template

* Strip white space

* Add test

* Add test
2020-07-04 17:48:02 +02:00
Tim van Cann
333c151955 Call sync function from async context (#37324) 2020-07-04 10:47:12 -05:00
Erik Montnemery
ebcee2eb35 Fix geonetnz_quakes test flapping (#37473) 2020-07-04 17:42:28 +02:00
Franck Nijhof
15b28bda14 Fix flapping geo_json_events tests (#37471) 2020-07-04 17:21:37 +02:00
J. Nick Koston
c03832da63 Fix entity_component test flapping (#37445) 2020-07-04 16:55:44 +02:00
starkillerOG
ffcdd85117 Xiaomi Gateway subdevice support & AqaraHT + SensorHT devices (#36539)
* Gateway subdevice support & AqaraHT + SensorHT devices

* Gateway subdevice support & AqaraHT + SensorHT devices

* Add starkillerOG to codeowners

as proposed by @rytilahti in this issue: https://github.com/home-assistant/core/issues/36516

* add starkillerOG to xiaomi_miio

* fix config flow tests

* Update CODEOWNERS

* Update manifest.json

* prosess revieuw comments

* fix missing import

* use proper pressure unit hPa

* subdevice --> sub_device

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

* subdevice --> sub_device

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

* use key acces instead of get

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

* subdevice --> sub_device

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

* subdevice --> sub_device

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

* subdevice --> sub_device

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

* subdevice --> sub_device

* use dataclass instead of namedtuple

* update to newest python-miio functions (not yet released)

* Move device info to entitie

* remove unused variable

* improve default names

* SensorHT does not support pressure

* bump python-miio to 0.5.2

* bump python-miio to 0.5.2

* bump python-miio to 0.5.2

* Fix missing brackets

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

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
Co-authored-by: Teemu R. <tpr@iki.fi>
2020-07-04 14:56:16 +02:00
Tom
0b11fda017 Fix Plugwise zeroconf discovery formatting (#37457) 2020-07-04 11:12:05 +02:00
Ville Skyttä
3832c8efd9 Remove pytest-xdist from tox now that it's in requirements_test.txt (#37455) 2020-07-04 10:03:29 +02:00
Chris Talkington
6fd8a7a34e Use device class to isolate tesla battery icon (#37446) 2020-07-03 23:10:04 -07:00
J. Nick Koston
4b2ebf5487 Ensure removed entities are not displayed in logbook (#37395) 2020-07-03 23:08:46 -07:00
J. Nick Koston
045cdee30c Avoid selecting the states created column for history (#37450)
We never use the data for history.  We should
not select it as it created unneeded overhead.
2020-07-03 23:04:11 -07:00
Paulus Schoutsen
b76d7edf74 Merge pull request #37443 from home-assistant/rc 2020-07-03 22:14:46 -07:00
HomeAssistant Azure
146b5691e7 [ci skip] Translation update 2020-07-04 00:03:02 +00:00
Justin Berstler
fe5f8e041b Use a more detailed battery icon for Tesla cars (#37154)
Use the icon_for_battery_level helper to select a battery icon that indicates charge level and whether or not the battery is actively charging.
2020-07-03 18:36:26 -05:00
Nolan Gilley
13f634fa16 Upgrade python-join-api to allow user to specify actions (#37394) 2020-07-03 17:55:58 -05:00
RogerSelwyn
7c0d5526f3 Fix DarkSky spamming the log (#37421)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-07-03 15:49:45 -07:00
smugleafdev
780376e411 Fix extremely minor typo: Cosumption -> Consumption (#37322) 2020-07-03 17:47:19 -05:00
Paulus Schoutsen
18c16c464e Bumped version to 0.112.2 2020-07-03 22:43:02 +00:00
Alan Tse
30e980d389 Bump teslajsonpy to 0.9.2 (#37434)
* Bump teslajsonpy to 0.9.1
closes #37340

* Bump teslajsonpy to 0.9.2
2020-07-03 22:42:54 +00:00
Teemu R
e3d3b87f2e Bump python-miio to 0.5.2.1 (#37422) 2020-07-03 22:42:53 +00:00
Aaron Bach
032a6f3143 Bump pytile to 4.0.0 (#37398) 2020-07-03 22:42:52 +00:00
J. Nick Koston
d7ecbb8ebe Ensure logbook entries appear when the logbook.log (#37388)
service without a domain or entity_id
2020-07-03 22:42:51 +00:00
J. Nick Koston
ed086e5200 Handle index already existing on db migration with MySQLdb backend (#37384)
_create_index needed the same check as _add_columns since
the MySQLdb backend throws OperationalError instead
of InternalError in this case
2020-07-03 22:42:51 +00:00
Erik Montnemery
08ebc4ce62 Don't print MQTT credentials to log (#37364) 2020-07-03 22:42:50 +00:00
Chris Talkington
1879183b24 Apply some suggestions from poolsense code review (#37440) 2020-07-03 15:38:05 -07:00
J. Nick Koston
ccb77ba1e9 Handle index already existing on db migration with MySQLdb backend (#37384)
_create_index needed the same check as _add_columns since
the MySQLdb backend throws OperationalError instead
of InternalError in this case
2020-07-03 15:35:02 -07:00
Teemu R
7da3065de6 Bump python-miio to 0.5.2.1 (#37422) 2020-07-03 15:32:23 -07:00
Chris Talkington
813e60d31a Mock setup in directv config flow tests (#37439)
* mock setup in directv config flow tests

* Update test_config_flow.py
2020-07-03 17:31:57 -05:00
Alan Tse
1b70ea0c3f Bump teslajsonpy to 0.9.2 (#37434)
* Bump teslajsonpy to 0.9.1
closes #37340

* Bump teslajsonpy to 0.9.2
2020-07-03 17:29:11 -05:00
Bouwe Westerdijk
d57dbb4319 Add Plugwise zeroconf discovery (#37289)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
Co-authored-by: Tom Scholten <tom@sue.nl>
Co-authored-by: Tom <CoMPaTech@users.noreply.github.com>
2020-07-03 15:28:34 -07:00
Eugene Prystupa
80aebcc7d2 Add more unit tests for plum_lightpad (#37275)
* add more unit tests for plum_lightpad

* add more unit tests for plum_lightpad

* add more unit tests for plum_lightpad

* add more unit tests for plum_lightpad

* Update tests/components/plum_lightpad/test_init.py

apply suggested way to invoke async_setup_entry

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

* Update tests/components/plum_lightpad/test_init.py

apply suggested way to invoke async_setup_entry

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

* Update tests/components/plum_lightpad/test_init.py

apply suggested way to invoke async_setup_entry

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

* Update tests/components/plum_lightpad/test_init.py

remove now unused import

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

* Update tests/components/plum_lightpad/test_init.py

import Mock from tests.async_mock as suggested

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

* Update tests/components/plum_lightpad/test_init.py

remove now unused import

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

* Update tests/components/plum_lightpad/test_init.py

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

* fix unit tests that were failing after suggested changes

Co-authored-by: Chris Talkington <chris@talkingtontech.com>
2020-07-03 16:40:17 -05:00
J. Nick Koston
76b956a969 Mock setup in sonarr config flow tests (#37432) 2020-07-03 16:20:17 -05:00
Franck Nijhof
1aafa459e5 Fix building of Python Wheels (#37433) 2020-07-03 21:33:35 +02:00
Paulus Schoutsen
e33a3bb94a Stub out ecobee aux heat services (#37423) 2020-07-03 21:04:13 +02:00
J. Nick Koston
07f3d6ebd8 Fix unmocked setup in ipp tests (#37430) 2020-07-03 11:43:13 -07:00
J. Nick Koston
c460b7abc9 Fix unmocked setup in garmin_connect test (#37429) 2020-07-03 11:42:56 -07:00
Paulus Schoutsen
5805fbb99f Merge remote-tracking branch 'origin/master' into dev 2020-07-03 18:39:38 +00:00
ktnrg45
a445ebdf3c Fix undesired power toggling (#37427) 2020-07-03 11:34:11 -07:00
J. Nick Koston
78e53e35c2 Prevent verisure lock from looping forever and sleeping in test (#37425) 2020-07-03 11:33:12 -07:00
Paulus Schoutsen
0c771f1c42 Replace asynctest with tests.async_mock (#37428) 2020-07-03 11:29:35 -07:00
Kevin Eifinger
eb66da6436 Add helpers.location.coordinates (#37234) 2020-07-03 11:28:44 -07:00
J. Nick Koston
3eb6a68d12 Ensure async_setup is mocked in geonetnz intergration tests (#37426)
* Ensure async_setup is mocked in geonetnz intergration tests

* s/asynctest/tests.async_mock/g
2020-07-03 11:14:19 -07:00
Erik Montnemery
cd5f6a0c56 Don't print MQTT credentials to log (#37364) 2020-07-03 11:01:22 -07:00
J. Nick Koston
ab6d6ac1ce Reduce time to run zha discover tests (#37424)
Most of the time was registering services and patching
the clusters which are never calls in these tests
2020-07-03 12:57:04 -05:00
Franck Nijhof
573134fcb4 Add GitHub Actions for CI (#37419)
* Add GitHub Actions for CI

* Add base/full to step descriptions
2020-07-03 19:18:01 +02:00
therealryanbonham
5ecb3f9be2 Upgrade sonar to 0.2.3 (#37392)
Co-authored-by: Ryan Bonham <ryan@transparent-tech.com>
2020-07-03 13:59:30 +02:00
Joakim Plate
ab4687d914 Convert rfxtrx tests to pytest async tests and re-enable (#37206)
* Rework and re-enable rfxtrx tests

* Add missed change to _signal_event

* Fixup the dummy serial that causes max cpu

* Make sure we cleanup thread here too

* Make sure we always wait for tasks before we check state

* Some more places we need to wait before checking
2020-07-03 10:22:02 +02:00
Robbie Trencheny
b859be8cea Remove my codeownership over things I dont use anymore (#37401) 2020-07-03 09:41:23 +02:00
Aaron Bach
187a20288b Bump pytile to 4.0.0 (#37398) 2020-07-02 23:07:54 -06:00
J. Nick Koston
7e664fbb3b Ensure logbook entries appear when the logbook.log (#37388)
service without a domain or entity_id
2020-07-02 19:53:28 -05:00
mdegat01
91799e2b52 Modified Influx tests to mock test queries with accurate output (#37315) 2020-07-02 17:52:46 -07:00
Martin Hjelmare
98bcf4f28d Fix ozw garage door methods (#37374) 2020-07-02 17:23:45 -07:00
HomeAssistant Azure
a6fb9e6100 [ci skip] Translation update 2020-07-03 00:03:38 +00:00
J. Nick Koston
f352c51990 Improve unifi device tracker performance (#37308)
* Improve unifi device tracker performance

The unifi websocket sends an update every second
which generates a significant amount of state
changed updates.

Avoid creating callback functions when they
are not going to be used.

* make _no_heartbeat/_make_disconnected instance methods

* remove extra empty line

* revert is_wired change

* remove extra line
2020-07-02 17:46:37 -05:00
Paulus Schoutsen
460bd2b3bb Merge pull request #37377 from home-assistant/rc 2020-07-02 14:46:19 -07:00
Paulus Schoutsen
ec690bb369 Bumped version to 0.112.1 2020-07-02 20:15:44 +00:00
starkillerOG
16dae8457a Add DenonAvr missing error message (#37370) 2020-07-02 20:11:54 +00:00
Bram Kragten
38599d2970 Update frontend to 20200702.0 (#37369) 2020-07-02 20:11:53 +00:00
Robert Van Gorkom
5013b7e049 Fix withings bug that grabbed oldest value instead of the newest (#37362)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-07-02 20:11:52 +00:00
uvjustin
b21c81656f Use entry.data.get() in forked_daapd config_flow as some entries miss… (#37359) 2020-07-02 20:11:52 +00:00
Robert Van Gorkom
69a5c63b71 Fix gogogate2 issue where non-admin users could not login (#37353) 2020-07-02 20:11:51 +00:00
Markus Bong
9b854bdcd3 Fix devolo sensor subscriber (#37337) 2020-07-02 20:11:50 +00:00
bsmappee
f335127750 Smappee dependency update (#37331) 2020-07-02 20:11:49 +00:00
Courtenay
9131f5fa69 Change log url in config check error notification (#37311) 2020-07-02 20:11:49 +00:00
John Hollowell
976d375a33 Update proxmoxve integration to correctly renew authentication (#37016) 2020-07-02 20:11:48 +00:00
starkillerOG
094f7ee718 Add DenonAvr missing error message (#37370) 2020-07-02 13:10:38 -07:00
Robert Van Gorkom
a7cf76491b Fix withings bug that grabbed oldest value instead of the newest (#37362)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-07-02 13:09:49 -07:00
Bram Kragten
58a9142f42 Update frontend to 20200702.0 (#37369) 2020-07-02 12:53:16 -07:00
Chris
f6df85f8ce Add ozw garage door barrier support (#37316) 2020-07-02 21:29:09 +02:00
Franck Nijhof
4679e670f1 Upgrade pre-commit to 2.6.0 (#37339) 2020-07-02 13:47:09 -05:00
J. Nick Koston
f3039f96ec Fix flapping gdacs tests (#37363) 2020-07-02 13:45:57 -05:00
Shulyaka
4ec71c58bd Add humidifier support to homekit (#37207)
* Add humidifier support to homekit

* spell

* dependencies

* lint

* add linked humidity sensor for humidifiers

* Apply suggestions from code review

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

* apply suggestions from code review

* pylint

* Fix tests

* Update homeassistant/components/homekit/type_humidifiers.py

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

* Update tests/components/homekit/test_homekit.py

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

* Apply suggestions from code review

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

* apply suggestions from code review

* lint

* pylint

* push

* test for unavailable linker sensor

* black

* valid values key case

* black

* Update homeassistant/components/homekit/type_humidifiers.py

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

* black

* coverage

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

* use last known humidity instead

Co-authored-by: J. Nick Koston <nick@koston.org>
2020-07-02 12:53:11 -05:00
J. Nick Koston
8bce9be590 Fix flapping flux tests (#37346) 2020-07-02 10:51:31 -07:00
uvjustin
49bbdb3c21 Use entry.data.get() in forked_daapd config_flow as some entries miss… (#37359) 2020-07-02 10:51:13 -07:00
Robert Van Gorkom
e60b975b10 Fix gogogate2 issue where non-admin users could not login (#37353) 2020-07-02 10:49:26 -07:00
J. Nick Koston
a87c29b5d9 Ensure logbook performs well when filtering is configured (#37292) 2020-07-02 09:12:27 -07:00
mdegat01
0a982f6fab Fix Influx V1 test query (#37309) 2020-07-02 16:56:43 +02:00
Courtenay
0f8b934e68 Change log url in config check error notification (#37311) 2020-07-02 14:14:17 +02:00
Franck Nijhof
235298a1b2 Add Hue manual bridge config flow + options flow (#37268)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2020-07-02 14:12:24 +02:00
John Hollowell
cf3f755edc Update proxmoxve integration to correctly renew authentication (#37016) 2020-07-02 14:10:14 +02:00
bsmappee
0cc1a17d04 Smappee dependency update (#37331) 2020-07-02 13:57:43 +02:00
Markus Bong
f5fa7e4400 Fix devolo sensor subscriber (#37337) 2020-07-02 13:54:30 +02:00
Paulus Schoutsen
d08d00daa7 Limit entity platform entity service to same integration (#37313) 2020-07-02 11:39:53 +02:00
MatthewFlamm
a015e551eb Bump pynws-1.2.1 for NWS (#37304) 2020-07-01 18:36:32 -07:00
Gage Benne
bcabf6da91 Add Dexcom Integration (#33852)
* Initial commit for Dexcom integration

* Dexcom config flow testing

* Clarify errors during setup

* Resolve minor test issues

* Update sensor availability, resolve linting issues

* Add sensor tests

* Remove title due to 0.109, add abort

* >94.97% codecov/patch

* Move .translations/ to translations/

* Add constants for servers and unit of measurements

* Bump pydexcom version

* Updated domain schema, Dexcom creation

* Support for different units of measurement

* Update tests

* Remove empty items from manifest

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

* Raise UpdateFailed if fetching new session fails

* Switch everything over to required

* Simplify state information

* Simplify async_on_remove

* Pydexcom package now handles fetching new session

* Only allow config flow

* Remove ternary operator

* Bump version, pydexcom handling session refresh

* Using common strings

* Import from test.async_mock

* Shorten variable names

* Resolve tests after removing yaml support

* Return false if credentials are invalid

* Available seems to handle if data is empty

* Now using option flow, remove handling import

* Add fixture for JSON returned from API

* Overhaul testing

* Revise update options

* Bump pydexcom version

* Combat listener repetition

* Undo update listener using callback

* Change sensor availability to use last_update_success

* Update sensor availability and tests

* Rename test

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-07-02 02:14:54 +02:00
HomeAssistant Azure
3498882fe1 [ci skip] Translation update 2020-07-02 00:03:30 +00:00
mdegat01
52f3238e17 Add constant for PlatformNotReady wait time to use in tests (#37266) 2020-07-01 08:42:57 -07:00
Franck Nijhof
dc8bfb76dc Merge pull request #37280 from home-assistant/rc 2020-07-01 16:47:17 +02:00
jfearon
0a0b60566d Add a service for setting the timer to tado water heaters (#36533)
* Add service to support setting timer on water heater component

* Update water_heater.py

Remove info logging
Return if unsupported option used

* Added default temperature as it is optional

* Update homeassistant/components/tado/services.yaml

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

* Update homeassistant/components/tado/services.yaml

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

* Update homeassistant/components/tado/services.yaml

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

* Update homeassistant/components/tado/water_heater.py

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

* Fix to remove else statement, and fix lint error

* Reinstate entity id on schema, allow setting with temperature on devices that dont support it

* Remove entity id from schema as not required

Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2020-07-01 09:20:50 -05:00
Franck Nijhof
96d0ee3153 Bumped version to 0.112.0 2020-07-01 14:38:24 +02:00
Bram Kragten
20c66b1fa3 Updated frontend to 20200701.0 (#37279) 2020-07-01 14:37:20 +02:00
Bram Kragten
3c260c91c8 Revert "Update fritzconnection to 1.3.0" (#37278)
This reverts commit 2f46a81e3e.
2020-07-01 14:37:16 +02:00
Bram Kragten
247bc6f673 Updated frontend to 20200701.0 (#37279) 2020-07-01 14:34:36 +02:00
Bram Kragten
b9d957837e Revert "Update fritzconnection to 1.3.0" (#37278)
This reverts commit 2f46a81e3e.
2020-07-01 13:31:06 +02:00
Jeff Irion
f8d11c843d Clean up 'androidtv.learn_sendevent' service (#37276) 2020-07-01 08:48:06 +02:00
Andrey
431045f036 Add media_stop for volumio integration (#37211) 2020-07-01 00:55:31 -05:00
Haemish Kyd
10786bbe7f Create PoolSense integration (#35561)
* Created integration for PoolSense - a device to maintain your pool

* Updated poolsense integration with changes due to code review comments.

* Update poolsense with lint fix (logging-not-lazy)

* Update poolsense with lint fix (f string missing placeholders)

* Update homeassistant/components/poolsense/config_flow.py

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

* Update homeassistant/components/poolsense/sensor.py

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

* Update homeassistant/components/poolsense/sensor.py

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

* Update homeassistant/components/poolsense/sensor.py

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

* Update homeassistant/components/poolsense/sensor.py

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

* Update homeassistant/components/poolsense/sensor.py

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

* Update homeassistant/components/poolsense/sensor.py

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

* Update homeassistant/components/poolsense/sensor.py

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

* Update homeassistant/components/poolsense/sensor.py

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

* Update homeassistant/components/poolsense/sensor.py

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

* Update homeassistant/components/poolsense/strings.json

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

* Update homeassistant/components/poolsense/strings.json

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

* Update homeassistant/components/poolsense/strings.json

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

* Update homeassistant/components/poolsense/strings.json

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

* Added test for poolsense component. Updated config_flow to better follow the guidelines.

* Update tests/components/poolsense/test_config_flow.py

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

* Update tests/components/poolsense/test_config_flow.py

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

* Update tests/components/poolsense/test_config_flow.py

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

* Update tests/components/poolsense/test_config_flow.py

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

* Update tests/components/poolsense/test_config_flow.py

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

* Update tests/components/poolsense/test_config_flow.py

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

* Update tests/components/poolsense/test_config_flow.py

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

* Update tests/components/poolsense/test_config_flow.py

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

* Removed uneccessary functions.

* Added local venv to gitignore

* Update homeassistant/components/poolsense/strings.json

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

* Update homeassistant/components/poolsense/strings.json

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

* Update homeassistant/components/poolsense/strings.json

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

* Update homeassistant/components/poolsense/strings.json

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

* Update homeassistant/components/poolsense/strings.json

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

* Update homeassistant/components/poolsense/strings.json

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

* Update to strings to allow for translations. Also some coding convention updates.

* Removed space in icon return

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

* Removed space in icon return

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

* Removed space in icon return

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

* Update homeassistant/components/poolsense/__init__.py

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

* Update homeassistant/components/poolsense/__init__.py

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

* Update homeassistant/components/poolsense/__init__.py

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

* Update homeassistant/components/poolsense/strings.json

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

* Updated to include some error checks for pypi package

* Apply suggestions from code review

* Apply suggestions from code review

* Apply suggestions from code review

* Update tests/components/poolsense/test_config_flow.py

* Update homeassistant/components/poolsense/sensor.py

* Apply suggestions from code review

* Update homeassistant/components/poolsense/__init__.py

* Apply suggestions from code review

* Apply suggestions from code review

* Apply suggestions from code review

* Update homeassistant/components/poolsense/sensor.py

* Apply suggestions from code review

* Update homeassistant/components/poolsense/__init__.py

* Update homeassistant/components/poolsense/sensor.py

Co-authored-by: Chris Talkington <chris@talkingtontech.com>
2020-07-01 00:44:10 -05:00
HomeAssistant Azure
352c572e5d [ci skip] Translation update 2020-07-01 00:06:46 +00:00
guillempages
0edd7302d5 Improve support for homematic garage covers (#35350) 2020-06-30 14:39:20 -07:00
Shulyaka
06e977b444 Add humidifier support to google_assistant (#37157) 2020-06-30 14:32:23 -07:00
Quentame
01ba578016 Add missed call sensor to Freebox (#36895) 2020-06-30 12:55:46 -07:00
Paulus Schoutsen
cce95312a9 Bumped version to 0.112.0b4 2020-06-30 19:43:05 +00:00
Sven-Hendrik Haase
a7be7bcd0a Update fritzconnection to 1.3.0 (#37212)
This effectively fixes an important bug where the graph would go negative because 1.2.0 used the 32-bit counters and 1.3.0 uses 64-bit counters will not realistically go negative any time soon.
2020-06-30 19:42:58 +00:00
J. Nick Koston
a8e86a62a4 Update myq for latest client version requirement (#37104) 2020-06-30 19:42:57 +00:00
J. Nick Koston
c1ec8971ae Update myq for latest client version requirement (#37104) 2020-06-30 12:41:09 -07:00
J. Nick Koston
7746ecc9fb Cache checking for entity exposure in emulated_hue (#37260)
Since we now base all of exposure checks on data that
will not change, we can cache the result instead
of calculating it every loop.

This change complements the work done in #32718
2020-06-30 13:22:17 -05:00
mdegat01
24289d5dbb Refactor Influx logic to reduce V1 vs V2 code paths (#37232)
* refactoring to share logic and sensor startup error test

* Added handling for V1 InfluxDBServerError to start-up and runtime and test for it

* Added InfluxDBServerError test to sensor setup tests

* Raising PlatformNotReady exception from sensor for setup failure

* Proper testing of PlatformNotReady error
2020-06-30 20:02:25 +02:00
Phil Bruckner
38210ebbc6 Enhance script integration to use new features in script helper (#37201) 2020-06-30 10:22:26 -07:00
mdegat01
b78f163bb0 Changed FilterTest namedtuples to dataclasses (#37252) 2020-06-30 11:59:21 -05:00
Erik Montnemery
86c27b50f1 Bump pychromecast to 7.0.1 (#37225)
* Bump pychromecast to 7.0.1

* Fix tests

* Mark configuration via platform for removal in 0.116

* Fix uuid check
2020-06-30 16:35:10 +02:00
Franck Nijhof
333dccc7af Remove Hue configurator demo from demo integration (#37250) 2020-06-30 15:01:30 +02:00
Michał Mrozek
61475d0a0c Add support for window covers to ozw integration (#37217)
* feat: add cover to ozw

* fix: imports

* fix: formatting

* fix: improve code regarding comments

* add: cover tests

* fix: add position converting tests

* fix: convert cover position form zwave value

* fix: improve naming

* fix: increase coverage
2020-06-30 13:02:30 +02:00
Jeff Irion
4d17b18761 Register 'androidtv.learn_sendevent' service (#35707) 2020-06-29 18:17:04 -07:00
Sven-Hendrik Haase
2f46a81e3e Update fritzconnection to 1.3.0 (#37212)
This effectively fixes an important bug where the graph would go negative because 1.2.0 used the 32-bit counters and 1.3.0 uses 64-bit counters will not realistically go negative any time soon.
2020-06-29 17:49:22 -07:00
J. Nick Koston
fae47358b8 Use shared zeroconf for discovery netdisco (#37237)
* Use shared zeroconf for netdisco

* Update netdisco

Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2020-06-29 19:34:38 -05:00
Paulus Schoutsen
4c052643ca Bumped version to 0.112.0b3 2020-06-30 00:25:44 +00:00
Paulus Schoutsen
b7a071b23f Updated frontend to 20200629.0 (#37240) 2020-06-30 00:25:37 +00:00
David F. Mulcahey
f0a8e8ea04 Bump ZHA Quirks to 0.0.41 (#37235) 2020-06-30 00:25:36 +00:00
Aaron Bach
caf306799b Fix Tile location accuracy bug (#37233)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-06-30 00:25:35 +00:00
definitio
d9a2cc93ba Fixes after PR #36479 (#37230) 2020-06-30 00:25:34 +00:00
Franck Nijhof
dbdd4f0e39 Ensure recorder data integrity and MySQL lock error handling (#37228) 2020-06-30 00:25:34 +00:00
MatthewFlamm
edc44230b4 Fix wind speed change in NWS (#37222) 2020-06-30 00:25:33 +00:00
Rami Mosleh
4d7a468c0e Fix updating ping sensor (#37220) 2020-06-30 00:25:32 +00:00
Aaron Bach
a06595c08d Fix bug where Tile session would expire (#37185) 2020-06-30 00:25:32 +00:00
Alan Tse
ff13b4c6b3 Bump teslajsonpy to 0.9.0 (#37162) 2020-06-30 00:25:31 +00:00
Tom Harris
8a755e790f Fix issue with Insteon devices not responding to device changes (#37160) 2020-06-30 00:25:30 +00:00
Aaron Bach
0f43476d03 Fix Tile location accuracy bug (#37233)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-06-29 17:25:01 -07:00
Aaron Bach
856f8fd6de Move Guardian services to entity platform services (#37189) 2020-06-29 17:24:42 -07:00
HomeAssistant Azure
bba47ad9b1 [ci skip] Translation update 2020-06-30 00:06:54 +00:00
Franck Nijhof
79f131066c Ensure recorder data integrity and MySQL lock error handling (#37228) 2020-06-29 16:23:11 -07:00
Paulus Schoutsen
ac237ee10f Updated frontend to 20200629.0 (#37240) 2020-06-29 15:54:02 -07:00
MatthewFlamm
11debb1568 Fix wind speed change in NWS (#37222) 2020-06-29 15:41:52 -07:00
David F. Mulcahey
b0942d86fe Bump ZHA Quirks to 0.0.41 (#37235) 2020-06-29 15:37:42 -07:00
definitio
12510b0c97 Fixes after PR #36479 (#37230) 2020-06-29 15:36:52 -07:00
Rami Mosleh
cc7bed5dab Fix updating ping sensor (#37220) 2020-06-29 12:45:28 -07:00
mdegat01
b0e2f5f375 Add mdegat01 as code owner for InfluxDB (#37227) 2020-06-29 20:21:21 +02:00
J. Nick Koston
89a9634d35 Use eventloop for scheduling (#37184)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2020-06-29 09:39:24 -07:00
J. Nick Koston
0f72008090 Ensure homekit state changed listeners are unsubscribed on reload (#37200)
* Ensure homekit state changed listeners are unsubscribed on reload

* fix mocking
2020-06-29 11:25:26 -05:00
Eugene Prystupa
7ef33a7219 Add first unit test to config flow for Plum Lightpad (#37183)
* add first unit test to config flow for Plum Lightpad

* add first unit test to config flow for Plum Lightpad (add changed requirements_test_all.txt)

* add first unit test to config flow for Plum Lightpad

* add first unit test to config flow for Plum Lightpad (bring coverage to 100%)

* add first unit test to config flow for Plum Lightpad

* add first unit test to config flow for Plum Lightpad (updated patch path as suggested)

* add first unit test to config flow for Plum Lightpad (add unit test for abort)
2020-06-29 18:07:43 +02:00
mdegat01
b96ce9c210 Additional testing for InfluxDB and some quality improvements (#37181)
* refactoring and added tests to sensor

* using caplog and not mocking main setup method in sensor tests
2020-06-29 17:31:49 +02:00
J. Nick Koston
7b4df98875 Silence spurious warning when HomeKit is already running (#37199)
If homekit.start is called when homekit is already running
we previous warned.  Downgrade the warning to a debug message
as nothing is actually wrong.
2020-06-29 13:37:56 +02:00
Dave T
5badbcb012 Correct typo in input_number UI text (#37208) 2020-06-29 10:57:23 +02:00
Joakim Plate
ca265966e7 Sensors sometimes are created without event (#37205) 2020-06-29 06:39:56 +02:00
HomeAssistant Azure
af5374d38b [ci skip] Translation update 2020-06-29 00:03:32 +00:00
Gleb Sinyavskiy
76fa581bb9 Move transmission limit and order config options to the options flow (#37198) 2020-06-28 22:51:18 +02:00
Gleb Sinyavskiy
4a374f0378 Limit and sort transmission torrents_info attribute (#35411) 2020-06-28 13:56:54 +02:00
Tom Harris
15165a3c93 Fix issue with Insteon devices not responding to device changes (#37160) 2020-06-28 11:46:44 +02:00
Phil Bruckner
584ce043e5 Add debug output for invalid service call data (#37171) 2020-06-27 22:19:54 -07:00
Aaron Bach
b0df223f5a Bump aioguardian (#37188)
* Bump aioguardian

* Fix tests
2020-06-27 23:16:42 -06:00
Joakim Plate
201dab93ff Attempt to set unique id of rfxtrx device (#37159) 2020-06-27 21:59:42 -07:00
Aaron Bach
10f296ba17 Fix bug where Tile session would expire (#37185) 2020-06-27 21:54:50 -07:00
Joakim Plate
464f17f182 Fixup rfxtrx tests to at least run (#37186) 2020-06-27 21:54:27 -07:00
J. Nick Koston
a63a11a11a Ensure all async_track_state_change_event callbacks run if one throws (#37179) 2020-06-27 17:48:27 -07:00
HomeAssistant Azure
c1194c90cb [ci skip] Translation update 2020-06-28 00:05:05 +00:00
J. Nick Koston
4acc6f333e Improve scalability of state change event routing (#37174) 2020-06-27 14:46:45 -07:00
Alan Tse
07aba74757 Bump teslajsonpy to 0.9.0 (#37162) 2020-06-27 11:45:34 -05:00
David F. Mulcahey
4fd27e879e add phillips remote cluster (#37172) 2020-06-27 12:40:34 -04:00
jjlawren
ec13eecc59 Update Plex tests to mock websockets (#37147)
* Update Plex tests to mock websockets

* Avoid unnecessary class mock
2020-06-27 10:03:51 +02:00
HomeAssistant Azure
e48bcd2070 [ci skip] Translation update 2020-06-27 00:05:54 +00:00
mdegat01
d454f85572 Add support for glob matching in InfluxDB filters (#37069)
* added support for glob filtering to influx

* removed print and using dataclass instead of namedtuple
2020-06-27 00:01:32 +02:00
Paulus Schoutsen
6a6dfdff4d Bumped version to 0.112.0b2 2020-06-26 21:26:42 +00:00
Paulus Schoutsen
b9c233f013 Fix OwnTracks race condition (#37152) 2020-06-26 21:26:37 +00:00
Paulus Schoutsen
7418011d6d Fix speedtest blowing up (#37151) 2020-06-26 21:26:36 +00:00
Paulus Schoutsen
3a6a439c02 Updated frontend to 20200626.1 (#37150) 2020-06-26 21:26:35 +00:00
jjlawren
34c4dc2e80 Catch additional exception for Plex account login failures (#37143) 2020-06-26 21:26:34 +00:00
J. Nick Koston
56853787e7 Fix repack when using pymysql (#37142) 2020-06-26 21:26:34 +00:00
Franck Nijhof
976cbdd2aa Fix recorder purging by batch processing purges (#37140) 2020-06-26 21:26:33 +00:00
Paulus Schoutsen
4e10ca3214 Fix speedtest blowing up (#37151) 2020-06-26 14:26:05 -07:00
Paulus Schoutsen
50dd6b69cd Fix OwnTracks race condition (#37152) 2020-06-26 14:25:50 -07:00
Paulus Schoutsen
8a9b19f327 Updated frontend to 20200626.1 (#37150) 2020-06-26 13:44:28 -07:00
bsmappee
680f8f8d5a Improve Smappee integration (#37087) 2020-06-26 10:46:14 -07:00
jjlawren
fe5bf96e5d Catch additional exception for Plex account login failures (#37143) 2020-06-26 10:30:44 -07:00
Franck Nijhof
7d74b74570 Fix recorder purging by batch processing purges (#37140) 2020-06-26 10:27:45 -07:00
J. Nick Koston
a4501b93c4 Fix repack when using pymysql (#37142) 2020-06-26 11:45:40 -05:00
Kdemontf
39a5f68914 Update remote_rpi_gpio switch parent (#37136)
* Update switch.py

Update to rename SwitchDevice to SwitchEntity, if appropriate.

* Update switch.py

* Update switch.py
2020-06-26 18:29:38 +02:00
Aaron Bach
3a2d4ac7fa Add optimistic Guardian switch updating (#37141) 2020-06-26 10:19:38 -06:00
J. Nick Koston
76db2b39b0 Move logbook continuous domain filtering to sql (#37115)
* Move logbook continuous domain filtering to sql

sensors tend to generate a significant amount of states
that are filtered out by logbook.  In testing 75% of
states can be filtered away in sql to avoid the
sqlalchemy ORM overhead of creating objects that will
be discarded.

* remove un-needed nesting
2020-06-26 09:12:50 -05:00
Franck Nijhof
fe1a7f6d69 Upgrade sqlalchemy to 1.3.18 (#37123) 2020-06-26 08:15:54 -05:00
J. Nick Koston
0eaa6045c1 Ensure doorbird events can be filtered by entity_id (#37116) 2020-06-25 23:29:22 -07:00
jjlawren
40573bf393 Plex tests cleanup and additions (#37117) 2020-06-25 23:24:58 -07:00
Paulus Schoutsen
748f1c3607 Bumped version to 0.112.0b1 2020-06-26 00:45:10 +00:00
Paulus Schoutsen
7fdb76cdf2 Bump frontend (#37113) 2020-06-26 00:44:42 +00:00
jjlawren
1508d7a3ac Fix Plex when using local tokenless authentication (#37096) 2020-06-26 00:44:41 +00:00
Franck Nijhof
0698ae4850 Fix missing service call context in multiple locations (#37094) 2020-06-26 00:44:40 +00:00
Franck Nijhof
654159d34d Remove invalidation version from ZHA deprecated config options (#37089) 2020-06-26 00:44:39 +00:00
J. Nick Koston
9c90aaf830 Ensure history states can be copied (#37081)
The filter integration makes a copy of a
state object obtained from history.
2020-06-26 00:44:39 +00:00
Paulus Schoutsen
5cbf77221a Add logbook platforms (#37078)
* Add logbook platforms

* Fix logbook describe test
2020-06-26 00:44:38 +00:00
Eugene Prystupa
508afd3b90 Clean up plum_lightpad (#37077) 2020-06-26 00:44:37 +00:00
Alexei Chetroi
7c63cfbbc7 Use cached values for divisor/multiplier (#37070) 2020-06-26 00:44:36 +00:00
RogerSelwyn
f90f4629ab Fix geniushub spamming log with exceptions (#37067) 2020-06-26 00:44:35 +00:00
Alexei Chetroi
1e4c94b69c Don't reset multiplier/divisor on failures (#37066)
If SmartEnergy.Metering channels fails to get multiplier/divisor when
initializing, then keep the old values instead of resetting to 1.
2020-06-26 00:44:34 +00:00
Alexei Chetroi
67868220eb Handle Centralite Pearl thermostat modes (#37065) 2020-06-26 00:44:34 +00:00
Paulus Schoutsen
56907392d3 Bump frontend (#37113) 2020-06-25 17:38:09 -07:00
J. Nick Koston
30df871787 Improve isoformat timestamp performance for full states (#37105) 2020-06-25 17:11:49 -07:00
jjlawren
fd1a8dd96c Fix Plex when using local tokenless authentication (#37096) 2020-06-25 17:10:40 -07:00
Franck Nijhof
f42eb0d5ca Fix missing service call context in multiple locations (#37094) 2020-06-25 17:09:52 -07:00
HomeAssistant Azure
98a388e65a [ci skip] Translation update 2020-06-26 00:04:23 +00:00
J. Nick Koston
6d9fa34f65 Migrate doorbird to use new logbook platform (#37097) 2020-06-25 15:17:05 -05:00
Franck Nijhof
2dd0a182ab Bump version to 0.113.0dev0 (#37071) 2020-06-25 11:42:33 -07:00
Indu Prakash
15773cb3e0 Add worldclock custom format (#36157) 2020-06-25 11:41:53 -07:00
Paulus Schoutsen
4aedafc73a Improve setup (#37075) 2020-06-25 11:34:47 -07:00
Alexei Chetroi
25b093e69e Use cached values for divisor/multiplier (#37070) 2020-06-25 09:35:48 -04:00
Franck Nijhof
140fc48ede Remove invalidation version from ZHA deprecated config options (#37089) 2020-06-25 08:17:31 -04:00
Eugene Prystupa
fea5d007fc Clean up plum_lightpad (#37077) 2020-06-25 13:20:42 +02:00
Phil Bruckner
c423501804 Add legacy polling option for Amcrest motion detection (#36955) 2020-06-24 23:20:39 -07:00
RogerSelwyn
9137957cf9 Fix geniushub spamming log with exceptions (#37067) 2020-06-24 23:20:00 -07:00
J. Nick Koston
f4528d0db2 Ensure history states can be copied (#37081)
The filter integration makes a copy of a
state object obtained from history.
2020-06-24 22:43:08 -05:00
Paulus Schoutsen
5bc6ed4cef Add logbook platforms (#37078)
* Add logbook platforms

* Fix logbook describe test
2020-06-24 18:14:50 -07:00
Aaron Bach
7968cd650a Add concept of allowed external URLs to config (#36988)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-06-24 17:37:01 -07:00
HomeAssistant Azure
cbb76be9d0 [ci skip] Translation update 2020-06-25 00:08:30 +00:00
Emily Mills
9f855c7d01 Zerproc cleanup (#37072) 2020-06-24 16:02:03 -07:00
Alexei Chetroi
bd42827d43 Don't reset multiplier/divisor on failures (#37066)
If SmartEnergy.Metering channels fails to get multiplier/divisor when
initializing, then keep the old values instead of resetting to 1.
2020-06-24 17:54:11 -04:00
Alexei Chetroi
47220ae4a6 Handle Centralite Pearl thermostat modes (#37065) 2020-06-24 17:52:56 -04:00
Franck Nijhof
e0367dc721 Bumped version to 0.112.0b0 2020-06-24 21:35:02 +02:00
Markus Bong
35dc5ba742 Add devolo sensor devices (#37049) 2020-06-24 10:06:11 -07:00
rajlaud
f7325a7d35 Squeezebox dispatch helper (#37030) 2020-06-24 10:04:17 -07:00
J. Nick Koston
a798b508bc Raise slow startup timeout to 3h for large db migrations. (#37061) 2020-06-24 09:58:01 -07:00
J. Nick Koston
255d706c24 Avoid creating a column in v8 schema that is removed in v9 schema (#37062) 2020-06-24 09:56:01 -07:00
J. Nick Koston
cc8e0ef942 Handle mysql index/column already exists during migration (#37064) 2020-06-24 09:55:13 -07:00
RogerSelwyn
d9a3b04e30 Fix asuswrt spamming logs with exceptions (#37063) 2020-06-24 18:50:58 +02:00
Andre Lengwenus
4a65bed0eb Fix LCN cover behavior when using output ports (#37034)
* Fixed LCN cover behavior when connected to output ports

* Cover is assumed to be in an open state unless it is fully closed.
2020-06-24 15:10:56 +02:00
Franck Nijhof
02adcc532f Fix rest to use BinarySensorEntity (#37054) 2020-06-24 14:53:17 +02:00
bsmappee
fbd5ccf156 Add smappee binary_sensor platform (#37023) 2020-06-24 14:37:48 +02:00
uvjustin
8d69a4968f Handle unexpected versions in forked_daapd zeroconf (#37053) 2020-06-24 14:19:08 +02:00
Eugene Prystupa
e3b90ea3f7 Add Plum Lightpad config flow (#36802)
* add support for config flow for Plum Lightpad integration

* add support for config flow for Plum Lightpad integration (remove unintended change to requirements_test_all.txt)

* add support for config flow for Plum Lightpad integration (fix lint issues)

* add support for config flow for Plum Lightpad integration (PR feedback)

* add support for config flow for Plum Lightpad integration (fix lint)

* Update homeassistant/components/plum_lightpad/__init__.py

use debug instead of info for logging

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

* Update homeassistant/components/plum_lightpad/strings.json

switch to use generated references instead of hard-coded strings

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

* Update homeassistant/components/plum_lightpad/strings.json

switch to use references instead of hard-coded string

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

* Update homeassistant/components/plum_lightpad/strings.json

removing translated title per suggestion

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

* Update homeassistant/components/plum_lightpad/strings.json

removing per suggestion

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

* remove unnecessary deepcopy

* remove unnecessary logging warning, since ignoring is expected for configuration.yaml scenario

* switch to hass.loop.create_task per PR feedback

* show login errors when configuring integration via UI (PR feedback)

* disable wrongly flag pylint violation

* add except handler to handle connection errors when setting up config flow entry

* address PR feedback regarding exception handling

* Update homeassistant/components/plum_lightpad/config_flow.py

use helper instead of custom code/message-id

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

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-06-23 20:40:11 -07:00
mdegat01
6c7355785a Add support for glob matching to entity filters (#36913)
* Added GLOB capability to entityfilter and every place that uses it. All existing tests are passing

* added tests for components affected by glob change

* fixed flake8 error

* mocking the correct listener

* mocking correct bus method in azure test

* tests passing in 3.7 and 3.8

* fixed formatting issue from rebase/conflict

* Checking against glob patterns in more performant way

* perf improvments and reverted unnecessarily adjusted tests

* added new benchmark test around filters

* no longer using get with default in entityfilter

* changed filter name and removed logbook from filter benchmark

* simplified benchmark tests from feedback

* fixed apache tests and returned include exclude schemas to normal

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

* fixed azure test and clean up for other tests

* renaming test files to match standard

* merged mqtt statestream test changes with base

* removed dependency on recorder filter schema from history

* fixed recorder tests after merge and a bunch of lint errors
2020-06-23 20:02:29 -05:00
Oscar Calvo
a1ac1fb091 Part 3: Add support for incoming sms events (#37015)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-06-23 18:02:08 -07:00
Paulus Schoutsen
8ca5a04a5d Updated frontend to 20200623.3 (#37045) 2020-06-23 17:29:39 -07:00
HomeAssistant Azure
04f75d6557 [ci skip] Translation update 2020-06-24 00:08:54 +00:00
Shulyaka
26f09bae28 Add humidifier reproduce state (#36799)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-06-23 17:00:32 -07:00
Thomas Le Gentil
2af961513d Remove fortigate integration (#34586) 2020-06-24 00:21:51 +02:00
Hedgehog57
fd1edf1bb6 Add resource_template to rest binary_sensor (#30703) 2020-06-23 15:08:55 -07:00
J. Nick Koston
152a80abed Complete deprecation of hidden attribute (ATTR_HIDDEN) (#37041) 2020-06-23 17:05:32 -05:00
Franck Nijhof
c289f9f099 Toon translation updates + tweaks (#37043) 2020-06-24 00:04:16 +02:00
Chris Talkington
ed89d4869d Fix typo in roku services description (#37042) 2020-06-24 00:00:24 +02:00
Franck Nijhof
5b4187a9eb Merge branch 'master' into dev 2020-06-23 23:22:38 +02:00
J. Nick Koston
5b79c1f9ef Remove support for deprecated hidden attribute from logbook and history (#37039) 2020-06-23 13:40:39 -07:00
Bouwe Westerdijk
b61b0321d6 Bump Plugwise_Smile to v1.1.0 (#37038) 2020-06-23 22:02:50 +02:00
Erik Montnemery
bb17cbdd83 Drop MQTT broker tls_version parameter (#37033) 2020-06-23 12:12:37 -07:00
J. Nick Koston
91e0395c1c Optimize database indexes for existing queries (#37036)
Cleanup indexes as >50% of the db size was indexes,
many of them unused in any current query

Logbook search was having to filter event_types without
an index:

  Created ix_events_event_type_time_fired
  Dropped ix_events_event_type

States had a redundant keys on composite index:

  Dropped ix_states_entity_id
  Its unused since we have ix_states_entity_id_last_updated

De-duplicate storage of context in states as
its always stored in events and can be found
by joining the state on the event_id.

  Dropped ix_states_context_id
  Dropped ix_states_context_parent_id
  Dropped ix_states_context_user_id

After schema v9:

STATES............................................ 10186       40.9%
EVENTS............................................ 5502        22.1%
IX_STATES_ENTITY_ID_LAST_UPDATED.................. 2177         8.7%
IX_EVENTS_EVENT_TYPE_TIME_FIRED................... 1910         7.7%
IX_EVENTS_CONTEXT_ID.............................. 1592         6.4%
IX_EVENTS_TIME_FIRED.............................. 1383         5.6%
IX_STATES_LAST_UPDATED............................ 1079         4.3%
IX_STATES_EVENT_ID................................ 375          1.5%
IX_EVENTS_CONTEXT_PARENT_ID....................... 347          1.4%
IX_EVENTS_CONTEXT_USER_ID......................... 346          1.4%
IX_RECORDER_RUNS_START_END........................ 1            0.004%
RECORDER_RUNS..................................... 1            0.004%
SCHEMA_CHANGES.................................... 1            0.004%
SQLITE_MASTER..................................... 1            0.004%
2020-06-23 10:57:52 -07:00
Paulus Schoutsen
a71e0a4b29 Updated frontend to 20200623.2 (#37035) 2020-06-23 10:37:32 -07:00
Erik Montnemery
4e77969f5e Drop use of mock_mqtt_component (#37013)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-06-23 10:17:22 -07:00
Shulyaka
cf6480cda0 Add humidifier device actions (#36854) 2020-06-23 10:04:51 -07:00
Erik Montnemery
1b3e5460a9 Remove embedded MQTT broker (#37032) 2020-06-23 09:51:50 -07:00
terminet85
a004e6aa68 Add new Solaredge sensors (#34525)
* Changes to be committed:
	modified:   homeassistant/components/solaredge/const.py
	modified:   homeassistant/components/solaredge/sensor.py

Solaredge as recently changed its policy about local api access, so solaredge-local doesn't work with last firmware update for almost users.
Please check https://github.com/home-assistant/core.git

Anyway the solardge remote api is still working, but doesn't got some usefull sensor information as Power SelfConsumption, Power Exported, Power Imported.
With my update, I'll fetching API energy details where  we got these new sensors.

* Grammar/syntax fix

* Indentation fix

* Black formatting fix

* isort fix

* To force re-check

* Fix too-many-nested-blocks

* Fix indentation

* Fix Black formatting :D

* Fix Redefining built-in var

* Removed comment to force check
2020-06-23 09:06:31 -07:00
Chris Talkington
6610bbe7bb Add service to trigger roku search (#37014) 2020-06-23 09:03:43 -07:00
Thomas Hollstegge
2c7876fa66 Fix alexa flash briefings after removal of api_password auth (#36789) 2020-06-23 08:58:25 -07:00
Joakim Sørensen
835f433cf7 Remove loading of legacy translations (#37021) 2020-06-23 10:58:11 +02:00
Paulus Schoutsen
9d16edc1dc Bump cloud to 0.34.7 (#37018) 2020-06-22 23:42:10 -07:00
Paulus Schoutsen
e6d814da1d Avoid Home connect test doing I/O (#37017) 2020-06-22 23:41:44 -07:00
Ville Skyttä
7c5e852303 Improve detected Huawei LTE device name (#36772)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-06-22 21:49:05 -07:00
Martin Hjelmare
149a3165e6 Fix coronavirus worldwide sum (#36737)
Co-authored-by: Franck Nijhof <git@frenck.dev>
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2020-06-22 21:22:52 -07:00
Oscar Calvo
82058f0b50 Part 2: Add signal sensor (#34406) 2020-06-22 20:41:55 -07:00
celestinjr
63baf6fb0f Extend itach repeat functionality (#36535) 2020-06-22 20:30:47 -07:00
J. Nick Koston
ad6315be5c Ensure recorder runs are cleaned up during purge (#36989)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2020-06-22 20:10:05 -07:00
Xiaonan Shen
b4489e132c Add DataUpdateCoordinator to pihole (#36684)
Co-authored-by: Ian <vividboarder@gmail.com>
2020-06-22 18:47:37 -07:00
Robert Van Gorkom
2538cda9d4 Fix withings body hydration unit of measure to match documented unit of measure. (#36723) 2020-06-22 18:45:05 -07:00
Allison
49a153a2e5 Add "seconds" as a valid unit_of_measurement (#36811) 2020-06-22 18:40:56 -07:00
Phil Bruckner
d68148417f Retry failed Amcrest commands that change settings (#36917) 2020-06-22 18:36:41 -07:00
Franck Nijhof
8b21b415c4 Fix/Rewrite of Toon integration (#36952)
Co-authored-by: J. Nick Koston <nick@koston.org>
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2020-06-22 18:22:41 -07:00
Shulyaka
c28493098a Add new humidifier entity integration (#28693)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-06-22 17:59:16 -07:00
Erik Montnemery
747490ab34 Support reconfiguring MQTT config entry (#36537) 2020-06-22 17:49:01 -07:00
Alex van den Hoogen
ee816ed3dd Optimize recorder MySQL tables when repacking (#36762)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-06-22 17:28:03 -07:00
Chris
16f1ef5a44 Add attribute templates to template vacuum (#36518) 2020-06-22 17:21:20 -07:00
zpetr
a2e705880d Tahoma zwave light support (#36584) 2020-06-22 17:18:14 -07:00
HomeAssistant Azure
e39997ca10 [ci skip] Translation update 2020-06-23 00:09:06 +00:00
tomtzeng
620271c782 Add new language to Google Cloud TTS (#36705) 2020-06-22 17:07:09 -07:00
Steven Looman
d974cd4606 Prevent upnp to use None values (#36803) 2020-06-22 16:39:57 -07:00
Jonas Thuresson
247df5874b Xiaomii miio vaccum clean segment service (#36801) 2020-06-22 16:37:05 -07:00
zvldz
e1060f154e Make generic camera stream_source a template (#36123)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-06-22 16:11:18 -07:00
Oscar Calvo
3f9e3d0905 Part 1: Support for config flow on SMS integration (#35995)
* Add support for config flow;Remove IO on main loop

* Remove not needed const

* Remove not needed method

* Small refactor

* Update homeassistant/components/sms/__init__.py

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

* Update homeassistant/components/sms/__init__.py

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

* Update homeassistant/components/sms/gateway.py

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

* Update homeassistant/components/sms/gammuasync.py

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

* Refactor gammu

* Update homeassistant/components/sms/__init__.py

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

* Fix pylint

* Apply PR feedback

* Update gammu version with async support

* Apply PR feedback

* Apply PR feedback

* Update homeassistant/components/sms/config_flow.py

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

* Update homeassistant/components/sms/config_flow.py

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

* Update homeassistant/components/sms/config_flow.py

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

* Update homeassistant/components/sms/__init__.py

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

* Update homeassistant/components/sms/config_flow.py

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

* Update homeassistant/components/sms/config_flow.py

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

* Apply PR feedback

* Apply PR feedback

* Apply PR feedback

* Update homeassistant/components/sms/__init__.py

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

* Update homeassistant/components/sms/__init__.py

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

* Update homeassistant/components/sms/strings.json

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

* Update homeassistant/components/sms/strings.json

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

* Update homeassistant/components/sms/config_flow.py

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

* Update homeassistant/components/sms/__init__.py

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

* Apply PR feedback

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-06-22 16:07:58 -07:00
Paulus Schoutsen
becc011135 Handle ArmDisarm execute without arm level (#36942) 2020-06-22 16:06:30 -07:00
Franck Nijhof
6660cf701d Remove lockitron integration (#37012) 2020-06-22 16:34:26 -06:00
Erik Montnemery
280f49540e Drop use of async_mock_mqtt_component (#37011) 2020-06-22 23:59:50 +02:00
Erik Montnemery
a2e2c35011 Use pytest for more MQTT tests (#36859)
* Use pytest for more MQTT tests

* Address review comments

* Break out PAHO client mock in separate fixture.

* tweak.
2020-06-22 22:02:29 +02:00
Robert Svensson
3a83f4bdbe Support guest events in UniFi device tracker (#37008) 2020-06-22 21:50:34 +02:00
Robert Svensson
02d94f2fd0 Bump Axis library to support fence guard events (#37007) 2020-06-22 21:50:05 +02:00
J. Nick Koston
53a91ece4e Improve isoformat timestamp performance (#36991)
* adj

* time_fired_isoformat

* remove unused code

* tests for processing timestamps

* restore missing import lost in merge conflict

* test for None case
2020-06-22 12:06:02 -05:00
Robert Van Gorkom
5446641f09 User defined profile name for Withings (#36864) 2020-06-22 17:55:41 +02:00
J. Nick Koston
e19c97af7c Fix history api with no constraints (#36979) 2020-06-22 10:32:46 -05:00
Franck Nijhof
7e696f19d3 Upgrade numpy to 1.19.0 (#36996) 2020-06-22 10:28:06 -05:00
Mark Coombes
6906a19c01 Bump python-ecobee-api to 0.2.7 (#37002) 2020-06-22 16:52:02 +02:00
Jürgen Haas
93f9f1b320 Add NetdataAlarms sensor to additionally collect alarm information (#34339) 2020-06-22 16:29:29 +02:00
rajlaud
3f427602ba Squeezebox config flow (#35669)
* Squeezebox add config flow and player discovery

* Fixes to config flow

* Unavailable player detection and recovery

* Improved error message for auth failure

* Testing for squeezebox config flow

* Import configuration.yaml

* Support for discovery integration

* Internal server discovery

* Fix bug restoring previously detected squeezebox player

* Tests for user and edit steps in config flow

* Tests for import config flow

* Additional config flow tests and fixes

* Linter fixes

* Check that players are found before iterating them

* Remove noisy logger message

* Update requirements_all after rebase

* Use asyncio.Event in discovery task

* Use common keys in strings.json

* Bump pysqueezebox to v0.2.2 for fixed server discovery using python3.7

* Bump pysqueezebox version to v0.2.3

* Don't trap AbortFlow exception

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

* Refactor validate_input

* Update squeezebox tests

* Build data flow schema using function

* Fix linter error

* Updated en.json

* Update homeassistant/components/squeezebox/media_player.py

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

* Update homeassistant/components/squeezebox/media_player.py

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

* Update homeassistant/components/squeezebox/media_player.py

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

* Update homeassistant/components/squeezebox/media_player.py

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

* Update .coveragerc for squeezebox config flow test

* Mock TIMEOUT for faster testing

* More schema de-duplication and testing improvements

* Apply suggestions from code review

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

* Testing and config flow improvements

* Remove unused exceptions

* Remove deprecated logger message

* Update homeassistant/components/squeezebox/media_player.py

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

* Implement suggestions from code review

* Add async_unload_entry

* Use MockConfigEntry in squeezebox tests

* Remove unnecessary config schema

* Stop server discovery task when last config entry unloaded

* Improvements to async_unload_entry

* Fix bug in _discovery arguments

* Do not await server discovery in async_setup_entry

* Do not await start server discovery in async_setup

* Do not start server discovery from async_setup_entry until homeassistant running

* Re-detect players when server removed and re-added without restart

* Use entry.entry_id instead of unique_id

* Update unittests to avoid patching homeassistant code

Co-authored-by: J. Nick Koston <nick@koston.org>
2020-06-22 09:29:01 -05:00
J. Nick Koston
e25f216fd6 Reduce state conversion overhead in history by lazy loading properties (#36963) 2020-06-22 16:19:33 +02:00
Franck Nijhof
b47be05efc Add new Remote Python Debugger integration (#36960) 2020-06-22 15:17:59 +02:00
jjlawren
9d40ae96b5 Set Plex media_player discovery source as an attribute (#36884) 2020-06-22 14:48:40 +02:00
Franck Nijhof
f131959f4b Correct inst method names in system info and issue templates (#36998) 2020-06-22 14:46:31 +02:00
Adam Žurek
0054904454 highlight Dockerfile.dev as Dockerfile in github ui (#36933) 2020-06-22 14:45:57 +02:00
Robert Van Gorkom
5c8d8a290f Add default admin user for gogogate2 setup (#36722) 2020-06-22 13:13:10 +02:00
Filip Pytloun
dcb3a57476 Add support for daikin humidity sensor (#36475) 2020-06-22 13:10:26 +02:00
Damien Levin
78225c9ddd Set webostv scan interval to 10s for quick updates (#35795)
Co-authored-by: damien.levin@gmail.com <damienlevin@users.noreply.github.com>
Co-authored-by: Franck Nijhof <git@frenck.dev>
2020-06-22 13:08:02 +02:00
Franck Nijhof
215215747e Fix use of AdGuard integration without version (#36995) 2020-06-22 13:06:59 +02:00
Gerard
5cd85f9f00 Upgrade to bimmer_connected 0.7.7 (#36985) 2020-06-22 13:06:18 +02:00
ktnrg45
4674cb406e Bump pyps4-2ndscreen to 1.1.0 (#36987) 2020-06-22 13:02:18 +02:00
James Nimmo
82b77a8108 Bump to pyIntesishome 1.7.5 (#36562) 2020-06-22 12:56:29 +02:00
starkillerOG
1f9721bad3 Add Xiaomi Aqara Config Flow (#35595)
* Xiaomi Aqara Config Flow

* Xiaomi Aqara Config Flow

* Xiaomi Aqara Config Flow

* Xiaomi Aqara Config Flow

* Xiaomi Aqara Config Flow

First tested and working version

* Remove depricated discovery

* Add Xiaomi Aqara Config Flow

* Add Xiaomi Aqara tests

* Update .coveragerc

* Update requirements_test_all.txt

* fix spelling mistake

* fix select scheme

* fix wrong conflict resolve

* add IP to zeroconf discovery title

* black styling

* add getmac requirement

Co-authored-by: Maciej Bieniek <bieniu@users.noreply.github.com>

* add getmac

* add getmac

* Clean up

* Update homeassistant/components/xiaomi_aqara/__init__.py

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

* Update homeassistant/components/xiaomi_aqara/__init__.py

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

* Update homeassistant/components/xiaomi_aqara/__init__.py

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

* Update homeassistant/components/xiaomi_aqara/__init__.py

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

* Update homeassistant/components/xiaomi_aqara/__init__.py

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

* resolve data storage

* move format_mac down

* Remove discovery_retry from config flow

* remove unused strings

* fix styling

* fix black styling

* fix tests

* remove mac connection

This is needed to prevent a conflict with the Xiaomi Miio integration that I discovered during testing.

* fix flake8

* remove getmac depandance

* check for inavlid_interface + test

* Validate gateway key

* add invalid key tests

* Fix spelling

* Only set up sensors if no key

Co-authored-by: Maciej Bieniek <bieniu@users.noreply.github.com>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-06-22 11:54:17 +02:00
Chris Talkington
6aba87f3a6 Use roku media state to detect paused media (#36980) 2020-06-22 09:51:38 +02:00
J. Nick Koston
edad387b12 Make recorder execute avoid native conversion by default (#36938) 2020-06-21 21:58:57 -07:00
HomeAssistant Azure
f4b8a95205 [ci skip] Translation update 2020-06-22 00:05:46 +00:00
David Ryan
29adc6a27b Support Hydrawise API v1.4 (#34448)
* Now supports Hydrawise API v1.4

* Removed dependency and codeowners name.

* Update CODEOWNERS to include hydrawise

* Changes made from review comments.

* Clean up update.

* Added device class for timestamp and switch. Consolodate methods to parent class.

* Cap next_cycle at 2 years to prevent time overflow.

* Addressed review comments.

* Updated DEVICE_MAP and icon() based on review comments.
2020-06-21 16:55:47 -05:00
Andrew Hayworth
fed6625324 Refactor / update Awair integration (#34394)
* Refactor / update Awair integration

This commit does a few things, all in service of making the Awair
integration more modern and reliable. Specifically we do the following:

- Update to python_awair 0.1.1
- Begin using config entries / flow for setting up the integration.
  - YAML support is completely removed.
  - The integration now allows adding multiple Awair accounts, should a
    user wish to do so (I found it _very_ useful in development).
- Group various Awair sensors into devices, using the device registry.
- Renames various sensors and treats the "dust" sensor as a particulate sensor.
- Device update rate-limits are no longer dynamically calculated; the
  Awair API now separates rate-limits on a per-device basis.
- Supports sound pressure and illuminance sensors found on some Awair devices.
- We report the "awair index" for certain sensors as part of device_state_attributes.
  The "index" is a subjective measure of whether or not a sensor reading
  is "good" or "bad" (and to what extent). It's a component of the Awair
  score, and it is useful on its own as an input for those who wish to
  do things like "display this color if the value is 'bad'".

This is a breaking change, and requires updates to documentation and a
warning in the README. The breaking changes in detail, are:

- Support for all YAML configuration is removed, and users will need to
  re-add the integration via the UI.
- We no longer support overriding device discovery via manual
  configuration of device UUIDs. This was previously supported because
  the Awair API had severe limits on the device list endpoints; however
  those have since been removed.
- Gen 1 devices no longer show a "dust" sensor; rather we create a PM2.5
  sensor and a PM10 sensor and just keep the values in sync. This better
  reflects the sensor capabilities: it can detect particles in a range
  from 2.5 -> 10, but cannot differentiate between sizes.
- Sensors are renamed as follows:
  - "sensor.devicename_co2"   -> "sensor.devicename_carbon_dioxide"
  - "sensor.devicename_voc"   -> "sensor.devicename_volatile_organic_compounds"
  - "sensor.devicename_score" -> "sensor.devicename_air_quality_index"
  - I've chosen to call the "Awair Score" an "air quality index" sensor,
    because fundamentally the "Awair Score" and other air quality indices
    (such as CAQI) do the same thing: they calculate a value based on a
    variety of other inputs.

Under the hood, the integration has seen some improvements:

- We use the DataUpdateCoordinator class to handle updates, rather than
  rolling our own update class.
- The code no longer tracks availability based on a timestamp returned
  from the Awair service; we assert that if we have received a response
  and the response has data for our device, then we are available (and
  otherwise, not available). We don't need to test the actual Awair API
  so heavily.
- Test coverage has been expanded to handle a variety of products that
  Awair produces, not just the one I happen to own.
- Test coverage no longer concerns itself with testing behavior that is
  now handled by the DataUpdateCoordinator; nor is it concerned with
  ensuring that the overall component sets up and registers properly.
  These are assumed to be well-tested functionaity of the core and not
  things we need to re-test ourselves.

Finally - between library updates and integration updates, this
integration is well-positioned to support future updates. I have a
proof-of-concept patch for device automations, and the underlying
library now supports subclassing authentication (which clears the way
for us to use OAuth authentication for Awair).

* Wrap test fixture in mock_coro

Truthfully I'm not sure why this was passing on my local dev
environment, but I was developing with python 3.8 before. After
installing python 3.7, I was able to reproduce the CI failures and fix
them.

* Fix broken tests after #34901 and/or #34989

* Do not rename sensors so broadly

We're going to keep the sensors named as they were before, pending the
outcome of any decisions around the air_quality component and what names
should be standardized for air-quality-like devices.

If standardized names are selected (which does seem likely), then we
will update this integration to match them - at which point, it would be
a breaking change.

But for now, we'll keep names mostly identical to what users had before.

Notable in this commit is that we generate the entity_id ourselves,
rather than just allowing it to be auto-generated from the name
attribute. This allows us to provide more human friendly names, while
keeping the old format for entity ids. For example, given an Awair
device called "Living Room", we'll generate an entity id of
"sensor.living_room_voc" but show set the name of the device to "Living
Room Volatile organic compounds".

* Support import from config.yaml

We'll create a config entry from config.yaml the first time we're
loaded, and then defer to it from then on.

We ignore all keys other than the access_token, since we no longer need
to deal with per-account rate-limits (rather, everything is per-device
now).

* Add myself to CODEOWNERS

Since I wrote the initial integration, and now this re-write, it feels
appropriate for me to take care of the integration along with `danielsjf`.

* Remove name mangling

* Update homeassistant/components/awair/manifest.json

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

* Update homeassistant/components/awair/config_flow.py

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

* Update homeassistant/components/awair/sensor.py

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

* Update homeassistant/components/awair/sensor.py

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

* Address some review feedback

* Set up reauth flow in a job, rather than awaiting

* Remove unnecessary title string

* Remove unnecessary config schema checking

As pointed out in review, because this comes in via import from
`configuration.yaml`, we can rely on the `PLATFORM_SCHEMA` validation instead.

* Fix tests

* Set unique_id appropriately for legacy devices

For users who have had this integration already installed (and who have
updated their home assistant installation sometime in recent history),
we want to ensure that unique_id's are set to the same thing as before,
to facilitate the upgrade process.

To do that, we add an additional property to the `SENSOR_TYPES` dict
(`ATTR_UNIQUE_ID`) which allows us to map modern sensor names from
python_awair to what older versions called them - ie: `humidity` ->
`HUMID`. We then use that value when constructing the unique ID. This
should allow users to upgrade and not lose configuration even if entity
IDs would otherwise change (because we have changed the name format that
generates entity IDs).

One note is that for the gen1 `DUST` sensor, we have to treat it
differently. This integration used to call that a "PM2.5" sensor, but
the unique_id generated would be something like `awair_12345_DUST`. So
we special-case that sensor, and do the same thing. We do not need to
special-case the PM10 sensor for gen1 devices, because we didn't create
a PM10 sensor in the past (we do now, because the "DUST" sensor is
really a hybrid PM2.5/PM10 sensor).

* Patch async_setup_entry for two tests

* Update awair config_flow to require / use an email address for unique_id

Also, only start one re-auth flow.

* Add a few more tests, try to get coverage up.

* Add another test

* Move attribution to device_state_attributes

* Don't require email

* Switch from Union[dict, None] to Optional[dict]

* Use a mock where requested

* Fix missing constant rename

* Use async_create_task

* Bump test coverage a bit for config_flow

* s/CONF_UNIQUE_ID/UNIQUE_ID/g

* Add warning about deprecated platform config

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-06-21 21:46:07 +02:00
J. Nick Koston
1de97e3a35 Fix logbook filtering by entity id (#36973)
* Fix logbook filtering by entity_id

* remove debug
2020-06-21 14:34:47 -05:00
Chris Talkington
a6536bb622 Update rokuecp to 0.5.0 (#36975)
* update rokuecp to 0.5.0

* Update requirements_all.txt

* Update requirements_test_all.txt

* add aiohttp mock for media-player

* Create media-player-close.xml

* Update media-player-close.xml

* Create media-player-play.xml

* Create active-app-pluto.xml

* Update apps.xml

* Update apps-tv.xml

* Create media-player-pause.xml

* Create media-player-live.xml

* Update __init__.py
2020-06-21 14:29:39 -05:00
J. Nick Koston
59e43ab6e4 Prefilter more logbook events in sql (#36958)
* Prefilter more logbook events in sql

Prefilter sensor events in _keep_event before humanify

Cache static attribute lookup

Reduces logbook execution time by ~35%

* fix mocking in benchmark

* Update tests for logbook users
2020-06-21 10:50:58 -07:00
Tom Brien
29f128eaad Handle Mobile App registrations for device names containing of only emoji (#36957) 2020-06-21 18:12:15 +02:00
AJ Schmidt
d88efe405e Add armed_night state for AlarmDecoder (#36695)
* add arm night state

* quick refactor
2020-06-21 17:03:36 +02:00
Brian Rogers
f866ff5f2b Rachio Rain Delay Switch Update (#36909)
* Rain Delay Switch Update

* Fix sort

* Update names
2020-06-21 08:53:54 -05:00
Ziv
efa0e1b2ac Dynalite integration - upgrade library version (#36954) 2020-06-21 11:42:34 +02:00
Chris Talkington
4a432781ca Reduce roku scan interval by 5s (#36966) 2020-06-21 11:40:05 +02:00
Michael J. Kidd
6c2dc521a3 Adding PM2.5 and PM2.5 24hr Average (#36967)
* Adding PM2.5 and PM2.5 24hr Average

* Corrected unit to const.py CONCENTRATION_MICROGRAMS_PER_CUBIC_METER

* Imported CONCENTRATION_MICROGRAMS_PER_CUBIC_METER for PM2.5 units

* Fixed code formatting with `black`
2020-06-20 22:14:35 -06:00
HomeAssistant Azure
b112a742b2 [ci skip] Translation update 2020-06-21 00:10:03 +00:00
Franck Nijhof
46cb9cff41 Fix ESPHome discovery for ignored config entries (#36964) 2020-06-21 00:39:08 +02:00
Fredrik Erlandsson
9f65dcf4ba Fix unique_id in Zeroconf flow (#36948) 2020-06-20 22:59:25 +02:00
Davide Varricchio
13c0a59e28 Bump pyaehw4a1 to v.0.3.5 (#36949) 2020-06-20 19:14:27 +02:00
Bram Kragten
7d69b90eac Update frontend to 20200620.0 and add redirects (#36953) 2020-06-20 19:05:22 +02:00
Franck Nijhof
60dd94d5b0 Upgrade ptvsd to 4.3.2 (#36950) 2020-06-20 14:25:02 +02:00
avocadio
2196bd66c7 Add TTS support to Heos (#35386)
* TTS seems unsupported on heos media player #32862 

TTS seems unsupported on heos media player #32862 

The type media_type music which is required by TTS was not covered.

* Update homeassistant/components/heos/media_player.py

Co-authored-by: Andrew Sayre <6730289+andrewsayre@users.noreply.github.com>

* Update to test_media_player.py

Test for TTS support to Heos #35386

* Update test

Add TTS support to Heos #35386

* Update to test_play_media_music

assert set to "Unable to play music: Failure (1)" seems to cause an issue.

* test_play_media_music

syntax

Co-authored-by: Andrew Sayre <6730289+andrewsayre@users.noreply.github.com>
2020-06-20 09:54:44 +02:00
Paulus Schoutsen
8895f9b70a Remove unused webhook dependency from device automation (#36946) 2020-06-20 09:11:17 +02:00
Kit Klein
a074cf4afd Use chip id in Konnected pro boards (#36940)
* use chip id in pro boards

* cleaner failover
2020-06-20 08:39:04 +02:00
ehendrix23
2fd6431cff Allow harmony activity change on start of switching activity (#36699)
* Allow activity change on start of switch

Allow activity to be updated when a switch to a new activity is initiated instead of when it is completed.

* Updates based on feedback

Some items are not required to be done as YAML is not used anymore.
Cleaned-up some code.

* Fix for change on how to set callbacks

How callbacks are set now one has to set the new_activity and new_activity_starting as well, even just with None.

* Added callback update

Added so that when it is changed in the UI the callbacks will be changed as well.

* Added test cases for notify setting

Added test cases for config flow to test new setting for activity notifications.
2020-06-19 21:50:42 -05:00
Paulus Schoutsen
5642027ffb Improve after_dependencies handling (#36898) 2020-06-19 17:24:33 -07:00
HomeAssistant Azure
93272e3083 [ci skip] Translation update 2020-06-20 00:09:26 +00:00
J. Nick Koston
2b5e7c2611 Fix recorder stopping after unserializable state (#36937)
* Ensure unserializable states do not collapse recording

* augment test coverage

* fix wal mode being set every time
2020-06-19 12:03:06 -05:00
Franck Nijhof
683d960fa5 Add discovery to NUT integration (#36827)
* Add discovery to NUT integration

* implement async_step_zeroconf

* Update test to make sure unique id not set

* Remove host/port import when coming from discovery, add title placeholders

* fix mis-paste

Co-authored-by: J. Nick Koston <nick@koston.org>
2020-06-19 17:33:01 +02:00
jjlawren
d445c16697 Handle Plex Live TV sessions (#36919) 2020-06-19 17:12:47 +02:00
Markus Bong
e4df0481da Fix devolo brand name (#36865) 2020-06-19 17:04:31 +02:00
jjlawren
3d1a5f76b2 Fix cert_expiry time-based tests v2 (#36934) 2020-06-19 16:19:43 +02:00
Paulus Schoutsen
263bdaa565 Make panel_custom backwards compatible (#36926) 2020-06-19 16:03:39 +02:00
craiggenner
212660330f Cope with attribute errors being converted (#36911) 2020-06-19 05:36:56 +02:00
HomeAssistant Azure
f83d4e524b [ci skip] Translation update 2020-06-19 00:10:18 +00:00
jjlawren
6bffd9a892 Fix cert_expiry time-based tests (#36924) 2020-06-19 00:26:34 +02:00
Robert Svensson
02e03340df Light control support to Axis devices (#36611)
* IR light support to Axis devices

* Change how to read light state

* Add tests

* Bump dependency to v32

* Assert variables passed to set_intensity
2020-06-18 23:27:08 +02:00
jjlawren
e92e26b73a Add expiration timestamp to cert_expiry sensors (#36399)
* Add expiration timestamp to cert_expiry sensors

* Clear timestamp if cert becomes invalid

* Use timezone-aware timestamps

* Use DataUpdateCoordinator, split timestamp to separate sensor

* Use UTC, simpler add/remove handling

* Review fixes

* Fix incomplete mock that fails in 3.8

* Use static timestamps, improve helper method name
2020-06-18 18:29:46 +02:00
Paulus Schoutsen
f69fc79fd1 Bump Netdisco to 2.7.1 (#36891) 2020-06-18 13:08:43 +02:00
J. Nick Koston
e7d982ee11 Improve db performance of state change events and reduce overall db size (#36883)
* Add old_state_id to states, remove old/new state data from events since it can now be found by a join

* remove state lookup on restart

* Ensure old_state is set for exisitng states
2020-06-17 22:26:41 -05:00
Paulus Schoutsen
94132e5572 Add internal/external url to safe mode (#36894) 2020-06-17 17:14:48 -07:00
HomeAssistant Azure
7920c5e5e8 [ci skip] Translation update 2020-06-18 00:08:13 +00:00
Paulus Schoutsen
df59f87f34 Upgrade requests to 2.24.0 (#36886) 2020-06-17 16:26:29 -07:00
Paulus Schoutsen
c0a2e6b655 Merge pull request #36885 from home-assistant/rc 2020-06-17 16:23:37 -07:00
Paulus Schoutsen
b4b2302e04 Fix test 2020-06-17 16:23:10 -07:00
Phil Bruckner
098d82f4d3 Fix yr HTTP error handling (#36889) 2020-06-17 13:40:22 -07:00
Phil Bruckner
2883aacfa3 Fix yr HTTP error handling (#36889) 2020-06-17 13:40:04 -07:00
jjlawren
ec440dface Bump plexwebsocket to 0.0.11 (#36879) 2020-06-17 15:28:22 -05:00
J. Nick Koston
3d385796da Improve logbook performance when no entities are filtered (#36842)
Various tweaks to reduce the python overhead of
the lazy class
2020-06-17 13:23:42 -07:00
Paulus Schoutsen
3e14b2dc61 Bumped version to 0.111.4 2020-06-17 12:53:30 -07:00
Paulus Schoutsen
7547a92479 Upgrade pymetno (#36880) 2020-06-17 12:22:56 -07:00
Fredrik Erlandsson
625c2aa19d Fix Daikin zeroconf discovery flow error (#36868) 2020-06-17 12:22:35 -07:00
Robert Svensson
ec69edcb79 Bump Axis dependency to fix issue where ports dont initialize (#36860) 2020-06-17 12:18:26 -07:00
fb22
f823afeadc Fix llamalab_automate notify priority (#36845) 2020-06-17 12:18:25 -07:00
Paulus Schoutsen
903db07feb Onboarding to validate redirect uri (#36863) 2020-06-17 12:13:28 -07:00
Paulus Schoutsen
43cee39528 Upgrade pymetno (#36880) 2020-06-17 12:12:50 -07:00
jjlawren
d5cc3208af Discover controllable Plex clients using plex.tv (#36857) 2020-06-17 12:04:47 -07:00
Robert Svensson
94c8d74a66 Bump Axis dependency to fix issue where ports dont initialize (#36860) 2020-06-17 11:07:19 -07:00
Fredrik Erlandsson
b3c851502d Fix Daikin zeroconf discovery flow error (#36868) 2020-06-17 16:53:29 +02:00
Jeffery To
a74e35795c Use the built-in importlib.metadata library in Python 3.8+ (#36225)
importlib_metadata is a backport of this library for Python 3.7 and
older.
2020-06-17 15:21:14 +02:00
Josef Schlehofer
b464096edb Upgrade youtube_dl to version 2020.06.16.1 (#36870) 2020-06-17 15:05:01 +02:00
bsmappee
5228282f69 Renew Smappee (sensors and switches) (#36445)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-06-17 13:28:28 +02:00
Sean Nyekjær
fd67a079db Add ebusd HotWaterHeader ActualTemperature and OperationMode (#34921) 2020-06-17 13:26:19 +02:00
Bas Nijholt
3ae4eba457 Bump aiokef 0.2.12 (#36753) 2020-06-16 23:15:49 -07:00
marawan31
dba326f16b Add precipitation probability to weather forcast (#36019)
* Add precipitation probability attribute

* bump env_canada version to 0.0.38 in manifest

* bump env_canada version to 0.0.38 in requirements

* Add support for percipiation probability

* formated project with black

* make sure prob is an int

* fix build break

* update usage to correct naming

* revert bad change and apply fix build break

* add tests
2020-06-17 07:39:33 +02:00
HomeAssistant Azure
2b06fbbcf0 [ci skip] Translation update 2020-06-17 00:11:42 +00:00
indykoning
d278dd9477 Add growatt battery devices (#34773)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-06-16 21:16:29 +02:00
Adam Belebczuk
fe03c9da68 Update Wemo state when changing state (#36647) 2020-06-16 21:14:04 +02:00
Robert Van Gorkom
a6a6a7b69c Add Withings webhooks (#34447)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-06-16 20:16:18 +02:00
Tom
29df13abe9 Fix Plugwise schema name display and non_device_class icons (#36815)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
Co-authored-by: Bouwe Westerdijk <11290930+bouwew@users.noreply.github.com>
2020-06-16 14:49:13 +02:00
starkillerOG
6db5ff98ed DenonAVR Config Flow (#35255)
Co-authored-by: J. Nick Koston <nick@koston.org>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-06-16 14:46:39 +02:00
Philip Allgaier
25607c7129 Use MDI CPU icon for glances (#36736)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-06-16 14:44:37 +02:00
Michael Auchter
58f1d1754e Fix remote_rpi_gpio switch inversion (#34390)
This removes the double-inversion of switches on the remote_rpi_gpio
platform.

Fixes #24571
2020-06-16 14:42:21 +02:00
fb22
6273ad85f8 Fix llamalab_automate notify priority (#36845) 2020-06-16 12:42:12 +02:00
Kevin Fronczak
a68af0a3a9 Add blink tests (#36672)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-06-16 11:05:33 +02:00
etheralm
f8de0594b9 Add support for Dyson Pure HP04 purifying heater + fan (#34537)
* fix unnecesary checks

* change ClimateDevice to ClimateEntity

* Clean up

* Formatting

* Fix tests

* Clean tests

* Clean up tests

* Fix device mock

* Use safer patch target path

* Extract constant

* Remove not needed property

* Guard for missing target temperature

* Use async_mock mocks

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-06-16 05:31:11 +01:00
Zac West
8541ae0360 mobile_app: Camera Stream Webhook (#36839) 2020-06-15 19:09:53 -07:00
Paulus Schoutsen
dfc345a921 Merge pull request #36840 from home-assistant/rc 2020-06-15 17:32:52 -07:00
HomeAssistant Azure
87f236c05c [ci skip] Translation update 2020-06-16 00:03:16 +00:00
Paulus Schoutsen
0127974f09 Bumped version to 0.111.3 2020-06-15 16:35:41 -07:00
Paulus Schoutsen
108082fd07 Fix cloudhooks coming in for non existing webhooks (#36836)
* Fix cloudhooks coming in for non existing webhooks

* Fix tests"
2020-06-15 16:35:32 -07:00
kennedyshead
61d6bd0cb5 Bump aioasuswrt to 1.2.6 (#36820)
Co-authored-by: magnusknutas <magnus@thefarm.se>
2020-06-15 16:35:32 -07:00
Paulus Schoutsen
3a2138131c Fire config changed event during start (#36812) 2020-06-15 16:35:31 -07:00
Tom Harris
ec65ebacd3 Fix X10 devices and adding default links (#36807) 2020-06-15 16:35:30 -07:00
David F. Mulcahey
b45e49902c Bump ZHA quirks (#36797) 2020-06-15 16:35:29 -07:00
N1c093
12781bf842 Fix nanoleaf attribute when running an effect (#36794) 2020-06-15 16:35:28 -07:00
J. Nick Koston
d0ca8e62a4 Fix history graphs with mysql/mariadb (#36769) 2020-06-15 16:35:27 -07:00
Franck Nijhof
c37cd835b9 Upgrade wled 0.4.3 (#36760) 2020-06-15 16:35:27 -07:00
Paulus Schoutsen
3ee3ae7633 Fix cloudhooks coming in for non existing webhooks (#36836)
* Fix cloudhooks coming in for non existing webhooks

* Fix tests"
2020-06-15 16:30:40 -07:00
Franck Nijhof
02f174e2e6 Add support for multiple states/zones in conditions (#36835)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2020-06-16 00:53:13 +02:00
Erik Montnemery
16cf16e418 Update MQTT tests to not create duplicated config entries (#36833) 2020-06-15 15:38:56 -07:00
Paulus Schoutsen
de12c21ce7 Fire config changed event during start (#36812) 2020-06-15 15:22:53 -07:00
J. Nick Koston
b8c9f67533 Remove context_id from logbook api (#36796)
Reduces size of api response, execution, and download time.
2020-06-15 16:13:07 -05:00
Franck Nijhof
ba73ac12ba Add support for multiple entity_ids in conditions (#36817) 2020-06-15 22:54:19 +02:00
J. Nick Koston
0a219081ea Only process logbook timestamps for events we will keep (#36792)
* Only process logbook timestamps for events we will keep

Since we group by minute we were previously processing
every timestamp. We can avoid this by making all the
minute checks use the unprocessed datetime since
the groupings will be the same regardless of timezone.

This reduces the number of datetime object recreations
by at least an order of magnitude.
2020-06-15 14:54:20 -05:00
J. Nick Koston
b0163b65c6 Use states to avoid decoding logbook state changed events. (#36768)
avg 4.43s -> 1.88s
2020-06-15 13:53:05 -05:00
J. Nick Koston
83e3f680bf Improve history api performance part 4 (#36783)
This builds on #35822

Minimize the amount of data selected from
the database

Testing:

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

Before: 9.47s
After: 4.43s
2020-06-15 11:02:36 -07:00
J. Nick Koston
e443dc1274 Speed up logbook with a lazy event decoder (#36730) 2020-06-15 10:53:38 -07:00
N1c093
717a21dc7b Fix nanoleaf attribute when running an effect (#36794) 2020-06-15 18:17:54 +02:00
kennedyshead
1b6f0b78aa Bump aioasuswrt to 1.2.6 (#36820)
Co-authored-by: magnusknutas <magnus@thefarm.se>
2020-06-15 14:14:48 +02:00
michaeldavie
e8d4a25635 Add missing dependencies for Environment Canada (#36806) 2020-06-15 13:54:58 +02:00
Tom Harris
162e502962 Fix X10 devices and adding default links (#36807) 2020-06-15 13:49:39 +02:00
Franck Nijhof
3cc94f7d6a ConfigFlow default discovery without unique ID (#36754) 2020-06-15 13:38:38 +02:00
Paulus Schoutsen
dfac9c5e03 Fix TTS key by hashing options values too (#36813) 2020-06-15 13:33:26 +02:00
Ian Harcombe
c96458c7e4 Convert MetOffice to use UI for configuration (#34900)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-06-15 12:02:25 +02:00
AJ Schmidt
9a867cbb75 Add alarmdecoder brand specific arming sequences (#36692)
* add adext

* rm new config parameter

* update adext
2020-06-15 10:05:45 +02:00
HomeAssistant Azure
b15caf31a9 [ci skip] Translation update 2020-06-15 00:03:32 +00:00
Tom Schneider
0331ebdd47 Add HVV integration (Hamburg public transportation) (#31564)
Co-authored-by: springstan <46536646+springstan@users.noreply.github.com>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-06-15 00:15:20 +02:00
Ville Skyttä
0b7d2aa4d7 Add unique id to huawei_lte config entries (#36765) 2020-06-14 23:05:43 +02:00
David F. Mulcahey
821de0e369 Bump ZHA quirks (#36797) 2020-06-14 14:47:36 -04:00
Paulus Schoutsen
02bcdf5162 Fix translations download (#36770) 2020-06-14 11:38:05 -07:00
Benoit Louy
e7e2f4e786 Set default pjlink timeout (#36781)
* make pjlink timeout configurable

* fix format

* remove timeout configuration and use a default value instead
2020-06-14 20:23:59 +02:00
Eugene Prystupa
e969d364e6 Refactor plum_lightpad (#36761) 2020-06-14 13:59:49 +02:00
Franck Nijhof
4862f6d516 Upgrade wled 0.4.3 (#36760) 2020-06-13 22:29:33 -07:00
Alexei Chetroi
36ed3b1177 Add pi_heating/cooling_demand state attributes (#36775) 2020-06-14 00:25:25 -04:00
J. Nick Koston
9cc20fc6b8 Fix history graphs with mysql/mariadb (#36769) 2020-06-13 21:22:16 -07:00
HomeAssistant Azure
dd239661e7 [ci skip] Translation update 2020-06-14 00:03:01 +00:00
Martin
0bbb56dd05 Add sensor platform for vicare integration (heatpump) (#34385)
* Add sensor platform for vicare (heatpump)

* Formatting and fixes

* Formatting and fixes 2

* Fixes and formatting 3

* Fixes and formatting 4

* Add binary_sensor and more sensors

This moves some more climate attributes to sensors and adds
binary_sensors

* Move ActiveError back to climate component

The data returned by ActiveError is more complex.
It takes further investigation on how to interpret it a s a binary sensor.
Therefore it is moved back as an attribute of the climate component

* Update PyViCare library

* PR changes

* PR changes 2

Co-authored-by: Hans Oischinger <hans.oischinger@gmail.com>
2020-06-13 21:53:42 +02:00
Bram Kragten
0bfcb99c04 Updated frontend to 20200613.0 (#36758) 2020-06-13 20:17:58 +02:00
Robert Van Gorkom
bdd255176c Poll all status data in Vera (#35703)
* Vera now polls for all status data, no only incremental.
Vera polling is not handled using hass event loops with proper backoffs.

* Using long polling.

* Addressing PR feedback.

* Addressing PR feedback.
Adding controller stop on config unload.
2020-06-13 16:36:50 +02:00
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
Bram Kragten
20428e670b Update frontend to 20200603.3 (#36751) 2020-06-13 12:36:16 +02:00
Robert Svensson
78af0a4705 Make Axis non-privileged users work again (#36731) 2020-06-13 12:35:52 +02:00
J. Nick Koston
65e9e4a2f3 Fix history timezone with postgres and other dbs (#36746) 2020-06-13 12:32:01 +02:00
Erik Montnemery
922b332766 Update config_entry_flow test test_user_has_confirmation (#36633)
* Update test_user_has_confirmation

* Rewrite test according to review comment
2020-06-13 06:43:13 +02:00
Paulus Schoutsen
1ffa8fcbba Platforms cleanup when adding entity fails (#36742) 2020-06-12 17:54:46 -07:00
Franck Nijhof
785786ecd1 Upgrade pytest-cov to 2.10.0 (#36720) 2020-06-13 02:37:59 +02:00
Shane Qi
b78ad7c2b8 Implement device_info for LutronCasetaDevice (#36706) 2020-06-13 02:27:48 +02:00
HomeAssistant Azure
4412ce3b86 [ci skip] Translation update 2020-06-13 00:03:58 +00:00
Franck Nijhof
238430136e Migrate script to use describe_event for logbook (#36729) 2020-06-12 16:44:29 -07:00
mvn23
15113ae854 Add opentherm_gw.set_hot_water_setpoint service (#34579) 2020-06-12 23:15:04 +02:00
mreiling
7ce6ae9421 Bump pynx584 to 0.5 (#36615) 2020-06-12 15:54:19 -04:00
mdegat01
f9bc0c9dab Add influx 2.0 and InfluxCloud support to InfluxDB integration (#35392) 2020-06-12 21:29:46 +02:00
Franck Nijhof
bf95658e24 Fix logbook filtering for described events (#36727) 2020-06-12 20:45:17 +02:00
Paulus Schoutsen
3c57475c8f Guard OwnTracks writing state before hass available (#36680) 2020-06-12 09:27:51 -07:00
Paulus Schoutsen
e8b16f0dfd Enforce unique ID for Hassio discovery (#36671) 2020-06-12 17:38:38 +02:00
Fredrik Erlandsson
c1cf3679aa Fix Daikin discovery (#36704) 2020-06-12 17:25:18 +02:00
zewelor
871afd2bf2 Remove Yeelight model to device type mapping (#36658) 2020-06-12 14:51:48 +02:00
Alexei Chetroi
5595ef0783 Drop ZHA sensor for Analog/Multistate input clusters (#36696) 2020-06-12 06:08:11 -04:00
Alexei Chetroi
5a3e0c6b25 Cleanup zha.storage from stale devices (#36700) 2020-06-12 06:07:34 -04:00
Paulus Schoutsen
a8e9ccbf1a Improve cloud error handling (#36670) 2020-06-11 22:56:00 -07:00
MarBra
44708ed8bb Add timers to xiaomi_miio vacuum (#35417)
* Add timers to xiaomi_miio vacuum

* Add timezone

* Add cron and next_schedule

* Use next_schedule from backend library

* Use as_utc from utils
2020-06-12 06:39:19 +02:00
Alexei Chetroi
8e44d797a3 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-11 22:37:07 -04:00
HomeAssistant Azure
419a92db43 [ci skip] Translation update 2020-06-12 00:07:41 +00:00
zewelor
986853d497 Fix nightlight support detection (#36656) 2020-06-11 15:46:00 -07:00
jjlawren
d4d233536f Fix missing options in Plex config entry (#36683) 2020-06-11 15:45:00 -07:00
Alexei Chetroi
21acdbbbfd Refactor ZHA Entity availability tracking (#36645)
* Refactor ZHA entity availability

ZHA entity availability tracks on underlying ZHA device availability.

* Update device status without signal.

* Update tests.

* Fix tests.

* Tests for restored devices availability.

* Guard against empty last_seen entry

Refactor device loading a bit.
2020-06-11 17:21:08 -04: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
Franck Nijhof
0146f35687 Fix packages when config schema is fully deprecated (#36674)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2020-06-11 10:59:52 -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
J. Nick Koston
2d5faaf3f8 Remove powerwall attributes no longer present in latest firmware (#36667) 2020-06-11 10:15:02 -07:00
Paulus Schoutsen
dd6d18102f Update translations 2020-06-11 10:13:42 -07:00
J. Nick Koston
14d715e7fc Update pymyq for latest api requirements (#36666) 2020-06-11 08:40:51 -07:00
starkillerOG
b820b7c47d 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 17:12:19 +02:00
Tony Phan
afe4647896 Add icon_type as configuration variable (#36594) 2020-06-11 00:11:46 -07:00
Alexei Chetroi
4df186787a Update ZHA dependencies (#36646) 2020-06-10 23:05:14 -04:00
HomeAssistant Azure
b353f45d84 [ci skip] Translation update 2020-06-11 00:02:36 +00:00
Yue Kang
fc2c195ed4 Update Baidu TTS to support more voice (#36532) 2020-06-11 01:00:56 +02:00
Janitha Karunaratne
f1d5f95f7c Allow specifying port for wake_on_lan (#36510) 2020-06-11 00:05:24 +02:00
Franck Nijhof
59f935beb0 Use async_on_remove for WLED DataUpdateCoordinator (#36640) 2020-06-10 16:02:45 -06:00
Franck Nijhof
ddb85cee7b Remove internal qa scale from numato integration (#36629) 2020-06-10 22:55:17 +02:00
Erik Montnemery
14bff5a375 Abort other config flows on import (#36608)
* Abort other flows on import

* Add test
2020-06-10 22:46:14 +02:00
springstan
9311b02369 Use LENGTH_FEET constant (#34053) 2020-06-10 21:38:29 +02:00
Kevin Fronczak
82090f5060 Add options flow to Blink (#35645) 2020-06-10 18:38:17 +02:00
Franck Nijhof
186a299215 Fix name of devolo_home_control integration (#36627) 2020-06-10 18:36:34 +02:00
Fredrik Rambris
00068e88b0 Add ue_smart_radio multiple devices support (#36575) 2020-06-10 18:35:09 +02:00
Rami Mosleh
2c1a76cf92 Add Speedtestdotnet config_flow (#36254) 2020-06-10 18:33:48 +02:00
Xiaonan Shen
c65e72886c Fix command line sensors removing quotes with template (#35559)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-06-10 18:31:59 +02:00
Franck Nijhof
e13f206a06 Merge branch 'master' into dev 2020-06-10 16:58:51 +02:00
Franck Nijhof
818b45384d Merge pull request #36626 from home-assistant/rc 2020-06-10 16:07:38 +02:00
Franck Nijhof
8d405c4585 Upgrade pre-commit to 2.5.1 (#36623) 2020-06-10 15:22:42 +02:00
Igor Gocalinski
2ac4d30736 Add delay in emulated_hue after PUT (#35307) 2020-06-10 15:15:32 +02:00
Fredrik Erlandsson
fa17e6d5ab Fix Daikin config flow for zeroconf devices (#36571) 2020-06-10 15:04:59 +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
SukramJ
212b9df87d Bump dependency & add devices for HomematicIP Cloud (#36595)
* update dependency and test data

* Add test for HmIP-SWDO-PL

* Add device HmIP-MOD-HO

* Fix test
2020-06-10 11:34:14 +02:00
J. Nick Koston
44552937b6 Fix missing space in powerwall notification message (#36603) 2020-06-10 11:29:56 +02:00
Paulus Schoutsen
8f3c84b349 Mark config dependency of frontend (#36587) 2020-06-09 23:27:47 -07:00
Ville Skyttä
29b8f76e57 Use past tense in messages for already invalidated deprecated configs (#36591) 2020-06-09 23:26:55 -07:00
Robin Wohlers-Reichel
29838ce1ed Bump solax library to 0.2.3 (#36600)
* Bump solax library to 0.2.3

* oops
2020-06-09 19:34:46 -06:00
Martin Hjelmare
5cf753422b Bump coronavirus to 1.1.1 (#36614) 2020-06-09 19:34:16 -06:00
HomeAssistant Azure
ded5329f03 [ci skip] Translation update 2020-06-10 00:05:07 +00:00
Paulus Schoutsen
e3fc59ff3d Bump hass-nabucasa to 0.34.6 (#36613) 2020-06-09 16:40:08 -07:00
Bram Kragten
6166a7191b Escape <> in owntracks translations (#36612) 2020-06-09 16:09:34 -07: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
mreiling
1169ac568b Change nx584 SCAN_INTERVAL to 10 seconds (#36581) 2020-06-09 21:02:08 +02:00
Donnie
1ab1503641 Fix nanoleaf incorrect effect update (#36517) 2020-06-09 11:26:37 -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
Franck Nijhof
2abd3844cf Fix mobile_app missing state in sensor registration (#36604) 2020-06-09 11:06:52 -07:00
Franck Nijhof
854bdfb6f2 Upgrade pre-commit to 2.5.0 (#36596) 2020-06-09 18:44:22 +02:00
mreiling
5f8dcd45c1 Add NX584 alarm binary_sensor zone_number attribute (#36552) 2020-06-09 14:19:46 +02:00
Felipe Martins Diel
38bb8ef4d2 Clean up command learning in the Broadlink integration (#36318) 2020-06-09 14:15:46 +02:00
Paulus Schoutsen
7cc3102209 Fix default for loading games file ps4 (#36592) 2020-06-09 10:23:26 +02:00
Johan Henkens
525e220395 Remove EU code from honeywell integration (#36456) 2020-06-09 09:24:47 +02:00
HomeAssistant Azure
140fd5adaf [ci skip] Translation update 2020-06-09 00:05:22 +00:00
Ian
5b2bf8fd17 Add status_light to Sonos set_option service (#35515) 2020-06-08 23:41:12 +02:00
Bas Nijholt
5e2de4531f bump aiokef to 0.2.10 (#36574)
0.2.9 generated a lot of calls on the event loop.
2020-06-08 14:05:55 -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
c33edbe5bb Use TestCase.addCleanup (#36560) 2020-06-08 12:26:40 -07:00
Franck Nijhof
85ba29012f Fix mobile_app sensor re-registration handling (#36567) 2020-06-08 21:11:37 +02: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
StevusPrimus
5975ec340b Add service select scene to Yamaha Hifi media player (#36564)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-06-08 19:31:58 +02:00
Paulus Schoutsen
3adfb86a19 Mobile app fixes (#36559) 2020-06-08 10:20:25 -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
Franck Nijhof
b3cbce3566 Fix mobile_app registering/update sensor values with an unknown state (#36566) 2020-06-08 10:07:05 -07:00
ehendrix23
7a2820ded9 Update aioharmony to include support for XMPP connectivity to Hub (#36485)
* Update aioharmony to 0.2.3

* Update aioharmony to 0.2.4
2020-06-08 09:55:05 -05:00
Giel Janssens
af4fb03230 Sonos queue (#35817)
* Add playbase as a model

* Sonos queue

* Match counting of the queue with service play_queue

* Add service remove_from_queue

* Change description of remove_from_queue

* Use ATTR_QUEUE_POSITION instead of ATTR_CURRENT_QUEUE_POSITION

* Removed queue and show queue_position only when playing local

* Add property queue_position

* Return None instead of -1

* Change docstring from -1 to None
2020-06-08 16:37:35 +02:00
mreiling
a5da21a426 Add services to bypass and unbypass zones on NX584 (#36401)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-06-08 15:55:50 +02:00
z00nx 0
16e36dca97 Updated tesla-powerwall to 0.2.11 (#36568) 2020-06-08 08:48:58 -05:00
Jonas Thuresson
f522c6c8c7 Add Xiaomi miio vaccum goto service (#35737)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-06-08 14:57:47 +02:00
Alexei Chetroi
1bdbe90d2a Prevent double ZHA channel initialization (#36554)
* Preven double channel initialization.

* Use a setter for setting ZHA device availability.
2020-06-08 08:54:52 -04:00
eyager1
8ed1b1782e Change logging of successful scans to debug priority (#36538) 2020-06-08 11:30:36 +02:00
Markus Bong
31dd06bd12 Improve devolo Home Control (#36557) 2020-06-08 09:29:09 +02:00
Eugene Prystupa
de7bbd3e24 Add plum_lightpad unique ids (#36549) 2020-06-07 21:52:03 -07:00
Jörg Thalheim
fbbc681ad4 Fix intent component initialisation (#36064)
The intent component expect this method from every module that is called intent.
Fixes #35522
2020-06-07 20:45:34 -07:00
shbatm
9e7f516d07 Add Z-Wave Notification Sensor support to ISY994 (#36548) 2020-06-07 20:00:53 -05:00
Hedda
066784c88f Update ZHA config flow Zigbee radio description (#35607)
* Update ZHA config flow Zigbee radio description
Update ZHA config flow Zigbee radio descriptions to match docs https://github.com/home-assistant/home-assistant.io/pull/13437

* Make protocol plus model names more readable for end-users
* Update homeassistant/components/zha/core/const.py
Co-authored-by: Alexei Chetroi <lexoid@gmail.com>

* Update homeassistant/components/zha/core/const.py
Co-authored-by: Alexei Chetroi <lexoid@gmail.com>

* Update homeassistant/components/zha/core/const.py
Co-authored-by: Alexei Chetroi <lexoid@gmail.com>

* Zigbee radio description simplified and examples  listed in alphabetical order
2020-06-07 20:42:23 -04: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
HomeAssistant Azure
81355a0e23 [ci skip] Translation update 2020-06-08 00:02:43 +00:00
Franck Nijhof
215c7e0e14 Fix WLED power and brightness with WLED 0.10+ (#36529) 2020-06-07 23:37:58 +02:00
Markus Ressel
233284056a Upgrade XS1 component to xs1-api-client v3.0.0 (#36500) 2020-06-07 23:18:47 +02:00
Jens Østergaard Nielsen
56c69d9a25 Update ihcsdk to 2.7.0 (#36527) 2020-06-07 19:47:21 +02:00
Erik Montnemery
35cd6b9abf Remove unused parameter for MQTT discovery (#36526)
* Remove unused parameter for MQTT discovery

* Fix tests
2020-06-07 19:35:35 +02:00
Jeff Irion
823f27db5a Fix usage of states 'idle' and 'standby' for Android TV (#36509) 2020-06-07 10:10:20 -05:00
definitio
ad5101c5c0 Set state for MQTT entities to 'unavailable' when no connection to broker (#36479)
* Report 'unavailable' state when not connected

to MQTT broker

* Fix tests

* Rewrite to remove the polling

* Add tests

* Add some fixes
2020-06-07 09:21:16 +02:00
HomeAssistant Azure
3bf389639b [ci skip] Translation update 2020-06-07 00:03:28 +00:00
Joakim Plate
31973de2d5 Arcam config flow (#34384)
Co-authored-by: J. Nick Koston <nick@koston.org>
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-06-06 13:43:28 -07:00
Josef Schlehofer
524b48be7d Upgrade youtube_dl to version 2020.06.06 (#36493) 2020-06-06 21:35:37 +02:00
Ville Skyttä
0c5ca3084e Add and fix type hints (#36501)
* Fix exceptions.Unauthorized.permission type

* Use auth.permission consts more

* Auth typing improvements

* Helpers typing improvements

* Calculate self.state only once
2020-06-06 20:34:56 +02:00
Paulus Schoutsen
49747684a0 Update netdisco (#36499) 2020-06-06 19:02:39 +02:00
Markus Bong
3495932eb0 Add devolo binary_sensor devices (#36370)
* initial commit

* small corrections

* fix linting error

* add new files to coveragerc

* rename devolo_sensor to devolo_device

* use correct import

* use binary_switch platform

* use binary_switch platform

* add binary_sensor to coverage

* adjustments according PR review

* make super call easier to read

* use f-string instead of concatenating

* update docstrings - remove device_id property

* add will_remove_from_hass
2020-06-06 10:10:05 -05:00
Tim van Cann
d73a4e1ed5 Add Avri config flow (#34288)
* Add config flow to Avri integration

* Add config flow validation

* Update .coveragerc

* Start adding config flow tests

* Fix failing test

* Fix pylint

* Update homeassistant/components/avri/config_flow.py

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

* Update homeassistant/components/avri/config_flow.py

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

* Fix import order

* Code review comments

* Update homeassistant/components/avri/sensor.py

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

* Remove device information

Co-authored-by: J. Nick Koston <nick@koston.org>
2020-06-06 09:37:31 -05:00
matgad
14f5cab71d Bump version zigpy-cc (#36506) 2020-06-06 15:32:26 +02:00
Bram Kragten
29ab1935cb Update frontend to 20200603.2 (#36494) 2020-06-05 21:58:26 -07:00
Thomas Lovén
bdc098645b Add entity list to light and cover group attributes (#36477)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2020-06-05 21:23:52 -07:00
HomeAssistant Azure
492874c4a0 [ci skip] Translation update 2020-06-06 00:03:33 +00: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
J. Nick Koston
5e65d8d3c3 Upgrade zeroconf to 0.27.1 (#36277) 2020-06-05 14:33:26 -07:00
Alexei Chetroi
1c329ff708 Process events from ZHA Window Covering Remote (#36489) 2020-06-05 14:11:46 -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
jrester
e807274d7e 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 15:03:17 -05: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
Franck Nijhof
4950cbee1c Fix iOS app crashing on None values in Zeroconf service info (#36490) 2020-06-05 12:43:58 -07:00
Paulus Schoutsen
0a779ac64c Add partial mobile app sensor validation (#36433) 2020-06-05 12:43:18 -07:00
Anton Tolchanov
0bf64e9a2c Add @knyar as a codeowner for prometheus integration (#36487) 2020-06-05 21:29:06 +02:00
Alexey Kustov
3076fc5f25 Add notify_events notify integration (#36049)
* Add new notify_events notification component

* Fix manifest

* Formatting fix

* Black formatting + CODEOWNERS

* Fix requirements_all.txt

* Flake8 warning fix

* Isort fixes

* Update notify-events library requirement version

* Replace Exception to more suitable and update lib version

* Reformat integration according to "0007-integration-config-yaml-structure.md"

* Update homeassistant/components/notify_events/manifest.json

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

* Fix manifest + remove async

* Black formatting

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-06-05 21:26:56 +02:00
Aaron Bach
b51d81edba Clean up Tile refactor (#36450)
* Clean up Tile refactor

* Code review
2020-06-05 21:12:48 +02:00
Paulus Schoutsen
6faf9e8bbe panel_custom: Allow ES5+latest build, deprecate html (#36464)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-06-05 10:39:18 -07:00
J. Nick Koston
c0307dca3a Upgrade pysonos to 0.0.31 (#36483) 2020-06-05 10:30:20 -07:00
J. Nick Koston
5b94807923 Update myq for latest api changes (#36469) 2020-06-05 10:29:09 -07:00
Paulus Schoutsen
4170eb0f83 Use builtin mock (#36473) 2020-06-05 10:59:55 +02:00
Paulus Schoutsen
874c8fea03 Bump hass-nabucasa to 0.34.5 (#36461) 2020-06-05 00:11:40 -07:00
Lindsay Ward
a4204b440c Fix yeelight_sunflower hs_color using RGB values (#36470) 2020-06-05 08:40:50 +02:00
HomeAssistant Azure
f8e48a9230 [ci skip] Translation update 2020-06-05 00:05:36 +00:00
shbatm
04231bcb54 Fix error on empty UOM for ISY994 Climate Device (#36454) 2020-06-05 00:22:35 +02:00
Erik Montnemery
f170c80bea 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-04 20:32:00 +02: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
Paulus Schoutsen
394f16987d Fix invalid device info for Daikin devices (#36448) 2020-06-04 10:00:31 -07:00
Chris Talkington
f06c0a8b54 Add roku exception handling for service calls (#36328) 2020-06-04 09:59:39 -07:00
J. Nick Koston
36b157b85a Ensure verbose logging flag is respected. (#36444) 2020-06-04 09:51:06 -07:00
Aaron Bach
7a3c2e1f6c Add config flow for Tile (#36173)
* Overhaul Tile

* Adjust coverage

* Fix tests

* Code review

* Code review

* Remove unused config flow step

* Revert "Remove unused config flow step"

This reverts commit cb206e0446.

* Fix tests
2020-06-04 10:07:27 -06:00
Paulus Schoutsen
fae80621fb Guard blowing up converting 0 mired/kelvin (#35486) 2020-06-04 08:48:39 -07:00
Ziv
1edbdcb67b Fix Dynalite to explicitly check valid device class (#36418)
* changed back to check for class in DEVICE_CLASSES

* created a flow that would go through everything as it was blocking the commit
and the cv rules prevent an input that would get to that flow

* moved DEFAULT_COVER_CLASS from const to cover
2020-06-04 15:34:28 +02:00
Robert Svensson
99318b7b11 Remove Axis option to enable/disable camera (#36420) 2020-06-04 14:25:50 +02:00
Franck Nijhof
a6107198b9 Upgrade numpy to 1.18.5 (#36434) 2020-06-04 14:13:41 +02:00
Tom
203217c175 Add additional sensors to Plugwise integration (#36431) 2020-06-04 10:21:27 +02:00
Paulus Schoutsen
c316735996 Bump lokalise2 2.5.1 (#36430) 2020-06-04 10:17:25 +02:00
Robert Svensson
40829d9d76 Fix deCONZ groups don't report ctmax/min (#36432)
* Groups don't report ctmax/min
2020-06-04 10:15:30 +02:00
Paulus Schoutsen
68b077ffaa Add partial mobile app sensor validation (#36433) 2020-06-04 10:13:01 +02:00
Chris Talkington
8528b4db3a Update sonarr to 0.2.2 (#36429) 2020-06-04 09:39:49 +02:00
Tom
48d1bc7c13 Cleanup and improve Plugwise merges (#36406)
* Remove period from logging messages

* Save indentation using guard clauses

* Typo

* Walk other files

* Rewalk all files

* Not cleanup, but adding indicatd missing measurements

* Revert new sensors
2020-06-04 08:18:46 +02:00
HomeAssistant Azure
08e85696c1 [ci skip] Translation update 2020-06-04 00:04:15 +00:00
Quentame
e08ba6703c Bump python-synology to 0.8.2 (#36410)
* Bump python-synology to 0.8.2

* state_attributes to device_state_attributes

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

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-06-04 00:18:43 +02:00
Franck Nijhof
9ef14efa29 Bumped version to 0.112.0dev0 (#36417) 2020-06-03 22:52:34 +02:00
Ville Skyttä
fc395de511 Upgrade mypy to 0.780 (#36416)
http://mypy-lang.blogspot.com/2020/06/mypy-0780-released.html
2020-06-03 22:51:44 +02:00
Franck Nijhof
ccdf5d13bd Bumped version to 0.111.0b0 2020-06-03 21:21:42 +02:00
J. Nick Koston
751e2f4125 Extend logbook api to be able to fetch a slice of data between two time boundaries. (#35847)
* Create logbook_timeslice api

* add end_datetime

* Add tests

* switch to end_time to match history api
2020-06-03 14:07:56 -05: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
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
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
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
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
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
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
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
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
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
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
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
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
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
460857a765 Updated frontend to 20200313.0 (#32777) 2020-03-13 13:43:39 -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
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
14833 changed files with 427312 additions and 154390 deletions

View File

@@ -8,32 +8,32 @@ omit =
homeassistant/scripts/*.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/airly/__init__.py
homeassistant/components/airly/air_quality.py
homeassistant/components/airly/sensor.py
homeassistant/components/airly/const.py
homeassistant/components/agent_dvr/__init__.py
homeassistant/components/agent_dvr/alarm_control_panel.py
homeassistant/components/agent_dvr/camera.py
homeassistant/components/agent_dvr/const.py
homeassistant/components/agent_dvr/helpers.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/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
@@ -43,7 +43,6 @@ omit =
homeassistant/components/android_ip_webcam/*
homeassistant/components/anel_pwrctrl/switch.py
homeassistant/components/anthemav/media_player.py
homeassistant/components/apache_kafka/*
homeassistant/components/apcupsd/*
homeassistant/components/apple_tv/*
homeassistant/components/aqualogic/*
@@ -55,6 +54,7 @@ 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
@@ -62,11 +62,13 @@ omit =
homeassistant/components/aten_pe/*
homeassistant/components/atome/*
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/const.py
homeassistant/components/avri/sensor.py
homeassistant/components/azure_event_hub/*
homeassistant/components/azure_devops/__init__.py
homeassistant/components/azure_devops/const.py
homeassistant/components/azure_devops/sensor.py
homeassistant/components/azure_service_bus/*
homeassistant/components/baidu/tts.py
homeassistant/components/beewi_smartclim/sensor.py
@@ -76,7 +78,12 @@ omit =
homeassistant/components/bh1750/sensor.py
homeassistant/components/bitcoin/sensor.py
homeassistant/components/bizkaibus/sensor.py
homeassistant/components/blink/*
homeassistant/components/blink/__init__.py
homeassistant/components/blink/alarm_control_panel.py
homeassistant/components/blink/binary_sensor.py
homeassistant/components/blink/camera.py
homeassistant/components/blink/const.py
homeassistant/components/blink/sensor.py
homeassistant/components/blinksticklight/light.py
homeassistant/components/blinkt/light.py
homeassistant/components/blockchain/sensor.py
@@ -85,20 +92,25 @@ omit =
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/__init__.py
homeassistant/components/broadlink/const.py
homeassistant/components/broadlink/remote.py
homeassistant/components/broadlink/sensor.py
homeassistant/components/broadlink/switch.py
homeassistant/components/brother/__init__.py
homeassistant/components/brother/sensor.py
homeassistant/components/brother/const.py
homeassistant/components/broadlink/updater.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
@@ -110,6 +122,7 @@ omit =
homeassistant/components/cast/*
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
@@ -126,6 +139,10 @@ omit =
homeassistant/components/comfoconnect/*
homeassistant/components/concord232/alarm_control_panel.py
homeassistant/components/concord232/binary_sensor.py
homeassistant/components/control4/__init__.py
homeassistant/components/control4/light.py
homeassistant/components/control4/const.py
homeassistant/components/control4/director_utils.py
homeassistant/components/coolmaster/__init__.py
homeassistant/components/coolmaster/climate.py
homeassistant/components/coolmaster/const.py
@@ -145,7 +162,19 @@ omit =
homeassistant/components/deluge/switch.py
homeassistant/components/denon/media_player.py
homeassistant/components/denonavr/media_player.py
homeassistant/components/denonavr/receiver.py
homeassistant/components/deutsche_bahn/sensor.py
homeassistant/components/devolo_home_control/__init__.py
homeassistant/components/devolo_home_control/binary_sensor.py
homeassistant/components/devolo_home_control/climate.py
homeassistant/components/devolo_home_control/const.py
homeassistant/components/devolo_home_control/cover.py
homeassistant/components/devolo_home_control/devolo_device.py
homeassistant/components/devolo_home_control/devolo_multi_level_switch.py
homeassistant/components/devolo_home_control/light.py
homeassistant/components/devolo_home_control/sensor.py
homeassistant/components/devolo_home_control/subscriber.py
homeassistant/components/devolo_home_control/switch.py
homeassistant/components/dht/sensor.py
homeassistant/components/digital_ocean/*
homeassistant/components/digitalloggers/switch.py
@@ -164,6 +193,8 @@ omit =
homeassistant/components/dsmr_reader/*
homeassistant/components/dte_energy_bridge/sensor.py
homeassistant/components/dublin_bus_transport/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/*
@@ -189,9 +220,15 @@ omit =
homeassistant/components/emby/media_player.py
homeassistant/components/emoncms/sensor.py
homeassistant/components/emoncms_history/*
homeassistant/components/emulated_hue/upnp.py
homeassistant/components/enigma2/media_player.py
homeassistant/components/enocean/*
homeassistant/components/enocean/__init__.py
homeassistant/components/enocean/binary_sensor.py
homeassistant/components/enocean/const.py
homeassistant/components/enocean/device.py
homeassistant/components/enocean/dongle.py
homeassistant/components/enocean/light.py
homeassistant/components/enocean/sensor.py
homeassistant/components/enocean/switch.py
homeassistant/components/enphase_envoy/sensor.py
homeassistant/components/entur_public_transport/*
homeassistant/components/environment_canada/*
@@ -224,27 +261,40 @@ omit =
homeassistant/components/fibaro/*
homeassistant/components/filesize/sensor.py
homeassistant/components/fints/sensor.py
homeassistant/components/firmata/__init__.py
homeassistant/components/firmata/binary_sensor.py
homeassistant/components/firmata/board.py
homeassistant/components/firmata/const.py
homeassistant/components/firmata/entity.py
homeassistant/components/firmata/pin.py
homeassistant/components/firmata/switch.py
homeassistant/components/fitbit/sensor.py
homeassistant/components/fixer/sensor.py
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
homeassistant/components/folder_watcher/*
homeassistant/components/foobot/sensor.py
homeassistant/components/fortios/device_tracker.py
homeassistant/components/fortigate/*
homeassistant/components/foscam/camera.py
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/fronius/sensor.py
@@ -256,18 +306,15 @@ omit =
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
homeassistant/components/glances/__init__.py
homeassistant/components/glances/const.py
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
@@ -281,6 +328,11 @@ 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/guardian/util.py
homeassistant/components/habitica/*
homeassistant/components/hangouts/*
homeassistant/components/hangouts/__init__.py
@@ -297,7 +349,9 @@ omit =
homeassistant/components/hisense_aehw4a1/*
homeassistant/components/hitron_coda/device_tracker.py
homeassistant/components/hive/*
homeassistant/components/hlk_sw16/*
homeassistant/components/hlk_sw16/__init__.py
homeassistant/components/hlk_sw16/switch.py
homeassistant/components/home_connect/*
homeassistant/components/homematic/*
homeassistant/components/homematic/climate.py
homeassistant/components/homematic/cover.py
@@ -310,7 +364,13 @@ omit =
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/hvv_departures/sensor.py
homeassistant/components/hvv_departures/__init__.py
homeassistant/components/hydrawise/*
homeassistant/components/hyperion/light.py
homeassistant/components/ialarm/alarm_control_panel.py
@@ -333,8 +393,17 @@ omit =
homeassistant/components/ihc/*
homeassistant/components/imap/sensor.py
homeassistant/components/imap_email_content/sensor.py
homeassistant/components/influxdb/sensor.py
homeassistant/components/insteon/*
homeassistant/components/insteon/binary_sensor.py
homeassistant/components/insteon/climate.py
homeassistant/components/insteon/const.py
homeassistant/components/insteon/cover.py
homeassistant/components/insteon/fan.py
homeassistant/components/insteon/insteon_entity.py
homeassistant/components/insteon/ipdb.py
homeassistant/components/insteon/light.py
homeassistant/components/insteon/schemas.py
homeassistant/components/insteon/switch.py
homeassistant/components/insteon/utils.py
homeassistant/components/incomfort/*
homeassistant/components/intesishome/*
homeassistant/components/ios/*
@@ -343,11 +412,27 @@ omit =
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/*
@@ -361,6 +446,7 @@ omit =
homeassistant/components/knx/climate.py
homeassistant/components/knx/cover.py
homeassistant/components/kodi/__init__.py
homeassistant/components/kodi/browse_media.py
homeassistant/components/kodi/const.py
homeassistant/components/kodi/media_player.py
homeassistant/components/kodi/notify.py
@@ -381,13 +467,10 @@ omit =
homeassistant/components/lightwave/*
homeassistant/components/limitlessled/light.py
homeassistant/components/linksys_smart/device_tracker.py
homeassistant/components/linky/__init__.py
homeassistant/components/linky/sensor.py
homeassistant/components/linode/*
homeassistant/components/linux_battery/sensor.py
homeassistant/components/lirc/*
homeassistant/components/llamalab_automate/notify.py
homeassistant/components/lockitron/lock.py
homeassistant/components/logi_circle/__init__.py
homeassistant/components/logi_circle/camera.py
homeassistant/components/logi_circle/const.py
@@ -398,7 +481,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
@@ -428,11 +517,13 @@ omit =
homeassistant/components/miflora/sensor.py
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
@@ -441,7 +532,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
@@ -450,7 +540,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
@@ -470,12 +559,18 @@ omit =
homeassistant/components/netatmo/camera.py
homeassistant/components/netatmo/climate.py
homeassistant/components/netatmo/const.py
homeassistant/components/netatmo/data_handler.py
homeassistant/components/netatmo/helper.py
homeassistant/components/netatmo/light.py
homeassistant/components/netatmo/netatmo_entity_base.py
homeassistant/components/netatmo/sensor.py
homeassistant/components/netatmo/webhook.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
@@ -487,13 +582,13 @@ omit =
homeassistant/components/notion/sensor.py
homeassistant/components/noaa_tides/sensor.py
homeassistant/components/norway_air/air_quality.py
homeassistant/components/notify_events/notify.py
homeassistant/components/nsw_fuel_station/sensor.py
homeassistant/components/nuimo_controller/*
homeassistant/components/nuki/lock.py
homeassistant/components/nut/sensor.py
homeassistant/components/nx584/alarm_control_panel.py
homeassistant/components/nzbget/__init__.py
homeassistant/components/nzbget/sensor.py
homeassistant/components/nzbget/coordinator.py
homeassistant/components/obihai/*
homeassistant/components/octoprint/*
homeassistant/components/oem/climate.py
@@ -502,12 +597,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
@@ -519,6 +623,9 @@ omit =
homeassistant/components/openuv/sensor.py
homeassistant/components/openweathermap/sensor.py
homeassistant/components/openweathermap/weather.py
homeassistant/components/openweathermap/forecast_update_coordinator.py
homeassistant/components/openweathermap/weather_update_coordinator.py
homeassistant/components/openweathermap/abstract_owm_sensor.py
homeassistant/components/opnsense/*
homeassistant/components/opple/light.py
homeassistant/components/orangepi_gpio/*
@@ -526,6 +633,9 @@ omit =
homeassistant/components/orvibo/switch.py
homeassistant/components/osramlightify/light.py
homeassistant/components/otp/sensor.py
homeassistant/components/ovo_energy/__init__.py
homeassistant/components/ovo_energy/const.py
homeassistant/components/ovo_energy/sensor.py
homeassistant/components/panasonic_bluray/media_player.py
homeassistant/components/panasonic_viera/media_player.py
homeassistant/components/pandora/media_player.py
@@ -533,9 +643,12 @@ 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/*
homeassistant/components/ping/const.py
homeassistant/components/ping/binary_sensor.py
homeassistant/components/ping/device_tracker.py
homeassistant/components/pioneer/media_player.py
@@ -543,12 +656,16 @@ omit =
homeassistant/components/plaato/*
homeassistant/components/plex/media_player.py
homeassistant/components/plex/sensor.py
homeassistant/components/plugwise/*
homeassistant/components/plum_lightpad/*
homeassistant/components/plum_lightpad/light.py
homeassistant/components/pocketcasts/sensor.py
homeassistant/components/point/*
homeassistant/components/prezzibenzina/sensor.py
homeassistant/components/poolsense/__init__.py
homeassistant/components/poolsense/sensor.py
homeassistant/components/poolsense/binary_sensor.py
homeassistant/components/proliphix/climate.py
homeassistant/components/progettihwsw/__init__.py
homeassistant/components/progettihwsw/binary_sensor.py
homeassistant/components/progettihwsw/switch.py
homeassistant/components/prometheus/*
homeassistant/components/prowl/notify.py
homeassistant/components/proxmoxve/*
@@ -557,7 +674,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
@@ -567,7 +683,6 @@ omit =
homeassistant/components/qrcode/image_processing.py
homeassistant/components/quantum_gateway/device_tracker.py
homeassistant/components/qvr_pro/*
homeassistant/components/qwikswitch/*
homeassistant/components/rachio/*
homeassistant/components/radarr/sensor.py
homeassistant/components/radiotherm/climate.py
@@ -593,15 +708,22 @@ omit =
homeassistant/components/rest/binary_sensor.py
homeassistant/components/rest/notify.py
homeassistant/components/rest/switch.py
homeassistant/components/rfxtrx/*
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/roon/__init__.py
homeassistant/components/roon/const.py
homeassistant/components/roon/media_player.py
homeassistant/components/roon/server.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
@@ -614,6 +736,7 @@ omit =
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
@@ -622,7 +745,6 @@ 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
@@ -630,6 +752,13 @@ omit =
homeassistant/components/seventeentrack/sensor.py
homeassistant/components/shiftr/*
homeassistant/components/shodan/sensor.py
homeassistant/components/shelly/__init__.py
homeassistant/components/shelly/binary_sensor.py
homeassistant/components/shelly/cover.py
homeassistant/components/shelly/entity.py
homeassistant/components/shelly/light.py
homeassistant/components/shelly/sensor.py
homeassistant/components/shelly/switch.py
homeassistant/components/sht31/sensor.py
homeassistant/components/sigfox/sensor.py
homeassistant/components/simplepush/notify.py
@@ -638,19 +767,25 @@ omit =
homeassistant/components/simplisafe/lock.py
homeassistant/components/simulated/sensor.py
homeassistant/components/sisyphus/*
homeassistant/components/sky_hub/device_tracker.py
homeassistant/components/sky_hub/*
homeassistant/components/skybeacon/sensor.py
homeassistant/components/skybell/*
homeassistant/components/slack/notify.py
homeassistant/components/sinch/*
homeassistant/components/slide/*
homeassistant/components/sma/sensor.py
homeassistant/components/smappee/*
homeassistant/components/smappee/__init__.py
homeassistant/components/smappee/api.py
homeassistant/components/smappee/binary_sensor.py
homeassistant/components/smappee/sensor.py
homeassistant/components/smappee/switch.py
homeassistant/components/smarty/*
homeassistant/components/smarthab/*
homeassistant/components/smarthab/__init__.py
homeassistant/components/smarthab/cover.py
homeassistant/components/smarthab/light.py
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
@@ -663,8 +798,6 @@ 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/*
@@ -673,16 +806,19 @@ omit =
homeassistant/components/spotcrime/sensor.py
homeassistant/components/spotify/__init__.py
homeassistant/components/spotify/media_player.py
homeassistant/components/squeezebox/*
homeassistant/components/squeezebox/__init__.py
homeassistant/components/squeezebox/media_player.py
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/surepetcare/__init__.py
homeassistant/components/surepetcare/sensor.py
homeassistant/components/swiss_hydrological_data/sensor.py
homeassistant/components/swiss_public_transport/sensor.py
homeassistant/components/swisscom/device_tracker.py
@@ -692,8 +828,10 @@ 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/*
@@ -727,6 +865,7 @@ omit =
homeassistant/components/thomson/device_tracker.py
homeassistant/components/tibber/*
homeassistant/components/tikteck/light.py
homeassistant/components/tile/__init__.py
homeassistant/components/tile/device_tracker.py
homeassistant/components/time_date/sensor.py
homeassistant/components/tmb/sensor.py
@@ -734,7 +873,16 @@ omit =
homeassistant/components/todoist/const.py
homeassistant/components/tof/sensor.py
homeassistant/components/tomato/device_tracker.py
homeassistant/components/toon/*
homeassistant/components/toon/__init__.py
homeassistant/components/toon/binary_sensor.py
homeassistant/components/toon/climate.py
homeassistant/components/toon/const.py
homeassistant/components/toon/coordinator.py
homeassistant/components/toon/helpers.py
homeassistant/components/toon/models.py
homeassistant/components/toon/oauth2.py
homeassistant/components/toon/sensor.py
homeassistant/components/toon/switch.py
homeassistant/components/torque/sensor.py
homeassistant/components/totalconnect/*
homeassistant/components/touchline/climate.py
@@ -764,6 +912,10 @@ omit =
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/*
@@ -786,6 +938,7 @@ omit =
homeassistant/components/vesync/__init__.py
homeassistant/components/vesync/common.py
homeassistant/components/vesync/const.py
homeassistant/components/vesync/fan.py
homeassistant/components/vesync/switch.py
homeassistant/components/viaggiatreno/sensor.py
homeassistant/components/vicare/*
@@ -796,6 +949,7 @@ omit =
homeassistant/components/vlc/media_player.py
homeassistant/components/vlc_telnet/media_player.py
homeassistant/components/volkszaehler/sensor.py
homeassistant/components/volumio/__init__.py
homeassistant/components/volumio/media_player.py
homeassistant/components/volvooncall/*
homeassistant/components/w800rf32/*
@@ -807,27 +961,44 @@ omit =
homeassistant/components/webostv/*
homeassistant/components/wemo/*
homeassistant/components/whois/sensor.py
homeassistant/components/wiffi/*
homeassistant/components/wink/*
homeassistant/components/wirelesstag/*
homeassistant/components/wolflink/__init__.py
homeassistant/components/wolflink/sensor.py
homeassistant/components/wolflink/const.py
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_aqara/__init__.py
homeassistant/components/xiaomi_aqara/binary_sensor.py
homeassistant/components/xiaomi_aqara/const.py
homeassistant/components/xiaomi_aqara/cover.py
homeassistant/components/xiaomi_aqara/light.py
homeassistant/components/xiaomi_aqara/lock.py
homeassistant/components/xiaomi_aqara/sensor.py
homeassistant/components/xiaomi_aqara/switch.py
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/*
homeassistant/components/yale_smart_alarm/alarm_control_panel.py
homeassistant/components/yamaha_musiccast/media_player.py
homeassistant/components/yandex_transport/*
homeassistant/components/yeelight/*
homeassistant/components/yeelightsunflower/light.py
homeassistant/components/yi/camera.py
homeassistant/components/zabbix/*
@@ -835,8 +1006,9 @@ 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/core/channels/*
homeassistant/components/zha/core/const.py
@@ -850,11 +1022,14 @@ omit =
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/entity.py
homeassistant/components/ozw/services.py
[report]
# Regexes for lines to exclude from consideration

View File

@@ -2,9 +2,15 @@
.git
.github
config
docs
# Development
.devcontainer
.vscode
# Test related files
.tox
tests
# Other virtualization methods
venv

2
.gitattributes vendored
View File

@@ -8,3 +8,5 @@
*.png binary
*.zip binary
*.mp3 binary
Dockerfile.dev linguist-language=Dockerfile

49
.github/ISSUE_TEMPLATE.md vendored Normal file
View File

@@ -0,0 +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/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: Configuration -> Info.
-->
- Home Assistant Core release with the issue:
- Last working Home Assistant Core release (if known):
- Operating environment (OS/Container/Supervised/Core):
- 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,10 +1,10 @@
---
name: Report a bug with Home Assistant
about: Report an issue with Home Assistant
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/home-assistant/releases
- 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.
@@ -12,7 +12,7 @@ about: Report an issue with Home Assistant
## 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 instead.
maintainers. Tell us what you were trying to do and what happened.
-->
@@ -20,12 +20,12 @@ about: Report an issue with Home Assistant
<!--
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 frontend: Configuration -> Info.
-->
- Home Assistant release with the issue:
- Last working Home Assistant release (if known):
- Operating environment (Hass.io/Docker/Windows/etc.):
- Home Assistant Core release with the issue:
- Last working Home Assistant Core release (if known):
- Operating environment (OS/Container/Supervised/Core):
- Integration causing this issue:
- Link to integration documentation on our website:

View File

@@ -13,7 +13,7 @@
## 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
@@ -24,7 +24,7 @@
## Type of change
<!--
What type of change does your PR introduce to Home Assistant?
NOTE: Please, check only 1! box!
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.
-->
@@ -98,6 +98,29 @@ The integration reached or maintains the following [Integration Quality Scale][q
- [ ] 🥇 Gold
- [ ] 🏆 Platinum
<!--
This project is very active and we have a high turnover of pull requests.
Unfortunately, the number of incoming pull requests is higher than what our
reviewers can review and merge so there is a long backlog of pull requests
waiting for review. You can help here!
By reviewing another pull request, you will help raise the code quality of
that pull request and the final review will be faster. This way the general
pace of pull request reviews will go up and your wait time will go down.
When picking a pull request to review, try to choose one that hasn't yet
been reviewed.
Thanks for helping out!
-->
To help with the load of incoming pull requests:
- [ ] I have reviewed two other [open pull requests][prs] in this repository.
[prs]: https://github.com/home-assistant/core/pulls?q=is%3Aopen+is%3Apr+-author%3A%40me+-draft%3Atrue+-label%3Awaiting-for-upstream+sort%3Acreated-asc+-review%3Aapproved
<!--
Thank you for contributing <3

8
.github/dependabot.yml vendored Normal file
View File

@@ -0,0 +1,8 @@
version: 2
updates:
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: daily
time: "06:00"
open-pull-requests-limit: 10

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

1
.github/stale.yml vendored
View File

@@ -57,6 +57,7 @@ limitPerRun: 30
# 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

783
.github/workflows/ci.yaml vendored Normal file
View File

@@ -0,0 +1,783 @@
name: CI
# yamllint disable-line rule:truthy
on:
push:
branches:
- dev
- rc
- master
pull_request: ~
env:
CACHE_VERSION: 1
DEFAULT_PYTHON: 3.7
PRE_COMMIT_HOME: ~/.cache/pre-commit
jobs:
# Separate job to pre-populate the base dependency cache
# This prevent upcoming jobs to do the same individually
prepare-base:
name: Prepare base dependencies
runs-on: ubuntu-latest
steps:
- name: Check out code from GitHub
uses: actions/checkout@v2
- name: Set up Python ${{ env.DEFAULT_PYTHON }}
id: python
uses: actions/setup-python@v2.1.2
with:
python-version: ${{ env.DEFAULT_PYTHON }}
- name: Restore base Python virtual environment
id: cache-venv
uses: actions/cache@v2
with:
path: venv
key: >-
${{ env.CACHE_VERSION}}-${{ runner.os }}-base-venv-${{
steps.python.outputs.python-version }}-${{
hashFiles('requirements.txt') }}-${{
hashFiles('requirements_test.txt') }}-${{
hashFiles('homeassistant/package_constraints.txt') }}
restore-keys: |
${{ env.CACHE_VERSION}}-${{ runner.os }}-base-venv-${{ steps.python.outputs.python-version }}-${{ hashFiles('requirements.txt') }}-${{ hashFiles('requirements_test.txt') }}-
${{ env.CACHE_VERSION}}-${{ runner.os }}-base-venv-${{ steps.python.outputs.python-version }}-${{ hashFiles('requirements.txt') }}
${{ env.CACHE_VERSION}}-${{ runner.os }}-base-venv-${{ steps.python.outputs.python-version }}-
- name: Create Python virtual environment
if: steps.cache-venv.outputs.cache-hit != 'true'
run: |
python -m venv venv
. venv/bin/activate
pip install -U pip setuptools
pip install -r requirements.txt -r requirements_test.txt
- name: Restore pre-commit environment from cache
id: cache-precommit
uses: actions/cache@v2
with:
path: ${{ env.PRE_COMMIT_HOME }}
key: |
${{ env.CACHE_VERSION}}-${{ runner.os }}-pre-commit-${{ hashFiles('.pre-commit-config.yaml') }}
restore-keys: |
${{ env.CACHE_VERSION}}-${{ runner.os }}-pre-commit-
- name: Install pre-commit dependencies
if: steps.cache-precommit.outputs.cache-hit != 'true'
run: |
. venv/bin/activate
pre-commit install-hooks
lint-bandit:
name: Check bandit
runs-on: ubuntu-latest
needs: prepare-base
steps:
- name: Check out code from GitHub
uses: actions/checkout@v2
- name: Set up Python ${{ env.DEFAULT_PYTHON }}
uses: actions/setup-python@v2.1.2
id: python
with:
python-version: ${{ env.DEFAULT_PYTHON }}
- name: Restore base Python virtual environment
id: cache-venv
uses: actions/cache@v2
with:
path: venv
key: >-
${{ env.CACHE_VERSION}}-${{ runner.os }}-base-venv-${{
steps.python.outputs.python-version }}-${{
hashFiles('requirements.txt') }}-${{
hashFiles('requirements_test.txt') }}-${{
hashFiles('homeassistant/package_constraints.txt') }}
- name: Fail job if Python cache restore failed
if: steps.cache-venv.outputs.cache-hit != 'true'
run: |
echo "Failed to restore Python virtual environment from cache"
exit 1
- name: Restore pre-commit environment from cache
id: cache-precommit
uses: actions/cache@v2
with:
path: ${{ env.PRE_COMMIT_HOME }}
key: |
${{ env.CACHE_VERSION}}-${{ runner.os }}-pre-commit-${{ hashFiles('.pre-commit-config.yaml') }}
- name: Fail job if cache restore failed
if: steps.cache-venv.outputs.cache-hit != 'true'
run: |
echo "Failed to restore Python virtual environment from cache"
exit 1
- name: Run bandit
run: |
. venv/bin/activate
pre-commit run --hook-stage manual bandit --all-files --show-diff-on-failure
lint-black:
name: Check black
runs-on: ubuntu-latest
needs: prepare-base
steps:
- name: Check out code from GitHub
uses: actions/checkout@v2
- name: Set up Python ${{ env.DEFAULT_PYTHON }}
uses: actions/setup-python@v2.1.2
id: python
with:
python-version: ${{ env.DEFAULT_PYTHON }}
- name: Restore base Python virtual environment
id: cache-venv
uses: actions/cache@v2
with:
path: venv
key: >-
${{ env.CACHE_VERSION}}-${{ runner.os }}-base-venv-${{
steps.python.outputs.python-version }}-${{
hashFiles('requirements.txt') }}-${{
hashFiles('requirements_test.txt') }}-${{
hashFiles('homeassistant/package_constraints.txt') }}
- name: Fail job if Python cache restore failed
if: steps.cache-venv.outputs.cache-hit != 'true'
run: |
echo "Failed to restore Python virtual environment from cache"
exit 1
- name: Restore pre-commit environment from cache
id: cache-precommit
uses: actions/cache@v2
with:
path: ${{ env.PRE_COMMIT_HOME }}
key: |
${{ env.CACHE_VERSION}}-${{ runner.os }}-pre-commit-${{ hashFiles('.pre-commit-config.yaml') }}
- name: Fail job if cache restore failed
if: steps.cache-venv.outputs.cache-hit != 'true'
run: |
echo "Failed to restore Python virtual environment from cache"
exit 1
- name: Run black
run: |
. venv/bin/activate
pre-commit run --hook-stage manual black --all-files --show-diff-on-failure
lint-codespell:
name: Check codespell
runs-on: ubuntu-latest
needs: prepare-base
steps:
- name: Check out code from GitHub
uses: actions/checkout@v2
- name: Set up Python ${{ env.DEFAULT_PYTHON }}
uses: actions/setup-python@v2.1.2
id: python
with:
python-version: ${{ env.DEFAULT_PYTHON }}
- name: Restore base Python virtual environment
id: cache-venv
uses: actions/cache@v2
with:
path: venv
key: >-
${{ env.CACHE_VERSION}}-${{ runner.os }}-base-venv-${{
steps.python.outputs.python-version }}-${{
hashFiles('requirements.txt') }}-${{
hashFiles('requirements_test.txt') }}-${{
hashFiles('homeassistant/package_constraints.txt') }}
- name: Fail job if Python cache restore failed
if: steps.cache-venv.outputs.cache-hit != 'true'
run: |
echo "Failed to restore Python virtual environment from cache"
exit 1
- name: Restore pre-commit environment from cache
id: cache-precommit
uses: actions/cache@v2
with:
path: ${{ env.PRE_COMMIT_HOME }}
key: |
${{ env.CACHE_VERSION}}-${{ runner.os }}-pre-commit-${{ hashFiles('.pre-commit-config.yaml') }}
- name: Fail job if cache restore failed
if: steps.cache-venv.outputs.cache-hit != 'true'
run: |
echo "Failed to restore Python virtual environment from cache"
exit 1
- name: Register codespell problem matcher
run: |
echo "::add-matcher::.github/workflows/matchers/codespell.json"
- name: Run codespell
run: |
. venv/bin/activate
pre-commit run --show-diff-on-failure --hook-stage manual codespell --all-files
lint-dockerfile:
name: Check Dockerfile
runs-on: ubuntu-latest
needs: prepare-base
steps:
- name: Check out code from GitHub
uses: actions/checkout@v2
- name: Register hadolint problem matcher
run: |
echo "::add-matcher::.github/workflows/matchers/hadolint.json"
- name: Check Dockerfile
uses: docker://hadolint/hadolint:v1.18.0
with:
args: hadolint Dockerfile
- name: Check Dockerfile.dev
uses: docker://hadolint/hadolint:v1.18.0
with:
args: hadolint Dockerfile.dev
lint-executable-shebangs:
name: Check executables
runs-on: ubuntu-latest
needs: prepare-base
steps:
- name: Check out code from GitHub
uses: actions/checkout@v2
- name: Set up Python ${{ env.DEFAULT_PYTHON }}
uses: actions/setup-python@v2.1.2
id: python
with:
python-version: ${{ env.DEFAULT_PYTHON }}
- name: Restore base Python virtual environment
id: cache-venv
uses: actions/cache@v2
with:
path: venv
key: >-
${{ env.CACHE_VERSION}}-${{ runner.os }}-base-venv-${{
steps.python.outputs.python-version }}-${{
hashFiles('requirements.txt') }}-${{
hashFiles('requirements_test.txt') }}-${{
hashFiles('homeassistant/package_constraints.txt') }}
- name: Fail job if Python cache restore failed
if: steps.cache-venv.outputs.cache-hit != 'true'
run: |
echo "Failed to restore Python virtual environment from cache"
exit 1
- name: Restore pre-commit environment from cache
id: cache-precommit
uses: actions/cache@v2
with:
path: ${{ env.PRE_COMMIT_HOME }}
key: |
${{ env.CACHE_VERSION}}-${{ runner.os }}-pre-commit-${{ hashFiles('.pre-commit-config.yaml') }}
- name: Fail job if cache restore failed
if: steps.cache-venv.outputs.cache-hit != 'true'
run: |
echo "Failed to restore Python virtual environment from cache"
exit 1
- name: Register check executables problem matcher
run: |
echo "::add-matcher::.github/workflows/matchers/check-executables-have-shebangs.json"
- name: Run executables check
run: |
. venv/bin/activate
pre-commit run --hook-stage manual check-executables-have-shebangs --all-files
lint-flake8:
name: Check flake8
runs-on: ubuntu-latest
needs: prepare-base
steps:
- name: Check out code from GitHub
uses: actions/checkout@v2
- name: Set up Python ${{ env.DEFAULT_PYTHON }}
uses: actions/setup-python@v2.1.2
id: python
with:
python-version: ${{ env.DEFAULT_PYTHON }}
- name: Restore base Python virtual environment
id: cache-venv
uses: actions/cache@v2
with:
path: venv
key: >-
${{ env.CACHE_VERSION}}-${{ runner.os }}-base-venv-${{
steps.python.outputs.python-version }}-${{
hashFiles('requirements.txt') }}-${{
hashFiles('requirements_test.txt') }}-${{
hashFiles('homeassistant/package_constraints.txt') }}
- name: Fail job if Python cache restore failed
if: steps.cache-venv.outputs.cache-hit != 'true'
run: |
echo "Failed to restore Python virtual environment from cache"
exit 1
- name: Restore pre-commit environment from cache
id: cache-precommit
uses: actions/cache@v2
with:
path: ${{ env.PRE_COMMIT_HOME }}
key: |
${{ env.CACHE_VERSION}}-${{ runner.os }}-pre-commit-${{ hashFiles('.pre-commit-config.yaml') }}
- name: Fail job if cache restore failed
if: steps.cache-venv.outputs.cache-hit != 'true'
run: |
echo "Failed to restore Python virtual environment from cache"
exit 1
- name: Register flake8 problem matcher
run: |
echo "::add-matcher::.github/workflows/matchers/flake8.json"
- name: Run flake8
run: |
. venv/bin/activate
pre-commit run --hook-stage manual flake8 --all-files
lint-isort:
name: Check isort
runs-on: ubuntu-latest
needs: prepare-base
steps:
- name: Check out code from GitHub
uses: actions/checkout@v2
- name: Set up Python ${{ env.DEFAULT_PYTHON }}
uses: actions/setup-python@v2.1.2
id: python
with:
python-version: ${{ env.DEFAULT_PYTHON }}
- name: Restore base Python virtual environment
id: cache-venv
uses: actions/cache@v2
with:
path: venv
key: >-
${{ env.CACHE_VERSION}}-${{ runner.os }}-base-venv-${{
steps.python.outputs.python-version }}-${{
hashFiles('requirements.txt') }}-${{
hashFiles('requirements_test.txt') }}-${{
hashFiles('homeassistant/package_constraints.txt') }}
- name: Fail job if Python cache restore failed
if: steps.cache-venv.outputs.cache-hit != 'true'
run: |
echo "Failed to restore Python virtual environment from cache"
exit 1
- name: Restore pre-commit environment from cache
id: cache-precommit
uses: actions/cache@v2
with:
path: ${{ env.PRE_COMMIT_HOME }}
key: |
${{ env.CACHE_VERSION}}-${{ runner.os }}-pre-commit-${{ hashFiles('.pre-commit-config.yaml') }}
- name: Fail job if cache restore failed
if: steps.cache-venv.outputs.cache-hit != 'true'
run: |
echo "Failed to restore Python virtual environment from cache"
exit 1
- name: Run isort
run: |
. venv/bin/activate
pre-commit run --hook-stage manual isort --all-files --show-diff-on-failure
lint-json:
name: Check JSON
runs-on: ubuntu-latest
needs: prepare-base
steps:
- name: Check out code from GitHub
uses: actions/checkout@v2
- name: Set up Python ${{ env.DEFAULT_PYTHON }}
uses: actions/setup-python@v2.1.2
id: python
with:
python-version: ${{ env.DEFAULT_PYTHON }}
- name: Restore base Python virtual environment
id: cache-venv
uses: actions/cache@v2
with:
path: venv
key: >-
${{ env.CACHE_VERSION}}-${{ runner.os }}-base-venv-${{
steps.python.outputs.python-version }}-${{
hashFiles('requirements.txt') }}-${{
hashFiles('requirements_test.txt') }}-${{
hashFiles('homeassistant/package_constraints.txt') }}
- name: Fail job if Python cache restore failed
if: steps.cache-venv.outputs.cache-hit != 'true'
run: |
echo "Failed to restore Python virtual environment from cache"
exit 1
- name: Restore pre-commit environment from cache
id: cache-precommit
uses: actions/cache@v2
with:
path: ${{ env.PRE_COMMIT_HOME }}
key: |
${{ env.CACHE_VERSION}}-${{ runner.os }}-pre-commit-${{ hashFiles('.pre-commit-config.yaml') }}
- name: Fail job if cache restore failed
if: steps.cache-venv.outputs.cache-hit != 'true'
run: |
echo "Failed to restore Python virtual environment from cache"
exit 1
- name: Register check-json problem matcher
run: |
echo "::add-matcher::.github/workflows/matchers/check-json.json"
- name: Run check-json
run: |
. venv/bin/activate
pre-commit run --hook-stage manual check-json --all-files
lint-pyupgrade:
name: Check pyupgrade
runs-on: ubuntu-latest
needs: prepare-base
steps:
- name: Check out code from GitHub
uses: actions/checkout@v2
- name: Set up Python ${{ env.DEFAULT_PYTHON }}
uses: actions/setup-python@v2.1.2
id: python
with:
python-version: ${{ env.DEFAULT_PYTHON }}
- name: Restore base Python virtual environment
id: cache-venv
uses: actions/cache@v2
with:
path: venv
key: >-
${{ env.CACHE_VERSION}}-${{ runner.os }}-base-venv-${{
steps.python.outputs.python-version }}-${{
hashFiles('requirements.txt') }}-${{
hashFiles('requirements_test.txt') }}-${{
hashFiles('homeassistant/package_constraints.txt') }}
- name: Fail job if Python cache restore failed
if: steps.cache-venv.outputs.cache-hit != 'true'
run: |
echo "Failed to restore Python virtual environment from cache"
exit 1
- name: Restore pre-commit environment from cache
id: cache-precommit
uses: actions/cache@v2
with:
path: ${{ env.PRE_COMMIT_HOME }}
key: |
${{ env.CACHE_VERSION}}-${{ runner.os }}-pre-commit-${{ hashFiles('.pre-commit-config.yaml') }}
- name: Fail job if cache restore failed
if: steps.cache-venv.outputs.cache-hit != 'true'
run: |
echo "Failed to restore Python virtual environment from cache"
exit 1
- name: Run pyupgrade
run: |
. venv/bin/activate
pre-commit run --hook-stage manual pyupgrade --all-files --show-diff-on-failure
# Disabled until we have the existing issues fixed
# lint-shellcheck:
# name: Check ShellCheck
# runs-on: ubuntu-latest
# needs: prepare-base
# steps:
# - name: Check out code from GitHub
# uses: actions/checkout@v2
# - name: Run ShellCheck
# uses: ludeeus/action-shellcheck@0.3.0
lint-yaml:
name: Check YAML
runs-on: ubuntu-latest
needs: prepare-base
steps:
- name: Check out code from GitHub
uses: actions/checkout@v2
- name: Set up Python ${{ env.DEFAULT_PYTHON }}
uses: actions/setup-python@v2.1.2
id: python
with:
python-version: ${{ env.DEFAULT_PYTHON }}
- name: Restore base Python virtual environment
id: cache-venv
uses: actions/cache@v2
with:
path: venv
key: >-
${{ env.CACHE_VERSION}}-${{ runner.os }}-base-venv-${{
steps.python.outputs.python-version }}-${{
hashFiles('requirements.txt') }}-${{
hashFiles('requirements_test.txt') }}-${{
hashFiles('homeassistant/package_constraints.txt') }}
- name: Fail job if Python cache restore failed
if: steps.cache-venv.outputs.cache-hit != 'true'
run: |
echo "Failed to restore Python virtual environment from cache"
exit 1
- name: Restore pre-commit environment from cache
id: cache-precommit
uses: actions/cache@v2
with:
path: ${{ env.PRE_COMMIT_HOME }}
key: |
${{ env.CACHE_VERSION}}-${{ runner.os }}-pre-commit-${{ hashFiles('.pre-commit-config.yaml') }}
- name: Fail job if cache restore failed
if: steps.cache-venv.outputs.cache-hit != 'true'
run: |
echo "Failed to restore Python virtual environment from cache"
exit 1
- name: Register yamllint problem matcher
run: |
echo "::add-matcher::.github/workflows/matchers/yamllint.json"
- name: Run yamllint
run: |
. venv/bin/activate
pre-commit run --hook-stage manual yamllint --all-files --show-diff-on-failure
hassfest:
name: Check hassfest
runs-on: ubuntu-latest
needs: prepare-base
steps:
- name: Check out code from GitHub
uses: actions/checkout@v2
- name: Set up Python ${{ env.DEFAULT_PYTHON }}
uses: actions/setup-python@v2.1.2
id: python
with:
python-version: ${{ env.DEFAULT_PYTHON }}
- name: Restore base Python virtual environment
id: cache-venv
uses: actions/cache@v2
with:
path: venv
key: >-
${{ env.CACHE_VERSION}}-${{ runner.os }}-base-venv-${{
steps.python.outputs.python-version }}-${{
hashFiles('requirements.txt') }}-${{
hashFiles('requirements_test.txt') }}-${{
hashFiles('homeassistant/package_constraints.txt') }}
- name: Fail job if Python cache restore failed
if: steps.cache-venv.outputs.cache-hit != 'true'
run: |
echo "Failed to restore Python virtual environment from cache"
exit 1
- name: Run hassfest
run: |
. venv/bin/activate
python -m script.hassfest --action validate
gen-requirements-all:
name: Check all requirements
runs-on: ubuntu-latest
needs: prepare-base
steps:
- name: Check out code from GitHub
uses: actions/checkout@v2
- name: Set up Python ${{ env.DEFAULT_PYTHON }}
uses: actions/setup-python@v2.1.2
id: python
with:
python-version: ${{ env.DEFAULT_PYTHON }}
- name: Restore base Python virtual environment
id: cache-venv
uses: actions/cache@v2
with:
path: venv
key: >-
${{ env.CACHE_VERSION}}-${{ runner.os }}-base-venv-${{
steps.python.outputs.python-version }}-${{
hashFiles('requirements.txt') }}-${{
hashFiles('requirements_test.txt') }}-${{
hashFiles('homeassistant/package_constraints.txt') }}
- name: Fail job if Python cache restore failed
if: steps.cache-venv.outputs.cache-hit != 'true'
run: |
echo "Failed to restore Python virtual environment from cache"
exit 1
- name: Run gen_requirements_all.py
run: |
. venv/bin/activate
python -m script.gen_requirements_all validate
prepare-tests:
name: Prepare tests for Python ${{ matrix.python-version }}
runs-on: ubuntu-latest
strategy:
matrix:
python-version: [3.7, 3.8]
container: homeassistant/ci-azure:${{ matrix.python-version }}
steps:
- name: Check out code from GitHub
uses: actions/checkout@v2
- name: Restore full Python ${{ matrix.python-version }} virtual environment
id: cache-venv
uses: actions/cache@v2
with:
path: venv
key: >-
${{ env.CACHE_VERSION}}-${{ runner.os }}-venv-${{
matrix.python-version }}-${{ hashFiles('requirements_test.txt')
}}-${{ hashFiles('requirements_all.txt') }}-${{
hashFiles('homeassistant/package_constraints.txt') }}
restore-keys: |
${{ env.CACHE_VERSION}}-${{ runner.os }}-venv-${{ matrix.python-version }}-${{ hashFiles('requirements_test.txt') }}-${{ hashFiles('requirements_all.txt') }}
${{ env.CACHE_VERSION}}-${{ runner.os }}-venv-${{ matrix.python-version }}-${{ hashFiles('requirements_test.txt') }}
${{ env.CACHE_VERSION}}-${{ runner.os }}-venv-${{ matrix.python-version }}-
- name: Create full Python ${{ matrix.python-version }} virtual environment
if: steps.cache-venv.outputs.cache-hit != 'true'
run: |
python -m venv venv
. venv/bin/activate
pip install -U pip setuptools wheel
pip install -r requirements_all.txt
pip install -r requirements_test.txt
pip install -e .
pylint:
name: Check pylint
runs-on: ubuntu-latest
needs: prepare-tests
strategy:
matrix:
python-version: [3.7]
container: homeassistant/ci-azure:${{ matrix.python-version }}
steps:
- name: Check out code from GitHub
uses: actions/checkout@v2
- name: Restore full Python ${{ matrix.python-version }} virtual environment
id: cache-venv
uses: actions/cache@v2
with:
path: venv
key: >-
${{ env.CACHE_VERSION}}-${{ runner.os }}-venv-${{
matrix.python-version }}-${{ hashFiles('requirements_test.txt')
}}-${{ hashFiles('requirements_all.txt') }}-${{
hashFiles('homeassistant/package_constraints.txt') }}
- name: Fail job if Python cache restore failed
if: steps.cache-venv.outputs.cache-hit != 'true'
run: |
echo "Failed to restore Python virtual environment from cache"
exit 1
- name: Register pylint problem matcher
run: |
echo "::add-matcher::.github/workflows/matchers/pylint.json"
- name: Run pylint
run: |
. venv/bin/activate
pylint homeassistant
mypy:
name: Check mypy
runs-on: ubuntu-latest
needs: prepare-tests
strategy:
matrix:
python-version: [3.7]
container: homeassistant/ci-azure:${{ matrix.python-version }}
steps:
- name: Check out code from GitHub
uses: actions/checkout@v2
- name: Restore full Python ${{ matrix.python-version }} virtual environment
id: cache-venv
uses: actions/cache@v2
with:
path: venv
key: >-
${{ env.CACHE_VERSION}}-${{ runner.os }}-venv-${{
matrix.python-version }}-${{ hashFiles('requirements_test.txt')
}}-${{ hashFiles('requirements_all.txt') }}-${{
hashFiles('homeassistant/package_constraints.txt') }}
- name: Fail job if Python cache restore failed
if: steps.cache-venv.outputs.cache-hit != 'true'
run: |
echo "Failed to restore Python virtual environment from cache"
exit 1
- name: Register mypy problem matcher
run: |
echo "::add-matcher::.github/workflows/matchers/mypy.json"
- name: Run mypy
run: |
. venv/bin/activate
mypy homeassistant
pytest:
runs-on: ubuntu-latest
needs: prepare-tests
strategy:
matrix:
group: [1, 2, 3, 4]
python-version: [3.7, 3.8]
name: >-
Run tests Python ${{ matrix.python-version }} (group ${{ matrix.group }})
container: homeassistant/ci-azure:${{ matrix.python-version }}
steps:
- name: Check out code from GitHub
uses: actions/checkout@v2
- name: Restore full Python ${{ matrix.python-version }} virtual environment
id: cache-venv
uses: actions/cache@v2
with:
path: venv
key: >-
${{ env.CACHE_VERSION}}-${{ runner.os }}-venv-${{
matrix.python-version }}-${{ hashFiles('requirements_test.txt')
}}-${{ hashFiles('requirements_all.txt') }}-${{
hashFiles('homeassistant/package_constraints.txt') }}
- name: Fail job if Python cache restore failed
if: steps.cache-venv.outputs.cache-hit != 'true'
run: |
echo "Failed to restore Python virtual environment from cache"
exit 1
- name: Register Python problem matcher
run: |
echo "::add-matcher::.github/workflows/matchers/python.json"
- name: Install Pytest Annotation plugin
run: |
. venv/bin/activate
# Ideally this should be part of our dependencies
# However this plugin is fairly new and doesn't run correctly
# on a non-GitHub environment.
pip install pytest-github-actions-annotate-failures
- name: Run pytest
run: |
. venv/bin/activate
pytest \
-qq \
--timeout=9 \
--durations=10 \
-n auto \
--dist=loadfile \
--test-group-count 4 \
--test-group=${{ matrix.group }} \
--cov homeassistant \
-o console_output_style=count \
-p no:sugar \
tests
- name: Upload coverage artifact
uses: actions/upload-artifact@v2.1.4
with:
name: coverage-${{ matrix.python-version }}-group${{ matrix.group }}
path: .coverage
- name: Check dirty
run: |
./script/check_dirty
coverage:
name: Process test coverage
runs-on: ubuntu-latest
needs: pytest
strategy:
matrix:
python-version: [3.7]
container: homeassistant/ci-azure:${{ matrix.python-version }}
steps:
- name: Check out code from GitHub
uses: actions/checkout@v2
- name: Restore full Python ${{ matrix.python-version }} virtual environment
id: cache-venv
uses: actions/cache@v2
with:
path: venv
key: >-
${{ env.CACHE_VERSION}}-${{ runner.os }}-venv-${{
matrix.python-version }}-${{ hashFiles('requirements_test.txt')
}}-${{ hashFiles('requirements_all.txt') }}-${{
hashFiles('homeassistant/package_constraints.txt') }}
- name: Fail job if Python cache restore failed
if: steps.cache-venv.outputs.cache-hit != 'true'
run: |
echo "Failed to restore Python virtual environment from cache"
exit 1
- name: Download all coverage artifacts
uses: actions/download-artifact@v2
- name: Combine coverage results
run: |
. venv/bin/activate
coverage combine coverage*/.coverage*
coverage report --fail-under=94
coverage xml
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v1.0.13

View File

@@ -0,0 +1,14 @@
{
"problemMatcher": [
{
"owner": "check-executables-have-shebangs",
"pattern": [
{
"regexp": "^(.+):\\s(.+)$",
"file": 1,
"message": 2
}
]
}
]
}

View File

@@ -0,0 +1,16 @@
{
"problemMatcher": [
{
"owner": "check-json",
"pattern": [
{
"regexp": "^(.+):\\s(.+\\sline\\s(\\d+)\\scolumn\\s(\\d+).+)$",
"file": 1,
"message": 2,
"line": 3,
"column": 4
}
]
}
]
}

View File

@@ -0,0 +1,16 @@
{
"problemMatcher": [
{
"owner": "codespell",
"severity": "warning",
"pattern": [
{
"regexp": "^(.+):(\\d+):\\s(.+)$",
"file": 1,
"line": 2,
"message": 3
}
]
}
]
}

30
.github/workflows/matchers/flake8.json vendored Normal file
View File

@@ -0,0 +1,30 @@
{
"problemMatcher": [
{
"owner": "flake8-error",
"severity": "error",
"pattern": [
{
"regexp": "^(.*):(\\d+):(\\d+):\\s([EF]\\d{3}\\s.*)$",
"file": 1,
"line": 2,
"column": 3,
"message": 4
}
]
},
{
"owner": "flake8-warning",
"severity": "warning",
"pattern": [
{
"regexp": "^(.*):(\\d+):(\\d+):\\s([CDNW]\\d{3}\\s.*)$",
"file": 1,
"line": 2,
"column": 3,
"message": 4
}
]
}
]
}

View File

@@ -0,0 +1,16 @@
{
"problemMatcher": [
{
"owner": "hadolint",
"pattern": [
{
"regexp": "^(.+):(\\d+)\\s+((DL\\d{4}).+)$",
"file": 1,
"line": 2,
"message": 3,
"code": 4
}
]
}
]
}

16
.github/workflows/matchers/mypy.json vendored Normal file
View File

@@ -0,0 +1,16 @@
{
"problemMatcher": [
{
"owner": "mypy",
"pattern": [
{
"regexp": "^(.+):(\\d+):\\s(error|warning):\\s(.+)$",
"file": 1,
"line": 2,
"severity": 3,
"message": 4
}
]
}
]
}

32
.github/workflows/matchers/pylint.json vendored Normal file
View File

@@ -0,0 +1,32 @@
{
"problemMatcher": [
{
"owner": "pylint-error",
"severity": "error",
"pattern": [
{
"regexp": "^(.+):(\\d+):(\\d+):\\s(([EF]\\d{4}):\\s.+)$",
"file": 1,
"line": 2,
"column": 3,
"message": 4,
"code": 5
}
]
},
{
"owner": "pylint-warning",
"severity": "warning",
"pattern": [
{
"regexp": "^(.+):(\\d+):(\\d+):\\s(([CRW]\\d{4}):\\s.+)$",
"file": 1,
"line": 2,
"column": 3,
"message": 4,
"code": 5
}
]
}
]
}

18
.github/workflows/matchers/python.json vendored Normal file
View File

@@ -0,0 +1,18 @@
{
"problemMatcher": [
{
"owner": "python",
"pattern": [
{
"regexp": "^\\s*File\\s\\\"(.*)\\\",\\sline\\s(\\d+),\\sin\\s(.*)$",
"file": 1,
"line": 2
},
{
"regexp": "^\\s*raise\\s(.*)\\(\\'(.*)\\'\\)$",
"message": 2
}
]
}
]
}

View File

@@ -0,0 +1,22 @@
{
"problemMatcher": [
{
"owner": "yamllint",
"pattern": [
{
"regexp": "^(.*\\.ya?ml)$",
"file": 1
},
{
"regexp": "^\\s{2}(\\d+):(\\d+)\\s+(error|warning)\\s+(.*?)\\s+\\((.*)\\)$",
"line": 1,
"column": 2,
"severity": 3,
"message": 4,
"code": 5,
"loop": true
}
]
}
]
}

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,6 +1,11 @@
repos:
- repo: https://github.com/asottile/pyupgrade
rev: v2.7.2
hooks:
- id: pyupgrade
args: [--py37-plus]
- repo: https://github.com/psf/black
rev: 19.10b0
rev: 20.8b1
hooks:
- id: black
args:
@@ -8,21 +13,21 @@ repos:
- --quiet
files: ^((homeassistant|script|tests)/.+)?[^/]+\.py$
- repo: https://github.com/codespell-project/codespell
rev: v1.16.0
rev: v1.17.1
hooks:
- 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="./.*,*.json"
- --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,iam,incomfort
- --skip="./.*,*.csv,*.json"
- --quiet-level=2
exclude_types: [json]
exclude_types: [csv, json]
- repo: https://gitlab.com/pycqa/flake8
rev: 3.7.9
rev: 3.8.3
hooks:
- id: flake8
additional_dependencies:
- flake8-docstrings==1.5.0
- pydocstyle==5.0.2
- pydocstyle==5.1.1
files: ^(homeassistant|script|tests)/.+\.py$
- repo: https://github.com/PyCQA/bandit
rev: 1.6.2
@@ -33,19 +38,30 @@ repos:
- --format=custom
- --configfile=tests/bandit.yaml
files: ^(homeassistant|script|tests)/.+\.py$
- repo: https://github.com/pre-commit/mirrors-isort
rev: v4.3.21
- repo: https://github.com/PyCQA/isort
rev: 5.5.1
hooks:
- id: isort
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v2.4.0
rev: v3.2.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.24.2
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
@@ -59,3 +75,17 @@ repos:
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

@@ -1,8 +1,8 @@
sudo: false
dist: bionic
addons:
apt:
packages:
- ffmpeg
- libudev-dev
- libavformat-dev
- libavcodec-dev
@@ -11,22 +11,35 @@ addons:
- libswscale-dev
- libswresample-dev
- libavfilter-dev
matrix:
sources:
- sourceline: ppa:savoury1/ffmpeg4
- sourceline: ppa:savoury1/multimedia
python:
- "3.7.1"
- "3.8"
env:
- TOX_ARGS="-- --test-group-count 4 --test-group 1"
- TOX_ARGS="-- --test-group-count 4 --test-group 2"
- TOX_ARGS="-- --test-group-count 4 --test-group 3"
- TOX_ARGS="-- --test-group-count 4 --test-group 4"
jobs:
fast_finish: true
include:
- python: "3.7.0"
- python: "3.7.1"
env: TOXENV=lint
- python: "3.7.0"
env: TOXENV=pylint PYLINT_ARGS=--jobs=0 TRAVIS_WAIT=30
- python: "3.7.0"
- python: "3.7.1"
# PYLINT_ARGS=--jobs=0 disabled for now: https://github.com/PyCQA/pylint/issues/3584
env: TOXENV=pylint TRAVIS_WAIT=30
- python: "3.7.1"
env: TOXENV=typing
- python: "3.7.0"
env: TOXENV=py37
cache:
pip: true
directories:
- $HOME/.cache/pre-commit
install: pip install -U tox
install: pip install -U tox tox-travis
language: python
script: ${TRAVIS_WAIT:+travis_wait $TRAVIS_WAIT} tox --develop
script: ${TRAVIS_WAIT:+travis_wait $TRAVIS_WAIT} tox --develop ${TOX_ARGS-}

3
.vscode/extensions.json vendored Normal file
View File

@@ -0,0 +1,3 @@
{
"recommendations": ["esbenp.prettier-vscode", "ms-python.python"]
}

4
.vscode/tasks.json vendored
View File

@@ -76,7 +76,7 @@
{
"label": "Install all Requirements",
"type": "shell",
"command": "pip3 install -r requirements_all.txt -c homeassistant/package_constraints.txt",
"command": "pip3 install -r requirements_all.txt",
"group": {
"kind": "build",
"isDefault": true
@@ -90,7 +90,7 @@
{
"label": "Install all Test Requirements",
"type": "shell",
"command": "pip3 install -r requirements_test_all.txt -c homeassistant/package_constraints.txt",
"command": "pip3 install -r requirements_test_all.txt",
"group": {
"kind": "build",
"isDefault": true

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,13 +14,16 @@ homeassistant/scripts/check_config.py @kellerza
# Integrations
homeassistant/components/abode/* @shred86
homeassistant/components/accuweather/* @bieniu
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
@@ -32,34 +35,42 @@ 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/awair/* @ahayworth @danielsjf
homeassistant/components/aws/* @awarecan
homeassistant/components/axis/* @Kane610
homeassistant/components/azure_devops/* @timmo001
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/bmw_connected_drive/* @gerard33
homeassistant/components/bmp280/* @belidzs
homeassistant/components/bmw_connected_drive/* @gerard33 @rikroe
homeassistant/components/bom/* @maddenp
homeassistant/components/braviatv/* @robbiet480
homeassistant/components/bond/* @prystupa
homeassistant/components/braviatv/* @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
@@ -68,6 +79,7 @@ homeassistant/components/cloudflare/* @ludeeus
homeassistant/components/comfoconnect/* @michaelarnauts
homeassistant/components/config/* @home-assistant/core
homeassistant/components/configurator/* @home-assistant/core
homeassistant/components/control4/* @lawtancool
homeassistant/components/conversation/* @home-assistant/core
homeassistant/components/coolmaster/* @OnFreund
homeassistant/components/coronavirus/* @home_assistant/core
@@ -75,30 +87,40 @@ 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/debugpy/* @frenck
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/dexcom/* @gagebenne
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/* @Robbie1221
homeassistant/components/dsmr_reader/* @depl0y
homeassistant/components/dunehd/* @bieniu
homeassistant/components/dwd_weather_warnings/* @runningman84 @stephan192 @Hummel95
homeassistant/components/dweet/* @fabaff
homeassistant/components/dynalite/* @ziv1234
homeassistant/components/dyson/* @etheralm
homeassistant/components/eafm/* @Jc2k
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/* @gwww @bdraco
homeassistant/components/elv/* @majuss
homeassistant/components/emby/* @mezz64
homeassistant/components/emoncms/* @borpin
homeassistant/components/emulated_kasa/* @kbickar
homeassistant/components/enigma2/* @fbradyirl
homeassistant/components/enocean/* @bdurrer
homeassistant/components/entur_public_transport/* @hfurubotten
@@ -113,21 +135,21 @@ homeassistant/components/ezviz/* @baqs
homeassistant/components/fastdotcom/* @rohankapoorcom
homeassistant/components/file/* @fabaff
homeassistant/components/filter/* @dgomes
homeassistant/components/fitbit/* @robbiet480
homeassistant/components/firmata/* @DaAwesomeP
homeassistant/components/fixer/* @fabaff
homeassistant/components/flick_electric/* @ZephireNZ
homeassistant/components/flo/* @dmulcahey
homeassistant/components/flock/* @fabaff
homeassistant/components/flume/* @ChrisMandich
homeassistant/components/flume/* @ChrisMandich @bdraco
homeassistant/components/flunearyou/* @bachya
homeassistant/components/fortigate/* @kifeo
homeassistant/components/forked_daapd/* @uvjustin
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/garmin_connect/* @cyberjunky
homeassistant/components/gdacs/* @exxamalte
homeassistant/components/gearbest/* @HerrHofrat
homeassistant/components/geniushub/* @zxdavb
homeassistant/components/geo_rss_events/* @exxamalte
homeassistant/components/geonetnz_quakes/* @exxamalte
@@ -135,18 +157,17 @@ 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
@@ -156,35 +177,46 @@ homeassistant/components/hikvisioncam/* @fbradyirl
homeassistant/components/hisense_aehw4a1/* @bannhead
homeassistant/components/history/* @home-assistant/core
homeassistant/components/hive/* @Rendili @KJonline
homeassistant/components/hlk_sw16/* @jameshilliard
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/hue/* @balloob @frenck
homeassistant/components/humidifier/* @home-assistant/core @Shulyaka
homeassistant/components/hunterdouglas_powerview/* @bdraco
homeassistant/components/hvv_departures/* @vigonotion
homeassistant/components/hydrawise/* @ptcryan
homeassistant/components/iammeter/* @lewei50
homeassistant/components/iaqualink/* @flz
homeassistant/components/icloud/* @Quentame
homeassistant/components/ign_sismologia/* @exxamalte
homeassistant/components/image/* @home-assistant/core
homeassistant/components/incomfort/* @zxdavb
homeassistant/components/influxdb/* @fabaff
homeassistant/components/influxdb/* @fabaff @mdegat01
homeassistant/components/input_boolean/* @home-assistant/core
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 @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
@@ -193,45 +225,49 @@ 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/knx/* @Julius2342 @farmio @marvin-w
homeassistant/components/kodi/* @OnFreund
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/local_ip/* @issacg
homeassistant/components/logger/* @home-assistant/core
homeassistant/components/logi_circle/* @evanjd
homeassistant/components/loopenergy/* @pavoni
homeassistant/components/lovelace/* @home-assistant/frontend
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/media_source/* @hunterjm
homeassistant/components/mediaroom/* @dgomes
homeassistant/components/melcloud/* @vilppuvuorinen
homeassistant/components/melissa/* @kennedyshead
homeassistant/components/met/* @danielhiversen
homeassistant/components/meteo_france/* @victorcerutti @oncleben31 @Quentame
homeassistant/components/met/* @danielhiversen @thimic
homeassistant/components/meteo_france/* @hacf-fr @oncleben31 @Quentame
homeassistant/components/meteoalarm/* @rolfberkenbosch
homeassistant/components/miflora/* @danielhiversen @ChristianKuehnel
homeassistant/components/metoffice/* @MrHarcombe
homeassistant/components/miflora/* @danielhiversen @ChristianKuehnel @basnijholt
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
@@ -241,16 +277,24 @@ 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/nightscout/* @marciogranzotto
homeassistant/components/nilu/* @hfurubotten
homeassistant/components/nissan_leaf/* @filcole
homeassistant/components/nmbs/* @thibmaek
homeassistant/components/no_ip/* @fabaff
homeassistant/components/noaa_tides/* @jdelaney72
homeassistant/components/notify/* @home-assistant/core
homeassistant/components/notify_events/* @matrozov @papajojo
homeassistant/components/notion/* @bachya
homeassistant/components/nsw_fuel_station/* @nickw444
homeassistant/components/nsw_rural_fire_service_feed/* @exxamalte
homeassistant/components/nuki/* @pvizeli
homeassistant/components/nuheat/* @bdraco
homeassistant/components/nuki/* @pschmitt @pvizeli
homeassistant/components/numato/* @clssn
homeassistant/components/nut/* @bdraco
homeassistant/components/nws/* @MatthewFlamm
homeassistant/components/nzbget/* @chriscla
homeassistant/components/obihai/* @dshokouhi
@@ -258,59 +302,79 @@ 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/openweathermap/* @fabaff @freekode
homeassistant/components/opnsense/* @mtreinish
homeassistant/components/orangepi_gpio/* @pascallj
homeassistant/components/oru/* @bvlaicu
homeassistant/components/ovo_energy/* @timmo001
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 @prystupa
homeassistant/components/point/* @fredrike
homeassistant/components/proxmoxve/* @k4ds3
homeassistant/components/poolsense/* @haemishkyd
homeassistant/components/powerwall/* @bdraco @jrester
homeassistant/components/progettihwsw/* @ardaseremet
homeassistant/components/prometheus/* @knyar
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 @jcalbert
homeassistant/components/rainmachine/* @bachya
homeassistant/components/random/* @fabaff
homeassistant/components/repetier/* @MTrab
homeassistant/components/rfxtrx/* @danielhiversen
homeassistant/components/rfxtrx/* @danielhiversen @elupus
homeassistant/components/ring/* @balloob
homeassistant/components/risco/* @OnFreund
homeassistant/components/rmvtransport/* @cgtobi
homeassistant/components/roku/* @ctalkington
homeassistant/components/roomba/* @pschmitt
homeassistant/components/roomba/* @pschmitt @cyr-ius @shenxn
homeassistant/components/roon/* @pavoni
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/sentry/* @dcramer @frenck
homeassistant/components/serial/* @fabaff
homeassistant/components/seven_segments/* @fabaff
homeassistant/components/seventeentrack/* @bachya
homeassistant/components/sharkiq/* @ajmarks
homeassistant/components/shell_command/* @home-assistant/core
homeassistant/components/shelly/* @balloob @bieniu
homeassistant/components/shiftr/* @fabaff
homeassistant/components/shodan/* @fabaff
homeassistant/components/sighthound/* @robmarkcole
@@ -318,8 +382,11 @@ homeassistant/components/signal_messenger/* @bbernhard
homeassistant/components/simplisafe/* @bachya
homeassistant/components/sinch/* @bendikrb
homeassistant/components/sisyphus/* @jkeljo
homeassistant/components/sky_hub/* @rogerselwyn
homeassistant/components/slide/* @ualex73
homeassistant/components/sma/* @kellerza
homeassistant/components/smappee/* @bsmappee
homeassistant/components/smart_meter_texas/* @grahamwetzler
homeassistant/components/smarthab/* @outadoc
homeassistant/components/smartthings/* @andrewsayre
homeassistant/components/smarty/* @z0mbieprocess
@@ -330,17 +397,19 @@ 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/speedtestdotnet/* @rohankapoorcom @engrbm87
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/stream/* @hunterjm @uvjustin
homeassistant/components/stt/* @pvizeli
homeassistant/components/suez_water/* @ooii
homeassistant/components/sun/* @Swamp-Ig
@@ -352,9 +421,11 @@ 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/tag/* @balloob @dmulcahey
homeassistant/components/tahoma/* @philklei
homeassistant/components/tankerkoenig/* @guillempages
homeassistant/components/tautulli/* @ludeeus
@@ -375,15 +446,16 @@ homeassistant/components/tplink/* @rytilahti
homeassistant/components/traccar/* @ludeeus
homeassistant/components/tradfri/* @ggravlingen
homeassistant/components/trafikverket_train/* @endor-force
homeassistant/components/trafikverket_weatherstation/* @endor-force
homeassistant/components/transmission/* @engrbm87 @JPHutchins
homeassistant/components/tts/* @pvizeli
homeassistant/components/tuya/* @ollo69
homeassistant/components/twentemilieu/* @frenck
homeassistant/components/twilio_call/* @robbiet480
homeassistant/components/twilio_sms/* @robbiet480
homeassistant/components/ubee/* @mzdrale
homeassistant/components/unifi/* @kane610
homeassistant/components/unifi/* @Kane610
homeassistant/components/unifiled/* @florisvdk
homeassistant/components/upc_connect/* @pvizeli
homeassistant/components/upb/* @gwww
homeassistant/components/upc_connect/* @pvizeli @fabaff
homeassistant/components/upcloud/* @scop
homeassistant/components/updater/* @home-assistant/core
homeassistant/components/upnp/* @StevenLooman
@@ -392,39 +464,43 @@ homeassistant/components/usgs_earthquakes_feed/* @exxamalte
homeassistant/components/utility_meter/* @dgomes
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/version/* @fabaff @ludeeus
homeassistant/components/vesync/* @markperdue @webdjoe @thegardenmonkey
homeassistant/components/vicare/* @oischinger
homeassistant/components/vilfo/* @ManneW
homeassistant/components/vivotek/* @HarlemSquirrel
homeassistant/components/vizio/* @raman325
homeassistant/components/vlc_telnet/* @rodripf
homeassistant/components/volkszaehler/* @fabaff
homeassistant/components/volumio/* @OnFreund
homeassistant/components/waqi/* @andrey-git
homeassistant/components/watson_tts/* @rutkai
homeassistant/components/weather/* @fabaff
homeassistant/components/webostv/* @bendavid
homeassistant/components/websocket_api/* @home-assistant/core
homeassistant/components/wemo/* @sqldiablo
homeassistant/components/wiffi/* @mampfes
homeassistant/components/wilight/* @leofig-rj
homeassistant/components/withings/* @vangorra
homeassistant/components/wled/* @frenck
homeassistant/components/wolflink/* @adamkrol93
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
homeassistant/components/xiaomi_miio/* @rytilahti @syssi
homeassistant/components/xiaomi_miio/* @rytilahti @syssi @starkillerOG
homeassistant/components/xiaomi_tv/* @simse
homeassistant/components/xmpp/* @fabaff @flowolf
homeassistant/components/yamaha_musiccast/* @jalmeroth
homeassistant/components/yandex_transport/* @rishatik92
homeassistant/components/yeelight/* @rytilahti @zewelor
homeassistant/components/yandex_transport/* @rishatik92 @devbis
homeassistant/components/yeelight/* @rytilahti @zewelor @shenxn
homeassistant/components/yeelightsunflower/* @lindsaymarkward
homeassistant/components/yessssms/* @flowolf
homeassistant/components/yi/* @bachya
homeassistant/components/yr/* @danielhiversen
homeassistant/components/zeroconf/* @robbiet480 @Kane610
homeassistant/components/zeroconf/* @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

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 \
&& 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,15 +18,15 @@ 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
# Install Python dependencies from requirements
COPY requirements_test.txt requirements_test_pre_commit.txt homeassistant/package_constraints.txt ./
RUN pip3 install -r requirements_test.txt -c package_constraints.txt \
&& rm -f requirements_test.txt package_constraints.txt requirements_test_pre_commit.txt
COPY requirements_test.txt requirements_test_pre_commit.txt ./
COPY homeassistant/package_constraints.txt homeassistant/package_constraints.txt
RUN pip3 install -r requirements_test.txt \
&& rm -rf requirements_test.txt requirements_test_pre_commit.txt homeassistant/
# Set the default shell to bash instead of sh
ENV SHELL /bin/bash

View File

@@ -4,9 +4,9 @@ trigger:
batch: true
branches:
include:
- rc
- dev
- master
- rc
- dev
- master
pr:
- rc
- dev
@@ -14,188 +14,223 @@ pr:
resources:
containers:
- 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: '37'
- 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
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
- 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'
- 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
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
- script: |
. venv/bin/activate
pre-commit run black --all-files --show-diff-on-failure
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:
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
- 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
pip install -r requirements_test.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 -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
- script: |
. venv/bin/activate
pre-commit run mypy --all-files
displayName: 'Run mypy'
. venv/bin/activate
pip install -e . -r requirements_test.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.9'
value: '7.2.0'
- group: docker
- group: github
- group: twine
@@ -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 \

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.13.0-3.8-alpine3.12'
resources:
repositories:
- repository: azure
@@ -30,10 +29,32 @@ 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;gammu-dev'
builderApk: 'build-base;cmake;git;linux-headers;bluez-dev;libffi-dev;openssl-dev;glib-dev;eudev-dev;libxml2-dev;libxslt-dev'
builderPip: 'Cython;numpy'
skipBinary: 'aiohttp'
wheelsRequirement: 'requirements.txt'
wheelsRequirementDiff: 'requirements_diff.txt'
wheelsConstraint: 'homeassistant/package_constraints.txt'
jobName: 'Wheels_Core'
preBuild:
- script: |
if [[ "$(Build.Reason)" =~ (Schedule|Manual) ]]; then
exit 0
else
curl -s -o requirements_diff.txt https://raw.githubusercontent.com/home-assistant/core/master/requirements.txt
fi
displayName: 'Prepare requirements files for Home Assistant Core wheels'
- template: templates/azp-job-wheels.yaml@azure
parameters:
builderVersion: '$(versionWheels)'
builderApk: 'build-base;cmake;git;linux-headers;libexecinfo-dev;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;scikit-build'
builderEnvFile: true
skipBinary: 'aiohttp'
wheelsRequirement: 'requirements_wheels.txt'
wheelsRequirementDiff: 'requirements_diff.txt'
wheelsConstraint: 'homeassistant/package_constraints.txt'
jobName: 'Wheels_Integrations'
preBuild:
- script: |
cp requirements_all.txt requirements_wheels.txt
@@ -69,9 +90,11 @@ jobs:
sed -i "s|# py_noaa|py_noaa|g" ${requirement_file}
sed -i "s|# bme680|bme680|g" ${requirement_file}
sed -i "s|# python-gammu|python-gammu|g" ${requirement_file}
if [[ "$(buildArch)" =~ arm ]]; then
sed -i "s|# VL53L1X|VL53L1X|g" ${requirement_file}
fi
done
displayName: 'Prepare requirements files for Hass.io'
# Write env for build settings
(
echo "GRPC_BUILD_WITH_BORING_SSL_ASM="
echo "GRPC_PYTHON_BUILD_SYSTEM_OPENSSL=1"
) > .env_file
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:8.4.0",
"armhf": "homeassistant/armhf-homeassistant-base:8.4.0",
"armv7": "homeassistant/armv7-homeassistant-base:8.4.0",
"amd64": "homeassistant/amd64-homeassistant-base:8.4.0",
"i386": "homeassistant/i386-homeassistant-base:8.4.0"
},
"labels": {
"io.hass.type": "core"
},
"version_tag": true
}

View File

@@ -6,14 +6,4 @@ coverage:
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
layout: reach
branches:
- master
- !dev
comment: false

View File

@@ -8,19 +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:
@@ -29,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.
@@ -23,25 +22,26 @@ import sys
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,6 +1,5 @@
"""Start Home Assistant."""
import argparse
import asyncio
import os
import platform
import subprocess
@@ -11,39 +10,19 @@ from typing import List
from homeassistant.const import REQUIRED_PYTHON_VER, RESTART_EXIT_CODE, __version__
def set_loop() -> None:
"""Attempt to use different loop."""
from asyncio.events import BaseDefaultEventLoopPolicy
if sys.platform == "win32":
if hasattr(asyncio, "WindowsProactorEventLoopPolicy"):
# pylint: disable=no-member
policy = asyncio.WindowsProactorEventLoopPolicy()
else:
class ProactorPolicy(BaseDefaultEventLoopPolicy):
"""Event loop policy to create proactor loops."""
_loop_factory = asyncio.ProactorEventLoop
policy = ProactorPolicy()
asyncio.set_event_loop_policy(policy)
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")
@@ -77,6 +56,7 @@ def ensure_config_path(config_dir: str) -> None:
def get_arguments() -> argparse.Namespace:
"""Get parsed passed in arguments."""
# pylint: disable=import-outside-toplevel
import homeassistant.config as config_util
parser = argparse.ArgumentParser(
@@ -164,7 +144,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()
@@ -177,7 +157,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
@@ -214,7 +194,8 @@ 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.
"""
from fcntl import fcntl, F_GETFD, F_SETFD, FD_CLOEXEC
# pylint: disable=import-outside-toplevel
from fcntl import F_GETFD, F_SETFD, FD_CLOEXEC, fcntl
for _fd in range(min_fd, max_fd):
try:
@@ -235,31 +216,6 @@ def cmdline() -> List[str]:
return [arg for arg in sys.argv if arg != "--daemon"]
async def setup_and_run_hass(config_dir: str, args: argparse.Namespace) -> int:
"""Set up Home Assistant and run."""
from homeassistant import bootstrap
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 hass is None:
return 1
if args.open_ui and hass.config.api is not None:
import webbrowser
hass.add_job(webbrowser.open, hass.config.api.base_url)
return await hass.async_run()
def try_to_restart() -> None:
"""Attempt to clean up state and start a new Home Assistant instance."""
# Things should be mostly shut down already at this point, now just try
@@ -306,8 +262,6 @@ def main() -> int:
"""Start Home Assistant."""
validate_python()
set_loop()
# Run a simple daemon runner process on Windows to handle restarts
if os.name == "nt" and "--runner" not in sys.argv:
nt_args = cmdline() + ["--runner"]
@@ -324,6 +278,7 @@ 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)
@@ -339,7 +294,22 @@ def main() -> int:
if args.pid_file:
write_pid(args.pid_file)
exit_code = asyncio.run(setup_and_run_hass(config_dir, args))
# pylint: disable=import-outside-toplevel
from homeassistant import runner
runtime_conf = runner.RuntimeConfig(
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,
debug=args.debug,
open_ui=args.open_ui,
)
exit_code = runner.run(runtime_conf)
if exit_code == RESTART_EXIT_CODE and not args.runner:
try_to_restart()

View File

@@ -215,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():
@@ -310,9 +312,7 @@ class AuthManager:
if provider is not None and hasattr(provider, "async_will_remove_credentials"):
# https://github.com/python/mypy/issues/1424
await provider.async_will_remove_credentials( # type: ignore
credentials
)
await provider.async_will_remove_credentials(credentials) # type: ignore
await self._store.async_remove_credentials(credentials)

View File

@@ -150,7 +150,9 @@ async def _load_mfa_module(hass: HomeAssistant, module_name: str) -> types.Modul
module = importlib.import_module(module_path)
except ImportError as err:
_LOGGER.error("Unable to load mfa module %s: %s", module_name, err)
raise HomeAssistantError(f"Unable to load mfa module {module_name}: {err}")
raise HomeAssistantError(
f"Unable to load mfa module {module_name}: {err}"
) from err
if hass.config.skip_pip or not hasattr(module, "REQUIREMENTS"):
return module

View File

@@ -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))
@@ -77,10 +77,10 @@ def _verify_otp(secret: str, otp: str, count: int) -> bool:
class NotifySetting:
"""Store notify setting for one user."""
secret = attr.ib(type=str, factory=_generate_secret) # not persistent
counter = attr.ib(type=int, factory=_generate_random) # not persistent
notify_service = attr.ib(type=Optional[str], default=None)
target = attr.ib(type=Optional[str], default=None)
secret: str = attr.ib(factory=_generate_secret) # not persistent
counter: int = attr.ib(factory=_generate_random) # not persistent
notify_service: Optional[str] = attr.ib(default=None)
target: Optional[str] = attr.ib(default=None)
_UsersDict = Dict[str, NotifySetting]
@@ -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

View File

@@ -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()
@@ -117,7 +117,8 @@ class TotpAuthModule(MultiFactorAuthModule):
Mfa module should extend SetupFlow
"""
user = await self.hass.auth.async_get_user(user_id) # type: ignore
user = await self.hass.auth.async_get_user(user_id)
assert user is not None
return TotpSetupFlow(self, self.input_schema, user)
async def async_setup_user(self, user_id: str, setup_data: Any) -> str:
@@ -160,7 +161,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 +196,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

@@ -20,35 +20,34 @@ TOKEN_TYPE_LONG_LIVED_ACCESS_TOKEN = "long_lived_access_token"
class Group:
"""A group."""
name = attr.ib(type=Optional[str])
policy = attr.ib(type=perm_mdl.PolicyType)
id = attr.ib(type=str, factory=lambda: uuid.uuid4().hex)
system_generated = attr.ib(type=bool, default=False)
name: Optional[str] = attr.ib()
policy: perm_mdl.PolicyType = attr.ib()
id: str = attr.ib(factory=lambda: uuid.uuid4().hex)
system_generated: bool = attr.ib(default=False)
@attr.s(slots=True)
class User:
"""A user."""
name = attr.ib(type=Optional[str])
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)
name: Optional[str] = attr.ib()
perm_lookup: perm_mdl.PermissionLookup = attr.ib(eq=False, order=False)
id: str = attr.ib(factory=lambda: uuid.uuid4().hex)
is_owner: bool = attr.ib(default=False)
is_active: bool = attr.ib(default=False)
system_generated: bool = attr.ib(default=False)
groups = attr.ib(type=List[Group], factory=list, eq=False, order=False)
groups: List[Group] = attr.ib(factory=list, eq=False, order=False)
# List of credentials of a user.
credentials = attr.ib(type=List["Credentials"], factory=list, eq=False, order=False)
credentials: List["Credentials"] = attr.ib(factory=list, eq=False, order=False)
# Tokens associated with a user.
refresh_tokens = attr.ib(
type=Dict[str, "RefreshToken"], factory=dict, eq=False, order=False
refresh_tokens: Dict[str, "RefreshToken"] = attr.ib(
factory=dict, eq=False, order=False
)
_permissions = attr.ib(
type=Optional[perm_mdl.PolicyPermissions],
_permissions: Optional[perm_mdl.PolicyPermissions] = attr.ib(
init=False,
eq=False,
order=False,
@@ -88,39 +87,42 @@ class User:
class RefreshToken:
"""RefreshToken for a user to grant new access tokens."""
user = attr.ib(type=User)
client_id = attr.ib(type=Optional[str])
access_token_expiration = attr.ib(type=timedelta)
client_name = attr.ib(type=Optional[str], default=None)
client_icon = attr.ib(type=Optional[str], default=None)
token_type = attr.ib(
type=str,
user: User = attr.ib()
client_id: Optional[str] = attr.ib()
access_token_expiration: timedelta = attr.ib()
client_name: Optional[str] = attr.ib(default=None)
client_icon: Optional[str] = attr.ib(default=None)
token_type: str = attr.ib(
default=TOKEN_TYPE_NORMAL,
validator=attr.validators.in_(
(TOKEN_TYPE_NORMAL, TOKEN_TYPE_SYSTEM, TOKEN_TYPE_LONG_LIVED_ACCESS_TOKEN)
),
)
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: secrets.token_hex(64))
jwt_key = attr.ib(type=str, factory=lambda: secrets.token_hex(64))
id: str = attr.ib(factory=lambda: uuid.uuid4().hex)
created_at: datetime = attr.ib(factory=dt_util.utcnow)
token: str = attr.ib(factory=lambda: secrets.token_hex(64))
jwt_key: str = attr.ib(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)
last_used_at: Optional[datetime] = attr.ib(default=None)
last_used_ip: Optional[str] = attr.ib(default=None)
@attr.s(slots=True)
class Credentials:
"""Credentials for a user on an auth provider."""
auth_provider_type = attr.ib(type=str)
auth_provider_id = attr.ib(type=Optional[str])
auth_provider_type: str = attr.ib()
auth_provider_id: Optional[str] = attr.ib()
# Allow the auth provider to store data to represent their auth.
data = attr.ib(type=dict)
data: dict = attr.ib()
id = attr.ib(type=str, factory=lambda: uuid.uuid4().hex)
is_new = attr.ib(type=bool, default=True)
id: str = attr.ib(factory=lambda: uuid.uuid4().hex)
is_new: bool = attr.ib(default=True)
UserMeta = NamedTuple("UserMeta", [("name", Optional[str]), ("is_active", bool)])
class UserMeta(NamedTuple):
"""User metadata."""
name: Optional[str]
is_active: bool

View File

@@ -72,4 +72,4 @@ class _OwnerPermissions(AbstractPermissions):
return lambda entity_id, key: True
OwnerPermissions = _OwnerPermissions() # pylint: disable=invalid-name
OwnerPermissions = _OwnerPermissions()

View File

@@ -5,13 +5,15 @@ import attr
if TYPE_CHECKING:
# pylint: disable=unused-import
from homeassistant.helpers import entity_registry as ent_reg # noqa: F401
from homeassistant.helpers import device_registry as dev_reg # noqa: F401
from homeassistant.helpers import ( # noqa: F401
device_registry as dev_reg,
entity_registry as ent_reg,
)
@attr.s(slots=True)
class PermissionLookup:
"""Class to hold data for permission lookups."""
entity_registry = attr.ib(type="ent_reg.EntityRegistry")
device_registry = attr.ib(type="dev_reg.DeviceRegistry")
entity_registry: "ent_reg.EntityRegistry" = attr.ib()
device_registry: "dev_reg.DeviceRegistry" = attr.ib()

View File

@@ -116,7 +116,6 @@ class AuthProvider:
async def async_initialize(self) -> None:
"""Initialize the auth provider."""
pass
async def auth_provider_from_config(
@@ -147,7 +146,9 @@ async def load_auth_provider_module(
module = importlib.import_module(f"homeassistant.auth.providers.{provider}")
except ImportError as err:
_LOGGER.error("Unable to load auth provider %s: %s", provider, err)
raise HomeAssistantError(f"Unable to load auth provider {provider}: {err}")
raise HomeAssistantError(
f"Unable to load auth provider {provider}: {err}"
) from err
if hass.config.skip_pip or not hasattr(module, "REQUIREMENTS"):
return module
@@ -176,7 +177,7 @@ class LoginFlow(data_entry_flow.FlowHandler):
"""Initialize the login flow."""
self._auth_provider = auth_provider
self._auth_module_id: Optional[str] = None
self._auth_manager = auth_provider.hass.auth # type: ignore
self._auth_manager = auth_provider.hass.auth
self.available_mfa_modules: Dict[str, str] = {}
self.created_at = dt_util.utcnow()
self.invalid_mfa_times = 0
@@ -225,6 +226,7 @@ class LoginFlow(data_entry_flow.FlowHandler):
errors = {}
assert self._auth_module_id is not None
auth_module = self._auth_manager.get_auth_mfa_module(self._auth_module_id)
if auth_module is None:
# Given an invalid input to async_step_select_mfa_module
@@ -235,7 +237,9 @@ class LoginFlow(data_entry_flow.FlowHandler):
auth_module, "async_initialize_login_mfa_step"
):
try:
await auth_module.async_initialize_login_mfa_step(self.user.id)
await auth_module.async_initialize_login_mfa_step( # type: ignore
self.user.id
)
except HomeAssistantError:
_LOGGER.exception("Error initializing MFA step")
return self.async_abort(reason="unknown_error")

View File

@@ -61,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,
@@ -72,11 +71,11 @@ class CommandLineAuthProvider(AuthProvider):
except OSError as err:
# happens when command doesn't exist or permission is denied
_LOGGER.error("Error while authenticating %r: %s", username, err)
raise InvalidAuthError
raise InvalidAuthError from err
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

@@ -30,6 +30,16 @@ def _disallow_id(conf: Dict[str, Any]) -> Dict[str, Any]:
CONFIG_SCHEMA = vol.All(AUTH_PROVIDER_SCHEMA, _disallow_id)
@callback
def async_get_provider(hass: HomeAssistant) -> "HassAuthProvider":
"""Get the provider."""
for prv in hass.auth.auth_providers:
if prv.type == "homeassistant":
return cast(HassAuthProvider, prv)
raise RuntimeError("Provider not found")
class InvalidAuth(HomeAssistantError):
"""Raised when we encounter invalid authentication."""
@@ -138,8 +148,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))
@@ -234,6 +245,35 @@ class HassAuthProvider(AuthProvider):
self.data.validate_login, username, password
)
async def async_add_auth(self, username: str, password: str) -> None:
"""Call add_auth on data."""
if self.data is None:
await self.async_initialize()
assert self.data is not None
await self.hass.async_add_executor_job(self.data.add_auth, username, password)
await self.data.async_save()
async def async_remove_auth(self, username: str) -> None:
"""Call remove_auth on data."""
if self.data is None:
await self.async_initialize()
assert self.data is not None
self.data.async_remove_auth(username)
await self.data.async_save()
async def async_change_password(self, username: str, new_password: str) -> None:
"""Call change_password on data."""
if self.data is None:
await self.async_initialize()
assert self.data is not None
await self.hass.async_add_executor_job(
self.data.change_password, username, new_password
)
await self.data.async_save()
async def async_get_or_create_credentials(
self, flow_result: Dict[str, str]
) -> Credentials:

View File

@@ -190,7 +190,7 @@ class TrustedNetworksLoginFlow(LoginFlow):
).async_validate_access(self._ip_address)
except InvalidAuthError:
return self.async_abort(reason="not_whitelisted")
return self.async_abort(reason="not_allowed")
if user_input is not None:
return await self.async_finish(user_input)

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) # type: ignore
# 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,30 +1,40 @@
"""Provide methods to bootstrap a Home Assistant instance."""
import asyncio
import contextlib
from datetime import datetime
import logging
import logging.handlers
import os
import sys
import threading
from time import monotonic
from typing import Any, Dict, Optional, Set
from typing import TYPE_CHECKING, Any, Dict, Optional, Set
from async_timeout import timeout
import voluptuous as vol
import yarl
from homeassistant import config as conf_util, config_entries, core, loader
from homeassistant.components import http
from homeassistant.const import (
EVENT_HOMEASSISTANT_CLOSE,
EVENT_HOMEASSISTANT_STOP,
REQUIRED_NEXT_PYTHON_DATE,
REQUIRED_NEXT_PYTHON_VER,
)
from homeassistant.exceptions import HomeAssistantError
from homeassistant.setup import DATA_SETUP, async_setup_component
from homeassistant.util.logging import AsyncHandler
from homeassistant.helpers.typing import ConfigType
from homeassistant.setup import (
DATA_SETUP,
DATA_SETUP_STARTED,
async_set_domains_to_be_loaded,
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
if TYPE_CHECKING:
from .runner import RuntimeConfig
_LOGGER = logging.getLogger(__name__)
ERROR_LOG_FILENAME = "home-assistant.log"
@@ -32,37 +42,55 @@ ERROR_LOG_FILENAME = "home-assistant.log"
# hass.data key for logging information.
DATA_LOGGING = "logging"
DEBUGGER_INTEGRATIONS = {"ptvsd"}
LOG_SLOW_STARTUP_INTERVAL = 60
STAGE_1_TIMEOUT = 120
STAGE_2_TIMEOUT = 300
WRAP_UP_TIMEOUT = 300
COOLDOWN_TIME = 60
DEBUGGER_INTEGRATIONS = {"debugpy", "ptvsd"}
CORE_INTEGRATIONS = ("homeassistant", "persistent_notification")
LOGGING_INTEGRATIONS = {"logger", "system_log", "sentry"}
STAGE_1_INTEGRATIONS = {
LOGGING_INTEGRATIONS = {
# Set log levels
"logger",
# Error logging
"system_log",
"sentry",
# To record data
"recorder",
}
STAGE_1_INTEGRATIONS = {
# To make sure we forward data to other instances
"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",
}
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,
runtime_config: "RuntimeConfig",
) -> Optional[core.HomeAssistant]:
"""Set up Home Assistant."""
hass = core.HomeAssistant()
hass.config.config_dir = config_dir
hass.config.config_dir = runtime_config.config_dir
async_enable_logging(hass, verbose, log_rotate_days, log_file, log_no_color)
async_enable_logging(
hass,
runtime_config.verbose,
runtime_config.log_rotate_days,
runtime_config.log_file,
runtime_config.log_no_color,
)
hass.config.skip_pip = skip_pip
if skip_pip:
hass.config.skip_pip = runtime_config.skip_pip
if runtime_config.skip_pip:
_LOGGER.warning(
"Skipping pip installation of required modules. This may cause issues"
)
@@ -71,10 +99,11 @@ async def async_setup_hass(
_LOGGER.error("Error getting configuration path")
return None
_LOGGER.info("Config directory: %s", config_dir)
_LOGGER.info("Config directory: %s", runtime_config.config_dir)
config_dict = None
basic_setup_success = False
safe_mode = runtime_config.safe_mode
if not safe_mode:
await hass.async_add_executor_job(conf_util.process_ha_config_upgrade, hass)
@@ -83,11 +112,12 @@ async def async_setup_hass(
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,
"Failed to parse configuration.yaml: %s. Activating safe mode",
err,
)
else:
if not is_virtual_env():
await async_mount_local_lib_path(config_dir)
await async_mount_local_lib_path(runtime_config.config_dir)
basic_setup_success = (
await async_from_config_dict(config_dict, hass) is not None
@@ -112,12 +142,17 @@ async def async_setup_hass(
hass.async_track_tasks()
hass.bus.async_fire(EVENT_HOMEASSISTANT_STOP, {})
with contextlib.suppress(asyncio.TimeoutError):
async with timeout(10):
async with hass.timeout.async_timeout(10):
await hass.async_block_till_done()
safe_mode = True
old_config = hass.config
hass = core.HomeAssistant()
hass.config.config_dir = config_dir
hass.config.skip_pip = old_config.skip_pip
hass.config.internal_url = old_config.internal_url
hass.config.external_url = old_config.external_url
hass.config.config_dir = old_config.config_dir
if safe_mode:
_LOGGER.info("Starting in safe mode")
@@ -126,14 +161,38 @@ async def async_setup_hass(
http_conf = (await http.async_get_last_config(hass)) or {}
await async_from_config_dict(
{"safe_mode": {}, "http": http_conf}, hass,
{"safe_mode": {}, "http": http_conf},
hass,
)
if runtime_config.open_ui:
hass.add_job(open_hass_ui, hass)
return hass
def open_hass_ui(hass: core.HomeAssistant) -> None:
"""Open the UI."""
import webbrowser # pylint: disable=import-outside-toplevel
if hass.config.api is None or "frontend" not in hass.config.components:
_LOGGER.warning("Cannot launch the UI because frontend not loaded")
return
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)
)
if not webbrowser.open(url):
_LOGGER.warning(
"Unable to open the Home Assistant UI in a browser. Open it yourself at %s",
url,
)
async def async_from_config_dict(
config: Dict[str, Any], hass: core.HomeAssistant
config: ConfigType, hass: core.HomeAssistant
) -> Optional[core.HomeAssistant]:
"""Try to configure Home Assistant from a configuration dictionary.
@@ -214,6 +273,7 @@ def async_enable_logging(
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
@@ -247,6 +307,16 @@ 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
)
if sys.version_info[:2] >= (3, 8):
threading.excepthook = lambda args: logging.getLogger(None).exception(
"Uncaught thread exception",
exc_info=(args.exc_type, args.exc_value, args.exc_traceback),
)
# 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)
@@ -263,8 +333,10 @@ def async_enable_logging(
):
if log_rotate_days:
err_handler: logging.FileHandler = logging.handlers.TimedRotatingFileHandler(
err_log_path, when="midnight", backupCount=log_rotate_days
err_handler: logging.FileHandler = (
logging.handlers.TimedRotatingFileHandler(
err_log_path, when="midnight", backupCount=log_rotate_days
)
)
else:
err_handler = logging.FileHandler(err_log_path, mode="w", delay=True)
@@ -272,24 +344,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.
@@ -307,7 +372,7 @@ 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
if not hass.config.safe_mode:
@@ -320,101 +385,169 @@ def _get_domains(hass: core.HomeAssistant, config: Dict[str, Any]) -> Set[str]:
return domains
async def _async_log_pending_setups(
domains: Set[str], setup_started: Dict[str, datetime]
) -> 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.warning(
"Waiting on integrations to complete setup: %s",
", ".join(remaining),
)
async def async_setup_multi_components(
hass: core.HomeAssistant,
domains: Set[str],
config: Dict[str, Any],
setup_started: Dict[str, datetime],
) -> None:
"""Set up multiple domains. Log on failure."""
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(domains, setup_started))
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()
assert exception is not None
_LOGGER.error(
"Error setting up integration %s - received exception",
domain,
exc_info=(type(exception), exception, exception.__traceback__),
)
async def _async_set_up_integrations(
hass: core.HomeAssistant, config: Dict[str, Any]
) -> None:
"""Set up all the integrations."""
domains = _get_domains(hass, config)
setup_started = hass.data[DATA_SETUP_STARTED] = {}
domains_to_setup = _get_domains(hass, config)
# Resolve all dependencies so we know all integrations
# that will have to be loaded and start rightaway
integration_cache: Dict[str, loader.Integration] = {}
to_resolve = domains_to_setup
while to_resolve:
old_to_resolve = to_resolve
to_resolve = set()
integrations_to_process = [
int_or_exc
for int_or_exc in await asyncio.gather(
*(
loader.async_get_integration(hass, domain)
for domain in old_to_resolve
),
return_exceptions=True,
)
if isinstance(int_or_exc, loader.Integration)
]
resolve_dependencies_tasks = [
itg.resolve_dependencies()
for itg in integrations_to_process
if not itg.all_dependencies_resolved
]
if resolve_dependencies_tasks:
await asyncio.gather(*resolve_dependencies_tasks)
for itg in integrations_to_process:
integration_cache[itg.domain] = itg
for dep in itg.all_dependencies:
if dep in domains_to_setup:
continue
domains_to_setup.add(dep)
to_resolve.add(dep)
_LOGGER.info("Domains to be set up: %s", domains_to_setup)
logging_domains = domains_to_setup & LOGGING_INTEGRATIONS
# Load logging as soon as possible
if logging_domains:
_LOGGER.info("Setting up logging: %s", logging_domains)
await async_setup_multi_components(hass, logging_domains, config, setup_started)
# Start up debuggers. Start these first in case they want to wait.
debuggers = domains & DEBUGGER_INTEGRATIONS
debuggers = domains_to_setup & DEBUGGER_INTEGRATIONS
if debuggers:
_LOGGER.debug("Starting up debuggers %s", debuggers)
await asyncio.gather(
*(async_setup_component(hass, domain, config) for domain in debuggers)
)
domains -= DEBUGGER_INTEGRATIONS
_LOGGER.debug("Setting up debuggers: %s", debuggers)
await async_setup_multi_components(hass, debuggers, config, setup_started)
# Resolve all dependencies of all components so we can find the logging
# and integrations that need faster initialization.
resolved_domains_task = asyncio.gather(
*(loader.async_component_dependencies(hass, domain) for domain in domains),
return_exceptions=True,
)
# calculate what components to setup in what stage
stage_1_domains = set()
# Finish resolving domains
for dep_domains in await resolved_domains_task:
# Result is either a set or an exception. We ignore exceptions
# It will be properly handled during setup of the domain.
if isinstance(dep_domains, set):
domains.update(dep_domains)
# Find all dependencies of any dependency of any stage 1 integration that
# we plan on loading and promote them to stage 1
deps_promotion = STAGE_1_INTEGRATIONS
while deps_promotion:
old_deps_promotion = deps_promotion
deps_promotion = set()
# setup components
logging_domains = domains & LOGGING_INTEGRATIONS
stage_1_domains = domains & STAGE_1_INTEGRATIONS
stage_2_domains = domains - logging_domains - stage_1_domains
for domain in old_deps_promotion:
if domain not in domains_to_setup or domain in stage_1_domains:
continue
if logging_domains:
_LOGGER.info("Setting up %s", logging_domains)
stage_1_domains.add(domain)
await asyncio.gather(
*(async_setup_component(hass, domain, config) for domain in logging_domains)
)
dep_itg = integration_cache.get(domain)
if dep_itg is None:
continue
deps_promotion.update(dep_itg.all_dependencies)
stage_2_domains = domains_to_setup - logging_domains - debuggers - stage_1_domains
# Kick off loading the registries. They don't need to be awaited.
asyncio.gather(
hass.helpers.device_registry.async_get_registry(),
hass.helpers.entity_registry.async_get_registry(),
hass.helpers.area_registry.async_get_registry(),
)
asyncio.create_task(hass.helpers.device_registry.async_get_registry())
asyncio.create_task(hass.helpers.entity_registry.async_get_registry())
asyncio.create_task(hass.helpers.area_registry.async_get_registry())
# Start setup
if stage_1_domains:
await asyncio.gather(
*(async_setup_component(hass, domain, config) for domain in stage_1_domains)
)
_LOGGER.info("Setting up stage 1: %s", stage_1_domains)
try:
async with hass.timeout.async_timeout(
STAGE_1_TIMEOUT, cool_down=COOLDOWN_TIME
):
await async_setup_multi_components(
hass, stage_1_domains, config, setup_started
)
except asyncio.TimeoutError:
_LOGGER.warning("Setup timed out for stage 1 - moving forward")
# Load all integrations
after_dependencies: Dict[str, Set[str]] = {}
# Enables after dependencies
async_set_domains_to_be_loaded(hass, stage_1_domains | stage_2_domains)
for int_or_exc in await asyncio.gather(
*(loader.async_get_integration(hass, domain) for domain in stage_2_domains),
return_exceptions=True,
):
# Exceptions are handled in async_setup_component.
if isinstance(int_or_exc, loader.Integration) and int_or_exc.after_dependencies:
after_dependencies[int_or_exc.domain] = set(int_or_exc.after_dependencies)
last_load = None
while stage_2_domains:
domains_to_load = set()
for domain in stage_2_domains:
after_deps = after_dependencies.get(domain)
# Load if integration has no after_dependencies or they are
# all loaded
if not after_deps or not after_deps - hass.config.components:
domains_to_load.add(domain)
if not domains_to_load or domains_to_load == last_load:
break
_LOGGER.debug("Setting up %s", domains_to_load)
await asyncio.gather(
*(async_setup_component(hass, domain, config) for domain in domains_to_load)
)
last_load = domains_to_load
stage_2_domains -= domains_to_load
# These are stage 2 domains that never have their after_dependencies
# satisfied.
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)
)
_LOGGER.info("Setting up stage 2: %s", stage_2_domains)
try:
async with hass.timeout.async_timeout(
STAGE_2_TIMEOUT, cool_down=COOLDOWN_TIME
):
await async_setup_multi_components(
hass, stage_2_domains, config, setup_started
)
except asyncio.TimeoutError:
_LOGGER.warning("Setup timed out for stage 2 - moving forward")
# Wrap up startup
await hass.async_block_till_done()
_LOGGER.debug("Waiting for startup to wrap up")
try:
async with hass.timeout.async_timeout(WRAP_UP_TIMEOUT, cool_down=COOLDOWN_TIME):
await hass.async_block_till_done()
except asyncio.TimeoutError:
_LOGGER.warning("Setup timed out for bootstrap - moving forward")

View File

@@ -37,7 +37,7 @@ def is_on(hass, entity_id=None):
continue
if not hasattr(component, "is_on"):
_LOGGER.warning("Integration %s has no is_on method.", domain)
_LOGGER.warning("Integration %s has no is_on method", domain)
continue
if component.is_on(ent_id):

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": "Introducci\u00f3 de la 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": "Complete su informaci\u00f3n de inicio de sesi\u00f3n de Abode"
}
},
"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": "Csak egyetlen Abode konfigur\u00e1ci\u00f3 enged\u00e9lyezett."
},
"error": {
"connection_error": "Nem lehet csatlakozni az Abode-hez.",
"identifier_exists": "Fi\u00f3k m\u00e1r regisztr\u00e1lva van",
"invalid_credentials": "\u00c9rv\u00e9nytelen hiteles\u00edt\u0151 adatok"
},
"step": {
"user": {
"data": {
"password": "Jelsz\u00f3",
"username": "Email c\u00edm"
},
"title": "T\u00f6ltse ki az Abode bejelentkez\u00e9si adatait"
}
},
"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 jest 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": "Endast en enda konfiguration av Abode \u00e4r till\u00e5ten."
},
"error": {
"connection_error": "Det gick inte att ansluta till Abode.",
"identifier_exists": "Kontot \u00e4r redan registrerat.",
"invalid_credentials": "Ogiltiga autentiseringsuppgifter."
},
"step": {
"user": {
"data": {
"password": "L\u00f6senord",
"username": "E-postadress"
},
"title": "Fyll i din inloggningsinformation f\u00f6r 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

@@ -19,6 +19,7 @@ from homeassistant.const import (
CONF_USERNAME,
EVENT_HOMEASSISTANT_STOP,
)
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
@@ -119,7 +120,7 @@ async def async_setup_entry(hass, config_entry):
except (AbodeException, ConnectTimeout, HTTPError) as ex:
LOGGER.error("Unable to connect to Abode: %s", str(ex))
return False
raise ConfigEntryNotReady from ex
for platform in ABODE_PLATFORMS:
hass.async_create_task(
@@ -186,7 +187,7 @@ def setup_hass_services(hass):
def trigger_automation(call):
"""Trigger an Abode automation."""
entity_ids = call.data.get(ATTR_ENTITY_ID, None)
entity_ids = call.data.get(ATTR_ENTITY_ID)
target_entities = [
entity_id
@@ -260,10 +261,10 @@ def setup_abode_events(hass):
TIMELINE.AUTOMATION_GROUP,
TIMELINE.DISARM_GROUP,
TIMELINE.ARM_GROUP,
TIMELINE.ARM_FAULT_GROUP,
TIMELINE.TEST_GROUP,
TIMELINE.CAPTURE_GROUP,
TIMELINE.DEVICE_GROUP,
TIMELINE.AUTOMATION_EDIT_GROUP,
]
for event in events:
@@ -272,36 +273,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
@@ -340,29 +377,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."""
@@ -376,17 +397,9 @@ class AbodeAutomation(Entity):
@property
def device_state_attributes(self):
"""Return the state attributes."""
return {
ATTR_ATTRIBUTION: ATTRIBUTION,
"type": "CUE automation",
}
return {ATTR_ATTRIBUTION: ATTRIBUTION, "type": "CUE automation"}
@property
def unique_id(self):
"""Return a unique ID to use for this automation."""
return self._automation.automation_id
def _update_callback(self, device):
"""Update the automation state."""
self._automation.refresh()
self.schedule_update_ha_state()

View File

@@ -25,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

View File

@@ -1,7 +1,10 @@
"""Support for Abode Security System binary sensors."""
import abodepy.helpers.constants as CONST
from homeassistant.components.binary_sensor import BinarySensorDevice
from homeassistant.components.binary_sensor import (
DEVICE_CLASS_WINDOW,
BinarySensorEntity,
)
from . import AbodeDevice
from .const import DOMAIN
@@ -27,7 +30,7 @@ async def async_setup_entry(hass, config_entry, async_add_entities):
async_add_entities(entities)
class AbodeBinarySensor(AbodeDevice, BinarySensorDevice):
class AbodeBinarySensor(AbodeDevice, BinarySensorEntity):
"""A binary sensor implementation for Abode device."""
@property
@@ -38,4 +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

View File

@@ -41,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 = f"abode_camera_capture_{self.entity_id}"
async_dispatcher_connect(self.hass, signal, self.capture)
self.async_on_remove(async_dispatcher_connect(self.hass, signal, self.capture))
def capture(self):
"""Request a new image capture."""
@@ -82,8 +82,21 @@ class AbodeCamera(AbodeDevice, Camera):
return None
def turn_on(self):
"""Turn on camera."""
self._device.privacy_mode(False)
def turn_off(self):
"""Turn off camera."""
self._device.privacy_mode(True)
def _capture_callback(self, capture):
"""Update the image with the device then refresh device."""
self._device.update_image_location(capture)
self.get_image()
self.schedule_update_ha_state()
@property
def is_on(self):
"""Return true if on."""
return self._device.is_on

View File

@@ -5,7 +5,7 @@ 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 DEFAULT_CACHEDB, DOMAIN, LOGGER # pylint: disable=unused-import
@@ -46,7 +46,7 @@ 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:
if ex.errcode == HTTP_BAD_REQUEST:
return self._show_form({"base": "invalid_credentials"})
return self._show_form({"base": "connection_error"})

View File

@@ -1,7 +1,7 @@
"""Support for Abode Security System covers."""
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
@@ -19,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

View File

@@ -10,7 +10,7 @@ from homeassistant.components.light import (
SUPPORT_BRIGHTNESS,
SUPPORT_COLOR,
SUPPORT_COLOR_TEMP,
Light,
LightEntity,
)
from homeassistant.util.color import (
color_temperature_kelvin_to_mired,
@@ -33,7 +33,7 @@ async def async_setup_entry(hass, config_entry, async_add_entities):
async_add_entities(entities)
class AbodeLight(AbodeDevice, Light):
class AbodeLight(AbodeDevice, LightEntity):
"""Representation of an Abode light."""
def turn_on(self, **kwargs):

View File

@@ -1,7 +1,7 @@
"""Support for the Abode Security System locks."""
import abodepy.helpers.constants as CONST
from homeassistant.components.lock import LockDevice
from homeassistant.components.lock import LockEntity
from . import AbodeDevice
from .const import DOMAIN
@@ -19,7 +19,7 @@ async def async_setup_entry(hass, config_entry, async_add_entities):
async_add_entities(entities)
class AbodeLock(AbodeDevice, LockDevice):
class AbodeLock(AbodeDevice, LockEntity):
"""Representation of an Abode lock."""
def lock(self, **kwargs):

View File

@@ -3,7 +3,9 @@
"name": "Abode",
"config_flow": true,
"documentation": "https://www.home-assistant.io/integrations/abode",
"requirements": ["abodepy==0.18.1"],
"dependencies": [],
"codeowners": ["@shred86"]
"requirements": ["abodepy==1.1.0"],
"codeowners": ["@shred86"],
"homekit": {
"models": ["Abode", "Iota"]
}
}

Some files were not shown because too many files have changed in this diff Show More