Compare commits

...

924 Commits

Author SHA1 Message Date
Paulus Schoutsen
0ddc7d90a4 Merge pull request #46249 from home-assistant/rc 2021-02-09 00:28:15 +01:00
Paulus Schoutsen
6ec49c696c Bumped version to 2021.2.2 2021-02-08 22:37:01 +00:00
J. Nick Koston
c02870686a Handle empty mylink response at startup (#46241) 2021-02-08 22:36:54 +00:00
Álvaro Fernández Rojas
387301f024 Fix Tado Power and Link binary sensors (#46235)
Power and Link aren't converted from strings to booleans by python-tado, so we
need to properly parse before assigning the string value to binary sensors.

Fixes: 067f2d0098 ("Add tado zone binary sensors (#44576)")
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2021-02-08 22:36:53 +00:00
J. Nick Koston
384a5ae053 Ensure creating an index that already exists is forgiving for postgresql (#46185)
Unlikely sqlite and mysql, postgresql throws ProgrammingError instead
of InternalError or OperationalError when trying to create an index
that already exists.
2021-02-08 22:36:43 +00:00
Matthias Alphart
47464b89af Enable KNX auto_reconnect for auto-discovered connections (#46178) 2021-02-08 22:36:39 +00:00
Daniel Shokouhi
983e980554 Revert "Convert ozw climate values to correct units (#45369)" (#46163)
This reverts commit 1b6ee8301a.
2021-02-08 22:36:38 +00:00
Hmmbob
39a7d975f6 Fix Google translate TTS by bumping gTTS from 2.2.1 to 2.2.2 (#46110) 2021-02-08 22:36:37 +00:00
Marcel van der Veldt
fd19f3ebdb Update zwave_js discovery scheme for boolean sensors in the Alarm CC (#46085) 2021-02-08 22:36:36 +00:00
Marcel van der Veldt
f9f681ac36 update discovery scheme for zwave_js light platform (#46082) 2021-02-08 22:36:35 +00:00
Marcel van der Veldt
d16d6f3f3f Handle missing value in all platforms of zwave_js (#46081) 2021-02-08 22:36:05 +00:00
Robert Svensson
483b1dfa61 Use async_update_entry rather than updating config_entry.data directly in Axis (#46078)
Don't step version in migrate_entry to support rollbacking
2021-02-08 22:33:48 +00:00
J. Nick Koston
c57fa16a1f Fix incorrect current temperature for homekit water heaters (#46076) 2021-02-08 22:33:47 +00:00
Raman Gupta
a9eb9d6136 Fix zwave_js Notification CC sensors and binary sensors (#46072)
* only include property key name in sensor name if it exists

* add endpoint to binary_sensor and sensor notification CC entities if > 0

* refactor to have helper method generate name

* change default behavior of generate_name

* return value for notification sensor when we can't find the state

* store generated name
2021-02-08 22:33:46 +00:00
Robert Svensson
96d8d432d7 Improve deCONZ logbook to be more robust in different situations (#46063) 2021-02-08 22:33:46 +00:00
Marc Mueller
1e59fa2cb2 Fix deprecated method isAlive() (#46062) 2021-02-08 22:33:45 +00:00
Steven Rollason
285fd3d43c Fix downloader path validation on subdir (#46061) 2021-02-08 22:33:44 +00:00
Sergio Conde Gómez
88485d384c Fix foscam to work again with non-admin accounts and make RTSP port configurable again (#45975)
* Do not require admin account for foscam cameras.

Foscam cameras require admin account for getting the MAC address,
requiring an admin account in the integration is not desirable as
an operator one is good enough (and a good practice).

Old entries using the MAC address as unique_id are migrated to the
new unique_id format so everything is consistent.

Also fixed unhandled invalid responses from the camera in the
config flow process.

* Make RTSP port configurable again as some cameras reports wrong port

* Remove periods from new log lines

* Set new Config Flow version to 2 and adjust the entity migration

* Create a proper error message for the InvalidResponse exception

* Change crafted unique_id to use entry_id in the entity

* Abort if same host and port is already configured

* Fix entry tracking to use entry_id instead of unique_id

* Remove unique_id from mocked config entry in tests
2021-02-08 22:33:40 +00:00
Nathan Spencer
58b9394a5f Fix zwave_js cover control for Up/Down and Open/Close (#45965)
* Fix issue with control of cover when the target value is Up/Down instead of Open/Close

* Adjust open/close/stop cover control to account for no Open/Up or Close/Down targets

* Revert back to using values of 0/99 to close/open a cover since it is supported by all covers

* Replace RELEASE_BUTTON with False and remove unused PRESS_BUTTON in zwave_js cover
2021-02-08 22:33:37 +00:00
Paulus Schoutsen
e4b987a642 Merge pull request #46023 from home-assistant/rc 2021-02-05 10:54:07 +01:00
Fabian Affolter
8e8646b93a Upgrade holidays to 0.10.5.2 (#46013) 2021-02-05 09:11:22 +00:00
obelix05
7c5af4e7e6 Prevent fritzbox callmonitor phonebook_id 0 from being ignored (#45990) 2021-02-05 09:11:21 +00:00
Paulus Schoutsen
64ab495318 Revert aioshelly (#46038) 2021-02-05 10:05:04 +01:00
Paulus Schoutsen
ac0f856378 Bumped version to 2021.2.1 2021-02-04 23:41:52 +00:00
J. Nick Koston
77887f123e dhcp does not need promisc mode. Disable it in scapy (#46018) 2021-02-04 23:41:44 +00:00
Martin Hjelmare
8cce60b1ac Bump zwave-js-server-python to 0.17.2 (#46010) 2021-02-04 23:41:43 +00:00
J. Nick Koston
e312ed98c8 Do not listen for dhcp packets if the filter cannot be setup (#46006) 2021-02-04 23:41:43 +00:00
Joakim Sørensen
2b10933325 Bump awesomeversion from 21.2.0 to 21.2.2 (#45993) 2021-02-04 23:40:54 +00:00
Martin Hjelmare
c68847def7 Bump zwave-js-server-python to 0.17.1 (#45988) 2021-02-04 23:38:12 +00:00
DeadEnd
8e531a301f Fix Local Media in Media Browser (#45987)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2021-02-04 23:38:11 +00:00
Maciej Bieniek
39dd590576 Fix entities device_info property in Harmony integration (#45964) 2021-02-04 23:38:11 +00:00
Martin Weinelt
b98d55f1c7 Don't log missing mpd artwork inappropriately (#45908)
This can get unnecessarily spammy and doesn't represent an actual
actionable issue.

Fixes: #45235
2021-02-04 23:38:10 +00:00
Niccolo Zapponi
42606cedef Add support for iCloud 2FA (#45818)
* Add support for iCloud 2FA

* Updated dependency for iCloud

* Updated dependency and logic fix

* Added logic for handling incorrect 2FA code

* Bug fix on failing test

* Added myself to codeowners

* Added check for 2FA on setup

* Updated error message
2021-02-04 23:38:09 +00:00
Christopher Gozdziewski
5b5755f5e2 Convert ozw climate values to correct units (#45369)
* Convert ozw climate values to correct units

* Remove debugger logging

* Fix black code formatting

* Remove extra spaces

* Add method descriptions and change to use setpoint

* Fix build and respond to comments

* Remove self from convert_units call

* Move method to top

* Move method outside class

* Add blank lines

* Fix test to use farenheit

* Update another value to farenheit

* Change to celsius

* Another test fix

* test fix

* Fix a value

* missed one

* Add unit test for convert_units

* fix unit test import

* Add new line to end of test file

* fix convert units import

* Reorder imports

* Grab const from different import

Co-authored-by: Trevor <tboyce021@gmail.com>
2021-02-04 23:38:08 +00:00
Franck Nijhof
de59d8777b Merge pull request #45912 from home-assistant/rc
2021.2.0 (tag)
2021-02-03 18:19:17 +01:00
Franck Nijhof
39ef1131e1 Bumped version to 2021.2.0 2021-02-03 17:57:14 +01:00
Franck Nijhof
1eff2ab22b Merge pull request #45911 from home-assistant/rc 2021-02-03 17:51:34 +01:00
Paulus Schoutsen
f8426f62a9 Bumped version to 2021.2.0b5 2021-02-03 15:27:56 +01:00
Joakim Sørensen
92365b65e9 Add integration name to the deprecation warnings (#45901) 2021-02-03 15:27:50 +01:00
Marcel van der Veldt
878740d53f Update discovery scheme for Meter CC in zwave_js integration (#45897) 2021-02-03 15:27:48 +01:00
Tobias Sauerwein
557e13e010 Add support for climate setpoint thermostats to zwave_js (#45890) 2021-02-03 15:27:46 +01:00
Jesse Campbell
f2c2a97228 Remove v4 multilevel transitional currentValue workaround in zwave_js (#45884)
* Remove v4 multilevel transitional currentValue workaround

This was only needed because the get-after-set was reporting a
transitional currentValue instead of the final one.
zwave-js v6.1.1 removes the get-after-set functionality completely, so
this is no longer required (and breaks status reporting entirely)

* Fix tests to check currentValue instead of targetValue as well
2021-02-03 15:27:44 +01:00
Paulus Schoutsen
9070ee0851 Bumped version to 2021.2.0b4 2021-02-03 11:59:33 +01:00
Paulus Schoutsen
c3786ee186 Mark Z-Wave as deprecated (#45896) 2021-02-03 11:59:22 +01:00
Paulus Schoutsen
2369fda0d0 Upgrade Z-Wave JS Python to 0.17.0 (#45895) 2021-02-03 11:59:22 +01:00
Pascal Vizeli
8d0d4d3133 Update docker base image 2021.02.0 (#45889) 2021-02-03 11:59:21 +01:00
jjlawren
53f1dba784 Bump plexapi to 3.4.1 (#45878) 2021-02-03 11:59:20 +01:00
Paulus Schoutsen
889cb254b2 Update translations 2021-02-03 11:51:54 +01:00
Bram Kragten
66e045f570 Bumped version to 2021.2.0b3 2021-02-02 22:57:18 +01:00
Bram Kragten
0435586bb1 Update frontend to 20210127.7 (#45874) 2021-02-02 22:54:12 +01:00
Martin Hjelmare
76c27a7d5a Use new zwave_js client (#45872)
* Use new zwave_js client

* Remove client callbacks

* Clean up on connect and on disconnect

* Clean log

* Add stop listen to unsubscribe callbacks

* Fix most tests

* Adapt to new listen interface

* Fix most tests

* Remove stale connection state feature

* Bump zwave-js-server-python to 0.16.0

* Clean up disconnect
2021-02-02 22:54:11 +01:00
Marcel van der Veldt
d759fa3407 Guard for missing value (#45867)
* guard for missing value

* update comment
2021-02-02 22:54:10 +01:00
Martin Hjelmare
34bc5ef0cd Fix zwave_js device remove test (#45864) 2021-02-02 22:54:10 +01:00
Martin Hjelmare
f4ff2708e0 Fix zwave_js sensor device class attribute error (#45863) 2021-02-02 22:54:09 +01:00
Marcel van der Veldt
d3a92dcac6 Update zwave_js discovery schema for light platform (#45861) 2021-02-02 22:54:09 +01:00
Raman Gupta
b575b0a700 Add current humidity to zwave_js climate platform (#45857) 2021-02-02 22:54:08 +01:00
Raman Gupta
7ff60601c9 Remove zwave_js devices that the controller is no longer connected to on initialization (#45853)
* Remove zwave_js devices that the controller is no longer connected to on initialization

* remove extra line break

* fix test

* Clean up

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

* Lint

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2021-02-02 22:54:07 +01:00
Thomas Friedel
bba7c0454c Enable Osramlightify again (#45849) 2021-02-02 22:54:07 +01:00
Franck Nijhof
277aa01088 Disable Osramlightify, upstream package is missing (#45775) 2021-02-02 22:54:06 +01:00
Marcel van der Veldt
67ee2fb822 Fix sensor discovery for zwave_js integration (#45834)
Co-authored-by: Raman Gupta <7243222+raman325@users.noreply.github.com>
2021-02-02 22:47:29 +01:00
Raman Gupta
a56b250e31 Add notification events to zwave_js integration (#45827)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2021-02-02 22:47:28 +01:00
Marcel van der Veldt
e169ad93c2 Add value notification events to zwave_js integration (#45814) 2021-02-02 22:47:27 +01:00
Erik Montnemery
fba781a535 Improve MQTT JSON light to allow non-ambiguous states (#45522) 2021-02-02 22:47:27 +01:00
Paulus Schoutsen
88a5ff4a51 Bumped version to 2021.2.0b2 2021-02-01 22:32:23 +00:00
Joakim Sørensen
cd1c8b78a1 Bump awesomeversion from 21.1.6 to 21.2.0 (#45821) 2021-02-01 22:31:07 +00:00
Martin Hjelmare
b705468b57 Bump zwave-js-server-python to 0.15.0 (#45813) 2021-02-01 22:31:06 +00:00
J. Nick Koston
938e5ff435 Fix missing async for lutron_caseta timeout (#45812) 2021-02-01 22:31:05 +00:00
Raman Gupta
000def5ded Add zwave_js binary sensors property name for Notification CC (#45810) 2021-02-01 22:31:04 +00:00
Raman Gupta
760b75a5c1 Search all endpoints for value in zwave_js (#45809)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-02-01 22:31:04 +00:00
J. Nick Koston
bf819df388 Fix shutdown deadlock with run_callback_threadsafe (#45807) 2021-02-01 22:31:03 +00:00
Chris
493f3bc1ce Add stop_cover service for zwave_js (#45805) 2021-02-01 22:31:02 +00:00
Marcel van der Veldt
18df06d6a6 Bump zwave-js-server-python to 0.14.2 (#45800) 2021-02-01 22:31:01 +00:00
Pierre Ståhl
0df1f8bfbd Bump pyatv to 0.7.6 (#45799) 2021-02-01 22:31:00 +00:00
Matthias Alphart
4f73105896 Prevent AttributError for uninitilized KNX ClimateMode (#45793) 2021-02-01 22:31:00 +00:00
J. Nick Koston
53db89e13d Ensure lutron_caseta is only discovered once (#45792) 2021-02-01 22:30:59 +00:00
Erik Montnemery
078579de69 Bump pychromecast to 8.0.0 (#45776) 2021-02-01 22:30:58 +00:00
J. Nick Koston
bbb18ffec4 Add timeout to lutron_caseta to prevent it blocking startup (#45769) 2021-02-01 22:30:57 +00:00
Bram Kragten
a8ad51ceb2 Update frontend to 20210127.6 (#45760) 2021-02-01 22:30:57 +00:00
Joakim Sørensen
68ea62f5ef Bump awesomeversion from 21.1.3 to 21.1.6 (#45738) 2021-02-01 22:30:56 +00:00
J. Nick Koston
a81a4ad44b Fix exception when a unifi config entry is ignored (#45735)
* Fix exception when a unifi config entry is ignored

* Fix existing test
2021-02-01 22:30:55 +00:00
Aaron Bach
4a2ad442c7 Bump simplisafe-python to 9.6.4 (#45716)
* Bump simplisafe-python to 9.6.4

* Fix imports
2021-02-01 22:30:55 +00:00
Bram Kragten
498f8db0d8 Updated frontend to 20210127.5 (#45714) 2021-02-01 22:30:54 +00:00
Martin Hjelmare
71b67ba572 Fix mqtt check in ozw (#45709) 2021-02-01 22:30:53 +00:00
bsmappee
7a746adb04 Bump pysmappee to 0.2.16 (#45699) 2021-02-01 22:30:53 +00:00
Pascal Vizeli
869bc2c4ce Update docker base image 2021.01.1 (#45697) 2021-02-01 22:30:52 +00:00
Vladimír Záhradník
b072a6c91a SSDP response decode: replace invalid utf-8 characters (#42681)
* SSDP response decode: replace invalid utf-8 characters

* Add test to validate replaced data

Co-authored-by: Joakim Plate <elupus@ecce.se>
2021-02-01 22:30:51 +00:00
Paulus Schoutsen
6070c7c83a Bumped version to 2021.2.0b1 2021-01-29 09:13:06 +01:00
Bram Kragten
af0ca31d77 Update frontend to 20210127.3 (#45679) 2021-01-29 09:12:41 +01:00
Marcel van der Veldt
80e176aab3 Fix removing nodes in zwave_js integration (#45676) 2021-01-29 09:12:40 +01:00
J. Nick Koston
d1b677d0f9 Update httpcore to prevent unhandled exception on dropped connection (#45667)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2021-01-29 09:12:39 +01:00
J. Nick Koston
9e5bf6b9f6 Ensure history LazyState state value is always a string (#45644)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2021-01-29 09:12:39 +01:00
Erik Montnemery
385bdc4058 Bump hatasmota to 0.2.7 (#45625) 2021-01-29 09:12:38 +01:00
Fabian Affolter
4dbd2f2a6b Upgrade pyyaml to 5.4.1 (CVE-2020-14343) (#45624) 2021-01-29 09:12:37 +01:00
Paulus Schoutsen
800c7f84ff Include relative path in tts get url (#45623)
* Include relative path in tts get url

* Always cal get_url when requested
2021-01-29 09:12:36 +01:00
Marc Mueller
40b3ed1419 Add additional error handling for automation script run (#45613) 2021-01-29 09:12:35 +01:00
jjlawren
a05f839d3d Allow Plex playback using provided playqueue ID (#45580) 2021-01-29 09:12:34 +01:00
Franck Nijhof
d3daf02ef3 Bumped version to 2021.2.0b0 2021-01-27 20:45:52 +01:00
Aaron Bach
b420c1ceb7 Fix Notion binary sensor bug due to API changes (#45616) 2021-01-27 20:41:03 +01:00
Marc Mueller
6aadf14bdd Add mobile_app notify ClientError handling (#45480) 2021-01-27 20:39:43 +01:00
Bram Kragten
73a04e653f Update frontend to 20210127.1 (#45612) 2021-01-27 19:32:44 +01:00
starkillerOG
ef3bdd1afc Bump motionblinds to 0.4.8 (#45609) 2021-01-27 18:01:00 +01:00
J. Nick Koston
a1662b3bb9 Restore the device id after deleting and re-adding an integration (#45348) 2021-01-27 17:10:57 +01:00
springstan
566058f701 Add config flow to fritzbox_callmonitor (#40736) 2021-01-27 16:53:45 +01:00
Tobias Sauerwein
f14c4412b7 Migrate RMV to use httpx (#42560) 2021-01-27 15:57:58 +01:00
Dennis Schroer
8d572af77a Add Huisbaasje integration (#42716)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2021-01-27 15:53:25 +01:00
joe248
b4af17e02d Add service to move camera to PTZ preset (#43083) 2021-01-27 15:43:36 +01:00
Marc Mueller
fb39185420 Add schema error handling to websocket_api (#45602)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-01-27 15:20:22 +01:00
linebp
211ef60d96 Convert media_player unittest tests to pytest style (#41950)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-01-27 14:50:01 +01:00
Shay Levy
5bc4db5ef9 Fix exception when last Shelly device is removed (#45476) 2021-01-27 08:15:56 -05:00
Robert Chmielowiec
80c2efa9f2 Add total energy, preheater and RMOT sensors to comfoconnect (#45373) 2021-01-27 08:10:58 -05:00
Shulyaka
eea50c8ccc Add device actions for Number (#44240) 2021-01-27 13:40:13 +01:00
Maciej Bieniek
5d955eb039 Change update interval tests in AccuWeather integration (#45562) 2021-01-27 13:28:29 +01:00
Marcel van der Veldt
32c6509d55 Remove unwanted brightness check in zwave_js light (#45597) 2021-01-27 13:07:02 +01:00
Thomas Hollstegge
78b057ce02 Make sure generated slugs are not empty (#43153) 2021-01-27 12:25:49 +01:00
CtrlZvi
1433cdaa12 Prefer shorter keys for intent matching (#43672)
When using fuzzy matching to match entity names for intents, whichever
entity is first is preferred in the case of equal matches. This leads
to situations where entities with similar names (such as entities named
for their area and then specific area location) may be used when the
whole area is wanted.

I ran into this with the my Phillips Hue lights. I have each individual
light named such that its room is the first part of the name, and its
location within the room after. So my living room has:
Living Room West
Living Room Northwest
Living Room North
Living Room Northeast

I then have a group for the whole room:
Living Room

Because the group is the last of the entities, trying to adjust the
whole room only activates one light, because all of the lights match
equally well.

By preferring the shortest of equal matches, we prefer keys that have
the least amount of extra information, causing "Living Room" to match
the group instead of an individual light.
2021-01-27 12:16:19 +01:00
Aaron Bach
3841f0e42d Re-architect Tile integration with new pytile (#43071) 2021-01-27 12:06:09 +01:00
Franck Nijhof
c8ad06e58a Merge branch 'master' into dev 2021-01-27 12:00:43 +01:00
Lars Marowsky-Brée
34194da1b6 New methods for input_select component (#42968)
This adds a `cycle` attribute to select_previous/next, and
select_first and select_last services.

This is quite useful for streamlining using input_select via
automations, such as when they represent a list of states to step
through; if the first option is the dimmest and the last the brightest,
one may not want to accidentally cycle from the first to the last, for
example.

Similarly, being able to directly select the first or last removes
adjustment in related automations.
2021-01-27 11:17:59 +01:00
Martin Hjelmare
122a4e03f8 Bump zwave-js-server-python to 0.14.1 (#45598) 2021-01-27 11:17:47 +01:00
Josias Montag
fb2db34334 Fix home connect lights setting color (#45470) 2021-01-27 11:02:32 +01:00
Ryan Fleming
459236fcdd Camera Status and Motion record status (#44936) 2021-01-27 10:50:44 +01:00
Jim Ekman
67b309394f Esphome fan direction (#44495) 2021-01-27 10:40:33 +01:00
Adrian Suwała
e12e2377af Rewrite hddtemp unittest tests to pytest (#42513) 2021-01-27 10:24:04 +01:00
Franck Nijhof
26e266181d Explicitly return None in Velux covers (#45596) 2021-01-27 10:17:26 +01:00
Berni Moses
491e66793e Add check and remove temporary fix for lg soundbar eq and source list (#38798) 2021-01-27 10:17:04 +01:00
Felipe Martins Diel
c225f4b4ea Implement remote.delete_command in the Broadlink integration (#44041) 2021-01-27 10:14:11 +01:00
Yannik Ache Eicher
d99118f6ba Optimized state handling of Panasonic Viera TVs (#42913) 2021-01-27 10:07:33 +01:00
Dermot Duffy
890eaf840c Add advanced Hyperion entities (#45410)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2021-01-27 09:35:13 +01:00
Thomas Lovén
06ade6129c Add selectors for text and arbitrary objects (#45112)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2021-01-27 09:20:19 +01:00
Philip Allgaier
6800f4b6fd Add temperature step size for generic_thermostat (#41972) 2021-01-27 09:12:24 +01:00
Martin Hjelmare
f387e833c3 Add zwave_js add-on config flow support (#45552) 2021-01-27 08:56:16 +01:00
Marc Mueller
c805baf88c Refactor slack tests (#45561)
* Refactor slack tests

* Changes

* Let service register for tests
2021-01-27 04:32:14 +01:00
J. Nick Koston
25f411ef6e Add support for Pico and Shade remotes to Lutron Caseta (#45315) 2021-01-26 16:32:08 -06:00
Matej Drobnič
b533b91b10 Add reminder support to todoist.new_task service (#44142)
* add reminder support to todoist.new_task service

* fix time support on reminder_date

* fix time support on todoist due_date
2021-01-26 23:26:29 +01:00
Chris Talkington
14785660b0 Avoid proxied Roku images during internal requests (#43547) 2021-01-26 23:21:25 +01:00
Paul Daumlechner
fb527814f9 Add tilt functionality to Velux covers (#43669) 2021-01-26 23:19:08 +01:00
Yuval Aboulafia
73d2ae76a9 Round Mold Indicator attributes (#43622) 2021-01-26 23:14:53 +01:00
Sami Heino
ee8d88e85c Add support for EDS0068 onewire sensor (#44029)
Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2021-01-26 23:07:04 +01:00
ollo69
08e7247201 Remove tuya/climate precision property override (#44148) 2021-01-26 22:49:42 +01:00
jpcornil-git
74a44e03fa Extend add_update_listener support to bound methods (#44238) 2021-01-26 22:19:10 +01:00
guillempages
67fcdc5a9c Do not reset ble tracker adapter to read battery (#44229)
Do not reset the adapter to read the battery status, to avoid issues
in devices installations without sudo
2021-01-26 15:17:46 -06:00
Paulus Schoutsen
352d0870e3 Light significant changes + sensor tweaks (#45583) 2021-01-26 22:11:06 +01:00
Dror Eiger
74efe78d0a Add device metadata for Google Assistant (#45507)
* Add device metadata for Google Assistant

* Increase test coverage

* Refactor fetching the device and entity entries.
2021-01-26 21:59:43 +01:00
Paulus Schoutsen
712a5a098d Add significant change filtering to Google (#45566) 2021-01-26 21:45:09 +01:00
Dermot Duffy
568962552b Remove hyperion entry from registry only when instances are fully removed (#44488) 2021-01-26 21:39:02 +01:00
Robert Svensson
7a39a86eb9 Add gen3 Hue remote to deCONZ device trigger (#45581) 2021-01-26 21:36:12 +01:00
Jc2k
3b0a440770 Add support for homekit_controller secondary entities like power usage (#44013) 2021-01-26 13:45:01 -06:00
Franck Nijhof
f53a83e084 Tweak stale policies (#45568)
* Tweak stale policies

* Remove stale comments
2021-01-26 19:35:53 +01:00
Franck Nijhof
7816eccee7 Upgrade coverage to 5.4 (#45570) 2021-01-26 19:20:42 +01:00
Franck Nijhof
21d23a6f94 Upgrade pytest to 6.2.2 (#45572) 2021-01-26 19:20:28 +01:00
J. Nick Koston
56253a6245 Bump httplib2 in google and remember_the_milk (#45578)
Fixes CVE-2020-11078
2021-01-26 18:51:20 +01:00
kpine
daddb76e1d Fix zwave_js Color Switch Device Type discovery for RGB dimmers (#45571) 2021-01-26 18:39:56 +01:00
Franck Nijhof
52c56fdac7 Upgrade pillow to 8.1.0 (#45574) 2021-01-26 18:12:02 +01:00
Alexei Chetroi
9ae4818a23 Update ZHA dependencies (#45569) 2021-01-26 11:54:05 -05:00
jjlawren
76be67fa64 Bump plexapi to 4.3.0 (#45567) 2021-01-26 17:25:45 +01:00
Robert Svensson
26764a805b Don't parse previous messages when UniFi connection state change to available (#45544)
* Don't parse previous messages when connection state change to available

* Disable pylint for arguments-differ W0221 message
2021-01-26 16:41:28 +01:00
radovanbauer
baab9b9a81 Added command templates for the mqtt climate component. (#44976)
This allows integrating with devices which require more complex payloads to be posted when updating their values.

Old feature request: https://github.com/home-assistant/core/issues/11496
There are numerous posts requesting this feature, example: https://community.home-assistant.io/t/need-help-with-value-template-for-mqtt-hvac/73395/68https://community.home-assistant.io/t/need-help-with-value-template-for-mqtt-hvac/73395/68

Command templates have been added for the following:
- fan_mode
- hold
- mode
- swing_mode
- temperature
- temperature high/low

This doesn't add templates for aux, away mode, power since these already accept custom payload_on/off (although they all share the same payload). It should be straightforward to add templates for them as well if needed.
2021-01-26 16:12:33 +01:00
Joakim Sørensen
b1c2cde40b Changes to filename and path validation (#45529)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2021-01-26 15:53:21 +01:00
Paulus Schoutsen
4739e8a207 Limit data sending to Alexa to significant changes (#45563) 2021-01-26 15:48:35 +01:00
Fabian Affolter
893406c834 Upgrade shodan to 1.25.0 (#45560) 2021-01-26 15:44:51 +01:00
Paulus Schoutsen
d082be787f Add "significant change" base (#45555) 2021-01-26 14:13:27 +01:00
Maikel Punie
38361b134a Bump python-velbus version to 2.1.2 (#45553) 2021-01-26 12:20:03 +01:00
popboxgun
ab710f2154 Add support for Discord embed in messages (#44986)
Co-authored-by: Joakim Sørensen <hi@ludeeus.dev>
2021-01-26 11:39:48 +01:00
starkillerOG
c16fd0a1ac Set hyperion icon to lightbulb when off (#45351)
Co-authored-by: Dermot Duffy <dermot.duffy@gmail.com>
2021-01-26 10:46:54 +01:00
starkillerOG
3647d549b0 Fix Hyperion brightness setting (#45335) 2021-01-26 10:45:41 +01:00
Paulus Schoutsen
b9a525a9a7 Add an HTTP view to dump the Z-Wave JS state (#45452)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2021-01-26 10:27:20 +01:00
William Scanlon
260d9f8e16 Upgrade econet to use new API (#44427)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-01-26 09:18:20 +01:00
north3221
f2a8ccdbae Add tado service set temperature offset (#45014) 2021-01-26 09:11:29 +01:00
Robert Svensson
622906965d Add better message to deCONZ event logbook when information is available (#45545)
* Add better message when information is available

* Fix pylint
2021-01-26 08:15:39 +01:00
Greg Dowling
d110d42913 Fix Vera race condition on start (#45535) 2021-01-26 08:15:07 +01:00
Marc Mueller
ad677b9d41 Improve Slack notify component (#45479)
* Add typing information

* Small improvments

* Use %r for exceptions
* Added exception handlers for aiohttp.ClientError
* Added testcase

* Changes after review

* Bugfixes
2021-01-25 17:03:12 -07:00
Tobias Sauerwein
ec47df4880 Clean up unnecessary method from Netatmo code (#45546) 2021-01-26 01:02:48 +01:00
Franck Nijhof
25469f1a07 Increase stalebot operations per run (#45548) 2021-01-26 00:29:32 +01:00
Marcel van der Veldt
11009b99bd Improve zwave_js light targetvalue vs currentValue selection (#45477) 2021-01-25 22:09:12 +01:00
Daniel Hjelseth Høyer
094844f834 Tibber, fix spreading requests (#45533)
Signed-off-by: Daniel Hjelseth Høyer <github@dahoiv.net>
2021-01-25 17:48:42 +01:00
Greg Dowling
3de2c900f3 Fix Roon play_media (#45532) 2021-01-25 17:44:18 +01:00
Ian Tewksbury
666a94a8e1 Add zwave_js ZWavePropertyBinarySensory (#45504) 2021-01-25 15:50:21 +01:00
Leonardo Figueiro
d174c8265e Add WiLight Fan (#39541)
* Add WiLight Fan

Add fan to WiLigt integration

* Updated fan.py and test_fan.py

* Creating new fan test

* Update homeassistant/components/wilight/__init__.py

OK!
Done!

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

* Update homeassistant/components/wilight/fan.py

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

* Update homeassistant/components/wilight/fan.py

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

* Update homeassistant/components/wilight/fan.py

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

* As MartinHjelmare requested

* Update fan.py

* Update tests/components/wilight/test_fan.py

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

* Update tests/components/wilight/test_fan.py

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

* Update test_fan.py

As Martin Hjelmare suggested

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-01-25 14:03:11 +01:00
Joakim Sørensen
edfb8c3423 Add version to hassfest for custom integrations (#45523)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2021-01-25 13:31:14 +01:00
Xavier Decuyper
1c0a74f18a Fix Tado fallback modes (overlay) (#44665) 2021-01-25 13:23:01 +01:00
SukramJ
104107dd95 Bump dependency for HomematicIP Cloud to 0.13.1 (#45475) 2021-01-25 13:19:11 +01:00
Paulus Schoutsen
bf8d17f1b5 Better wait for Z-Wave to be initialized (#45520) 2021-01-25 13:12:58 +01:00
Paulus Schoutsen
a7e8c62204 Bump Z-Wave JS Server Python to 0.13 (#45524) 2021-01-25 12:31:14 +01:00
dependabot[bot]
c61331e8c5 Bump actions/stale from v3.0.14 to v3.0.15 (#45516)
Bumps [actions/stale](https://github.com/actions/stale) from v3.0.14 to v3.0.15.
- [Release notes](https://github.com/actions/stale/releases)
- [Commits](https://github.com/actions/stale/compare/v3.0.14...86561461b92875de77a8b2d2e75f004c826e8f45)

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-01-25 09:39:06 +01:00
On Freund
47e34bb129 Use image proxy in volumio media browser (#43819)
* Use image proxy in volumio media browser

* Add thumbnail cache

* Clear thumbnail cache on browse

* Use built-in hash instead of hashlib
2021-01-24 18:16:10 -06:00
Matthias Alphart
616328c7c4 Update xknx to 0.16.2 (#45511) 2021-01-25 00:51:38 +01:00
Vinny Furia
34f701a69b Fix for radiotherm component stall (#45482) 2021-01-24 17:01:41 -06:00
Eric Severance
12e31b9571 Bump pyWeMo to 0.6.1 (#45501) 2021-01-24 19:16:12 +01:00
Xiaonan Shen
dbaca51bb3 Rewrite dyson climate tests (#45493)
* Rewrite dyson climate tests

* Cleanup
2021-01-24 17:37:48 +01:00
Robert Svensson
b69d9860b6 Improve Axis tests following late review in SSDP PR (#45489) 2021-01-24 14:14:49 +01:00
Josef Schlehofer
4bb6911b76 Upgrade youtube_dl to version 2021.01.16 (#45484) 2021-01-24 10:16:46 +01:00
J. Nick Koston
47c0adb312 Remove YAML support from tado (#45384) 2021-01-24 01:33:30 +01:00
Raman Gupta
c2900ff888 Add support for zwave_js lock services (#45451) 2021-01-23 18:21:31 -05:00
Robert Svensson
1e7e5220a3 Add SSDP discovery support to Axis integration (#45474)
* Add SSDP discovery support to Axis integration

* Remove unnecessary f-string

* Remove the last of the f-string...
2021-01-23 23:51:49 +01:00
Xiaonan Shen
59b0a4d060 Rewrite dyson air quality tests (#45466) 2021-01-23 14:54:58 -05:00
Erik Montnemery
0e068a5f39 Truncate MQTT payload in debug messages to 8kB (#45465) 2021-01-23 14:52:43 -05:00
Paulus Schoutsen
eb339b9793 Fix flaky SRP_Energy test (#45471) 2021-01-23 19:53:45 +01:00
Paulus Schoutsen
6715eae3d7 Merge pull request #45472 from home-assistant/rc 2021-01-23 19:08:21 +01:00
Paulus Schoutsen
db7c260ffb Bumped version to 2021.1.5 2021-01-23 18:37:07 +01:00
Paulus Schoutsen
7abdad4a99 Avoid misuse sanitize_path, clarify docs (#45469) 2021-01-23 18:37:01 +01:00
Tobias Sauerwein
f7df00bbbd Bump pyatmo to v4.2.2 (#45386) 2021-01-23 18:37:00 +01:00
Santobert
09f5c7f4c5 Bump pybotvac to 0.0.20 (#45367) 2021-01-23 18:36:59 +01:00
Martin Weinelt
3b71ac2ec9 Update python-mpd2 to 3.0.3 (#45141)
Fixes: #44931
2021-01-23 18:36:58 +01:00
Paulus Schoutsen
0930aae208 Avoid misuse sanitize_path, clarify docs (#45469) 2021-01-23 18:28:57 +01:00
Erik Montnemery
f86beed7b0 Subscribe only to valid MQTT discovery topics (#45456) 2021-01-23 08:51:25 -05:00
J. Nick Koston
a0b906005d Remove YAML support from nuheat (#45380) 2021-01-23 06:27:32 +01:00
Robert Svensson
e92c4c99d5 Step Axis integration to platinum score on Integration Quality Scale (#45442) 2021-01-23 06:25:01 +01:00
J. Nick Koston
954ad854fb Remove the ability for mqtt to set speeds that are not in the speed_list (#45445) 2021-01-23 06:24:06 +01:00
Anders Melchiorsen
011d5208fd Upgrade aiolifx to 0.6.9 (#45448) 2021-01-23 06:21:57 +01:00
Dermot Duffy
e40f0bf429 Disconnect Hyperion client in error conditions (#45411) 2021-01-23 06:21:38 +01:00
Alexei Chetroi
daf24dc508 Always apply default light profiles, unless a profile is given (#45450) 2021-01-23 06:20:53 +01:00
J. Nick Koston
431b143eec Add a one touch pairing config flow for lutron caseta (#45136)
Co-authored-by: Robert Svensson <Kane610@users.noreply.github.com>
2021-01-22 17:48:06 -06:00
Robert Svensson
03fb73c0ae Option to select what video source Axis camera should use (#45268)
* Fully working proposal of config option to select what video source camera entity should use

* Bump dependency to v43
Reflect dependency changes in how image sources is now a dict

* Fix bdracos comment
2021-01-23 00:15:58 +01:00
Chris
68e7ecb74b Add zwave-js fan platform (#45439)
* Add zwave-js fan platform

* Update remaining tests

* Missing awaits, tests fixed

* Fix typing

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-01-23 00:11:32 +01:00
Robert Svensson
22a6e55e70 Base deCONZ group supported features on the sum of all its lights (#45440) 2021-01-22 23:39:34 +01:00
Robert Svensson
57fa7f926a Introduce reauth flow to deCONZ (#45443) 2021-01-22 23:37:16 +01:00
Robert Svensson
18c7ae9a8b Fix hs_color crashing when activating scenes in deCONZ on color_temp lights (#45159) 2021-01-22 22:40:22 +01:00
Robert Svensson
aaf4cd4a25 Basic logbook support for deCONZ events (#45400)
* Basic logbook support

* Improve formulation of message

* Improve typing
2021-01-22 22:39:11 +01:00
Charles Garwood
6813454821 Bump zwave-js-server-python to 0.12.0 (#45438) 2021-01-22 13:32:52 -05:00
Simone Chemelli
86cd7911de Clarify ConfigEntryNotReady log (#45425)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
Co-authored-by: Charles Garwood <cgarwood@gmail.com>
2021-01-22 12:13:23 -05:00
Chris
198b875a6f Add cover platform to zwave js (#45193) 2021-01-22 11:51:39 -05:00
Xiaonan Shen
7e8d0a263c Rewrite dyson init test (#45409) 2021-01-22 10:27:43 -05:00
Matthias Alphart
4aceb0dd27 Add KNX service event_register (#45248) 2021-01-22 15:27:51 +01:00
Philip Allgaier
89fc92f68a Slightly improve error message in case of duplicate entity IDs (#45424) 2021-01-22 09:16:13 -05:00
Fabian Affolter
2bc59c1d8e Upgrade sendgrid to 6.5.0 (#45412) 2021-01-22 07:35:48 -05:00
Pascal Vizeli
8c573ae29c Bump hass-nabucasa 0.41.0 (#45422) 2021-01-22 07:30:49 -05:00
Fabian Affolter
30ed998d83 Upgrade pylast to 4.1.0 (#45413) 2021-01-22 10:16:20 +01:00
Fabian Affolter
148bc6081f Upgrade TwitterAPI to 2.6.3 (#45415) 2021-01-22 10:01:20 +01:00
Raman Gupta
8f7a4a68b2 Fix zwave_js climate entity temperature unit (#45377) 2021-01-22 09:23:16 +01:00
J. Nick Koston
38d4af1a6e Remove YAML support from powerwall (#45381) 2021-01-21 21:59:33 -05:00
Erik Montnemery
59f178ab9e Bump hatasmota to 0.2.6 (#45403) 2021-01-21 21:57:46 -05:00
Shay Levy
f117ddc6fa Stop update_coordinator schedule refresh when HA is stopping (#45338)
* Stop update_coordinator schedule refresh when HA is stopping

* Add unittests

* Fix event type
2021-01-22 00:23:50 +01:00
J. Nick Koston
3029a95410 Remove YAML support from rachio (#45383) 2021-01-21 15:07:47 -05:00
J. Nick Koston
d733292982 Remove YAML support from hunterdouglas_powerview (#45376) 2021-01-21 13:51:08 -05:00
J. Nick Koston
db83aea1df Remove YAML support from nexia (#45379) 2021-01-21 13:45:52 -05:00
Xiaonan Shen
5de8639798 Rewrite dyson sensor test (#45382) 2021-01-21 13:43:52 -05:00
J. Nick Koston
b68c287ff1 Add SSDP discovery to unifi (#45364) 2021-01-21 11:03:54 -06:00
Ville Skyttä
ded242a8fe Treat Huawei LTE response error code -1 as apparently unsupported (#45304) 2021-01-21 14:34:24 +02:00
Robert Svensson
b601e7e497 Introduce reauthentication flow to Axis integration (#45307) 2021-01-21 12:56:04 +01:00
Esben Damgaard
25adc6dd4f Don't update systemmonitor static boot time timestamp (#45165) 2021-01-21 12:35:37 +01:00
jjlawren
1f66457a34 Separate Plex/Sonos cross-integration tests (#45370) 2021-01-21 11:22:19 +01:00
Franck Nijhof
16843d9ec7 Revert "Update azure-pipelines-ci.yml to enable black mode in isort" (#45390)
This reverts commit 7a81ff55bc.
2021-01-21 11:01:22 +01:00
Franck Nijhof
03711b1d97 Revert "Update .pre-commit-config.yaml to prevent loops between isort and black" (#45391)
This reverts commit c03b4d8aee.
2021-01-21 11:00:09 +01:00
Jérôme W
fd363f9c3a Format SNMP sensor data which are not strings/counters (#44823) 2021-01-21 09:41:09 +01:00
Dermot Duffy
30622b5575 Bump required hyperion-py version (#45385) 2021-01-21 09:32:16 +01:00
J. Nick Koston
bb1224d06f Remove YAML support from myq (#45375) 2021-01-21 09:27:04 +01:00
Xiaonan Shen
daa9449f18 Fix yeelight brightness in music mode (#45358) 2021-01-21 08:54:24 +01:00
Tobias Sauerwein
e97448a201 Bump pyatmo to v4.2.2 (#45386) 2021-01-21 08:30:28 +01:00
J. Nick Koston
e8cda598ac Fix memory leak in dhcp integration (#45378)
* Fix memory leak in dhcp integration

Passing the L2socket to AsyncSniffer caused a memory
leak on some systems. To ensure we can create a socket,
we do a test creation before starting AsyncSniffer
since the sniffer will create it in another thread
and we cannot see any permission error otherwise.

* Update tests

* space

* do not store packets
2021-01-21 08:26:58 +01:00
Hans Oischinger
2925474a5d Bump pyVicare to 0.2.5 (#45301)
Also removes the power sensor that is no more supported

Full diff between 0.2.0 and 0.2.5:
b602c1670e...b443a4df75
2021-01-21 08:12:31 +01:00
Mick Vleeshouwer
9b14586568 Add DemoCover with only tilt controls (#45228)
* Add DemoCover with only tilt controls

* Add default tilt position to Pergola Roof

* Apply githooks (isort)

* Add new demo device to Google Assistant fixtures
2021-01-20 19:11:55 -06:00
Manuel Durán
7a81ff55bc Prevent isort from modifying files formatted with black and causing pipeline to fail (#45371)
Prevent isort from modifying files formatted with black and causing pipeline to fail
2021-01-20 19:08:18 -06:00
J. Nick Koston
536e835b39 Switch frequently used unifi controller properties to attributes (#45365) 2021-01-20 16:58:02 -06:00
J. Nick Koston
243014bff1 Fix test_wait_template_with_utcnow (#45356) 2021-01-20 23:56:00 +01:00
Xiaonan Shen
96448c6778 Change Dyson PureCoolLink fan speeds to adhere the standard (#45331) 2021-01-20 16:27:16 -05:00
J. Nick Koston
a7741be9bb Wait for all triggers when one fails to attach (#45361) 2021-01-20 22:13:21 +01:00
Robert Svensson
da4404e8cf Introduce reauthentication flow to UniFi integration (#45360)
* Improve site selection

* Reauth flow and tests
Add **kwargs to mock_aiohttp_client create_session to support inputting verify_ssl and cookie_jar

* Update homeassistant/components/unifi/config_flow.py

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

* Minor improvements

* Improve coverage

Co-authored-by: J. Nick Koston <nick@koston.org>
2021-01-20 22:10:40 +01:00
Aaron Bach
7ff02fe8d4 Replace strange "dict logic" in AirVisual pollutant level sensors (1 of 2) (#44868) 2021-01-20 15:24:56 -05:00
Maciej Bieniek
14f5eb7305 Increase update interval in AccuWeather integration (#44984) 2021-01-20 15:17:53 -05:00
Xiaonan Shen
e46f1c0a10 Remove yeelight init dispatcher on unloading (#45359) 2021-01-20 15:10:01 -05:00
Santobert
ab62a4ce39 Bump pybotvac to 0.0.20 (#45367) 2021-01-20 15:08:44 -05:00
Charles Garwood
0f5a3c4359 Add default URL to zwave_js config flow (#45366) 2021-01-20 15:03:15 -05:00
Xiaonan Shen
7a01d33814 Add empty password support to pi-hole (#37958) 2021-01-20 16:40:23 +01:00
Allen Porter
bf0e012d1e Repair stream test_recorder.py and mark not flaky (#45054)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2021-01-20 14:44:24 +01:00
Charles Garwood
d284c6369e Add permanent_hold attribute to Honeywell climate (#45341) 2021-01-20 08:34:14 -05:00
Manuel Durán
c03b4d8aee Update .pre-commit-config.yaml to prevent loops between isort and black (#45321)
The pre-commit hook gets stuck in a file formatting loop where black and isort modify each other results. According to the isort webpage, the option --profile black has to be used to enhance compatibility. This has been run successfully in my local and has solved the loop.

See:
https://github.com/home-assistant/core/issues/45318
https://github.com/home-assistant/core/pull/45314
2021-01-20 08:01:13 -05:00
David F. Mulcahey
ef8ee38274 bump libs for zha (#45345) 2021-01-19 21:19:46 -05:00
J. Nick Koston
3ae527c158 Switch dhcp to use async sniff for faster shutdown (#45339)
* Switch dhcp to use async sniff for faster shutdown

* Do not actually start the thread since we do not know when it will finish starting
2021-01-19 20:49:49 +01:00
Martin Hjelmare
a9a0f8938f Move device tracker scanner attributes to ScannerEntity (#45312) 2021-01-19 11:04:08 -06:00
Philip Allgaier
52cfc06e12 Replace outdated / closed URL for reporting HA startup blocks (#45334) 2021-01-19 11:01:51 -05:00
Charles Garwood
c1addde6f9 Add node_status websocket API command to zwave_js (#45325) 2021-01-19 16:41:24 +01:00
kpine
d7a0f1e467 Include config entry id in zwave_js signal names (#45282) 2021-01-19 16:40:01 +01:00
Paulus Schoutsen
f1646f4ecc Disable pytest enabled in vscode default settings (#45317) 2021-01-19 10:25:02 +01:00
Xiaonan Shen
c929fbeea3 Rewrite dyson fan test (#45295)
* Improve device fixture to take parameter

* Remove unused code in dyson/fan

* Rewrite dyson fan test
2021-01-19 10:12:38 +01:00
Robert Svensson
07c3981de7 Use methods available to verify link local address (#45309) 2021-01-19 09:15:41 +01:00
Erik Montnemery
852136ccfe Bump hatasmota to 0.2.5 (#45297) 2021-01-18 22:26:33 +01:00
Ville Skyttä
94dbcc9d2b Generics and other type hint improvements (#45250) 2021-01-18 22:23:25 +01:00
Alan Tse
4928476abe Allow notify services to update existing targets (#45283) 2021-01-18 21:42:20 +01:00
Matthias Alphart
8d3564e275 Update xknx to 0.16.1 (#45247) 2021-01-18 10:15:28 -05:00
Charles Garwood
8de0b7b948 Add add & remove node commands to zwave_js websocket api (#45232) 2021-01-18 10:08:52 -05:00
Greg Dowling
adab9adbce Pyroon discovery (#44811)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2021-01-18 10:00:30 -05:00
Xiaonan Shen
5ee4479151 Rewrite dyson vacuum test (#45265) 2021-01-18 09:56:54 -05:00
J. Nick Koston
c621c0fa5d Remove YAML support from nut (#45276) 2021-01-18 15:16:42 +01:00
Robert Svensson
8e0addd216 Fix error with Axis light events without representation in light control (#45277) 2021-01-18 15:00:27 +01:00
gregod
cf9ea6f82d Sanitize user-agent in wrong_login message (#45251) 2021-01-18 09:21:30 +01:00
Raman Gupta
b2f914823d Add climate platform to zwave_js (#45177)
* add zwave_js support for climate

* fix

* add fixture

* rename fixture

* fix variable name error

* add tests

* fix tests and handle set_temp properly based on unit

* update call being tested

* fix tests

* improve coverage

* fix docstring

* address review comments

* fix test

* update enum class name

* bump zwave-js-server-python version and assume primary_value is always set

* add additional coverage

* fix docstrings and move populating modes/presets into initialization

* attempt to address comments

* improve comment

* move mode value into a variable so its easier to iterate in the future

* dont assume mode as a discovery point

* assume all values are available when node is ready

* fix order of operations

* switch to valueerror

* use primary value

* readd property and type to discovery schema
2021-01-18 03:45:06 +01:00
Greg Dowling
a1b0d6baad Improve Roon media player play_media (#45221)
* Use revised play_media api.

* Move split path function to library.
2021-01-17 21:00:30 +01:00
J. Nick Koston
ae3d038baa Update gogogate2 to be async (#42066) 2021-01-17 11:38:30 -06:00
jlvaillant
a50fba4e0b more graceful shutdown in the presence of a proxy_stream (#45246) 2021-01-17 17:10:22 +01:00
Andre Lengwenus
21b9b6b2c8 Bump pypck to 0.7.9 (#45267) 2021-01-17 15:56:21 +01:00
Daniel Hjelseth Høyer
34a9b93d41 Update Tibber library, pyTibber==0.16.1 (#45263)
Signed-off-by: Daniel Hjelseth Høyer <github@dahoiv.net>
2021-01-17 14:42:52 +01:00
Xiaonan Shen
dcd17530cd Add device classes to Dyson sensors (#45264) 2021-01-17 14:41:32 +01:00
Wim Fournier
e828e18156 Add preheater current power to comfoconnect (#44083)
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2021-01-17 12:30:38 +01:00
J. Nick Koston
fbc98b1291 Make DHCP discovery ignore self assigned ip addresses (#45256) 2021-01-17 10:35:02 +01:00
Xiaonan Shen
a42d43d054 Improve dyson code (#45172)
* Improve air_quality

* Improve climate

* Improve sensor

* Improve vacuum

* Improve fan

* Fix pylint

* Improve on_message

* Change unique ID back

* Remove unused attribute

* Remove redundant current_humidity

* Merge current_temperature

* Rename fan device to fan entity

* Fix filter life sensors

* Remove unneeded context switch

* Remove entity_type

* Fix pylint

* Add comment on humidity check
2021-01-17 10:24:26 +01:00
J. Nick Koston
28a611f3da Use standard device tracker attributes for "ip" and "mac" in Mikrotik (#45255)
* Mikrotik now uses the device_tracker standard attributes for "ip" and "mac"

The "mac_address" and "ip_address" attributes have been removed.

* Update homeassistant/components/mikrotik/device_tracker.py
2021-01-17 10:18:07 +01:00
J. Nick Koston
41e7d960ee Use dispatcher for unifi heartbeat tracking (#45211)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-01-17 03:10:52 +01:00
J. Nick Koston
b71a9b5e28 Prefill the ip address for powerwall discovery (#45209) 2021-01-17 03:09:04 +01:00
J. Nick Koston
11cbf1152d Add dhcp discovery properties to mikrotik (#45205) 2021-01-17 00:26:32 +01:00
Diogo Gomes
1454349813 Re-add support for input_number as source of filter integration (#45245) 2021-01-16 23:57:32 +01:00
Allen Porter
bf4b4623aa Bump google-nest-sdm to 0.2.9 (#45244)
This library contains user experience for the case where oauth
token cannot be refreshed on startup, which regressed after
https://github.com/home-assistant/core/pull/44686
2021-01-16 23:39:33 +01:00
Klaudiusz Staniek
d4b3cf9c47 Fix the use of muted volume if not previously set in mpd (#45018) 2021-01-16 22:40:59 +01:00
Paulus Schoutsen
2de0b2aeca Merge pull request #45242 from home-assistant/rc 2021-01-16 22:35:52 +01:00
Sean Dague
278c5193a6 Bump mychevy version to 2.1.0 (#44810) 2021-01-16 22:25:41 +01:00
Paulus Schoutsen
34b90fd925 Bumped version to 2021.1.4 2021-01-16 22:05:42 +01:00
Alexei Chetroi
120304f235 Bump up ZHA dependency (#45230) 2021-01-16 22:05:08 +01:00
Philip Allgaier
a66528c640 Fix all forecast datetime values in OpenWeatherMap (#45202) 2021-01-16 22:02:58 +01:00
Jacob Southard
2d4576ddcf Fix HomeKit climate integration for devices with a single set point in Heat_Cool mode. (#45065)
* Check supported flags in auto mode, and add tests.

* Fix test description.
2021-01-16 22:02:57 +01:00
Sjack-Sch
7d2fd4bce5 Fix Home Connect ambient color (#45038) 2021-01-16 22:02:56 +01:00
Martin Weinelt
cecb711fe5 Update python-mpd2 to 3.0.3 (#45141)
Fixes: #44931
2021-01-16 20:45:54 +01:00
J. Nick Koston
3a3e5e636b Switch somfy to zeroconf discovery (#45158) 2021-01-16 20:41:41 +01:00
Robert Chmielowiec
fa8ae77a6f Bump pycomfoconnect to 0.4 (#45201) 2021-01-16 20:29:21 +01:00
Penny Wood
c8990e373d Add Homekit discovery for iZone (#45223) 2021-01-16 20:22:03 +01:00
Robert Svensson
d80ef6c5fb Create shortcuts for config entry parameters in Axis device (#45233) 2021-01-16 19:54:48 +01:00
Alexei Chetroi
0b9687f7bd Bump up ZHA dependency (#45230) 2021-01-16 13:43:35 -05:00
Martin Hjelmare
e72e66ae6f Bump zwave-js-server-python to 0.11.0 (#45231) 2021-01-16 19:26:15 +01:00
Robert Svensson
3cc45697cb Prettier Zeroconf discovery name for Axis devices (#45216)
* Change zeroconf name to be based of prettier name rather than hostname to help user understand what device is discovered
Have a full zeroconf discovery message in tests
Clean up unusued globals

* Use non-formatted serial number for config entry title as well
2021-01-16 18:59:57 +01:00
Shay Levy
8151721fbc Move switcher_kis services to entity services (#45204) 2021-01-16 18:18:40 +01:00
Raman Gupta
562d30319b Add lock platform to zwave_js (#45175)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-01-16 11:43:25 -05:00
Franck Nijhof
b6148bbbe7 Add DHCP discovery to Toon (#45222) 2021-01-16 15:20:56 +01:00
J. Nick Koston
74082194a6 Add dhcp discovery to squeezebox (#45210) 2021-01-16 14:25:15 +01:00
Penny Wood
7c7b357357 Handle older Izone controller (#45218)
* Updated to new library
* Fixed config flow exception
2021-01-16 21:24:00 +08:00
Robert Svensson
2044b33eb6 Add DHCP discovery support to Axis integration (#45167) 2021-01-16 11:03:56 +01:00
J. Nick Koston
233f923cd7 Add support for discovering individual roombas (#45200)
* Add support for discovering individual roombas

* add missing translation string

* Update homeassistant/components/roomba/strings.json

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

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-01-15 21:28:12 -10:00
J. Nick Koston
5e01b828af Discover devices from device_trackers with router sources (#45160)
* Discover devices from device_trackers with router sources

* Update homeassistant/components/dhcp/__init__.py

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

* fix stop being called on the wrong context

* clean

* move it to base

* cleanup was too agressive

* Update homeassistant/components/dhcp/__init__.py

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

* coverage

* revert legacy changes

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-01-16 01:01:37 +01:00
Robert Svensson
598a0d19b1 Normalise unique ID in Axis integration (#45203)
* Move adding unique id to config entry from setup_entry to migrate_entry

* Normalise unique ID

* MQTT subscribe should still use the serial number in the way the device itself expects
2021-01-16 01:01:14 +01:00
J. Nick Koston
b3764da912 Fix exception when trying to configure an ignored somfy mylink (#45198) 2021-01-16 00:48:19 +01:00
Philip Allgaier
5677adc104 Fix all forecast datetime values in OpenWeatherMap (#45202) 2021-01-15 23:32:38 +01:00
On Freund
03b2fbd043 Fix Typo in Onkyo A/V info (#45194) 2021-01-15 15:18:45 -05:00
J. Nick Koston
cffb1458a1 Improve dhcp discovery for somfy_mylink to handle multiple devices (#45166)
* Improve dhcp discovery for somfy_mylink to handle multiple devices

* Fix ip

* normalize

* logging debug

* force str

* we need a str

* fix tests

* add tests

* pylint
2021-01-15 19:47:25 +01:00
Sjack-Sch
7ce897f373 Fix Home Connect ambient color (#45038) 2021-01-15 19:40:29 +01:00
Martin Hjelmare
74c81b7c01 Bump zwave-js-server-python to 0.10.0 (#45189) 2021-01-15 19:32:10 +01:00
Sergio Conde Gómez
2e42a862b0 Remove service and config schemas from foscam (#45154) 2021-01-15 18:24:31 +01:00
Charles Garwood
9dbf14188a Add WebSocket API Foundation for zwave_js (#45151) 2021-01-15 15:17:40 +01:00
Marcel van der Veldt
071c8cc67d Add binary_sensor platform to zwave_js (#45081)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-01-15 09:15:03 -05:00
Franck Nijhof
b4268edd6a Merge pull request #45186 from home-assistant/rc 2021-01-15 14:33:52 +01:00
Franck Nijhof
e70abf5434 Merge branch 'master' into rc 2021-01-15 14:04:21 +01:00
Franck Nijhof
572b323ade Bumped version to 2021.1.3 2021-01-15 13:58:52 +01:00
Pascal Vizeli
f91d40ac38 Bump aioHTTP 3.7.3 - YARL 1.6.3 (#45180) 2021-01-15 13:58:19 +01:00
Franck Nijhof
48be748058 Extend filter and filter tests (#45179) 2021-01-15 13:58:15 +01:00
Franck Nijhof
c2deadf994 Add filtering 2021-01-15 13:57:56 +01:00
Pascal Vizeli
e1427c45f2 Bump aioHTTP 3.7.3 - YARL 1.6.3 (#45180) 2021-01-15 13:19:22 +01:00
Tobias Sauerwein
b5690053a9 Only add Netatmo climate schedule attribute if not None (#45176) 2021-01-15 13:15:59 +01:00
Philip Allgaier
41b45c7f78 Auto-create friendly name for persistent notifications (#42427) 2021-01-15 12:13:56 +01:00
Paulus Schoutsen
93c2f2bbeb Bump Z-Wave JS Server Python to 0.9.0 (#45181) 2021-01-15 10:59:35 +01:00
Franck Nijhof
dee0f887de Extend filter and filter tests (#45179) 2021-01-15 10:30:29 +01:00
Marcel van der Veldt
a276f2d19e Fix zwave_js adding not fully interviewed nodes (#45162)
* fix situation were nodes are being added or not fully interviewed

* adjust test

* lint
2021-01-15 01:09:03 +01:00
J. Nick Koston
7fada806af Downgrade dhcp log message error message when running without CAP_NET_RAW (#45157) 2021-01-14 10:46:15 -10:00
Paulus Schoutsen
2600fdfa67 Merge pull request #45156 from home-assistant/rc 2021-01-14 20:50:23 +01:00
Franck Nijhof
0bd2c13e26 Add filtering 2021-01-14 20:26:08 +01:00
Philip Allgaier
0fdda9d0f6 Fix OpenWeatherMap forecast timestamp (#45124) 2021-01-14 19:20:16 +00:00
ehendrix23
7ac208ead6 Bump MyQ to 2.0.14 (#45067) 2021-01-14 19:20:15 +00:00
Joakim Sørensen
e1989399f0 Fallback to tag for any AfterShip tracking that have no checkpoints (#45053) 2021-01-14 19:20:14 +00:00
Santobert
d0216307f3 Fix neato battery sensor not ready (#44946)
* Fix neato battery sensor not ready

* Edit available attribute

* Remove unnecessary condition
2021-01-14 19:20:14 +00:00
Paulus Schoutsen
f141f18db7 Bumped version to 2021.1.2 2021-01-14 19:08:37 +00:00
rikroe
2294f11070 Bump bimmer_connected to 0.7.14 (#45086)
Co-authored-by: rikroe <rikroe@users.noreply.github.com>
2021-01-14 19:08:29 +00:00
Diogo Gomes
3771a800d3 Update the Utility Meter sensor status on HA start (#44765)
* fix status on HA start

* better coverage and fix

* fix test

* address review
2021-01-14 19:08:03 +00:00
Erik Montnemery
a1368ad3ed Remove beta tag from Tasmota integration (#45153) 2021-01-14 20:02:34 +01:00
Franck Nijhof
f047d04882 Add filtering 2021-01-14 20:02:01 +01:00
bchastain
3800a4feee Add pressure to OWM forecast data (#43843) 2021-01-14 19:47:48 +01:00
unaiur
ab518a7755 Migrate to maxcube-api 0.3.0 version (#45126)
Upgrade maxcube-api to solve bugs fixed in last 3 years.
2021-01-14 11:33:02 +01:00
Corbeno
4bca9596ee Rework Proxmoxve to use a DataUpdateCoordinator (#45068)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2021-01-14 11:31:37 +01:00
J. Nick Koston
4efe6762c4 Remove YAML support from harmony (#45140) 2021-01-14 09:45:32 +01:00
J. Nick Koston
23a73dc5b1 Mark YAML support for DoorBird deprecated (#45139) 2021-01-14 09:44:01 +01:00
On Freund
2ac658d257 Get A/V info for Onkyo receivers (#34477)
* Get A/V info for Onkyo receivers

* Fix lint errors

* Remove blank line

* Trigger CI
2021-01-14 09:39:11 +01:00
Erik Montnemery
e0c8b1aab6 Remove from_state from alarm device triggers (#45127) 2021-01-14 09:12:32 +01:00
J. Nick Koston
da677f7d5a Add support for discovery via DHCP (#45087)
* Add support for discovery via DHCP

* additional tesla ouis

* merge tests

* dhcp test

* merge requirements test

* dhcp test

* dhcp discovery

* dhcp discovery

* pylint

* pylint

* pylint

* fix

* Add matching tests

* 100% cover

* cleanup

* fix codespell

* Update exception handling

* remove unneeded comment

* fix options handling exception

* fix options handling exception
2021-01-14 09:09:08 +01:00
Philip Allgaier
402a0ea7da Fix OpenWeatherMap forecast timestamp (#45124) 2021-01-14 08:47:45 +01:00
ehendrix23
17cb071173 Bump MyQ to 2.0.14 (#45067) 2021-01-13 20:15:23 -10:00
Petro31
3ebc5d45a8 Add energy and power sensor tests & fix device_class (#45122) 2021-01-13 15:37:54 -05:00
Nikolay Vasilchuk
eca6bc6a73 Starline OBD information (#37608)
* Starline OBD data

* Small fix

* Review (comments)

* Review (service description)

* Review (service method)

* starline updated to 0.1.5

* Small typo fix
2021-01-13 20:44:24 +01:00
TimothyLeeAdams
7872e6caf8 Change attribute key for Lutron cover to lutron_integration_id (#45114)
Currently, covers return "Lutron Integration ID" as a state attribute. This is inconsistent with the light, switch, and binary_sensor which return "lutron_integration_id".
2021-01-13 18:59:57 +01:00
Julien Roy
94417e3e14 Add start torrent and stop torrent service for transmission integration (#43920) 2021-01-13 17:44:57 +01:00
Tobias Sauerwein
e05bb7e858 Expose selected Netatmo schedule (#45077) 2021-01-13 17:01:29 +01:00
Paulus Schoutsen
732cf47ff6 Filter some Alexa reports that are duplicate (#45093)
* Filter some Alexa reports that are duplicate

* When state changes during reporting, only report last state, not all state changes
2021-01-13 16:54:54 +01:00
Diogo Gomes
81c77942eb Update the Utility Meter sensor status on HA start (#44765)
* fix status on HA start

* better coverage and fix

* fix test

* address review
2021-01-13 16:42:28 +01:00
Martin Hjelmare
79d37fdf12 Add zwave_js light platform tests (#45107)
* Add bulb 6 multi color device state fixture

* Add light test foundation

* Add no cover comment for todo code

* Update hs_color

* Test turn on light

* Test light turn off

* Fix brightness comparison

* Test setting same brightness

* Test setting same rgb color

* Test color temp update

* Test setting same color temp

* Add entity module to coverage calculation

* Fix typing
2021-01-13 16:28:51 +01:00
Alexei Chetroi
de8f273bd0 Allow input_number entity_id as for numeric_state trigger thresholds (#45091)
* Allow input_number as limits for numeric_state trigger

* Rename threshold schema
2021-01-13 16:20:59 +01:00
Sergio Conde Gómez
83b210061d Add config_flow and stream selection to foscam (#41429)
* Add config_flow and stream selection to foscam

* Simplify config_flow steps

* Make debug log entry more useful

* Deprecate config and platform schemas

* Simplify config loading

* Add config flow testing

* Remove unneeded CONFIG_SCHEMA deprecation

* Improve test coverage

* Unload service by tracking loaded entries

* Address comment

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2021-01-13 16:09:05 +01:00
Martin Hjelmare
3537a7c3d5 Correct zwave_js value changed callback signature (#45110) 2021-01-13 15:31:31 +01:00
rikroe
938d8be0c8 Bump bimmer_connected to 0.7.14 (#45086)
Co-authored-by: rikroe <rikroe@users.noreply.github.com>
2021-01-13 15:25:28 +01:00
jjlawren
411cc6542c Move Plex->Sonos playback to built-in service (#45066)
* Move Plex->Sonos playback service from integration to platform

* Test against 'native' Plex media_players

* Add Plex to Sonos after_dependencies

* Remove circular dependency

* Raise exceptions in failed service calls

* Add test to forward service call from Sonos

* Additional Sonos->Plex tests

* Fix docstring
2021-01-13 15:24:44 +01:00
Jacob Southard
3364e945aa Fix HomeKit climate integration for devices with a single set point in Heat_Cool mode. (#45065)
* Check supported flags in auto mode, and add tests.

* Fix test description.
2021-01-13 15:21:32 +01:00
Jesse Hills
f78b02b163 Do not try to connect to disabled ESPHome devices. (#45092) 2021-01-13 15:17:13 +01:00
J. Nick Koston
ffd9c4e410 Add additional roku model to discovery (#45103) 2021-01-13 15:14:45 +01:00
badguy99
b9e4d5988f Soma: fix battery drain issue caused by excess update requests (#45104)
* split up update and throttle update on sensor

* Update imports

* Add blank lines for isort
2021-01-13 15:14:15 +01:00
Robert Svensson
6325bc8bfe Follow Axis library changes and improve tests (#44126) 2021-01-13 14:03:54 +01:00
ErnstEeldert
ff3a1f2050 Add device class attribute to tado humidity sensor state (#45084)
* add device class attribute to humidity sensor state

* * explict return none
* use const for device class value

* removed unnecessary icon definitions
2021-01-13 13:45:11 +01:00
Alexei Chetroi
ec038bc6ea Allow any parameter of a light profile as an optional parameter (#44079)
* No code duplication for profile application

* Refactor color profile as a dataclass

* Typing

* Make color_x and color_y of a Light profile optional

* Update tests

* Make brightness field of a Light profile optional

* Transition can be of a float type

* Allow fractional transition times in light profiles

Make transition of a float type.
Allow transition to be optional with 5 column CSV files.

* Make pylint happy

* Fix dropped async_mock

* Simplify CSV row schema
2021-01-13 12:11:20 +01:00
Santobert
10bc05df00 Fix neato battery sensor not ready (#44946)
* Fix neato battery sensor not ready

* Edit available attribute

* Remove unnecessary condition
2021-01-13 10:23:16 +01:00
J. Nick Koston
ac60b34d17 Roomba cleanups (#45097)
* Roomba cleanups

Remove async_step_init backwards compat

Move urls to description_placeholders.

Fix typos

* fix test

* fix fallback to manual when roomba is in the wrong state
2021-01-13 07:27:25 +01:00
Allen Porter
eebd0d333e Clear cached nest event images after expiration (#44956)
* Clear cached nest event images after expiration

* Don't share removal cleanup with alarm cleanup

Don't share code across these functions since it would require a dummy timestamp values that is unnecessary.

* Increase test coverage on sdm camera remove

* Update homeassistant/components/nest/camera_sdm.py

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

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2021-01-12 22:08:59 -08:00
Paulus Schoutsen
82746616fa Cloud: Add web socket API to pick default TTS language (#45064)
* Allow picking default TTS language

* Fix test

* Fix coroutine function

* Improve test coverage

* Remove stale import

* Clean up hass

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-01-13 00:05:30 +01:00
Paulus Schoutsen
4e71be852a Bump Z-Wave JS to 0.7.1 (#45080) 2021-01-12 16:18:06 +01:00
Charles Garwood
be2aba6c52 Fix docstring in zwave_js switch test (#45076) 2021-01-12 14:29:12 +01:00
Joakim Sørensen
8ce32d67f9 Fallback to tag for any AfterShip tracking that have no checkpoints (#45053) 2021-01-12 10:33:14 +01:00
Paulus Schoutsen
e83ced6737 Add name to ignored entries (#45051)
* Add name to ignored entries

* Fix test
2021-01-12 09:26:20 +01:00
Charles Garwood
f312b87a3f Add switch platform to zwave_js (#45046) 2021-01-11 18:40:39 -05:00
Philip Allgaier
cad2fa89ed Default input_datetime to current date (#45052) 2021-01-11 23:45:58 +01:00
Philip Allgaier
bade98624d Fix tests for input_datetime (#45055) 2021-01-11 23:13:16 +01:00
J. Nick Koston
13cdf0ba63 Cleanups for somfy_mylink (#45026)
* Cleanups for somfy_mylink

* Use the target/unique_id to configure reverse

* Simplify options flow

* Various code review cleanups

* Deprecate YAML

* revert get change

* revert get change

* add note about empty response

* move CONF_DEFAULT_REVERSE out of loop

* Update homeassistant/components/somfy_mylink/config_flow.py

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

* Ensure we deepcopy options

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-01-11 10:10:02 -10:00
Paulus Schoutsen
f19b72ea02 Drop awarecan from codeowners (#45049) 2021-01-11 17:58:59 +01:00
Simone Chemelli
bc2c7b2d48 Add Shelly RGB devices management (#43993)
* Add support for RGB devices

* White value handling

* Fixed logic for some devices (ColorTemp, White, Kelvin limits)

* Code cleanup

* Moved func from utils to light

* Fix for DUO

* Added "Optional" to properties that need it

* Code more understandable

* Applied code review suggestions

* Applied code review suggestions

* Updated logic to always show all available options
2021-01-11 16:47:49 +01:00
Shay Levy
e3f38942cc Add 100% tests coverage for Shelly cover and switch platforms (#45001) 2021-01-11 16:45:06 +01:00
Martin Hjelmare
d270f9515b Add zwave_js init module tests (#45048)
* Add entry setup and unload test

* Test home assistant stop

* Test on connect and on disconnect

* Test client connect timeout

* Test ready node added

* Test non ready node added

* Test existing node not ready

* Test device registry state

* Add common test tools module

* Add existing ready node test

* Include init module in coverage calculation

* Clean docstrings
2021-01-11 16:05:11 +01:00
Erik Montnemery
d60fc0de38 Add availability_mode "all" and "any" to MQTT entities (#44987)
* Add availability_mode "all" to MQTT entities

* Add availability mode any
2021-01-11 16:04:22 +01:00
J. Nick Koston
74e7f7c879 Update roomba config flow to walk users through pairing (#45037)
* Update roomba config flow to walk users though pairing

* Remove YAML support

* adjust tests

* increase cover

* pylint

* pylint
2021-01-11 14:46:54 +01:00
J. Nick Koston
eb5f3b282b Mark YAML support for August deprecated (#45039) 2021-01-11 14:40:32 +01:00
J. Nick Koston
38a5f25b59 Fix vacuums that do not support start with homekit (#45030)
* Fix vacuums that do not support start with homekit

* fix tests
2021-01-11 14:38:42 +01:00
Allen Porter
65e3661f88 Repair flaky and broken stream tests in test_hls.py, and turn back on (#45025)
* Unmark tests as flaky (though still flaky)

This put tests into the broken state where they are flaky and do not yet pass

* Fix bug in test_hls_stream with incorrect path

* Enable and de-flake HLS stream tests

Background: Tests encode a fake video them start a stream to be decoded. Test
assert on the decoded segments, however there is a race with the stream worker
which can finish decoding first, and end the stream which ereases all buffers.

Breadown of fixes:
- Fix the race conditions by adding synchronization points right before the
  stream is finalized.
- Refactor StreamOutput.put so that a patch() can block the worker
  thread.  Previously, the put call would happen in the event loop which was
  not safe to block. This is a bit of a hack, but it is the simplist possible
  code change to add this synchronization and arguably provides slightly better
  separation of responsibilities from the worker anyway.
- Fix bugs in the tests that make them not pass, likely due to changes
  introduced while the tests were disabled
- Fix case where the HLS stream view recv() call returns None, indicating
  the worker finished while the request was waiting.

The tests were previously failing anywhere from 2-5% of the time on a lightly
loaded machine doing 1k iterations.  Now, have 0% flake rate.  Tested with:
$ py.test --count=1000 tests/components/strema/test_hls.py
2021-01-11 14:34:45 +01:00
Charles Garwood
ed4e8cdbc5 Bump zwave-js-server-python to 0.7.0 (#45045) 2021-01-11 14:34:08 +01:00
J. Nick Koston
af21893652 Remove safe mode from HomeKit (#45028)
Safe mode was added to work around a race condition where
the mdns announcment was sent too early and would cause
pairing to fail. Since this has been corrected in
HAP-python, there is no longer a need to have
safe mode.
2021-01-11 14:26:09 +01:00
Paulus Schoutsen
e584902b8b Remove empty schema (#45044) 2021-01-11 14:25:09 +01:00
Stefan Agner
54064b4010 Increase timeout to avoid killing the core during shutdown (#45029)
Stopping the core goes through several stages, which can take up to
120s, 60s and 30s respectively. However, if shutdown is taking longer
than 60s overall, s6 isn't patient and kills the core:
Jan 10 23:56:58 homeassistant eb034fca9c7d[407]: s6-svwait: fatal: timed out
Jan 10 23:56:58 homeassistant eb034fca9c7d[407]: [s6-finish] sending all processes the TERM signal.
Jan 10 23:57:01 homeassistant eb034fca9c7d[407]: [s6-finish] sending all processes the KILL signal and exiting.

This is most of the time not a problem since shutdown is quicker than
that.

However, increasing the timeout is especialy useful to debug cases when
an event is hanging, since the core will point it out after its timeout
elapsed.

Set the timeout to 220s, which is all core timeouts plus 10s grace time.
2021-01-11 11:24:02 +01:00
Stefan Agner
ab25c5a2bd Shutdown asyncio http server within 10 seconds (#45033)
If there are open requests, the http server waits up to 60 seconds.
However, some requests (such as the Reboot button) seems to keep a
connection open and needlessly slow down the reboot process:

```
Jan 11 00:52:54 homeassistant eb034fca9c7d[404]: 2021-01-11 00:52:54 DEBUG (MainThread) [homeassistant.core] Bus:Handling <Event homeassistant_stop[L]>
Jan 11 00:52:54 homeassistant eb034fca9c7d[404]: 2021-01-11 00:52:54 DEBUG (MainThread) [homeassistant.helpers.restore_state] Dumping states 111
Jan 11 00:52:54 homeassistant eb034fca9c7d[404]: 2021-01-11 00:52:54 DEBUG (MainThread) [homeassistant.helpers.restore_state] Dumping states
Jan 11 00:52:54 homeassistant eb034fca9c7d[404]: 2021-01-11 00:52:54 INFO (MainThread) [homeassistant.components.websocket_api.http.connection] [281473359593728] Connection closed by client
Jan 11 00:52:56 homeassistant eb034fca9c7d[404]: 2021-01-11 00:52:56 DEBUG (MainThread) [homeassistant.components.websocket_api.http.connection] [281473359593728] Disconnected
Jan 11 00:53:54 homeassistant eb034fca9c7d[404]: 2021-01-11 00:53:54 DEBUG (MainThread) [homeassistant.core] Waited 60 seconds for task: <Task pending name='Task-585' coro=<async_setup.<locals>.stop_server() running at /usr/src/homeassistant/homeassistant/components/http/__init__.py:228> wait_for=<_GatheringFuture pending cb=[<TaskWakeupMethWrapper object at 0xffff9f112f70>()]> cb=[_wait.<locals>._on_completion() at /usr/local/lib/python3.8/asyncio/tasks.py:518]>
...
```
2021-01-11 09:36:14 +01:00
Charles Garwood
d68fdbc283 Add zwave_js integration (#45020)
* Run zwave_js scaffold (#44891)

* Add zwave_js basic connection to zwave server (#44904)

* add the basic connection to zwave server

* fix name

* Fix requirements

* Fix things

* Version bump dep to 0.1.2

* fix pylint

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

* Bump zwave-js-server-python to 0.2.0

* Use zwave js server version check instead of fetching full state (#44943)

* Use version check instead of fetching full state

* Fix tests

* Use 0.3.0

* Also catch aiohttp client errors

* Update docstring

* Lint

* Unignore zwave_js

* Add zwave_js entity discovery basics and sensor platform (#44927)

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

* Complete zwave_js typing (#44960)

* Type discovery

* Type init

* Type entity

* Type config flow

* Type sensor

* Require typing of zwave_js

* Complete zwave_js config flow test coverage (#44955)

* Correct zwave_js sensor device class (#44968)

* Fix zwave_js KeyError on entry setup timeout (#44966)

* Bump zwave-js-server-python to 0.5.0 (#44975)

* Remove stale callback signal from zwave_js (#44994)

* Add light platform to zwave_js integration (#44974)

* add light platform

* styling fix

* fix type hint

* Fix typing

* Update homeassistant/components/zwave_js/const.py

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

* Update homeassistant/components/zwave_js/entity.py

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

* Update homeassistant/components/zwave_js/entity.py

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

* Update homeassistant/components/zwave_js/entity.py

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

* Update homeassistant/components/zwave_js/entity.py

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

* Update homeassistant/components/zwave_js/entity.py

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

* color temp should be integer

* guard Nonetype error

* Update homeassistant/components/zwave_js/light.py

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

* Update homeassistant/components/zwave_js/light.py

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

* some fixes after merging

* add additional guards for None values

* adjustments for rgb lights

* Fix typing

* Fix black

* Bump zwave-js-server-python to 0.6.0

* guard value updated log

* remove value_id lookup as its no longer needed

* fiz sending white value

* Update homeassistant/components/zwave_js/light.py

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

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

* Add zwave_js test foundation (#44983)

* Exclude text files from codespell

* Add basic dump fixture

* Add test foundation

* Fix test after rebase

* Exclude jsonl files from codespell

* Rename fixture file type to jsonl

* Update fixture path

* Fix stale docstring

* Add controller state json fixture

* Add multisensor 6 state json fixture

* Update fixtures

* Remove basic dump fixture

* Fix fixtures after library bump

* Update codeowner

* Minor cleanup Z-Wave JS (#45021)

* Update zwave_js device_info (#45023)

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
Co-authored-by: Marcel van der Veldt <m.vanderveldt@outlook.com>
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2021-01-11 00:08:25 +01:00
Ryan Fleming
1402e7ae56 Use the camera UUID as the entity unique id (#44937) 2021-01-10 23:23:32 +01:00
Philip Allgaier
4de9f5194f Include current version in updater log output (#45022) 2021-01-10 21:37:55 +01:00
J. Nick Koston
f5b389faa8 Warn users when their HomeKit configuration may be unstable (#44999) 2021-01-10 09:38:41 -10:00
J. Nick Koston
4b54694c5c Add config flow for somfy_mylink (#44977)
* Add config flow for somfy_mylink

* fix typo
2021-01-10 20:24:22 +01:00
J. Nick Koston
b450d4c135 Improve unifi performance with many devices (#45006)
With 250 clients, there were about 18000 timers updated every
minute. To avoid this, we check which entities should be set
to not_home only once every second.
2021-01-10 20:12:21 +01:00
Olivier Cloirec
707a8e62f9 Add stop support to openzwave (mqtt) cover (#44622)
* feat: add stop to openzwave (mqtt) cover

* Fix isort and black linter

* Remove supported_features for cover.

As suggested by @MartinHjelmare, not needed anymore because base class
implementation is sufficient.

https://github.com/home-assistant/core/pull/44622#discussion_r549854542

* Make a simpler version depending on idempotency

qt-openzwave already implements idempotency, see:
77e414217f/qt-openzwave/source/qtozwvalueidmodel.cpp (L180)

We can use it and trigger button release anywhen.

* Clean up

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-01-10 18:05:52 +01:00
Allen Porter
a73a82e381 Improve nest client error handling using newest library (#44998) 2021-01-09 17:52:30 -08:00
Josef Schlehofer
f240106189 Upgrade requests to 2.25.1 (#44989) 2021-01-09 20:02:50 +01:00
Erik Montnemery
248802efd5 Add MQTT base entity (#44971) 2021-01-09 17:46:53 +01:00
Paulus Schoutsen
75615bd92a Merge pull request #44982 from home-assistant/rc
2021.1.1
2021-01-09 16:02:54 +01:00
Paulus Schoutsen
9524766b07 Bumped version to 2021.1.1 2021-01-09 14:31:14 +00:00
ehendrix23
21121b6e9b Bump pymyq to 2.0.13 (#44961) 2021-01-09 14:31:10 +00:00
Erik Montnemery
1b0e0996af Fix parameters when toggling light (#44950) 2021-01-09 14:31:09 +00:00
Sergio Oller
0e4c560f38 Disambiguate Supervisor HTTPUnauthorized on user/password validation (#44940)
* Disambiguate HTTPUnauthorized on user/password validation

The HA core API usually returns 401 when the request does not
have proper authentication tokens or they have expired.

However the user/password validation endpoint may also return
401 when the given user/password is invalid.

The supervisor is currently unable to distinguish both scenarios,
and it needs to.

See https://github.com/home-assistant/supervisor/issues/2408

* Return 404 if user& password are not found/valid

* Fix test for invalid user/password
2021-01-09 14:31:09 +00:00
J. Nick Koston
5dfe8e15e3 Fix wait_template incorrectly matching falsey values (#44938) 2021-01-09 14:31:07 +00:00
Matthias Alphart
5ef6f87ab9 Fix KNX cover state return open when unknown (#44926) 2021-01-09 14:31:07 +00:00
ehendrix23
eabe757e20 Bump pymyq to 2.0.13 (#44961) 2021-01-09 15:29:48 +01:00
Martin Hjelmare
8b72324ae6 Add zwave to ozw migration (#39081)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2021-01-09 15:23:03 +01:00
bchastain
982c42e746 Add pressure forecast to HA weather entity model (#44965) 2021-01-09 14:52:49 +01:00
Erik Montnemery
6dd6d9b368 Deduplicate MQTT entity discovery code (#44970) 2021-01-09 14:37:33 +01:00
Erik Montnemery
2d9eb25142 Fix parameters when toggling light (#44950) 2021-01-09 01:10:47 +01:00
Erik Montnemery
b85efd343f Move MQTT entity helpers to separate file (#44838)
* Move MQTT entity helpers to separate file

* Fix imports

* Update MQTT number

* Review comments

* Fix formatting
2021-01-09 00:47:17 +01:00
Ville Skyttä
3a88a4120e Helpers type hint improvements (#44964) 2021-01-09 00:08:34 +01:00
Ville Skyttä
3569d92385 Remove script/test (#44967)
It's still referencing tox py36, which has been obsolete for over a
year.
2021-01-08 23:58:39 +01:00
Diogo Gomes
e3c1281616 Add MQTT Number (non optimistic) (#44883)
* non optimistic

* test restored state

* ups

* review

* Ensure the entity is not in optimistic mode

Co-authored-by: Erik Montnemery <erik@montnemery.com>

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2021-01-08 23:43:14 +01:00
Tobias Sauerwein
8fa62329a4 Fix Netatmo climate boost for valves (#44957) 2021-01-08 18:41:31 +01:00
Sergio Oller
905100a189 Disambiguate Supervisor HTTPUnauthorized on user/password validation (#44940)
* Disambiguate HTTPUnauthorized on user/password validation

The HA core API usually returns 401 when the request does not
have proper authentication tokens or they have expired.

However the user/password validation endpoint may also return
401 when the given user/password is invalid.

The supervisor is currently unable to distinguish both scenarios,
and it needs to.

See https://github.com/home-assistant/supervisor/issues/2408

* Return 404 if user& password are not found/valid

* Fix test for invalid user/password
2021-01-08 17:28:22 +01:00
J.P. Hutchins
793adb7f40 Add torrent id to Transmission events (#44187)
* Fire event after object update; clarify code across related methods

* Change var to torrent, clarity

* Add typehints,  _ prefix private attributes
2021-01-08 07:53:47 -08:00
Joakim Sørensen
d99bc99d9b Prefix versions in system health (#44921)
* Prefix versions in system health

* Adjust test

* Update homeassistant/components/hassio/strings.json
2021-01-08 16:03:06 +01:00
Ottavio Campana
58195c64b7 Fix media renderers without volume control (#44874)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2021-01-08 14:15:54 +01:00
J. Nick Koston
7c93a11aba Fix wait_template incorrectly matching falsey values (#44938) 2021-01-08 13:07:50 +01:00
Fabian Affolter
c457ea854c Upgrade youtube_dl to 2021.01.03 (#44942) 2021-01-08 11:59:30 +01:00
Fabian Affolter
e134c17df2 Upgrade discord.py to 1.6.0 (#44941) 2021-01-08 11:53:46 +01:00
Matthias Alphart
30189fb5d5 Fix KNX cover state return open when unknown (#44926) 2021-01-08 11:50:02 +01:00
Michael Chisholm
e35e460e69 Use parent_id to find cause of logbook events with new contexts (#44416)
* Use parent_id to find cause of events with new contexts

When looking up the causing event for logbook display, use the `parent_id`
of the current context if the current context just points back to the
current event.

This now shows in the logbook the cause of an event in the case that a
component has created a new context from an existing context and tied
them together via the `Context.parent_id`.

* Fix exception when parent event not available

* Use async_Log_entry to avoid jump into executor
2021-01-07 20:27:03 -10:00
Jamin Collins
3b184ad11c Implement support for additional ecobee hold modes (#40520)
* useEndTime2hour   - 2 hours
* useEndTime4hour   - 4 hours
* indefinite        - Until I change it

These changes have been tested with an ecobee3 lite running firmware
version 4.5.81.200

Signed-off-by: Jamin W. Collins <jamin.collins@gmail.com>
2021-01-07 18:09:22 -10:00
J. Nick Koston
c54a0f80af Update nexia to 0.9.5 (#44924) 2021-01-08 03:00:53 +01:00
Bouwe Westerdijk
cb3b37a87a Correct Plugwise sensor scaling (#44344)
* Remove sensor-scaling, handled by the back-end

* Correct assert-values

* Update test-fixtures

* Revert "Correct assert-values"

This reverts commit f1a1891f73.

* Adapt value to the updated userdata set

* Link to plugwise v0.8.5, update fixtures

* Correct test-values

* Fix typo
2021-01-08 02:44:00 +01:00
Ville Skyttä
20e2493f68 Improve device registry type hints (#44919)
* Fix async_get_or_create via_device type hint

* Specify collection element types
2021-01-08 02:38:57 +01:00
jjlawren
0426b211f6 Rewrite Plex tests to use mocked payloads (#44044) 2021-01-07 19:56:52 +01:00
Paulus Schoutsen
caf14b78d1 Homekit has two types (#44879) 2021-01-07 08:44:34 -10:00
Ville Skyttä
2fb3be50ab Make DeviceRegistry.async_get_device connections arg optional (#44897)
* Make async_get_device connections Optional, default None

* Remove unnecessary async_get_device connections arg usages

Some of these were using an incorrect collection type, which didn't
cause issues mostly just due to luck.
2021-01-07 13:49:45 +01:00
emufan
751ac0b955 Bump pydaikin version to 2.4.1 (#44888) 2021-01-06 20:15:16 +01:00
Franck Nijhof
92431049e5 Revert "Revert "Bump pypck to 0.7.8"" (#44885)
This reverts commit 6de8824980.
2021-01-06 18:01:06 +01:00
Franck Nijhof
1a44a8a714 Merge branch 'master' into dev 2021-01-06 17:59:14 +01:00
Franck Nijhof
bb1ebae5cb Merge pull request #44881 from home-assistant/rc 2021-01-06 17:37:48 +01:00
Ville Skyttä
03ffeb9a02 Fix notion bridge id update device registry identifier usage (#44872) 2021-01-06 09:18:04 -07:00
Franck Nijhof
57d119a7fe Revert "Bump pypck to 0.7.8" (#44884)
This reverts commit addafd517f.
2021-01-06 16:49:02 +01:00
Franck Nijhof
6de8824980 Revert "Bump pypck to 0.7.8" (#44884)
This reverts commit addafd517f.
2021-01-06 16:47:02 +01:00
Franck Nijhof
9c478e8de7 Bumped version to 2021.1.0 2021-01-06 16:03:04 +01:00
Allen Porter
560e3811a3 Generate nest images thumbnails from events (#44638)
* Capture nest still images from events

Use python google-nest-sdm API for fetching images.  Update home assistant
to use the google-nest-sdm API for fetching the image contents generated
by the server.  This uses the existing websession object for server fetches,
reducing the amount of new code and facilites unit testing using the existing
mechanism.

Simplify tests using the image fetch API rather than a snapshot API
2021-01-06 07:02:04 -08:00
treylok
9d03b56c5c Bump python-ecobee-api to 0.2.8 (#44866) 2021-01-06 14:26:32 +01:00
jjlawren
b6d323b008 Fix Plex media summary attribute (#44863) 2021-01-06 14:26:28 +01:00
Martin Hjelmare
88eac0be85 Bump pytradfri to 7.0.6 (#44661) 2021-01-06 14:26:19 +01:00
jjlawren
d3d66c2e27 Fix Plex media summary attribute (#44863) 2021-01-06 14:12:19 +01:00
dependabot[bot]
2e864ca435 Bump codecov/codecov-action from v1.2.0 to v1.2.1 (#44869)
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from v1.2.0 to v1.2.1.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/master/CHANGELOG.md)
- [Commits](https://github.com/codecov/codecov-action/compare/v1.2.0...e156083f13aff6830c92fc5faa23505779fbf649)

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-01-06 14:05:23 +01:00
Erik Montnemery
72e6d58a99 Bump pychromecast to 7.7.2 (#44871) 2021-01-06 13:41:21 +01:00
treylok
1c2f88c500 Bump python-ecobee-api to 0.2.8 (#44866) 2021-01-06 13:40:24 +01:00
Erik Montnemery
93ae65d704 Improve MQTT number test coverage (#44870) 2021-01-06 13:27:05 +01:00
JeromeHXP
1a65ab0b80 Address late review of ondilo_ico (#44837)
* Updates following comments in PR 44728

* Make all api calls in same thread context

* Set API as parameter to get_all_pools_data

* extract pools data retrieval function to api class
2021-01-06 12:36:39 +01:00
Erik Montnemery
02bfc68842 Support dynamic Google Cast groups (#44484)
* Re-add support for dynamic groups

* Add tests

* Add support for manufacturer

* Refactor support for dynamic groups

* Bump pychromecast to 7.7.0

* Bump pychromecast to 7.7.1

* Tweak tests

* Apply review suggestion
2021-01-06 09:23:18 +01:00
Diogo Gomes
f18880686c Add MQTT Number (#44739)
* Initial Commit

* initial commit

* add discovery and tests

* increase coverage

* address review

* catchup with reality
2021-01-06 08:27:46 +01:00
Franck Nijhof
c258c2653f Bumped version to 2021.1.0b3 2021-01-05 23:31:18 +01:00
Bram Kragten
587676f436 Update frontend to 20201229.1 (#44861) 2021-01-05 23:31:00 +01:00
Franck Nijhof
2ee50a4d54 Fix Canary doing I/O in event loop (#44854) 2021-01-05 23:30:55 +01:00
Finbarr Brady
fdce5878c6 Bump openwebifpy version: 3.1.6 → 3.2.7 (#44847) 2021-01-05 23:30:51 +01:00
Paulus Schoutsen
0b8251d9a1 Make Alexa custom ID unique (#44839)
* Make Alexa custom ID unique

* Lint

* Lint
2021-01-05 23:30:48 +01:00
Andre Lengwenus
e4a84bb1c3 Bump pypck to 0.7.8 (#44834) 2021-01-05 23:30:44 +01:00
TheJulianJES
9396d9db5f Implement color mode for ZHA light polling (#44829) 2021-01-05 23:30:41 +01:00
J. Nick Koston
b3fda469cf Fix zeroconf outgoing dns compression corruption for large packets (#44828) 2021-01-05 23:30:37 +01:00
Bram Kragten
cc57dd9534 Update frontend to 20201229.1 (#44861) 2021-01-05 23:27:35 +01:00
Paulus Schoutsen
009663602a Avoid Ps4 doing I/O during tests (#44845) 2021-01-05 21:12:14 +01:00
Franck Nijhof
34161f3ff6 Fix Canary doing I/O in event loop (#44854) 2021-01-05 20:55:17 +01:00
mvn23
35edc40537 Fix opentherm_gw firmware version in device registry (#44756) 2021-01-05 20:46:54 +01:00
Paulus Schoutsen
f1c116831f Patch Shelly test setting up entry (#44842) 2021-01-05 18:35:54 +01:00
Paulus Schoutsen
69b5176730 Make Alexa custom ID unique (#44839)
* Make Alexa custom ID unique

* Lint

* Lint
2021-01-05 17:35:28 +01:00
Finbarr Brady
16e1046dbc Bump openwebifpy version: 3.1.6 → 3.2.7 (#44847) 2021-01-05 17:22:25 +01:00
Ville Skyttä
67eebce55a Better general/fallback error message and traceback for unknown config errors (#44655)
* Include error repr in config error message is str(error) yields nothing

* Log traceback for config errors we don't have a "friendly" formatter for
2021-01-05 13:55:38 +01:00
Hans Oischinger
853420d972 Add Vicare set mode service (#44563)
* vicare: add set_vicare_mode service

The set_vicare_mode service allows the user to set any of the possible heating
modes of their heating device. Not just the ones that were mapped to
home assistant climate modes.

* vicare: Undo async changes and add heating mode

Useless async changes were undone.

To be able to set the most relevant modes the set_vicare_mode
shall be able to also set the heating mode (without domestic
hot water)

* Extract kwarg and undo some more async changes

Currectly extract the service argument

Adapt according to review

* Lint fixes

* Replace kwargs with single arg

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

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-01-05 12:12:31 +01:00
Shane Qi
c654476e24 Add support for reordering Shopping List Items via Drag and Drop (#41585)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2021-01-05 11:24:30 +01:00
Andre Lengwenus
addafd517f Bump pypck to 0.7.8 (#44834) 2021-01-05 10:01:34 +01:00
dependabot[bot]
106252ea21 Bump actions/upload-artifact from v2.2.1 to v2.2.2 (#44835)
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from v2.2.1 to v2.2.2.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/v2.2.1...e448a9b857ee2131e752b06002bf0e093c65e571)

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-01-05 09:51:48 +01:00
dependabot[bot]
0c85ed1385 Bump codecov/codecov-action from v1.1.1 to v1.2.0 (#44836)
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from v1.1.1 to v1.2.0.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/master/CHANGELOG.md)
- [Commits](https://github.com/codecov/codecov-action/compare/v1.1.1...a92c414703a4bba586f6df7fcc885c9d0bdff772)

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-01-05 09:51:19 +01:00
Allen Porter
6cd18971b1 Propose an integration quality for nest SDM integration (#44755)
* Propose the nest SDM integration is silver quality

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2021-01-04 19:45:33 -08:00
TheJulianJES
86154744e4 Implement color mode for ZHA light polling (#44829) 2021-01-04 21:57:05 -05:00
Ville Skyttä
65e56d03bf Complete device and entity registry type hints (#44406) 2021-01-05 02:03:16 +01:00
chpego
d315ab2cf5 Bump caldav version to 0.7.1 (#44815)
* bump caldav version 0.7.1

* Update requirements_all.txt

* Update requirements_test_all.txt
2021-01-04 16:49:01 -07:00
Mike Keesey
60a1948ab0 Generate switches for harmony activities automatically (#42331)
* Adding switch code for harmony activities

* Working on-off

* Removing poll code for now

* Async updates for current activity

* Update our state based on events

* Notifications we got connected or disconnected

* Remove unncessary constructor arg

* Initial switch tests

* Additional tests for switch transitions

* Test transitions for availability

* Testing switch state changes

* Tests passing

* Final tests

* Updating manifest.

* Correctly mock the return value from a call to the library

* Adding new subscriber classes

* Update class name and location

* Got the refactor working locally.

* Tests passing

* Tracking state changes

* Remove write_to_config_file - this appears to never be read.

It was added far back in the past to account for a harmony library
change, but nothing ever reads that path.

Removing that side effect from tests is a pain - avoid the side effect
completely.

* Connection changes tested

* Clean up temporary code

* Update .coveragerc for harmony component

Specifically exclude untested files instead of the whole module

* Fix linting

* test sending activity change commands by id

* Improving coverage

* Testing channel change commands

* Splitting subscriber logic into it's own class

* Improve coverage and tighten up .coveragerc

* Test cleanups.

* re-add config file writing for harmony remote

* Create fixture for the mock harmonyclient

* Reduce duplication in subscription callbacks

* use async_run_job to call callbacks

* Adding some tests for async behaviors with subscribers.

* async_call_later for delay in marking remote unavailable

* Test disconnection handling in harmony remote

* Early exit if activity not specified

* Use connection state mixin

* Lint fix after rebase

* Fix isort

* super init for ConnectionStateMixin

* Adding @mkeesey to harmony CODEOWNERS
2021-01-04 13:21:14 -10:00
Maciej Bieniek
2e50c1be8e Add nearest method to get data for Airly integration (#44288)
* Add nearest method

* Add tests

* Move urls to consts

* Simplify config flow

* Fix tests

* Update tests

* Use in instead get

* Fix AirlyError message in tests

* Fix manual update entity tests

* Clean up tests

* Fix after rebase

* Increase test coverage

* Format the code

* Fix after rebase
2021-01-04 23:14:45 +01:00
Shay Levy
76537305e2 Add logbook and device trigger platforms to Shelly (#44020)
* Add logbook and device trigger platforms to Shelly

Add `logbook` platform for describing “shelly.click” event
Add `device_trigger` platform for adding automation based on click events:

Example of logbook event:
Shelly 'single' click event for Test I3 channel 3 was fired.
(Test I3 is the name of the device)

Example of automation triggers:
First button triple clicked
First button long clicked and then single clicked
First button double clicked
First button long clicked
First button single clicked and then long clicked
First button single clicked
Second button triple clicked
..
Second button single clicked

* Fix codespell

* Remove pylint added for debug

* Add tests

* Rebase

* Fix Rebase & Apply PR review suggestions

Fix tests after rebasing
Use `INPUTS_EVENTS_DICT` for input triggers
Apply PR suggestions
2021-01-04 23:10:42 +01:00
J. Nick Koston
773d95251e Fix zeroconf outgoing dns compression corruption for large packets (#44828) 2021-01-04 21:18:54 +01:00
Aaron Bach
7657a5c901 Move RainMachine services to entity services (#44139) 2021-01-04 20:01:14 +01:00
JeromeHXP
cd756f20b1 Updated Ondilo translation files to remove title (#44824) 2021-01-04 19:57:25 +01:00
Joakim Sørensen
766f89f338 Adjust system info for lovelace with multiple dashboards (#44796) 2021-01-04 18:02:46 +01:00
JeromeHXP
de780c6d35 Add Ondilo ico integration (#44728)
* First implementationof Ondilo component support

* Update manifest toadd pypi pkg dependency

* Update entities name and corrected refresh issue

* Changed percentage unit name

* Corrected merge issues

* Updated coveragerc

* cleaned up code and corrected config flow tests

* Code cleanup and added test for exisitng entry

* Changes following PR comments:
- Inherit CoordinatorEntity instead of Entity
- Merged pools blocking calls into one
- Renamed devices vars to sensors
- Check supported sensor types
- Stop relying on array index position for pools
- Stop relying on attribute position in dict for sensors

* Corrected unit test

* Reformat sensor type check
2021-01-04 08:09:01 -08:00
Allen Porter
c92353088c Fix Fan support in nest climate by adding HVAC_MODE_FAN_ONLY support (#44203)
* Add HVAC_MODE_FAN_ONLY to nest climate

* Remove unreachable code

* Fix HVAC_FAV_ONLY bug; must also turn off hvac
2021-01-04 16:43:41 +01:00
Joakim Plate
c1027cace6 Add device entry id to events (#44407)
* Add device entry id to events

* Only add device id if device is known for now
2021-01-04 15:31:10 +01:00
On Freund
e9f7e67f4c Try to fix flaky Risco test (#44788) 2021-01-04 15:23:47 +01:00
Simone Chemelli
3a32e16f4d Add myself to codeowners for Shelly (#44814) 2021-01-04 14:14:09 +01:00
Simone Chemelli
f07bf6a88e Cleanup timeouts values for Shelly (#44790)
* Updated timeouts

* Small cleanup

* Fix + small cleanup of test code
2021-01-04 14:04:40 +01:00
Franck Nijhof
e4fcc9c692 Bumped version to 2021.1.0b2 2021-01-04 13:17:44 +01:00
Matthias Alphart
5f91f14a49 Fix knx.send service not accepting floats (#44802) 2021-01-04 13:17:02 +01:00
Bob Matcuk
f42ce2b0d1 Fix bug with blink auth flow (#44769) 2021-01-04 13:16:59 +01:00
Pascal Vizeli
506fdc877a Update docker base image 2021.01.0 (#44761) 2021-01-04 13:16:55 +01:00
J. Nick Koston
f33c1332b9 Add index to old_state_id column for postgres and older databases (#44757)
* Add index to old_state_id column for older databases

The schema was updated in #43610 but the index was not
added on migration.

* Handle postgresql missing ondelete

* create index first
2021-01-04 13:16:52 +01:00
Maciej Bieniek
8da79479d3 Change rest sensors update interval for Shelly Motion (#44692)
* Change rest sensors update interval for Shelly Motion

* Cleaning

* Fix typo

* Remove unnecessary parentheses
2021-01-04 13:16:46 +01:00
Paulus Schoutsen
92e354ca38 Guard unbound var for DSMR (#44673) 2021-01-04 13:16:40 +01:00
Maciej Bieniek
f771d8ff14 Change rest sensors update interval for Shelly Motion (#44692)
* Change rest sensors update interval for Shelly Motion

* Cleaning

* Fix typo

* Remove unnecessary parentheses
2021-01-04 13:14:07 +01:00
Pascal Vizeli
a7a4875f52 Add more debug details to running timeouts (#43644)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2021-01-04 13:10:39 +01:00
Kendell R
5b67030c26 Change WHITELIST to ALLOWLIST for websockets (#44766) 2021-01-04 12:40:03 +01:00
Bob Matcuk
0cff069c98 Fix bug with blink auth flow (#44769) 2021-01-04 12:33:34 +01:00
Erik Montnemery
34bd70aee6 Fix race when handling MQTT discovery messages (#44730)
* Fix race when handling MQTT discovery messages

* Lint

* retrigger checks
2021-01-04 12:28:17 +01:00
Ville Skyttä
43474762b2 Drop remaining Python < 3.8 support (#44743)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
Co-authored-by: Franck Nijhof <git@frenck.dev>
2021-01-04 11:47:29 +01:00
Daniel Shokouhi
134db3f710 Bump pyobihai (#44768) 2021-01-04 11:46:58 +01:00
J. Nick Koston
12af87bc6e Add index to old_state_id column for postgres and older databases (#44757)
* Add index to old_state_id column for older databases

The schema was updated in #43610 but the index was not
added on migration.

* Handle postgresql missing ondelete

* create index first
2021-01-04 10:51:44 +01:00
Greg Dowling
3c62c21991 Bumo pyroon version to 0.0.30 (#44800) 2021-01-04 10:31:13 +01:00
Oliver
805a9bcb97 Update to denonavr version 0.9.10 (#44791) 2021-01-04 09:59:08 +01:00
dependabot[bot]
e9d2f583b6 Bump dessant/lock-threads from v2.0.1 to v2.0.3 (#44806)
Bumps [dessant/lock-threads](https://github.com/dessant/lock-threads) from v2.0.1 to v2.0.3.
- [Release notes](https://github.com/dessant/lock-threads/releases)
- [Changelog](https://github.com/dessant/lock-threads/blob/master/CHANGELOG.md)
- [Commits](https://github.com/dessant/lock-threads/compare/v2.0.1...486f7380c15596f92b724e4260e4981c68d6bde6)

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-01-04 09:43:43 +01:00
Matthias Alphart
ad4804f38a Fix knx.send service not accepting floats (#44802) 2021-01-04 04:49:29 +01:00
Álvaro Fernández Rojas
ec926105a0 Bump PyTado to 0.10.0 (#44770)
* Bump PyTado to v0.10.0

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>

* Tado: switch to getDeviceInfo

This function has been introduced in version 0.10.0 of PyTado.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>

* Tado: update tests

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2021-01-04 03:53:15 +01:00
Matthias Alphart
2bd8ee34f4 Update xknx to 0.16.0 (#44749)
* update xknx to 0.16.0

* fix telegram in knx_event and knx.send service

* fix knx.send to not coerce floats to int

fixes #44792
also enables strings to be sent

* Revert "fix knx.send to not coerce floats to int"

This reverts commit ac40fb53f9.
2021-01-04 03:07:12 +01:00
migube
10b5912901 Reconnect mochad light on on/off command (#44507) 2021-01-03 20:01:05 +01:00
Will Hughes
1fc4284a29 Add service to lock/unlock Sure Petcare pet flaps (#44557)
* Add service to lock/unlock Sure Petcare pet flaps

Adds a service to the Sure Petcare pet flaps to allow lock, unlocking,
locking in and locking out pets using the pet flap

* Linting

* Changes from code review
2021-01-03 13:43:16 +01:00
dzukero
2ed7b90027 Add RFXtrx Rfy venetian blinds tilt control (#44309)
* Add tilt control for RFXtrx Rfy venetian blinds

* Update Rfy cover test

* Update the required version of pyRFXtrx

* Update required pyRFXtrx version to 0.26.1

* Revert "Update required pyRFXtrx version to 0.26.1"

This reverts commit d54f1645d5.

* Revert "Update the required version of pyRFXtrx"

This reverts commit ac36d65326.

* Update required version of pyRFXtrx to 0.26.1

* @dzukero
Update required version of pyRFXtrx to 0.26.1

* Make requested changes from review

* Fix isort

* Remove set tilt position support

* Remove set tilt position support per review
2021-01-03 12:59:22 +01:00
badguy99
cc21639f00 Fix Soma integration reload (#44750)
* fix async_unload_entry so that component reload works from GUI

* update to use asyncio based on review feedback
2021-01-02 18:38:45 -08:00
Joakim Plate
3de0610909 Support google assistant stopping for assumed state covers (#44266)
* Support stopping for assumed state covers

* Adjust black formatting
2021-01-02 23:01:20 +01:00
Álvaro Fernández Rojas
067f2d0098 Add tado zone binary sensors (#44576)
These should be binary sensors.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2021-01-02 13:35:59 +01:00
Pascal Vizeli
40cbe597be Update docker base image 2021.01.0 (#44761) 2021-01-02 12:07:52 +01:00
Will Hughes
a6e474c7c9 Update surepy to v0.4.0 (#44556)
* Update surepy to v0.4.0

* Clarify pylint disable

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-01-02 03:52:33 +01:00
Allen Porter
321c0a87ae Resolve nest pub/sub subscriber token refresh issues (#44686) 2021-01-02 01:51:01 +01:00
Paulus Schoutsen
a2ca08905f Guard unbound var for DSMR (#44673) 2021-01-02 01:34:10 +01:00
Franck Nijhof
508d33a220 Remove deprecated PTVSD integration (#44748) 2021-01-01 23:36:15 +01:00
Franck Nijhof
65cf2fcb6f Drop asynctest (#44746) 2021-01-01 22:31:56 +01:00
Franck Nijhof
79aad3f07b Bumped version to 2021.1.0b1 2021-01-01 21:14:18 +01:00
Robert Svensson
e781e1b26c Bump H11 library to support non RFC line endings (#44735) 2021-01-01 21:13:43 +01:00
J. Nick Koston
c60390a52a Fix templates for rest notify (#44724) 2021-01-01 21:13:40 +01:00
J. Nick Koston
af1d46aa6c Fix rest notify GET without params configured (#44723) 2021-01-01 21:13:36 +01:00
J. Nick Koston
6d33f6a115 Fix script wait templates with now/utcnow (#44717) 2021-01-01 21:13:32 +01:00
Allen Porter
39b9821d29 Fix broken test test_auto_purge in recorder (#44687)
* Fix failing test due to edge-of-2021 bug

* Rewrite test_auto_purge to make the intent more clear
2021-01-01 21:13:28 +01:00
Alexei Chetroi
864546201e Bump up ZHA dependencies (#44680)
- zigpy == 0.29.0
- zigpy_deconz == 0.11.1
- zha-quirks == 0.0.51
2021-01-01 21:13:25 +01:00
Paulus Schoutsen
1c2e4226dc Zeroconf lowercase (#44675) 2021-01-01 21:13:21 +01:00
Allen Porter
34a6b4deb0 Fix legacy nest api binary_sensor initialization (#44674) 2021-01-01 21:13:18 +01:00
Paulus Schoutsen
2b1df2e63f Catch Shelly zeroconf types with uppercase too (#44672)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2021-01-01 21:13:14 +01:00
Diogo Gomes
610ee24bb1 always sync unit_of_measurement (#44670) 2021-01-01 21:13:10 +01:00
Daniel Lintott
3cd97398aa Bump zm-py version to 0.5.2 (#44658) 2021-01-01 21:13:07 +01:00
David F. Mulcahey
7d99a35547 Bump ZHA quirks version to 0.0.50 (#44650) 2021-01-01 21:13:04 +01:00
Mark Allanson
470fe887a5 Upgrade canary integration to use py-canary 0.5.1 (#44645)
Fixes #35569
2021-01-01 21:13:00 +01:00
Sian
1b26f6e8e0 Correct Dyson climate fan auto mode (#44569)
Co-authored-by: Justin Gauthier <justin@justin-tech.com>
2021-01-01 21:12:56 +01:00
Maciej Bieniek
8a689a0105 Add motion binary sensor (#44445) 2021-01-01 21:12:52 +01:00
Raman Gupta
e65903822d Suppress vizio logging API call failures to prevent no-op logs (#44388) 2021-01-01 21:12:48 +01:00
J. Nick Koston
335aceedfb Update py-august to 0.25.2 to fix august token refreshes (#40109)
* Update py-august to 0.26.0 to fix august token refreshes

* bump version
2021-01-01 21:12:44 +01:00
Paulus Schoutsen
2b0556520b Catch Shelly zeroconf types with uppercase too (#44672)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2021-01-01 20:54:43 +01:00
Martin Hjelmare
c7fa98211d Bump locationsharinglib to 4.1.5 (#44742) 2021-01-01 19:48:33 +01:00
J. Nick Koston
661eb0338a Fix templates for rest notify (#44724) 2021-01-01 19:28:20 +01:00
Robert Svensson
c4fbfc25e3 Bump H11 library to support non RFC line endings (#44735) 2021-01-01 18:39:59 +01:00
Franck Nijhof
70d2c37131 Upgrade pre-commit to 2.9.3 (#44740) 2021-01-01 18:10:28 +01:00
Franck Nijhof
5c634ac8bb Upgrade debugpy to 1.2.1 (#44737) 2021-01-01 17:59:05 +01:00
Franck Nijhof
ea10f96bf7 Upgrade sentry-sdk to 0.19.5 (#44738) 2021-01-01 17:58:13 +01:00
Daniel Perna
e2e79aba4e Update pyhomematic to 0.1.71 (#44732) 2021-01-01 17:20:55 +01:00
Sian
52e1aad008 Correct Dyson climate fan auto mode (#44569)
Co-authored-by: Justin Gauthier <justin@justin-tech.com>
2021-01-01 16:06:36 +01:00
Chris
176415b045 Fix AccuWeather condition mapping (#44710) 2021-01-01 15:40:28 +01:00
Franck Nijhof
1f0a6b178e Fix Gree climate turn on/off (#44731) 2021-01-01 15:11:25 +01:00
Clifford Roche
f0e96f739b Add turn_on and turn_off to gree climate component (#43207) 2021-01-01 13:58:38 +01:00
Fabian Affolter
ddfc3d6d8e Upgrade volkszaehler to 0.2.1 (#44703) 2021-01-01 13:49:57 +01:00
Fabian Affolter
168b3ae6af Upgrade alpha-vantage to 2.3.1 (#44705) 2021-01-01 13:48:24 +01:00
Franck Nijhof
2f486543df Drop Python 3.7 support (#43805) 2021-01-01 13:47:01 +01:00
Raman Gupta
b651f63ef0 Suppress vizio logging API call failures to prevent no-op logs (#44388) 2021-01-01 13:35:05 +01:00
Allen Porter
051f6c0e72 Increase test coverage for Nest SDM integration (#44718) 2021-01-01 13:31:18 +01:00
Fabian Affolter
c4b11322c8 Updated certifi to >=2020.12.5 (#44701) 2021-01-01 13:07:07 +01:00
J. Nick Koston
2ef25e7414 Fix script wait templates with now/utcnow (#44717) 2021-01-01 13:03:34 +01:00
Franck Nijhof
7415dacec9 Add Python 3.9 to CI (#41373) 2021-01-01 12:51:27 +01:00
J. Nick Koston
94825b3e15 Do not restore unavailable state for august locks (#44722) 2021-01-01 12:44:53 +01:00
J. Nick Koston
681f76b99d Fix rest notify GET without params configured (#44723) 2021-01-01 12:40:08 +01:00
Fabian Affolter
5e0eea21d4 Upgrade pyowm to 3.1.1 (#44706) 2020-12-31 20:02:59 -10:00
Fabian Affolter
99eed915d6 Upgrade slixmpp to 1.6.0 (#44693) 2020-12-31 19:35:42 -10:00
Jason Cronquist
787027958d Use the async_call context in result of call_service (#44458) 2020-12-31 16:15:39 -10:00
hung2kgithub
db6bd22fc9 Add Chinese (Hong Kong) to Google Cloud TTS (#44689) 2021-01-01 01:59:42 +01:00
Oncleben31
41ebfcdc9e Add device info to Météo-France (#44457) 2021-01-01 01:51:03 +01:00
Fabian Affolter
12b7b2098d Upgrade sqlalchemy to 1.3.22 (#44698) 2020-12-31 14:28:15 -10:00
Glenn Waters
edee0682ba Bump upb-lib to 0.4.12 (#44721) 2021-01-01 00:48:44 +01:00
Fabian Affolter
61f137c7c6 Upgrade pytz to >=2020.5 (#44702) 2021-01-01 00:38:38 +01:00
Glenn Waters
74b480e9d4 Bump elkm1-lib to 0.8.10 (#44714) 2020-12-31 23:44:04 +01:00
Allen Porter
f1dff973dc Fix broken test test_auto_purge in recorder (#44687)
* Fix failing test due to edge-of-2021 bug

* Rewrite test_auto_purge to make the intent more clear
2020-12-31 12:04:12 -10:00
Allen Porter
fe9a254017 Fix legacy nest api binary_sensor initialization (#44674) 2020-12-31 19:22:24 +01:00
Ville Skyttä
1c8fbc7e6a Upgrade codespell to 2.0.0 (#44695)
* Upgrade codespell to 2.0.0

* Fix newly found spelling errors
2020-12-31 19:14:07 +01:00
Mike Keesey
cdda5900e5 Upgrade pubnubsub-handler to 1.0.9 (#44542)
This resolves an error thrown on shutdown of the wink component
2020-12-31 18:48:36 +01:00
Alexei Chetroi
64dd748330 Bump up ZHA dependencies (#44680)
- zigpy == 0.29.0
- zigpy_deconz == 0.11.1
- zha-quirks == 0.0.51
2020-12-31 14:07:15 +01:00
Franck Nijhof
408da3600b Upgrade feedparser to 6.0.2 (#44683) 2020-12-31 12:00:43 +01:00
Martin Hjelmare
4bde0640d6 Bump pytradfri to 7.0.6 (#44661) 2020-12-31 01:18:58 +01:00
Mark Allanson
1428c403ba Upgrade canary integration to use py-canary 0.5.1 (#44645)
Fixes #35569
2020-12-31 01:16:53 +01:00
Paulus Schoutsen
c7bf7b32a2 Zeroconf lowercase (#44675) 2020-12-31 01:06:26 +01:00
Diogo Gomes
b290a8b5a1 always sync unit_of_measurement (#44670) 2020-12-31 00:39:14 +01:00
Maciej Bieniek
687f90e164 Add motion binary sensor (#44445) 2020-12-31 00:02:56 +01:00
Ville Skyttä
da66a4e933 Device automation config error message improvements (#44656)
Refs #44654, #44655
2020-12-31 00:02:14 +01:00
J. Nick Koston
e2964ca878 Update py-august to 0.25.2 to fix august token refreshes (#40109)
* Update py-august to 0.26.0 to fix august token refreshes

* bump version
2020-12-30 23:10:42 +01:00
Franck Nijhof
b1bb0d12c9 Upgrade vsure to 1.6.1 (#44657) 2020-12-30 23:06:30 +01:00
J.P. Krauss
e37bb51320 Add AirNow Integration (#40091) 2020-12-30 20:25:57 +01:00
Daniel Lintott
15a4e1e1b3 Bump zm-py version to 0.5.2 (#44658) 2020-12-30 10:15:27 -08:00
Fabian Affolter
2e62e0661b Upgrade colorlog to 4.6.2 (#44652) 2020-12-30 17:12:51 +01:00
zewelor
16ddbb95f4 Add yeelight service to enable disable music mode (#44533)
* Add service to enable / disable music mode

* Black reformat

* Update test

* Fix tests

* Revert consts cleanup

* Use entity method as service call

* Use ATTR for service call

* Sort

* Add tests

* Fix isort

* Fix print

* Black
2020-12-30 17:00:28 +01:00
David F. Mulcahey
a6c83cc46a Bump ZHA quirks version to 0.0.50 (#44650) 2020-12-30 09:11:08 -05:00
Fabian Affolter
e2e07cf42e Upgrade sendgrid to 6.4.8 (#44646) 2020-12-30 13:33:13 +01:00
Franck Nijhof
4b057101c5 Bumped version to 2021.2.0dev0 (#44647) 2020-12-30 13:27:12 +01:00
Franck Nijhof
4b5056a456 Bumped version to 2021.1.0b0 2020-12-30 12:18:22 +01:00
Fabian Affolter
6e5e45b937 Upgrade youtube_dl to 2020.12.29 (#44643) 2020-12-30 11:24:00 +01:00
Franck Nijhof
222c5b532c Merge branch 'master' into dev 2020-12-30 10:59:49 +01:00
Franck Nijhof
e670a8f3b6 Merge pull request #44642 from home-assistant/rc 2020-12-30 10:45:15 +01:00
Simone Chemelli
338938a38e Fix shelly shutdown AttributeError (#44172)
* Additional check for clean shutdown

* Changed approach

* Remover leftover

* Added callback key

* Moved to listen once
2020-12-30 10:29:54 +01:00
Allen Porter
baacf2cd7d Publish timestamps in nest events (#44641) 2020-12-30 10:23:48 +01:00
Fabian Affolter
a212248f8d Upgrade psutil to 5.8.0 (#44640) 2020-12-30 10:22:09 +01:00
Franck Nijhof
d1ad474a8d Bumped version to 2020.12.2 2020-12-30 10:17:56 +01:00
Phil Cole
af4849c183 Bump pycarwings2 to 2.10 (#44634) 2020-12-30 10:17:02 +01:00
michaeldavie
19531b90a3 Bump env_canada to 0.2.5 (#44631) 2020-12-30 10:16:58 +01:00
J. Nick Koston
62f8d6cc04 Fix template triggers from time events (#44603)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-12-30 10:16:55 +01:00
Erik Montnemery
99d7c83917 Fix Tasmota device triggers (#44574) 2020-12-30 10:16:52 +01:00
Robert Svensson
59c20686c1 Bump pydeconz to version 77 (#44514) 2020-12-30 10:16:48 +01:00
MatthewFlamm
78f81b6e37 Fix falsey comparisons in NWS weather (#44486) 2020-12-30 10:16:44 +01:00
On Freund
a58219bbc7 Fix Volumio pause with missing track type (#44447) 2020-12-30 10:16:41 +01:00
Aaron Bach
f76211d58a Fix bug in unloading RainMachine options listener (#44359)
* Fix bug in unloading RainMachine options listener

* Order
2020-12-30 10:16:38 +01:00
Aaron Bach
0cac5b7cb3 Bump pyiqvia to 0.3.1 (#44358) 2020-12-30 10:16:35 +01:00
rubenbe
89168dd372 Update pytradfri to 7.0.5 (#44347) 2020-12-30 10:16:32 +01:00
ehendrix23
9c5dba6a24 Bump pyMyQ to version 2.0.12 (#44328) 2020-12-30 10:16:29 +01:00
Jc2k
2be5547c57 Fix velux homekit covers not enumerated correctly (#44318) 2020-12-30 10:16:25 +01:00
Greg Dowling
8394685493 Bump pyroon to 0.0.28 (#44302) 2020-12-30 10:16:21 +01:00
Oliver
c8bb6eb3bf Update denonavr to 0.9.8 (#44194) 2020-12-30 10:16:18 +01:00
J. Nick Koston
217e3c44d6 Bump HAP-python to 3.1.0 (#44176)
Fixes many spec compliance issues, unavailable cases
following an unexpected exception, and a thread safety
race condition.
2020-12-30 10:16:13 +01:00
Allen Porter
eb07282e9b Add debug logging for failed OAuth token refreshes to help users diagnose (#44637) 2020-12-30 10:03:27 +01:00
Franck Nijhof
ee194b9411 Initial Verisure cleanups (#44639) 2020-12-30 09:55:18 +01:00
Phil Cole
9cc768b34c Bump pycarwings2 to 2.10 (#44634) 2020-12-30 09:44:44 +01:00
Chris Talkington
12aa537eb9 Support homekit discovery for roku (#44625)
* support homekit discovery for roku

* Update config_flow.py

* Update config_flow.py

* Update test_config_flow.py

* Update __init__.py

* Update __init__.py

* Update strings.json

* Update manifest.json

* Update __init__.py

* Update test_config_flow.py

* Update __init__.py

* Update manifest.json

* Update config_flow.py

* Update config_flow.py

* Update __init__.py

* Update test_config_flow.py

* Update __init__.py

* Update manifest.json

* Update __init__.py

* Update zeroconf.py

* Update config_flow.py

* Update test_config_flow.py

* Update config_flow.py

* Update test_config_flow.py

* Update __init__.py

* Update config_flow.py

* Update test_config_flow.py

* Update manifest.json

* Update zeroconf.py
2020-12-29 20:43:02 -06:00
michaeldavie
35a19a4d02 Bump env_canada to 0.2.5 (#44631) 2020-12-30 02:54:04 +01:00
Matt Bilodeau
a750c95d2e Add OutdoorPlug to wemo (#44629) 2020-12-30 02:43:44 +01:00
Bram Kragten
62237adf91 Updated frontend to 20201229.0 (#44632) 2020-12-30 00:19:38 +01:00
J. Nick Koston
035f9412ba Fix template triggers from time events (#44603)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-12-29 23:16:39 +01:00
starkillerOG
e287160f72 Add discovery to Motion Blinds (#44615)
* Add discovery to Motion Blinds

* Update test_config_flow.py

* ommit keys()

Co-authored-by: Allen Porter <allen.porter@gmail.com>

* use _ to indicate private variables

* disregard changes to en.json

* remove unused errors

* clearify multicast=None

* improve tests

* make self._key a local variable

* fix styling

Co-authored-by: Allen Porter <allen.porter@gmail.com>
2020-12-29 11:13:31 -08:00
Mister Wil
85d89c16ab Bump skybellpy to 0.6.3 (#44619) 2020-12-29 17:48:36 +01:00
starkillerOG
24f6f59eb4 Use entity service for motion blinds (#44611)
* Simplify motion blinds service
* Switch to using entity service
2020-12-29 07:21:51 -08:00
J. Nick Koston
4905be0c40 Move HomeKit autostart to advanced options flow (#44599) 2020-12-29 13:54:24 +01:00
Tsvi Mostovicz
c756457aa1 Fix typo in sensor names (#44598)
Fixes home-assistant/core#44464
2020-12-29 13:40:52 +01:00
starkillerOG
598202da07 Simplify motion blinds push callback (#44579) 2020-12-29 12:11:08 +01:00
rikroe
e5f31665b1 Add Config Flow to bmw_connected_drive (#39585)
* Add Config Flow to bmw_connected_drive

* Fix checks for bmw_connected_drive

* Adjust code as requested

* Clean .coveragerc after merge

* Use references for config flow

* Fix execute_service check against allowed accounts

* Adjust translation as username can be email or phone no

* Add BMWConnectedDriveBaseEntity mixin, remove unnecessary type casts

* Use BaseEntity correctly, fix pylint error

* Bump bimmer_connected to 0.7.13

* Adjustments for review

* Fix pylint

* Fix loading notify, move vin to entity attrs

* Remove vin from device registry

* Remove commented-out code

* Show tracker warning only if vehicle (currently) doesn't support location

* Remove unnecessary return values & other small adjustments

* Move original hass_config to own domain in hass.data

* Move entries to separate dict in hass.data

* Remove invalid_auth exception handling & test as it cannot happen

Co-authored-by: rikroe <rikroe@users.noreply.github.com>
2020-12-29 11:06:12 +01:00
Greg
5164a18d53 Bump version to fix returned data for old firmware (#44600) 2020-12-28 15:13:11 -10:00
Greg
a5cd4efd83 Optimize api calls between envoy_reader and Home Assistant (#42857)
* Updating sensor to use single API call

* Updated comment

Updated comment to reflect that polling is needed.

* Reduced calls to single API call

* Added except handling and increased async timeout

* Cleaned up some comments

* Added error handling

* Added last_reported date for inverters

* Added message during failed update

* Added retries to update function

* Updated update function

* Reformatted sensor.py with black

* Increased default scan period

* fixed timedelta typo

* importing CoordinatorEntity

* Check during setup else raise PlatformNotReady

* Removed async_update and override state

* using SCAN_INTERVAL constant

* fixed typo

* removed unused constant

* Removed retry logic

* Changed to catching exceptions rather than strings

* shortened string split line

* Replace requests_async with httpx

* Bump envoy_reader version to 0.17.2

* Resolving comments from PR requested changes

* Fixed typo in scan_interval

* Removed period from logging messages

* Bumping envoy_reader to 0.18.0

* Incorporating suggested changes

* Removing no longer used try/except

* Fail setup if authentication fails

* Bump envoy_reader to 0.18.2
2020-12-28 23:58:09 +01:00
mvn23
0d8ed9061c Update pyotgw to 1.0b1 (#43352)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-12-28 23:04:17 +01:00
Clifford Roche
ee97023053 Add support for Gree device light panels (#42979) 2020-12-28 22:32:04 +01:00
starkillerOG
a22d9e54db Improve TDBU motion blinds control (#44500)
* improve TDBU motion blinds control

* Simplify service registration
2020-12-28 13:09:53 -08:00
TheJulianJES
0bc04a6501 Reset hs color/color temperature when changing the other one (ZHA) (#44566) 2020-12-28 14:05:15 -05:00
Philip Allgaier
392c058d34 Ensure consistent spelling of "ID" (#44585) 2020-12-28 18:34:08 +01:00
Anton Tolchanov
13d6f5454d Turn on denonavr receiver when a source is changed (#44473) 2020-12-28 18:12:49 +01:00
badguy99
d95696e4f5 Soma cover battery level attribute (#44459) 2020-12-28 17:10:49 +01:00
Álvaro Fernández Rojas
50e11773ee Tado: use proper variable name to avoid confusion (#44571)
Current device_id variable refers to the Home ID obtained from the Tado API.
Let's use home_id in order to avoid confusion with Tado devices.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2020-12-28 14:57:51 +01:00
Erik Montnemery
ed576edde7 Fix Tasmota device triggers (#44574) 2020-12-28 14:41:39 +01:00
Allen Porter
71af0fac16 Improve nest setup error handling (#44385)
* Improve error handling user experience

This is meant to make the nest integration quieter.  Exceptions are handled with a single log error message.


Co-authored-by: j-stienstra <65826735+j-stienstra@users.noreply.github.com>
2020-12-27 20:30:51 -08:00
Álvaro Fernández Rojas
6d043f2ca1 Tado: add full list of devices (#44475)
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2020-12-27 16:36:35 +01:00
Allen Porter
51b88337ca Simplify nest event handling (#44367)
* Simplify nest event handling

Use device specific update callbacks rather than a global callback.
The motivation is to prepare for a follow up change that will store
camera specific event tokens on the camera itself, so that a service
can later fetch event specific image snapshots, which would be difficult
to send across the event bus.

* Increase nest camera test coverage

* Remove unnecessary device updates for nest cameras

* Remove unused imports

* Fix device id check to look at returned entry

* Remove unused imports after rebase

* Partial revert of nest event simplification

* Push more update logic into the nest library

* Revert nest device_info changes

* Revert test changes to restore global update behavior

* Bump nest library version to support new callback interfaces
2020-12-27 09:49:22 +01:00
Rob Bierbooms
9531b08f2a Add explicit support for Luxembourg Smarty meter in dsmr integration (#43975)
* Add support for Luxembourg Smarty meter

* Add config flow test

* Add sensor tests
2020-12-27 09:39:36 +01:00
Tim van Cann
1f27fb4644 Fully remove Avri integration (#44478)
* Fully remove Avri integration

* Remove avri from .coveragerc
2020-12-27 09:30:20 +01:00
aque0us
71c9007e06 Add Olivia voice to Amazon Polly TTS (#44513)
* Update tts.py

Added Olivia Neural Voice

* Correct linting

Co-authored-by: Joakim Plate <elupus@ecce.se>
2020-12-27 08:32:22 +01:00
Robert Svensson
49d9823630 Bump pydeconz to version 77 (#44514) 2020-12-26 22:24:05 +01:00
Martin Weinelt
f8df8b6b19 Add album art support in the mpd component (#44527)
* Add album art support in the mpd component

Uses `readpicture` to retrieve embedded artwork and `albumart` to
acquire cover art located in the media directory.

As the mpd component supports multiple different implementations (think
mopidy, PI MusicBox, etc.) we check for the availability of each command
before using them.

Tested against mpd 0.22.3, which includes support for both.

* fixup! Add album art support in the mpd component
2020-12-26 22:18:28 +01:00
MatthewFlamm
f8ab98d2e1 Fix falsey comparisons in NWS weather (#44486) 2020-12-26 13:53:34 +01:00
Ville Skyttä
cfb02b5392 Upgrade huawei-lte-api to 1.4.17 (#44499)
Mostly to pave way for implementing network connection mode change
services, such as PR #44380.

https://github.com/Salamek/huawei-lte-api/releases/tag/1.4.13
https://github.com/Salamek/huawei-lte-api/releases/tag/1.4.14
https://github.com/Salamek/huawei-lte-api/releases/tag/1.4.15
https://github.com/Salamek/huawei-lte-api/releases/tag/1.4.16
https://github.com/Salamek/huawei-lte-api/releases/tag/1.4.17
2020-12-26 12:49:44 +01:00
Hmmbob
3a71b62de6 Update README.rst to avoid redirects (#44519) 2020-12-26 10:05:41 +01:00
Thibaut
dc79d71f39 Handle missing Somfy devices during update (#44425)
* Handle missing devices during update

* Raise error only if there was devices previously

* Not final dot

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

Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2020-12-25 22:29:23 +01:00
Martin Weinelt
fa69daf5b3 Convert mpd component to use the async MPDClient (#44384)
Upgrades python-mpd2 to 3.0.1.
2020-12-25 21:49:30 +01:00
Matt Bilodeau
adf4eb0cc9 Bump pywemo to 0.5.6 (#44440) 2020-12-25 16:37:30 +01:00
Nick
9a5132054f Support auto as Dyson fan on device state (#44472)
* - Make the dyson integration report that the fan is on if its in AUTO or FAN states instead of only in FAN state

* - Fix code style issue to be compliant with flake8
2020-12-25 14:49:14 +01:00
HomeAssistant Azure
6f2ed86c49 [ci skip] Translation update 2020-12-25 00:03:46 +00:00
Thibaut
19b957cd84 Remove useless async_add_executor_job (#44496) 2020-12-24 20:42:56 +01:00
Tomasz Pieczykolan
d385a51653 Fix the docstring in type_fans.py (#44511) 2020-12-24 20:40:30 +01:00
Eric Severance
d912e91e81 Periodically attempt to discover new wemo devices (#44361)
* Periodically attempt to discover new wemo devices

* Set self._stop=None after stopping the periodic discovery task

* Use the async_fire_time_changed test helper to simplify test_discovery

* Stop the pywemo registry outside of the async loop

* Add a comment describing why async_fire_time_changed is used
2020-12-24 12:25:14 +01:00
J. Nick Koston
677fc6e2bb Translate siri requests to turn on thermostats to valid targets (#44236)
Siri always requests auto mode even when the device does not
support auto which results in the thermostat failing to turn
on as success is assumed.  We now determine the heat cool
target mode based on the current temp, target temp, and
supported modes to ensure the thermostat will reach the
requested target temp.
2020-12-23 17:23:26 -10:00
Diogo Gomes
2d131823ce Fix filter sensor None state (#44439)
Co-authored-by: Franck Nijhof <frenck@frenck.dev>
2020-12-24 02:24:11 +01:00
HomeAssistant Azure
6b743c3d16 [ci skip] Translation update 2020-12-24 00:03:44 +00:00
starkillerOG
82f9de31b1 Motion Blinds upgrade to local push (#44391)
* Motion Blinds upgrade to local push
2020-12-23 15:15:11 -08:00
Dermot Duffy
769513d6a8 Bump hyperion-py to 0.6.1 (#44490) 2020-12-23 21:46:04 +01:00
HomeAssistant Azure
139fb518d6 [ci skip] Translation update 2020-12-23 00:03:22 +00:00
Allen Porter
24ccdb55bb Move Legacy Works With Nest integration to subdirectory (#44368)
* Move Legacy Works With Nest integration to subdirectory

Motivation is to streamline the actively developed integration e.g. make code coverage easier to reason about and simplify __init__.py
2020-12-22 12:42:37 -08:00
Ville Skyttä
9c5f608ffd Remove Travis CI config (#44443)
https://blog.travis-ci.com/2020-11-02-travis-ci-new-billing
https://docs.travis-ci.com/user/migrate/open-source-repository-migration/#frequently-asked-questions
2020-12-22 13:49:42 +01:00
dependabot[bot]
1027361f27 Bump codecov/codecov-action from v1.1.0 to v1.1.1 (#44442)
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from v1.1.0 to v1.1.1.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/master/CHANGELOG.md)
- [Commits](https://github.com/codecov/codecov-action/compare/v1.1.0...1fc7722ded4708880a5aea49f2bfafb9336f0c8d)

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-12-22 13:33:37 +01:00
PhiBo
ffbef0bcd1 Fix KNX issue if 0 kelvin is reported by device (#44392)
Co-authored-by: Matthias Alphart <farmio@alphart.net>
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2020-12-22 13:28:37 +01:00
Matthias Alphart
67ed730c08 KNX BinarySensor takes float values for reset_after (#44446) 2020-12-22 12:39:50 +01:00
On Freund
d4453908d5 Fix Volumio pause with missing track type (#44447) 2020-12-22 12:32:56 +01:00
HomeAssistant Azure
2ee2f85574 [ci skip] Translation update 2020-12-22 00:06:12 +00:00
Joakim Plate
56b3e0b52e Support area on entities for google assistant (#44300)
* Support area on entities

* Don't let registry area override config
2020-12-21 21:55:06 +01:00
treylok
1ca99c4fa4 Add ecobee humidity attributes (#44366)
* Update humidity attributes.

* Update climate.py

* Raise ValueError

* Update conditions for humidity controls to show

Humidity controls only show when the humidifier mode is in "manual" mode.
2020-12-21 20:03:26 +01:00
Emily Mills
f89c682ea6 Cleanup and optimization for Zerproc (#44430)
* Cleanup and optimization for Zerproc

* Remove unnecessary extra method

* Add debug log for exceptions on disconnect
2020-12-21 12:50:31 -06:00
Oncleben31
bf253819dd Add additional debug launch methods in launch.json (#44419) 2020-12-21 17:11:53 +01:00
Diogo Gomes
cb82f5159e Reduce IPP errors when printer is offline (#44413) 2020-12-21 16:53:47 +01:00
Oliver
0b1791c293 Update denonavr to 0.9.9 (#44411) 2020-12-21 16:35:47 +01:00
dependabot[bot]
83794f0629 Bump actions/setup-python from v2.2.0 to v2.2.1 (#44420)
Bumps [actions/setup-python](https://github.com/actions/setup-python) from v2.2.0 to v2.2.1.
- [Release notes](https://github.com/actions/setup-python/releases)
- [Commits](https://github.com/actions/setup-python/compare/v2.2.0...3105fb18c05ddd93efea5f9e0bef7a03a6e9e7df)

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-12-21 14:25:06 +01:00
Oncleben31
369cf10eb3 Bump meteofrance-api to 1.0.1 (#44389) 2020-12-21 13:49:53 +01:00
HomeAssistant Azure
f3cabe97e0 [ci skip] Translation update 2020-12-21 00:04:09 +00:00
Дубовик Максим
89fe232643 Add google cloud tts SSML + fix (#40203)
* Add SSML + fix

SSML option is added + pitch paramter fix + couple style code changes

* Remove redundant .get()

* Fix PITCH_SCHEMA, remove redundant .get of dict
2020-12-20 05:40:43 +01:00
JJdeVries
1ae3bb6af5 Add xiamoi_miio the water_box / mop status (#43355)
* Adding the water_box / mop status

* Clean up

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-12-20 05:13:52 +01:00
Arto Jantunen
5dc48df093 Add support for toggling Daikin streamers (#40418)
* pydaikin version bump to 2.4.0

Add support for controlling the streamer feature.

* Add switch for toggling Daikin streamer on and off

* Have DaikinStreamerSwitch inherit from SwitchEntity instead of ToggleEntity
2020-12-20 04:53:01 +01:00
Allen Porter
81341bbf91 Handle expiration of nest auth credentials (#44202)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-12-20 01:41:29 +01:00
HomeAssistant Azure
5bdf022bf2 [ci skip] Translation update 2020-12-20 00:04:36 +00:00
Sjack-Sch
00c0e9b8da Home connect functional and ambient light added (#44091)
* Update nl.json

* added period to end of every logging entry.

* Functional and ambient light added

* Change to dict.get method

* Update light.py

* Update __init__.py

Platforms sorted 🔡.

* Update api.py

- Removed all none light platform related changes.
- Period removed from loggin.
- Storing entities removed.
- Not needed formating change reverted.
-

* Update const.py

All words seperated with underscore.

* Update nl.json

Reverted change on translation file.

* Update light.py

-All words of constants seperated with underscore.
- f-string used iso concatenation.
- Added "ambient"to loggin text.
- Removed self._state = false when color setting did not succeed.
- Logging starts with a capital.

* Update api.py

- Removed ending perio in logging
- Reverted formating
- Removed self.device.entities.append(self)
-

* Update entity.py

- Removed self.device.entities.append(self)

* Update api.py

- Adding newline at end of file
- Added whitespave after ","

* Update api.py

Newline at end of file

* Update const.py

Removed unused.

* Update light.py

- seperated words with whitespaces
- improved debug text

* Update light.py

remove state setting after an error
2020-12-19 23:40:44 +01:00
Emily Mills
4f088dd77a Connect concurrently to discovered Zerproc lights (#44376)
* Connect concurrently to discovered Zerproc lights

* Add return type to connect_light

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

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-12-19 13:31:45 -06:00
Aaron Bach
60ecc8282c Add options flow for Recollect Waste (#44234)
* Add options flow for Recollect Waste

* Add test

* Typing

* Typing

* Typing AGAIN

* Add missing type hints

* Code review

* Code review

* Don't need to block until done
2020-12-19 10:29:37 -07:00
Aaron Bach
fbc695e5cf Fix setup of SimpliSafe options flow test (#44375) 2020-12-19 18:22:34 +01:00
eyager1
af6dd698c9 Set amazon polly network timeout settings (#44185)
* Change network timeout settings

* Change network timeout settings
2020-12-19 18:21:05 +01:00
Diogo Gomes
b7d4c1826c Add filter sensor device class from source entity (#44304)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-12-19 17:51:24 +01:00
Maciej Bieniek
ccbf857266 Clean Airly config flow (#44352) 2020-12-19 09:30:45 -07:00
Doug Hoffman
3ac9ead850 Bump venstarcolortouch to 0.13 (#44373) 2020-12-19 09:30:06 -07:00
Jeff Irion
a7513c9c13 Strip "adb shell " prefix in androidtv.adb_command service (#44225) 2020-12-19 16:52:44 +01:00
Emily Mills
9de393d116 Convert zerproc to use new upstream async api (#44357) 2020-12-19 09:35:47 -06:00
Abílio Costa
896f51fd82 Add Wind to Accuweather sensors (#44364) 2020-12-19 16:10:02 +01:00
Ville Skyttä
317ed418dd Use singleton enum for "not set" sentinels (#41990)
* Use singleton enum for "not set" sentinel

https://www.python.org/dev/peps/pep-0484/#support-for-singleton-types-in-unions

* Remove unused variable
2020-12-19 12:46:27 +01:00
Ville Skyttä
de04a1ed67 Enable more Bandit tests (#44307)
https://bandit.readthedocs.io/en/latest/plugins/index.html#complete-test-plugin-listing
2020-12-19 12:35:13 +01:00
HomeAssistant Azure
1ac937c7d5 [ci skip] Translation update 2020-12-19 00:03:56 +00:00
emufan
61c57d4d56 Add another xml content type for JSON conversion in RESTful sensor (#44312)
* Update sensor.py

Some xml-result is passed via "application/xhtml+xml" instead of text/xml or application/xml. And then the xml structure is not parsed to json as expected. I changed it locally, but suggest to add thise here as well.

* Update homeassistant/components/rest/sensor.py

Fine for me as well, as it is working this way as well. But I would not see any disadvantage to convert everything, what is possible - a better scrape sensor this way. ;)

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

Co-authored-by: J. Nick Koston <nick@koston.org>
2020-12-18 14:27:12 -06:00
Brian Rogers
0fddaedc12 Adjust Rachio logging level when adding shared controllers (#44323)
* change logging level

* unnecessary continue

* Clean up

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-12-18 14:15:08 -06:00
Aaron Bach
14432248b0 Bump pyiqvia to 0.3.1 (#44358) 2020-12-18 21:12:16 +01:00
Heisenberg
ea578f5767 Update sensor.py (#44350)
BME280 sensor has a resolution of 0.01 degree (20 bits) so temperature values should be rounded to 2 decimal places
2020-12-18 12:29:16 -07:00
Aaron Bach
ae596c7dff Fix bug in unloading RainMachine options listener (#44359)
* Fix bug in unloading RainMachine options listener

* Order
2020-12-18 12:28:18 -07:00
dependabot[bot]
ad634a393b Bump actions/setup-python from v2.1.4 to v2.2.0 (#44345)
Bumps [actions/setup-python](https://github.com/actions/setup-python) from v2.1.4 to v2.2.0.
- [Release notes](https://github.com/actions/setup-python/releases)
- [Commits](https://github.com/actions/setup-python/compare/v2.1.4...8c5ea631b2b2d5d8840cf4a2b183a8a0edc1e40d)

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-12-18 10:53:49 +01:00
dependabot[bot]
8adfb5dff4 Bump codecov/codecov-action from v1.0.15 to v1.1.0 (#44346)
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from v1.0.15 to v1.1.0.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/master/CHANGELOG.md)
- [Commits](https://github.com/codecov/codecov-action/compare/v1.0.15...7de43a7373de21874ae196a78f8eb633fcf7f0c4)

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-12-18 10:47:18 +01:00
ktnrg45
5b14c1da73 Bump pyps4-2ndscreen to 1.2.0 (#44273)
* Bump PS4 to 1.2.0

* Add additional media_player tests

* Fix tests
2020-12-18 08:46:59 +01:00
rubenbe
5c843a1597 Update pytradfri to 7.0.5 (#44347) 2020-12-18 08:37:32 +01:00
Dermot Duffy
8c8e607548 Alphabetize hyperion const.py (#44343) 2020-12-18 08:03:54 +01:00
HomeAssistant Azure
4bdb793a94 [ci skip] Translation update 2020-12-18 00:03:48 +00:00
Christopher Gramberg
c5fdde2a94 Convert filter tests to use pytest style (#41743) 2020-12-17 22:08:35 +01:00
mbo18
f54fcb7646 Add new sensors to meteo_france (#44150)
Co-authored-by: Thibaut <thibaut@etienne.pw>
2020-12-17 22:04:20 +01:00
Olivér Falvai
6ffa3c18b2 Upgrade Telegram lib, refactor component for breaking changes (#44147)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-12-17 21:09:58 +01:00
Aaron Bach
d18c9f1c74 Update ReCollect docs to use proper name (#44291) 2020-12-17 20:59:45 +01:00
Maciej Bieniek
97894bd718 Refactor Airly config flow (#44330) 2020-12-17 19:34:40 +01:00
ehendrix23
418304c702 Bump pyMyQ to version 2.0.12 (#44328) 2020-12-17 08:08:19 -10:00
Erik Montnemery
31b806ced1 Revert "Change http to auto for cast media image url" (#44327) 2020-12-17 17:43:52 +01:00
Jc2k
2b6842aee0 Fix velux homekit covers not enumerated correctly (#44318) 2020-12-17 17:12:06 +01:00
Dermot Duffy
c8e3b17362 Update quality_scale for Hyperion (#44306) 2020-12-17 17:01:22 +01:00
Pierre Ståhl
fe7109acf4 Add extended device info and some attributes to Apple TV (#44277) 2020-12-17 16:47:20 +01:00
Thibaut
524db33f13 Add Somfy battery sensor (#44311)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-12-17 16:46:22 +01:00
Maciej Bieniek
94e1f8e631 Refactor Airly tests (#44315) 2020-12-17 16:44:46 +01:00
Joakim Plate
7c63119ad2 Fix philips_js channel and source name entry (#44296) 2020-12-17 16:44:24 +01:00
Ben
63dfd8343d Increase surepetcare api timeout to 60s (#44316) 2020-12-17 13:20:18 +01:00
HomeAssistant Azure
d3255e63e3 [ci skip] Translation update 2020-12-17 00:02:51 +00:00
Greg Dowling
638374c36a Bump pyroon to 0.0.28 (#44302) 2020-12-17 00:01:39 +01:00
Paulus Schoutsen
735607c625 Bump version to 2021.1 (#44298) 2020-12-16 23:59:45 +01:00
Dermot Duffy
aaae452d58 Add reauth step to Hyperion config flow (#43797)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-12-16 23:55:31 +01:00
Santobert
d0ebc00684 Add OAuth to Neato (#44031)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-12-16 23:39:41 +01:00
Paulus Schoutsen
4ec81d4b67 Merge pull request #44297 from home-assistant/rc 2020-12-16 22:31:37 +01:00
Paulus Schoutsen
ac62028c19 Fix account link test 2020-12-16 20:55:52 +00:00
Paulus Schoutsen
ff9e1ddeed Bumped version to 2020.12.1 2020-12-16 20:29:55 +00:00
Shay Levy
3a82aecd38 Fix Shelly devices missing properties field (#44279) 2020-12-16 20:29:47 +00:00
Paulus Schoutsen
3a41878a8c Fix setting timestamp on input_datetime (#44274) 2020-12-16 20:29:46 +00:00
David F. Mulcahey
3ab0b63540 Default smartenergy multiplier and divisor (#44257) 2020-12-16 20:29:45 +00:00
Erik Montnemery
3752fa3123 Remove Home Assistant Cast user when removing entry (#44228)
* Remove Home Assistant Cast user when removing entry

* Fix test

* Fix test
2020-12-16 20:29:44 +00:00
Erik Montnemery
07df3b9565 Bump hatasmota to 0.1.6 (#44226) 2020-12-16 20:29:44 +00:00
Aaron Bach
43ef5bab18 Fix unhandled KeyError in Recollect Waste (#44224) 2020-12-16 20:29:43 +00:00
Rob Bierbooms
150ce05e26 Bump dsmr-parser to 0.25 (#44223)
* Bump version in manifest

* Update requirements_all.txt

* Update requirements_test_all.txt
2020-12-16 20:29:42 +00:00
Greg
70bd998d7c Bump envoy_reader version to 0.17.3 (#44205)
* Bump envoy_reader version to 0.17.0rc0

* Fixing version number
2020-12-16 20:29:41 +00:00
Shay Levy
fd24baa1f6 Fix Shelly devices missing properties field (#44279) 2020-12-16 21:28:59 +01:00
Erik Montnemery
36eebd92dd Bump pychromecast to 7.6.0 (#44289) 2020-12-16 18:29:57 +01:00
Geoffrey Lagaisse
295b1a91c3 Bump python-qbittorrent to 0.4.2 (#44268) 2020-12-16 15:53:01 +01:00
Paulus Schoutsen
4f9d5792ed Fix setting timestamp on input_datetime (#44274) 2020-12-16 11:18:50 +01:00
Erik Montnemery
dfde403937 Remove Home Assistant Cast user when removing entry (#44228)
* Remove Home Assistant Cast user when removing entry

* Fix test

* Fix test
2020-12-16 11:00:22 +01:00
HomeAssistant Azure
3bb996c5b4 [ci skip] Translation update 2020-12-16 00:03:31 +00:00
Shay Levy
4880a1d55a Change shelly CONNECTION_CLASS to CONN_CLASS_LOCAL_PUSH (#44260)
Shelly integration is using local push since HA 0.118
2020-12-15 19:25:14 +01:00
Erik Montnemery
0aa85b2321 Bump hatasmota to 0.1.6 (#44226) 2020-12-15 17:23:00 +01:00
David F. Mulcahey
e601f62416 Default smartenergy multiplier and divisor (#44257) 2020-12-15 10:44:28 -05:00
Tim Messerschmidt
a0ce541c0d Bump google-nest-sdm to 0.2.1 to support more SDM Pub/Sub realms (#44163) 2020-12-15 07:38:32 -08:00
Thibaut
03bfc3bcf0 Add Somfy climate platform (#43895)
* Add climate platform
* Upgrade pymfy to 0.9.3
2020-12-15 07:04:35 -08:00
Tobias Perschon
266f82ac76 Add send animation service to telegram (#41489)
* added telegram sendAnimation api call

Signed-off-by: Tobias Perschon <tobias@perschon.at>

* more accurate service descriptions

Signed-off-by: Tobias Perschon <tobias@perschon.at>

* added 3rd parse_mode to description
2020-12-15 15:20:08 +01:00
Eric Severance
2765c6f1e9 Register Wemo fan services with entity service helper (#44192)
* Use a singleton for the Wemo registry and fan services

* Undo changes to the wemo subscription registry

* Use an entity service helper to register the Wemo fan services

* Fix Wemo fan test (missing ATTR_ENTITY_ID)

* Use the function name directly rather than a string

* Improve test coverage of the set_humidity service
2020-12-15 14:19:57 +01:00
Eric Severance
69a7eff55d Add tests for the Wemo __init__ module (#44196)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-12-15 09:59:23 +01:00
Eric Severance
d4ab7880af Replace hard-coded domain strings with constants in the Wemo module (#44222) 2020-12-15 05:03:02 +01:00
Allen Porter
1003464544 Fix double underscore typo in fan_mode ValueError (#44182) 2020-12-14 19:52:14 -08:00
Rob Bierbooms
a1e452170b Bump dsmr-parser to 0.25 (#44223)
* Bump version in manifest

* Update requirements_all.txt

* Update requirements_test_all.txt
2020-12-15 04:45:24 +01:00
Nate Harris
7471bf36e3 Use new PocketCast dependency (#44007)
* New PocketCast dependency

* Switch to new pycketcast dependency

* Update manifest.json

* Alphabetized new dependency
2020-12-15 04:10:10 +01:00
Ville Skyttä
c6c3d720ca Upgrade bandit to 1.7.0 (#44184)
* Upgrade bandit to 1.6.3

https://github.com/PyCQA/bandit/releases/tag/1.6.3

* Upgrade bandit to 1.7.0

https://github.com/PyCQA/bandit/releases/tag/1.7.0
2020-12-15 03:38:01 +01:00
HomeAssistant Azure
9e1647d634 [ci skip] Translation update 2020-12-15 00:04:49 +00:00
Greg
d274a62c31 Bump envoy_reader version to 0.17.3 (#44205)
* Bump envoy_reader version to 0.17.0rc0

* Fixing version number
2020-12-14 22:51:28 +01:00
Shulyaka
0b8529a472 Add zha AnalogOutput cluster support (#44092)
* Initial commit
* black
* isort
* Commit suggestion from code review
Co-authored-by: Alexei Chetroi <lexoid@gmail.com>

* pylint
* removed entity cache for present_value
* fix discovery
* move write_attributes to channel
* write_attributes fix
* write_attributes yet another fix
* update_before_add=False
* mains powered test device
* removed test_restore_state
* flake8
* removed async_configure_channel_specific
* don't know what this patch does, removing
* test for async_update
* removed node_descriptor
* fix unit_of_measurement
Co-authored-by: Alexei Chetroi <lexoid@gmail.com>
2020-12-14 15:32:45 -05:00
Aaron Bach
38d16d3e0c Fix unhandled KeyError in Recollect Waste (#44224) 2020-12-14 13:03:25 -07:00
Sergio Mayoral Martínez
a7fca3cf23 Bump python-holidays (#44215) 2020-12-14 15:16:39 +01:00
Diogo Gomes
c3d8b1323c Support MSSQL in SQL Sensor (#42778)
* add mssql support

* add tests and odbc dependency

* fix requirements

* no pyodbc dependency
2020-12-14 10:57:22 +01:00
Steve Brandt
7fa26ef515 Add opensky longitude and latitude event metadata (#43205)
* Adds feature to get also longitude and latitude of the triggerd entry or exit event

* None as initial definition of longitude and latitude if it is not defined in the metadata
2020-12-14 10:50:19 +01:00
Guillaume Duveau
c27c958a4d Temperatures, fan and battery in Glances sensors (#43500)
* Temperatures, fan and battery in Glances sensors

* Lint PR #43500
2020-12-14 10:46:44 +01:00
Josef Schlehofer
61dd374713 Upgrade youtube_dl to version 2020.12.07 (#44004) 2020-12-14 10:08:28 +01:00
Mike Miller
dc1d08be70 Upgrade restrictedpython to 5.1 (needed for python 3.9 support) (#44181) 2020-12-14 10:06:21 +01:00
Barry Williams
b758c147a6 Add myself to the codeowners manifest for openhome and tapsaff (#44188) 2020-12-14 10:05:15 +01:00
Oliver
66ed34e60e Update denonavr to 0.9.8 (#44194) 2020-12-14 10:04:41 +01:00
HomeAssistant Azure
ecf9aac1ce [ci skip] Translation update 2020-12-14 00:03:52 +00:00
Franck Nijhof
3600dec6e0 Merge pull request #44175 from home-assistant/rc 2020-12-13 22:21:47 +01:00
Franck Nijhof
277b916fcd 2020.12.0 2020-12-13 22:13:58 +01:00
J. Nick Koston
350ffd3e85 Bump HAP-python to 3.1.0 (#44176)
Fixes many spec compliance issues, unavailable cases
following an unexpected exception, and a thread safety
race condition.
2020-12-13 14:00:53 -05:00
Hmmbob
623826261b Remove deprecated CONF_ALLOW_UNLOCK, CONF_API_KEY from Google Assistant (#44087)
* Remove deprecated CONF_ALLOW_UNLOCK, CONF_API_KEY

* Use vol.Remove() to prevent setup fail

* Keep constants
2020-12-13 15:30:16 +01:00
Franck Nijhof
1ac5ecbe69 Bumped version to 1.0.0 2020-12-13 15:04:00 +01:00
David F. Mulcahey
3981592ccd Bump the ZHA quirks lib to 0.0.49 (#44173) 2020-12-13 15:02:03 +01:00
J. Nick Koston
9c45874206 Bump zeroconf to 0.28.7 to fix thread safety (#44160)
Service registration was not thread safe
2020-12-13 14:48:46 +01:00
Paulus Schoutsen
17cd00ba83 Remove invalidation_version from deprecated (#44156)
* Remove invalidation_version from deprecated. We don't follow up and just hurts releases

* Revert change to ZHA
2020-12-13 14:48:40 +01:00
David F. Mulcahey
6fb6d771fd Bump the ZHA quirks lib to 0.0.49 (#44173) 2020-12-13 08:43:33 -05:00
J. Nick Koston
485cd06de9 Bump zeroconf to 0.28.7 to fix thread safety (#44160)
Service registration was not thread safe
2020-12-13 12:36:17 +01:00
Crash
8979c4987f Clear mpd source playlist when not playing a playlist (#44164)
Prevents unexpected behavior.
2020-12-13 12:10:51 +01:00
Eric Severance
8255815688 Share wemo entity code to reduce duplicate boilerplate (#44113) 2020-12-13 12:02:45 +01:00
HomeAssistant Azure
a3a7ce4842 [ci skip] Translation update 2020-12-13 00:04:18 +00:00
Paulus Schoutsen
594e905742 Remove invalidation_version from deprecated (#44156)
* Remove invalidation_version from deprecated. We don't follow up and just hurts releases

* Revert change to ZHA
2020-12-12 22:24:16 +01:00
Paulus Schoutsen
c02be99ab7 Bumped version to 1.0.0b6 2020-12-12 20:35:58 +00:00
Bram Kragten
7c2a2b08c7 Updated frontend to 20201212.0 (#44154) 2020-12-12 20:35:52 +00:00
Steven Looman
f858d6f9ec Fix upnp first discovered device is used (#44151)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-12-12 20:35:50 +00:00
Aaron Bach
8507b62016 Fix inability to erase SimpliSafe code (#44137) 2020-12-12 20:35:49 +00:00
Brian Rogers
8c6636994f Fix Met.no forecast precipitation (#44106) 2020-12-12 20:35:47 +00:00
Bram Kragten
76d6b55ff4 Updated frontend to 20201212.0 (#44154) 2020-12-12 21:34:16 +01:00
Allen Porter
1a8123aba6 Increase nest climate test coverage (#44146) 2020-12-12 20:57:02 +01:00
Steven Looman
05f9fb80c8 Fix upnp first discovered device is used (#44151)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-12-12 19:47:46 +01:00
Eric Severance
8fe5e61cbf Test edge cases in wemo platform code (#44136) 2020-12-12 19:41:20 +01:00
Olivér Falvai
dd4147fbaa Log unique_id of device when ESPHome connection fails (#44152) 2020-12-12 10:44:45 -07:00
Aaron Bach
0696724506 Fix inability to erase SimpliSafe code (#44137) 2020-12-12 10:43:38 +01:00
finity69x2
8d9fd93dc7 Update strings.json to clarify the requirements for the API key (#44143) 2020-12-12 10:29:41 +01:00
Allen Porter
6d12e764b7 Increase test coverage for nest camera (#44144) 2020-12-12 10:17:43 +01:00
k2v1n58
d1fb554e33 Add code_arm_required to IFTTT alarm (#43928)
* Update alarm_control_panel.py
2020-12-11 21:51:57 -08:00
HomeAssistant Azure
19ff83790e [ci skip] Translation update 2020-12-12 00:06:00 +00:00
Peter Nijssen
bcebc588a6 Expose spider device information (#44085)
* Expose spider device information

* Set correct identifiers
2020-12-11 21:49:14 +01:00
Paulus Schoutsen
e67809713f Nuki to use entity platform (#43774) 2020-12-11 18:02:23 +01:00
Brian Rogers
e33405a8b0 Fix Met.no forecast precipitation (#44106) 2020-12-11 16:53:21 +01:00
Anders Melchiorsen
ce3f6c368a Initialize numeric_state trigger tests (#44114)
This makes the crossed thresholds explicit.
2020-12-11 05:11:51 +01:00
HomeAssistant Azure
a29f3e7163 [ci skip] Translation update 2020-12-11 00:04:19 +00:00
Huon Wilson
2bbe8e0e6b Cache Astral object in moon integration, to use less CPU (#44012)
Creating an Astral() instance seems to be surprisingly expensive. This
was previously being done in every update, taking a non-trivial
proportion of the (actual) CPU used by HA, that is, ignoring
sleep/wait/idle states like being blocked on epoll.

This patch caches the Astral instance to avoid recomputing it
regularly.
2020-12-10 16:31:54 -06:00
Eric Severance
b4afef1395 Add tests for the wemo component (#44088)
* Add tests for the wemo component.

* Prefer mock tools from tests.async_mock over importing asynctest directly

* Avoid using `entity/entities` except when referring to an `Entity` instance in wemo tests

* Remove the overridden event_loop fixture from the wemo tests

* Patch the library code, not the integration code, in the wemo tests
2020-12-10 22:24:26 +01:00
Erik Montnemery
7084d6c650 Address old review comments of Tasmota fan (#44112)
* Address review comments of Tasmota fan

* Address review comment
2020-12-10 22:17:58 +01:00
Hmmbob
9cc406fef9 Remove deprecated CONF_ALLOW_UNLOCK, CONF_API_KEY from Google Assistant (#44087)
* Remove deprecated CONF_ALLOW_UNLOCK, CONF_API_KEY

* Use vol.Remove() to prevent setup fail

* Keep constants
2020-12-10 21:50:51 +01:00
Erik Montnemery
97edbaa85f Small cleanup of MQTT (#44110)
* Use relative imports of mqtt component in mqtt platforms

* Correct parameters to _async_setup_entity

* Lint
2020-12-10 21:30:07 +01:00
Robert Svensson
9651d1bcfa Support more errors to better do retries in UniFi (#44108) 2020-12-10 21:25:50 +01:00
Alexei Chetroi
6253054fd4 Bump up dependencies on pyserial and pyserial-asyncio (#44089) 2020-12-10 20:41:31 +01:00
Bram Kragten
e306308a47 Update frontend to 20201210.0 (#44105) 2020-12-10 17:54:55 +01:00
Bram Kragten
0da312b6f1 Fix importing blueprint from community (#44104) 2020-12-10 16:45:57 +01:00
Paulus Schoutsen
d9a86c1145 Fix importing blueprints from forums with HTML entities (#44098) 2020-12-10 11:11:49 +01:00
Paulus Schoutsen
9cce6e91f1 Bump hass-nabucasa to 0.39.0 (#44097) 2020-12-10 10:10:38 +01:00
J.P. Hutchins
b15d92edfd Fix transmission torrent filtering and sorting (#44069) 2020-12-10 10:09:08 +01:00
zewelor
e09234ffae Fix yeelight unavailbility (#44061) 2020-12-10 09:54:10 +01:00
Dermot Duffy
b9a3a001fb Include Hyperion in coverage testing (#44096) 2020-12-10 09:41:11 +01:00
HomeAssistant Azure
848224262c [ci skip] Translation update 2020-12-10 00:03:01 +00:00
Robert Svensson
e2ef9d1afc Some lights only support hs, like the lidl christmas lights (#44059) 2020-12-09 19:02:44 +01:00
Robert Svensson
20c3fdfe14 Fix ignored Axis config entries doesn't break set up of new entries (#44062) 2020-12-09 17:48:16 +01:00
J. Nick Koston
dd0afc3b66 Create httpx helper to wrap a shared httpx.AsyncClient (#43877)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-12-09 17:18:57 +01:00
Finbarr Brady
12903f9c8c Bump openwebifpy version: 3.1.1 → 3.1.6 (#44064) 2020-12-09 17:13:20 +01:00
HomeAssistant Azure
0fc33bd6bf [ci skip] Translation update 2020-12-09 00:03:07 +00:00
Paul
07461f9a8e Update pyarlo to 0.2.4 (#44034) 2020-12-08 23:14:55 +01:00
Fuzzy
2fdf32bf1b Add T8400 to ignore list (#44017) 2020-12-08 20:10:50 +00:00
Alexei Chetroi
51f9da94e1 Exclude coordinator when looking up group members entity IDs (#44058) 2020-12-08 14:34:26 -05:00
Jc2k
109ce653c0 Fix how homekit_controller enumerates Hue remote (#44019) 2020-12-08 18:01:07 +01:00
Pierre Ståhl
faf21e1e1a Bump pyatv to 0.7.5 (#44051) 2020-12-08 14:16:31 +01:00
Paulus Schoutsen
ac2af69d26 Fix extracting entity and device IDs from scripts (#44048)
* Fix extracting entity and device IDs from scripts

* Fix extracting from data_template
2020-12-08 13:06:29 +01:00
Finbarr Brady
0b7b6b1d81 Bump ciscomobilityexpress version: 0.3.3 → 0.3.9 (#44050)
* Update manifest.json

* Update requirements_all.txt
2020-12-08 13:00:17 +01:00
Alex Szlavik
fca8841e34 Retry tuya setup on auth rate limiting (#44001)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-12-08 11:32:48 +01:00
Maciej Bieniek
572d4cfbe6 Add the missing ATTR_ENABLED attribute to Brother integration list of sensors (#44036) 2020-12-08 08:19:57 +01:00
Aaron Bach
5f4f6dea6b Bump simplisafe-python to 9.6.2 (#44040) 2020-12-07 19:57:19 -07:00
Alexei Chetroi
e0bcee1cc3 Update ZHA dependencies (#44039)
zha-quirks==0.0.48
zigpy==0.28.2
zigpy-znp==0.3.0
2020-12-07 20:06:32 -05:00
HomeAssistant Azure
ebe57d4fdb [ci skip] Translation update 2020-12-08 00:04:13 +00:00
SukramJ
34a31884b7 Bump dependency to add more multi channel devices to HomematicIP Cloud (#43914) 2020-12-08 00:16:22 +01:00
Aaron Bach
8632ab9d35 Bump simplisafe-python to 9.6.1 (#44030) 2020-12-07 13:34:47 -07:00
Brian Rogers
f18c6ae72c Add pause and resume services to Rachio (#43944)
* Add pause-resume

* address comments
2020-12-07 13:22:23 -06:00
Brian
886ce599ac Bump pymyq to 2.0.11 (#44003) 2020-12-07 12:01:58 -06:00
David F. Mulcahey
70133f2096 Fix ZHA switch group test (#44021) 2020-12-07 11:43:35 -05:00
Eric Severance
c9c3a8fe38 Unregister updates when a Wemo entry is removed (#44005) 2020-12-07 14:10:46 +01:00
Jc2k
6ce45e39d1 Hide HomeKit devices from discovery that are known to be problematic (#44014) 2020-12-07 13:51:35 +01:00
PeteBa
727b1d37b6 Add discovery for MQTT device tracker (#42327) 2020-12-07 13:16:56 +01:00
Nigel Rook
1d0b4290fe Update generic_thermostat current_temperature on startup (#43951)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-12-07 13:14:54 +01:00
Andre Lengwenus
fec623fb4e Fix LCN service calls (invoking coroutines) (#43932)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-12-07 13:13:41 +01:00
JJdeVries
84973ec8f7 Fix unit of measurement for asuswrt sensors (#44009) 2020-12-07 12:46:53 +01:00
Maikel Punie
035860ebb2 Fix Solaredge integration in case the data is not complete (#43557)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-12-07 11:20:22 +01:00
mbo18
4bcb6c0ec6 Add UV unit to meteo_france UV sensor (#43992) 2020-12-07 10:47:29 +01:00
Shay Levy
5fc7df2746 Prevent firing Shelly input events at startup (#43986)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-12-07 09:27:33 +01:00
nivnoach
906e1ce960 Allow manual configuration of ignored config entries (#43947) 2020-12-07 09:25:04 +01:00
Maciej Bieniek
19389b16e2 Add support for system health to GIOS integration (#43280)
* Add system health support

* Fix docstrings

* Change url to check
2020-12-07 03:50:22 +01:00
springstan
25e717c8d2 Bump fritzconnection to 1.4.0 (#43996) 2020-12-07 03:16:43 +01:00
Philip Allgaier
18736dbebf Bump voluptuous to 0.12.1 (#44002)
* Bump voluptuous to 0.12.1

* Adjust MQTT climate test to new error msg
2020-12-07 02:49:36 +01:00
Andreas Wrede
30f73a4962 Add discovery of sensors on DS2409 MicroLan (#43599)
* Add discovery of sensors on DS2409 MicroLan

* Add tests for coupler

* Update tests

* Fix isort

* Clean up

* Move tests to test_sensor.py

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-12-07 02:09:32 +01:00
HomeAssistant Azure
9c63fbfcb1 [ci skip] Translation update 2020-12-07 00:04:18 +00:00
Jacob Southard
8b01f681ab Add target temperature range to homekit_controller (#42817)
* Add support for temperature range in thermostat.
* Add tests for setting temperature range.
* Update Lennox E30/Ecobee 3 tests to reflect new supported feature
* Add support for thermostate mode specific min/max temp values.
2020-12-06 23:23:08 +00:00
Paulus Schoutsen
23f8ae8fec Update ring to 0.6.2 (#43995) 2020-12-06 17:24:32 +01:00
HomeAssistant Azure
f9bc7bacb6 [ci skip] Translation update 2020-12-06 00:03:59 +00:00
Alexei Chetroi
a1720fdd2b Cleanup ZHA fan channel (#43973)
* Use zigpy cached values for ZHA Fan speed

* Disable update_before_add for ZHA fans

* Refresh state of the group

* Fix group tests
2020-12-05 18:24:49 -05:00
Alexei Chetroi
40e5634db3 Add ZHA Coordinator to LightLink cluster groups (#43959)
* Add coordinator to LighLink cluster groups

* Make pylint happy
2020-12-05 11:20:10 -05:00
Franck Nijhof
9b7ecddde6 Add reverse repeatmode mapping constant to Spotify (#43968) 2020-12-05 15:05:12 +01:00
treylok
180491f8cd Fix Ecobee set humidity (#43954) 2020-12-05 14:13:46 +01:00
Andre Lengwenus
378424b2c4 Refactor LCN integration (#40665)
* Moved configuration schemes to schemes.py

* Renamed LcnDevice to LcnEntity. Renamed address_connection to device_connection.

* Rename schemes.py to schemas.py
2020-12-05 12:57:49 +01:00
Robert Svensson
bc83e30761 Fix device refresh service can always add devices (#43950) 2020-12-05 11:53:43 +01:00
Brian Rogers
c5adaa1f5c Return unique id of Blink binary sensor (#43942) 2020-12-05 11:32:49 +01:00
Allen Porter
0670124e8d Address PR cleanup for nest device triggers (#43961) 2020-12-05 10:55:19 +01:00
Emily Mills
c4426a73b3 Remove zerproc threaded upstream reconnect logic (#43910) 2020-12-05 01:40:56 +01:00
HomeAssistant Azure
6e74f90136 [ci skip] Translation update 2020-12-05 00:03:50 +00:00
Alexei Chetroi
125ceb7449 Refactor ZHA core channel initialization (#43953)
* Cleanup Basic channnel

Remove unused methods.

* Refactor async_configure() method

Split async_configure() into async_configure() and
async_configure_channel_specfici()

* Refactor async_initilize() method

Split into two different methods and configure channel specifics via
async_configure_channel_specific()

* Fixes
2020-12-04 18:45:09 -05:00
Bram Kragten
b19c705867 Updated frontend to 20201204.0 (#43945) 2020-12-04 23:04:31 +01:00
Martin Hjelmare
e23dc90bac Handle stale ozw discovery flow (#43939) 2020-12-04 20:41:08 +01:00
Martin Hjelmare
a47cf27ed6 Always send ozw network key to add-on config (#43938) 2020-12-04 20:23:20 +01:00
Erik Montnemery
5e6f5fca90 Don't send MQTT birth message in tests (#43917) 2020-12-04 04:39:49 +01:00
Jonas Lundberg
a5279cc279 Upgrade respx to 0.16.2 (#43892)
* Bump respx to 0.16.2

* Align sensor tests to use new respx mock api
2020-12-04 04:27:25 +01:00
djtimca
52edf6719d Bump auroranoaa library to 0.0.2 (#43898) 2020-12-04 03:57:35 +01:00
Erik Montnemery
916ff88774 Bump hatasmota to 0.1.4 (#43912) 2020-12-04 03:16:37 +01:00
HomeAssistant Azure
42f00cff30 [ci skip] Translation update 2020-12-04 00:05:42 +00:00
Bram Kragten
44d7787582 Updated frontend to 20201203.0 (#43907) 2020-12-03 22:41:02 +01:00
J. Nick Koston
4ef93feb9a Bump icmplib to 2.0 for ping (#43868) 2020-12-03 12:02:18 -07:00
Martin Hjelmare
5742db6308 Unsubscribe ozw stop listener on entry unload (#43900) 2020-12-03 19:40:33 +01:00
Martin Hjelmare
8d33c2092f Add number entity value property (#43902) 2020-12-03 18:35:17 +01:00
Emily Mills
54cb2d42af Kulersky cleanups (#43901) 2020-12-03 18:08:16 +01:00
Paulus Schoutsen
262e77d969 Blueprint: descriptions + descriptive errors (#43899) 2020-12-03 16:44:18 +01:00
Shulyaka
78a69ef284 Add reproduce state for Number (#43870) 2020-12-03 10:39:50 +01:00
Robert Svensson
2c66d26415 Improve look up speed by inverting dictionaries (#43883) 2020-12-03 10:37:39 +01:00
Guido Schmitz
6f2327c6d5 Change config flow unique_id for devolo Home Control (#43005) 2020-12-03 09:10:20 +01:00
SukramJ
40408eb0eb Add HmIP-HDM1 and HmIPW-DRD3 to Homematic IP Cloud (#43132)
* cleanup const.py

* Add wired multi dimmer HMIPW-DRD3 to Homematic IP Cloud

* Add HmIP-HDM1 to Homematic IP Cloud
2020-12-02 23:56:05 -06:00
Aaron Bach
69a438e2fc Fix Slack "invalid_blocks_format" bug (#43875)
* Fix Slack "invalid_blocks_format" bug

* Fix optional params

* Fix one more optional param

* Update manifest
2020-12-03 04:45:08 +01:00
tehbrd
4c7e17c5c6 Fix intesishome passing coroutine to HassJob (#43837)
* Update climate.py

Not allowed to pass coroutines to hassjob.

* Update climate.py

* Lint

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2020-12-03 01:58:10 +01:00
HomeAssistant Azure
8e6108b9e1 [ci skip] Translation update 2020-12-03 00:04:35 +00:00
Emily Mills
7c83092431 Add Kuler Sky Bluetooth floor lamp integration (#42372)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-12-02 22:28:17 +01:00
Elena Rogleva
7cd17dd94f Rewrite the kira/test_init.py unittests to pytest style test functions (#42753) 2020-12-02 22:15:53 +01:00
3810 changed files with 94756 additions and 21227 deletions

View File

@@ -29,6 +29,8 @@ omit =
homeassistant/components/agent_dvr/camera.py
homeassistant/components/agent_dvr/const.py
homeassistant/components/agent_dvr/helpers.py
homeassistant/components/airnow/__init__.py
homeassistant/components/airnow/sensor.py
homeassistant/components/airvisual/__init__.py
homeassistant/components/airvisual/air_quality.py
homeassistant/components/airvisual/sensor.py
@@ -73,8 +75,6 @@ omit =
homeassistant/components/aurora_abb_powerone/sensor.py
homeassistant/components/avea/light.py
homeassistant/components/avion/light.py
homeassistant/components/avri/const.py
homeassistant/components/avri/sensor.py
homeassistant/components/azure_devops/__init__.py
homeassistant/components/azure_devops/const.py
homeassistant/components/azure_devops/sensor.py
@@ -102,7 +102,12 @@ omit =
homeassistant/components/bme280/sensor.py
homeassistant/components/bme680/sensor.py
homeassistant/components/bmp280/sensor.py
homeassistant/components/bmw_connected_drive/*
homeassistant/components/bmw_connected_drive/__init__.py
homeassistant/components/bmw_connected_drive/binary_sensor.py
homeassistant/components/bmw_connected_drive/device_tracker.py
homeassistant/components/bmw_connected_drive/lock.py
homeassistant/components/bmw_connected_drive/notify.py
homeassistant/components/bmw_connected_drive/sensor.py
homeassistant/components/braviatv/__init__.py
homeassistant/components/braviatv/const.py
homeassistant/components/braviatv/media_player.py
@@ -139,7 +144,7 @@ omit =
homeassistant/components/co2signal/*
homeassistant/components/coinbase/*
homeassistant/components/comed_hourly_pricing/sensor.py
homeassistant/components/comfoconnect/*
homeassistant/components/comfoconnect/fan.py
homeassistant/components/concord232/alarm_control_panel.py
homeassistant/components/concord232/binary_sensor.py
homeassistant/components/control4/__init__.py
@@ -210,7 +215,11 @@ omit =
homeassistant/components/ecobee/notify.py
homeassistant/components/ecobee/sensor.py
homeassistant/components/ecobee/weather.py
homeassistant/components/econet/*
homeassistant/components/econet/__init__.py
homeassistant/components/econet/binary_sensor.py
homeassistant/components/econet/const.py
homeassistant/components/econet/sensor.py
homeassistant/components/econet/water_heater.py
homeassistant/components/ecovacs/*
homeassistant/components/edl21/*
homeassistant/components/eddystone_temperature/sensor.py
@@ -295,8 +304,8 @@ omit =
homeassistant/components/folder_watcher/*
homeassistant/components/foobot/sensor.py
homeassistant/components/fortios/device_tracker.py
homeassistant/components/foscam/__init__.py
homeassistant/components/foscam/camera.py
homeassistant/components/foscam/const.py
homeassistant/components/foursquare/*
homeassistant/components/free_mobile/notify.py
homeassistant/components/freebox/__init__.py
@@ -305,6 +314,9 @@ omit =
homeassistant/components/freebox/sensor.py
homeassistant/components/freebox/switch.py
homeassistant/components/fritz/device_tracker.py
homeassistant/components/fritzbox_callmonitor/__init__.py
homeassistant/components/fritzbox_callmonitor/const.py
homeassistant/components/fritzbox_callmonitor/base.py
homeassistant/components/fritzbox_callmonitor/sensor.py
homeassistant/components/fritzbox_netmonitor/sensor.py
homeassistant/components/fronius/sensor.py
@@ -353,7 +365,10 @@ omit =
homeassistant/components/hangouts/hangouts_bot.py
homeassistant/components/hangouts/hangups_utils.py
homeassistant/components/harman_kardon_avr/media_player.py
homeassistant/components/harmony/*
homeassistant/components/harmony/const.py
homeassistant/components/harmony/data.py
homeassistant/components/harmony/remote.py
homeassistant/components/harmony/util.py
homeassistant/components/haveibeenpwned/sensor.py
homeassistant/components/hdmi_cec/*
homeassistant/components/heatmiser/climate.py
@@ -386,7 +401,6 @@ omit =
homeassistant/components/hvv_departures/sensor.py
homeassistant/components/hvv_departures/__init__.py
homeassistant/components/hydrawise/*
homeassistant/components/hyperion/light.py
homeassistant/components/iammeter/sensor.py
homeassistant/components/iaqualink/binary_sensor.py
homeassistant/components/iaqualink/climate.py
@@ -568,24 +582,15 @@ omit =
homeassistant/components/n26/*
homeassistant/components/nad/media_player.py
homeassistant/components/nanoleaf/light.py
homeassistant/components/neato/__init__.py
homeassistant/components/neato/api.py
homeassistant/components/neato/camera.py
homeassistant/components/neato/sensor.py
homeassistant/components/neato/switch.py
homeassistant/components/neato/vacuum.py
homeassistant/components/nederlandse_spoorwegen/sensor.py
homeassistant/components/nello/lock.py
homeassistant/components/nest/__init__.py
homeassistant/components/nest/api.py
homeassistant/components/nest/binary_sensor.py
homeassistant/components/nest/camera.py
homeassistant/components/nest/camera_legacy.py
homeassistant/components/nest/camera_sdm.py
homeassistant/components/nest/climate.py
homeassistant/components/nest/climate_legacy.py
homeassistant/components/nest/climate_sdm.py
homeassistant/components/nest/local_auth.py
homeassistant/components/nest/sensor.py
homeassistant/components/nest/sensor_legacy.py
homeassistant/components/nest/legacy/*
homeassistant/components/netatmo/__init__.py
homeassistant/components/netatmo/api.py
homeassistant/components/netatmo/camera.py
@@ -630,6 +635,11 @@ omit =
homeassistant/components/omnilogic/__init__.py
homeassistant/components/omnilogic/common.py
homeassistant/components/omnilogic/sensor.py
homeassistant/components/ondilo_ico/__init__.py
homeassistant/components/ondilo_ico/api.py
homeassistant/components/ondilo_ico/const.py
homeassistant/components/ondilo_ico/oauth_impl.py
homeassistant/components/ondilo_ico/sensor.py
homeassistant/components/onkyo/media_player.py
homeassistant/components/onvif/__init__.py
homeassistant/components/onvif/base.py
@@ -691,8 +701,6 @@ omit =
homeassistant/components/pjlink/media_player.py
homeassistant/components/plaato/*
homeassistant/components/plex/media_player.py
homeassistant/components/plex/models.py
homeassistant/components/plex/sensor.py
homeassistant/components/plum_lightpad/light.py
homeassistant/components/pocketcasts/sensor.py
homeassistant/components/point/*
@@ -707,7 +715,6 @@ omit =
homeassistant/components/prowl/notify.py
homeassistant/components/proxmoxve/*
homeassistant/components/proxy/camera.py
homeassistant/components/ptvsd/*
homeassistant/components/pulseaudio_loopback/switch.py
homeassistant/components/pushbullet/notify.py
homeassistant/components/pushbullet/sensor.py
@@ -791,11 +798,9 @@ omit =
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/shelly/utils.py
homeassistant/components/sht31/sensor.py
homeassistant/components/sigfox/sensor.py
@@ -834,10 +839,12 @@ omit =
homeassistant/components/solaredge_local/sensor.py
homeassistant/components/solarlog/*
homeassistant/components/solax/sensor.py
homeassistant/components/soma/cover.py
homeassistant/components/soma/__init__.py
homeassistant/components/soma/cover.py
homeassistant/components/soma/sensor.py
homeassistant/components/somfy/*
homeassistant/components/somfy_mylink/*
homeassistant/components/somfy_mylink/__init__.py
homeassistant/components/somfy_mylink/cover.py
homeassistant/components/sonos/*
homeassistant/components/sony_projector/switch.py
homeassistant/components/spc/*
@@ -1015,7 +1022,6 @@ omit =
homeassistant/components/watson_tts/tts.py
homeassistant/components/waze_travel_time/sensor.py
homeassistant/components/webostv/*
homeassistant/components/wemo/*
homeassistant/components/whois/sensor.py
homeassistant/components/wiffi/*
homeassistant/components/wink/*
@@ -1091,6 +1097,9 @@ omit =
homeassistant/components/zoneminder/*
homeassistant/components/supla/*
homeassistant/components/zwave/util.py
homeassistant/components/zwave_js/discovery.py
homeassistant/components/zwave_js/light.py
homeassistant/components/zwave_js/sensor.py
[report]
# Regexes for lines to exclude from consideration

View File

@@ -11,7 +11,7 @@ on:
env:
CACHE_VERSION: 1
DEFAULT_PYTHON: 3.7
DEFAULT_PYTHON: 3.8
PRE_COMMIT_HOME: ~/.cache/pre-commit
jobs:
@@ -25,7 +25,7 @@ jobs:
uses: actions/checkout@v2
- name: Set up Python ${{ env.DEFAULT_PYTHON }}
id: python
uses: actions/setup-python@v2.1.4
uses: actions/setup-python@v2.2.1
with:
python-version: ${{ env.DEFAULT_PYTHON }}
- name: Restore base Python virtual environment
@@ -73,7 +73,7 @@ jobs:
- name: Check out code from GitHub
uses: actions/checkout@v2
- name: Set up Python ${{ env.DEFAULT_PYTHON }}
uses: actions/setup-python@v2.1.4
uses: actions/setup-python@v2.2.1
id: python
with:
python-version: ${{ env.DEFAULT_PYTHON }}
@@ -118,7 +118,7 @@ jobs:
- name: Check out code from GitHub
uses: actions/checkout@v2
- name: Set up Python ${{ env.DEFAULT_PYTHON }}
uses: actions/setup-python@v2.1.4
uses: actions/setup-python@v2.2.1
id: python
with:
python-version: ${{ env.DEFAULT_PYTHON }}
@@ -163,7 +163,7 @@ jobs:
- name: Check out code from GitHub
uses: actions/checkout@v2
- name: Set up Python ${{ env.DEFAULT_PYTHON }}
uses: actions/setup-python@v2.1.4
uses: actions/setup-python@v2.2.1
id: python
with:
python-version: ${{ env.DEFAULT_PYTHON }}
@@ -230,7 +230,7 @@ jobs:
- name: Check out code from GitHub
uses: actions/checkout@v2
- name: Set up Python ${{ env.DEFAULT_PYTHON }}
uses: actions/setup-python@v2.1.4
uses: actions/setup-python@v2.2.1
id: python
with:
python-version: ${{ env.DEFAULT_PYTHON }}
@@ -278,7 +278,7 @@ jobs:
- name: Check out code from GitHub
uses: actions/checkout@v2
- name: Set up Python ${{ env.DEFAULT_PYTHON }}
uses: actions/setup-python@v2.1.4
uses: actions/setup-python@v2.2.1
id: python
with:
python-version: ${{ env.DEFAULT_PYTHON }}
@@ -326,7 +326,7 @@ jobs:
- name: Check out code from GitHub
uses: actions/checkout@v2
- name: Set up Python ${{ env.DEFAULT_PYTHON }}
uses: actions/setup-python@v2.1.4
uses: actions/setup-python@v2.2.1
id: python
with:
python-version: ${{ env.DEFAULT_PYTHON }}
@@ -371,7 +371,7 @@ jobs:
- name: Check out code from GitHub
uses: actions/checkout@v2
- name: Set up Python ${{ env.DEFAULT_PYTHON }}
uses: actions/setup-python@v2.1.4
uses: actions/setup-python@v2.2.1
id: python
with:
python-version: ${{ env.DEFAULT_PYTHON }}
@@ -419,7 +419,7 @@ jobs:
- name: Check out code from GitHub
uses: actions/checkout@v2
- name: Set up Python ${{ env.DEFAULT_PYTHON }}
uses: actions/setup-python@v2.1.4
uses: actions/setup-python@v2.2.1
id: python
with:
python-version: ${{ env.DEFAULT_PYTHON }}
@@ -475,7 +475,7 @@ jobs:
- name: Check out code from GitHub
uses: actions/checkout@v2
- name: Set up Python ${{ env.DEFAULT_PYTHON }}
uses: actions/setup-python@v2.1.4
uses: actions/setup-python@v2.2.1
id: python
with:
python-version: ${{ env.DEFAULT_PYTHON }}
@@ -521,13 +521,12 @@ jobs:
needs: prepare-tests
strategy:
matrix:
python-version: [3.7]
python-version: [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
- name: Restore full Python ${{ matrix.python-version }} virtual environment
id: cache-venv
uses: actions/cache@v2
with:
@@ -555,7 +554,7 @@ jobs:
- name: Check out code from GitHub
uses: actions/checkout@v2
- name: Set up Python ${{ env.DEFAULT_PYTHON }}
uses: actions/setup-python@v2.1.4
uses: actions/setup-python@v2.2.1
id: python
with:
python-version: ${{ env.DEFAULT_PYTHON }}
@@ -585,13 +584,12 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: [3.7, 3.8]
python-version: [3.8, 3.9]
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
- name: Restore full Python ${{ matrix.python-version }} virtual environment
id: cache-venv
uses: actions/cache@v2
with:
@@ -605,10 +603,13 @@ jobs:
${{ 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
- name: Create full Python ${{ matrix.python-version }} virtual environment
if: steps.cache-venv.outputs.cache-hit != 'true'
run: |
# Temporary addition of cmake, needed to build some Python 3.9 packages
apt-get update
apt-get -y install cmake
python -m venv venv
. venv/bin/activate
pip install -U "pip<20.3" setuptools wheel
@@ -622,13 +623,12 @@ jobs:
needs: prepare-tests
strategy:
matrix:
python-version: [3.7]
python-version: [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
- name: Restore full Python ${{ matrix.python-version }} virtual environment
id: cache-venv
uses: actions/cache@v2
with:
@@ -657,13 +657,12 @@ jobs:
needs: prepare-tests
strategy:
matrix:
python-version: [3.7]
python-version: [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
- name: Restore full Python ${{ matrix.python-version }} virtual environment
id: cache-venv
uses: actions/cache@v2
with:
@@ -692,15 +691,14 @@ jobs:
strategy:
matrix:
group: [1, 2, 3, 4]
python-version: [3.7, 3.8]
python-version: [3.8, 3.9]
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
- name: Restore full Python ${{ matrix.python-version }} virtual environment
id: cache-venv
uses: actions/cache@v2
with:
@@ -741,7 +739,7 @@ jobs:
-p no:sugar \
tests
- name: Upload coverage artifact
uses: actions/upload-artifact@v2.2.1
uses: actions/upload-artifact@v2.2.2
with:
name: coverage-${{ matrix.python-version }}-group${{ matrix.group }}
path: .coverage
@@ -755,13 +753,12 @@ jobs:
needs: pytest
strategy:
matrix:
python-version: [3.7]
python-version: [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
- name: Restore full Python ${{ matrix.python-version }} virtual environment
id: cache-venv
uses: actions/cache@v2
with:
@@ -785,4 +782,4 @@ jobs:
coverage report --fail-under=94
coverage xml
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v1.0.15
uses: codecov/codecov-action@v1.2.1

View File

@@ -9,7 +9,7 @@ jobs:
lock:
runs-on: ubuntu-latest
steps:
- uses: dessant/lock-threads@v2.0.1
- uses: dessant/lock-threads@v2.0.3
with:
github-token: ${{ github.token }}
issue-lock-inactive-days: "30"

View File

@@ -4,23 +4,27 @@ name: Stale
on:
schedule:
- cron: "0 * * * *"
workflow_dispatch:
jobs:
stale:
runs-on: ubuntu-latest
steps:
# The 90 day stale policy
# Used for: Everything (unless 30 day policy below beats it)
- name: 90 days stale policy
uses: actions/stale@v3.0.14
# Used for:
# - Issues & PRs
# - No PRs marked as no-stale
# - No issues marked as no-stale or help-wanted
- name: 90 days stale issues & PRs policy
uses: actions/stale@v3.0.15
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
days-before-stale: 90
days-before-close: 7
operations-per-run: 25
operations-per-run: 150
remove-stale-when-updated: true
stale-issue-label: "stale"
exempt-issue-labels: "no-stale,Help%20wanted,help-wanted"
exempt-issue-labels: "no-stale,help-wanted"
stale-issue-message: >
There hasn't been any activity on this issue recently. Due to the
high number of incoming GitHub notifications, we have to clean some
@@ -43,22 +47,48 @@ jobs:
Thank you for your contributions.
# The 30 day stale policy
# The 30 day stale policy for PRS
# Used for:
# - Issues that are pending more information (incomplete issues)
# - PRs that are not marked as new-integration
- name: 30 days stale policy
uses: actions/stale@v3.0.14
# - PRs
# - No PRs marked as no-stale or new-integrations
# - No issues (-1)
- name: 30 days stale PRs policy
uses: actions/stale@v3.0.15
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
# PRs have a CLA signed label, we can misuse it to apply this policy
only-labels: "cla-signed,needs-more-information"
days-before-stale: 30
days-before-close: 7
operations-per-run: 5
days-before-issue-close: -1
operations-per-run: 50
remove-stale-when-updated: true
stale-pr-label: "stale"
# Exempt new integrations, these often take more time.
# They will automatically be handled by the 90 day version above.
exempt-pr-labels: "no-stale,new-integration"
stale-pr-message: >
There hasn't been any activity on this pull request recently. This
pull request has been automatically marked as stale because of that
and will be closed if no further activity occurs within 7 days.
Thank you for your contributions.
# The 30 day stale policy for issues
# Used for:
# - Issues that are pending more information (incomplete issues)
# - No Issues marked as no-stale or help-wanted
# - No PRs (-1)
- name: Needs more information stale issues policy
uses: actions/stale@v3.0.15
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
only-labels: "needs-more-information"
days-before-stale: 14
days-before-close: 7
days-before-pr-close: -1
operations-per-run: 50
remove-stale-when-updated: true
stale-issue-label: "stale"
exempt-issue-labels: "no-stale,Help%20wanted,help-wanted"
exempt-issue-labels: "no-stale,help-wanted"
stale-issue-message: >
There hasn't been any activity on this issue recently. Due to the
high number of incoming GitHub notifications, we have to clean some
@@ -71,14 +101,3 @@ jobs:
This issue has now been marked as stale and will be closed if no
further activity occurs. Thank you for your contributions.
stale-pr-label: "stale"
# Exempt new integrations, these often take more time.
# They will automatically be handled by the 90 day version above.
exempt-pr-labels: "no-stale,new-integration"
stale-pr-message: >
There hasn't been any activity on this pull request recently. This
pull request has been automatically marked as stale because of that
and will be closed if no further activity occurs within 7 days.
Thank you for your contributions.

View File

@@ -3,7 +3,7 @@ repos:
rev: v2.7.2
hooks:
- id: pyupgrade
args: [--py37-plus]
args: [--py38-plus]
- repo: https://github.com/psf/black
rev: 20.8b1
hooks:
@@ -13,14 +13,15 @@ repos:
- --quiet
files: ^((homeassistant|script|tests)/.+)?[^/]+\.py$
- repo: https://github.com/codespell-project/codespell
rev: v1.17.1
rev: v2.0.0
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,iam,incomfort
- --ignore-words-list=hass,alot,datas,dof,dur,ether,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: [csv, json]
exclude: ^tests/fixtures/
- repo: https://gitlab.com/pycqa/flake8
rev: 3.8.4
hooks:
@@ -30,7 +31,7 @@ repos:
- pydocstyle==5.1.1
files: ^(homeassistant|script|tests)/.+\.py$
- repo: https://github.com/PyCQA/bandit
rev: 1.6.2
rev: 1.7.0
hooks:
- id: bandit
args:

View File

@@ -4,7 +4,7 @@ build:
image: latest
python:
version: 3.7
version: 3.8
setup_py_install: true
requirements_file: requirements_docs.txt

View File

@@ -1,42 +0,0 @@
dist: focal
addons:
apt:
packages:
- ffmpeg
- libudev-dev
- libavformat-dev
- libavcodec-dev
- libavdevice-dev
- libavutil-dev
- libswscale-dev
- libswresample-dev
- libavfilter-dev
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.1"
env: TOXENV=lint
- 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
cache:
pip: true
directories:
- $HOME/.cache/pre-commit
install: pip install -U tox tox-travis
language: python
script: ${TRAVIS_WAIT:+travis_wait $TRAVIS_WAIT} tox -vv --develop ${TOX_ARGS-}

38
.vscode/launch.json vendored
View File

@@ -9,7 +9,41 @@
"type": "python",
"request": "launch",
"module": "homeassistant",
"args": ["--debug", "-c", "config"]
"args": [
"--debug",
"-c",
"config"
]
},
{
// Debug by attaching to local Home Asistant server using Remote Python Debugger.
// See https://www.home-assistant.io/integrations/debugpy/
"name": "Home Assistant: Attach Local",
"type": "python",
"request": "attach",
"port": 5678,
"host": "localhost",
"pathMappings": [
{
"localRoot": "${workspaceFolder}",
"remoteRoot": "."
}
],
},
{
// Debug by attaching to remote Home Asistant server using Remote Python Debugger.
// See https://www.home-assistant.io/integrations/debugpy/
"name": "Home Assistant: Attach Remote",
"type": "python",
"request": "attach",
"port": 5678,
"host": "homeassistant.local",
"pathMappings": [
{
"localRoot": "${workspaceFolder}",
"remoteRoot": "/usr/src/homeassistant"
}
],
}
]
}
}

View File

@@ -5,5 +5,5 @@
// https://github.com/microsoft/vscode-python/issues/14067
"python.testing.pytestArgs": ["--no-cov"],
// https://code.visualstudio.com/docs/python/testing#_pytest-configuration-settings
"python.testing.pytestEnabled": true
"python.testing.pytestEnabled": false
}

View File

@@ -26,6 +26,7 @@ homeassistant/components/adguard/* @frenck
homeassistant/components/advantage_air/* @Bre77
homeassistant/components/agent_dvr/* @ispysoftware
homeassistant/components/airly/* @bieniu
homeassistant/components/airnow/* @asymworks
homeassistant/components/airvisual/* @bachya
homeassistant/components/alarmdecoder/* @ajschmidt8
homeassistant/components/alexa/* @home-assistant/cloud @ochlocracy
@@ -54,9 +55,7 @@ homeassistant/components/aurora_abb_powerone/* @davet2001
homeassistant/components/auth/* @home-assistant/core
homeassistant/components/automation/* @home-assistant/core
homeassistant/components/avea/* @pattyland
homeassistant/components/avri/* @timvancann
homeassistant/components/awair/* @ahayworth @danielsjf
homeassistant/components/aws/* @awarecan
homeassistant/components/axis/* @Kane610
homeassistant/components/azure_devops/* @timmo001
homeassistant/components/azure_event_hub/* @eavanvalkenburg
@@ -108,6 +107,7 @@ homeassistant/components/derivative/* @afaucogney
homeassistant/components/device_automation/* @home-assistant/core
homeassistant/components/devolo_home_control/* @2Fake @Shutgun
homeassistant/components/dexcom/* @gagebenne
homeassistant/components/dhcp/* @bdraco
homeassistant/components/digital_ocean/* @fabaff
homeassistant/components/directv/* @ctalkington
homeassistant/components/discogs/* @thibmaek
@@ -120,6 +120,7 @@ homeassistant/components/dweet/* @fabaff
homeassistant/components/dynalite/* @ziv1234
homeassistant/components/eafm/* @Jc2k
homeassistant/components/ecobee/* @marthoc
homeassistant/components/econet/* @vangorra @w1ll1am23
homeassistant/components/ecovacs/* @OverloadUT
homeassistant/components/edl21/* @mtdcr
homeassistant/components/egardia/* @jeroenterheerdt
@@ -180,7 +181,7 @@ homeassistant/components/griddy/* @bdraco
homeassistant/components/group/* @home-assistant/core
homeassistant/components/growatt_server/* @indykoning
homeassistant/components/guardian/* @bachya
homeassistant/components/harmony/* @ehendrix23 @bramkragten @bdraco
homeassistant/components/harmony/* @ehendrix23 @bramkragten @bdraco @mkeesey
homeassistant/components/hassio/* @home-assistant/supervisor
homeassistant/components/hdmi_cec/* @newAM
homeassistant/components/heatmiser/* @andylockran
@@ -202,6 +203,7 @@ homeassistant/components/http/* @home-assistant/core
homeassistant/components/huawei_lte/* @scop @fphammerle
homeassistant/components/huawei_router/* @abmantis
homeassistant/components/hue/* @balloob @frenck
homeassistant/components/huisbaasje/* @denniss17
homeassistant/components/humidifier/* @home-assistant/core @Shulyaka
homeassistant/components/hunterdouglas_powerview/* @bdraco
homeassistant/components/hvv_departures/* @vigonotion
@@ -209,7 +211,7 @@ homeassistant/components/hydrawise/* @ptcryan
homeassistant/components/hyperion/* @dermotduffy
homeassistant/components/iammeter/* @lewei50
homeassistant/components/iaqualink/* @flz
homeassistant/components/icloud/* @Quentame
homeassistant/components/icloud/* @Quentame @nzapponi
homeassistant/components/ign_sismologia/* @exxamalte
homeassistant/components/image/* @home-assistant/core
homeassistant/components/incomfort/* @zxdavb
@@ -257,7 +259,7 @@ homeassistant/components/luci/* @mzdrale
homeassistant/components/luftdaten/* @fabaff
homeassistant/components/lupusec/* @majuss
homeassistant/components/lutron/* @JonGilmore
homeassistant/components/lutron_caseta/* @swails
homeassistant/components/lutron_caseta/* @swails @bdraco
homeassistant/components/mastodon/* @fabaff
homeassistant/components/matrix/* @tinloaf
homeassistant/components/mcp23017/* @jardiamj
@@ -290,10 +292,10 @@ homeassistant/components/neato/* @dshokouhi @Santobert
homeassistant/components/nederlandse_spoorwegen/* @YarmoM
homeassistant/components/nello/* @pschmitt
homeassistant/components/ness_alarm/* @nickw444
homeassistant/components/nest/* @awarecan @allenporter
homeassistant/components/nest/* @allenporter
homeassistant/components/netatmo/* @cgtobi
homeassistant/components/netdata/* @fabaff
homeassistant/components/nexia/* @ryannazaretian @bdraco
homeassistant/components/nexia/* @bdraco
homeassistant/components/nextbus/* @vividboarder
homeassistant/components/nextcloud/* @meichthys
homeassistant/components/nightscout/* @marciogranzotto
@@ -319,10 +321,12 @@ homeassistant/components/ohmconnect/* @robbiet480
homeassistant/components/ombi/* @larssont
homeassistant/components/omnilogic/* @oliver84 @djtimca @gentoosu
homeassistant/components/onboarding/* @home-assistant/core
homeassistant/components/ondilo_ico/* @JeromeHXP
homeassistant/components/onewire/* @garbled1 @epenet
homeassistant/components/onvif/* @hunterjm
homeassistant/components/openerz/* @misialq
homeassistant/components/opengarage/* @danielhiversen
homeassistant/components/openhome/* @bazwilliams
homeassistant/components/opentherm_gw/* @mvn23
homeassistant/components/openuv/* @bachya
homeassistant/components/openweathermap/* @fabaff @freekode @nzapponi
@@ -351,16 +355,17 @@ 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/qbittorrent/* @geoffreylagaisse
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/radiotherm/* @vinnyfuria
homeassistant/components/rainbird/* @konikvranik
homeassistant/components/raincloud/* @vanstinator
homeassistant/components/rainforest_eagle/* @gtdiehl @jcalbert
@@ -395,7 +400,7 @@ 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 @thecode
homeassistant/components/shelly/* @balloob @bieniu @thecode @chemelli74
homeassistant/components/shiftr/* @fabaff
homeassistant/components/shodan/* @fabaff
homeassistant/components/sighthound/* @robmarkcole
@@ -419,6 +424,7 @@ homeassistant/components/solarlog/* @Ernst79
homeassistant/components/solax/* @squishykid
homeassistant/components/soma/* @ratsept
homeassistant/components/somfy/* @tetienne
homeassistant/components/somfy_mylink/* @bdraco
homeassistant/components/sonarr/* @ctalkington
homeassistant/components/songpal/* @rytilahti @shenxn
homeassistant/components/sonos/* @cgtobi
@@ -453,6 +459,7 @@ homeassistant/components/tado/* @michaelarnauts @bdraco
homeassistant/components/tag/* @balloob @dmulcahey
homeassistant/components/tahoma/* @philklei
homeassistant/components/tankerkoenig/* @guillempages
homeassistant/components/tapsaff/* @bazwilliams
homeassistant/components/tasmota/* @emontnemery
homeassistant/components/tautulli/* @ludeeus
homeassistant/components/tellduslive/* @fredrike
@@ -491,6 +498,7 @@ homeassistant/components/utility_meter/* @dgomes
homeassistant/components/velbus/* @Cereal2nd @brefra
homeassistant/components/velux/* @Julius2342
homeassistant/components/vera/* @vangorra
homeassistant/components/verisure/* @frenck
homeassistant/components/versasense/* @flamm3blemuff1n
homeassistant/components/version/* @fabaff @ludeeus
homeassistant/components/vesync/* @markperdue @webdjoe @thegardenmonkey
@@ -532,6 +540,7 @@ homeassistant/components/zodiac/* @JulienTant
homeassistant/components/zone/* @home-assistant/core
homeassistant/components/zoneminder/* @rohankapoorcom
homeassistant/components/zwave/* @home-assistant/z-wave
homeassistant/components/zwave_js/* @home-assistant/z-wave
# Individual files
homeassistant/components/demo/weather @fabaff

View File

@@ -1,8 +1,9 @@
ARG BUILD_FROM
FROM ${BUILD_FROM}
# Synchronize with homeassistant/core.py:async_stop
ENV \
S6_SERVICES_GRACETIME=60000
S6_SERVICES_GRACETIME=220000
WORKDIR /usr/src

View File

@@ -5,7 +5,7 @@ Open source home automation that puts local control and privacy first. Powered b
Check out `home-assistant.io <https://home-assistant.io>`__ for `a
demo <https://home-assistant.io/demo/>`__, `installation instructions <https://home-assistant.io/getting-started/>`__,
`tutorials <https://home-assistant.io/getting-started/automation-2/>`__ and `documentation <https://home-assistant.io/docs/>`__.
`tutorials <https://home-assistant.io/getting-started/automation/>`__ and `documentation <https://home-assistant.io/docs/>`__.
|screenshot-states|
@@ -14,8 +14,8 @@ Featured integrations
|screenshot-components|
The system is built using a modular approach so support for other devices or actions can be implemented easily. See also the `section on architecture <https://developers.home-assistant.io/docs/en/architecture_index.html>`__ and the `section on creating your own
components <https://developers.home-assistant.io/docs/en/creating_component_index.html>`__.
The system is built using a modular approach so support for other devices or actions can be implemented easily. See also the `section on architecture <https://developers.home-assistant.io/docs/architecture_index/>`__ and the `section on creating your own
components <https://developers.home-assistant.io/docs/creating_component_index/>`__.
If you run into issues while using Home Assistant or during development
of a component, check the `Home Assistant help section <https://home-assistant.io/help/>`__ of our website for further help and information.

View File

@@ -14,8 +14,6 @@ pr:
resources:
containers:
- container: 37
image: homeassistant/ci-azure:3.7
- container: 38
image: homeassistant/ci-azure:3.8
repositories:
@@ -25,7 +23,7 @@ resources:
endpoint: "home-assistant"
variables:
- name: PythonMain
value: "37"
value: "38"
- name: versionHadolint
value: "v1.17.6"
@@ -150,8 +148,6 @@ stages:
strategy:
maxParallel: 3
matrix:
Python37:
python.container: "37"
Python38:
python.container: "38"
container: $[ variables['python.container'] ]

View File

@@ -60,9 +60,9 @@ stages:
vmImage: 'ubuntu-latest'
steps:
- task: UsePythonVersion@0
displayName: 'Use Python 3.7'
displayName: 'Use Python 3.8'
inputs:
versionSpec: '3.7'
versionSpec: '3.8'
- script: pip install twine wheel
displayName: 'Install tools'
- script: python setup.py sdist bdist_wheel

View File

@@ -30,9 +30,9 @@ jobs:
vmImage: 'ubuntu-latest'
steps:
- task: UsePythonVersion@0
displayName: 'Use Python 3.7'
displayName: 'Use Python 3.8'
inputs:
versionSpec: '3.7'
versionSpec: '3.8'
- script: |
export LOKALISE_TOKEN="$(lokaliseToken)"
export AZURE_BRANCH="$(Build.SourceBranchName)"

View File

@@ -1,11 +1,11 @@
{
"image": "homeassistant/{arch}-homeassistant",
"build_from": {
"aarch64": "homeassistant/aarch64-homeassistant-base:2020.11.2",
"armhf": "homeassistant/armhf-homeassistant-base:2020.11.2",
"armv7": "homeassistant/armv7-homeassistant-base:2020.11.2",
"amd64": "homeassistant/amd64-homeassistant-base:2020.11.2",
"i386": "homeassistant/i386-homeassistant-base:2020.11.2"
"aarch64": "homeassistant/aarch64-homeassistant-base:2021.02.0",
"armhf": "homeassistant/armhf-homeassistant-base:2021.02.0",
"armv7": "homeassistant/armv7-homeassistant-base:2021.02.0",
"amd64": "homeassistant/amd64-homeassistant-base:2021.02.0",
"i386": "homeassistant/i386-homeassistant-base:2021.02.0"
},
"labels": {
"io.hass.type": "core"

View File

@@ -207,7 +207,6 @@ html_theme_options = {
"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
}

View File

@@ -48,7 +48,7 @@ COOLDOWN_TIME = 60
MAX_LOAD_CONCURRENTLY = 6
DEBUGGER_INTEGRATIONS = {"debugpy", "ptvsd"}
DEBUGGER_INTEGRATIONS = {"debugpy"}
CORE_INTEGRATIONS = ("homeassistant", "persistent_notification")
LOGGING_INTEGRATIONS = {
# Set log levels
@@ -307,12 +307,10 @@ def async_enable_logging(
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),
)
threading.excepthook = lambda args: logging.getLogger(None).exception(
"Uncaught thread exception",
exc_info=(args.exc_type, args.exc_value, args.exc_traceback), # type: ignore[arg-type]
)
# Log errors to a file if we have write access to file or config dir
if log_file is None:
@@ -383,7 +381,7 @@ def _get_domains(hass: core.HomeAssistant, config: Dict[str, Any]) -> Set[str]:
async def _async_log_pending_setups(
domains: Set[str], setup_started: Dict[str, datetime]
hass: core.HomeAssistant, 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:
@@ -395,6 +393,7 @@ async def _async_log_pending_setups(
"Waiting on integrations to complete setup: %s",
", ".join(remaining),
)
_LOGGER.debug("Running timeout Zones: %s", hass.timeout.zones)
async def async_setup_multi_components(
@@ -408,7 +407,9 @@ async def async_setup_multi_components(
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))
log_task = asyncio.create_task(
_async_log_pending_setups(hass, domains, setup_started)
)
await asyncio.wait(futures.values())
log_task.cancel()
errors = [domain for domain in domains if futures[domain].exception()]

View File

@@ -1,13 +1,28 @@
{
"config": {
"abort": {
"reauth_successful": "Re-autenticaci\u00f3 realitzada correctament",
"single_instance_allowed": "Ja configurat. Nom\u00e9s \u00e9s possible una sola configuraci\u00f3."
},
"error": {
"cannot_connect": "Ha fallat la connexi\u00f3",
"invalid_auth": "Autenticaci\u00f3 inv\u00e0lida"
"invalid_auth": "Autenticaci\u00f3 inv\u00e0lida",
"invalid_mfa_code": "Codi MFA inv\u00e0lid"
},
"step": {
"mfa": {
"data": {
"mfa_code": "Codi MFA (6 d\u00edgits)"
},
"title": "Introdueix el codi MFA per a Abode"
},
"reauth_confirm": {
"data": {
"password": "Contrasenya",
"username": "Correu electr\u00f2nic"
},
"title": "Introdueix la informaci\u00f3 d'inici de sessi\u00f3 d'Abode."
},
"user": {
"data": {
"password": "Contrasenya",

View File

@@ -1,9 +1,28 @@
{
"config": {
"abort": {
"single_instance_allowed": "Es ist nur eine einzige Konfiguration von Abode erlaubt."
"reauth_successful": "Die erneute Authentifizierung war erfolgreich",
"single_instance_allowed": "Bereits konfiguriert. Nur eine einzige Konfiguration m\u00f6glich."
},
"error": {
"cannot_connect": "Verbindung fehlgeschlagen",
"invalid_auth": "Ung\u00fcltige Authentifizierung",
"invalid_mfa_code": "Ung\u00fcltiger MFA-Code"
},
"step": {
"mfa": {
"data": {
"mfa_code": "MFA-Code (6-stellig)"
},
"title": "Gib deinen MFA-Code f\u00fcr Abode ein"
},
"reauth_confirm": {
"data": {
"password": "Passwort",
"username": "E-Mail"
},
"title": "Gib deine Abode-Anmeldeinformationen ein"
},
"user": {
"data": {
"password": "Passwort",

View File

@@ -1,7 +1,7 @@
{
"config": {
"abort": {
"reauth_successful": "La reautenticaci\u00f3n fue exitosa",
"reauth_successful": "La reautenticaci\u00f3n se realiz\u00f3 correctamente",
"single_instance_allowed": "Ya est\u00e1 configurado. Solo es posible una \u00fanica configuraci\u00f3n."
},
"error": {
@@ -19,7 +19,7 @@
"reauth_confirm": {
"data": {
"password": "Contrase\u00f1a",
"username": "Correo electronico"
"username": "Correo electr\u00f3nico"
},
"title": "Rellene su informaci\u00f3n de inicio de sesi\u00f3n de Abode"
},

View File

@@ -1,17 +1,32 @@
{
"config": {
"abort": {
"single_instance_allowed": "Une seule configuration d'Abode est autoris\u00e9e."
"reauth_successful": "La r\u00e9-authentification a r\u00e9ussi",
"single_instance_allowed": "D\u00e9ja configur\u00e9. Une seule configuration possible."
},
"error": {
"cannot_connect": "\u00c9chec de connexion",
"invalid_auth": "Authentification invalide"
"invalid_auth": "Authentification invalide",
"invalid_mfa_code": "Code MFA non valide"
},
"step": {
"mfa": {
"data": {
"mfa_code": "Code MFA (6 chiffres)"
},
"title": "Entrez votre code MFA pour Abode"
},
"reauth_confirm": {
"data": {
"password": "Mot de passe",
"username": "Email"
},
"title": "Remplissez vos informations de connexion Abode"
},
"user": {
"data": {
"password": "Mot de passe",
"username": "Adresse e-mail"
"username": "Email"
},
"title": "Remplissez vos informations de connexion Abode"
}

View File

@@ -4,9 +4,15 @@
"single_instance_allowed": "Csak egyetlen Abode konfigur\u00e1ci\u00f3 enged\u00e9lyezett."
},
"error": {
"cannot_connect": "Sikertelen csatlakoz\u00e1s"
"cannot_connect": "Sikertelen csatlakoz\u00e1s",
"invalid_mfa_code": "\u00c9rv\u00e9nytelen MFA k\u00f3d"
},
"step": {
"mfa": {
"data": {
"mfa_code": "MFA k\u00f3d (6 jegy\u0171)"
}
},
"user": {
"data": {
"password": "Jelsz\u00f3",

View File

@@ -5,9 +5,18 @@
},
"error": {
"cannot_connect": "Kan geen verbinding maken",
"invalid_auth": "Ongeldige authenticatie"
"invalid_auth": "Ongeldige authenticatie",
"invalid_mfa_code": "Ongeldige MFA-code"
},
"step": {
"mfa": {
"data": {
"mfa_code": "MFA-code (6-cijfers)"
}
},
"reauth_confirm": {
"title": "Vul uw Abode-inloggegevens in"
},
"user": {
"data": {
"password": "Wachtwoord",

View File

@@ -1,7 +1,7 @@
{
"config": {
"abort": {
"reauth_successful": "Reautentisering var vellykket",
"reauth_successful": "Godkjenning p\u00e5 nytt var vellykket",
"single_instance_allowed": "Allerede konfigurert. Bare \u00e9n enkelt konfigurasjon er mulig."
},
"error": {

View File

@@ -1,6 +1,20 @@
{
"config": {
"abort": {
"reauth_successful": "Reautentica\u00e7\u00e3o bem sucedida",
"single_instance_allowed": "J\u00e1 configurado. Apenas uma \u00fanica configura\u00e7\u00e3o \u00e9 poss\u00edvel."
},
"error": {
"cannot_connect": "Falha na liga\u00e7\u00e3o",
"invalid_auth": "Autentica\u00e7\u00e3o inv\u00e1lida"
},
"step": {
"reauth_confirm": {
"data": {
"password": "Palavra-passe",
"username": "Email"
}
},
"user": {
"data": {
"password": "Palavra-passe",

View File

@@ -1,9 +1,26 @@
{
"config": {
"abort": {
"reauth_successful": "Ponovno overjanje je uspelo",
"single_instance_allowed": "Dovoljena je samo ena konfiguracija Abode."
},
"error": {
"invalid_mfa_code": "Napa\u010dna MFA koda"
},
"step": {
"mfa": {
"data": {
"mfa_code": "MFA koda (6 \u0161tevilk)"
},
"title": "Vnesite MFA kodo za Abode"
},
"reauth_confirm": {
"data": {
"password": "Geslo",
"username": "E-po\u0161tni naslov"
},
"title": "Vnesite podatke za prijavo v Abode"
},
"user": {
"data": {
"password": "Geslo",

View File

@@ -0,0 +1,9 @@
{
"config": {
"step": {
"mfa": {
"title": "\u0e1b\u0e49\u0e2d\u0e19\u0e23\u0e2b\u0e31\u0e2a MFA \u0e08\u0e32\u0e01 Abode"
}
}
}
}

View File

@@ -0,0 +1,34 @@
{
"config": {
"abort": {
"reauth_successful": "Yeniden kimlik do\u011frulama ba\u015far\u0131l\u0131 oldu",
"single_instance_allowed": "Zaten yap\u0131land\u0131r\u0131lm\u0131\u015f. Yaln\u0131zca tek bir konfig\u00fcrasyon m\u00fcmk\u00fcnd\u00fcr."
},
"error": {
"cannot_connect": "Ba\u011flanma hatas\u0131",
"invalid_auth": "Ge\u00e7ersiz kimlik do\u011frulama",
"invalid_mfa_code": "Ge\u00e7ersiz MFA kodu"
},
"step": {
"mfa": {
"data": {
"mfa_code": "MFA kodu (6 basamakl\u0131)"
},
"title": "Abode i\u00e7in MFA kodunuzu girin"
},
"reauth_confirm": {
"data": {
"password": "Parola",
"username": "E-posta"
},
"title": "Abode giri\u015f bilgilerinizi doldurun"
},
"user": {
"data": {
"password": "Parola",
"username": "E-posta"
}
}
}
}
}

View File

@@ -0,0 +1,35 @@
{
"config": {
"abort": {
"reauth_successful": "\u041f\u043e\u0432\u0442\u043e\u0440\u043d\u0430 \u0430\u0432\u0442\u0435\u043d\u0442\u0438\u0444\u0456\u043a\u0430\u0446\u0456\u044f \u043f\u0440\u043e\u0439\u0448\u043b\u0430 \u0443\u0441\u043f\u0456\u0448\u043d\u043e",
"single_instance_allowed": "\u041d\u0430\u043b\u0430\u0448\u0442\u0443\u0432\u0430\u043d\u043d\u044f \u0432\u0436\u0435 \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u043e. \u041c\u043e\u0436\u043d\u0430 \u0434\u043e\u0434\u0430\u0442\u0438 \u043b\u0438\u0448\u0435 \u043e\u0434\u043d\u0443 \u043a\u043e\u043d\u0444\u0456\u0433\u0443\u0440\u0430\u0446\u0456\u044e."
},
"error": {
"cannot_connect": "\u041d\u0435 \u0432\u0434\u0430\u043b\u043e\u0441\u044f \u043f\u0456\u0434'\u0454\u0434\u043d\u0430\u0442\u0438\u0441\u044f",
"invalid_auth": "\u041d\u0435\u0432\u0456\u0440\u043d\u0430 \u0430\u0443\u0442\u0435\u043d\u0442\u0438\u0444\u0456\u043a\u0430\u0446\u0456\u044f.",
"invalid_mfa_code": "\u041d\u0435\u0434\u0456\u0439\u0441\u043d\u0438\u0439 \u043a\u043e\u0434 MFA."
},
"step": {
"mfa": {
"data": {
"mfa_code": "\u041a\u043e\u0434 MFA (6 \u0446\u0438\u0444\u0440)"
},
"title": "\u0412\u0432\u0435\u0434\u0456\u0442\u044c \u043a\u043e\u0434 MFA \u0434\u043b\u044f Abode"
},
"reauth_confirm": {
"data": {
"password": "\u041f\u0430\u0440\u043e\u043b\u044c",
"username": "\u0410\u0434\u0440\u0435\u0441\u0430 \u0435\u043b\u0435\u043a\u0442\u0440\u043e\u043d\u043d\u043e\u0457 \u043f\u043e\u0448\u0442\u0438"
},
"title": "Abode"
},
"user": {
"data": {
"password": "\u041f\u0430\u0440\u043e\u043b\u044c",
"username": "\u0410\u0434\u0440\u0435\u0441\u0430 \u0435\u043b\u0435\u043a\u0442\u0440\u043e\u043d\u043d\u043e\u0457 \u043f\u043e\u0448\u0442\u0438"
},
"title": "Abode"
}
}
}
}

View File

@@ -2,7 +2,7 @@
"config": {
"abort": {
"reauth_successful": "\u91cd\u65b0\u8a8d\u8b49\u6210\u529f",
"single_instance_allowed": "\u50c5\u80fd\u8a2d\u5b9a\u4e00\u7d44\u8a2d\u5099\u3002"
"single_instance_allowed": "\u50c5\u80fd\u8a2d\u5b9a\u4e00\u7d44\u88dd\u7f6e\u3002"
},
"error": {
"cannot_connect": "\u9023\u7dda\u5931\u6557",

View File

@@ -100,13 +100,13 @@ class AccuWeatherDataUpdateCoordinator(DataUpdateCoordinator):
self.accuweather = AccuWeather(api_key, session, location_key=self.location_key)
# Enabling the forecast download increases the number of requests per data
# update, we use 32 minutes for current condition only and 64 minutes for
# update, we use 40 minutes for current condition only and 80 minutes for
# current condition and forecast as update interval to not exceed allowed number
# of requests. We have 50 requests allowed per day, so we use 45 and leave 5 as
# of requests. We have 50 requests allowed per day, so we use 36 and leave 14 as
# a reserve for restarting HA.
update_interval = (
timedelta(minutes=64) if self.forecast else timedelta(minutes=32)
)
update_interval = timedelta(minutes=40)
if self.forecast:
update_interval *= 2
_LOGGER.debug("Data will be update every %s", update_interval)
super().__init__(hass, _LOGGER, name=DOMAIN, update_interval=update_interval)

View File

@@ -52,12 +52,12 @@ CONDITION_CLASSES = {
ATTR_CONDITION_HAIL: [25],
ATTR_CONDITION_LIGHTNING: [15],
ATTR_CONDITION_LIGHTNING_RAINY: [16, 17, 41, 42],
ATTR_CONDITION_PARTLYCLOUDY: [4, 6, 35, 36],
ATTR_CONDITION_PARTLYCLOUDY: [3, 4, 6, 35, 36],
ATTR_CONDITION_POURING: [18],
ATTR_CONDITION_RAINY: [12, 13, 14, 26, 39, 40],
ATTR_CONDITION_SNOWY: [19, 20, 21, 22, 23, 43, 44],
ATTR_CONDITION_SNOWY_RAINY: [29],
ATTR_CONDITION_SUNNY: [1, 2, 3, 5],
ATTR_CONDITION_SUNNY: [1, 2, 5],
ATTR_CONDITION_WINDY: [32],
}
@@ -183,6 +183,20 @@ FORECAST_SENSOR_TYPES = {
ATTR_UNIT_METRIC: SPEED_KILOMETERS_PER_HOUR,
ATTR_UNIT_IMPERIAL: SPEED_MILES_PER_HOUR,
},
"WindDay": {
ATTR_DEVICE_CLASS: None,
ATTR_ICON: "mdi:weather-windy",
ATTR_LABEL: "Wind Day",
ATTR_UNIT_METRIC: SPEED_KILOMETERS_PER_HOUR,
ATTR_UNIT_IMPERIAL: SPEED_MILES_PER_HOUR,
},
"WindNight": {
ATTR_DEVICE_CLASS: None,
ATTR_ICON: "mdi:weather-windy",
ATTR_LABEL: "Wind Night",
ATTR_UNIT_METRIC: SPEED_KILOMETERS_PER_HOUR,
ATTR_UNIT_IMPERIAL: SPEED_MILES_PER_HOUR,
},
}
OPTIONAL_SENSORS = (
@@ -284,6 +298,13 @@ SENSOR_TYPES = {
ATTR_UNIT_METRIC: TEMP_CELSIUS,
ATTR_UNIT_IMPERIAL: TEMP_FAHRENHEIT,
},
"Wind": {
ATTR_DEVICE_CLASS: None,
ATTR_ICON: "mdi:weather-windy",
ATTR_LABEL: "Wind",
ATTR_UNIT_METRIC: SPEED_KILOMETERS_PER_HOUR,
ATTR_UNIT_IMPERIAL: SPEED_MILES_PER_HOUR,
},
"WindGust": {
ATTR_DEVICE_CLASS: None,
ATTR_ICON: "mdi:weather-windy",

View File

@@ -96,7 +96,7 @@ class AccuWeatherSensor(CoordinatorEntity):
return self.coordinator.data[ATTR_FORECAST][self.forecast_day][
self.kind
]["Value"]
if self.kind in ["WindGustDay", "WindGustNight"]:
if self.kind in ["WindDay", "WindNight", "WindGustDay", "WindGustNight"]:
return self.coordinator.data[ATTR_FORECAST][self.forecast_day][
self.kind
]["Speed"]["Value"]
@@ -115,7 +115,7 @@ class AccuWeatherSensor(CoordinatorEntity):
return self.coordinator.data["PrecipitationSummary"][self.kind][
self._unit_system
]["Value"]
if self.kind == "WindGust":
if self.kind in ["Wind", "WindGust"]:
return self.coordinator.data[self.kind]["Speed"][self._unit_system]["Value"]
return self.coordinator.data[self.kind]
@@ -144,7 +144,7 @@ class AccuWeatherSensor(CoordinatorEntity):
def device_state_attributes(self):
"""Return the state attributes."""
if self.forecast_day is not None:
if self.kind in ["WindGustDay", "WindGustNight"]:
if self.kind in ["WindDay", "WindNight", "WindGustDay", "WindGustNight"]:
self._attrs["direction"] = self.coordinator.data[ATTR_FORECAST][
self.forecast_day
][self.kind]["Direction"]["English"]

View File

@@ -25,7 +25,7 @@
"step": {
"user": {
"title": "AccuWeather Options",
"description": "Due to the limitations of the free version of the AccuWeather API key, when you enable weather forecast, data updates will be performed every 64 minutes instead of every 32 minutes.",
"description": "Due to the limitations of the free version of the AccuWeather API key, when you enable weather forecast, data updates will be performed every 80 minutes instead of every 40 minutes.",
"data": {
"forecast": "Weather forecast"
}

View File

@@ -27,9 +27,15 @@
"data": {
"forecast": "Previsi\u00f3 meteorol\u00f2gica"
},
"description": "Per culpa de les limitacions de la versi\u00f3 gratu\u00efta l'API d'AccuWeather, quan habilitis la previsi\u00f3 meteorol\u00f2gica, les actualitzacions es realitzaran cada 64 minuts en comptes de 32.",
"description": "Per culpa de les limitacions de la versi\u00f3 gratu\u00efta l'API d'AccuWeather, quan habilitis la previsi\u00f3 meteorol\u00f2gica, les actualitzacions de dades es faran cada 80 minuts en comptes de cada 40.",
"title": "Opcions d'AccuWeather"
}
}
},
"system_health": {
"info": {
"can_reach_server": "Servidor d'Accuweather accessible",
"remaining_requests": "Sol\u00b7licituds permeses restants"
}
}
}

View File

@@ -27,9 +27,15 @@
"data": {
"forecast": "P\u0159edpov\u011b\u010f po\u010das\u00ed"
},
"description": "Kdy\u017e povol\u00edte p\u0159edpov\u011b\u010f po\u010das\u00ed, budou aktualizace dat prov\u00e1d\u011bny ka\u017ed\u00fdch 64 minut nam\u00edsto 32 minut z d\u016fvodu omezen\u00ed bezplatn\u00e9 verze AccuWeather.",
"description": "Kdy\u017e povol\u00edte p\u0159edpov\u011b\u010f po\u010das\u00ed, budou aktualizace dat prov\u00e1d\u011bny ka\u017ed\u00fdch 80 minut nam\u00edsto 40 minut z d\u016fvodu omezen\u00ed bezplatn\u00e9 verze AccuWeather.",
"title": "Mo\u017enosti AccuWeather"
}
}
},
"system_health": {
"info": {
"can_reach_server": "Lze kontaktovat AccuWeather server",
"remaining_requests": "Zb\u00fdvaj\u00edc\u00ed povolen\u00e9 \u017e\u00e1dosti"
}
}
}

View File

@@ -1,8 +1,16 @@
{
"config": {
"abort": {
"single_instance_allowed": "Bereits konfiguriert. Nur eine einzige Konfiguration m\u00f6glich."
},
"error": {
"cannot_connect": "Verbindung fehlgeschlagen",
"invalid_api_key": "Ung\u00fcltiger API-Schl\u00fcssel"
},
"step": {
"user": {
"data": {
"api_key": "API-Schl\u00fcssel",
"latitude": "Breitengrad",
"longitude": "L\u00e4ngengrad",
"name": "Name"
@@ -10,5 +18,20 @@
"title": "AccuWeather"
}
}
},
"options": {
"step": {
"user": {
"data": {
"forecast": "Wettervorhersage"
}
}
}
},
"system_health": {
"info": {
"can_reach_server": "AccuWeather-Server erreichen",
"remaining_requests": "Verbleibende erlaubte Anfragen"
}
}
}

View File

@@ -27,7 +27,7 @@
"data": {
"forecast": "Weather forecast"
},
"description": "Due to the limitations of the free version of the AccuWeather API key, when you enable weather forecast, data updates will be performed every 64 minutes instead of every 32 minutes.",
"description": "Due to the limitations of the free version of the AccuWeather API key, when you enable weather forecast, data updates will be performed every 80 minutes instead of every 40 minutes.",
"title": "AccuWeather Options"
}
}

View File

@@ -31,5 +31,11 @@
"title": "Opciones de AccuWeather"
}
}
},
"system_health": {
"info": {
"can_reach_server": "Alcanzar el servidor AccuWeather",
"remaining_requests": "Solicitudes permitidas restantes"
}
}
}

View File

@@ -27,14 +27,14 @@
"data": {
"forecast": "Ilmateade"
},
"description": "AccuWeather API tasuta versioonis toimub ilmaennustuse lubamisel andmete v\u00e4rskendamine iga 32 minuti asemel iga 64 minuti j\u00e4rel.",
"description": "AccuWeather API tasuta versioonis toimub ilmaennustuse lubamisel andmete v\u00e4rskendamine iga 80 minuti j\u00e4rel (muidu 40 minutit).",
"title": "AccuWeatheri valikud"
}
}
},
"system_health": {
"info": {
"can_reach_server": "\u00dchendu Accuweatheri serveriga",
"can_reach_server": "\u00dchendus Accuweatheri serveriga",
"remaining_requests": "Lubatud taotlusi on j\u00e4\u00e4nud"
}
}

View File

@@ -31,5 +31,11 @@
"title": "Options AccuWeather"
}
}
},
"system_health": {
"info": {
"can_reach_server": "Acc\u00e8s au serveur AccuWeather",
"remaining_requests": "Demandes restantes autoris\u00e9es"
}
}
}

View File

@@ -27,9 +27,15 @@
"data": {
"forecast": "Previsioni meteo"
},
"description": "A causa delle limitazioni della versione gratuita della chiave API AccuWeather, quando si abilitano le previsioni del tempo, gli aggiornamenti dei dati verranno eseguiti ogni 64 minuti invece che ogni 32 minuti.",
"description": "A causa delle limitazioni della versione gratuita della chiave API AccuWeather, quando si abilitano le previsioni del tempo, gli aggiornamenti dei dati verranno eseguiti ogni 80 minuti invece che ogni 40.",
"title": "Opzioni AccuWeather"
}
}
},
"system_health": {
"info": {
"can_reach_server": "Raggiungi il server AccuWeather",
"remaining_requests": "Richieste consentite rimanenti"
}
}
}

View File

@@ -31,5 +31,11 @@
"title": "AccuWeather Optiounen"
}
}
},
"system_health": {
"info": {
"can_reach_server": "AccuWeather Server ereechbar",
"remaining_requests": "Rescht vun erlaabten Ufroen"
}
}
}

View File

@@ -27,9 +27,15 @@
"data": {
"forecast": "V\u00e6rmelding"
},
"description": "P\u00e5 grunn av begrensningene i gratisversjonen av AccuWeather API-n\u00f8kkelen, n\u00e5r du aktiverer v\u00e6rmelding, vil dataoppdateringer bli utf\u00f8rt hvert 64. minutt i stedet for hvert 32. minutt.",
"description": "P\u00e5 grunn av begrensningene i den gratis versjonen av AccuWeather API-n\u00f8kkelen, vil dataoppdateringer utf\u00f8res hvert 80. minutt i stedet for hvert 40. minutt n\u00e5r du aktiverer v\u00e6rmelding.",
"title": "AccuWeather-alternativer"
}
}
},
"system_health": {
"info": {
"can_reach_server": "N\u00e5 AccuWeather-serveren",
"remaining_requests": "Gjenv\u00e6rende tillatte foresp\u00f8rsler"
}
}
}

View File

@@ -27,9 +27,15 @@
"data": {
"forecast": "Prognoza pogody"
},
"description": "Ze wzgl\u0119du na ograniczenia darmowej wersji klucza API AccuWeather po w\u0142\u0105czeniu prognozy pogody aktualizacje danych b\u0119d\u0105 wykonywane co 64 minuty zamiast co 32 minuty.",
"description": "Ze wzgl\u0119du na ograniczenia darmowej wersji klucza API AccuWeather po w\u0142\u0105czeniu prognozy pogody aktualizacje danych b\u0119d\u0105 wykonywane co 80 minut zamiast co 40 minut.",
"title": "Opcje AccuWeather"
}
}
},
"system_health": {
"info": {
"can_reach_server": "Dost\u0119p do serwera AccuWeather",
"remaining_requests": "Pozosta\u0142o dozwolonych \u017c\u0105da\u0144"
}
}
}

View File

@@ -10,9 +10,10 @@
"step": {
"user": {
"data": {
"api_key": "Chave de API",
"api_key": "API Key",
"latitude": "Latitude",
"longitude": "Longitude"
"longitude": "Longitude",
"name": "Nome"
}
}
}

View File

@@ -27,9 +27,15 @@
"data": {
"forecast": "\u041f\u0440\u043e\u0433\u043d\u043e\u0437 \u043f\u043e\u0433\u043e\u0434\u044b"
},
"description": "\u0412 \u0441\u0432\u044f\u0437\u0438 \u0441 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u044f\u043c\u0438 \u0431\u0435\u0441\u043f\u043b\u0430\u0442\u043d\u043e\u0439 \u0432\u0435\u0440\u0441\u0438\u0438 \u043a\u043b\u044e\u0447\u0430 API AccuWeather, \u043f\u0440\u0438 \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0438 \u043f\u0440\u043e\u0433\u043d\u043e\u0437\u0430 \u043f\u043e\u0433\u043e\u0434\u044b \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0445 \u0431\u0443\u0434\u0435\u0442 \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442\u044c \u043a\u0430\u0436\u0434\u044b\u0435 64 \u043c\u0438\u043d\u0443\u0442\u044b, \u0430 \u043d\u0435 \u043a\u0430\u0436\u0434\u044b\u0435 32 \u043c\u0438\u043d\u0443\u0442\u044b.",
"description": "\u0412 \u0441\u0432\u044f\u0437\u0438 \u0441 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u044f\u043c\u0438 \u0431\u0435\u0441\u043f\u043b\u0430\u0442\u043d\u043e\u0439 \u0432\u0435\u0440\u0441\u0438\u0438 \u043a\u043b\u044e\u0447\u0430 API AccuWeather, \u043f\u0440\u0438 \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0438 \u043f\u0440\u043e\u0433\u043d\u043e\u0437\u0430 \u043f\u043e\u0433\u043e\u0434\u044b \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0445 \u0431\u0443\u0434\u0435\u0442 \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442\u044c \u043a\u0430\u0436\u0434\u044b\u0435 80 \u043c\u0438\u043d\u0443\u0442, \u0430 \u043d\u0435 \u043a\u0430\u0436\u0434\u044b\u0435 40 \u043c\u0438\u043d\u0443\u0442.",
"title": "\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 AccuWeather"
}
}
},
"system_health": {
"info": {
"can_reach_server": "\u0414\u043e\u0441\u0442\u0443\u043f \u043a \u0441\u0435\u0440\u0432\u0435\u0440\u0443 AccuWeather",
"remaining_requests": "\u0421\u0447\u0451\u0442\u0447\u0438\u043a \u043e\u0441\u0442\u0430\u0432\u0448\u0438\u0445\u0441\u044f \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432"
}
}
}

View File

@@ -0,0 +1,9 @@
{
"state": {
"accuweather__pressure_tendency": {
"falling": "Fallend",
"rising": "Steigend",
"steady": "Gleichbleibend"
}
}
}

View File

@@ -0,0 +1,9 @@
{
"state": {
"accuweather__pressure_tendency": {
"falling": "\u0417\u043d\u0438\u0436\u0435\u043d\u043d\u044f",
"rising": "\u0417\u0440\u043e\u0441\u0442\u0430\u043d\u043d\u044f",
"steady": "\u0421\u0442\u0430\u0431\u0456\u043b\u044c\u043d\u0438\u0439"
}
}
}

View File

@@ -0,0 +1,8 @@
{
"system_health": {
"info": {
"can_reach_server": "Dostop do AccuWeather stre\u017enika",
"remaining_requests": "Preostalo dovoljenih zahtevkov"
}
}
}

View File

@@ -0,0 +1,38 @@
{
"config": {
"abort": {
"single_instance_allowed": "Zaten yap\u0131land\u0131r\u0131lm\u0131\u015f. Yaln\u0131zca tek bir konfig\u00fcrasyon m\u00fcmk\u00fcnd\u00fcr."
},
"error": {
"cannot_connect": "Ba\u011flanma hatas\u0131",
"invalid_api_key": "Ge\u00e7ersiz API anahtar\u0131"
},
"step": {
"user": {
"data": {
"api_key": "API Anahtar\u0131",
"latitude": "Enlem",
"longitude": "Boylam",
"name": "Ad"
},
"title": "AccuWeather"
}
}
},
"options": {
"step": {
"user": {
"data": {
"forecast": "Hava Durumu tahmini"
},
"title": "AccuWeather Se\u00e7enekleri"
}
}
},
"system_health": {
"info": {
"can_reach_server": "AccuWeather sunucusuna ula\u015f\u0131n",
"remaining_requests": "Kalan izin verilen istekler"
}
}
}

View File

@@ -1,15 +1,22 @@
{
"config": {
"abort": {
"single_instance_allowed": "\u041d\u0430\u043b\u0430\u0448\u0442\u0443\u0432\u0430\u043d\u043d\u044f \u0432\u0436\u0435 \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u043e. \u041c\u043e\u0436\u043d\u0430 \u0434\u043e\u0434\u0430\u0442\u0438 \u043b\u0438\u0448\u0435 \u043e\u0434\u043d\u0443 \u043a\u043e\u043d\u0444\u0456\u0433\u0443\u0440\u0430\u0446\u0456\u044e."
},
"error": {
"invalid_api_key": "\u0425\u0438\u0431\u043d\u0438\u0439 \u043a\u043b\u044e\u0447 API"
"cannot_connect": "\u041d\u0435 \u0432\u0434\u0430\u043b\u043e\u0441\u044f \u043f\u0456\u0434'\u0454\u0434\u043d\u0430\u0442\u0438\u0441\u044f",
"invalid_api_key": "\u0425\u0438\u0431\u043d\u0438\u0439 \u043a\u043b\u044e\u0447 API",
"requests_exceeded": "\u041f\u0435\u0440\u0435\u0432\u0438\u0449\u0435\u043d\u043e \u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u0443 \u043a\u0456\u043b\u044c\u043a\u0456\u0441\u0442\u044c \u0437\u0430\u043f\u0438\u0442\u0456\u0432 \u0434\u043e API Accuweather. \u041d\u0435\u043e\u0431\u0445\u0456\u0434\u043d\u043e \u043f\u043e\u0447\u0435\u043a\u0430\u0442\u0438 \u0430\u0431\u043e \u0437\u043c\u0456\u043d\u0438\u0442\u0438 \u043a\u043b\u044e\u0447 API."
},
"step": {
"user": {
"data": {
"api_key": "\u041a\u043b\u044e\u0447 API",
"latitude": "\u0428\u0438\u0440\u043e\u0442\u0430",
"longitude": "\u0414\u043e\u0432\u0433\u043e\u0442\u0430",
"name": "\u041d\u0430\u0437\u0432\u0430 \u0456\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0456\u0457"
"name": "\u041d\u0430\u0437\u0432\u0430"
},
"description": "\u041e\u0437\u043d\u0430\u0439\u043e\u043c\u0442\u0435\u0441\u044f \u0437 \u0456\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0456\u044f\u043c\u0438, \u044f\u043a\u0449\u043e \u0412\u0430\u043c \u043f\u043e\u0442\u0440\u0456\u0431\u043d\u0430 \u0434\u043e\u043f\u043e\u043c\u043e\u0433\u0430 \u0437 \u043d\u0430\u043b\u0430\u0448\u0442\u0443\u0432\u0430\u043d\u043d\u044f\u043c:\n https://www.home-assistant.io/integrations/accuweather/ \n\n\u0417\u0430 \u0437\u0430\u043c\u043e\u0432\u0447\u0443\u0432\u0430\u043d\u043d\u044f\u043c \u0434\u0435\u044f\u043a\u0456 \u0441\u0435\u043d\u0441\u043e\u0440\u0438 \u043f\u0440\u0438\u0445\u043e\u0432\u0430\u043d\u0456 \u0456 \u0432\u0456\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0439 \u043f\u0440\u043e\u0433\u043d\u043e\u0437 \u043f\u043e\u0433\u043e\u0434\u0438. \u0412\u0438 \u043c\u043e\u0436\u0435\u0442\u0435 \u0430\u043a\u0442\u0438\u0432\u0443\u0432\u0430\u0442\u0438 \u0432\u0456\u0434\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u043d\u044f \u043f\u043e\u0442\u0440\u0456\u0431\u043d\u0438\u0445 \u0441\u0435\u043d\u0441\u043e\u0440\u0456\u0432 \u0432 \u0440\u0435\u0454\u0441\u0442\u0440\u0456 \u043e\u0431'\u0454\u043a\u0442\u0456\u0432 \u0456 \u0432\u043a\u043b\u044e\u0447\u0438\u0442\u0438 \u043f\u0440\u043e\u0433\u043d\u043e\u0437 \u043f\u043e\u0433\u043e\u0434\u0438 \u0432 \u043d\u0430\u043b\u0430\u0448\u0442\u0443\u0432\u0430\u043d\u043d\u044f\u0445 \u0456\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0456\u0457.",
"title": "AccuWeather"
}
}
@@ -19,8 +26,16 @@
"user": {
"data": {
"forecast": "\u041f\u0440\u043e\u0433\u043d\u043e\u0437 \u043f\u043e\u0433\u043e\u0434\u0438"
}
},
"description": "\u0423 \u0437\u0432'\u044f\u0437\u043a\u0443 \u0437 \u043e\u0431\u043c\u0435\u0436\u0435\u043d\u043d\u044f\u043c\u0438 \u0431\u0435\u0437\u043a\u043e\u0448\u0442\u043e\u0432\u043d\u043e\u0457 \u0432\u0435\u0440\u0441\u0456\u0457 \u043a\u043b\u044e\u0447\u0430 API AccuWeather, \u043f\u0440\u0438 \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u043d\u0456 \u043f\u0440\u043e\u0433\u043d\u043e\u0437\u0443 \u043f\u043e\u0433\u043e\u0434\u0438 \u043e\u043d\u043e\u0432\u043b\u0435\u043d\u043d\u044f \u0434\u0430\u043d\u0438\u0445 \u0431\u0443\u0434\u0435 \u0432\u0456\u0434\u0431\u0443\u0432\u0430\u0442\u0438\u0441\u044f \u043a\u043e\u0436\u043d\u0456 64 \u0445\u0432\u0438\u043b\u0438\u043d\u0438, \u0430 \u043d\u0435 \u043a\u043e\u0436\u043d\u0456 32 \u0445\u0432\u0438\u043b\u0438\u043d\u0438.",
"title": "\u041d\u0430\u043b\u0430\u0448\u0442\u0443\u0432\u0430\u043d\u043d\u044f AccuWeather"
}
}
},
"system_health": {
"info": {
"can_reach_server": "\u0414\u043e\u0441\u0442\u0443\u043f \u0434\u043e \u0441\u0435\u0440\u0432\u0435\u0440\u0430 AccuWeather",
"remaining_requests": "\u0417\u0430\u043f\u0438\u0442\u0456\u0432 \u0437\u0430\u043b\u0438\u0448\u0438\u043b\u043e\u0441\u044c"
}
}
}

View File

@@ -0,0 +1,8 @@
{
"system_health": {
"info": {
"can_reach_server": "\u53ef\u8bbf\u95ee AccuWeather \u670d\u52a1\u5668",
"remaining_requests": "\u5176\u4f59\u5141\u8bb8\u7684\u8bf7\u6c42"
}
}
}

View File

@@ -1,7 +1,7 @@
{
"config": {
"abort": {
"single_instance_allowed": "\u50c5\u80fd\u8a2d\u5b9a\u4e00\u7d44\u8a2d\u5099\u3002"
"single_instance_allowed": "\u50c5\u80fd\u8a2d\u5b9a\u4e00\u7d44\u88dd\u7f6e\u3002"
},
"error": {
"cannot_connect": "\u9023\u7dda\u5931\u6557",
@@ -27,9 +27,15 @@
"data": {
"forecast": "\u5929\u6c23\u9810\u5831"
},
"description": "\u7531\u65bc AccuWeather API \u5bc6\u9470\u514d\u8cbb\u7248\u672c\u9650\u5236\uff0c\u7576\u958b\u555f\u5929\u6c23\u9810\u5831\u6642\u3001\u6578\u64da\u6703\u6bcf 64 \u5206\u9418\u66f4\u65b0\u4e00\u6b21\uff0c\u800c\u975e 32 \u5206\u9418\u3002",
"description": "\u7531\u65bc AccuWeather API \u5bc6\u9470\u514d\u8cbb\u7248\u672c\u9650\u5236\uff0c\u7576\u958b\u555f\u5929\u6c23\u9810\u5831\u6642\u3001\u6578\u64da\u6703\u6bcf 80 \u5206\u9418\u66f4\u65b0\u4e00\u6b21\uff0c\u800c\u975e 40 \u5206\u9418\u3002",
"title": "AccuWeather \u9078\u9805"
}
}
},
"system_health": {
"info": {
"can_reach_server": "\u9023\u7dda AccuWeather \u4f3a\u670d\u5668",
"remaining_requests": "\u5176\u9918\u5141\u8a31\u7684\u8acb\u6c42"
}
}
}

View File

@@ -2,6 +2,6 @@
"domain": "acer_projector",
"name": "Acer Projector",
"documentation": "https://www.home-assistant.io/integrations/acer_projector",
"requirements": ["pyserial==3.4"],
"requirements": ["pyserial==3.5"],
"codeowners": []
}

View File

@@ -26,9 +26,7 @@ class AcmedaBase(entity.Entity):
ent_registry.async_remove(self.entity_id)
dev_registry = await get_dev_reg(self.hass)
device = dev_registry.async_get_device(
identifiers={(DOMAIN, self.unique_id)}, connections=set()
)
device = dev_registry.async_get_device(identifiers={(DOMAIN, self.unique_id)})
if device is not None:
dev_registry.async_update_device(
device.id, remove_config_entry_id=self.registry_entry.config_entry_id

View File

@@ -32,9 +32,7 @@ async def update_devices(hass, config_entry, api):
for api_item in api.values():
# Update Device name
device = dev_registry.async_get_device(
identifiers={(DOMAIN, api_item.id)}, connections=set()
)
device = dev_registry.async_get_device(identifiers={(DOMAIN, api_item.id)})
if device is not None:
dev_registry.async_update_device(
device.id,

View File

@@ -1,11 +1,14 @@
{
"config": {
"abort": {
"no_devices_found": "Keine Ger\u00e4te im Netzwerk gefunden"
},
"step": {
"user": {
"data": {
"id": "Host-ID"
},
"title": "W\u00e4hlen Sie einen Hub zum Hinzuf\u00fcgen aus"
"title": "W\u00e4hle einen Hub zum Hinzuf\u00fcgen aus"
}
}
}

View File

@@ -0,0 +1,7 @@
{
"config": {
"abort": {
"no_devices_found": "Nenhum dispositivo encontrado na rede"
}
}
}

View File

@@ -0,0 +1,11 @@
{
"config": {
"step": {
"user": {
"data": {
"id": "Ana bilgisayar kimli\u011fi"
}
}
}
}
}

View File

@@ -0,0 +1,15 @@
{
"config": {
"abort": {
"no_devices_found": "\u041f\u0440\u0438\u0441\u0442\u0440\u043e\u0457 \u043d\u0435 \u0437\u043d\u0430\u0439\u0434\u0435\u043d\u0456 \u0432 \u043c\u0435\u0440\u0435\u0436\u0456."
},
"step": {
"user": {
"data": {
"id": "\u0406\u0434\u0435\u043d\u0442\u0438\u0444\u0456\u043a\u0430\u0442\u043e\u0440 \u0445\u043e\u0441\u0442\u0430"
},
"title": "\u0412\u0438\u0431\u0435\u0440\u0456\u0442\u044c \u0445\u0430\u0431, \u044f\u043a\u0438\u0439 \u043f\u043e\u0442\u0440\u0456\u0431\u043d\u043e \u0434\u043e\u0434\u0430\u0442\u0438"
}
}
}
}

View File

@@ -1,7 +1,7 @@
{
"config": {
"abort": {
"no_devices_found": "\u7db2\u8def\u4e0a\u627e\u4e0d\u5230\u8a2d\u5099"
"no_devices_found": "\u7db2\u8def\u4e0a\u627e\u4e0d\u5230\u88dd\u7f6e"
},
"step": {
"user": {

View File

@@ -2,7 +2,10 @@
"config": {
"abort": {
"existing_instance_updated": "Bestehende Konfiguration wurde aktualisiert.",
"single_instance_allowed": "Es ist nur eine einzige Konfiguration von AdGuard Home zul\u00e4ssig."
"single_instance_allowed": "Bereits konfiguriert. Nur eine einzige Konfiguration m\u00f6glich."
},
"error": {
"cannot_connect": "Verbindung fehlgeschlagen"
},
"step": {
"hassio_confirm": {
@@ -16,7 +19,7 @@
"port": "Port",
"ssl": "AdGuard Home verwendet ein SSL-Zertifikat",
"username": "Benutzername",
"verify_ssl": "AdGuard Home verwendet ein richtiges Zertifikat"
"verify_ssl": "SSL-Zertifikat \u00fcberpr\u00fcfen"
},
"description": "Richte deine AdGuard Home-Instanz ein um sie zu \u00dcberwachen und zu Steuern."
}

View File

@@ -9,8 +9,8 @@
},
"step": {
"hassio_confirm": {
"description": "Vil du konfigurere Home Assistant til \u00e5 koble til AdGuard Hjem gitt av hass.io tillegget {addon}?",
"title": "AdGuard Hjem via Hass.io tillegg"
"description": "Vil du konfigurere Home Assistant til \u00e5 koble til AdGuard Home gitt av Hass.io-tillegg {addon}?",
"title": "AdGuard Home via Hass.io-tillegg"
},
"user": {
"data": {

View File

@@ -1,5 +1,11 @@
{
"config": {
"abort": {
"single_instance_allowed": "J\u00e1 configurado. Apenas uma \u00fanica configura\u00e7\u00e3o \u00e9 poss\u00edvel."
},
"error": {
"cannot_connect": "Falha na liga\u00e7\u00e3o"
},
"step": {
"hassio_confirm": {
"title": "AdGuard Home via Hass.io add-on"
@@ -9,7 +15,9 @@
"host": "Servidor",
"password": "Palavra-passe",
"port": "Porta",
"username": "Nome de Utilizador"
"ssl": "Utiliza um certificado SSL",
"username": "Nome de Utilizador",
"verify_ssl": "Verificar certificado SSL"
}
}
}

View File

@@ -9,8 +9,8 @@
},
"step": {
"hassio_confirm": {
"description": "\u0412\u044b \u0443\u0432\u0435\u0440\u0435\u043d\u044b, \u0447\u0442\u043e \u0445\u043e\u0442\u0438\u0442\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u043a AdGuard Home (\u0434\u043e\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u0434\u043b\u044f Hass.io \"{addon}\")?",
"title": "AdGuard Home (\u0434\u043e\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u0434\u043b\u044f Hass.io)"
"description": "\u0412\u044b \u0443\u0432\u0435\u0440\u0435\u043d\u044b, \u0447\u0442\u043e \u0445\u043e\u0442\u0438\u0442\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u043a AdGuard Home (\u0434\u043e\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u0434\u043b\u044f Home Assistant \"{addon}\")?",
"title": "AdGuard Home (\u0434\u043e\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u0434\u043b\u044f Home Assistant)"
},
"user": {
"data": {

View File

@@ -0,0 +1,20 @@
{
"config": {
"abort": {
"single_instance_allowed": "Zaten yap\u0131land\u0131r\u0131lm\u0131\u015f. Yaln\u0131zca tek bir konfig\u00fcrasyon m\u00fcmk\u00fcnd\u00fcr."
},
"error": {
"cannot_connect": "Ba\u011flanma hatas\u0131"
},
"step": {
"user": {
"data": {
"host": "Ana Bilgisayar",
"password": "Parola",
"port": "Port",
"username": "Kullan\u0131c\u0131 Ad\u0131"
}
}
}
}
}

View File

@@ -0,0 +1,28 @@
{
"config": {
"abort": {
"existing_instance_updated": "\u041a\u043e\u043d\u0444\u0456\u0433\u0443\u0440\u0430\u0446\u0456\u044f \u043e\u043d\u043e\u0432\u043b\u0435\u043d\u0430.",
"single_instance_allowed": "\u041d\u0430\u043b\u0430\u0448\u0442\u0443\u0432\u0430\u043d\u043d\u044f \u0432\u0436\u0435 \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u043e. \u041c\u043e\u0436\u043d\u0430 \u0434\u043e\u0434\u0430\u0442\u0438 \u043b\u0438\u0448\u0435 \u043e\u0434\u043d\u0443 \u043a\u043e\u043d\u0444\u0456\u0433\u0443\u0440\u0430\u0446\u0456\u044e."
},
"error": {
"cannot_connect": "\u041d\u0435 \u0432\u0434\u0430\u043b\u043e\u0441\u044f \u043f\u0456\u0434'\u0454\u0434\u043d\u0430\u0442\u0438\u0441\u044f"
},
"step": {
"hassio_confirm": {
"description": "\u0412\u0438 \u0432\u043f\u0435\u0432\u043d\u0435\u043d\u0456, \u0449\u043e \u0445\u043e\u0447\u0435\u0442\u0435 \u043d\u0430\u043b\u0430\u0448\u0442\u0443\u0432\u0430\u0442\u0438 \u043f\u0456\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u043d\u044f \u0434\u043e AdGuard Home (\u0434\u043e\u0434\u0430\u0442\u043e\u043a \u0434\u043b\u044f Hass.io \"{addon}\")?",
"title": "AdGuard Home (\u0434\u043e\u0434\u0430\u0442\u043e\u043a \u0434\u043b\u044f Hass.io)"
},
"user": {
"data": {
"host": "\u0425\u043e\u0441\u0442",
"password": "\u041f\u0430\u0440\u043e\u043b\u044c",
"port": "\u041f\u043e\u0440\u0442",
"ssl": "\u0412\u0438\u043a\u043e\u0440\u0438\u0441\u0442\u043e\u0432\u0443\u0454\u0442\u044c\u0441\u044f \u0441\u0435\u0440\u0442\u0438\u0444\u0456\u043a\u0430\u0442 SSL",
"username": "\u0406\u043c'\u044f \u043a\u043e\u0440\u0438\u0441\u0442\u0443\u0432\u0430\u0447\u0430",
"verify_ssl": "\u041f\u0435\u0440\u0435\u0432\u0456\u0440\u043a\u0430 \u0441\u0435\u0440\u0442\u0438\u0444\u0456\u043a\u0430\u0442\u0430 SSL"
},
"description": "\u041d\u0430\u043b\u0430\u0448\u0442\u0443\u0439\u0442\u0435 Home Assistant \u0434\u043b\u044f \u043c\u043e\u043d\u0456\u0442\u043e\u0440\u0438\u043d\u0433\u0443 \u0456 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044e AdGuard Home."
}
}
}
}

View File

@@ -2,7 +2,7 @@
"config": {
"abort": {
"existing_instance_updated": "\u5df2\u66f4\u65b0\u73fe\u6709\u8a2d\u5b9a\u3002",
"single_instance_allowed": "\u50c5\u80fd\u8a2d\u5b9a\u4e00\u7d44\u8a2d\u5099\u3002"
"single_instance_allowed": "\u50c5\u80fd\u8a2d\u5b9a\u4e00\u7d44\u88dd\u7f6e\u3002"
},
"error": {
"cannot_connect": "\u9023\u7dda\u5931\u6557"

View File

@@ -1,5 +1,11 @@
{
"config": {
"abort": {
"already_configured": "Ger\u00e4t ist bereits konfiguriert"
},
"error": {
"cannot_connect": "Verbindung fehlgeschlagen"
},
"step": {
"user": {
"data": {

View File

@@ -0,0 +1,19 @@
{
"config": {
"abort": {
"already_configured": "O dispositivo j\u00e1 est\u00e1 configurado"
},
"error": {
"cannot_connect": "Falha na liga\u00e7\u00e3o"
},
"step": {
"user": {
"data": {
"ip_address": "Endere\u00e7o IP",
"port": "Porta"
},
"title": "Ligar"
}
}
}
}

View File

@@ -0,0 +1,19 @@
{
"config": {
"abort": {
"already_configured": "Cihaz zaten yap\u0131land\u0131r\u0131lm\u0131\u015f"
},
"error": {
"cannot_connect": "Ba\u011flanma hatas\u0131"
},
"step": {
"user": {
"data": {
"ip_address": "\u0130p Adresi",
"port": "Port"
},
"title": "Ba\u011flan"
}
}
}
}

View File

@@ -0,0 +1,20 @@
{
"config": {
"abort": {
"already_configured": "\u0426\u0435\u0439 \u043f\u0440\u0438\u0441\u0442\u0440\u0456\u0439 \u0432\u0436\u0435 \u0434\u043e\u0434\u0430\u043d\u043e \u0432 Home Assistant."
},
"error": {
"cannot_connect": "\u041d\u0435 \u0432\u0434\u0430\u043b\u043e\u0441\u044f \u043f\u0456\u0434'\u0454\u0434\u043d\u0430\u0442\u0438\u0441\u044f"
},
"step": {
"user": {
"data": {
"ip_address": "IP-\u0430\u0434\u0440\u0435\u0441\u0430",
"port": "\u041f\u043e\u0440\u0442"
},
"description": "\u041f\u0456\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u043d\u044f \u0434\u043e API \u0412\u0430\u0448\u043e\u0433\u043e \u043d\u0430\u0441\u0442\u0456\u043d\u043d\u043e\u0433\u043e \u043f\u043b\u0430\u043d\u0448\u0435\u0442\u0430 Advantage Air.",
"title": "\u041d\u0430\u043b\u0430\u0448\u0442\u0443\u0432\u0430\u043d\u043d\u044f \u043f\u0456\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u043d\u044f"
}
}
}
}

View File

@@ -1,7 +1,7 @@
{
"config": {
"abort": {
"already_configured": "\u8a2d\u5099\u5df2\u7d93\u8a2d\u5b9a\u5b8c\u6210"
"already_configured": "\u88dd\u7f6e\u7d93\u8a2d\u5b9a\u5b8c\u6210"
},
"error": {
"cannot_connect": "\u9023\u7dda\u5931\u6557"

View File

@@ -181,8 +181,8 @@ class AfterShipSensor(Entity):
track["tracking_number"] if track["title"] is None else track["title"]
)
last_checkpoint = (
"Shipment pending"
if track["tag"] == "Pending"
f"Shipment {track['tag'].lower()}"
if not track["checkpoints"]
else track["checkpoints"][-1]
)
status_counts[status] = status_counts.get(status, 0) + 1

View File

@@ -4,7 +4,8 @@
"already_configured": "Ger\u00e4t ist bereits konfiguriert"
},
"error": {
"already_in_progress": "Der Konfigurationsfluss f\u00fcr das Ger\u00e4t wird bereits ausgef\u00fchrt."
"already_in_progress": "Der Konfigurationsablauf wird bereits ausgef\u00fchrt",
"cannot_connect": "Verbindung fehlgeschlagen"
},
"step": {
"user": {

View File

@@ -1,9 +1,17 @@
{
"config": {
"abort": {
"already_configured": "O dispositivo j\u00e1 est\u00e1 configurado"
},
"error": {
"already_in_progress": "O processo de configura\u00e7\u00e3o j\u00e1 est\u00e1 a decorrer",
"cannot_connect": "Falha na liga\u00e7\u00e3o"
},
"step": {
"user": {
"data": {
"host": "Servidor"
"host": "Servidor",
"port": "Porta"
}
}
}

View File

@@ -0,0 +1,20 @@
{
"config": {
"abort": {
"already_configured": "Cihaz zaten yap\u0131land\u0131r\u0131lm\u0131\u015f"
},
"error": {
"already_in_progress": "Yap\u0131land\u0131rma ak\u0131\u015f\u0131 zaten devam ediyor",
"cannot_connect": "Ba\u011flanma hatas\u0131"
},
"step": {
"user": {
"data": {
"host": "Ana Bilgisayar",
"port": "Port"
},
"title": "Agent DVR'\u0131 kurun"
}
}
}
}

View File

@@ -0,0 +1,20 @@
{
"config": {
"abort": {
"already_configured": "\u0426\u0435\u0439 \u043f\u0440\u0438\u0441\u0442\u0440\u0456\u0439 \u0432\u0436\u0435 \u0434\u043e\u0434\u0430\u043d\u043e \u0432 Home Assistant."
},
"error": {
"already_in_progress": "\u041f\u0440\u043e\u0446\u0435\u0441 \u043d\u0430\u043b\u0430\u0448\u0442\u0443\u0432\u0430\u043d\u043d\u044f \u0432\u0436\u0435 \u0442\u0440\u0438\u0432\u0430\u0454.",
"cannot_connect": "\u041d\u0435 \u0432\u0434\u0430\u043b\u043e\u0441\u044f \u043f\u0456\u0434'\u0454\u0434\u043d\u0430\u0442\u0438\u0441\u044f"
},
"step": {
"user": {
"data": {
"host": "\u0425\u043e\u0441\u0442",
"port": "\u041f\u043e\u0440\u0442"
},
"title": "Agent DVR"
}
}
}
}

View File

@@ -1,7 +1,7 @@
{
"config": {
"abort": {
"already_configured": "\u8a2d\u5099\u5df2\u7d93\u8a2d\u5b9a\u5b8c\u6210"
"already_configured": "\u88dd\u7f6e\u7d93\u8a2d\u5b9a\u5b8c\u6210"
},
"error": {
"already_in_progress": "\u8a2d\u5b9a\u5df2\u7d93\u9032\u884c\u4e2d",

View File

@@ -20,6 +20,7 @@ from .const import (
ATTR_API_CAQI,
ATTR_API_CAQI_DESCRIPTION,
ATTR_API_CAQI_LEVEL,
CONF_USE_NEAREST,
DOMAIN,
MAX_REQUESTS_PER_DAY,
NO_AIRLY_SENSORS,
@@ -53,6 +54,7 @@ async def async_setup_entry(hass, config_entry):
api_key = config_entry.data[CONF_API_KEY]
latitude = config_entry.data[CONF_LATITUDE]
longitude = config_entry.data[CONF_LONGITUDE]
use_nearest = config_entry.data.get(CONF_USE_NEAREST, False)
# For backwards compat, set unique ID
if config_entry.unique_id is None:
@@ -67,7 +69,7 @@ async def async_setup_entry(hass, config_entry):
)
coordinator = AirlyDataUpdateCoordinator(
hass, websession, api_key, latitude, longitude, update_interval
hass, websession, api_key, latitude, longitude, update_interval, use_nearest
)
await coordinator.async_refresh()
@@ -107,21 +109,36 @@ async def async_unload_entry(hass, config_entry):
class AirlyDataUpdateCoordinator(DataUpdateCoordinator):
"""Define an object to hold Airly data."""
def __init__(self, hass, session, api_key, latitude, longitude, update_interval):
def __init__(
self,
hass,
session,
api_key,
latitude,
longitude,
update_interval,
use_nearest,
):
"""Initialize."""
self.latitude = latitude
self.longitude = longitude
self.airly = Airly(api_key, session)
self.use_nearest = use_nearest
super().__init__(hass, _LOGGER, name=DOMAIN, update_interval=update_interval)
async def _async_update_data(self):
"""Update data via library."""
data = {}
with async_timeout.timeout(20):
if self.use_nearest:
measurements = self.airly.create_measurements_session_nearest(
self.latitude, self.longitude, max_distance_km=5
)
else:
measurements = self.airly.create_measurements_session_point(
self.latitude, self.longitude
)
with async_timeout.timeout(20):
try:
await measurements.update()
except (AirlyError, ClientConnectorError) as error:

View File

@@ -87,13 +87,13 @@ class AirlyAirQuality(CoordinatorEntity, AirQualityEntity):
@round_state
def particulate_matter_2_5(self):
"""Return the particulate matter 2.5 level."""
return self.coordinator.data[ATTR_API_PM25]
return self.coordinator.data.get(ATTR_API_PM25)
@property
@round_state
def particulate_matter_10(self):
"""Return the particulate matter 10 level."""
return self.coordinator.data[ATTR_API_PM10]
return self.coordinator.data.get(ATTR_API_PM10)
@property
def attribution(self):
@@ -120,12 +120,19 @@ class AirlyAirQuality(CoordinatorEntity, AirQualityEntity):
@property
def device_state_attributes(self):
"""Return the state attributes."""
return {
attrs = {
LABEL_AQI_DESCRIPTION: self.coordinator.data[ATTR_API_CAQI_DESCRIPTION],
LABEL_ADVICE: self.coordinator.data[ATTR_API_ADVICE],
LABEL_AQI_LEVEL: self.coordinator.data[ATTR_API_CAQI_LEVEL],
LABEL_PM_2_5_LIMIT: self.coordinator.data[ATTR_API_PM25_LIMIT],
LABEL_PM_2_5_PERCENT: round(self.coordinator.data[ATTR_API_PM25_PERCENT]),
LABEL_PM_10_LIMIT: self.coordinator.data[ATTR_API_PM10_LIMIT],
LABEL_PM_10_PERCENT: round(self.coordinator.data[ATTR_API_PM10_PERCENT]),
}
if ATTR_API_PM25 in self.coordinator.data:
attrs[LABEL_PM_2_5_LIMIT] = self.coordinator.data[ATTR_API_PM25_LIMIT]
attrs[LABEL_PM_2_5_PERCENT] = round(
self.coordinator.data[ATTR_API_PM25_PERCENT]
)
if ATTR_API_PM10 in self.coordinator.data:
attrs[LABEL_PM_10_LIMIT] = self.coordinator.data[ATTR_API_PM10_LIMIT]
attrs[LABEL_PM_10_PERCENT] = round(
self.coordinator.data[ATTR_API_PM10_PERCENT]
)
return attrs

View File

@@ -5,12 +5,19 @@ import async_timeout
import voluptuous as vol
from homeassistant import config_entries
from homeassistant.const import CONF_API_KEY, CONF_LATITUDE, CONF_LONGITUDE, CONF_NAME
from homeassistant.const import (
CONF_API_KEY,
CONF_LATITUDE,
CONF_LONGITUDE,
CONF_NAME,
HTTP_NOT_FOUND,
HTTP_UNAUTHORIZED,
)
from homeassistant.helpers.aiohttp_client import async_get_clientsession
import homeassistant.helpers.config_validation as cv
from .const import ( # pylint:disable=unused-import
DEFAULT_NAME,
CONF_USE_NEAREST,
DOMAIN,
NO_AIRLY_SENSORS,
)
@@ -22,13 +29,10 @@ class AirlyFlowHandler(config_entries.ConfigFlow, domain=DOMAIN):
VERSION = 1
CONNECTION_CLASS = config_entries.CONN_CLASS_CLOUD_POLL
def __init__(self):
"""Initialize."""
self._errors = {}
async def async_step_user(self, user_input=None):
"""Handle a flow initialized by the user."""
self._errors = {}
errors = {}
use_nearest = False
websession = async_get_clientsession(self.hass)
@@ -37,75 +41,70 @@ class AirlyFlowHandler(config_entries.ConfigFlow, domain=DOMAIN):
f"{user_input[CONF_LATITUDE]}-{user_input[CONF_LONGITUDE]}"
)
self._abort_if_unique_id_configured()
api_key_valid = await self._test_api_key(websession, user_input["api_key"])
if not api_key_valid:
self._errors["base"] = "invalid_api_key"
else:
location_valid = await self._test_location(
try:
location_point_valid = await test_location(
websession,
user_input["api_key"],
user_input["latitude"],
user_input["longitude"],
)
if not location_valid:
self._errors["base"] = "wrong_location"
if not self._errors:
if not location_point_valid:
await test_location(
websession,
user_input["api_key"],
user_input["latitude"],
user_input["longitude"],
use_nearest=True,
)
except AirlyError as err:
if err.status_code == HTTP_UNAUTHORIZED:
errors["base"] = "invalid_api_key"
if err.status_code == HTTP_NOT_FOUND:
errors["base"] = "wrong_location"
else:
if not location_point_valid:
use_nearest = True
return self.async_create_entry(
title=user_input[CONF_NAME], data=user_input
title=user_input[CONF_NAME],
data={**user_input, CONF_USE_NEAREST: use_nearest},
)
return self._show_config_form(
name=DEFAULT_NAME,
api_key="",
latitude=self.hass.config.latitude,
longitude=self.hass.config.longitude,
)
def _show_config_form(self, name=None, api_key=None, latitude=None, longitude=None):
"""Show the configuration form to edit data."""
return self.async_show_form(
step_id="user",
data_schema=vol.Schema(
{
vol.Required(CONF_API_KEY, default=api_key): str,
vol.Required(CONF_API_KEY): str,
vol.Optional(
CONF_LATITUDE, default=self.hass.config.latitude
): cv.latitude,
vol.Optional(
CONF_LONGITUDE, default=self.hass.config.longitude
): cv.longitude,
vol.Optional(CONF_NAME, default=name): str,
vol.Optional(
CONF_NAME, default=self.hass.config.location_name
): str,
}
),
errors=self._errors,
errors=errors,
)
async def _test_api_key(self, client, api_key):
"""Return true if api_key is valid."""
with async_timeout.timeout(10):
airly = Airly(api_key, client)
measurements = airly.create_measurements_session_point(
latitude=52.24131, longitude=20.99101
)
try:
await measurements.update()
except AirlyError:
return False
return True
async def test_location(client, api_key, latitude, longitude, use_nearest=False):
"""Return true if location is valid."""
airly = Airly(api_key, client)
if use_nearest:
measurements = airly.create_measurements_session_nearest(
latitude=latitude, longitude=longitude, max_distance_km=5
)
else:
measurements = airly.create_measurements_session_point(
latitude=latitude, longitude=longitude
)
with async_timeout.timeout(10):
await measurements.update()
async def _test_location(self, client, api_key, latitude, longitude):
"""Return true if location is valid."""
current = measurements.current
with async_timeout.timeout(10):
airly = Airly(api_key, client)
measurements = airly.create_measurements_session_point(
latitude=latitude, longitude=longitude
)
await measurements.update()
current = measurements.current
if current["indexes"][0]["description"] == NO_AIRLY_SENSORS:
return False
return True
if current["indexes"][0]["description"] == NO_AIRLY_SENSORS:
return False
return True

View File

@@ -13,6 +13,7 @@ ATTR_API_PM25_LIMIT = "PM25_LIMIT"
ATTR_API_PM25_PERCENT = "PM25_PERCENT"
ATTR_API_PRESSURE = "PRESSURE"
ATTR_API_TEMPERATURE = "TEMPERATURE"
CONF_USE_NEAREST = "use_nearest"
DEFAULT_NAME = "Airly"
DOMAIN = "airly"
MANUFACTURER = "Airly sp. z o.o."

View File

@@ -67,7 +67,9 @@ async def async_setup_entry(hass, config_entry, async_add_entities):
sensors = []
for sensor in SENSOR_TYPES:
sensors.append(AirlySensor(coordinator, name, sensor))
# When we use the nearest method, we are not sure which sensors are available
if coordinator.data.get(sensor):
sensors.append(AirlySensor(coordinator, name, sensor))
async_add_entities(sensors, False)

View File

@@ -19,5 +19,10 @@
"title": "Airly"
}
}
},
"system_health": {
"info": {
"can_reach_server": "Servidor d'Airly accessible"
}
}
}

View File

@@ -19,5 +19,10 @@
"title": "Airly"
}
}
},
"system_health": {
"info": {
"can_reach_server": "Lze kontaktovat Airly server"
}
}
}

View File

@@ -1,9 +1,10 @@
{
"config": {
"abort": {
"already_configured": "Die Airly-Integration ist f\u00fcr diese Koordinaten bereits konfiguriert."
"already_configured": "Standort ist bereits konfiguriert"
},
"error": {
"invalid_api_key": "Ung\u00fcltiger API-Schl\u00fcssel",
"wrong_location": "Keine Airly Luftmessstation an diesem Ort"
},
"step": {
@@ -12,11 +13,16 @@
"api_key": "API-Schl\u00fcssel",
"latitude": "Breitengrad",
"longitude": "L\u00e4ngengrad",
"name": "Name der Integration"
"name": "Name"
},
"description": "Einrichtung der Airly-Luftqualit\u00e4t Integration. Um einen API-Schl\u00fcssel zu generieren, registriere dich auf https://developer.airly.eu/register",
"title": "Airly"
}
}
},
"system_health": {
"info": {
"can_reach_server": "Airly-Server erreichen"
}
}
}

View File

@@ -19,5 +19,10 @@
"title": "Airly"
}
}
},
"system_health": {
"info": {
"can_reach_server": "Alcanzar el servidor Airly"
}
}
}

View File

@@ -22,7 +22,7 @@
},
"system_health": {
"info": {
"can_reach_server": "\u00dchendu Airly serveriga"
"can_reach_server": "\u00dchendus Airly serveriga"
}
}
}

View File

@@ -19,5 +19,10 @@
"title": "Airly"
}
}
},
"system_health": {
"info": {
"can_reach_server": "Acc\u00e8s au serveur Airly"
}
}
}

View File

@@ -19,5 +19,10 @@
"title": "Airly"
}
}
},
"system_health": {
"info": {
"can_reach_server": "Raggiungi il server Airly"
}
}
}

View File

@@ -19,5 +19,10 @@
"title": "Airly"
}
}
},
"system_health": {
"info": {
"can_reach_server": "Airly Server ereechbar"
}
}
}

View File

@@ -19,5 +19,10 @@
"title": ""
}
}
},
"system_health": {
"info": {
"can_reach_server": "N\u00e5 Airly-serveren"
}
}
}

View File

@@ -19,5 +19,10 @@
"title": "Airly"
}
}
},
"system_health": {
"info": {
"can_reach_server": "Dost\u0119p do serwera Airly"
}
}
}

View File

@@ -1,11 +1,18 @@
{
"config": {
"abort": {
"already_configured": "A localiza\u00e7\u00e3o j\u00e1 est\u00e1 configurada"
},
"error": {
"invalid_api_key": "Chave de API inv\u00e1lida"
},
"step": {
"user": {
"data": {
"api_key": "",
"latitude": "Latitude",
"longitude": "Longitude"
"longitude": "Longitude",
"name": "Nome"
},
"title": ""
}

View File

@@ -19,5 +19,10 @@
"title": "Airly"
}
}
},
"system_health": {
"info": {
"can_reach_server": "\u0414\u043e\u0441\u0442\u0443\u043f \u043a \u0441\u0435\u0440\u0432\u0435\u0440\u0443 Airly"
}
}
}

View File

@@ -18,5 +18,10 @@
"title": "Airly"
}
}
},
"system_health": {
"info": {
"can_reach_server": "Dostop do Airly stre\u017enika"
}
}
}

View File

@@ -0,0 +1,24 @@
{
"config": {
"abort": {
"already_configured": "Konum zaten yap\u0131land\u0131r\u0131lm\u0131\u015f"
},
"error": {
"invalid_api_key": "Ge\u00e7ersiz API anahtar\u0131"
},
"step": {
"user": {
"data": {
"api_key": "API Anahtar\u0131",
"latitude": "Enlem",
"longitude": "Boylam"
}
}
}
},
"system_health": {
"info": {
"can_reach_server": "Airly sunucusuna eri\u015fin"
}
}
}

Some files were not shown because too many files have changed in this diff Show More