Compare commits

...

816 Commits

Author SHA1 Message Date
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
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
Franck Nijhof
bb1ebae5cb Merge pull request #44881 from home-assistant/rc 2021-01-06 17:37:48 +01: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
9c478e8de7 Bumped version to 2021.1.0 2021-01-06 16:03:04 +01: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
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
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
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
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
Franck Nijhof
9c6ff9af91 Bumped version to 1.0.0b5 2020-12-10 21:34:52 +01:00
Robert Svensson
3986df63dc Support more errors to better do retries in UniFi (#44108) 2020-12-10 21:34:40 +01:00
Bram Kragten
42d1644762 Update frontend to 20201210.0 (#44105) 2020-12-10 21:34:37 +01:00
Bram Kragten
83b7439a08 Fix importing blueprint from community (#44104) 2020-12-10 21:34:33 +01:00
Paulus Schoutsen
a01cf72d67 Fix importing blueprints from forums with HTML entities (#44098) 2020-12-10 21:34:29 +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
cff4f7bbbf Bumped version to 1.0.0b4 2020-12-10 09:12:20 +00:00
Paulus Schoutsen
e68544cd7d Bump hass-nabucasa to 0.39.0 (#44097) 2020-12-10 09:12:09 +00:00
J.P. Hutchins
6ea3c671e9 Fix transmission torrent filtering and sorting (#44069) 2020-12-10 09:12:07 +00:00
zewelor
29e3fbe568 Fix yeelight unavailbility (#44061) 2020-12-10 09:12:06 +00: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
Franck Nijhof
f3eb21ba59 Bumped version to 1.0.0b3 2020-12-09 19:08:29 +01:00
Robert Svensson
53b6a971d2 Fix ignored Axis config entries doesn't break set up of new entries (#44062) 2020-12-09 19:07:38 +01:00
Robert Svensson
0e871c3390 Some lights only support hs, like the lidl christmas lights (#44059) 2020-12-09 19:07:34 +01:00
Alexei Chetroi
9cfeb44b56 Exclude coordinator when looking up group members entity IDs (#44058) 2020-12-09 19:07:29 +01:00
Pierre Ståhl
88941eaa51 Bump pyatv to 0.7.5 (#44051) 2020-12-09 19:07:25 +01:00
Paulus Schoutsen
a2f9cbc941 Fix extracting entity and device IDs from scripts (#44048)
* Fix extracting entity and device IDs from scripts

* Fix extracting from data_template
2020-12-09 19:07:20 +01:00
Aaron Bach
5fee55f824 Bump simplisafe-python to 9.6.2 (#44040) 2020-12-09 19:07:15 +01:00
Alexei Chetroi
70257d7a21 Update ZHA dependencies (#44039)
zha-quirks==0.0.48
zigpy==0.28.2
zigpy-znp==0.3.0
2020-12-09 19:07:10 +01:00
Maciej Bieniek
8ad0b9845e Add the missing ATTR_ENABLED attribute to Brother integration list of sensors (#44036) 2020-12-09 19:07:06 +01:00
Paul
ec4b23173c Update pyarlo to 0.2.4 (#44034) 2020-12-09 19:07:03 +01:00
Aaron Bach
445fbb2c73 Bump simplisafe-python to 9.6.1 (#44030) 2020-12-09 19:06:59 +01:00
Jc2k
b09a8f0d21 Fix how homekit_controller enumerates Hue remote (#44019) 2020-12-09 19:06:55 +01:00
Fuzzy
7a4dac8183 Add T8400 to ignore list (#44017) 2020-12-09 19:06:50 +01:00
Jc2k
ac82dac4f3 Hide HomeKit devices from discovery that are known to be problematic (#44014) 2020-12-09 19:06:46 +01:00
JJdeVries
e3b650b2c8 Fix unit of measurement for asuswrt sensors (#44009) 2020-12-09 19:06:43 +01:00
Brian
a9d69bc1b9 Bump pymyq to 2.0.11 (#44003) 2020-12-09 19:06:38 +01:00
Alex Szlavik
4b8e3171a3 Retry tuya setup on auth rate limiting (#44001)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-12-09 19:06:35 +01:00
Nigel Rook
a1c5537460 Update generic_thermostat current_temperature on startup (#43951)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-12-09 19:06:31 +01:00
Maikel Punie
154fd4aa8b Fix Solaredge integration in case the data is not complete (#43557)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-12-09 19:06:27 +01: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
Paulus Schoutsen
c7ec7e7c98 Bumped version to 1.0.0b2 2020-12-07 09:11:57 +00:00
Paulus Schoutsen
591777455a Update ring to 0.6.2 (#43995) 2020-12-07 09:11:49 +00:00
Shay Levy
4780bdd48f Prevent firing Shelly input events at startup (#43986)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-12-07 09:11:48 +00:00
treylok
6cb1ce056a Fix Ecobee set humidity (#43954) 2020-12-07 09:11:47 +00: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
Franck Nijhof
a390b0aca8 Bumped version to 1.0.0b1 2020-12-05 13:15:45 +01:00
Franck Nijhof
471e33ae10 Merge branch 'master' into rc 2020-12-05 13:15:31 +01:00
Robert Svensson
625f219d6b Fix device refresh service can always add devices (#43950) 2020-12-05 13:10:17 +01:00
Bram Kragten
4c2dfa54da Updated frontend to 20201204.0 (#43945) 2020-12-05 13:10:13 +01:00
Brian Rogers
bf6bd969a2 Return unique id of Blink binary sensor (#43942) 2020-12-05 13:10:10 +01:00
Martin Hjelmare
46b13e20ac Handle stale ozw discovery flow (#43939) 2020-12-05 13:10:06 +01:00
Martin Hjelmare
698ee59f10 Always send ozw network key to add-on config (#43938) 2020-12-05 13:10:02 +01:00
Erik Montnemery
fb005ba3e2 Bump hatasmota to 0.1.4 (#43912) 2020-12-05 13:09:59 +01:00
Bram Kragten
6ae46268a4 Updated frontend to 20201203.0 (#43907) 2020-12-05 13:09:55 +01:00
Emily Mills
eb6128b53e Kulersky cleanups (#43901) 2020-12-05 13:09:51 +01:00
Martin Hjelmare
b174c1d4eb Unsubscribe ozw stop listener on entry unload (#43900) 2020-12-05 13:09:47 +01:00
Paulus Schoutsen
6c5911d37f Blueprint: descriptions + descriptive errors (#43899) 2020-12-05 13:09:44 +01:00
djtimca
3ee1aed06f Bump auroranoaa library to 0.0.2 (#43898) 2020-12-05 13:09:41 +01:00
Aaron Bach
bf4e98d1ae 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-05 13:09:37 +01:00
tehbrd
15b775a4d3 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-05 13:09:34 +01:00
Emily Mills
ec90ebe136 Add Kuler Sky Bluetooth floor lamp integration (#42372)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-12-05 13:09:29 +01:00
Franck Nijhof
7130b7a4b7 Merge pull request #43964 from home-assistant/0.118.5 2020-12-05 13:07:27 +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
Martin Hjelmare
e93b9db55d Pin pip < 20.3 (#43771) 2020-12-05 12:05:16 +01:00
Franck Nijhof
c3fed66df6 Bumped version to 0.118.5 2020-12-05 12:00:40 +01:00
Marvin Wichmann
679d1c2b67 Implement new Google TTS API via dedicated library (#43863)
Co-authored-by: Joakim Sørensen <hi@ludeeus.dev>
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2020-12-05 11:58:56 +01:00
Joakim Sørensen
b10b80d7b1 Increase timeout for snapshot upload (#43851) 2020-12-05 11:58:53 +01:00
cgtobi
57687f9d56 Bump pyatmo to v4.2.1 (#43713) 2020-12-05 11:58:35 +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
Franck Nijhof
adcb0260e0 Bumped version to 1.0.0b0 2020-12-02 22:07:58 +01:00
Marvin Wichmann
ce056656f8 Implement new Google TTS API via dedicated library (#43863)
Co-authored-by: Joakim Sørensen <hi@ludeeus.dev>
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2020-12-02 22:03:31 +01:00
Erik Montnemery
30baf333c3 Improve handling of disabled devices (#43864) 2020-12-02 21:20:14 +01:00
Vladimír Záhradník
d518db1c95 Improve custom datatype parsing in Modbus sensor and climate (#42354) 2020-12-02 21:16:30 +01:00
Bram Kragten
5e3941badb Updated frontend to 20201202.0 (#43862) 2020-12-02 20:51:51 +01:00
Franck Nijhof
f2a371257d Translation update 2020-12-02 20:51:05 +01:00
Vladimir Dronnikov
a4b1990487 Add telegram_bot.send_voice service (#43433)
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2020-12-02 20:44:02 +01:00
Martin Hjelmare
9043b7b214 Add ozw add-on discovery and mqtt client (#43838) 2020-12-02 20:03:29 +01:00
Kiall Mac Innes
8efa9c5097 Add support for MQTT Scenes (#42639) 2020-12-02 19:42:28 +01:00
Dermot Duffy
39601090ba Automatically select "Solid" effect in Hyperion (#43799) 2020-12-02 19:40:49 +01:00
Maciej Bieniek
b294e1c98c Add support for system health to AccuWeather integration (#43277) 2020-12-02 19:36:16 +01:00
Maciej Bieniek
86043b2957 Add support for system health to Airly integrarion (#43220) 2020-12-02 19:32:42 +01:00
Wictor
5fa00244da Allow members of allowed groups to talk to telegram_bot (#43241) 2020-12-02 19:25:35 +01:00
Quentame
519ec64522 Bump Synology DSM to 1.0.1 (#43860) 2020-12-02 19:12:38 +01:00
Robert Svensson
a8f0ad1dd8 Allow creating deCONZ config entry even when no bridge id is available 2020-12-02 19:10:47 +01:00
jjlawren
f2f935506e Use Plex websocket payloads to reduce overhead (#42332)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2020-12-02 19:00:13 +01:00
Robert Svensson
6e8efe2b67 Add fan support to deCONZ climate platform (#43721) 2020-12-02 18:08:46 +01:00
Jeff Irion
efacda6c33 Bump androidtv to 0.0.56 (#43859) 2020-12-02 17:47:09 +01:00
Robert Svensson
25db1dac23 Add preset support to deCONZ climate platform (#43722) 2020-12-02 17:14:05 +01:00
Pierre Ståhl
edb246d696 Refactor Apple TV integration (#31952)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2020-12-02 17:01:55 +01:00
Paulus Schoutsen
58648019c6 Deprecate the use of keyring and credstash (#43854) 2020-12-02 16:55:33 +01:00
Robert Svensson
ac2c01d20c deCONZ improve options updating entities (#42320) 2020-12-02 16:21:27 +01:00
Paulus Schoutsen
ff4897a09e Fix using execute on the notify_leaving_zone (#43858) 2020-12-02 16:21:00 +01:00
epenet
55edc9f858 Cleanup unique_id on onewire integration (#43783)
* Update construction of unique_id

* Move shared logic into OneWireBaseEntity
2020-12-02 15:11:20 +01:00
Paulus Schoutsen
06626af337 Guard for when refreshing token fails (#43855) 2020-12-02 14:55:47 +01:00
Joakim Sørensen
15b5057569 Increase timeout for snapshot upload (#43851) 2020-12-02 14:34:17 +01:00
Philip Allgaier
6fadc3e140 Make "invalid password" error message clearer (#43853) 2020-12-02 14:24:47 +01:00
Shulyaka
f744f7c34e Add new number entity integration (#42735)
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2020-12-02 13:50:48 +01:00
Paulus Schoutsen
6c9c280bbb Migrate notify-leaving-zone to use mobile app device action (#43832) 2020-12-02 13:07:04 +01:00
Franck Nijhof
b092430d5b Merge branch 'master' into dev 2020-12-02 12:32:16 +01:00
Paulus Schoutsen
f3bb243b1d Do not warn for weak referenced entities (#43848) 2020-12-02 11:18:08 +01:00
Paulus Schoutsen
648f9e100d Use light turn on service (#43847) 2020-12-02 10:53:26 +01:00
Andre Lengwenus
93055884b7 Bump pypck to 0.7.7 (#43824) 2020-12-02 10:49:50 +01:00
Fabian Affolter
bbe9874320 Upgrade pylast to 4.0.0 (#43830) 2020-12-02 10:47:45 +01:00
Franck Nijhof
834f3603bc Correct service not found exception message (#43846) 2020-12-02 10:32:25 +01:00
Fabian Affolter
fec0d26d55 Upgrade TwitterAPI to 2.6.2.1 (#43833) 2020-12-02 10:20:12 +01:00
Chris Talkington
891edec73b Add test for is_internal_request (#43841) 2020-12-02 10:12:48 +01:00
etheralm
cf286d1c51 Bump libpurecool to 0.6.4 (#43779) 2020-12-02 09:51:46 +01:00
Bram Kragten
d93687b5ac Update area and target selectors add sequence selector (#43831)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2020-12-02 09:30:49 +01:00
Andreas Oberritter
3efda93875 Support more edl21 devices and sensors (#43603)
* edl21: Handle 1-0:96.50.1*1 and 1-0:96.1.0*255

* edl21: Use 1-0:96.1.0*255 as alternative electricity ID

* edl21: Fix copy-paste error in comments

* edl21: Add active amperage sensors

* edl21: Bump pysml to 0.0.3 to fix format of electricity ID
2020-12-01 22:50:09 -06:00
Chris
26892a629d Add ozw scene_instance to scene_activated (#43829)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-12-02 01:23:08 +01:00
HomeAssistant Azure
fc42f59b0b [ci skip] Translation update 2020-12-02 00:03:14 +00:00
Alexei Chetroi
032d569cd1 Add Analog cluster for Lumi plugs (#43817) 2020-12-01 14:34:07 -05:00
Paulus Schoutsen
0ee86ea8e4 Another try to get rid of Shelly flaky test (#43821) 2020-12-01 19:26:43 +01:00
Robert Svensson
1faef0a4d4 Make simple deCONZ thermostats work (#43781) 2020-12-01 18:49:58 +01:00
Andre Lengwenus
9ace7269ae Fix wrong temperature setting in LCN climate (#43818) 2020-12-01 18:45:08 +01:00
Paulus Schoutsen
1c9c99571e Use !input instead of !placeholder (#43820)
* Use !input instead of !placeholder

* Update input name

* Lint

* Move tests around
2020-12-01 18:21:36 +01:00
Paulus Schoutsen
7d23ff6511 Add device action to mobile app to notify (#43814) 2020-12-01 18:14:01 +01:00
Simone Chemelli
52217f1f60 Move uptime from relative time to absolute time (#43623) 2020-12-01 17:28:59 +01:00
Franck Nijhof
00d0c3f98b Remove invalidation version from Airvisual (#43810) 2020-12-01 17:13:15 +01:00
Franck Nijhof
b1c11eaaf8 Fix config validation tests for upcoming beta (#43811) 2020-12-01 17:07:28 +01:00
Franck Nijhof
24ba5bcbaf Remove Ubee Router integration (ADR-0004) (#43809) 2020-12-01 17:06:49 +01:00
Abílio Costa
8f3989e7d9 Remove unused stuff from ZHA registries (#43786) 2020-12-01 09:21:25 -05:00
Paulus Schoutsen
69710cb664 Base area IDs on initial name (#43804) 2020-12-01 12:45:56 +01:00
Aaron Bach
aad16b8055 Bump aiorecollect to 0.2.2 (#43796) 2020-12-01 12:22:57 +01:00
Franck Nijhof
885f325812 Upgrade elgato to 1.0.0 (#43792) 2020-12-01 10:50:55 +01:00
Paulus Schoutsen
14620e1573 Use entity platform for Neato (#43772) 2020-12-01 09:28:41 +01:00
Paulus Schoutsen
935ec59c56 Migrate foscam to use entity platform entity services (#43775) 2020-12-01 09:28:30 +01:00
Sören
39e7b30ab6 Add lock.open service to nello (#42141) 2020-12-01 08:36:36 +01:00
Paulus Schoutsen
cf5be049b3 Warn when referencing missing devices/areas (#43787) 2020-12-01 08:01:27 +01:00
HomeAssistant Azure
cf9598fe4f [ci skip] Translation update 2020-12-01 00:03:00 +00:00
Erik Montnemery
d18a33020b Fix MQTT birth message deadlock (#43790) 2020-12-01 01:01:22 +01:00
Paulus Schoutsen
a5c79a1f84 Add support for device class in target selector (#43768) 2020-11-30 23:35:24 +01:00
Martin Hjelmare
2f73590714 Increase Supervisor add-on helper timeout (#43778) 2020-11-30 20:40:31 +01:00
Willem-Jan
ba4d630470 Add authentication support to bsblan (#42306) 2020-11-30 20:13:16 +01:00
Martin Hjelmare
434cec7a88 Pin pip < 20.3 (#43771) 2020-11-30 19:38:39 +01:00
Martin Hjelmare
3f5d7e85c3 Add show progress to ozw config flow (#43310) 2020-11-30 18:59:15 +01:00
Dermot Duffy
7ad2a6be30 Add hyperion config options flow (#43673) 2020-11-30 18:38:52 +01:00
Ernst Klamer
14d1466400 Add device information to solarlog integration (#43680)
* Update sensor.py

* Changed as requested

Thanks, tested and works ok.

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

Co-authored-by: J. Nick Koston <nick@koston.org>
2020-11-30 09:40:43 -06:00
Diogo Gomes
3e24868a9e Add system health check to IPMA (#43762) 2020-11-30 16:24:18 +01:00
Paulus Schoutsen
0de9e8e952 Allow specifying device_id as target (#43767) 2020-11-30 14:27:02 +01:00
Alan Tse
e307e1315a Fix updating of Tesla switches after command (#43754)
closes #43454
2020-11-30 09:57:32 +01:00
Joakim Plate
aade4e63b8 Support asking covers to stop using google assistant (#43537) 2020-11-30 09:34:34 +01:00
springstan
f221bfae52 Report correct weather condition at night for OpenWeatherMap (#42982) 2020-11-30 09:32:06 +01:00
Allen Porter
945a0a9f7e Add nest device triggers for camera and doorbell events (#43548) 2020-11-30 09:19:42 +01:00
J. Nick Koston
2cbb93be43 Always keep the current recorder run when purging (#43733) 2020-11-30 09:13:50 +01:00
HomeAssistant Azure
533f22bb76 [ci skip] Translation update 2020-11-30 00:03:45 +00:00
Ron Klinkien
eab6a0508b Address FireServiceRota late code review (#43741)
* Address review comment from PR #38206

* Address review comment from PR #43638

* Address review comment from PR #43700

* isort fixed

* Better code for duty entity update

* Removed all pylint relative-beyond-top-level

* Removed logger entry from entity state method
2020-11-29 23:54:27 +01:00
Bas Nijholt
6eeb9c0e49 ZHA: remove unused 'from_cache' argument from 'async_get_state' and add 'async_update' (#42413)
* remove unused 'from_cache' argument from 'async_get_state'

* define async_update to use homeassistant.update_entity
2020-11-29 14:47:46 -05:00
David F. Mulcahey
54425ae0f3 Use the correct property for full init event (#43745) 2020-11-29 11:59:23 -05:00
Andre Lengwenus
493eaef616 Bump pypck to v0.7.6 (#43710)
* Bump pypck to v0.7.6

* Await commands to ensure that they are received.
2020-11-29 16:30:17 +01:00
HomeAssistant Azure
5462d6e798 [ci skip] Translation update 2020-11-29 00:04:09 +00:00
springstan
d5efb3e3de Remove temporary variable by only retrieving needed value (#42522) 2020-11-29 00:44:25 +01:00
Franck Nijhof
65ab8cbc71 Add support for multiple tags and devices in tag trigger (#43098)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2020-11-29 00:06:32 +01:00
Paulus Schoutsen
e406a47293 Allow configuring the delay in the motion light blueprint (#43737) 2020-11-28 23:56:15 +01:00
J. Nick Koston
1162d9a752 Create tables with a charset that can hold all expected data under mysql (#43732)
By default these tables are created with utf8 which can only hold 3 bytes. This
meant that all emjoi would trigger a MySQLdb._exceptions.OperationalError because
they are 4 bytes.

This will only fix the issue for users who recreate their tables.
2020-11-28 23:54:05 +01:00
Paulus Schoutsen
dd513147a5 Add a service target (#43725) 2020-11-28 23:33:32 +01:00
David F. Mulcahey
a2e1efca33 Add additional events to enhance the ZHA device pairing experience (#43729)
* support better feedback in the device pairing UI

* update pairing events
2020-11-28 17:29:56 -05:00
Ron Klinkien
2c6a72b3ad Add Response switch platform to FireServiceRota integration (#43700)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-11-28 21:42:51 +01:00
Paulus Schoutsen
898a07fa75 Make threshold binary sensor faster (#43695) 2020-11-28 10:19:10 -10:00
Erik Montnemery
5d7d2dee2a Bump hatasmota to 0.1.2 (#43719) 2020-11-28 10:18:06 -10:00
Maciej Bieniek
a4ae2d210e Bump Brother library to version 0.1.20 (#43628) 2020-11-28 10:17:16 -10:00
moinmoin-sh
337b8d279e Ensure MariaDB/MySQL can be purged and handle states being deleted out from under the recorder (#43610)
* MariaDB doesn't purge #42402

This addresses  home-assistant#42402
Relationships within table "states" and between tables "states" and "events " home-assistant#40467 prevent the purge from working correctly. The database increases w/o any purge.
This proposal sets related indices to NULL and permits deleting of rows.
Further explanations can be found here home-assistant#42402
This proposal also allows to purge the tables "events" and "states" in any order.

* Update models.py

Corrected for Black style requirements

* Update homeassistant/components/recorder/models.py

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

* Add the options to foreign key constraints

* purge old states when database gets deleted out from under us

* pylint

Co-authored-by: J. Nick Koston <nick@koston.org>
2020-11-28 08:42:29 -10:00
Paulus Schoutsen
cb96bd9d0b Blueprint config to override blueprint (#43724) 2020-11-28 13:19:58 +01:00
Robert Svensson
6fa3e287da Add support to control cooling in deCONZ climate platform (#43720)
* Add fan support

* Add HVAC cool support

* Fix Martins comment from #43607

* Add preset support

* Improve climate test coverage

* Remove fan support

* Remove preset support

* Remove last preset piece
2020-11-28 13:11:13 +01:00
cgtobi
65bc128c86 Bump pyatmo to v4.2.1 (#43713) 2020-11-28 09:29:16 +01:00
HomeAssistant Azure
d5c2ef5a94 [ci skip] Translation update 2020-11-28 00:03:36 +00:00
Alexei Chetroi
c42b650031 Bump up ZHA dependencies (#43707)
bellows==0.21.0
zigpy==0.28.1
zha-quirks==0.0.47
2020-11-27 16:39:44 -05:00
jjlawren
7c0e148b59 Proxy Plex media browser images (#43111)
Co-authored-by: rajlaud <50647620+rajlaud@users.noreply.github.com>
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-11-27 22:14:19 +01:00
javicalle
e10762af9b Bump RFLink to v0.0.55 (#43704) 2020-11-27 21:11:57 +01:00
Aaron Bach
fd6a2b078b Fix exception upon lock initialization on V2 SimpliSafe systems (#43705) 2020-11-27 21:09:37 +01:00
Franck Nijhof
0d5dc4aeee Add system health check to Spotify (#43249) 2020-11-27 19:25:17 +01:00
Matthias Alphart
29091f4537 Update xknx to 0.15.6 (#43645) 2020-11-27 18:06:15 +01:00
Paulus Schoutsen
5b6d9abe2a Await callbacks to keep cleaner stacktraces (#43693) 2020-11-27 17:48:43 +01:00
Paulus Schoutsen
20ed40d7ad Use utcnow from date util for http.ban (#43686) 2020-11-27 17:04:52 +01:00
Paulus Schoutsen
d34753473d Use run_job for service helper (#43696) 2020-11-27 16:12:39 +01:00
shred86
bdb04dcb9d Add Abode MFA support (#43572) 2020-11-27 13:39:26 +01:00
Paulus Schoutsen
ea55051161 Stub finding custom integrations in tests (#43692) 2020-11-27 12:53:16 +01:00
Paulus Schoutsen
897ff31ffe Maybe fix flaky test (#43690) 2020-11-27 12:31:42 +01:00
David Bonnes
bb146680ce Eliminate evohome unhandled exceptions when client API call fails (#43681) 2020-11-27 12:05:51 +01:00
Paulus Schoutsen
3a17e22cfa Convert API integration to async setup (#43685) 2020-11-27 09:50:19 +01:00
Shay Levy
2498340e1f Fix Shelly uptime sensor (#43651)
Fix sensor to include time zone
Report new value only if delta > 5 seconds
Modify REST sensors class to use callable attributes
2020-11-27 09:40:06 +01:00
David Bonnes
5e3f4954f7 Code quality improvement for evohome (#43678) 2020-11-27 09:28:05 +01:00
David Bonnes
c2cc605343 Bugfix schedule assigned to wrong day of week (#43676) 2020-11-27 09:20:20 +01:00
Philip Allgaier
bf4e6a289a Add option to deactivate a user (#43463) 2020-11-27 09:13:16 +01:00
Erik Montnemery
a5e5c5c7e6 Exclude disabled entities from async_entries_for_device (#43665) 2020-11-27 09:03:44 +01:00
Paulus Schoutsen
f9fa24950b OAuth2 to use current request header (#43668) 2020-11-27 08:55:34 +01:00
Michael Thingnes
69c2818c56 Met.no: Fix for zero temp entries (#43684)
Addresses issue #43587
2020-11-27 08:07:49 +01:00
Bram Kragten
3bd0c7188c Updated frontend to 20201126.0 (#43682) 2020-11-27 01:16:16 +01:00
HomeAssistant Azure
301a3e5481 [ci skip] Translation update 2020-11-27 00:03:57 +00:00
Erik Montnemery
974e099e2a Small cleanup of Tasmota (#43642) 2020-11-26 22:34:26 +01:00
Franck Nijhof
deb45f7c90 Upgrade pre-commit to 2.9.2 (#43655) 2020-11-26 22:34:17 +01:00
Erik Montnemery
8ff10ad3b8 Fix MQTT threading bug (#43667) 2020-11-26 22:33:58 +01:00
Paulus Schoutsen
e1de36fda8 Fix check config (#43663) 2020-11-26 22:25:21 +01:00
Paulus Schoutsen
edf70e9f06 Make input_datetime better handle timezones (#43396)
* Make input_datetime better handle timezones

* Improve test coverage

* Apply suggestions from code review

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

* Revert change to time format

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-11-26 20:20:10 +01:00
Jasper Slits
f3033ec01d Add Roomba support for automatic emptying of bin (#43594) 2020-11-26 17:48:54 +01:00
Paulus Schoutsen
a15abf8802 Merge pull request #43664 from home-assistant/rc 2020-11-26 17:42:21 +01:00
Paulus Schoutsen
0ede3da686 Bumped version to 0.118.4 2020-11-26 16:02:28 +00:00
Pascal Vizeli
ecaa9d925b Fix deadlock if an integration from stage_1 fails (#43657) 2020-11-26 16:02:24 +00:00
Paulus Schoutsen
793fdb5317 Tweak template digit detection (#43621) 2020-11-26 16:02:23 +00:00
Paulus Schoutsen
c4108d4ef1 Disable parsing scientific/complex number notation in template type (#43170) 2020-11-26 16:02:22 +00:00
Sören
373ad44760 Bump avea to 1.5.1 (#43618) 2020-11-26 15:58:42 +00:00
epenet
44c8fce33b Fix duplicate check on onewire config flow (#43590) 2020-11-26 15:58:41 +00:00
Sébastien RAMAGE
94f7f70f2d Update zigpy-zigate to 0.7.3 (#43427)
* Update zigpy-zigate to 0.7.3
Fix probing pizigate

* Update zigpy-zigate to 0.7.3
Fix probing pizigate
2020-11-26 15:58:40 +00:00
Erik Montnemery
18135bb1a1 Make MQTT climate return PRESET_NONE when no preset is set (#43257) 2020-11-26 15:58:40 +00:00
Erik Montnemery
dc8364fd3a Support disabling devices (#43293) 2020-11-26 16:45:02 +01:00
Paulus Schoutsen
39efbcb815 Allow importing gist (#43659) 2020-11-26 16:00:50 +01:00
Bram Kragten
4aa181416c Add area selector, remove date selector (#43658)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2020-11-26 15:44:25 +01:00
Ron Klinkien
316a2750df Add Duty binary_sensor platform to FireServiceRota integration (#43638) 2020-11-26 15:42:55 +01:00
Paulus Schoutsen
eb3e5cf446 Suggest folder when importing blueprint and store source_url (#43650) 2020-11-26 11:46:59 +01:00
Pascal Vizeli
d4f9c1979f Fix deadlock if an integration from stage_1 fails (#43657) 2020-11-26 11:38:30 +01:00
HomeAssistant Azure
ed16c5078f [ci skip] Translation update 2020-11-26 00:03:15 +00:00
Olivér Falvai
c439d25ac3 Add location to summary sensor attributes (#43641) 2020-11-25 13:41:56 -07:00
Bram Kragten
8533d9cae0 Add default to inputs (#43636) 2020-11-25 20:05:43 +01:00
Bram Kragten
3767af14f3 Add more selectors (#43639) 2020-11-25 20:03:56 +01:00
Erik Montnemery
6706ea36de Add Tasmota cover (#43368)
* Add Tasmota cover

* Update tests

* Bump hatasmota to 0.1.0
2020-11-25 18:52:09 +01:00
Erik Montnemery
314497d013 Add Tasmota fan (#43353)
* Add Tasmota fan

* Bump hatasmota to 0.1.0

* Apply suggestions from code review
2020-11-25 17:40:32 +01:00
Joakim Plate
ac551179ae Fix flapping derivative tests where time would move between state changes (#43579) 2020-11-25 17:08:00 +01:00
Ron Klinkien
ea52ffc2d9 Add FireServiceRota/BrandweerRooster integration (#38206)
Co-authored-by: Robert Svensson <Kane610@users.noreply.github.com>
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-11-25 16:38:49 +01:00
Paulus Schoutsen
1de2554f70 Tweak template digit detection (#43621) 2020-11-25 16:10:33 +01:00
Simone Chemelli
b7f36106df Add Shelly UNI ADC sensor (#43490) 2020-11-25 15:37:07 +01:00
Shay Levy
ebaf143cf6 Support for Shelly Input Events (#43479) 2020-11-25 15:29:01 +01:00
Paulus Schoutsen
b3be708db6 Add default config if not there (#43321)
Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2020-11-25 15:10:04 +01:00
Paulus Schoutsen
0cf3736162 Bump ha-ffmpeg to 3.0.2 (#43597) 2020-11-25 08:45:15 +01:00
Sören
c421555db3 Bump avea to 1.5.1 (#43618) 2020-11-25 08:25:09 +01:00
Teemu R
183154c017 Bump pyhs100 dependency to fix hs220 discoverability issues (#43619)
Fixes #39395
2020-11-25 08:21:48 +01:00
HomeAssistant Azure
cbfd8a5a14 [ci skip] Translation update 2020-11-25 00:03:05 +00:00
Allen Porter
745823dd55 Add nest SDM API camera/doorbell events (#42700)
* Add nest SDM API camera/doorbell events

Events are fired  when pubsub messages are received.   When messages
are received lookup a home assistant device id from the nest
device id, so that the home assistant device id can be included
in the event payload.

* Update homeassistant/components/nest/__init__.py

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

* Update nest code style based on PR feedback

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-11-24 14:34:43 -08:00
Matthias Alphart
7f9a7791bf update xknx to 0.15.4 (#43536) 2020-11-24 22:58:17 +01:00
epenet
48d9f1a61b Fix duplicate check on onewire config flow (#43590) 2020-11-24 21:44:31 +01:00
Robert Svensson
acb94b0b59 Add tilt support to deCONZ covers (#43607) 2020-11-24 21:42:11 +01:00
Paulus Schoutsen
dae286aed5 Upgrade foobot_async to 1.0.0 (#43611) 2020-11-24 21:25:23 +01:00
koolsb
aed6980b14 Fix Meraki API Auth (#43578) 2020-11-24 19:56:39 +01:00
Erik Montnemery
d493f18e50 Bump hatasmota to 0.1.1 (#43608) 2020-11-24 19:55:15 +01:00
springstan
5a892e8fca Add unknown_authorize_url_generation to base strings for config flows (#42484) 2020-11-24 12:00:16 -05:00
Allen Porter
3dd14e05e3 Update nest library and switch events to async (#43583) 2020-11-24 08:53:50 -07:00
Robert Svensson
7214d6517a Fix conversion of cover position between HASS and deCONZ (#43602) 2020-11-24 14:47:56 +01:00
Paulus Schoutsen
755f15abe3 Fix warning generated by surpetcare test (#43598) 2020-11-24 12:40:25 +01:00
JJdeVries
8f18af9e80 Decrease asuswrt connects per sensor (#43383)
* asuswrt: Decrease number of connects per sensor

* Changed implementation to DataUpdateCoordinator

* review changes

* update aioasuswrt dependency

* Apply suggestions from code review

Add explicit return None and fix type hint

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

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-11-24 04:50:57 +01:00
HomeAssistant Azure
fcd8684d40 [ci skip] Translation update 2020-11-24 00:04:19 +00:00
Franck Nijhof
c157fbef1e Bump version to 0.119.0dev0 (#43485) 2020-11-23 22:06:59 +01:00
Maikel Punie
059f1a35f2 Use references in config flow for solaredge (#43511) 2020-11-23 15:34:46 -05:00
starkillerOG
0c30abda61 Add Motion Blinds integration (#42989)
Co-authored-by: J. Nick Koston <nick@koston.org>
2020-11-23 10:33:14 -10:00
Denix
66efe92b3f Cannot use vcgencmd in HassOS (#42710) 2020-11-23 14:56:50 -05:00
Franck Nijhof
612e74703b Add webhook to default config (#43521) 2020-11-23 14:49:13 -05:00
Greg
65796eee2d Add codeowner to Enphase Envoy manifest (#43402) 2020-11-23 19:58:30 +01:00
Thibaut
b272e16b44 Fix RTS cover with set position available (#43555) 2020-11-23 08:13:52 -10:00
Oliver
0c64873c10 Update denonavr to 0.9.7 (#43546) 2020-11-23 06:54:06 -10:00
Paulus Schoutsen
d84d819b62 Merge pull request #43561 from home-assistant/rc 2020-11-23 15:37:34 +01:00
Franck Nijhof
9368ab5480 Upgrade sentry-sdk to 0.19.4 (#43504) 2020-11-23 08:09:17 -05:00
Robin Wohlers-Reichel
2fcd1a250b update solax to 0.2.5 (#43564) 2020-11-23 08:05:22 -05:00
Franck Nijhof
bb17d4552e Upgrade Docker base image to 2020.11.2 (#43560) 2020-11-23 12:10:48 +00:00
Franck Nijhof
a3d9a94339 Upgrade Docker base image to 2020.11.2 (#43560) 2020-11-23 13:10:30 +01:00
Robert Svensson
55cbd5aa0d Track deCONZ lib changes to light based devices (#43366)
* Improve control of covers

* Log backtrace if available

* Do not create entity for controller tool
Binary sensor should use state rather than is_tripped
Add some more tests to lights and sensors

* Bump dependency to v74

* Fix Balloobs comments
2020-11-23 11:37:11 +01:00
Daniel Hjelseth Høyer
3b105c415b Mill Heater: Add support for Energy consumption (#43523) 2020-11-23 10:26:50 +01:00
Anders Melchiorsen
47ff04d9ad Optimize reading of Sonos source mode (#43541) 2020-11-23 10:20:06 +01:00
Paulus Schoutsen
f823fac45c Bumped version to 0.118.3 2020-11-23 09:08:09 +00:00
Franck Nijhof
3955d64b6a Upgrade Docker base image to 2020.11.1 (#43538) 2020-11-23 09:05:33 +00:00
ahertz
a08f809c46 Bump sleepyq to 0.8.1 (#43505) 2020-11-23 09:05:32 +00:00
On Freund
e94111f725 Gracefully handle no uuid in kodi discovery (#43494) 2020-11-23 09:05:31 +00:00
Franck Nijhof
99399cfd29 Ensure Plex content_id in play_on_sonos service is a string (#43483) 2020-11-23 09:05:30 +00:00
Aaron Bach
882b1eb941 Fix unhandled exception when IQVIA API fails to return data (#43359) 2020-11-23 09:05:29 +00:00
Aaron Bach
92cd1373de Fix bug related to possibly missing task ID in Notion API data (#43330)
* Fix bug related to possibly missing task ID in Notion API data

* Calculate unique ID once

* Code review

* Simplify

* Code review
2020-11-23 09:05:28 +00:00
Kevin Fronczak
8ab15f6867 Update Blinkpy to fix non-updating blink mini cameras (#43549) 2020-11-23 09:42:28 +01:00
dependabot[bot]
b144a980da Bump actions/stale from v3.0.13 to v3.0.14 (#43551)
Bumps [actions/stale](https://github.com/actions/stale) from v3.0.13 to v3.0.14.
- [Release notes](https://github.com/actions/stale/releases)
- [Commits](https://github.com/actions/stale/compare/v3.0.13...87c2b794b9b47a9bec68ae03c01aeb572ffebdb1)

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-11-23 09:36:52 +01:00
Robert Svensson
ffe0c1cd58 Add device id to deconz_event (#43552) 2020-11-23 09:22:44 +01:00
Aaron Bach
a4f7b7d784 Fix bug related to possibly missing task ID in Notion API data (#43330)
* Fix bug related to possibly missing task ID in Notion API data

* Calculate unique ID once

* Code review

* Simplify

* Code review
2020-11-22 20:15:38 -07:00
HomeAssistant Azure
492ef81069 [ci skip] Translation update 2020-11-23 00:04:13 +00:00
Maciej Bieniek
885e393df9 Make Brother uptime sensor disabled by default (#43478) 2020-11-22 11:42:16 -10:00
Franck Nijhof
20db980695 Upgrade Docker base image to 2020.11.1 (#43538) 2020-11-22 22:39:07 +01:00
Anders Melchiorsen
9ffdec63cc Optimize Sonos current playing state (#43517) 2020-11-22 22:16:03 +01:00
Daniel Rheinbay
498654a1e0 Add vendor effects to Yeelight integration (#42711)
Add effects shipped by Yeelight in their apps, as these effects are quite popular and have been missing from Home Assistant.
2020-11-22 21:41:09 +01:00
Aaron Bach
0b5851e403 Clean up RainMachine config entry (#43508) 2020-11-22 14:22:47 +01:00
Lasath Fernando
86cf184903 Add seek support to plex media players (#43420)
Turns out plexapi lib already supports this, so we just need to
pass through the command.
2020-11-22 14:05:15 +01:00
Anders Melchiorsen
62da64867c Optimize Sonos favorites updates (#43516) 2020-11-22 14:04:46 +01:00
Greg
a633341dc9 Bump envoy version to 0.17.0 (#43498) 2020-11-22 14:02:27 +01:00
Aaron Bach
3ffd97acd4 Fix unhandled exception when IQVIA API fails to return data (#43359) 2020-11-22 13:59:23 +01:00
Aaron Bach
be39104a36 Re-organize OpenUV constants (#43453)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2020-11-22 12:50:22 +01:00
Anders Melchiorsen
7319c4692d Optimize Sonos queue position (#43514) 2020-11-22 12:25:13 +01:00
ahertz
d7e696b90a Bump sleepyq to 0.8.1 (#43505) 2020-11-22 12:21:27 +01:00
Franck Nijhof
a0a44f12a7 Clean up Solar-log review comments (#43503) 2020-11-22 05:40:31 +01:00
HomeAssistant Azure
acca35cdc4 [ci skip] Translation update 2020-11-22 00:04:54 +00:00
On Freund
b2c9bd2ca6 Gracefully handle no uuid in kodi discovery (#43494) 2020-11-21 20:47:57 +01:00
Crash
76eb5aeeb6 Add updated British Voices (#43496)
Say hello to Charlotte and James.
https://cloud.ibm.com/apidocs/text-to-speech?code=python#getvoice
2020-11-21 20:24:04 +01:00
Ernst Klamer
977ed942ba Deprecate YAML config for Solar-log (#43484)
Per ADR-0010, this PR deprecates YAML configuration for Solar-log. Users who already use the Solar-log integration do not need to take action, as their configuration has already been imported into the UI.
2020-11-21 17:50:46 +01:00
Franck Nijhof
a092b4c204 Ensure Plex content_id in play_on_sonos service is a string (#43483) 2020-11-21 16:32:55 +01:00
Xiaonan Shen
ca053d4499 Bump rpi-bad-power to 0.1.0 (#43476) 2020-11-21 13:21:51 +01:00
Jakub Kolář
c5803614e1 Upgrade discord.py to 1.5.1 (#43473)
* Upgrade discord.py to 1.5.1

discord.py 1.5.1 introduces support for Intents that are required by future bots and integrations. While this is not yet required by Home Assistant Discord integration it is needed in the future, because old API which discord.py 1.4.1 uses is now deprecated. Also it would solve dependency collision with my custom component discord_game.

* Upgrade discord.py to 1.5.1
2020-11-21 13:07:17 +01:00
Indu Prakash
7213d5f31b Support for multiple states in history_stats (#43416)
Co-authored-by: Indu Prakash <6459774+InduPrakash@users.noreply.github.com>
2020-11-21 12:44:37 +01:00
FlavorFx
f22f568169 Fix Luftdaten.info data retrieval (#43471)
Fix Luftdaten.info data retrieval
2020-11-21 11:52:34 +01:00
Franck Nijhof
db0dee1ab2 Add repeat mode support to Spotify (#43247) 2020-11-21 11:38:40 +01:00
Franck Nijhof
7c6e80952b Upgrade debugpy to 1.2.0 (#43328) 2020-11-21 11:37:41 +01:00
Aidan Timson
d7bf783da6 Add reauth support for OVO Energy (#38882) 2020-11-21 11:21:23 +01:00
Adam Król
cccd4d734c Fix ConnectTimeout during wolflink start (#43418) 2020-11-21 11:10:11 +01:00
Alan Murray
45618f8054 Bump acmeda dependency aiopulse to 0.4.2 (#43217) 2020-11-21 11:00:08 +01:00
Julien "_FrnchFrgg_" Rivaud
b2bd68a4a0 Avoid arbitrarily reducing ZHA climate temperature information (#43442)
The Zigbee specification mandates that temperatures are given in
1/100ths of degrees, and several devices are able to provide temperature
readings or accept target temperature settings with precision equal or
better than 0.1°C. Yet the ZHA climate entity implementation advertises
an hard-coded precision of 0.5°C.

Avoid arbitrary coarsening by advertising 0.1°C precision, as passing
through the full 0.01°C precision is probably not that useful.
2020-11-21 00:06:50 -05:00
Tom
db60a71603 Change Plugwise integration to plugwise module (#43036)
* Switch to plugwise module and forthcoming changes

* Adjusted according to review

* Fix leaving out domain for tests

* Add tests for exceptions

* Add more tests for exceptions

* Version bump

* Wording on test

* Catch-up with dev
2020-11-20 20:43:20 -06:00
Alexei Chetroi
e32669a2d9 Remove zigpy monkey patching (#43456)
* Use event handler for incoming messages from zigpy

* Bump up zha dependency
2020-11-20 20:02:52 -05:00
HomeAssistant Azure
43955d3aa8 [ci skip] Translation update 2020-11-21 00:08:32 +00:00
Ville Skyttä
cab186d28f Add ONVIF PTZ Stop support (#39734) 2020-11-20 22:59:11 +01:00
Aaron Bach
b4381c5005 Move Notion logger to a package logger (#43450) 2020-11-20 22:47:48 +01:00
Martin Hjelmare
22f63be30e Remove salt integration for webscraping (#43452) 2020-11-20 21:48:23 +01:00
Paulus Schoutsen
bed28ac2e7 Merge pull request #43440 from home-assistant/rc 2020-11-20 21:41:40 +01:00
Martin Hjelmare
a745594712 Move legacy device tracker setup to legacy module (#43447) 2020-11-20 21:28:00 +01:00
Aaron Bach
8779592952 Move Ambient PWS logger to a package logger (#43448) 2020-11-20 21:20:56 +01:00
Aaron Bach
a880ef6a4e Move Flo logger to a package logger (#43449) 2020-11-20 21:14:44 +01:00
springstan
dd4f41c1db Use weather attribute conditions constants (#39945) 2020-11-20 21:04:03 +01:00
Philip Allgaier
700336258b Fix empty local_ip config flow (#43333) 2020-11-20 12:40:34 -07:00
Aleix Murtra
0f823b4c0e Upgrade Beewi Smartclim component to 0.0.10 (#43441) 2020-11-20 19:16:18 +01:00
Paulus Schoutsen
f2e78d6ea0 Bumped version to 0.118.2 2020-11-20 16:54:21 +00:00
Paulus Schoutsen
9822cacbba Fix time trigger based on entities ignoring entities if initially in the past (#43431) 2020-11-20 16:54:16 +00:00
Brett
43c53f7043 Increase Advantage Air retry limit for older systems (#43417) 2020-11-20 16:54:16 +00:00
Rob Bierbooms
7708da6713 Update dsmr_parser to 0.23 (#43403) 2020-11-20 16:47:47 +01:00
Paulus Schoutsen
dc5f7aedd7 Verify that we register blueprints on automation setup (#43434) 2020-11-20 15:57:57 +01:00
Paulus Schoutsen
bbb82ded68 Fix time trigger based on entities ignoring entities if initially in the past (#43431) 2020-11-20 15:43:28 +01:00
Philip Allgaier
82b7cc8ac7 Provide HA username via auth WS (#43283) 2020-11-20 15:42:19 +01:00
Paulus Schoutsen
43ba053030 Add support for checking minimum HA version (#43350) 2020-11-20 15:24:42 +01:00
Joakim Plate
e98f36e357 Support openRelativePercent for google assistant covers (#43336) 2020-11-20 15:20:09 +01:00
100ferhas
9b3c97345a Update Alexa supported languages (#43139) 2020-11-20 08:47:17 -05:00
Brig Lamoreaux
c42b1f65b3 Add Srp energy component (#41091) 2020-11-20 08:18:02 -05:00
Sébastien RAMAGE
2ed27fc15d Update zigpy-zigate to 0.7.3 (#43427)
* Update zigpy-zigate to 0.7.3
Fix probing pizigate

* Update zigpy-zigate to 0.7.3
Fix probing pizigate
2020-11-20 08:05:51 -05:00
Brett
6dc84654b0 Increase Advantage Air retry limit for older systems (#43417) 2020-11-20 09:23:38 +01:00
Andrew Hayworth
88367dc466 Update python-awair to 0.2.1 (#43415)
This version of python awair has support for the local api - which is
cool! But more importantly, this version also is less strict about the
versions of aiohttp it depends on.

This version prepares for the upcoming pip resolver changes outlined here:
https://pyfound.blogspot.com/2020/03/new-pip-resolver-to-roll-out-this-year.html#what-will-change

cc https://github.com/ahayworth/python_awair/issues/18
2020-11-20 09:07:59 +01:00
ehendrix23
3a42277130 Update pymyq to 2.0.10 (#43413)
* Bump version of pymyq to 2.0.9

* Bump version of pymyq to 2.0.10
2020-11-19 16:26:44 -10:00
HomeAssistant Azure
c255e74463 [ci skip] Translation update 2020-11-20 00:06:26 +00:00
Paulus Schoutsen
390668e192 Check config to use config platforms (#43407) 2020-11-19 22:05:36 +01:00
Anton Palgunov
d3f952f831 Add new air-humidifier device CA4 with miot protocol (#39398)
* Add new air-humidifier device CA4 with miot protocol

* Update homeassistant/components/xiaomi_miio/fan.py

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

* xiomi_miio fan Standard speed for fan, removed static attributes

* xiomi_miio fan Standard speed for fan, removed static attributes

* xiomi_miio fan unnessary elif

* added mode_mapping

* Changed mode_mapping to constant also move reverse to constant

* Removerd water_level

* Return to exclude breaking changes

Co-authored-by: Teemu R. <tpr@iki.fi>
2020-11-19 21:56:53 +01:00
Paulus Schoutsen
e9d895d283 Merge pull request #43400 from home-assistant/rc 2020-11-19 20:58:23 +01:00
David
f693c8a9fd Add twinkly integration (#42103)
* Add twinkly integration

* Add tests for the Twinkly integration

* Update Twinkly client package to fix typo

* Remove support of configuration.yaml from Twinkly integration

* Add ability to unload Twinkly component from the UI

* Remove dead code from Twinkly

* Fix invalid error namespace in Twinkly for python 3.7

* Fix tests failing on CI

* Workaround code analysis issue

* Move twinkly client init out of entry setup so it can be re-used between entries

* Test the twinkly component initialization

* React to PR review and add few more tests
2020-11-19 12:22:12 -05:00
Paulus Schoutsen
2741362b23 Bumped version to 0.118.1 2020-11-19 17:13:54 +00:00
Joakim Sørensen
044edd3d9e Add back system_health_info to the base of lovelace (#43382) 2020-11-19 17:13:45 +00:00
Raman Gupta
0bfcfb859a Bump pyvizio to 0.1.57 (#43374) 2020-11-19 17:13:44 +00:00
J. Nick Koston
e15f3b7b8e Fix homekit bridges when no name was provided (#43364) 2020-11-19 17:13:43 +00:00
Erik Montnemery
18fdf3a429 Bump hatasmota to 0.0.32 (#43360) 2020-11-19 17:13:42 +00:00
Adam Król
59d6eaf856 Bump wolf_smartset to 0.1.8 and handle server fetch error (#43351) 2020-11-19 17:13:42 +00:00
Bram Kragten
5dcbb634f6 Fix selector to return the selector type (#43395) 2020-11-19 16:48:43 +01:00
Adam Król
edd25ae338 Bump wolf_smartset to 0.1.8 and handle server fetch error (#43351) 2020-11-19 15:24:28 +01:00
Aidan Timson
17e1a2a78a Update ovoenergy to v1.1.11 (#43391) 2020-11-19 15:23:20 +01:00
Allen Porter
2d14f07396 Improve nest SDM integration error handling (#43271) 2020-11-19 12:26:49 +01:00
J. Nick Koston
a3061ebd8d Fix homekit bridges when no name was provided (#43364) 2020-11-19 12:10:23 +01:00
Erik Montnemery
d61998e184 Raise in base implementation of FanEntity.oscillate (#43354) 2020-11-19 12:05:52 +01:00
Anders Melchiorsen
390b45b149 Reword numeric_state trigger (#43367) 2020-11-19 12:00:01 +01:00
Joakim Sørensen
3ca8f0c475 Add back system_health_info to the base of lovelace (#43382) 2020-11-19 11:55:21 +01:00
Shay Levy
982624b3ac Support for Shelly Binary Input Sensors (#43313)
Co-authored-by: Maciej Bieniek <bieniu@users.noreply.github.com>
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2020-11-19 11:42:24 +01:00
Simone Chemelli
3dbfd2cb70 Add shelly installed firmware info (#43221) 2020-11-19 10:47:23 +01:00
Erik Montnemery
0bf9734af1 Bump hatasmota to 0.0.32 (#43360) 2020-11-19 09:07:35 +01:00
Raman Gupta
4205367aa7 Bump pyvizio to 0.1.57 (#43374) 2020-11-19 08:46:20 +01:00
Oliver
f555e20fac Update denonavr to 0.9.6 (#43370) 2020-11-18 19:46:30 -10:00
Alexei Chetroi
54c4e9335f Refactor ZHA sensor initialization (#43339)
* Refactor ZHA sensors to use cached values after restart

* Get attr from cluster, not channel

* Run cached state through formatter method

* Use cached values for div/multiplier for SmartEnergy channel

* Restore batter voltage from cache

* Refactor sensor to use cached values only

* Update tests

* Add battery sensor test
2020-11-18 21:34:12 -05:00
Alexei Chetroi
70a3489845 Update Zha dependencies (#43373) 2020-11-18 20:31:22 -05:00
Alexei Chetroi
f1693e2433 Refactor ZHA tests to allow attribute reads during device initialization (#43357)
* Allow plugging zigpy attribute reads in tests

* Migrate ZHA tests to use new patched attribute reads

* Remove logging in tests
2020-11-18 19:12:38 -05:00
HomeAssistant Azure
a1306059af [ci skip] Translation update 2020-11-19 00:11:12 +00:00
Chris
b25e8be3f2 Tweak OZW Light discovery (#43325) 2020-11-18 15:18:59 +01:00
Bram Kragten
de5e49b37c Updated frontend to 20201111.2 (#43334) 2020-11-18 08:24:25 +01:00
HomeAssistant Azure
262fadd9bc [ci skip] Translation update 2020-11-18 00:09:55 +00:00
Alex-Klein
682417d2c7 Add TV channel name to smartthings integration (#41729)
* Adds TV channel name to smartthings integration

* fix on attribute to not override key
2020-11-17 17:20:59 -06:00
Joakim Plate
1567fadda3 Improve Google Assistant cover assumed state handling (#43255)
* Set command only cover
* No need for override position now that we support command only
* Return empty state response for assumed state

Fixes #43178
Reverts: #23498

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-11-17 21:55:46 +01:00
mvn23
212fb572e1 Fix kodi media_player unavailable at start (#41714) 2020-11-17 07:27:58 -10:00
Maciej Wilczyński
6a5546afc1 Add an option to template delay_on/off in template binary sensor (#43259) 2020-11-17 07:24:04 -10:00
Erik Montnemery
14aba1f9de Bump hatasmota to 0.0.31 (#43319) 2020-11-17 18:02:41 +01:00
Klaas Schoute
b358103b58 Update cloud integration to 0.38.0 (#43314)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2020-11-17 16:31:59 +01:00
Martin Hjelmare
e73d2c65cd Add progress translation key to hassfest (#43311) 2020-11-17 11:44:06 +01:00
dependabot[bot]
aa6376a691 Bump codecov/codecov-action from v1.0.14 to v1.0.15 (#43304)
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from v1.0.14 to v1.0.15.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Commits](https://github.com/codecov/codecov-action/compare/v1.0.14...239febf655bba88b16ff5dea1d3135ea8663a1f9)

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-11-17 08:55:56 +01:00
Thomas
4e6035d057 Improvement to allow parsing of station ID in vasttrafik integration. Addresses #34851 (#43136) 2020-11-17 07:34:20 +01:00
Raman Gupta
95504b7408 Abort vizio discovery flow without unique ID (#43303)
* abort vizio discovery flow if unique ID cant be found because it means we cant connect

* add tests

* fix abort call
2020-11-17 07:11:42 +01:00
Chris Talkington
c861a1c850 Update directv to 0.4.0 (#43302)
* update directv to 0.4.0

* Update requirements_all.txt

* Update requirements_test_all.txt
2020-11-17 06:50:04 +01:00
Tom
ed36cb7beb Add notification binary_sensor to Plugwise integration (#41473)
* Notifications extract from beta

* Remove info loggings

* Delete notification service

* Only notifications for right smiles

* Revert to correct logic

* Catchup with dev (mostly with ourselves from #41201)

* Remove debug logging

* Naming improvement

* Improve test quality as per codecov patch requirement

* Revert to original condition (and appropriately test)

* Fix delete_notification_service, bring tests fixtures up to 1.6.0 including notifications

* Review comment (@bouwew)

* Correct test value

* Re-apply #40108 fix after rebase sidestep

* Update tests/components/plugwise/test_init.py

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

* Add needed state to imports

* Remove separate gw unload code

* Change entry_fail approach

* Revert persistent notification part

* Revert persistent notification part - lint

* Update homeassistant/components/plugwise/binary_sensor.py

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

* Update homeassistant/components/plugwise/binary_sensor.py

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

* Rework reuse of sensor in binary_sensor

* Explicit state attribute keys

* Remove tempfile

* List of notifications per severity

* Update homeassistant/components/plugwise/binary_sensor.py

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

Co-authored-by: Chris Talkington <chris@talkingtontech.com>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-11-16 19:54:44 -06:00
HomeAssistant Azure
c8113e6b11 [ci skip] Translation update 2020-11-17 00:06:49 +00:00
rikroe
096d73eb4f Bump bimmer_connected to 0.7.13 (#43294)
Co-authored-by: rikroe <rikroe@users.noreply.github.com>
2020-11-17 00:31:54 +01:00
Aaron Bach
699402ca18 Bump aioguardian to 1.0.4 (#43299) 2020-11-16 16:31:35 -07:00
Jc2k
3e1f2a5103 Refactor how entities are created for homekit_controller services (#43242) 2020-11-16 23:11:39 +00:00
Bram Kragten
d11d1343a8 Updated frontend to 20201111.1 (#43298) 2020-11-16 22:56:45 +01:00
Paulus Schoutsen
c04b600ddd Update pytradfri to 7.0.4 (#43297) 2020-11-16 22:55:53 +01:00
uvjustin
414f167508 Remove pts adjustments in stream (#42399)
* Remove unnecessary pts adjustments

* Add comments

* Use -inf for initial last_dts to be more clear

* Use video first_pts as common adjuster in recorder

* Remove seek(0) before av.open
2020-11-16 15:13:33 -05:00
reaper7
159ebe1dac Fix Enigma2 available entity property (#43292)
Available property should return self.e2_box.is_offlin negation

fixes previous PR: https://github.com/home-assistant/core/pull/42407
2020-11-16 20:25:07 +01:00
Erik Montnemery
52e1282d8c Make MQTT climate return PRESET_NONE when no preset is set (#43257) 2020-11-16 20:10:55 +01:00
michaeldavie
4ffba281db Bump env_canada to 0.2.4, fix config validation (#43251) 2020-11-16 20:09:18 +01:00
Sylvia van Os
a164989e41 Bump PyEssent to 0.14 (#43282) 2020-11-16 18:53:42 +01:00
Paulus Schoutsen
f19f743bed Update pytradfri to 7.0.3 (#43289) 2020-11-16 18:26:22 +01:00
Paulus Schoutsen
479de9433c Convert core tests to async (#43287) 2020-11-16 18:25:55 +01:00
Paulus Schoutsen
819dd27925 Automatically clean up executor as part of closing loop (#43284) 2020-11-16 15:43:48 +01:00
Greg Dowling
5d83f0a911 Bump Pywemo to 0.5.3 (#43263) 2020-11-16 13:17:58 +01:00
Greg Dowling
31f3ce81ee Bump pyvera to 0.3.11 (#43262) 2020-11-16 13:16:49 +01:00
dependabot[bot]
63abe8b4f9 Bump actions/upload-artifact from v2.2.0 to v2.2.1 (#43272)
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from v2.2.0 to v2.2.1.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/v2.2.0...726a6dcd0199f578459862705eed35cda05af50b)

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-11-16 12:39:14 +01:00
Guy Khmelnitsky
5ea55f7e89 Xiaomi Device Tracker - Move "Refreshing device list" to debug (#43276) 2020-11-16 12:31:45 +01:00
Philip Allgaier
7280dbd431 Bump requests to 2.25.0 (#43279) 2020-11-16 12:27:42 +01:00
Sebastian Muszynski
1783e1ae64 Bump python-miio and construct version (#43267) 2020-11-16 12:22:32 +01:00
Adrian Suwała
246ad8dba9 Rewrite ecobee unittest tests to pytest (#42584) 2020-11-16 11:54:51 +01:00
Simone Chemelli
4c2bf1ddf5 Avoid creating battery sensor if Shelly device is external powered (#43243) 2020-11-16 11:49:23 +01:00
Michael
60314ecc61 Apply suggestions from #42697 to synology_dsm (#43197)
* apply suggestions from #42697

* fix tests

* use MockConfigEntry for test

* use hass.config_entries.async_setup()

* disable default fixture

* rename marker to no_bypass_setup
2020-11-16 11:18:48 +01:00
Chris Talkington
467d79c7fd Add tests for browse media image proxy (#43076)
* add tests for browse media image proxy

* Update test_init.py

* Update __init__.py

* Update __init__.py

* Update __init__.py

* Update __init__.py
2020-11-16 07:49:41 +01:00
HomeAssistant Azure
7dcfc8f1fa [ci skip] Translation update 2020-11-16 00:03:40 +00:00
J. Nick Koston
9d0cd9c1b1 Convert most esphome state updates to callbacks (#43246) 2020-11-15 22:18:23 +01:00
Tim de Boer
149ba088d4 Add dsmr_reader telegram timestamp and device classes (#42909)
* Added Telegram timestamp

* added to 'dsmr/reading/timestamp' and 'dsmr/consumption/gas/read_at'

* Fixed import sorting

* Replaced 'kW' with ENERGY_KILO_WATT_HOUR

* Added device_class, changed unit_of_measurement with fallback on device_class

* Fixed typo

* Fixed 'black' coding format

* Removed fallback, added unit_of_measurement and CURRENCY_EURO as device_class

* Fixed newline

* Removed 'timestamp' unit_of_meassure

* Removed icons from defintions with device_class

* Updated device_classes

* Updated device_classes

* Updated device_classes

* Added 'entity_registry_enabled_default' properties

* Added 'entity_registry_enabled_default' properties, fixed typo

* MQTT discovery will be in another pull-request
2020-11-15 14:52:31 -06:00
Pieter De Baets
61475cf090 Support gas meter capability for smartthings (#41310) 2020-11-15 14:42:11 -06:00
Sébastien RAMAGE
65b2ef659e Update zigpy-zigate to 0.7.2 (#43252)
* update zigpy_zigate to v0.7.1

* bump zigpy-zigate to 0.7.2
2020-11-15 12:40:45 -05:00
J. Nick Koston
869cb83170 Set should_poll for zone entities (#43212) 2020-11-15 11:40:03 -06:00
Clifford Roche
eb9e9e67f0 Update greeclimate to 0.10.3 (#43248)
* Update greeclimate to 0.10.3

* Device search needs to be mocked in tests
2020-11-15 11:06:51 -06:00
Florian Klien
a6f47ac380 Remove yessssms integration (#43200) 2020-11-15 16:40:59 +01:00
HomeAssistant Azure
9a21421807 [ci skip] Translation update 2020-11-15 00:03:48 +00:00
Alexei Chetroi
84569549f8 Refactor ZHA light initialization (#43149)
* Refactor ZHA light initialization

* Don't do redundant attribute reads
2020-11-14 17:24:41 -05:00
Andrew Sayre
cd42d82f9d Bump pysmartthings and pysmartapp (#43240) 2020-11-14 21:57:42 +01:00
J. Nick Koston
4e00a8a3d0 Eliminate doorbird switch polling (#43215) 2020-11-14 21:47:38 +01:00
J. Nick Koston
8b63e22c99 Bypass the slow update warning for group updates (#43209) 2020-11-14 21:46:24 +01:00
Andrew Sayre
11a437bac9 Bump pyheos to 0.7.2 (#43239) 2020-11-14 21:46:01 +01:00
J. Nick Koston
810561e313 Switch ios to dispatching instead of polling (#43233) 2020-11-14 21:43:49 +01:00
Josef Schlehofer
085aa3c99d Upgrade youtube_dl to version 2020.11.12 (#43231) 2020-11-14 21:41:04 +01:00
michaeldavie
a3e8968e8a Remove OpenCV dependecy from Environment Canada (#43235)
* Bump env_canada to 0.2.2

* Revert PR #38731
2020-11-14 21:16:14 +01:00
Austin Drummond
d1566bd210 Add HomeKit humidifier/dehumidifier (#42311)
* add HomeKit humidifier/dehumidifier

* added more test coverage

* simplified char logic

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

* use mode constants

* Renamed HomeKit Contorller

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

* improved threshold logic

* split up homekit humidifier into 2 entities

* fixed tests

* fixed mode and switch logic

* added set mode tests

* removed redundant methods present in base class

Co-authored-by: Quentame <polletquentin74@me.com>
2020-11-14 17:59:13 +00:00
Glenn Waters
c6608f7f49 Bump elkm1-lib to 0.8.8 (#43230) 2020-11-14 07:13:37 -10:00
b4dpxl
bb31de1de7 Add support for Broadlink BG1 devices (#42314)
* Support for BG1 switches after config flow updates to core Broadlink component

* updates based on @felipediel feedback

* Update updater.py

* Update switch.py

* Update switch.py
2020-11-14 14:59:41 +01:00
Jc2k
cc396b9736 Add initial camera support to homekit_controller (#43100) 2020-11-14 12:07:22 +00:00
Clifford Roche
dc8db033b9 Update greeclimate to 0.10.2 (#43206) 2020-11-14 11:57:36 +01:00
Thomas Delaet
293f8eaaf3 Add quarter-hour period feature for utility_meter component (#41999)
* add support for quarter-hourly intervals to utility meter (15 minutes)

* add tests

* add test for every quarter

* Update homeassistant/components/utility_meter/sensor.py

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

Co-authored-by: springstan <46536646+springstan@users.noreply.github.com>
2020-11-14 11:53:59 +01:00
J. Nick Koston
bf955f3eb8 Fix typo in lw12wifi shoud_poll (#43213) 2020-11-14 11:12:00 +01:00
Allen Porter
3e46c42307 Catch the right nest stream refresh exception error (#43189) 2020-11-13 22:37:09 -08:00
HomeAssistant Azure
d7f1deeb00 [ci skip] Translation update 2020-11-14 00:07:02 +00:00
Aaron Bach
907907e6f9 Revert "Remove YAML config for Tile (#43064)" (#43199)
This reverts commit 19f48e180c.
2020-11-14 00:04:34 +01:00
czechmark
16364636d1 Update fitbit battery status (#42980)
* Read the device_status in order to update the fitbit battery

* Read the device_status in order to update the fitbit battery
2020-11-13 23:10:04 +01:00
Paulus Schoutsen
bae026a6fe Add support for selectors in services.yaml (#43162)
* Add support for selectors in services.yaml

* Add base schema validation
2020-11-13 22:53:55 +01:00
Paulus Schoutsen
df25b53bb8 Fix automation in packages (#43202) 2020-11-13 22:49:01 +01:00
Thomas
6e7b14f139 Hide cancelled trips from being displayed in vasttrafik integration (#43184) 2020-11-13 17:51:33 +01:00
Charles Garwood
71b8aad91b Update ozw get_config_parameter websocket response (#43058) 2020-11-13 10:06:34 -05:00
Martin Hjelmare
6daf40b254 Copy default vscode settings during bootstrap (#43180) 2020-11-13 16:03:40 +01:00
Paulus Schoutsen
37361a6332 Prevent spider from doing I/O in the event loop (#43182) 2020-11-13 16:03:08 +01:00
Paulus Schoutsen
36b4a8e128 Revert opensky flight latitude and longitude (#43185)
This reverts commit 0f46916f9e.
2020-11-13 09:52:15 -05:00
Daniel
5de30e19bb Rewrite google_wifi unittest tests to pytest style (#42030) 2020-11-13 15:40:46 +01:00
Franck Nijhof
976640102f Upgrade sentry-sdk to 0.19.3 (#43176) 2020-11-13 14:42:40 +01:00
Paulus Schoutsen
5ecaa9e4d2 Add log message server startup (#43177) 2020-11-13 14:39:50 +01:00
Sébastien RAMAGE
ea550d475a update zigpy_zigate to v0.7.1 (#43159) 2020-11-13 08:35:41 -05:00
Paulus Schoutsen
7a85b3ea66 Add test to access current request in websocket API (#43133) 2020-11-13 14:20:47 +01:00
Anders Melchiorsen
55b214ec9c Fix time_date interval for DST (#43166) 2020-11-13 13:32:56 +01:00
Paulus Schoutsen
0a717f313e Improve entity domain validator (#43164) 2020-11-13 13:31:43 +01:00
Anders Melchiorsen
87d86026ed Fix time_date timestamp offsets (#43165) 2020-11-13 13:29:57 +01:00
Paulus Schoutsen
8dbd54bed1 Disable parsing scientific/complex number notation in template type (#43170) 2020-11-13 13:22:29 +01:00
Simone Chemelli
7bcd92172a Remove relative time sensor from cert_expiry (#42338) 2020-11-13 13:15:37 +01:00
Paulus Schoutsen
890d740093 Further improve MFI tests (#43167) 2020-11-13 10:51:27 +01:00
Paulus Schoutsen
3404e6ded1 Update translations 2020-11-13 10:40:51 +01:00
J. Nick Koston
4907996dd6 Guard against empty ssdp locations (#43156) 2020-11-13 09:40:25 +01:00
Anders Melchiorsen
96641cab02 Fix playing of Spotify URIs on Sonos (#43154) 2020-11-13 09:40:00 +01:00
Joakim Sørensen
f50869d62e Add missing 'hassio' translation string (#43127)
* Add missing 'hassio' translation string

* Fix typo...
2020-11-13 09:39:36 +01:00
Aaron Bach
ad7f1446be Streamline SimpliSafe errors (#43117) 2020-11-13 09:38:58 +01:00
Marvin Wichmann
899fc3d35a Update xknx to 0.15.3 (#42026)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-11-13 09:37:45 +01:00
Anders Melchiorsen
1a888433cb Fix beat calculation (#43142) 2020-11-13 09:33:00 +01:00
Anders Melchiorsen
e0f1d0ab20 Mock time_date sensor tests (#43141) 2020-11-13 09:31:55 +01:00
HomeAssistant Azure
76b843118b [ci skip] Translation update 2020-11-13 00:10:16 +00:00
Aaron Bach
3f09c9bc0e Fix bug preventing Notion entities from updating their bridge (#43122) 2020-11-12 21:45:20 +01:00
Martin Hjelmare
b84415344f Bump hass-nabucasa to 0.37.2 (#43146) 2020-11-12 20:15:31 +01:00
Simone Chemelli
31502e960a Shelly: minor improvements (#43138) 2020-11-12 19:49:06 +01:00
Felipe Martins Diel
c620fa344e Add support for learning RF commands with Broadlink remotes (#39671)
* Add support for learning RF codes with Broadlink remotes

* Rename INFRARED and RADIOFREQUENCY to COMMAND_TYPE_IR and COMMAND_TYPE_RF

* Rewrite if expression as normal if statement

* Use COMMAND_TYPE_IR directly and improve error messages
2020-11-12 19:10:29 +01:00
Aaron Bach
7921be1b5f Fix incorrect Notion battery state calculation (#43108)
* Fix incorrect Notion battery state calculation

* Both cases
2020-11-12 10:47:47 -07:00
Erik Montnemery
7b7bb0a15f Bump hatasmota to 0.0.30 (#43140) 2020-11-12 18:29:06 +01:00
Paulus Schoutsen
a68d6a63bb Add VSCode debug launch conf (#43130) 2020-11-12 15:46:49 +01:00
Shay Levy
ad06b6b340 Revert "shelly_naming" rebase errors (#43134) 2020-11-12 15:22:51 +01:00
Philip Allgaier
bbd7402793 Add reload support to KNX (#42429)
* Add reload support to KNX

* Changes from review (platform reset + asyncio.gather)

* Changes from review (proper asyncio.gather usage)
2020-11-12 14:34:08 +01:00
Martin Hjelmare
a665e152a9 Fix aurora config flow tests (#43128) 2020-11-12 12:11:05 +01:00
Franck Nijhof
6f326a7ea4 Add support for multiple event triggers in automation (#43097)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2020-11-12 11:58:28 +01:00
Philip Allgaier
673ac21de4 Added missing system health translation for "Views" (#43126) 2020-11-12 11:50:24 +01:00
Aaron Bach
24840cce23 Add a config flow for Recollect Waste (#43063)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-11-12 11:00:42 +01:00
Simone Chemelli
cdc53329d0 Add Shelly totalWorkTime as Lamp life (Shelly Air) (#43112)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-11-12 10:38:53 +01:00
SukramJ
d7e5d1bfaf Bump dependency for HomematicIP Cloud (#43018)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-11-12 10:33:01 +01:00
Shay Levy
22a0464dce Make Appliance Type Case-insensitive (#43114)
"appliance_type" is a free text parameter in the device settings, this fix will make the comparison case-insensitive
2020-11-12 10:12:56 +01:00
Joshua M. Boniface
be93060e99 Move setup_url_for_address to pyWeMo library (#42722)
* Move setup_url_for_address to PyWemo library

* Bump pywemo to 0.5.2

* Use module-level function call

* Update requirements via script
2020-11-12 06:37:27 +01:00
HomeAssistant Azure
8a0907acf9 [ci skip] Translation update 2020-11-12 00:10:58 +00:00
Bram Kragten
1c7080d5c5 Add save and delete WS commands to blueprints (#42907)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2020-11-11 23:32:46 +01:00
djtimca
d47b3a5f44 Fix Aurora integration including externalizing API to PyPi and adding config_flow (#43045)
Co-authored-by: Pawel <pszafer@gmail.com>
2020-11-11 20:36:16 +01:00
Chris Talkington
df5a8c4dac Use media player image proxy for roku media browser (#43070) 2020-11-11 20:17:46 +01:00
Simone Chemelli
d8b067ebf9 Add Shelly support for REST sensors (#40429) 2020-11-11 20:13:14 +01:00
Joakim Sørensen
403514ccb3 Add system health section for the Supervisor (#43074) 2020-11-11 20:12:24 +01:00
springstan
37bcfd1d2f Simplify distance conversion (#43107) 2020-11-11 20:10:17 +01:00
Moritz Schmitz von Hülst
434d39a5ea Add initial rest query params (#42198)
* add initial rest query params

* of course I didn't run black

* fix tests

* fix tests

* add test

* reformat

* add binary sensor test

* fix tests

* add one more test and fix switch

* should not have touched that

* if you don't pay attention once
2020-11-11 09:03:55 -10:00
Hmmbob
6a7b71e8fb Bump pycsspeechtts to 1.0.4 (#43105) 2020-11-11 19:47:03 +01:00
2416 changed files with 54471 additions and 14816 deletions

View File

@@ -48,7 +48,9 @@ omit =
homeassistant/components/anel_pwrctrl/switch.py
homeassistant/components/anthemav/media_player.py
homeassistant/components/apcupsd/*
homeassistant/components/apple_tv/*
homeassistant/components/apple_tv/__init__.py
homeassistant/components/apple_tv/media_player.py
homeassistant/components/apple_tv/remote.py
homeassistant/components/aqualogic/*
homeassistant/components/aquostv/media_player.py
homeassistant/components/arcam_fmj/media_player.py
@@ -65,11 +67,12 @@ omit =
homeassistant/components/asterisk_mbox/*
homeassistant/components/aten_pe/*
homeassistant/components/atome/*
homeassistant/components/aurora/__init__.py
homeassistant/components/aurora/binary_sensor.py
homeassistant/components/aurora/const.py
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
@@ -97,7 +100,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
@@ -259,6 +267,11 @@ omit =
homeassistant/components/fibaro/*
homeassistant/components/filesize/sensor.py
homeassistant/components/fints/sensor.py
homeassistant/components/fireservicerota/__init__.py
homeassistant/components/fireservicerota/binary_sensor.py
homeassistant/components/fireservicerota/const.py
homeassistant/components/fireservicerota/sensor.py
homeassistant/components/fireservicerota/switch.py
homeassistant/components/firmata/__init__.py
homeassistant/components/firmata/binary_sensor.py
homeassistant/components/firmata/board.py
@@ -376,7 +389,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
@@ -533,12 +545,16 @@ omit =
homeassistant/components/minio/*
homeassistant/components/mitemp_bt/sensor.py
homeassistant/components/mjpeg/camera.py
homeassistant/components/mobile_app/*
homeassistant/components/mochad/*
homeassistant/components/modbus/climate.py
homeassistant/components/modbus/cover.py
homeassistant/components/modbus/switch.py
homeassistant/components/modbus/sensor.py
homeassistant/components/modem_callerid/sensor.py
homeassistant/components/motion_blinds/__init__.py
homeassistant/components/motion_blinds/const.py
homeassistant/components/motion_blinds/cover.py
homeassistant/components/motion_blinds/sensor.py
homeassistant/components/mpchc/media_player.py
homeassistant/components/mpd/media_player.py
homeassistant/components/mqtt_room/sensor.py
@@ -554,13 +570,21 @@ 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/*
homeassistant/components/nest/__init__.py
homeassistant/components/nest/api.py
homeassistant/components/nest/binary_sensor.py
homeassistant/components/nest/camera.py
homeassistant/components/nest/climate.py
homeassistant/components/nest/legacy/*
homeassistant/components/nest/sensor.py
homeassistant/components/netatmo/__init__.py
homeassistant/components/netatmo/api.py
homeassistant/components/netatmo/camera.py
@@ -666,6 +690,7 @@ 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
@@ -708,6 +733,7 @@ omit =
homeassistant/components/rainforest_eagle/sensor.py
homeassistant/components/raspihats/*
homeassistant/components/raspyrfm/*
homeassistant/components/recollect_waste/__init__.py
homeassistant/components/recollect_waste/sensor.py
homeassistant/components/recswitch/switch.py
homeassistant/components/reddit/*
@@ -745,7 +771,6 @@ omit =
homeassistant/components/russound_rnet/media_player.py
homeassistant/components/sabnzbd/*
homeassistant/components/saj/sensor.py
homeassistant/components/salt/device_tracker.py
homeassistant/components/satel_integra/*
homeassistant/components/schluter/*
homeassistant/components/scrape/sensor.py
@@ -808,8 +833,9 @@ 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/sonos/*
@@ -821,6 +847,7 @@ omit =
homeassistant/components/spotcrime/sensor.py
homeassistant/components/spotify/__init__.py
homeassistant/components/spotify/media_player.py
homeassistant/components/spotify/system_health.py
homeassistant/components/squeezebox/__init__.py
homeassistant/components/squeezebox/browse_media.py
homeassistant/components/squeezebox/media_player.py
@@ -935,7 +962,6 @@ omit =
homeassistant/components/twilio_call/notify.py
homeassistant/components/twilio_sms/notify.py
homeassistant/components/twitter/notify.py
homeassistant/components/ubee/device_tracker.py
homeassistant/components/ubus/device_tracker.py
homeassistant/components/ue_smart_radio/media_player.py
homeassistant/components/unifiled/*
@@ -989,7 +1015,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/*
@@ -1054,7 +1079,6 @@ omit =
homeassistant/components/zha/core/device.py
homeassistant/components/zha/core/gateway.py
homeassistant/components/zha/core/helpers.py
homeassistant/components/zha/core/patches.py
homeassistant/components/zha/core/registries.py
homeassistant/components/zha/core/typing.py
homeassistant/components/zha/entity.py

View File

@@ -12,17 +12,21 @@
"redhat.vscode-yaml",
"esbenp.prettier-vscode"
],
// Please keep this file in sync with settings in home-assistant/.vscode/settings.default.json
"settings": {
"python.pythonPath": "/usr/local/bin/python",
"python.linting.pylintEnabled": true,
"python.linting.enabled": true,
"python.formatting.provider": "black",
"python.testing.pytestArgs": ["--no-cov"],
"python.testing.pytestEnabled": true,
"editor.formatOnPaste": false,
"editor.formatOnSave": true,
"editor.formatOnType": true,
"files.trimTrailingWhitespace": true,
"terminal.integrated.shell.linux": "/bin/bash",
"yaml.customTags": [
"!input scalar",
"!secret scalar",
"!include_dir_named scalar",
"!include_dir_list scalar",

View File

@@ -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
@@ -48,7 +48,7 @@ jobs:
run: |
python -m venv venv
. venv/bin/activate
pip install -U pip setuptools
pip install -U "pip<20.3" setuptools
pip install -r requirements.txt -r requirements_test.txt
- name: Restore pre-commit environment from cache
id: cache-precommit
@@ -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 }}
@@ -555,7 +555,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 }}
@@ -611,7 +611,7 @@ jobs:
run: |
python -m venv venv
. venv/bin/activate
pip install -U pip setuptools wheel
pip install -U "pip<20.3" setuptools wheel
pip install -r requirements_all.txt
pip install -r requirements_test.txt
pip install -e .
@@ -741,7 +741,7 @@ jobs:
-p no:sugar \
tests
- name: Upload coverage artifact
uses: actions/upload-artifact@v2.2.0
uses: actions/upload-artifact@v2.2.1
with:
name: coverage-${{ matrix.python-version }}-group${{ matrix.group }}
path: .coverage
@@ -785,4 +785,4 @@ jobs:
coverage report --fail-under=94
coverage xml
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v1.0.14
uses: codecov/codecov-action@v1.1.1

View File

@@ -12,7 +12,7 @@ jobs:
# 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.13
uses: actions/stale@v3.0.14
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
days-before-stale: 90
@@ -48,7 +48,7 @@ jobs:
# - 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.13
uses: actions/stale@v3.0.14
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
# PRs have a CLA signed label, we can misuse it to apply this policy

View File

@@ -30,7 +30,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:
@@ -48,6 +48,7 @@ repos:
- id: check-executables-have-shebangs
stages: [manual]
- id: check-json
exclude: (.vscode|.devcontainer)
- id: no-commit-to-branch
args:
- --branch=dev

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

49
.vscode/launch.json vendored Normal file
View File

@@ -0,0 +1,49 @@
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "Home Assistant",
"type": "python",
"request": "launch",
"module": "homeassistant",
"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"
}
],
}
]
}

9
.vscode/settings.default.json vendored Normal file
View File

@@ -0,0 +1,9 @@
{
// Please keep this file in sync with settings in home-assistant/.devcontainer/devcontainer.json
"python.formatting.provider": "black",
// Added --no-cov to work around TypeError: message must be set
// 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
}

View File

@@ -37,6 +37,7 @@ homeassistant/components/amcrest/* @pnbruckner
homeassistant/components/androidtv/* @JeffLIrion
homeassistant/components/apache_kafka/* @bachya
homeassistant/components/api/* @home-assistant/core
homeassistant/components/apple_tv/* @postlund
homeassistant/components/apprise/* @caronc
homeassistant/components/aprs/* @PhilRW
homeassistant/components/arcam_fmj/* @elupus
@@ -48,11 +49,11 @@ homeassistant/components/atag/* @MatsNL
homeassistant/components/aten_pe/* @mtdcr
homeassistant/components/atome/* @baqs
homeassistant/components/august/* @bdraco
homeassistant/components/aurora/* @djtimca
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
@@ -116,7 +117,6 @@ homeassistant/components/dunehd/* @bieniu
homeassistant/components/dwd_weather_warnings/* @runningman84 @stephan192 @Hummel95
homeassistant/components/dweet/* @fabaff
homeassistant/components/dynalite/* @ziv1234
homeassistant/components/dyson/* @etheralm
homeassistant/components/eafm/* @Jc2k
homeassistant/components/ecobee/* @marthoc
homeassistant/components/ecovacs/* @OverloadUT
@@ -131,6 +131,7 @@ homeassistant/components/emoncms/* @borpin
homeassistant/components/emulated_kasa/* @kbickar
homeassistant/components/enigma2/* @fbradyirl
homeassistant/components/enocean/* @bdurrer
homeassistant/components/enphase_envoy/* @gtdiehl
homeassistant/components/entur_public_transport/* @hfurubotten
homeassistant/components/environment_canada/* @michaeldavie
homeassistant/components/ephember/* @ttroy50
@@ -144,6 +145,7 @@ homeassistant/components/ezviz/* @baqs
homeassistant/components/fastdotcom/* @rohankapoorcom
homeassistant/components/file/* @fabaff
homeassistant/components/filter/* @dgomes
homeassistant/components/fireservicerota/* @cyberjunky
homeassistant/components/firmata/* @DaAwesomeP
homeassistant/components/fixer/* @fabaff
homeassistant/components/flick_electric/* @ZephireNZ
@@ -239,6 +241,7 @@ homeassistant/components/keyboard_remote/* @bendavid
homeassistant/components/knx/* @Julius2342 @farmio @marvin-w
homeassistant/components/kodi/* @OnFreund @cgtobi
homeassistant/components/konnected/* @heythisisnate @kit-klein
homeassistant/components/kulersky/* @emlove
homeassistant/components/lametric/* @robbiet480
homeassistant/components/launch_library/* @ludeeus
homeassistant/components/lcn/* @alengwenus
@@ -275,6 +278,7 @@ homeassistant/components/mobile_app/* @robbiet480
homeassistant/components/modbus/* @adamchengtkc @janiversen @vzahradnik
homeassistant/components/monoprice/* @etsinko @OnFreund
homeassistant/components/moon/* @fabaff
homeassistant/components/motion_blinds/* @starkillerOG
homeassistant/components/mpd/* @fabaff
homeassistant/components/mqtt/* @home-assistant/core @emontnemery
homeassistant/components/msteams/* @peroyvind
@@ -305,6 +309,7 @@ homeassistant/components/nsw_rural_fire_service_feed/* @exxamalte
homeassistant/components/nuheat/* @bdraco
homeassistant/components/nuki/* @pschmitt @pvizeli
homeassistant/components/numato/* @clssn
homeassistant/components/number/* @home-assistant/core @Shulyaka
homeassistant/components/nut/* @bdraco
homeassistant/components/nws/* @MatthewFlamm
homeassistant/components/nzbget/* @chriscla
@@ -317,6 +322,7 @@ 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
@@ -335,7 +341,7 @@ homeassistant/components/pi_hole/* @fabaff @johnluetke @shenxn
homeassistant/components/pilight/* @trekky12
homeassistant/components/plaato/* @JohNan
homeassistant/components/plex/* @jjlawren
homeassistant/components/plugwise/* @CoMPaTech @bouwew
homeassistant/components/plugwise/* @CoMPaTech @bouwew @brefra
homeassistant/components/plum_lightpad/* @ColinHarrington @prystupa
homeassistant/components/point/* @fredrike
homeassistant/components/poolsense/* @haemishkyd
@@ -349,6 +355,7 @@ 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
@@ -360,6 +367,7 @@ homeassistant/components/raincloud/* @vanstinator
homeassistant/components/rainforest_eagle/* @gtdiehl @jcalbert
homeassistant/components/rainmachine/* @bachya
homeassistant/components/random/* @fabaff
homeassistant/components/recollect_waste/* @bachya
homeassistant/components/rejseplanen/* @DarkFox
homeassistant/components/repetier/* @MTrab
homeassistant/components/rfxtrx/* @danielhiversen @elupus @RobBie1221
@@ -374,7 +382,6 @@ homeassistant/components/rpi_power/* @shenxn @swetoast
homeassistant/components/ruckus_unleashed/* @gabe565
homeassistant/components/safe_mode/* @home-assistant/core
homeassistant/components/saj/* @fredericvl
homeassistant/components/salt/* @bjornorri
homeassistant/components/samsungtv/* @escoand
homeassistant/components/scene/* @home-assistant/core
homeassistant/components/schluter/* @prairieapps
@@ -398,6 +405,7 @@ homeassistant/components/simplisafe/* @bachya
homeassistant/components/sinch/* @bendikrb
homeassistant/components/sisyphus/* @jkeljo
homeassistant/components/sky_hub/* @rogerselwyn
homeassistant/components/slack/* @bachya
homeassistant/components/slide/* @ualex73
homeassistant/components/sma/* @kellerza
homeassistant/components/smappee/* @bsmappee
@@ -422,6 +430,7 @@ homeassistant/components/splunk/* @Bre77
homeassistant/components/spotify/* @frenck
homeassistant/components/sql/* @dgomes
homeassistant/components/squeezebox/* @rajlaud
homeassistant/components/srp_energy/* @briglx
homeassistant/components/starline/* @anonym-tsk
homeassistant/components/statistics/* @fabaff
homeassistant/components/stiebel_eltron/* @fucm
@@ -445,6 +454,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
@@ -469,7 +479,7 @@ homeassistant/components/transmission/* @engrbm87 @JPHutchins
homeassistant/components/tts/* @pvizeli
homeassistant/components/tuya/* @ollo69
homeassistant/components/twentemilieu/* @frenck
homeassistant/components/ubee/* @mzdrale
homeassistant/components/twinkly/* @dr1rrb
homeassistant/components/unifi/* @Kane610
homeassistant/components/unifiled/* @florisvdk
homeassistant/components/upb/* @gwww
@@ -483,6 +493,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
@@ -516,7 +527,6 @@ homeassistant/components/yamaha_musiccast/* @jalmeroth
homeassistant/components/yandex_transport/* @rishatik92 @devbis
homeassistant/components/yeelight/* @rytilahti @zewelor @shenxn
homeassistant/components/yeelightsunflower/* @lindsaymarkward
homeassistant/components/yessssms/* @flowolf
homeassistant/components/yi/* @bachya
homeassistant/components/zeroconf/* @bdraco
homeassistant/components/zerproc/* @emlove

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

@@ -1,11 +1,11 @@
{
"image": "homeassistant/{arch}-homeassistant",
"build_from": {
"aarch64": "homeassistant/aarch64-homeassistant-base:2020.10.1",
"armhf": "homeassistant/armhf-homeassistant-base:2020.10.1",
"armv7": "homeassistant/armv7-homeassistant-base:2020.10.1",
"amd64": "homeassistant/amd64-homeassistant-base:2020.10.1",
"i386": "homeassistant/i386-homeassistant-base:2020.10.1"
"aarch64": "homeassistant/aarch64-homeassistant-base:2021.01.0",
"armhf": "homeassistant/armhf-homeassistant-base:2021.01.0",
"armv7": "homeassistant/armv7-homeassistant-base:2021.01.0",
"amd64": "homeassistant/amd64-homeassistant-base:2021.01.0",
"i386": "homeassistant/i386-homeassistant-base:2021.01.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

@@ -284,6 +284,7 @@ class AuthManager:
self,
user: models.User,
name: Optional[str] = None,
is_active: Optional[bool] = None,
group_ids: Optional[List[str]] = None,
) -> None:
"""Update a user."""
@@ -294,6 +295,12 @@ class AuthManager:
kwargs["group_ids"] = group_ids
await self._store.async_update_user(user, **kwargs)
if is_active is not None:
if is_active is True:
await self.async_activate_user(user)
else:
await self.async_deactivate_user(user)
async def async_activate_user(self, user: models.User) -> None:
"""Activate a user."""
await self._store.async_activate_user(user)

View File

@@ -15,11 +15,7 @@ import yarl
from homeassistant import config as conf_util, config_entries, core, loader
from homeassistant.components import http
from homeassistant.const import (
EVENT_HOMEASSISTANT_STOP,
REQUIRED_NEXT_PYTHON_DATE,
REQUIRED_NEXT_PYTHON_VER,
)
from homeassistant.const import REQUIRED_NEXT_PYTHON_DATE, REQUIRED_NEXT_PYTHON_VER
from homeassistant.exceptions import HomeAssistantError
from homeassistant.helpers.typing import ConfigType
from homeassistant.setup import (
@@ -142,11 +138,9 @@ async def async_setup_hass(
_LOGGER.warning("Detected that frontend did not load. Activating safe mode")
# Ask integrations to shut down. It's messy but we can't
# do a clean stop without knowing what is broken
hass.async_track_tasks()
hass.bus.async_fire(EVENT_HOMEASSISTANT_STOP, {})
with contextlib.suppress(asyncio.TimeoutError):
async with hass.timeout.async_timeout(10):
await hass.async_block_till_done()
await hass.async_stop()
safe_mode = True
old_config = hass.config
@@ -534,7 +528,7 @@ async def _async_set_up_integrations(
_LOGGER.warning("Setup timed out for stage 1 - moving forward")
# Enables after dependencies
async_set_domains_to_be_loaded(hass, stage_1_domains | stage_2_domains)
async_set_domains_to_be_loaded(hass, stage_2_domains)
if stage_2_domains:
_LOGGER.info("Setting up stage 2: %s", stage_2_domains)

View File

@@ -4,12 +4,12 @@ from copy import deepcopy
from functools import partial
from abodepy import Abode
from abodepy.exceptions import AbodeException
from abodepy.exceptions import AbodeAuthenticationException, AbodeException
import abodepy.helpers.timeline as TIMELINE
from requests.exceptions import ConnectTimeout, HTTPError
import voluptuous as vol
from homeassistant.config_entries import SOURCE_IMPORT
from homeassistant.config_entries import SOURCE_IMPORT, SOURCE_REAUTH
from homeassistant.const import (
ATTR_ATTRIBUTION,
ATTR_DATE,
@@ -110,18 +110,34 @@ async def async_setup_entry(hass, config_entry):
username = config_entry.data.get(CONF_USERNAME)
password = config_entry.data.get(CONF_PASSWORD)
polling = config_entry.data.get(CONF_POLLING)
cache = hass.config.path(DEFAULT_CACHEDB)
# For previous config entries where unique_id is None
if config_entry.unique_id is None:
hass.config_entries.async_update_entry(
config_entry, unique_id=config_entry.data[CONF_USERNAME]
)
try:
cache = hass.config.path(DEFAULT_CACHEDB)
abode = await hass.async_add_executor_job(
Abode, username, password, True, True, True, cache
)
hass.data[DOMAIN] = AbodeSystem(abode, polling)
except AbodeAuthenticationException as ex:
LOGGER.error("Invalid credentials: %s", ex)
await hass.config_entries.flow.async_init(
DOMAIN,
context={"source": SOURCE_REAUTH},
data=config_entry.data,
)
return False
except (AbodeException, ConnectTimeout, HTTPError) as ex:
LOGGER.error("Unable to connect to Abode: %s", str(ex))
LOGGER.error("Unable to connect to Abode: %s", ex)
raise ConfigEntryNotReady from ex
hass.data[DOMAIN] = AbodeSystem(abode, polling)
for platform in ABODE_PLATFORMS:
hass.async_create_task(
hass.config_entries.async_forward_entry_setup(config_entry, platform)

View File

@@ -1,15 +1,16 @@
"""Config flow for the Abode Security System component."""
from abodepy import Abode
from abodepy.exceptions import AbodeException
from abodepy.exceptions import AbodeAuthenticationException, AbodeException
from abodepy.helpers.errors import MFA_CODE_REQUIRED
from requests.exceptions import ConnectTimeout, HTTPError
import voluptuous as vol
from homeassistant import config_entries
from homeassistant.const import CONF_PASSWORD, CONF_USERNAME, HTTP_BAD_REQUEST
from homeassistant.core import callback
from .const import DEFAULT_CACHEDB, DOMAIN, LOGGER # pylint: disable=unused-import
CONF_MFA = "mfa_code"
CONF_POLLING = "polling"
@@ -25,53 +26,146 @@ class AbodeFlowHandler(config_entries.ConfigFlow, domain=DOMAIN):
vol.Required(CONF_USERNAME): str,
vol.Required(CONF_PASSWORD): str,
}
self.mfa_data_schema = {
vol.Required(CONF_MFA): str,
}
self._cache = None
self._mfa_code = None
self._password = None
self._polling = False
self._username = None
async def _async_abode_login(self, step_id):
"""Handle login with Abode."""
self._cache = self.hass.config.path(DEFAULT_CACHEDB)
errors = {}
try:
await self.hass.async_add_executor_job(
Abode, self._username, self._password, True, False, False, self._cache
)
except (AbodeException, ConnectTimeout, HTTPError) as ex:
if ex.errcode == MFA_CODE_REQUIRED[0]:
return await self.async_step_mfa()
LOGGER.error("Unable to connect to Abode: %s", ex)
if ex.errcode == HTTP_BAD_REQUEST:
errors = {"base": "invalid_auth"}
else:
errors = {"base": "cannot_connect"}
if errors:
return self.async_show_form(
step_id=step_id, data_schema=vol.Schema(self.data_schema), errors=errors
)
return await self._async_create_entry()
async def _async_abode_mfa_login(self):
"""Handle multi-factor authentication (MFA) login with Abode."""
try:
# Create instance to access login method for passing MFA code
abode = Abode(
auto_login=False,
get_devices=False,
get_automations=False,
cache_path=self._cache,
)
await self.hass.async_add_executor_job(
abode.login, self._username, self._password, self._mfa_code
)
except AbodeAuthenticationException:
return self.async_show_form(
step_id="mfa",
data_schema=vol.Schema(self.mfa_data_schema),
errors={"base": "invalid_mfa_code"},
)
return await self._async_create_entry()
async def _async_create_entry(self):
"""Create the config entry."""
config_data = {
CONF_USERNAME: self._username,
CONF_PASSWORD: self._password,
CONF_POLLING: self._polling,
}
existing_entry = await self.async_set_unique_id(self._username)
if existing_entry:
self.hass.config_entries.async_update_entry(
existing_entry, data=config_data
)
# Reload the Abode config entry otherwise devices will remain unavailable
self.hass.async_create_task(
self.hass.config_entries.async_reload(existing_entry.entry_id)
)
return self.async_abort(reason="reauth_successful")
return self.async_create_entry(title=self._username, data=config_data)
async def async_step_user(self, user_input=None):
"""Handle a flow initialized by the user."""
if self._async_current_entries():
return self.async_abort(reason="single_instance_allowed")
if not user_input:
return self._show_form()
username = user_input[CONF_USERNAME]
password = user_input[CONF_PASSWORD]
polling = user_input.get(CONF_POLLING, False)
cache = self.hass.config.path(DEFAULT_CACHEDB)
try:
await self.hass.async_add_executor_job(
Abode, username, password, True, True, True, cache
if user_input is None:
return self.async_show_form(
step_id="user", data_schema=vol.Schema(self.data_schema)
)
except (AbodeException, ConnectTimeout, HTTPError) as ex:
LOGGER.error("Unable to connect to Abode: %s", str(ex))
if ex.errcode == HTTP_BAD_REQUEST:
return self._show_form({"base": "invalid_auth"})
return self._show_form({"base": "cannot_connect"})
self._username = user_input[CONF_USERNAME]
self._password = user_input[CONF_PASSWORD]
return self.async_create_entry(
title=user_input[CONF_USERNAME],
data={
CONF_USERNAME: username,
CONF_PASSWORD: password,
CONF_POLLING: polling,
},
)
return await self._async_abode_login(step_id="user")
@callback
def _show_form(self, errors=None):
"""Show the form to the user."""
return self.async_show_form(
step_id="user",
data_schema=vol.Schema(self.data_schema),
errors=errors if errors else {},
)
async def async_step_mfa(self, user_input=None):
"""Handle a multi-factor authentication (MFA) flow."""
if user_input is None:
return self.async_show_form(
step_id="mfa", data_schema=vol.Schema(self.mfa_data_schema)
)
self._mfa_code = user_input[CONF_MFA]
return await self._async_abode_mfa_login()
async def async_step_reauth(self, config):
"""Handle reauthorization request from Abode."""
self._username = config[CONF_USERNAME]
return await self.async_step_reauth_confirm()
async def async_step_reauth_confirm(self, user_input=None):
"""Handle reauthorization flow."""
if user_input is None:
return self.async_show_form(
step_id="reauth_confirm",
data_schema=vol.Schema(
{
vol.Required(CONF_USERNAME, default=self._username): str,
vol.Required(CONF_PASSWORD): str,
}
),
)
self._username = user_input[CONF_USERNAME]
self._password = user_input[CONF_PASSWORD]
return await self._async_abode_login(step_id="reauth_confirm")
async def async_step_import(self, import_config):
"""Import a config entry from configuration.yaml."""
if self._async_current_entries():
LOGGER.warning("Only one configuration of abode is allowed.")
LOGGER.warning("Already configured. Only a single configuration possible.")
return self.async_abort(reason="single_instance_allowed")
self._polling = import_config.get(CONF_POLLING, False)
return await self.async_step_user(import_config)

View File

@@ -3,7 +3,7 @@
"name": "Abode",
"config_flow": true,
"documentation": "https://www.home-assistant.io/integrations/abode",
"requirements": ["abodepy==1.1.0"],
"requirements": ["abodepy==1.2.0"],
"codeowners": ["@shred86"],
"homekit": {
"models": ["Abode", "Iota"]

View File

@@ -7,14 +7,30 @@
"username": "[%key:common::config_flow::data::email%]",
"password": "[%key:common::config_flow::data::password%]"
}
},
"mfa": {
"title": "Enter your MFA code for Abode",
"data": {
"mfa_code": "MFA code (6-digits)"
}
},
"reauth_confirm": {
"title": "Fill in your Abode login information",
"data": {
"username": "[%key:common::config_flow::data::email%]",
"password": "[%key:common::config_flow::data::password%]"
}
}
},
"error": {
"invalid_auth": "[%key:common::config_flow::error::invalid_auth%]",
"cannot_connect": "[%key:common::config_flow::error::cannot_connect%]"
"cannot_connect": "[%key:common::config_flow::error::cannot_connect%]",
"invalid_mfa_code": "Invalid MFA code"
},
"abort": {
"single_instance_allowed": "[%key:common::config_flow::abort::single_instance_allowed%]"
"single_instance_allowed": "[%key:common::config_flow::abort::single_instance_allowed%]",
"reauth_successful": "[%key:common::config_flow::abort::reauth_successful%]"
}
}
}

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,13 +1,28 @@
{
"config": {
"abort": {
"reauth_successful": "Op\u011btovn\u00e9 ov\u011b\u0159en\u00ed bylo \u00fasp\u011b\u0161n\u00e9",
"single_instance_allowed": "Ji\u017e nastaveno. Je mo\u017en\u00e1 pouze jedin\u00e1 konfigurace."
},
"error": {
"cannot_connect": "Nepoda\u0159ilo se p\u0159ipojit",
"invalid_auth": "Neplatn\u00e9 ov\u011b\u0159en\u00ed"
"invalid_auth": "Neplatn\u00e9 ov\u011b\u0159en\u00ed",
"invalid_mfa_code": "Neplatn\u00fd k\u00f3d MFA"
},
"step": {
"mfa": {
"data": {
"mfa_code": "K\u00f3d MFA (6 \u010d\u00edslic)"
},
"title": "Zadejte k\u00f3d MFA pro Abode"
},
"reauth_confirm": {
"data": {
"password": "Heslo",
"username": "E-mail"
},
"title": "Vypl\u0148te sv\u00e9 p\u0159ihla\u0161ovac\u00ed \u00fadaje do Abode"
},
"user": {
"data": {
"password": "Heslo",

View File

@@ -1,9 +1,28 @@
{
"config": {
"abort": {
"reauth_successful": "Die erneute Authentifizierung war erfolgreich",
"single_instance_allowed": "Es ist nur eine einzige Konfiguration von Abode erlaubt."
},
"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,13 +1,28 @@
{
"config": {
"abort": {
"reauth_successful": "Re-authentication was successful",
"single_instance_allowed": "Already configured. Only a single configuration possible."
},
"error": {
"cannot_connect": "Failed to connect",
"invalid_auth": "Invalid authentication"
"invalid_auth": "Invalid authentication",
"invalid_mfa_code": "Invalid MFA code"
},
"step": {
"mfa": {
"data": {
"mfa_code": "MFA code (6-digits)"
},
"title": "Enter your MFA code for Abode"
},
"reauth_confirm": {
"data": {
"password": "Password",
"username": "Email"
},
"title": "Fill in your Abode login information"
},
"user": {
"data": {
"password": "Password",

View File

@@ -1,13 +1,28 @@
{
"config": {
"abort": {
"reauth_successful": "La reautenticaci\u00f3n fue exitosa",
"single_instance_allowed": "Ya est\u00e1 configurado. Solo es posible una \u00fanica configuraci\u00f3n."
},
"error": {
"cannot_connect": "No se pudo conectar",
"invalid_auth": "Autenticaci\u00f3n no v\u00e1lida"
"invalid_auth": "Autenticaci\u00f3n no v\u00e1lida",
"invalid_mfa_code": "C\u00f3digo MFA inv\u00e1lido"
},
"step": {
"mfa": {
"data": {
"mfa_code": "C\u00f3digo MFA (6 d\u00edgitos)"
},
"title": "Introduce tu c\u00f3digo MFA para Abode"
},
"reauth_confirm": {
"data": {
"password": "Contrase\u00f1a",
"username": "Correo electronico"
},
"title": "Rellene su informaci\u00f3n de inicio de sesi\u00f3n de Abode"
},
"user": {
"data": {
"password": "Contrase\u00f1a",

View File

@@ -1,13 +1,28 @@
{
"config": {
"abort": {
"reauth_successful": "Taastuvastamine \u00f5nnestus",
"single_instance_allowed": "Juba seadistatud. V\u00f5imalik on ainult \u00fcks seadistamine."
},
"error": {
"cannot_connect": "\u00dchendamine nurjus",
"invalid_auth": "Tuvastamise viga"
"invalid_auth": "Tuvastamise viga",
"invalid_mfa_code": "Kehtetu MFA-kood"
},
"step": {
"mfa": {
"data": {
"mfa_code": "MFA kood (6-kohaline)"
},
"title": "Sisesta oma Abode MFA kood"
},
"reauth_confirm": {
"data": {
"password": "Salas\u00f5na",
"username": "E-post"
},
"title": "Sisesta oma Abode sisselogimisteave"
},
"user": {
"data": {
"password": "Salas\u00f5na",

View File

@@ -3,7 +3,16 @@
"abort": {
"single_instance_allowed": "Csak egyetlen Abode konfigur\u00e1ci\u00f3 enged\u00e9lyezett."
},
"error": {
"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

@@ -1,13 +1,28 @@
{
"config": {
"abort": {
"reauth_successful": "La riautenticazione ha avuto successo",
"single_instance_allowed": "Gi\u00e0 configurato. \u00c8 possibile una sola configurazione."
},
"error": {
"cannot_connect": "Impossibile connettersi",
"invalid_auth": "Autenticazione non valida"
"invalid_auth": "Autenticazione non valida",
"invalid_mfa_code": "Codice MFA non valido"
},
"step": {
"mfa": {
"data": {
"mfa_code": "Codice MFA (6 cifre)"
},
"title": "Inserisci il tuo codice MFA per Abode"
},
"reauth_confirm": {
"data": {
"password": "Password",
"username": "E-mail"
},
"title": "Inserisci le tue informazioni di accesso Abode"
},
"user": {
"data": {
"password": "Password",

View File

@@ -1,13 +1,28 @@
{
"config": {
"abort": {
"reauth_successful": "Re-authentifikatioun war erfollegr\u00e4ich",
"single_instance_allowed": "Scho konfigur\u00e9iert. N\u00ebmmen eng eenzeg Konfiguratioun m\u00e9iglech."
},
"error": {
"cannot_connect": "Feeler beim verbannen",
"invalid_auth": "Ong\u00eblteg Authentifikatioun"
"invalid_auth": "Ong\u00eblteg Authentifikatioun",
"invalid_mfa_code": "Ong\u00ebltege MFA Code"
},
"step": {
"mfa": {
"data": {
"mfa_code": "MFA code (6 Zifferen)"
},
"title": "G\u00ebff dain MFA code fir Abode un"
},
"reauth_confirm": {
"data": {
"password": "Passwuert",
"username": "E-Mail"
},
"title": "F\u00ebll deng Abode Login Informatiounen aus"
},
"user": {
"data": {
"password": "Passwuert",

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,13 +1,28 @@
{
"config": {
"abort": {
"reauth_successful": "Godkjenning p\u00e5 nytt var vellykket",
"single_instance_allowed": "Allerede konfigurert. Bare \u00e9n enkelt konfigurasjon er mulig."
},
"error": {
"cannot_connect": "Tilkobling mislyktes",
"invalid_auth": "Ugyldig godkjenning"
"invalid_auth": "Ugyldig godkjenning",
"invalid_mfa_code": "Ugyldig MFA-kode"
},
"step": {
"mfa": {
"data": {
"mfa_code": "MFA-kode (6-sifre)"
},
"title": "Skriv inn din MFA-kode for Abode"
},
"reauth_confirm": {
"data": {
"password": "Passord",
"username": "E-post"
},
"title": "Fyll ut innloggingsinformasjonen for Abode"
},
"user": {
"data": {
"password": "Passord",

View File

@@ -1,13 +1,28 @@
{
"config": {
"abort": {
"reauth_successful": "Ponowne uwierzytelnienie powiod\u0142o si\u0119",
"single_instance_allowed": "Ju\u017c skonfigurowano. Mo\u017cliwa jest tylko jedna konfiguracja."
},
"error": {
"cannot_connect": "Nie mo\u017cna nawi\u0105za\u0107 po\u0142\u0105czenia",
"invalid_auth": "Niepoprawne uwierzytelnienie"
"invalid_auth": "Niepoprawne uwierzytelnienie",
"invalid_mfa_code": "Nieprawid\u0142owy kod uwierzytelniania wielosk\u0142adnikowego"
},
"step": {
"mfa": {
"data": {
"mfa_code": "6-cyfrowy kod uwierzytelniania wielosk\u0142adnikowego"
},
"title": "Wprowad\u017a kod uwierzytelniania wielosk\u0142adnikowego dla Abode"
},
"reauth_confirm": {
"data": {
"password": "Has\u0142o",
"username": "Adres e-mail"
},
"title": "Wprowad\u017a informacje logowania Abode"
},
"user": {
"data": {
"password": "Has\u0142o",

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,13 +1,28 @@
{
"config": {
"abort": {
"reauth_successful": "\u041f\u043e\u0432\u0442\u043e\u0440\u043d\u0430\u044f \u0430\u0443\u0442\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0430 \u0443\u0441\u043f\u0435\u0448\u043d\u043e.",
"single_instance_allowed": "\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u0443\u0436\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0430. \u0412\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u043e\u0434\u043d\u0443 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044e."
},
"error": {
"cannot_connect": "\u041d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u0442\u044c\u0441\u044f.",
"invalid_auth": "\u041d\u0435\u0432\u0435\u0440\u043d\u0430\u044f \u0430\u0443\u0442\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044f."
"invalid_auth": "\u041d\u0435\u0432\u0435\u0440\u043d\u0430\u044f \u0430\u0443\u0442\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044f.",
"invalid_mfa_code": "\u041d\u0435\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u043a\u043e\u0434 MFA."
},
"step": {
"mfa": {
"data": {
"mfa_code": "\u041a\u043e\u0434 MFA (6 \u0446\u0438\u0444\u0440)"
},
"title": "\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u043a\u043e\u0434 MFA \u0434\u043b\u044f Abode"
},
"reauth_confirm": {
"data": {
"password": "\u041f\u0430\u0440\u043e\u043b\u044c",
"username": "\u0410\u0434\u0440\u0435\u0441 \u044d\u043b\u0435\u043a\u0442\u0440\u043e\u043d\u043d\u043e\u0439 \u043f\u043e\u0447\u0442\u044b"
},
"title": "Abode"
},
"user": {
"data": {
"password": "\u041f\u0430\u0440\u043e\u043b\u044c",

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

@@ -1,13 +1,28 @@
{
"config": {
"abort": {
"single_instance_allowed": "\u50c5\u80fd\u8a2d\u5b9a\u4e00\u7d44\u8a2d\u5099\u3002"
"reauth_successful": "\u91cd\u65b0\u8a8d\u8b49\u6210\u529f",
"single_instance_allowed": "\u50c5\u80fd\u8a2d\u5b9a\u4e00\u7d44\u88dd\u7f6e\u3002"
},
"error": {
"cannot_connect": "\u9023\u7dda\u5931\u6557",
"invalid_auth": "\u9a57\u8b49\u78bc\u7121\u6548"
"invalid_auth": "\u9a57\u8b49\u78bc\u7121\u6548",
"invalid_mfa_code": "\u591a\u6b65\u9a5f\u8a8d\u8b49\u78bc\u7121\u6548"
},
"step": {
"mfa": {
"data": {
"mfa_code": "\u591a\u6b65\u9a5f\u8a8d\u8b49\u78bc\uff086 \u4f4d\uff09"
},
"title": "\u8f38\u5165 Abode \u591a\u6b65\u9a5f\u8a8d\u8b49\u78bc"
},
"reauth_confirm": {
"data": {
"password": "\u5bc6\u78bc",
"username": "\u96fb\u5b50\u90f5\u4ef6"
},
"title": "\u586b\u5beb Abode \u767b\u5165\u8cc7\u8a0a"
},
"user": {
"data": {
"password": "\u5bc6\u78bc",

View File

@@ -1,4 +1,20 @@
"""Constants for AccuWeather integration."""
from homeassistant.components.weather import (
ATTR_CONDITION_CLEAR_NIGHT,
ATTR_CONDITION_CLOUDY,
ATTR_CONDITION_EXCEPTIONAL,
ATTR_CONDITION_FOG,
ATTR_CONDITION_HAIL,
ATTR_CONDITION_LIGHTNING,
ATTR_CONDITION_LIGHTNING_RAINY,
ATTR_CONDITION_PARTLYCLOUDY,
ATTR_CONDITION_POURING,
ATTR_CONDITION_RAINY,
ATTR_CONDITION_SNOWY,
ATTR_CONDITION_SNOWY_RAINY,
ATTR_CONDITION_SUNNY,
ATTR_CONDITION_WINDY,
)
from homeassistant.const import (
ATTR_DEVICE_CLASS,
CONCENTRATION_PARTS_PER_CUBIC_METER,
@@ -29,20 +45,20 @@ NAME = "AccuWeather"
UNDO_UPDATE_LISTENER = "undo_update_listener"
CONDITION_CLASSES = {
"clear-night": [33, 34, 37],
"cloudy": [7, 8, 38],
"exceptional": [24, 30, 31],
"fog": [11],
"hail": [25],
"lightning": [15],
"lightning-rainy": [16, 17, 41, 42],
"partlycloudy": [4, 6, 35, 36],
"pouring": [18],
"rainy": [12, 13, 14, 26, 39, 40],
"snowy": [19, 20, 21, 22, 23, 43, 44],
"snowy-rainy": [29],
"sunny": [1, 2, 3, 5],
"windy": [32],
ATTR_CONDITION_CLEAR_NIGHT: [33, 34, 37],
ATTR_CONDITION_CLOUDY: [7, 8, 38],
ATTR_CONDITION_EXCEPTIONAL: [24, 30, 31],
ATTR_CONDITION_FOG: [11],
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_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_WINDY: [32],
}
FORECAST_DAYS = [0, 1, 2, 3, 4]
@@ -167,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 = (
@@ -268,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

@@ -31,5 +31,11 @@
}
}
}
},
"system_health": {
"info": {
"can_reach_server": "Reach AccuWeather server",
"remaining_requests": "Remaining allowed requests"
}
}
}

View File

@@ -0,0 +1,27 @@
"""Provide info to system health."""
from accuweather.const import ENDPOINT
from homeassistant.components import system_health
from homeassistant.core import HomeAssistant, callback
from .const import COORDINATOR, DOMAIN
@callback
def async_register(
hass: HomeAssistant, register: system_health.SystemHealthRegistration
) -> None:
"""Register system health callbacks."""
register.async_register_info(system_health_info)
async def system_health_info(hass):
"""Get info for the info page."""
remaining_requests = list(hass.data[DOMAIN].values())[0][
COORDINATOR
].accuweather.requests_remaining
return {
"can_reach_server": system_health.async_check_can_reach_url(hass, ENDPOINT),
"remaining_requests": remaining_requests,
}

View File

@@ -31,5 +31,11 @@
"title": "Opcions d'AccuWeather"
}
}
},
"system_health": {
"info": {
"can_reach_server": "Servidor d'Accuweather accessible",
"remaining_requests": "Sol\u00b7licituds permeses restants"
}
}
}

View File

@@ -31,5 +31,11 @@
"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,5 +1,8 @@
{
"config": {
"error": {
"cannot_connect": "Verbindungsfehler"
},
"step": {
"user": {
"data": {
@@ -10,5 +13,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

@@ -31,5 +31,11 @@
"title": "AccuWeather Options"
}
}
},
"system_health": {
"info": {
"can_reach_server": "Reach AccuWeather server",
"remaining_requests": "Remaining allowed requests"
}
}
}

View File

@@ -0,0 +1,23 @@
{
"config": {
"error": {
"requests_exceeded": "Se super\u00f3 el n\u00famero permitido de solicitudes a la API de Accuweather. Tiene que esperar o cambiar la clave de API."
},
"step": {
"user": {
"description": "Si necesita ayuda con la configuraci\u00f3n, eche un vistazo aqu\u00ed: https://www.home-assistant.io/integrations/accuweather/ \n\nAlgunos sensores no est\u00e1n habilitados de forma predeterminada. Puede habilitarlos en el registro de entidades despu\u00e9s de la configuraci\u00f3n de integraci\u00f3n. La previsi\u00f3n meteorol\u00f3gica no est\u00e1 habilitada de forma predeterminada. Puede habilitarlo en las opciones de integraci\u00f3n.",
"title": "AccuWeather"
}
}
},
"options": {
"step": {
"user": {
"data": {
"forecast": "Pron\u00f3stico del tiempo"
},
"description": "Debido a las limitaciones de la versi\u00f3n gratuita de la clave API de AccuWeather, cuando habilita el pron\u00f3stico del tiempo, las actualizaciones de datos se realizar\u00e1n cada 64 minutos en lugar de cada 32 minutos."
}
}
}
}

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

@@ -31,5 +31,11 @@
"title": "AccuWeatheri valikud"
}
}
},
"system_health": {
"info": {
"can_reach_server": "\u00dchendus Accuweatheri serveriga",
"remaining_requests": "Lubatud taotlusi on j\u00e4\u00e4nud"
}
}
}

View File

@@ -31,5 +31,10 @@
"title": "Options AccuWeather"
}
}
},
"system_health": {
"info": {
"can_reach_server": "Acc\u00e8s au serveur AccuWeather"
}
}
}

View File

@@ -31,5 +31,11 @@
"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

@@ -31,5 +31,11 @@
"title": "AccuWeather-alternativer"
}
}
},
"system_health": {
"info": {
"can_reach_server": "N\u00e5 AccuWeather-serveren",
"remaining_requests": "Gjenv\u00e6rende tillatte foresp\u00f8rsler"
}
}
}

View File

@@ -31,5 +31,11 @@
"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

@@ -31,5 +31,11 @@
"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,8 @@
{
"system_health": {
"info": {
"can_reach_server": "Dostop do AccuWeather stre\u017enika",
"remaining_requests": "Preostalo dovoljenih zahtevkov"
}
}
}

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",
@@ -31,5 +31,11 @@
"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

@@ -3,7 +3,7 @@
"name": "Rollease Acmeda Automate",
"config_flow": true,
"documentation": "https://www.home-assistant.io/integrations/acmeda",
"requirements": ["aiopulse==0.4.0"],
"requirements": ["aiopulse==0.4.2"],
"codeowners": [
"@atmurray"
]

View File

@@ -6,7 +6,7 @@
"step": {
"user": {
"data": {
"id": "Verts-ID"
"id": "Vert ID"
},
"title": "Velg en hub du vil legge til"
}

View File

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

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

@@ -4,6 +4,9 @@
"existing_instance_updated": "Bestehende Konfiguration wurde aktualisiert.",
"single_instance_allowed": "Es ist nur eine einzige Konfiguration von AdGuard Home zul\u00e4ssig."
},
"error": {
"cannot_connect": "Verbindungsfehler"
},
"step": {
"hassio_confirm": {
"description": "M\u00f6chtest du Home Assistant so konfigurieren, dass eine Verbindung mit AdGuard Home als Hass.io-Add-On hergestellt wird: {addon}?",

View File

@@ -1,5 +1,8 @@
{
"config": {
"error": {
"cannot_connect": "Sikertelen csatlakoz\u00e1s"
},
"step": {
"user": {
"data": {

View File

@@ -9,7 +9,7 @@
},
"step": {
"hassio_confirm": {
"description": "Czy chcesz skonfigurowa\u0107 Home Assistant, aby po\u0142\u0105czy\u0142 si\u0119 z AdGuard Home przez dodatek Hass.io {addon}?",
"description": "Czy chcesz skonfigurowa\u0107 Home Assistanta, aby po\u0142\u0105czy\u0142 si\u0119 z AdGuard Home przez dodatek Hass.io {addon}?",
"title": "AdGuard Home przez dodatek Hass.io"
},
"user": {

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

@@ -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,6 +1,6 @@
"""Constants used by Advantage Air integration."""
DOMAIN = "advantage_air"
ADVANTAGE_AIR_RETRY = 5
ADVANTAGE_AIR_RETRY = 10
ADVANTAGE_AIR_STATE_OPEN = "open"
ADVANTAGE_AIR_STATE_CLOSE = "close"
ADVANTAGE_AIR_STATE_ON = "on"

View File

@@ -1,5 +1,8 @@
{
"config": {
"error": {
"cannot_connect": "Verbindungsfehler"
},
"step": {
"user": {
"data": {

View File

@@ -0,0 +1,9 @@
{
"config": {
"step": {
"user": {
"title": "Conectar"
}
}
}
}

View File

@@ -0,0 +1,17 @@
{
"config": {
"error": {
"cannot_connect": "Sikertelen csatlakoz\u00e1s"
},
"step": {
"user": {
"data": {
"ip_address": "IP c\u00edm",
"port": "Port"
},
"description": "Csatlakozzon az Advantage Air fali t\u00e1blag\u00e9p API-j\u00e1hoz.",
"title": "Csatlakoz\u00e1s"
}
}
}
}

View File

@@ -0,0 +1,17 @@
{
"config": {
"error": {
"cannot_connect": "\u10db\u10d0\u10e0\u10ea\u10ee\u10d8 \u10e8\u10d4\u10d4\u10e0\u10d7\u10d4\u10d1\u10d8\u10e1\u10d0\u10e1"
},
"step": {
"user": {
"data": {
"ip_address": "IP \u10db\u10d8\u10e1\u10d0\u10db\u10d0\u10e0\u10d7\u10d8",
"port": "\u10de\u10dd\u10e0\u10e2\u10d8"
},
"description": "\u10d3\u10d0\u10e3\u10d9\u10d0\u10d5\u10e8\u10d8\u10e0\u10d3\u10d8\u10d7 \u10d7\u10e5\u10d5\u10d4\u10dc\u10d8 Advantage Air API-\u10e1 \u10d9\u10d4\u10d3\u10d4\u10da\u10d6\u10d4 \u10d3\u10d0\u10db\u10dd\u10dc\u10e2\u10d0\u10df\u10d4\u10d1\u10e3\u10da\u10d8 \u10e2\u10d0\u10d1\u10da\u10d4\u10e2\u10d8\u10d7",
"title": "\u10d3\u10d0\u10d9\u10d0\u10d5\u10e8\u10d8\u10e0\u10d4\u10d1\u10d0"
}
}
}
}

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,9 @@
{
"config": {
"step": {
"user": {
"title": "Pove\u017eite se"
}
}
}
}

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 Konfigurationsfluss f\u00fcr das Ger\u00e4t wird bereits ausgef\u00fchrt.",
"cannot_connect": "Verbindungsfehler"
},
"step": {
"user": {

View File

@@ -1,5 +1,8 @@
{
"config": {
"error": {
"cannot_connect": "Sikertelen csatlakoz\u00e1s"
},
"step": {
"user": {
"data": {

View File

@@ -0,0 +1,7 @@
{
"config": {
"error": {
"cannot_connect": "\u10db\u10d0\u10e0\u10ea\u10ee\u10d8 \u10e8\u10d4\u10d4\u10e0\u10d7\u10d4\u10d1\u10d8\u10e1\u10d0\u10e1"
}
}
}

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

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

@@ -5,15 +5,17 @@ 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_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,
DOMAIN,
NO_AIRLY_SENSORS,
)
from .const import DOMAIN, NO_AIRLY_SENSORS # pylint:disable=unused-import
class AirlyFlowHandler(config_entries.ConfigFlow, domain=DOMAIN):
@@ -22,13 +24,9 @@ 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 = {}
websession = async_get_clientsession(self.hass)
@@ -37,75 +35,57 @@ 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_valid = await test_location(
websession,
user_input["api_key"],
user_input["latitude"],
user_input["longitude"],
)
except AirlyError as err:
if err.status_code == HTTP_UNAUTHORIZED:
errors["base"] = "invalid_api_key"
else:
if not location_valid:
self._errors["base"] = "wrong_location"
errors["base"] = "wrong_location"
if not self._errors:
return self.async_create_entry(
title=user_input[CONF_NAME], data=user_input
)
if not errors:
return self.async_create_entry(
title=user_input[CONF_NAME], data=user_input
)
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):
"""Return true if location is valid."""
airly = Airly(api_key, client)
measurements = airly.create_measurements_session_point(
latitude=latitude, longitude=longitude
)
async def _test_location(self, client, api_key, latitude, longitude):
"""Return true if location is valid."""
with async_timeout.timeout(10):
await measurements.update()
with async_timeout.timeout(10):
airly = Airly(api_key, client)
measurements = airly.create_measurements_session_point(
latitude=latitude, longitude=longitude
)
current = measurements.current
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

@@ -19,5 +19,10 @@
"abort": {
"already_configured": "[%key:common::config_flow::abort::already_configured_location%]"
}
},
"system_health": {
"info": {
"can_reach_server": "Reach Airly server"
}
}
}

View File

@@ -0,0 +1,22 @@
"""Provide info to system health."""
from airly import Airly
from homeassistant.components import system_health
from homeassistant.core import HomeAssistant, callback
@callback
def async_register(
hass: HomeAssistant, register: system_health.SystemHealthRegistration
) -> None:
"""Register system health callbacks."""
register.async_register_info(system_health_info)
async def system_health_info(hass):
"""Get info for the info page."""
return {
"can_reach_server": system_health.async_check_can_reach_url(
hass, Airly.AIRLY_API_URL
)
}

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

@@ -18,5 +18,10 @@
"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": "Reach Airly server"
}
}
}

View File

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

View File

@@ -19,5 +19,10 @@
"title": ""
}
}
},
"system_health": {
"info": {
"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,7 @@
{
"system_health": {
"info": {
"can_reach_server": "Airly sunucusuna eri\u015fin"
}
}
}

View File

@@ -10,5 +10,10 @@
}
}
}
},
"system_health": {
"info": {
"can_reach_server": "\u53ef\u8bbf\u95ee Airly \u670d\u52a1\u5668"
}
}
}

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