Compare commits

...

1338 Commits

Author SHA1 Message Date
Paulus Schoutsen
8e4a325fdb Bumped version to 0.117.0b2 2020-10-22 23:33:34 +00:00
Alexei Chetroi
868b14f151 Update ZHA dependencies (#42245) 2020-10-22 23:33:22 +00:00
Bram Kragten
e660577e43 Update frontend to 20201021.2 (#42242) 2020-10-22 23:33:21 +00:00
J. Nick Koston
69cace1d41 Ensure websocket event serializer cache is effective if subscription iden differs (#42226)
Since someone websocket subscriptions will use an iden of 2 for
state_changed event (most comment), and some will use another
number for all events, the cache would not be used because the
iden number was different.  We now cache only the event and
use a fast replace to insert the iden number into the serailized
response.
2020-10-22 23:33:20 +00:00
Anders Melchiorsen
4f908bc58c Refresh now() templates on second=0 (#42225) 2020-10-22 23:33:20 +00:00
rikroe
d00ca7bf03 Bump bimmer-connected to 0.7.8 to fix login issue (#42215)
Co-authored-by: rikroe <rikroe@users.noreply.github.com>
2020-10-22 23:33:19 +00:00
Tom Harris
65eb5ea55f Fix issue in python > 3.8.2 (#42213) 2020-10-22 23:33:18 +00:00
Niccolo Zapponi
3586e0c5e4 Fix bug for SimpliSafe 2 systems repeatedly saying "your settings have been synchronised" (#42197)
* Fix bug for SimpliSafe 2 systems

* Improved loop and logging for SimpliSafe 2
2020-10-22 23:33:18 +00:00
Raman Gupta
e0621d2e5f Set Vizio unique ID for discovery flow early and abort if configured to prevent duplicate discovery flows (#42194) 2020-10-22 23:33:17 +00:00
Erik Montnemery
1fb1bb0c08 Support reloading Tasmota config entries (#42097) 2020-10-22 23:33:16 +00:00
cgtobi
6c5e2af379 Add Netatmo sensor enable default (#41928) 2020-10-22 23:33:15 +00:00
Guido Schmitz
fcbe90cb80 Fix precision of climate devices in devolo Home Control (#41832) 2020-10-22 23:33:15 +00:00
HomeAssistant Azure
3eece977f8 [ci skip] Translation update 2020-10-22 09:21:20 +02:00
Bram Kragten
f1de6bf6b4 Bumped version to 0.117.0b1 2020-10-22 00:24:25 +02:00
Aaron Bach
a8342d9395 Bump simplisafe-python to 9.5.1 (#42179) 2020-10-22 00:22:21 +02:00
J. Nick Koston
66453429b0 Avoid overloading the executor with service.yaml loads (#42172) 2020-10-22 00:22:19 +02:00
uvjustin
a83a5a2603 Remove duplicated finalize_stream code in stream (#42171) 2020-10-22 00:22:19 +02:00
Bram Kragten
bfd943c5dc Updated frontend to 20201021.1 (#42185) 2020-10-22 00:20:31 +02:00
Aaron Bach
1ea103f090 Remove coordinator success from SimpliSafe availability calculation (#42180) 2020-10-22 00:20:30 +02:00
Franck Nijhof
db0cd34b24 Bumped version to 0.117.0b0 2020-10-21 20:57:05 +02:00
Franck Nijhof
813406573b Add counter and timer to default_config (#42174) 2020-10-21 20:53:20 +02:00
Robert Svensson
1a97b0edd9 Fix deCONZ device refresh service (#42175) 2020-10-21 20:35:19 +02:00
Bram Kragten
e7d806c832 Update frontend to 20201021.0 (#42173) 2020-10-21 20:21:22 +02:00
Pascal Vizeli
208ccc6487 Update base image to 2020.10.0 (#42167) 2020-10-21 19:40:06 +02:00
Philip Allgaier
bd1d6f2c0d Add link to log view in persistent notification (#42060) 2020-10-21 12:09:45 -05:00
Robert Svensson
a62db7887b Bump Axis dependency (#42168) 2020-10-21 17:48:57 +02:00
Jason Heddings
1fe5928818 Handle type error in hunterdouglas_powerview (#42137) 2020-10-21 10:37:23 -05:00
Kevin Cathcart
754ba18af0 Add persistent_notification service to the notify platform (#40638)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-10-21 17:12:36 +02:00
J. Nick Koston
df2ede6522 Fix state overwrite race condition where two platforms request the same entity_id (#42151)
* Fix state overwrite race condition where two platforms request the same entity id

* fix test

* create reservations instead

* revert

* cannot use __slots__ because we patch async_all
2020-10-21 17:01:51 +02:00
Quentame
bb641c23a9 Bump python-synology to 1.0.0 (#42161) 2020-10-21 16:42:07 +02:00
Paulus Schoutsen
5626a379de Guard bad supported features for Google (#42163) 2020-10-21 16:37:42 +02:00
Chris Talkington
d8577a1550 Add config flow for cloudflare (#41167)
* add config flow for cloudflare

* Create const.py

* work on flow.

* remove const.

* lint.

* Apply suggestions from code review

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

* Update config_flows.py

* Update homeassistant/components/cloudflare/strings.json

* Apply suggestions from code review

* Apply suggestions from code review

* Apply suggestions from code review

* Update strings.json

* Apply suggestions from code review

* Update __init__.py

* Update __init__.py

Co-authored-by: J. Nick Koston <nick@koston.org>
2020-10-21 09:09:00 -05:00
Erik Montnemery
e203896638 Align MQTT light's default color temperature (#41842) 2020-10-21 15:46:29 +02:00
On Freund
a07c0d1605 Fallback to mac in Shelly config flow title (#40783) 2020-10-21 15:05:06 +02:00
CurrentThread
c1ebad8c97 Clean up filesize unittest test file in test tear down (#42143) 2020-10-21 13:47:30 +02:00
CurrentThread
bb1b210047 Use async_load_platform in test_discover_notify unittest (#42142) 2020-10-21 13:47:10 +02:00
Franck Nijhof
767c94f9c3 Merge branch 'master' into dev 2020-10-21 13:44:54 +02:00
Maciej Bieniek
f855ff8751 Bump aioshelly library to 0.4.0 (#41905)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-10-21 13:37:17 +02:00
Olen
abeff01626 Add async_setup_entry to calendar platform (#42075) 2020-10-21 13:20:34 +02:00
Kevin Cathcart
0674ae6205 Fix pico tts errors (#41619)
Enabled the use of mutagen in unit tests.
Added a test for tagging a minimal .wav file.
2020-10-21 11:58:07 +02:00
J.P. Hutchins
c677489535 Handle Fritz exception and log warning (#42145) 2020-10-21 11:02:44 +02:00
Franck Nijhof
5671063ddc Upgrade sentry-sdk to 0.19.1 (#42132) 2020-10-21 11:01:11 +02:00
Dermot Duffy
83e843820b Use the beautiful ambient light icon (#42153) 2020-10-21 11:00:19 +02:00
Paulus Schoutsen
45345ddc05 Improve handling of ignored entries (#42148) 2020-10-21 10:49:09 +02:00
Rob Bierbooms
177bda01e8 Rewrite zwave init tests to pytest style test function (phase 2) (#41431) 2020-10-21 10:19:47 +02:00
Allen Porter
52b66e88c7 Update Nest integration to support Google Nest Device Access (new API) (#41689)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-10-21 10:17:49 +02:00
Jeff Irion
9bc0509f28 Bump androidtv to 0.0.52 (#42155) 2020-10-21 09:51:13 +02:00
dmonego
1cacca6568 Update mqtt_eventstream tests to pytest style functions (#42119) 2020-10-21 04:07:48 +02:00
HomeAssistant Azure
00847db54f [ci skip] Translation update 2020-10-21 00:06:01 +00:00
cgtobi
70969ecbfb Add attribute for camera light state (#40575) 2020-10-20 21:57:00 +02:00
Brett
582074d1db Improve Advantage Air integration to Platinum quality (#41996)
* Rename to ADVANTAGE_AIR_DOMAIN

* Remove attributes from binary sensor platform

* Handle other motionConfig values

* Restructure

* Unloading

* Fix unloading

* PARALLEL_UPDATES

* Remove pointless check

* Rollup to sensor

* Rollup to switch platform

* @ctalkington suggestion of added __init__ back

* Fix unload test

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

* Fix ENTRY_STATE_NOT_LOADED

* Update test docstring

* Remove obsolete __init__'s

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

* Remove unused __init__ from cover

* Code Quality 🏆 Platinum

* Re-push manifest.json

Co-authored-by: Chris Talkington <chris@talkingtontech.com>
2020-10-20 13:30:09 -05:00
J. Nick Koston
023268df38 Update nuheat exception handling (#42127)
* Update nuheat exception handling

* remove unneeded exception handler
2020-10-20 20:22:10 +02:00
Brian Rogers
199464f084 Add rachio service to start multiple zones (#42092) 2020-10-20 13:14:39 -05:00
J. Nick Koston
5a907095e5 Remove logging from state in flume (#42126) 2020-10-20 16:41:06 +02:00
Tim Werner
e5aa5e2c35 rewrite mqtt unittest tests to pytest style (#42122) 2020-10-20 16:35:49 +02:00
Yuval Aboulafia
6c3362217e Add light group icon (#42091) 2020-10-20 13:54:43 +02:00
Rob Bierbooms
be431ce12a Set should_poll property for DSMR integration (#42108) 2020-10-20 12:14:09 +02:00
wouterbaake
1363fbb02a Set force_update property for DSMR integration (#42086) 2020-10-20 09:45:43 +02:00
Robert Svensson
1303d20064 Adapt Axis integration to async HTTPx calls (#42095) 2020-10-20 09:31:04 +02:00
rajlaud
fcdb54d878 Add browse media support to squeezebox integration (#40642)
* Add browse media support to squeezebox integration

* Move browse media logic to browse_media.py

* Fix missing command when loading single url

* Update .coveragerc

* Handle empty library gracefully

* Apply suggestions from code review

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

* Implement suggestions from code review

* Additional suggestion from code review

* Use MEDIA_CLASS_GENRE

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-10-20 01:17:00 -05:00
Colin Robbins
b3a97c7b42 Bump lightwave to 0.19 (#42033)
* Python 3.9 compatibilty

* Python 3.9 compatibility
2020-10-20 03:03:35 +02:00
HomeAssistant Azure
81296b2b70 [ci skip] Translation update 2020-10-20 00:08:00 +00:00
jjlawren
e6e4c9cf59 Allow Cast to play Plex media (#41869)
* Allow Cast to play Plex media

* Add Plex to after_dependencies, add missing constant

* Extract function from Sonos service to allow media lookups

* Move to non-async method

* Check if media_id exists

* Add test to make codecov happy
2020-10-19 16:34:22 -05:00
dmonego
c8821d930e Move sleepiq tests to pytest style functions (#42018) 2020-10-19 23:31:33 +02:00
CurrentThread
e129ea4db7 Rewrite demo unittest tests to pytest style test functions (#41845) 2020-10-19 23:29:44 +02:00
CurrentThread
7e3aa6ddce Rewrite remote unittest tests to pytest style test functions and remove legacy test helpers (#41715) 2020-10-19 23:28:40 +02:00
Alexander Pitkin
f5f4570a29 Rewrite alert test to pytest (#41102)
* Rewrite alert test to pytest

* Rewrite alert test to pytest. Add mock_notifier fixture
2020-10-19 23:26:40 +02:00
Paulus Schoutsen
b8417a2ce2 Do not allow coroutines to be passed to HassJob (#42073)
Co-authored-by: J. Nick Koston <nick@koston.org>
2020-10-19 23:25:33 +02:00
Erik Montnemery
ec7f329807 Add support for Tasmota status sensor (#41782)
* Add sensor attributes, remove useless test.

* Fix tests

* Rework handling of sensor attributes

* Remove unused sensor attributes

* Hide status sensors

* Bump hatasmota to 0.0.19

* Use DEVICE_CLASS_SIGNAL_STRENGTH for WiFi signal sensor

* Improve test coverage

* Fix tests
2020-10-19 22:07:31 +02:00
ehendrix23
4da6c22338 Update pymyq to 2.0.8 (#42088) 2020-10-19 20:11:21 +02:00
Robert Svensson
de98168211 Axis lib migrates to httpx (#42054)
* Clean up some parameter naming

* Bump lib

* Bump to v39
2020-10-19 20:01:25 +02:00
Rihan9
d01a96d1ce Fix onvif sensor detection and onvif stop service call (#41949)
* Fix stop service call after movement, add new parser for topic: tns1:RuleEngine/MotionRegionDetector/Motion

* Fix PullMessages call and formatting Stop call

* Fix timeout on pullmessages call

* Fix black and flake8 detected issues

* add SetSynchronizationPoint with try/except block
2020-10-19 13:01:34 -04:00
epenet
4459c843ea Deprecate OWFS/FUSE implementation in onewire integration (#42041)
* Add warning

* Fix black

* Combine logging messages

* Combine logging messages
2020-10-19 18:23:43 +02:00
Jeff Irion
5db01ed7cf Bump androidtv to 0.0.51 (add support for Google TV devices) (#42047) 2020-10-19 10:58:56 -05:00
dependabot[bot]
83d01ee857 Bump codecov/codecov-action from v1.0.13 to v1.0.14 (#42070)
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from v1.0.13 to v1.0.14.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Commits](https://github.com/codecov/codecov-action/compare/v1.0.13...7d5dfa54903bd909319c580a00535b483d1efcf3)

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-10-19 17:41:58 +02:00
Paulus Schoutsen
440570244d Don't swallow all errors when checking for config validator platform (#42058) 2020-10-19 17:09:57 +02:00
Paulus Schoutsen
8d4675713a Fix event test (#42078) 2020-10-19 16:50:46 +02:00
Ronan Murray
16c402f583 Rewrite nsw_fuel_station tests to pytest style (#41171) 2020-10-19 12:19:39 +02:00
Rob Bierbooms
5e98bdb19c Rewrite openhardwaremonitor tests to pytest style test functions (#41157) 2020-10-19 12:18:34 +02:00
Sebastian Rodriguez
226a6f7584 Rewrite time_date unittest tests to pytest style test functions (#41149) 2020-10-19 12:14:07 +02:00
CurrentThread
6b409dc811 Rewrite filesize unittest tests to pytest style test functions (#41421) 2020-10-19 12:10:53 +02:00
thaohtp
a57d1c1bf0 Rewrite efergy unittest tests to pytest style test functions. (#41769)
Issue: https://github.com/home-assistant/core/issues/40836
2020-10-19 12:09:39 +02:00
Adam Cooper
fe7c8dd80a Migrated coinmarketcap tests to utilise pytests instead of unittests (#42013) 2020-10-19 12:08:55 +02:00
Julian Engelhardt
97b1fffad4 Geo rss test style (#42038) 2020-10-19 11:59:04 +02:00
dvermd
5a533a8c5d Rewrite datadog tests to pytest (#42059) 2020-10-19 11:57:01 +02:00
thaohtp
6f4be7882b Rewrite logentries unittest tests to pytest style test functions (#41852)
* Rewrite logentries unittest tests to pytest style test functions.

Issue: https://github.com/home-assistant/core/issues/40862

* Import mock correctly

* Fix mock import

* Fix failure in formatting.

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-10-19 11:30:40 +02:00
J. Nick Koston
31c21126a8 Implement time tracking in templates (#41147)
Co-authored-by: Anders Melchiorsen <amelchio@nogoto.net>
2020-10-19 11:02:43 +02:00
Paulus Schoutsen
8949eb2442 Add httpx as a core dep (#42071) 2020-10-19 10:18:47 +02:00
J. Nick Koston
77b95ae8a1 Reduce domain states rate limit to 1 per second (#42004) 2020-10-19 10:18:25 +02:00
J. Nick Koston
3a9b2392f8 Suppress domain and all listeners during template rate limit (#42005) 2020-10-19 10:17:51 +02:00
Cristian Asenjo
344514601d Sort Kodi BrowseMedia children TV Shows and Movies (#41377) 2020-10-19 09:55:17 +02:00
J. Nick Koston
9649525fe6 Increase coverage and optimize history skip_initial_state (#42014)
Avoids a database query when all states have not
changed in the time window when skip_initial_state
is set.
2020-10-19 09:53:47 +02:00
Paulus Schoutsen
388a5d8c91 Add entity ID to time trigger (#41933) 2020-10-19 09:42:00 +02:00
Colin Robbins
6f8e3d2544 Update stream integration for Python 3.9 which removed isAlive from threading in favor of is_alive (#42051)
Python 3.9 compact
2020-10-18 23:42:50 -04:00
Jason Hunter
33f0bf4c4a Do not guess app state in Xbox integration (#42067) 2020-10-18 23:30:44 -04:00
Jason Hunter
5a397312e7 Update ONVIF to Zeep 4.0/httpx (#42020)
* convert to httpx and zeep 4.0

* fix tests

* add onvif-zeep-async to manifest

* pin zeep to fool CI cache

* address review comments
2020-10-18 23:29:53 -04:00
Glenn Waters
304b9f47b4 ElkM1 fix auto-configure. (#42064)
The elkm1-lib autoconfigure set the `configured` flag based on an
attribute of the element being changed. This approach misses counters
and thermostats. It also does not work well well an "unconfigured"
element's default value is different from what is on the panel. This
was the case for zones (the `area` attribute was different).

The fix in the library is to mark an element as `configured` when
the element has a name associated with it. This change is
technically breaking, although I imagine, few if any people will be
affected as (1) they configure names on all elements (2) the
functionality was not working properly, so element would not be missing.

The HA docs will be updated to add a section on autoconfigure. It will
describe that to have an element automatically configured then the
element must be configured on the ElkM1 panel with a name.

This particular patch is required for ElkM1 areas. The existing logic
assumes that an area is configured if it has an associated keypad. Not
all areas have keypads (I have an area only armable with HA). The
library fix should catch all configured areas.
2020-10-18 19:48:20 -05:00
HomeAssistant Azure
59a3add24a [ci skip] Translation update 2020-10-19 00:03:28 +00:00
J. Nick Koston
c86dfeb6e2 Remove double timeout from gogogate2 (#42052) 2020-10-18 15:46:13 -05:00
Paulus Schoutsen
6ab9b7355f Add tests for singleton decorator (#42055) 2020-10-18 22:41:22 +02:00
Eugene Prystupa
6366872119 Add support for Bond fireplaces with integrated lights (#41255) 2020-10-18 14:11:24 -05:00
Guido Schmitz
e5eae22ad8 Disable less popular entities in devolo Home Control (#41945) 2020-10-18 14:07:24 -05:00
Bas Nijholt
2604bf59ad Set keyword arguments in DemoLight (#42040)
I noticed that the signature was very hard to read when working on https://github.com/home-assistant/core/pull/40626.
2020-10-18 13:57:35 -05:00
scheric
22b360a10e Use common strings in ambiclimate config flow (#41772)
* already_configured_account->already_configured

* add authenticated string

* oauth2_missing_...->missing_configuration
2020-10-18 20:55:32 +02:00
Ronaldo Lima
d6d17aa295 Replace invalid credentials with common string invalid_auth (#41997)
* add GeoNet NZ Volcano to home-assistant#40578

* move invalid_credentials

* revert geonet nz volkano

* change invalid_credentials to invalid_auth

* change translation keys
2020-10-18 13:55:01 -05:00
scheric
24cfca812e Use common strings in sharkiq config flow (#41773)
* already_configured_account->already_configured

* remove already_configured_account

* already_configured_account->already_configured
2020-10-18 20:50:58 +02:00
J. Nick Koston
8c27a99386 Convert nuheat to use DataUpdateCoordinator (#42034)
* Convert nuheat to use DataUpdateCoordinator

* coverage

* Update homeassistant/components/nuheat/climate.py
2020-10-18 13:45:47 -05:00
J. Nick Koston
37df7bf4c5 Convert flume to use DataUpdateCoordinator (#42017)
* Convert flume to use DataUpdateCoordinator

* pylint

* Update homeassistant/components/flume/sensor.py

* Update homeassistant/components/flume/sensor.py
2020-10-18 13:44:36 -05:00
J. Nick Koston
6c1078d1ca Reduce ssdp context switches into the executor (#42045)
* Reduce ssdp context switches into the executor

* no self use
2020-10-18 13:44:01 -05:00
shbatm
c4821bfa74 Improve ISY994 NodeServer sorting and format sensor display values (#42050) 2020-10-18 13:33:45 -05:00
Brig Lamoreaux
a17da16dd2 Use common strings in xiaomi_aqara (#41866)
* Use common strings in xiaomi_aqara

* Remove mixed strings
2020-10-18 20:32:18 +02:00
Brett
5fab68725d Add Switch platform to Advantage Air (#41995)
* Add Switch platform

* Rename DOMAIN in climate

* Revert "Rename DOMAIN in climate"

This reverts commit 271ac7b8a5.

* Update unique_id

* Use constants

* Add switch platform to init

* Fix path for change

* Add tests

* Fix indentation of async_add_entities
2020-10-18 13:30:53 -05:00
Aaron Bach
91fd59aa57 Fix incorrect initial state with SimpliSafe locks (#42039)
* Fix incorrect initial state with SimpliSafe locks

* Cleanup
2020-10-18 12:21:48 -06:00
shbatm
941453dca9 Upgrade PyISY to v2.1.0, add support for variable precision (#42043) 2020-10-18 11:45:15 -05:00
Felipe Martins Diel
d96a1744f0 Improve RemoteEntity class (#40605) 2020-10-18 08:59:36 -05:00
Ronaldo Lima
1355d285e8 Remove unused strings in deCONZ config flow (#41978) 2020-10-18 15:26:40 +02:00
David Straub
6b77633e6e Bump homeconnect to 0.6.3 (#42022) 2020-10-18 10:33:19 +02:00
HomeAssistant Azure
1a03bbda5a [ci skip] Translation update 2020-10-18 00:03:28 +00:00
Erik Montnemery
515a6479a4 Bump hatasmota to 0.0.18 (#42000)
* Bump hatasmota to 0.0.17

* Bump hatasmota to 0.0.18
2020-10-18 00:00:28 +02:00
Aaron Bach
95f66ff4d5 Add low battery sensor for SimpliSafe locks (#42010) 2020-10-17 14:41:01 -05:00
Aaron Bach
8b6336a91a Move SimpliSafe REST API to DataUpdateCoordinator (#41919)
* Mirgrate SimpliSafe REST API to DataUpdateCoordinator

* Docstring

* More work

* Good to go

* Linting

* Restore previous initial event check

* Linting

* Comment

* Simplify listener

* Code review

* Cleanup
2020-10-17 14:40:34 -05:00
J. Nick Koston
183f94364a Parse html in the executor for scrape sensors (#41987) 2020-10-17 18:57:59 +02:00
Robert Svensson
c6c617ed31 Improve device registry for host and deCONZ service (#41786) 2020-10-17 11:44:23 -05:00
mezz64
92669d33aa Bump pyEmby to 1.7 (#41984) 2020-10-17 11:35:23 -05:00
Brett
e71d851973 Add Sensor Platform to Advantage Air (#41870)
* WIP Add Sensor platform

* Code quality improvements

* Readability improvements

* Fix RSSI in fixture

* Sensor platform tests

* Created parent sensor class

* Fix DOMAIN namespace

* Code Coverage fix for impossible case

* Use parent class

* Add to fixture for code coverage

* Description Update

* Use consistent name for ADVANTAGE_AIR_DOMAIN

Co-authored-by: Robert Svensson <Kane610@users.noreply.github.com>

* Set ADVANTAGE_AIR_DOMAIN where required

Co-authored-by: Robert Svensson <Kane610@users.noreply.github.com>
2020-10-17 11:29:36 -05:00
marecabo
2443f5d108 Add device classes to battery, illuminance and temperature miflora sensor (#41975) 2020-10-17 11:25:26 -05:00
Erik Montnemery
5d1b4f5c87 Bump pychromecast to 7.5.1 (#41991) 2020-10-17 11:22:58 -05:00
Robert Svensson
7eb532ddd0 Improve imports in deCONZ tests (#41976)
* Improve imports in deconz tests

* Add spacing
2020-10-17 11:20:06 -05:00
Aaron Bach
1b94ef69d8 Migrate IQVIA to DataUpdateCoordinator (#41970)
* Migrate IQVIA to DataUpdateCoordinator

* Linting

* Code review

* Better re-raise
2020-10-17 11:16:41 -05:00
J. Nick Koston
c0845a3650 Prevent ios sensor updates from running in the executor (#41986)
The update was only checking an existing dict
2020-10-17 15:38:42 +02:00
J. Nick Koston
d9fbde4f6c Prevent doorbird from creating many executor jobs (#41985) 2020-10-17 15:35:24 +02:00
Ronaldo Lima
121613f5e6 Use common string in GeoNet NZ Volcano (#41981)
* add GeoNet NZ Volcano to home-assistant#40578

* change key from already_configured_location to already_configured on GeoNet NZ Volkano
2020-10-17 15:07:44 +02:00
Stuart Mumford
d0b1b0a39e Bump oemthermostat to 1.1.1 (#41998)
The library update is a packaging fix for upcoming pip dependency
resolution
2020-10-17 14:05:22 +02:00
Paulus Schoutsen
39ba0fc7ee Remove BOM integration because it uses webscraping (#41941)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-10-17 13:56:11 +02:00
Gautham Varma K
ee1b6d3195 Use common strings in denonavr integration (#41746) 2020-10-17 13:34:51 +02:00
Gautham Varma K
622c56b6a7 Use common strings in emulated roku (#41745)
* Use common strings in emulated roku

Replace IP and port with references from common strings

* Update strings.json

*Replace References in mix with sentence with their values.
*Replace name_exists with already_configured

* Replace references in config_flow
2020-10-17 13:13:05 +02:00
Erik Montnemery
49b7f317ff Fix Tasmota stale docstring + print level (#41992) 2020-10-17 13:07:21 +02:00
Anders Melchiorsen
30b454ddb7 Fix Sonos shuffle/repeat state with Spotify Connect (#41939) 2020-10-17 09:40:43 +02:00
J. Nick Koston
5580b21260 Decouple RestData from rest.sensor (#41980) 2020-10-17 04:56:45 +02:00
Philip Allgaier
dde6305549 Cleanup unused loggers (components N-Z + tests) (#41982) 2020-10-16 21:24:08 -05:00
J. Nick Koston
ad6ce5fa83 Convert rest sensors to async using httpx (#41973) 2020-10-16 19:21:13 -05:00
HomeAssistant Azure
39adf14079 [ci skip] Translation update 2020-10-17 00:06:00 +00:00
Abílio Costa
28fb761b01 Use skip_configuration flag to skip requests in ZHA (#41554)
* Remove duplicated attribute request from ZHA

The on_off attribute is on the REPORT_CONFIG, so
super().async_initialize already requests it from the device.
No need to request it twice.

* Use skip_configuration flag to skip requests in ZHA

* Fix loading from cache

* Fix loading from cache condition
2020-10-16 20:03:35 -04:00
Alexei Chetroi
c29f613b1d Fix schema for set_zigbee_cluster_attribute service (#41850) 2020-10-16 20:02:14 -04:00
Ronaldo Lima
87deb2344c Use common strings in Azure DevOps config flow (#41974) 2020-10-17 01:27:44 +02:00
Aaron Bach
74a1b75919 Deprecate YAML config for RainMachine (0.119 removal) (#41971) 2020-10-16 16:35:13 -05:00
Jaroslav Hanslík
3e82cc1b4f Add arming state to template alarm control panel (#41964) 2020-10-16 23:01:06 +02:00
Jaroslav Hanslík
b7f818e431 Fix typo in comment in demo integration (#41955) 2020-10-16 22:53:16 +02:00
João Gabriel
554246f061 Add device_class to Panasonic Viera media player entity (#41966) 2020-10-16 22:13:27 +02:00
Quentame
7469bd9266 Wait Synology NAS boot before configuring (#41829) 2020-10-16 14:39:20 -05:00
Jason Hunter
d5bf27427c Fix media source for Xbox integration (#41959)
* fix media content type

* fix comments
2020-10-16 15:02:24 -04:00
Brett
ca9ac48938 Add Binary Sensor Platform to Advantage Air (#41871)
* Binary Sensor Platform

* Parent Binary Sensor Class

* Fix DOMAIN namespace

* Use parent class
2020-10-16 12:12:24 -05:00
Aaron Bach
bbef87d3f3 Clean up SimpliSafe device info and sensor creation (#41920)
* Clean up SimpliSafe device info and sensor creation

* Code review
2020-10-16 12:01:16 -05:00
Robert Svensson
1c3ec69166 Remove deprecated UniFi yaml configuration support (#41954) 2020-10-16 11:55:44 -05:00
Robert Svensson
028689d6bd Remove update on add signalling in Axis integration (#41956)
Minor clean up of the integration
2020-10-16 11:54:48 -05:00
ioull
cb60905415 Add Bancs de Brouillard in fog condition (#41947)
* Add Bancs de Brouillard in fog condition

* Add Bancs de Brouillard in fog condition
2020-10-16 18:30:17 +02:00
uvjustin
ce0e08838f Fix timestamp overflow error in stream (#41951) 2020-10-16 11:48:45 -04:00
Aaron Bach
eff0c4a494 Properly unload SimpliSafe websocket listener (#41952) 2020-10-16 17:44:53 +02:00
Robert Svensson
8c0b39eb9c No update before adding entity in deCONZ (#41948) 2020-10-16 17:14:26 +02:00
Rob Bierbooms
92f89213a3 Fix InfluxDB v2 API with write precision None (#41937) 2020-10-16 16:44:50 +02:00
J. Nick Koston
1e256e6122 Remove unneeded async_add_job from homematic (#41855) 2020-10-16 09:24:12 -05:00
Robert Svensson
85ccff28cd Revert partial changes to deCONZ integration from earlier PR (#41943) 2020-10-16 14:38:12 +02:00
Punita Ojha
23b3db08f3 Rewrite smtp Unittest Tests To Pytest Style (#41720)
* Rewrite smtp unittest tests to pytest style
test functions.

.coverage.rc  --> Remove homeassistant/component/smtp/notify.py from
omit section.
test_notify.py --> Convert test case to pytest style.
test.jpg, test.pdf --> Add test files.

Issue id:- #40894

* Made Fix Based On Code Review
To Pull Request -  #41720.

.coveragerc --> Add file in omit section as coverage is 75%(i.e. <95%)
test_notify.py --> Capitalize constant in file, Made parametrized data
compatible to avoid if conditions.

Code Review Submission on Pull Request #41720.

* Made Fix Based On Code Review
To Pull Request #41720.

test_notify.py --> Add different test for simple text message to avoid if conditions check in code.

* Move Notify Media Files To
 Folder tests/testing_config/notify.

 test_notify.py --> Add Relevant Path For .jpg and .pdf file.
 test.jpg, test.pdf --> Move to relevant location.

 Pull request #41720
2020-10-16 13:55:12 +02:00
Marc Kolly
8bcae65dd8 Add missing Extended GTFS Route Types (#40297) 2020-10-16 13:51:05 +02:00
scheric
db802ff2b4 Use common strings in Mill config flow (#41836) 2020-10-16 13:44:41 +02:00
Chris Talkington
243a4e5df6 Remove deprecated YAML config from sonarr (#41904) 2020-10-16 13:43:35 +02:00
Edward Knight
b39d82c154 Rewrite APNS tests to use pytest (#41684)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2020-10-16 13:43:02 +02:00
Paulus Schoutsen
11d2e0c671 Bump cloud to 0.37.1 (#41930) 2020-10-16 13:40:04 +02:00
CurrentThread
75f27d6318 Rewrite mold_indicator unittest tests to pytest style test functions (#41598) 2020-10-16 13:37:15 +02:00
J. Nick Koston
965bb2c8df Update nest to use async_add_executor_job (#41926) 2020-10-16 13:31:16 +02:00
CurrentThread
250fbd857b Rewrite file unittest tests to pytest style test functions (#41616) 2020-10-16 13:30:03 +02:00
J. Nick Koston
9c719beded Update telegram_bot to use async_add_executor_job (#41924) 2020-10-16 13:29:28 +02:00
sycx2
91042e3e46 Improve template test lock (#41195)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-10-16 13:25:57 +02:00
Johan Hammar
30c20f362e Rewrite folder unittest tests to pytest style test functions (#41672) 2020-10-16 13:19:38 +02:00
scheric
0f2dfeb33f Use common strings in ovo energy config flow (#41940) 2020-10-16 13:17:41 +02:00
J. Nick Koston
83af805522 Update google_translate to use async_add_executor_job (#41925) 2020-10-16 13:15:01 +02:00
Ariana Hlavaty
c9ba5bfebd Rewrite proximity tests to be pytest functions (#41711) 2020-10-16 13:13:34 +02:00
thaohtp
aabf26bbc8 Rewrite bayesian unittest tests to pytest style test functions. (#41740) 2020-10-16 13:10:48 +02:00
J. Nick Koston
6f113e981b Update litejet and zwave tests to use async_add_executor_job (#41927)
* Update litejet and zwave tests to use async_add_executor_job

* await
2020-10-16 13:08:04 +02:00
Ariana Hlavaty
0a192947ed Rewrite shell_command unittest tests to pytest style test function (#41274) 2020-10-16 13:04:12 +02:00
Captone Habiyaremye
5e96d21414 Add device actions to water_heater (#41417)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-10-16 12:51:12 +02:00
J. Nick Koston
9f5e3bfbd5 Update homekit camera resolutions for tvOS 14 (#41914) 2020-10-16 05:42:38 -05:00
Maciej Bieniek
798f7d1c63 Fix zeroconf name (#41908) 2020-10-16 05:38:39 -05:00
Ville Skyttä
92488849ea Add deCONZ IKEA TRÅDFRI wireless dimmer fast rotate events (#41573)
Ref https://fccid.io/FHO-ICTC-G-1/User-Manual/User-Manual-3155271.pdf
2020-10-16 12:12:59 +02:00
Balazs Keresztury
544b7c67e5 Removed unneccessary dependency on adafruit-blinka (#41768) 2020-10-16 12:12:32 +02:00
CurrentThread
904ce66a72 Rewrite tod unittest tests to pytest style test functions (#41603) 2020-10-16 12:10:38 +02:00
CurrentThread
a28f347b2b Rewrite fail2ban unittest tests to pytest style test functions (#41606) 2020-10-16 12:04:53 +02:00
James Warne
2146dd1268 Rewrite wsdot unittest tests to pytest style test functions (#41638) 2020-10-16 12:00:42 +02:00
Koen Beckers
465c21e075 Add game_icon to steam_online (#39947)
May just need to rename the sensor to steam info?
2020-10-16 11:59:27 +02:00
Gerard
0f1011ba3f Update featured integrations screenshot in README (#41085) 2020-10-16 11:53:57 +02:00
Robert Svensson
9abe18b579 Remove setup platform functions from UniFi since they are no longer needed (#41935) 2020-10-16 11:48:56 +02:00
Paulus Schoutsen
2f69b53bc3 Fix upcloud coverage that is breaking CI (#41934) 2020-10-16 11:30:51 +02:00
Thomas Barnekov
8be3f2f2a5 Add automatic keep-alive for IKEA Trådfri (#41778)
* Added automatic keep-alive for IKEA Trådfri

* Don't shut down factory on keep-alive error

* Avoid keep-alive after shutdown

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

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-10-16 11:21:36 +02:00
Tom Schneider
d16c04a8e0 Fix hvv_departures request time (#40195) 2020-10-16 10:07:24 +02:00
Tom Parker-Shemilt
2b151209b2 Don't try and store exceptions when the key is missing (#41803) 2020-10-16 10:01:58 +02:00
Paulus Schoutsen
8bc47c0cd1 Catch it when files are ignored by coverage but shouldn't (#41876) 2020-10-16 09:57:11 +02:00
Paulus Schoutsen
62343f87ad Catch when old entity can't be serialized in Google Report State (#41916)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-10-16 09:56:48 +02:00
Erik Montnemery
9e9f841f35 Add Tasmota device trigger (#41590)
* Add Tasmota device trigger

* Correct import

* Remove useless try-except

* Remove commented out code

* Align with hatasmota 0.0.14

* Update according to review comments
2020-10-16 08:16:07 +02:00
Brett
731d617c5e Code Quality improvements for Advantage Air integration (#41861)
* Readability improvements

* Code quality and more tests

* Created a parent entity

* Apply parent entity to cover platform

* Update _zone property

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

* Remove device_state_attributes

* Correct attribute tests

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-10-15 23:30:29 -05:00
Aaron Bach
1e0663e986 Bump pyairvisual to 5.0.3 (#41921) 2020-10-15 23:16:03 -05:00
Aaron Bach
76f88459dd Fix incorrect SimpliSafe websocket disconnect listener (#41923) 2020-10-15 23:13:45 -05:00
HomeAssistant Azure
11b812b82e [ci skip] Translation update 2020-10-16 00:04:33 +00:00
Chris Talkington
cbdd712b3d Remove sonarr reauth persistent notification (#41911) 2020-10-16 01:19:22 +02:00
Jason Hunter
c10fe4f723 Add sensors to Xbox integration (#41868)
* favorited friends binary sensors

* add binary_sensor to .coveragerc

* fix copy/paste comments...

* make sensor entities instead of attributes

* address PR review comments

* default state to None
2020-10-15 19:11:05 -04:00
Glenn Waters
801168f9d7 Add ElkM1 time and counter services and keypress event (#41867) 2020-10-15 17:05:07 -05:00
Aaron Bach
a0bb8ae5d9 Fix unhandled exception with SimpliSafe socket disconnection (#41917) 2020-10-15 17:00:57 -05:00
Paulus Schoutsen
3bcf2f9fd5 Merge pull request #41909 from home-assistant/rc 2020-10-15 23:41:17 +02:00
Martin Hjelmare
da6bdd4464 Add supervisor set add-on options helper (#41651) 2020-10-15 23:38:53 +02:00
Ariana Hlavaty
e28e453c08 Rewrite scene unittest tests to pytest style test function (#41172) 2020-10-15 23:35:30 +02:00
Aaron Bach
162a5d99a2 Add common string for reauth title (#41865) 2020-10-15 16:35:00 -05:00
Ville Skyttä
a9f342ef74 Convert UpCloud to config flow, improve error handling (#37941) 2020-10-15 23:26:01 +02:00
Bas Nijholt
d790de1346 Minor code improvement for KEF (#41885) 2020-10-15 16:20:23 -05:00
Raman Gupta
0e20bba40a Add persistent notification for reauth config flows (#41811)
* add persistent notification for reauth config flow

* remove log

* Update homeassistant/config_entries.py

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

* Update homeassistant/config_entries.py

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

* fix logic for determining when to dismiss notification

* add comment

* improve tests to ensure notifications only get dismissed when all in progress config flows of a given type are complete

* Update homeassistant/config_entries.py

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

* handle context is None when accessing source

* add guard to show_advanced_options

* Apply suggestions from code review

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
Co-authored-by: Chris Talkington <chris@talkingtontech.com>
2020-10-15 15:46:27 -05:00
uvjustin
a72dd6b917 Cap AVC profile level at 4.1 in stream master playlist (#41592)
* Cap AVC profile level at 4.1

* Use smaller multiplier in bandwidth calculation
2020-10-15 20:43:32 +00:00
J. Nick Koston
a220e74154 Update zhong_hong to use async_add_executor_job (#41846) 2020-10-15 15:39:48 -05:00
uvjustin
9270585a44 Cap AVC profile level at 4.1 in stream master playlist (#41592)
* Cap AVC profile level at 4.1

* Use smaller multiplier in bandwidth calculation
2020-10-15 16:37:27 -04:00
Paulus Schoutsen
36a1fe5f54 Bumped version to 0.116.4 2020-10-15 20:30:57 +00:00
Jason Hunter
303b7efd4b Bump ONVIF and pin Zeep (#41907) 2020-10-15 20:30:49 +00:00
Aaron Bach
6114006b8b Deprecate YAML config for SimpliSafe (0.119 removal) (#41896)
* Deprecate YAML config for SimpliSafe (0.119 removal)

* Remove import step from config flow
2020-10-15 14:28:09 -06:00
Jason Hunter
32675e0e38 Bump ONVIF and pin Zeep (#41907) 2020-10-15 22:24:33 +02:00
Erik Montnemery
766a0032c9 Bump hatasmota to 0.0.16 (#41902) 2020-10-15 21:14:42 +02:00
Aaron Bach
2079e41b7a Properly disconnect from SimpliSafe websocket on HASS shutdown (#41894)
* Properly disconnect from SimpliSafe websocket on HASS shutdown

* Update homeassistant/components/simplisafe/__init__.py

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

* Update homeassistant/components/simplisafe/__init__.py

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

Co-authored-by: J. Nick Koston <nick@koston.org>
2020-10-15 13:05:00 -06:00
epenet
ba789105ee Add PRESSURE_CBAR to onewire constants (#41826) 2020-10-15 19:57:15 +02:00
J. Nick Koston
3ffa050905 Support HomeKit accessory mode (#41679)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-10-15 11:59:50 -05:00
Aaron Bach
db7c16162d Remove duplicated options handling in SimpliSafe (#41806)
* Remove duplicated options handling in SimpliSafe

* Incorrect property name
2020-10-15 10:36:04 -06:00
Tom
368bc0c34b Fix Plugwise hvac action and mode (#41550) 2020-10-15 16:59:02 +02:00
dependabot[bot]
2074da4f9f Bump actions/setup-python from v2.1.3 to v2.1.4 (#41873)
Bumps [actions/setup-python](https://github.com/actions/setup-python) from v2.1.3 to v2.1.4.
- [Release notes](https://github.com/actions/setup-python/releases)
- [Commits](https://github.com/actions/setup-python/compare/v2.1.3...41b7212b1668f5de9d65e9c82aa777e6bbedb3a8)

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-10-15 16:42:06 +02:00
J. Nick Koston
41872341f5 Update mysensors to use async_add_executor_job (#41849) 2020-10-15 09:22:50 -05:00
J. Nick Koston
3ee4f43b20 Update kira to use async_add_executor_job (#41847) 2020-10-15 09:22:37 -05:00
J. Nick Koston
2e05592039 Update remaining i2c sensors to use async_add_executor_job (#41860) 2020-10-15 09:22:17 -05:00
On Freund
086378c48f Add media browser capability to volumio (#40785) 2020-10-15 15:49:36 +02:00
J. Nick Koston
c5ae801bcb Allow HomeKit to be configured in include mode from the UI (#41662) 2020-10-15 15:33:01 +02:00
Pascal Vizeli
0323aeb660 Fix machine release builds (#41879) 2020-10-15 11:52:39 +00:00
Pascal Vizeli
b2f50d0a3a Fix machine release builds (#41879) 2020-10-15 11:52:20 +00:00
Pascal Vizeli
f2a2cfc52e Fix machine release builds (#41879) 2020-10-15 13:34:27 +02:00
Gabe Cook
ffb4a9112b Ruckus Unleashed Requested Changes (#41824) 2020-10-15 12:49:43 +02:00
Brett
a2574a4ed5 Add Cover Platform to Advantage Air (#41757)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-10-15 12:45:05 +02:00
J. Nick Koston
21cc23244d Improve template ratelimit performance (#41741) 2020-10-15 12:02:05 +02:00
Paulus Schoutsen
58e8162d18 Merge pull request #41877 from home-assistant/rc 2020-10-15 11:35:03 +02:00
Joakim Sørensen
1f07a4eba0 Forward client headers for proxied stream responses (#41663) 2020-10-15 11:01:37 +02:00
Paulus Schoutsen
8036b709e0 Bumped version to 0.116.3 2020-10-15 08:42:52 +00:00
cgtobi
e80ffe16f7 Reduce polling for Netatmo weather station sensors (#41858) 2020-10-15 08:42:27 +00:00
J. Nick Koston
99010bab18 Permit event trackers to accept an empty list of entities or domains (#41857) 2020-10-15 08:42:05 +00:00
Simone Chemelli
8d5e15df3d Shelly: fix for RGB devices (#41841) 2020-10-15 08:42:05 +00:00
Aaron Bach
efffc82414 Fix SimpliSafe re-auth flow (#41805)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-10-15 08:42:05 +00:00
djtimca
06b99a1ff9 Fix issues with metric conversion and single pump type for filter pumps in Omnilogic integration (#41777) 2020-10-15 08:42:05 +00:00
Pascal Vizeli
fd79c141b2 Offload dockermachines into core (#41756) 2020-10-15 08:42:05 +00:00
J. Nick Koston
b541b08d2d Ensure all template errors are caught and the websocket api reports them (#41719) 2020-10-15 08:42:00 +00:00
Bas Nijholt
42c9776c97 Fix KEF LSX becoming unavailable (#41700)
* Do not use asyncio.gather because the speaker only allows one concurrent connection

* bump to aiokef=0.2.16
2020-10-15 08:31:26 +00:00
Quentame
897340b115 Fix disabled Synology DSM camera (#41686) 2020-10-15 08:31:25 +00:00
Joakim Sørensen
e072d8b694 Add delete to hassio API (#41500) 2020-10-15 08:31:24 +00:00
Aaron Bach
690024b34a Fix SimpliSafe re-auth flow (#41805)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-10-15 10:15:32 +02:00
Paulus Schoutsen
5f3fc6a9e3 Cleanup the min-max sensor (#41851)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-10-15 09:54:04 +02:00
Aaron Bach
099de37ee5 Fix re-authentication in AirVisual (#41801) 2020-10-15 09:30:39 +02:00
J. Nick Koston
53a1d92f2b Permit event trackers to accept an empty list of entities or domains (#41857) 2020-10-15 09:26:51 +02:00
cgtobi
0a4298322c Reduce polling for Netatmo weather station sensors (#41858) 2020-10-15 09:25:59 +02:00
cgtobi
9dcc769a4a Remove max and min temperature sensors (#41859) 2020-10-15 09:24:20 +02:00
Paulus Schoutsen
4899d7628a Fix flaky ONVIF test (#41848) 2020-10-15 09:19:08 +02:00
Robert Svensson
6ccdf62e6b Add basic device information for UniFi clients device registry entries (#41839) 2020-10-15 08:10:59 +02:00
Brig Lamoreaux
58a432685c Use common srings in xiaomi-miio (#41864) 2020-10-15 08:09:20 +02:00
Daniel Hjelseth Høyer
4146a90313 Tibber, change time for fetching prices (#41840) 2020-10-15 08:08:57 +02:00
HomeAssistant Azure
994ae09f69 [ci skip] Translation update 2020-10-15 00:03:50 +00:00
Robert Svensson
cb6d3b590e Revert device trigger modelid for Trådfri remotes for deCONZ (#41843) 2020-10-14 23:39:00 +02:00
Mark Bergsma
5fd2acdbef Add influxdb config option 'measurement_attr' (#36020) 2020-10-14 22:49:57 +02:00
J. Nick Koston
e0df91ef9f Update mqtt to use HassJob (#41796)
Avoids the overhead of checking the callable type at run time
2020-10-14 22:04:48 +02:00
jjlawren
4e8012fcea Remove unnecessary check in Plex client scanning (#41844) 2020-10-14 22:01:06 +02:00
scheric
f5248b5562 Use common strings in withings config flow (#41770) 2020-10-14 21:54:23 +02:00
Ville Skyttä
4cc6eee1ac Mark Huawei LTE sensors with None value as unavailable (#41667) 2020-10-14 22:11:48 +03:00
Ville Skyttä
50468c4c8c Add Huawei LTE battery sensor (#41668) 2020-10-14 22:11:18 +03:00
scheric
6d1242ffe7 Use common strings in ovo_energy config flow (#41838) 2020-10-14 21:10:59 +02:00
scheric
78c0871ae5 Use common strings in Tibber config flow (#41837) 2020-10-14 21:10:37 +02:00
Simone Chemelli
70eebc7211 Shelly: fix for RGB devices (#41841) 2020-10-14 21:09:03 +02:00
Jason Hunter
2b1fc90de7 Add Media Source to Xbox Integration (#41833)
* initial implementation of xbox media source

* minor fixes

* fix lint

* add media class map to remove multi-line ternary
2020-10-14 15:02:08 -04:00
J. Nick Koston
9d9520b2f9 Switch sabnzbd to use async_add_executor_job (#41835) 2020-10-14 20:27:34 +02:00
Robert Svensson
68cfc36b6b Don't override proper data for UniFi Controller entry in device registry (#41834) 2020-10-14 17:52:45 +02:00
Erik Montnemery
042ce1cb92 Add Tasmota light (#41485) 2020-10-14 17:47:13 +02:00
jjlawren
c63c253b7f Discover Plex clients using GDM (#39053) 2020-10-14 15:46:52 +02:00
João Gabriel
72759d7501 Re-add forced update in Panasonic Viera (#41804) 2020-10-14 15:33:47 +02:00
djtimca
49d58bb6a8 Bump omnilogic to 0.4.2 (#41821) 2020-10-14 15:21:29 +02:00
Clifford Roche
839b9f226e Add gree climate integration (#37498)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-10-14 15:15:56 +02:00
Sharif Nassar
9ee97cb213 Convert fan tests to pytest style (#41631) 2020-10-14 11:07:26 +02:00
J. Nick Koston
afc602595b Only validate entity id if it did not exist on state change (#41820) 2020-10-14 11:06:51 +02:00
epenet
3cba25a892 Add test coverage for onewire (#40786)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-10-14 10:19:12 +02:00
J. Nick Koston
6d05729e48 Update image_processing to use async_add_executor_job (#41810) 2020-10-14 08:19:39 +02:00
J. Nick Koston
6c0d5fa1d6 Switch legacy async_add_job to async_add_executor_job in wemo (#41807)
These calls were already using async_add_executor_job in some of the
other platforms
2020-10-14 08:19:09 +02:00
J. Nick Koston
cdd17b4215 Update caldav to use async_add_executor_job (#41808)
self.calendar.date_search was already being run in the executor in
other places so this should be safe
2020-10-14 08:18:23 +02:00
Chris Talkington
b9d34603e4 Use canary fixture for options flow test (#41817) 2020-10-14 08:17:36 +02:00
Jason Hunter
3013f39191 Add Remote entity to Xbox Integration (#41809) 2020-10-13 21:00:44 -04:00
HomeAssistant Azure
ba55cb8955 [ci skip] Translation update 2020-10-14 00:04:41 +00:00
J. Nick Koston
6c3e450117 Update shopping_list to use async_add_executor_job (#41795) 2020-10-13 17:22:17 -05:00
J. Nick Koston
3748c3c985 Fix canary test doing IO and failing when the cloud is offline (#41799) 2020-10-13 15:57:00 -05:00
J. Nick Koston
ff2872e376 Remove unneeded context switch in dyson (#41793)
dyson was running the add_message_listener code in the
executor even though all it did was append to an array

https://github.com/etheralm/libpurecool/blob/master/libpurecool/dyson_device.py#L213
2020-10-13 15:45:00 -05:00
J. Nick Koston
5c540dcfcf Update cast to use async_add_executor_job (#41794) 2020-10-13 15:39:43 -05:00
J. Nick Koston
af74e36d16 Update html5 to use async_add_executor_job (#41788) 2020-10-13 22:26:14 +02:00
Sharif Nassar
c08f984f2b Update uptime tests to pytest style (#41077)
* Update uptime tests to pytest style

First attempt

* Test that the sensor is actually configured

* Swap the rest of the tests to pytest

* fixup! Swap the rest of the tests to pytest
2020-10-13 22:18:31 +02:00
Robert Svensson
dc71b7421c Improve deCONZ climate platform handling unsupported commands (#41780)
* Improve deCONZ climate platform

* Raise valueerror if missing input

* Fix linting
2020-10-13 22:11:09 +02:00
Aaron Bach
3a59f7c2b7 Address cleanup commentary for Guardian Paired Sensors (#41785) 2020-10-13 22:01:10 +02:00
J. Nick Koston
e791946f00 Update generic camera to use async_add_executor_job (#41787) 2020-10-13 21:59:39 +02:00
J. Nick Koston
b58ef6ae92 Convert remaining async_add_job to async_add_executor_job in media_player (#41790) 2020-10-13 21:57:36 +02:00
J. Nick Koston
aefd4908df Update mjpeg camera to use async_add_executor_job (#41791) 2020-10-13 21:56:57 +02:00
dvermd
840e4be029 Rewrite configurator tests to pytest (#41731) 2020-10-13 21:42:16 +02:00
J. Nick Koston
1bcedd15b3 Update sun listeners to use HassJob (#41695)
Avoids checking the callable type every time sun events trigger
2020-10-13 21:37:10 +02:00
djtimca
5069fc4024 Fix issues with metric conversion and single pump type for filter pumps in Omnilogic integration (#41777) 2020-10-13 21:32:32 +02:00
J. Nick Koston
ef9cd485fd Update to zeroconf 0.28.6 to accomodate devices that are not strictly name compliant (#41784) 2020-10-13 14:02:52 -05:00
Bas Nijholt
8db88192a8 Fix KEF LSX becoming unavailable (#41700)
* Do not use asyncio.gather because the speaker only allows one concurrent connection

* bump to aiokef=0.2.16
2020-10-13 20:13:48 +02:00
Guido Schmitz
db4b4745dc Update devolo-home-control-api to 0.15.1 (#41783) 2020-10-13 20:09:54 +02:00
Daniel Hjelseth Høyer
3a119dd669 Update pyTibber to 0.15.7 (#41722) 2020-10-13 19:58:39 +02:00
thaohtp
7298bb32f1 Rewrite homematic unittest tests to pytest style test functions (#41766)
Issue: https://github.com/home-assistant/core/issues/40856
2020-10-13 19:51:08 +02:00
Robert Svensson
267d97e80e Improve deCONZ fan platform handling unsupported commands (#41779)
* Improve handling unsupported commands

* Raise valueerror on unsupported speed

* Fix linting
2020-10-13 19:34:33 +02:00
Erik Montnemery
7f9db59209 Bump hatasmota to 0.0.15 (#41781) 2020-10-13 18:53:18 +02:00
Jason Hunter
c3ccea52a5 Add Browse Media to Xbox (#41776)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-10-13 17:51:51 +02:00
Franck Nijhof
5dbb5f12eb Upgrade sqlalchemy to 1.3.20 (#41765) 2020-10-13 08:43:58 -05:00
Franck Nijhof
64d3cdfb41 Add nested light group test (#41764) 2020-10-13 08:37:16 -05:00
Jason Hunter
9877e8e25b Add Xbox Integration (#41697)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-10-13 15:37:01 +02:00
Erik Montnemery
12a6d10168 Log exceptions in EntityPlatform.async_add_entities (#41730)
Co-authored-by: J. Nick Koston <nick@koston.org>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-10-13 15:35:27 +02:00
J. Nick Koston
33b548e247 Reduce ORM overhead when the old state was already written to the database (#41736)
We can avoid processing the relationship when the old state was already
written to the database which will common case with a commit interval
of 1s. Since we already know the value for old_state_id we can use it
instead of asking sqlalchemy to process the relationship at flush/commit
time which can significantly speed up sqlalchemy's _emit_insert_statements
implementation.
2020-10-13 15:34:46 +02:00
Aidan Timson
52c93edb53 Add Palette to WLED Effect Service (#41724) 2020-10-13 14:12:01 +02:00
Rob Bierbooms
c16f107f6b Filter rfxtrx configure devices option flow on existing config entry (#40975)
* Prompt only configure devices when device is in config entry

* Fix copy
2020-10-13 13:51:42 +02:00
tkacikdominik
b6855816ed Rewrite Facebook unit test to pytest style test function (#41671)
* refactoring - Rewrite Facebook unit test to pytest style test function

* Modifying email author

* modified code formating

* Run CI
2020-10-13 13:45:46 +02:00
João Gabriel
d1041efedf Add device info to Panasonic Viera (#41028)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-10-13 13:14:59 +02:00
Robert Svensson
72289b8171 Add fan support to deCONZ (#40806)
* Add fan support to deconz

* Fix gateway test

* Fix lint issue

* Apply suggestions from code review

* Fix black

* Improve tests

* Store previously used speed in case turn_on service is called without a speed attribute

* Fix tests

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-10-13 12:57:42 +02:00
Sören Oldag
113a680c43 Bump pwmled to 1.5.3 (#41681) 2020-10-13 12:53:29 +02:00
Joakim Plate
11bbc14530 Pass context to on/off scripts (#40254) 2020-10-13 12:13:47 +02:00
Pascal Vizeli
2d08708c3b Offload dockermachines into core (#41756) 2020-10-13 11:56:28 +02:00
Diogo Gomes
c4148eb2c5 Add notify platform to TTS (#40028) 2020-10-13 11:52:51 +02:00
Pascal Vizeli
4d997180e6 Replace old python extension with new pylance in devcontainer (#41591) 2020-10-13 11:50:25 +02:00
Tom Schneider
1d682bdc78 Bump pygti to 0.9.2 (#41571) 2020-10-13 10:31:42 +02:00
Fredrik Erlandsson
8bdc824b6c Update pypoint to use async http requests (#41546)
* Remove domain after entities

* Add support for async http-requests

* Fix, handle network issues (update _is_available status)

* Fix missing await for alarm_arm

* Fix alarm status

* Update tests to async

* Bump pypoint version

* Fix doc string

* Apply suggestions from code review, remove pylint disable

* Fix black
2020-10-13 08:48:26 +02:00
Sören
32204821c1 Bump pynello to 2.0.3 (#41737)
* Bump pynello to 2.0.3

* Bump pynello to 2.0.3
2020-10-13 08:42:33 +02:00
Aaron Bach
bb98f7ed1b Add support for Elexa Guardian paired sensors (#37930)
* Add support for Guardian paired sensors

* More work

* OOP

* More OOP

* Binary sensors looking good

* Entities all in place

* Looking good

* Linting

* Code review

* Code review

* Flake

* Fix removal

* Code review

* Linting

* Don't use potentially confusing method name

* Use CoordinatorEntity

* Linting

* Pylint

* Code review

* Code review
2020-10-12 21:41:57 -06:00
Glenn Waters
f7d3f3a1ed Add elkm1 bypass and trigger services (#41584) 2020-10-12 21:41:19 -05:00
scheric
7e6432dad6 Use common strings in Griddy config flow (#41716) 2020-10-12 21:13:04 -05:00
Guido Schmitz
bb2d3bf50d Fix climate platform in devolo Home Control (#40746)
Co-authored-by: springstan <46536646+springstan@users.noreply.github.com>
2020-10-12 19:21:59 -05:00
Ville Skyttä
f28c3273c2 Upgrade mypy to 0.790 (#41595) 2020-10-12 19:17:30 -05:00
HomeAssistant Azure
1417a4161f [ci skip] Translation update 2020-10-13 00:03:24 +00:00
J. Nick Koston
a9de9c62f1 Use native utc timezone for utcnow() (#41727)
This allows timezone operations to happen in C code instead
of the pure-python code of pytz
2020-10-12 17:43:21 -05:00
Anders Melchiorsen
b5308bda09 Add Sonos support for media_player.repeat_set service (#41735)
* Add Sonos support for media_player.repeat_set service

* Update homeassistant/components/sonos/media_player.py

* Remove else for pylint

Co-authored-by: cgtobi <cgtobi@users.noreply.github.com>
2020-10-13 00:30:38 +02:00
Anders Melchiorsen
d00655810f Add media_player.repeat_set service (#41435) 2020-10-12 23:29:28 +02:00
scheric
a6393fb36c Use common strings in Avri config flow (#41717) 2020-10-12 19:42:07 +02:00
Christian Bilevits
54bb82a3c2 Add common strings in plaato config flow (#41622) 2020-10-12 19:39:09 +02:00
Niccolo Zapponi
8a45bc2d13 Add support for SimpliSafe sensors (#41080)
* Add support for SimpliSafe sensors

* Turn sensor refresh rate to a configurable setting

* Set minimum to scan interval

* Removed dynamic sensor refresh rate

* Refactoring

* Refactoring

* Move battery entities to binary_sensor platform

* Bug fix

* Clean up

* Simplified device info override

* Ignore sensor cache
2020-10-12 11:31:55 -06:00
Erik Montnemery
f70aa0b5cc Merge Tasmota sensor device class and icon maps (#41706) 2020-10-12 19:26:35 +02:00
sycx2
fc75927d85 Rewrite tests for Template Binary Sensor (#41098) 2020-10-12 17:56:08 +02:00
Paulus Schoutsen
57996e1942 Improve mobile app template handling (#41703)
Co-authored-by: J. Nick Koston <nick@koston.org>
2020-10-12 17:26:54 +02:00
Nathan Tilley
feabf99f92 Rewrite Wake on LAN Tests to use pytest style (#41173)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-10-12 17:17:31 +02:00
Philip Allgaier
625bbe6238 Cleanup unused loggers (components A-M) (#41600) 2020-10-12 16:59:05 +02:00
Thomas Lovén
9e6df38994 Fix too agressive .gitignore (#41677) 2020-10-12 16:48:42 +02:00
Quentame
6cff58f37d Fix disabled Synology DSM camera (#41686) 2020-10-12 16:47:05 +02:00
J. Nick Koston
b897ca7260 Ensure all template errors are caught and the websocket api reports them (#41719) 2020-10-12 16:38:24 +02:00
puddly
f7e7f1371e Update zigpy-znp to 0.2.2 (#41670) 2020-10-12 09:44:40 -04:00
Vladimír Záhradník
111afbb66f Refactor Modbus switch to provide a base for other entities (#33551)
* Add Modbus light and fan entities

* Rework Fan and Light components to new config structure

* Fix Linter issue

* Rework Modbus switch initialization

* Properly update state on actuator methods

* Remove Fan and Light entity from this change. They will be merged separately

* Fix loading of the Switch platform

* Modbus switch - inherit from the SwitchEntity
2020-10-12 14:34:44 +02:00
fnurgel
bf57035880 Use separate line for return statement in hue_activate_scene (#41709) 2020-10-12 13:40:26 +02:00
Brett
3e41c682f4 Add Advantage Air Integration (#40159)
Co-authored-by: Robert Svensson <Kane610@users.noreply.github.com>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-10-12 13:22:15 +02:00
Erik Montnemery
cd21786536 Bump hatasmota to 0.0.13 (#41705)
* Bump hatasmota to 0.0.13

* Fix tests
2020-10-12 13:09:17 +02:00
Dan Ports
c8ac787c9f Bump greeneye_monitor to 2.1 (#41692)
This fixes reporting of temperature sensors with negative values.
2020-10-12 08:14:09 +02:00
Erik Montnemery
84cb00bb4e Add Tasmota sensor (#41483)
* Add Tasmota sensor

* Remove useless try-except

* Bump hatasmota to 0.0.11

* Apply suggestions from code review

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

* Sort dict constants

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-10-12 07:27:06 +02:00
Philip Allgaier
59edb25e4e Clean up speedtest (#41139)
* Remove unused error string + add server list log msg

* Use more common reference texts

* Revert translation files + correct typos
2020-10-12 06:03:45 +02:00
HomeAssistant Azure
f787289ea0 [ci skip] Translation update 2020-10-12 00:03:31 +00:00
Matthias Alphart
93a9a11065 Add config validator helper positive_float (#41640) 2020-10-11 22:04:49 +02:00
Angelo Gagliano
874e1f6103 Prevent tplink missing devices and unavailable state (#39762)
* Adds self to codeowners for tplink

* Adds retry to update to prevent missing devices

* Runs through isort and corrects async commit

* Runs through black

* Runs through pre-checks

* Corrects and matches var names

* Re-runs through black

* Corrects var name

* Removes the retry loop and in favor of async add

* Cleanup imports

* Removes no longer valid test

* Removes is_ready and only log retry once

* Corrects switch logging vars

* Adds list of entities to add_entities

* Consumes exception for attempt_update

* Consumes specific exception

* Removes unnecessary update

* Reducing back to 2 seconds

* Removes useless return

* Call get_sysinfo for all at once

* Formated black

* Adds missing docstirng

* Corrects docstring

* Update homeassistant/components/tplink/light.py

Co-authored-by: Anders Melchiorsen <amelchio@nogoto.net>

* Corrects sysinfo call

* Adds default for host vars

* Adds log when device responds again

* Revert host alias default

* Removes unncessary host var

* Removes host var

* Get device details from sysinfo

* Use host and alias for log msg

* Gets hosts from smartbulb

* Changes retry logging to debug

* Attempts coverage add

* Removes unused import

* Updates tests for new retry

* Runs through isort

* Removes unneeded try

* Prevents static entries from failing integration

* Format black

* Forces an update after turn on off

* Remove common test

* Revert update after turn_on off

* Adds patch for sleep_time 0

* Returns False when update fails

Co-authored-by: Anders Melchiorsen <amelchio@nogoto.net>
2020-10-11 21:10:36 +02:00
fnurgel
366006e0aa Multiple Hue activate scene (#41353) 2020-10-11 21:01:49 +02:00
uvjustin
1c6d0d138d Adjust dts warning messages in stream (#41467)
* Adjust dts warning messages

* Wait for second packet with overflow dts condition

* Rename dts gap watch variable

* Remove out of order packet warning
2020-10-11 12:55:13 -04:00
uvjustin
6c18feb4ed Allow only one packet with no dts in stream init (#41129)
* Allow only one packet with no dts in stream init

* Call finalize_stream() on exit
2020-10-11 12:52:51 -04:00
J. Nick Koston
c7bbba9d48 Reduce icmplib ping timeout to match ping binary behavior (#41620) 2020-10-11 11:12:27 -05:00
ochlocracy
178b2d8c22 Update display categories in Alexa (#41626)
* Add new display categories from Alexa Smart Home API

* Update Vacuum entities to use VACUUM_CLEANER category.

* Update Automation entities to use ACTIVITY_TRIGGER category.

* Update tests for Automation entities to use ACTIVITY_TRIGGER category.
2020-10-11 11:09:05 -05:00
Maciej Bieniek
13f0ea506e Bump brother to 0.1.18 (#41056) 2020-10-11 11:04:27 -05:00
Spartan-II-117
44a3278ba8 Use common strings for AirVisual (#41632) 2020-10-11 17:28:55 +02:00
scheric
9d6589240f Use common strings in logi_circle config flow (#41427)
* already_setup->already_configured

* auth_error->invalid_auth

* rm default

* auth_timeout->oauth2_authorize_url_timeout

* enable auto format black

* add oauth2_missing_configuration

* Use standard helper keys

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-10-11 10:11:45 -05:00
Christian Bilevits
ae20b3a678 Use common strings in ps4 config flow (#41623) 2020-10-11 16:57:21 +02:00
Gautham Varma K
ffd25fb2ce Use common strings in homematicip_cloud config flow (#41658) 2020-10-11 16:53:03 +02:00
Philip Allgaier
b6a93724bf Use consistent "percent" naming in systemmonitor (#41411) 2020-10-11 15:52:32 +02:00
Christian Bilevits
1cb25cdaf7 Use common strings in panasonic config flow (#41641)
* Add missing common strings

* Add common string
2020-10-11 15:47:49 +02:00
Gautham Varma K
9d515e8c34 Use common strings in risco config flow (#41656) 2020-10-11 15:46:59 +02:00
scheric
1f4fe62380 Use common strings in twentemilieu config flow (#41647) 2020-10-11 14:54:08 +02:00
Christian Bilevits
1c4512bc40 Use common strings in Nest config flow (#41597) 2020-10-11 14:47:30 +02:00
Christian Bilevits
ef448f1549 Use common strings in profiler config flow (#41642) 2020-10-11 14:33:34 +02:00
scheric
f382754830 Use common strings in iOS config flow (#41644) 2020-10-11 14:32:06 +02:00
scheric
9c9b9e8227 Use common strings in Météo-France (#41610)
* insert feadback

* more feadback
2020-10-11 09:58:54 +02:00
Brian Rogers
899431235b Bump rachiopy to 1.0.3 and update methods to handle changes (#41398) 2020-10-10 19:44:49 -05:00
HomeAssistant Azure
80522f1bdc [ci skip] Translation update 2020-10-11 00:03:37 +00:00
Christian Bilevits
fdc965c6b9 Add missing common strings (#41621) 2020-10-11 00:42:32 +02:00
Steffen Rusitschka
b5f4b58832 Add rx mode to homematic.put_paramset service (#40065) 2020-10-10 20:42:19 +02:00
Christian Bilevits
0838936ce7 Add common strings in broadlink config flow (#41602) 2020-10-10 19:12:15 +02:00
Paulus Schoutsen
dc1b1706f1 Add device info to met (#41611) 2020-10-10 17:30:27 +02:00
Daniel Hjelseth Høyer
4ece928c0a Remove icon for Tibber sensor (#41604) 2020-10-10 17:29:45 +02:00
J. Nick Koston
00b338002a Update icmplib to 1.2.2 (#41608)
Fixes IPv6 lookups
2020-10-10 17:28:13 +02:00
J. Nick Koston
da2f9db62e Fix async functions accidentally marked as callbacks (#41607) 2020-10-10 16:54:36 +02:00
javicalle
73f52c829a Remove illuminance sensor for Xiaomi EU gateway (#41580)
Xiaomi EU gateway don't support the `XiaomiGatewayIlluminanceSensor`.
2020-10-10 14:43:06 +02:00
Diederik van den Burger
c31d9bfd3f Update Withings integration (add sleeps data) (#41504) 2020-10-10 14:41:26 +02:00
scheric
7f8f53607e add strings (#41599) 2020-10-10 14:38:00 +02:00
Daniel Hjelseth Høyer
9299f0a8b2 Add device_class to Tibber sensor (#41572) 2020-10-10 14:20:15 +02:00
Ville Skyttä
3a6c9b43ab Remove redundant flake8 max-line-length (#41596)
Disabling E501 is needed and handles it anyway.
2020-10-10 13:43:37 +02:00
Alexander Pitkin
85b01a9b80 Rewrite mhz19 unittest tests to pytest style tests (#41441)
* Rewrite mhz19 unittest tests to pytest style tests

* Move mhz19 tests imports
2020-10-10 13:05:08 +02:00
Ville Skyttä
66aa55dddf Fix deCONZ IKEA TRÅDFRI device name spelling (#41574) 2020-10-10 13:04:00 +02:00
Gabe Cook
4b617db669 Add Ruckus Unleashed integration (#40002)
* Add Ruckus Unleashed integration

* Tweak catches to better rely on CoordinatorEntity error handling, rename LoginError to AuthenticationError

* Make router_update be a callback function

* Make name property return hint match the newer value

* Add entity to tracked set when restoring on boot

* Add a device's MAC to the attributes
2020-10-10 13:01:53 +02:00
Chris
de300ddd56 Clean up some of the ozw tests (#41578)
* Remove some unnecessary fixtures and combine csv dumps
2020-10-10 09:45:20 +02:00
Raman Gupta
025bdd74a1 Allow users to update their iCloud password when auth fails (#39138)
* Allow users to update their iCloud password when auth fails after successful setup

* remove trailing comma

* use new reauth source instead of custom one so frontend can do the right thing

* add quentames text suggestion with a slight tweak

* fix test

* use common string for successful reauth and remove creation and dismissal of persistent notification

* Update homeassistant/components/icloud/account.py

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

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-10-10 02:02:28 -04:00
HomeAssistant Azure
6ae12c3faf [ci skip] Translation update 2020-10-10 00:05:05 +00:00
Franck Nijhof
0c7d8ce704 Upgrade codecov to 2.1.10 (#41562) 2020-10-09 18:27:26 +02:00
epenet
843c4e27f3 Update Onewire SysBus integration to use a 3rd party library (#40943) 2020-10-09 17:31:05 +02:00
Paulus Schoutsen
52d8c66a8b Merge pull request #41555 from home-assistant/rc 2020-10-09 16:46:08 +02:00
J. Nick Koston
3bb0e00abe Update python_script tests to use async_add_executor_job (#41553) 2020-10-09 15:58:36 +02:00
J. Nick Koston
49e5b665cf Convert final async_add_job to async_add_executor_job in logbook tests (#41552) 2020-10-09 15:52:06 +02:00
J. Nick Koston
61262222aa Remove async_add_job from system_log tests (#41551) 2020-10-09 15:50:43 +02:00
Paulus Schoutsen
a26413c989 Bumped version to 0.116.2 2020-10-09 13:44:04 +00:00
cgtobi
c9d53dec8d Fix missing weather sensors (#41540) 2020-10-09 13:42:54 +00:00
Maciej Bieniek
dae2117078 Fix description reference in PoolSense config flow (#41535) 2020-10-09 13:42:53 +00:00
Xiaonan Shen
72b95f7529 Bump yeelight to 0.5.4 (#41524) 2020-10-09 13:42:52 +00:00
J. Nick Koston
56436e6387 Restore group support to plant entities (#41519) 2020-10-09 13:42:52 +00:00
djtimca
7cdbbc248f Fix omnilogic temperature sensor with metric setting (#41509) 2020-10-09 13:42:51 +00:00
Arjan van Balken
cca2594225 Update Arris TG2492LG dependency version (#41465) 2020-10-09 13:42:50 +00:00
Abílio Costa
078ecef4b2 Remove duplicated attribute request from ZHA (#41442)
The on_off attribute is on the REPORT_CONFIG, so
super().async_initialize already requests it from the device.
No need to request it twice.
2020-10-09 09:23:52 -04:00
definitio
0a1d9abe79 Use common strings in esphome config flow (#41547) 2020-10-09 14:28:54 +02:00
Steffen Rusitschka
a9adc2a6f0 Publish state changes to Zabbix (#36659) 2020-10-09 14:11:50 +02:00
Xiaonan Shen
e6a65b8bd3 Bump yeelight to 0.5.4 (#41524) 2020-10-09 13:30:42 +02:00
cgtobi
96035eb052 Fix missing weather sensors (#41540) 2020-10-09 12:34:52 +02:00
Tobias Efinger
f101d9cddb Update translate develop to substitute references (#41445) 2020-10-09 11:51:05 +02:00
Franck Nijhof
58ede21f39 Fix date parsing template int in history stats (#41476) 2020-10-09 11:50:52 +02:00
Dmitry
b106149588 Fix string parameter processing in parse_time_expression (#41468) (#41469) 2020-10-09 11:48:49 +02:00
Maciej Bieniek
9d1aa70c62 Fix description reference in PoolSense config flow (#41535) 2020-10-09 11:16:16 +02:00
J. Nick Koston
f268378f0f Fix plant doing IO in the event loop. (#41527)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-10-09 09:57:46 +02:00
Raman Gupta
d3734aae9d Allow custom_serializer to recognize cv.string and cv.boolean to make config schema more reusable (#41532) 2020-10-09 09:36:54 +02:00
J. Nick Koston
852d1b2e67 Update discovery to use HassJob (#41511)
Predetermine the listener types for discovery
2020-10-09 09:35:28 +02:00
J. Nick Koston
3a863c4a0f Fully convert async_track_time_interval to use HassJob (#41513)
The callback type for interval_listener was being determined
each time the interval hit.

This was missed in the original conversion.
2020-10-09 09:35:09 +02:00
J. Nick Koston
a8a2109cef Convert last remaining async_add_job in light to async_add_executor_job (#41518) 2020-10-09 09:32:55 +02:00
J. Nick Koston
1c431aa7bd Set created field when creating db events and states (#41523)
Avoids thousands of utcnow calls when the session
is commited on busy systems to fill in the field
default.
2020-10-09 09:31:17 +02:00
J. Nick Koston
617509413c Update wake_on_lan to use async_add_executor_job (#41528) 2020-10-09 09:29:16 +02:00
J. Nick Koston
3267823165 Update http to use async_add_executor_job (#41529) 2020-10-09 09:29:07 +02:00
J. Nick Koston
822ad0ae9c Update arcam_fmj device trigger to use async_run_hass_job (#41530) 2020-10-09 09:28:55 +02:00
J. Nick Koston
fef2700351 Update kodi device trigger to use async_run_hass_job (#41531) 2020-10-09 09:27:47 +02:00
J. Nick Koston
5ebf5996f1 Predetermine listener type for script change listeners (#41510) 2020-10-09 08:41:12 +02:00
J. Nick Koston
0b3bea0282 Use async_add_hass_job for debouncer (#41449) 2020-10-09 08:40:36 +02:00
cgtobi
22bef1d0d3 Fix Netatmo non specified sensor types (#41517) 2020-10-09 08:37:56 +02:00
J. Nick Koston
e03b3e2310 Restore group support to plant entities (#41519) 2020-10-09 08:37:27 +02:00
J. Nick Koston
68e1c70b14 Update history tests to use async_add_executor_job (#41526) 2020-10-09 08:36:59 +02:00
HomeAssistant Azure
29aea5a66c [ci skip] Translation update 2020-10-09 00:04:33 +00:00
J. Nick Koston
480b8165d7 Update notify to use async_add_executor_job (#41516) 2020-10-08 23:58:33 +02:00
J. Nick Koston
5b8ecc26a4 Update device_tracker to use async_add_executor_job (#41515) 2020-10-08 23:56:32 +02:00
jan iversen
4d9ff13384 Fix bool registers in modbus integration (#41506)
When a register is of type bool modbus returns a whole byte, but ONLY the
lowest bit determine true/false.
2020-10-08 23:52:41 +02:00
djtimca
8e3258cdfb Fix omnilogic temperature sensor with metric setting (#41509) 2020-10-08 23:48:54 +02:00
springstan
916178925e Return attribute dict directly without temporary variable v3 (#41502) 2020-10-08 21:33:08 +02:00
Fredrik Erlandsson
f42eca3fcf Add common strings in daikin config flow (#41419) 2020-10-08 21:25:54 +02:00
Ville Skyttä
cf83c6bf00 Complete Huawei LTE type hints, make mypy check them (#41503) 2020-10-08 21:02:47 +02:00
Joakim Sørensen
61a5bf5645 Add delete to hassio API (#41500) 2020-10-08 20:40:45 +02:00
willholdoway
1e9e0c8686 Add mute command to Bluesound integration (#41501)
Adding mute as a separate command as per the Bluesound API, rather than the current pseudo-mute which is achieved via lowering the volume to 0 then detecting whether the volume is 0 < volume < 0.001
2020-10-08 20:20:39 +02:00
Arjan van Balken
0856d91b0e Update Arris TG2492LG dependency version (#41465) 2020-10-08 19:08:20 +02:00
Paulus Schoutsen
b2885f6cc5 Merge pull request #41498 from home-assistant/rc 2020-10-08 19:03:12 +02:00
scheric
c2d0c90cd4 Use common strings in tellduslive config flow (#41408)
Co-authored-by: springstan <46536646+springstan@users.noreply.github.com>
2020-10-08 18:14:21 +02:00
scheric
5345e9fb5c Use common strings in fritzbox config flow (#41407)
Co-authored-by: springstan <46536646+springstan@users.noreply.github.com>
2020-10-08 18:12:04 +02:00
Keilin Bickar
d8aebe145b Add active voltage sensors to Sense integration (#41112) 2020-10-08 18:08:37 +02:00
J. Nick Koston
3a1ee2f654 Add missing on states to media player groups (#41496) 2020-10-08 15:59:09 +00:00
J. Nick Koston
2aee72981c Add missing on states to media player groups (#41496) 2020-10-08 17:58:52 +02:00
Paulus Schoutsen
26ba956242 Bumped version to 0.116.1 2020-10-08 15:48:36 +00:00
Bram Kragten
90d8874825 Update frontend to 20201001.2 (#41491) 2020-10-08 15:47:57 +00:00
Guido Schmitz
22f76a9363 Fix async_unload_entry for devolo Home Control (#41488) 2020-10-08 15:47:56 +00:00
cgtobi
cc4d71f942 Bump pyatmo version to 4.1.0 (#41487) 2020-10-08 15:47:56 +00:00
Paulus Schoutsen
0a55f024a4 Downgrade Paho MQTT to 1.5.0 (#41479) 2020-10-08 15:47:55 +00:00
J. Nick Koston
60fe64d119 Ensure recorder commit can retry after encountering invalid data (#41426) 2020-10-08 15:46:40 +00:00
Markus Bong
ac256815f9 Optimize devolo light devices (#41053) 2020-10-08 16:55:23 +02:00
Guido Schmitz
a81f4cf387 Fix async_unload_entry for devolo Home Control (#41488) 2020-10-08 16:48:05 +02:00
Khole
a3692859e9 Update Pyhiveapi Library Version (#40804)
* Update Pyhiveapi Library Version

This fixs an issue caused by a change in authentication method by hive

* Update Library Version
2020-10-08 14:01:21 +00:00
Bram Kragten
29a613e91f Update frontend to 20201001.2 (#41491) 2020-10-08 16:00:34 +02:00
jan iversen
9f3701bd32 Change modbus tests to use pytest.mark.parametrize (#41486) 2020-10-08 15:47:59 +02:00
scheric
a71049112e Use common strings in Atag config flow (#41351) 2020-10-08 15:27:28 +02:00
jrester
734972f876 Update tesla_powerwall to 0.3.3 (#41482) 2020-10-08 08:26:44 -05:00
cgtobi
07d208f1bc Bump pyatmo version to 4.1.0 (#41487) 2020-10-08 15:08:15 +02:00
Paulus Schoutsen
3036c17769 Downgrade Paho MQTT to 1.5.0 (#41479) 2020-10-08 12:31:46 +02:00
Erik Montnemery
35287828bc Poll state when Tasmota device becomes available (#41401) 2020-10-08 11:17:23 +02:00
J. Nick Koston
b51a160cce Update triggers to use HassJob (#41450)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2020-10-08 09:44:34 +02:00
J. Nick Koston
7537a3a7c8 Update filter to use async_add_executor_job (#41455) 2020-10-08 09:22:51 +02:00
J. Nick Koston
740d15e41d Update media_player to use async_add_executor_job (#41459) 2020-10-08 09:22:37 +02:00
J. Nick Koston
dfc656a2c6 Update lock to use async_add_executor_job (#41458) 2020-10-08 09:22:16 +02:00
J. Nick Koston
aa250c2b61 Update cover to use async_add_executor_job (#41456) 2020-10-08 09:21:47 +02:00
J. Nick Koston
1bf6166817 Update fan to use async_add_executor_job (#41457) 2020-10-08 09:21:29 +02:00
J. Nick Koston
e10413fa4c Update trend to use async_add_executor_job (#41454) 2020-10-08 09:20:58 +02:00
J. Nick Koston
ad5273ded1 Update config to use async_add_executor_job (#41452) 2020-10-08 09:20:39 +02:00
J. Nick Koston
8a374590e8 Update discovery to use async_add_executor_job (#41453) 2020-10-08 09:20:07 +02:00
J. Nick Koston
52e8366ce7 Update roomba to use async_add_executor_job (#41448) 2020-10-08 09:15:47 +02:00
J. Nick Koston
4ab02cb9bc Ensure recorder commit can retry after encountering invalid data (#41426) 2020-10-08 09:15:25 +02:00
On Freund
b5e57ed4fd Support matching multiple user ids in event trigger (#41036) 2020-10-08 09:10:42 +02:00
Erik Montnemery
392d5c673a Cache matching MQTT subscriptions (#41433) 2020-10-08 08:52:23 +02:00
Erik Montnemery
85603dcd08 Remove useless try-except from Tasmota binary sensor (#41462) 2020-10-08 08:44:11 +02:00
J. Nick Koston
896f64d02b Fix group tests when run in parallel (#41446) 2020-10-08 00:01:33 -05:00
J. Nick Koston
c1a0329401 Update nexia to use async_add_executor_job (#41451) 2020-10-07 23:59:02 -05:00
J. Nick Koston
700e639ec6 Fix flapping pilight test (#41447) 2020-10-07 23:58:17 -05:00
HomeAssistant Azure
d73d36d0cd [ci skip] Translation update 2020-10-08 00:06:03 +00:00
Erik Montnemery
a3f8b76537 Make async_step_discovery default for MQTT config flows (#41414) 2020-10-07 23:49:29 +02:00
Vladimír Záhradník
ba84d0bf5c Add custom data type support into Modbus climate (#32439) 2020-10-07 22:43:16 +02:00
scheric
3d9d90c4c8 Use common string names in ipp config flow (#41409)
* connection_error->cannot_connect

* connection_error->cannot_connect in config flow
2020-10-07 22:42:01 +02:00
Tom
b8f291d58e Prepare Plugwise integration for USB products (#41201)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-10-07 22:25:42 +02:00
Erik Montnemery
343e5d64b8 Add MQTT integration discovery (#41332)
* Add MQTT integration discovery

* Add script/hassfest/mqtt.py

* Unsubscribe if config entry exists

* Add homeassistant/generated/mqtt.py

* Fix bad loop

* Improve tests

* Improve tests

* Apply suggestions from code review

Co-authored-by: Fabian Affolter <mail@fabian-affolter.ch>

* Prevent initiating multiple config flows

Co-authored-by: Fabian Affolter <mail@fabian-affolter.ch>
2020-10-07 18:30:51 +02:00
Erik Montnemery
3f263d5cbe Remove deprecated host & platform configuration for cast (#41402) 2020-10-07 18:01:34 +02:00
Franck Nijhof
55958bcfb7 Merge pull request #41406 from home-assistant/rc 2020-10-07 17:50:57 +02:00
Franck Nijhof
cde6400482 Bumped version to 0.116.0 2020-10-07 17:10:04 +02:00
Paulus Schoutsen
d2077acc92 Warn when using Python 3.7 (#41400) 2020-10-07 17:07:27 +02:00
Martin Hjelmare
f4991794d4 Revert zoneminder config flow (#41395) 2020-10-07 17:05:46 +02:00
Paulus Schoutsen
088fb7eff3 Reduce Somfy polling (#41389) 2020-10-07 17:00:59 +02:00
J. Nick Koston
9e1461da62 Determine how to run listeners at setup time instead of execution time (#41304) 2020-10-07 16:51:50 +02:00
Paulus Schoutsen
8d94dff75c Warn when using Python 3.7 (#41400) 2020-10-07 16:44:13 +02:00
J. Nick Koston
8d5c124deb Improve performance of generating non-cryptographically secure uuids (#41314) 2020-10-07 16:37:01 +02:00
Glenn Waters
451f27bba1 Bump ElkM1 lib dependency. (#41399) 2020-10-07 09:31:37 -05:00
Martin Hjelmare
e006e0ddb3 Revert zoneminder config flow (#41395) 2020-10-07 16:28:49 +02:00
jyz0501
0f3489f5cb Baidu TTS: support more voices (#41393)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-10-07 15:44:16 +02:00
scheric
434c269f25 Add common strings in Agent dvr config flow (#41279) 2020-10-07 15:39:10 +02:00
J. Nick Koston
113d738fa2 Reduce orm overhead by grouping object expiration (#41394) 2020-10-07 15:35:48 +02:00
Maciej Bieniek
0dabf4962e Use already_configured_location string in GIOS config flow (#41384) 2020-10-07 15:30:46 +02:00
Kendell R
18419416ce Make PR search link not show changes requested PRs (#41278) 2020-10-07 15:30:08 +02:00
cgtobi
05765f1700 Remove Netatmo unnecessary battery sensors (#41321) 2020-10-07 15:25:11 +02:00
Maciej Bieniek
4434958265 Use name translation reference in Airly config flow (#41319)
* Use more translation references

* Revert already_configured string
2020-10-07 15:24:32 +02:00
Allen Porter
42cef1773b Update script scaffold templates for config_flow_oauth2 (#41181)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-10-07 15:23:45 +02:00
Dave T
d3bc4efa89 Use common strings in Awair (#41313)
* awair use common strings

* Use common strings: 'auth' to invalid_access_token

* Use reauth successful ref

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-10-07 15:17:10 +02:00
Erik Montnemery
306ee30574 Enable MQTT discovery by default (#41361) 2020-10-07 14:51:06 +02:00
SNoof85
b7c2e117be Use reference strings in Alarmdecoder (#41392) 2020-10-07 14:46:17 +02:00
Spartan-II-117
d2d3749223 Use common strings for Almond Config Flow (#41097)
Co-authored-by: springstan <46536646+springstan@users.noreply.github.com>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2020-10-07 14:45:19 +02:00
Erik Montnemery
6e84f91762 Add Tasmota binary sensor (#41380) 2020-10-07 14:41:30 +02:00
SNoof85
7c133e4630 Use reference strings in Smarthab (#41391) 2020-10-07 14:39:30 +02:00
Paulus Schoutsen
4968a12b6c Reduce Somfy polling (#41389) 2020-10-07 13:49:45 +02:00
Glenn Waters
c3e679f69b Fix elkm1 changed by (#41378) 2020-10-07 13:14:03 +02:00
Alexei Chetroi
aa8e336af5 Bump up zha dependency to 0.26.0 (#41371) 2020-10-07 13:14:00 +02:00
Paulus Schoutsen
ac87c0eea2 Add additionalAttributes to Alexa discovery payload (#41370) 2020-10-07 13:13:56 +02:00
Quentame
281456b252 Set longer timeout during synology_dsm config flow (#41364) 2020-10-07 13:13:48 +02:00
Matej Plavevski
cf9a508557 Remove duplicate ATTR_USERNAME (#41386) 2020-10-07 11:41:00 +02:00
Maciej Bieniek
ca441a79aa Add invalid_host to base strings for config flows (#41381) 2020-10-07 11:24:31 +02:00
SNoof85
04b04027c3 Use reference strings in Withings (#41345) 2020-10-07 11:22:11 +02:00
Chris Talkington
21655e93bf Add CONF_API_TOKEN to constants (#41379)
* add CONF_API_TOKEN to constants

* Update const.py
2020-10-07 10:55:59 +02:00
Glenn Waters
95e4048f4e Fix elkm1 changed by (#41378) 2020-10-07 10:36:49 +02:00
Paulus Schoutsen
66e6ae8dbd Add additionalAttributes to Alexa discovery payload (#41370) 2020-10-07 09:32:12 +02:00
Yury Kotlyarov
99a64237f4 Support of NEW fan speed controller Leviton Decora ZW4SF-1BW (#41374)
Product page: https://www.leviton.com/en/products/zw4sf-1bz
Product year: 2020
2020-10-07 08:50:41 +02:00
tkdrob
1ed6133ee6 Add update_alarm to sonos services.yaml (#41376) 2020-10-07 08:18:13 +02:00
Maciej Bieniek
81ceb3e499 Add already_configured_location to base strings for config flows (#41335)
* Add already_configured_location key

* Use already_configured_location in Airly

* Use already_configured_location in Flu Near You

* Use already_configured_location in OpenUV

* Use already_configured_location in Open Weather Map

* Use already_configured_location in AirVisual
2020-10-06 22:34:06 -05:00
Charles Garwood
4c86e99ccf Bump python-openzwave-mqtt to 1.2.2 (#41357) 2020-10-07 02:10:54 +02:00
HomeAssistant Azure
486c0b644a [ci skip] Translation update 2020-10-07 00:06:20 +00:00
Alexei Chetroi
0ec4887837 Bump up zha dependency to 0.26.0 (#41371) 2020-10-07 01:15:49 +02:00
Quentame
ae1c15ff14 Set longer timeout during synology_dsm config flow (#41364) 2020-10-07 01:14:05 +02:00
Alexander Pitkin
5b0282e56d Rewrite panel_iframe unittest tests to pytest style tests (#41368) 2020-10-07 00:40:28 +02:00
Paul Annekov
ca59c4a645 Bump tuyaha to 0.0.8 (#41365) 2020-10-07 00:22:42 +02:00
Anders Melchiorsen
a65dcbf204 Allow playing Spotify URLs with Sonos (#41366) 2020-10-07 00:15:09 +02:00
Franck Nijhof
ee914366a8 Add native Python types support to templates (#41227)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2020-10-07 00:05:52 +02:00
Robert Svensson
cbb4324c84 Refactor deCONZ tests (#41362)
* Use hass.config_entries.async_unload

* Return config_entry from setup_deconz_integration
2020-10-06 23:25:57 +02:00
Paulus Schoutsen
aefa305f77 Bumped version to 0.116.0b6 2020-10-06 20:46:27 +00:00
J. Nick Koston
a11fa832ef Resolve memory leak in recorder (#41349)
Avoids a build up of the InstanceState.
2020-10-06 20:46:20 +00:00
Franck Nijhof
0470142701 Fix TTS ID3 Tag capability check (#41343) 2020-10-06 20:46:19 +00:00
Steven Looman
3c22834751 Don't set upnp config_entry.unique_id from setup entry (#40988)
* Don't set config_entry.unique_id from setup entry. Fixes #40168

* Ensure entry has a unique_id

* Add test test_flow_import_incomplete

* Add test test_flow_import_duplicate

* Re-add testing import_info

* Simplify import flow

* Remove not needed line

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-10-06 20:46:19 +00:00
Erik Montnemery
42fb0e9545 Bump hatasmota to 0.0.10, minor refactor of discovery (#41331)
* Bump hatasmota to 0.0.10, minor refactor of discovery

* Update tests

* Add missing docstrings
2020-10-06 22:32:36 +02:00
Shulyaka
9b947e08bf Add ZHA Analog Input cluster for XBee (#41311)
* Add ZHA XBee Analog Input cluster

* Fix manufacturer to Digi
2020-10-06 16:01:51 -04:00
Ariana Hlavaty
1e9e40bf71 Rewrite recorder unittest tests to pytest style test function (#41264) 2020-10-06 21:24:13 +02:00
J. Nick Koston
d35e33610a Resolve memory leak in recorder (#41349)
Avoids a build up of the InstanceState.
2020-10-06 20:12:47 +02:00
SNoof85
b8287d6db6 Use reference strings in Vesync (#41341)
* Update strings.json

* Update config_flow.py

* Update test_config_flow.py
2020-10-06 20:00:07 +02:00
SNoof85
ba81c0c043 Use reference strings in Upb (#41340)
* Update strings.json

* Update config_flow.py

* Update test_config_flow.py
2020-10-06 19:57:38 +02:00
SNoof85
f256d0a4ea Use reference strings in upnp (#41327)
* Update strings.json

* Update strings.json

* Update config_flow.py

* replace service by device

Co-authored-by: scheric <38077357+scheric@users.noreply.github.com>

Co-authored-by: scheric <38077357+scheric@users.noreply.github.com>
2020-10-06 19:54:20 +02:00
scheric
6ab9d0bc31 add common strings (#41350) 2020-10-06 18:50:32 +02:00
springstan
61d9067a49 Return empty dictionary at first for attributes (#41348) 2020-10-06 18:08:53 +02:00
Franck Nijhof
4d12fcc218 Fix TTS ID3 Tag capability check (#41343) 2020-10-06 17:49:14 +02:00
springstan
513f03eb1f Return attribute dict directly without temporary variable v2 (#41271) 2020-10-06 16:55:16 +02:00
Dave T
33e69fe4bf Update axis to use common strings (#41164)
* Update axis to use common strings

* Update common str device_unavailable to cannot_connect

Co-authored-by: Robert Svensson <Kane610@users.noreply.github.com>
2020-10-06 16:54:18 +02:00
SNoof85
8b2df5bf99 Use reference strings in Smappee (#41337)
* Update strings.json

* Update strings.json

* Update config_flow.py

* Update test_config_flow.py
2020-10-06 16:51:36 +02:00
Maciej Bieniek
d9e48b483b Use name translation reference in AccuWeather config flow (#41338) 2020-10-06 16:49:02 +02:00
Charles Garwood
d6ad85bba7 Protect add/remove node services from invalid instance ID (#41334) 2020-10-06 09:54:46 -04:00
Guido Schmitz
bfb00b9bb5 Add battery state for devolo Home Control devices (#41329) 2020-10-06 15:43:12 +02:00
SNoof85
0460166c7c Use reference strings in Synology_DSM (#41333)
* Update strings.json

* Update config_flow.py

* Update test_config_flow.py
2020-10-06 15:35:36 +02:00
Teemu R
46b2c776db Fetch timers separately for xiaomi vacuums (#41330) 2020-10-06 15:26:59 +02:00
cgtobi
6065ab118f Add Netatmo weather trend sensors (#41318)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-10-06 15:25:12 +02:00
Paulus Schoutsen
4d5948b4d0 Use dict syntax (#41325) 2020-10-06 15:02:23 +02:00
Thibaut
61f919b18c Handle somfy error 404 during setup (#41298) 2020-10-06 15:02:03 +02:00
Edward Knight
8bcd6c1880 Rewrite imap_email_content tests to use pytest (#41200) 2020-10-06 15:01:25 +02:00
Franck Nijhof
357a0e9d7e Improve switch template tests, remove common test helpers (#41322) 2020-10-06 14:54:39 +02:00
Maciej Bieniek
ae54c21945 Use name reference and fix already_configured string for GIOS integration (#41323) 2020-10-06 14:54:02 +02:00
Ronan Murray
df4998d7cf Rewrite uk_transport tests to use pytest style (#41168) 2020-10-06 14:53:17 +02:00
Erik Montnemery
06e9489fc7 Add Tasmota integration (#39624)
* Add Tasmota integration

* Refactor

* Add tests, small improvements

* isort

* Attempt to fix tests failing with Python 3.8

* Revert "Attempt to fix tests failing with Python 3.8"

This reverts commit 11454f8a00136f068ea27204183fa3e62f3cd263.

* Fix tests failing with Python 3.8

* Cleanup tests

* Address review comments

* Address review comments

* Address review comments

* Use MAC address for device identification

* Bump hatasmota

* Bump hatasmota

* Apply suggestions from code review

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

* Fix indentation

* Remove preparation for device remove WS API

* Address review comments

* Remove useless try-except

* Tweak

* Improve tests

* Tweak

* Address review comments

* Correct test

* Update manifest.json

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-10-06 14:51:58 +02:00
SNoof85
3cf6535011 Use reference strings in Tile (#41328) 2020-10-06 14:44:14 +02:00
cgtobi
dcf0f9d3f3 Fix Netatmo wind angle (#41324) 2020-10-06 14:43:30 +02:00
cgtobi
d7890f35be Fix Netatmo rain sensor naming (#41326) 2020-10-06 14:42:50 +02:00
Ariana Hlavaty
8adc5ee452 Rewrite pushbullet unittest tests to pytest style test function (#41266) 2020-10-06 14:34:39 +02:00
Raman Gupta
06306f5dfe Add OZW WS API support for locks (#41186)
* add WS API support for locks and simplify lock service calls

* move return outside of try blocK

* fix rebase conflicts
2020-10-06 14:20:48 +02:00
Pigotka
e1578e5389 Use of reference strings in Almond config flow (#41284) 2020-10-06 14:12:12 +02:00
TopdRob
888c92aa5e Use common strings for Panasonic Viera (#41268)
* Update strings.json

* Update config_flow.py

* Update homeassistant/components/panasonic_viera/strings.json

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

* Update homeassistant/components/panasonic_viera/strings.json

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

* Update config_flow.py

* Update test_config_flow.py

* Update test_config_flow.py

* Fix failed tests

* revert line 530

* Fix remaining error key

* Remove not needed import

* Update const.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-10-06 14:07:38 +02:00
Charles Garwood
356ebc1128 Add cancel_command service for OpenZWave (#41285)
* Add cancel_command service for OpenZWave

* Raise ValueError if instance is None
2020-10-06 14:05:52 +02:00
Felipe Martins Diel
34416fcad3 Log device info in Broadlink error messages (#41307) 2020-10-06 08:02:14 -04:00
Steven Looman
c812812631 Don't set upnp config_entry.unique_id from setup entry (#40988)
* Don't set config_entry.unique_id from setup entry. Fixes #40168

* Ensure entry has a unique_id

* Add test test_flow_import_incomplete

* Add test test_flow_import_duplicate

* Re-add testing import_info

* Simplify import flow

* Remove not needed line

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-10-06 13:57:36 +02:00
Rob Bierbooms
b2b5f2ffcb Rewrite zwave init tests to pytest style test function (phase 1) (#41301) 2020-10-06 11:50:03 +02:00
SNoof85
c5653ec57b Use reference strings in konnected (#41290)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-10-06 11:49:46 +02:00
SNoof85
883c9b5e18 Add reauth_successful to base strings (#41316) 2020-10-06 11:29:53 +02:00
Ville Skyttä
0444f3de14 Move isort, pylint, and pytest configs to pyproject.toml (#40335) 2020-10-06 11:26:48 +02:00
Pigotka
ed9a40874d Use of reference strings in Transmission config flow (#41215) 2020-10-06 11:25:56 +02:00
Julian Engelhardt
14273e9e48 Rewrite statsd unittest tests to pytest style test functions (#41223) 2020-10-06 11:24:16 +02:00
springstan
014fe48096 Add pin to base strings for config flows (#41202) 2020-10-06 11:00:36 +02:00
SNoof85
c4401754be Use reference strings in iqvia (#41289) 2020-10-06 10:27:16 +02:00
SNoof85
3e2b95949f Use reference strings in Metoffice (#41295) 2020-10-06 10:26:49 +02:00
Björn Olsson Jarl
3abf30cf42 Rewrite sigfox unittest tests to pytest (#41302) 2020-10-06 10:16:41 +02:00
Paulus Schoutsen
e303064f75 Don't use asynctest directly (#41306) 2020-10-06 10:15:50 +02:00
SNoof85
949ab621c0 Use reference strings in ambient_station (#41276) 2020-10-06 10:15:11 +02:00
sycx2
956b735be6 Improve yessssms test notify (#41283) 2020-10-06 10:11:36 +02:00
Brett
b6b85d3e0c Fix reported temperatures in Maxcube (#41259) 2020-10-06 10:06:54 +02:00
Paulus Schoutsen
570d1e7d8f Bumped version to 0.116.0b5 2020-10-06 07:55:25 +00:00
J. Nick Koston
23be039b7f Prevent collecting states already referenced by domain or all (#41308)
The template engine would collect all the states in
a domain or all states while iterating even though
they were already included in all or the domain

This lead to the rate limit not being applied to
templates that iterated all states that also
accessed a collectable property because the engine
incorrectly believed they were specifically
referenced.
2020-10-06 07:55:18 +00:00
Bram Kragten
859632d636 Exclude media_dirs from YAML config check (#41299) 2020-10-06 07:55:18 +00:00
Andrew Sayre
874cbf808e Update pysmartthings (#41294) 2020-10-06 07:55:17 +00:00
J. Nick Koston
2fabd4edb8 Prevent collecting states already referenced by domain or all (#41308)
The template engine would collect all the states in
a domain or all states while iterating even though
they were already included in all or the domain

This lead to the rate limit not being applied to
templates that iterated all states that also
accessed a collectable property because the engine
incorrectly believed they were specifically
referenced.
2020-10-06 07:25:05 +02:00
Joakim Plate
999eeb39b9 Indicate to user that remote was turned off when call was attempted (#40715)
* Indicate to user that remote was turned off when call was attempted

* Catch exception in test

* Switch to warning log

* Apply suggestions from code review

Add suggested change to loggin
2020-10-06 06:12:39 +02:00
SNoof85
acb0307beb Use reference strings in Hunter Douglas PowerView (#41291) 2020-10-05 21:57:34 -05:00
Jason Rebelo
4d3802ff95 Rewrite reddit tests to pytest style tests (#41006)
*  rewrite reddit tests to pytest tests

*  add missing blocking
2020-10-05 20:33:31 -04:00
HomeAssistant Azure
bcfa4ac959 [ci skip] Translation update 2020-10-06 00:08:09 +00:00
Ariana Hlavaty
329e56fac0 Rewrite min_max unittest tests to pytest style test function (#41296)
* Rewrite min_max unittest tests to pytest style test function

For: #40866

* Use uppercase letters for constants

* Remove not needed line

* Fix missing rename to uppercase

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-10-05 22:57:58 +02:00
Andrew Sayre
8e6a616846 Update pysmartthings (#41294) 2020-10-05 22:12:38 +02:00
Bram Kragten
510e90803e Exclude media_dirs from YAML config check (#41299) 2020-10-05 22:09:47 +02:00
scheric
f2b73c05d6 add strings (#41297) 2020-10-05 14:56:47 -05:00
scheric
95c831648b add common strings (#41300) 2020-10-05 14:56:06 -05:00
SNoof85
7a12a16fc5 Use reference strings in iaqualink (#41292)
* Update strings.json

* Update config_flow.py

* Update test_config_flow.py
2020-10-05 14:55:12 -05:00
SNoof85
72cbdbbe36 Update strings.json (#41293) 2020-10-05 14:54:43 -05:00
Raman Gupta
6db4075a23 Add OZW node config parameters websocket commands (#40527)
* add websocket commands to retrieve and set config parameters for a node

* move set_config_parameter into generic function and refactor service and WS API

* add payload to return to make service call behave the same way it did before

* create response class

* update error message to pass tests

* move things a bit to reduce LOC

* add tests

* handle logging errors better and make new response class more generic to prepare for lock user code work

* remove unused function parameter

* invert check

* add additional error checking

* refactor a bit to remove repeat code

* revert log msg change

* one more refactor to create generic get_config_parameters function

* change if logic for consistency

* fix test

* add support to provide bool value in set_config_parameter service call

* standardize parameter names on service call

* add test coverage

* fix tests and message sending

* remove unnecessary logging import

* fix one test to get missing coverage

* update per martin and kpines reviews

* remove false assertion

* string line length

* add support for Decimal config param, remove node instance ID as input, and move helper functions to node.py

* cast Decimal appropriately

* revert change to support Decimal for config params since they are not supported as a config param type

* revert to using error arguments to make next PR for WS lock commands easier

* switch to class method and add guard for list Value not being a number

* update logic to use new openzwavemqtt util methods

* add support for bitsets

* use parent exception class

* bump openzwavemqtt version, remove node.py from .coveragerc and put file references in the right place

* add comment

* improve config validation

* remove bitset support from config validation

* re-add bitset support with some additional tests

* move send_result out of try block
2020-10-05 21:47:28 +02:00
Erik Montnemery
c777647233 Drop legacy_patchable_time from MQTT tests (#41287) 2020-10-05 21:39:44 +02:00
djtimca
985e4e1bd9 Bump pyvesync to version 1.2.1 (#41269)
* Bumped vesync dependency to updated 1.2 library to fix issue 40111.

* Returned to existing pyvesync library with bumped version.
2020-10-05 20:26:01 +02:00
Erik Montnemery
13dad34019 Reorder MQTT binary sensor tests (#41277) 2020-10-05 19:42:28 +02:00
Pigotka
7eaa304fc3 Use of reference strings in Heos config flow (#41282) 2020-10-05 12:22:02 -05:00
Pigotka
ac795ddcd0 Use of reference strings in Goalzero config flow (#41275) 2020-10-05 18:07:11 +02:00
Bram Kragten
56b5ddb06d Bumped version to 0.116.0b4 2020-10-05 18:05:31 +02:00
Bram Kragten
df371d99dc Updated frontend to 20201001.1 (#41273) 2020-10-05 18:03:37 +02:00
SNoof85
87b1d1b57f Use reference strings in Rainmachine (#41272) 2020-10-05 17:40:35 +02:00
Bram Kragten
bc2305561f Updated frontend to 20201001.1 (#41273) 2020-10-05 17:39:13 +02:00
SNoof85
8bae9b2124 Use reference strings in Tesla (#41270)
* Update strings.json

* Update config_flow.py

* Update test_config_flow.py
2020-10-05 16:41:16 +02:00
J. Nick Koston
4798f37c6e Convert States to dicts via as_dict only once (#41208)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-10-05 09:18:57 -05:00
TopdRob
2f54bf29ba Use reference strings in HomematicIP Cloud #40578 (#41243)
Co-authored-by: scheric <38077357+scheric@users.noreply.github.com>
2020-10-05 15:30:39 +02:00
SNoof85
b7ff0a5a49 Use reference strings in rainmachine (#41216) 2020-10-05 15:29:27 +02:00
J. Nick Koston
f50976a0b3 Switch to asyncio.wait for slow update warning implementation (#41184) 2020-10-05 15:28:15 +02:00
Diefferson Koderer Môro
dde465da48 Use common strings for Onvif config flow (#41170)
* Use common strings for Onvif config flow

* Fix tests

* Update homeassistant/components/onvif/strings.json

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-10-05 15:27:48 +02:00
SNoof85
c7027e2828 Use reference strings in Notion (#41211) 2020-10-05 15:13:37 +02:00
J. Nick Koston
20a136e2a1 Avoid event data serialization during recorder that we throw away (#41217)
We currently serialize the event data for state change events
and then replace it because we save the state in the states table.
Since the old state and new state are both contains in the event
the cost of serializing the data has a noticable impact when there
are many state changed events.
2020-10-05 15:08:47 +02:00
Diefferson Koderer Môro
44580b1c07 Use common strings for Flu Near You config flow (#41174) 2020-10-05 15:05:57 +02:00
J. Nick Koston
494d4a262a Add Profiler integration (#41175)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-10-05 07:57:07 -05:00
sycx2
e813d3ebf9 Improve template test sensor (#41199) 2020-10-05 14:52:31 +02:00
SNoof85
2763ace2bc Use reference strings in Tradfri (#41237) 2020-10-05 14:35:59 +02:00
SNoof85
f679acd3fa Use reference strings in Tesla (#41238) 2020-10-05 14:32:09 +02:00
Rob Bierbooms
5745e64cab Rewrite zwave node entity tests to pytest style test function (#41239) 2020-10-05 14:29:15 +02:00
Spartan-II-117
c02d9050b7 Use common Strings for Z-Wave config flow (#41161)
* Use common Strings for Z-Wave config flow

* Update strings.json

* Update config_flow.py
2020-10-05 14:26:06 +02:00
J. Nick Koston
15ade1232e Setup geo_location to only track the geo_location domain (#41254)
The trigger was watching for all states
2020-10-05 14:25:41 +02:00
TopdRob
c3eb56c592 Use common strings for Lutron Caseta config flow (#41241) 2020-10-05 14:23:34 +02:00
Diefferson Koderer Môro
def9c98c9b Use common strings for GDACS config flow (#41178)
* Use common strings for GDACS config flow

* Fix ci

* Update test_config_flow.py
2020-10-05 14:21:00 +02:00
Paulus Schoutsen
74b5db9ca5 Bumped version to 0.116.0b3 2020-10-05 12:05:54 +00:00
Paulus Schoutsen
6f4225b51d Add extended validation for script repeat/choose (#41265) 2020-10-05 12:04:33 +00:00
Paulus Schoutsen
b524cc9c56 Allow any value when triggering on state attribute (#41261) 2020-10-05 12:04:32 +00:00
Raman Gupta
a6d50ba89b Bump apprise version to avoid sync in async issues (#41253) 2020-10-05 12:04:31 +00:00
J. Nick Koston
228de5807c Remove manual rate_limit control directive from templates (#41225)
Increase default rate limit for all states and entire
domain states to one minute

Ensure specifically referenced entities are excluded from
the rate limit
2020-10-05 12:04:30 +00:00
Franck Nijhof
d4b40154e5 Remove deprecation invalidation version from cast integration (#41197) 2020-10-05 12:04:30 +00:00
Justin Paupore
6e3aa004c4 Fix TTS handling of non-ID3 metadata tags (#41191)
Change #40666 used mutagen's ID3 TextFrame to wrap metadata information.
While this is the correct behavior for container formats that use ID3
metadata tags, such as MP3 and linear PCM, Ogg container formats use
a different metadata format. For these containers, the metadata needs to
be a bare str, not wrapped in a TextFrame.
2020-10-05 12:04:29 +00:00
J. Nick Koston
149cc5cbeb Simplify template tracking and make it easier to follow (#41030) 2020-10-05 12:04:28 +00:00
Simone Chemelli
37acf9b165 Handle Shelly channel names (if available) for emeters devices (#40820) 2020-10-05 12:04:27 +00:00
Franck Nijhof
d7f4cfbb65 Improve demo media player platform tests (#41096) 2020-10-05 14:04:02 +02:00
Paulus Schoutsen
8ae3f575dd Add extended validation for script repeat/choose (#41265) 2020-10-05 14:03:48 +02:00
scheric
0a3db42d61 Use common strings in Ecobee config flow (#41257)
* Update common Strings

* one_instance_only -> single_instance_allowed
2020-10-05 13:53:11 +02:00
Dave T
5f695e789b Axis remove orphan string (#41166) 2020-10-05 13:27:12 +02:00
Paulus Schoutsen
fe2c16dc29 Allow any value when triggering on state attribute (#41261) 2020-10-05 12:53:12 +02:00
springstan
038c05d0ee Return attribute dict directly without temporary variable (#41206) 2020-10-05 12:51:48 +02:00
SNoof85
cf5c99d2a9 Use reference strings in Tuya (#41236) 2020-10-05 12:49:09 +02:00
SNoof85
d6fff02b11 Use reference strings in pvpc_hourly_pricing (#41214) 2020-10-05 12:22:29 +02:00
zetvio
979346f1ce Use references in blebox config flow (#41244) 2020-10-05 11:48:44 +02:00
zetvio
78b4c3981f Use reference strings in Samsung TV config flow (#41248)
* Use reference strings in samsungtv config flow

* Adjust samsungtv config flow tests
2020-10-05 11:45:35 +02:00
Ville Skyttä
56f0a68c49 Add and fix some Huawei LTE type hints (#41196) 2020-10-05 11:21:48 +02:00
Raman Gupta
baef8b033a Bump apprise version to avoid sync in async issues (#41253) 2020-10-05 10:24:18 +02:00
SNoof85
f145a8c8d1 Use reference strings in Myq (#41209) 2020-10-04 19:16:23 -05:00
SNoof85
116dd7ddf4 Use reference strings in Nuheat (#41213) 2020-10-04 19:15:14 -05:00
HomeAssistant Azure
8d1d585b40 [ci skip] Translation update 2020-10-05 00:04:23 +00:00
springstan
6102d05306 Remove unnecessary should poll from light classes (#41229) 2020-10-04 23:28:25 +02:00
springstan
b1ff69d9a3 Remove unnecessary should poll from cover classes (#41231) 2020-10-04 23:26:33 +02:00
Jeff H
a1f70e11ae Fix slack message icon override (#41212)
* Fix slack message icon override

Allows overriding the icon for individual slack
messages using either an emoji or a URL.

* Run python3 -m script.gen_requirements_all

* Add period to first line

* Add support for python 3.7 testing

AsyncMock is only available from python 3.8+. Prior to this,
CoroutineMock is used which doesn't mock the method so it
needs to be done manually.

* Fix tests for python3.7 compatibility

The Python3.7 mock call object doesn't have the kwargs helper property.

* Update default emoji test docstring
2020-10-04 14:17:24 -07:00
Björn Olsson Jarl
e64b8774ec Rewrite transport_nsw sensor tests to pytest tests (#41169)
* Improve transport_nsw sensor tests.

* patch fix.
2020-10-04 23:10:00 +02:00
Nikolai
27c3ce16c3 Fix spelling in telegram_bot services (#41235) 2020-10-04 22:52:02 +02:00
J. Nick Koston
51da605b9f Remove manual rate_limit control directive from templates (#41225)
Increase default rate limit for all states and entire
domain states to one minute

Ensure specifically referenced entities are excluded from
the rate limit
2020-10-04 22:40:04 +02:00
springstan
e75557c1f5 Remove unnecessary should poll from binary sensor classes (#41221) 2020-10-04 22:11:46 +02:00
Oren
dd26ab6b4e Rewrite threshold unittest tests to pytest style test functions (#41141)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-10-04 21:38:21 +02:00
springstan
f47d58d9c2 Remove unnecessary should poll from sensor classes (#41219)
* Remove unnecessary should poll from sensor classes

* Remove two more occurrences
2020-10-04 21:35:59 +02:00
springstan
e51be33e18 Remove unnecessary should poll from switch classes (#41218) 2020-10-04 21:31:02 +02:00
springstan
f17089e46e Remove unnecessary should poll from camera classes (#41228) 2020-10-04 21:26:59 +02:00
springstan
228e167b03 Remove unnecessary should poll from media player classes (#41220) 2020-10-04 21:26:09 +02:00
SNoof85
b8ed9fb4c0 Use reference strings in Nexia (#41210) 2020-10-04 15:38:52 +02:00
Paulus Schoutsen
e2921475e2 Fix flaky huawei test (#41204) 2020-10-04 15:24:07 +02:00
Rob Bierbooms
e97792adf0 Refactor dsmr tests (#39724) 2020-10-04 14:27:22 +02:00
Ronan Murray
fd065e7aea Rewite Radarr tests as in pytest style for #40879 (#41145) 2020-10-04 14:08:08 +02:00
Ariana Hlavaty
27dd4ca9b3 Rewrite ring unittest test to pytest (#41151)
For: #40886
2020-10-04 14:05:49 +02:00
Claudio Catterina
6765d395f9 Rewrite aurora tests to pytest style (#41144) 2020-10-04 13:58:16 +02:00
Eliot Wong
9ff8f03322 Rewrite dte_energy_bridge unittest tests to pytest style test functions (#41116) 2020-10-04 13:50:03 +02:00
Franck Nijhof
346be6fc3f Improve demo fan platform tests (#41123) 2020-10-04 13:49:13 +02:00
Eliot Wong
f7696fdb9f Rewrite simulated unittest tests to pytest style test functions (#41115) 2020-10-04 13:48:47 +02:00
scheric
c3ef05a37e Use common strings in Icloud config flow (#41188) 2020-10-04 13:32:53 +02:00
SNoof85
d5c88a4e3c Use reference strings in Coronavirus (#41057)
* Update strings.json

* Update strings.json
2020-10-04 13:29:41 +02:00
scheric
600b6c0e34 Use common strings in Geonetnz quakes config flow (#41192) 2020-10-04 13:28:59 +02:00
Franck Nijhof
4ca552e90a Bump version to 0.117.0dev0 (#40928) 2020-10-04 13:26:31 +02:00
Franck Nijhof
f95416bd98 Remove deprecation invalidation version from cast integration (#41197) 2020-10-04 12:54:03 +02:00
scheric
abfe575a58 Use common strings in hisense_aehw4a1 config flow (#41190) 2020-10-04 12:04:51 +02:00
Justin Paupore
b4799ba66d Fix TTS handling of non-ID3 metadata tags (#41191)
Change #40666 used mutagen's ID3 TextFrame to wrap metadata information.
While this is the correct behavior for container formats that use ID3
metadata tags, such as MP3 and linear PCM, Ogg container formats use
a different metadata format. For these containers, the metadata needs to
be a bare str, not wrapped in a TextFrame.
2020-10-04 11:59:53 +02:00
On Freund
a50405aa6e Fix kodi.add_to_playlist (#41185) 2020-10-04 10:53:44 +02:00
HomeAssistant Azure
f8c2d877aa [ci skip] Translation update 2020-10-04 00:05:05 +00:00
Abílio Costa
4aacc87425 Indentify IKEA and Phillips motion sensors correctly (#41111) 2020-10-03 19:52:21 -04:00
Guido Schmitz
a73daa5f20 Use the shared Zeroconf instance in devolo_home_control (#40800) 2020-10-03 15:31:19 -05:00
cgtobi
f9f17dc718 Update Kodi to no longer use protected methods (#40788)
* Replace protected methods

* Fix method name

* Bump PyKodi version to 0.2.1

* Reuse variable
2020-10-03 15:12:18 -05:00
Matthew Donoughe
b281e85c80 Lutron Caseta: update for light transition and cover stop (#41155)
Co-authored-by: J. Nick Koston <nick@koston.org>
2020-10-03 15:06:23 -05:00
Paulus Schoutsen
5c4ba23ca9 Bumped version to 0.116.0b2 2020-10-03 19:43:26 +00:00
Rohan Kapoor
abc42efe08 Treat optional input as optional in ZoneMinder config flow (#41156) 2020-10-03 19:43:12 +00:00
Alexei Chetroi
17ebc85b62 Bump up ZHA dependency (#41109) 2020-10-03 19:43:11 +00:00
Franck Nijhof
681cd92627 Fix referenced entity extraction when service call entity contains a template (#41107) 2020-10-03 19:43:10 +00:00
Baptiste Candellier
7fc4b196bd Fix SmartHab import flow (#41093) 2020-10-03 19:43:10 +00:00
Samantha
f114419359 Add full command details to exception Debug log (#41070) 2020-10-03 19:43:09 +00:00
Paulus Schoutsen
751f041009 Bump aioshelly to 0.3.4 (#41065) 2020-10-03 19:43:08 +00:00
J. Nick Koston
44b1b87e13 Ensure lights added after group is created have the correct state (#41034) 2020-10-03 19:43:07 +00:00
Marius
1ef3d856a6 Change Swap free mandatory arg (#41025)
to False
2020-10-03 19:43:06 +00:00
Alexei Chetroi
2707bbeb23 Better parsing of the ZHA device profile id (#41024) 2020-10-03 19:43:06 +00:00
J. Nick Koston
f89ba74410 Prevent template loop detection from triggering when all templates are self referencing (#41013) 2020-10-03 19:43:05 +00:00
Rohan Kapoor
95c3ac0c09 Treat optional input as optional in ZoneMinder config flow (#41156) 2020-10-03 21:34:52 +02:00
Guido Schmitz
daf3a29ae5 Use references in config flow of devolo_home_control (#40949) 2020-10-03 21:33:33 +02:00
J. Nick Koston
78dfaa72a2 Ensure lights added after group is created have the correct state (#41034) 2020-10-03 21:29:41 +02:00
Spartan-II-117
ed171a885b Use common Strings for Acmeda Config Flow (#41092) 2020-10-03 21:29:30 +02:00
Franck Nijhof
38d132addd Fix referenced entity extraction when service call entity contains a template (#41107) 2020-10-03 20:55:59 +02:00
Marius
00b3b9f183 Change Swap free mandatory arg (#41025)
to False
2020-10-03 20:55:00 +02:00
Rob Bierbooms
fc925790dc Use common strings for somfy config flow (#41150) 2020-10-03 20:18:48 +02:00
Rob Bierbooms
8e9e44e93f Use common strings for home connect config flow (#41153) 2020-10-03 20:15:53 +02:00
springstan
f919646519 Use already configured key in harmony and mikrotik (#41142) 2020-10-03 18:17:24 +02:00
SukramJ
5721225dde Reorg channel handling for Homematic IP Cloud (#41118) 2020-10-03 16:35:04 +02:00
springstan
c00915a6a7 Add ssl and verify_ssl to base strings for config flows (#40944)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-10-03 16:06:45 +02:00
Matej Plavevski
4fea7c6775 Replace minecraft translation strings with reference strings (#40997) 2020-10-03 16:02:03 +02:00
springstan
064a453604 Add already_in_progress to base strings for config flows (#40961) 2020-10-03 15:49:09 +02:00
springstan
04daa9a378 Add name to base strings for config flows (#40947)
* Add name to base strings for config flows

* Fix HA strings.json
2020-10-03 15:28:42 +02:00
springstan
7bafa921bb Add api token to base strings for config flows (#41133) 2020-10-03 15:26:37 +02:00
Thijs de Jong
406ac38c75 Use common string in Melcloud config flow (#41134)
* Use common string in Melcloud config flow

* Add missing config_flow
2020-10-03 15:24:48 +02:00
scheric
1b4254d1df Use common string in Solarlog config flow (#41130)
* Update common Strings

* Merge feadback
2020-10-03 15:22:15 +02:00
Daniel Hjelseth Høyer
4a1173c3de Update met config string (#41048)
* update config string met

* typo

* config strings
2020-10-03 15:18:05 +02:00
groot406
7b7bdd9d8f Use common strings in Powerwall config flow (#41137) 2020-10-03 15:14:36 +02:00
Spartan-II-117
030dd7d476 Use common strings for Google Cast config flow (#41086) 2020-10-03 15:12:17 +02:00
groot406
31ce68e91e Use common strings for Sentry config flow (#41087) 2020-10-03 15:04:22 +02:00
groot406
20bacb6918 Use reference strings for Zoneminder config flow (#41103) 2020-10-03 15:02:30 +02:00
scheric
f1cb8e209e Use common string in Ring config flow (#41132) 2020-10-03 14:54:27 +02:00
scheric
2a758699e6 Use common strings in Tado config flow (#41128) 2020-10-03 14:51:20 +02:00
scheric
861fe36f5d Use common strings in zha config flow (#41127) 2020-10-03 14:48:26 +02:00
Jason Madigan
529601eb82 Use reference strings in izone (#41125) 2020-10-03 14:44:38 +02:00
Jason Madigan
be41442a86 Use reference strings in Wemo (#41067) 2020-10-03 14:43:30 +02:00
Spartan-II-117
3208670b61 Use common strings for Mikrotik config flow (#41110) 2020-10-03 14:39:18 +02:00
Heine Furubotten
cb8d7fe575 Bump azure-servicebus to 0.50.3 (#41106) 2020-10-03 14:19:39 +02:00
groot406
a6136111aa use common string for "Port" (#41104) 2020-10-03 14:15:52 +02:00
Daniel Perna
8e4b10fb13 Update pyhomematic to 0.1.70 (#41108) 2020-10-03 14:15:11 +02:00
scheric
a4b25112ed Update common Strings (#41131) 2020-10-03 14:14:36 +02:00
Hmmbob
788cb0d1ce Remove excessive logging (#41120) 2020-10-03 14:13:42 +02:00
Jason Madigan
a3fef0f330 Use reference strings in lifx (#41124) 2020-10-03 14:12:52 +02:00
SNoof85
d0a1a6cba5 Update strings.json (#41051) 2020-10-03 14:11:25 +02:00
Jenny
8b30b6b312 Use reference strings for openweathermap (#41055) 2020-10-03 14:11:03 +02:00
Spartan-II-117
4c00ff98ea Use common Strings for Ambiclimate config flow (#41100) 2020-10-03 13:43:34 +02:00
groot406
01e47a977b Use common strings for Harmony config flow (#41094)
* Use common strings for harmony component

* Update homeassistant/components/harmony/strings.json

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

* use default key for common config flow strings

Co-authored-by: springstan <46536646+springstan@users.noreply.github.com>
2020-10-03 13:31:45 +02:00
Jason Madigan
ed867955f4 Use reference strings in sonos (#41122) 2020-10-03 12:02:12 +02:00
Ville Skyttä
32f7045c7c Upgrade flake8 to 3.8.4 (#41117)
https://flake8.pycqa.org/en/latest/release-notes/3.8.4.html
2020-10-03 10:11:22 +02:00
Daniel Hjelseth Høyer
16d5c145a9 Spread the load on the Tibber server (#40797)
* Tibber, Spread the load on the server

* start hour
2020-10-03 04:09:29 +02:00
Julian Engelhardt
473afc4837 Rewrite SQL tests to pytest style (#41016)
* Remove unittests and common mock from SQL component tests

* Switch to async versions of setup_component and block_till_done
2020-10-03 03:42:50 +02:00
Baptiste Candellier
9611e5223a Fix SmartHab import flow (#41093) 2020-10-03 03:26:08 +02:00
Alexei Chetroi
9765fc13e8 Bump up ZHA dependency (#41109) 2020-10-02 21:25:50 -04:00
Melvin
414633a129 Use references in Neato translation strings (#41009)
* Replace unexpected_error with unknown key in Neato

* Replace string with reference

* Revert the specific language json files back to unexpected_error

* Use reference for already_configured

* Change invalid_credentials to invalid_auth key

* Use reference for invalid_auth

* Use invalid_auth in the neato test

* Replace abort.invalid_credentials with invalid_auth
2020-10-03 02:42:07 +02:00
Chris Talkington
3a266fa116 Rewrite season sensor tests to pytest style (#40918)
* Update test_sensor.py

* Update test_sensor.py

* Update test_sensor.py

* Update test_sensor.py

* Update test_sensor.py

* Update test_sensor.py

* Update test_sensor.py

* Update test_sensor.py

* fix tests.

* Update sensor.py

* Update test_sensor.py

* fix tests.

* Update sensor.py

* Update test_sensor.py

* Update test_sensor.py

* Update test_sensor.py
2020-10-03 02:24:29 +02:00
springstan
a2c3c33b22 Use core GitHub URL in all files (#41089) 2020-10-03 00:04:11 +02:00
SNoof85
005898a0d9 Use reference strings in Huawei LTE (#41011)
* Update strings.json

* Update config_flow.py

* Update test_config_flow.py

* Update strings.json

* Update strings.json

* Update config_flow.py

* Update test_config_flow.py
2020-10-02 22:43:57 +02:00
Maciej Bieniek
d3a0743fea Use reference strings in Abode (#41004)
* Use translation references

* Suggested change

* Remove unused string

* Rename invalid_credentials key

* Fix invalid_auth in manifest.json file
2020-10-02 21:59:55 +02:00
Matej Plavevski
a3aee85335 Use reference strings in JuiceNet (#41021)
* Reference Strings for JuiceNet

* Update strings.json

* Add Reference String for API Token
2020-10-02 21:57:26 +02:00
Brian Rogers
fdd86edf60 Use common strings for Rachio (#41090) 2020-10-02 21:50:31 +02:00
SNoof85
7492b60325 Use reference strings in Sense (#41046) 2020-10-02 21:47:31 +02:00
SNoof85
f654834d34 Use reference strings in Totalconnect (#41047)
* Update strings.json

* Update config_flow.py

* Update test_config_flow.py
2020-10-02 21:45:49 +02:00
SNoof85
4ab479d48d Use reference strings in Bsblan (#41049)
* Update strings.json

* Update config_flow.py

* Update test_config_flow.py

* Update strings.json
2020-10-02 21:43:13 +02:00
SNoof85
65611320d4 Use reference strings in Coolmaster (#41066)
* Update strings.json

* Update config_flow.py

* Update test_config_flow.py
2020-10-02 21:17:32 +02:00
SNoof85
135be787e2 Use reference strings in Firmata (#41073) 2020-10-02 21:11:25 +02:00
SNoof85
2e21ef3223 Use reference strings in Flick Electric (#41074) 2020-10-02 21:09:27 +02:00
SNoof85
4158cefeb9 Use reference strings in Flume (#41075) 2020-10-02 21:07:19 +02:00
SNoof85
87c1c16b31 Use reference strings in Garmin Connect (#41076) 2020-10-02 21:05:11 +02:00
SNoof85
e9b70511a2 Use reference strings in Glances (#41078) 2020-10-02 21:03:53 +02:00
SNoof85
c958ec887f Use reference strings in directv (#41059) 2020-10-02 21:00:00 +02:00
SNoof85
4afeaaedca Use reference strings in doorbird (#41061) 2020-10-02 20:58:05 +02:00
SNoof85
6a821d6a64 Use reference strings in elgato (#41063)
* Update strings.json

* Update config_flow.py

* Update test_config_flow.py
2020-10-02 20:55:54 +02:00
SNoof85
d282694efe Use reference strings in Dexcom (#41072)
* Update strings.json

* Update config_flow.py

* Update test_config_flow.py
2020-10-02 20:48:12 +02:00
Gerard
a3511a9a81 Use core GitHub URL in contributing guidelines (#41083)
Co-authored-by: springstan <46536646+springstan@users.noreply.github.com>
2020-10-02 20:42:33 +02:00
MatthewFlamm
29d10d3c35 Use already_configured_service in NWS strings (#41062) 2020-10-02 20:40:23 +02:00
SNoof85
8eeaf67cd1 Use reference strings in Griddy (#41079) 2020-10-02 12:24:33 -05:00
Oliver
1ff0f37f3a Update denonavr to 0.9.5 (#41058) 2020-10-02 19:02:04 +02:00
Samantha
bebf5368c1 Add full command details to exception Debug log (#41070) 2020-10-02 12:18:55 -04:00
Davey Chu
08cf400473 Use references in isy994 strings.json (#40990) 2020-10-02 18:07:20 +02:00
Paulus Schoutsen
576fbbe0be Bump aioshelly to 0.3.4 (#41065) 2020-10-02 15:27:45 +02:00
Maciej Bieniek
bba0bb1bad Fix the name of the translation key for Brother integration (#41054) 2020-10-02 15:06:28 +02:00
J. Nick Koston
ab17b4ab70 Simplify template tracking and make it easier to follow (#41030) 2020-10-02 07:27:39 -05:00
djtimca
bc8a0209cb Bump pyvesync to 1.2.0 (#40978) 2020-10-02 12:34:03 +02:00
SNoof85
68aafd4d23 Use reference strings in Wled (#40969) 2020-10-02 12:08:22 +02:00
Davey Chu
8dae2f4308 Use reference strings in forked_daapd (#40989) 2020-10-02 11:55:23 +02:00
Daniel Hjelseth Høyer
708ef3201e Update config string for Tibber (#41045) 2020-10-02 11:42:26 +02:00
SNoof85
db9110c399 Use reference strings in Vilfo (#41039) 2020-10-02 11:41:21 +02:00
dependabot[bot]
796cce79b0 Bump actions/upload-artifact from v2.1.4 to v2.2.0 (#41037)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-10-02 11:26:09 +02:00
Robert Svensson
552856203b Clean deCONZ tests to depend less on integration code (#41015) 2020-10-02 11:20:33 +02:00
Daniel Hjelseth Høyer
dfe3ee5387 Use reference strings in Tibber (#41038) 2020-10-02 09:17:06 +02:00
Paulus Schoutsen
22b4ad6308 Allow processing data in CoordinatorEntity before writing state (#40926) 2020-10-02 09:16:37 +02:00
Daniel Perna
187fec9a0c Update pyhomematic to 0.1.69 (#41010) 2020-10-02 09:06:05 +02:00
SNoof85
eeb06da514 Update strings.json (#40994) 2020-10-02 08:48:24 +02:00
Davey Chu
f56a750f77 Use references in agent_dvr strings.json (#40999) 2020-10-02 08:47:59 +02:00
MatthewFlamm
9373066cee Use string references for config flow in NWS (#41007) 2020-10-02 08:47:40 +02:00
J. Nick Koston
b1ba1a7134 Verify template sensors that reference other template sensors can reload (#41031) 2020-10-02 08:34:33 +02:00
Chris Talkington
afc388c55a Improve patching for nzbget sensor tests (#41032) 2020-10-02 08:32:22 +02:00
Daniel Hjelseth Høyer
9d3ddb8981 Scaffold: correct import (#40998) 2020-10-02 08:32:03 +02:00
Alexei Chetroi
f1f23c0453 Better parsing of the ZHA device profile id (#41024) 2020-10-01 21:47:33 -04:00
Davey Chu
aba3cdc7b3 Use references in guardian strings.json (#40987) 2020-10-01 19:16:15 -06:00
HomeAssistant Azure
81c6d48cb4 [ci skip] Translation update 2020-10-02 00:05:51 +00:00
J. Nick Koston
deedd41d62 Prevent template loop detection from triggering when all templates are self referencing (#41013) 2020-10-01 22:11:11 +02:00
Paulus Schoutsen
5f088c7ff0 Bumped version to 0.116.0b1 2020-10-01 19:58:32 +00:00
jjlawren
0be678c21c Plex websocket callback async cleanup (#40992) 2020-10-01 19:58:21 +00:00
J. Nick Koston
953a1ddc8c Prevent sqlalchemy from refetching the old_state_id as it will never change (#40982)
Disable expire_on_commit for the event writer. Since we never expect the
old_state_id to change in the database, it was never worth the expense of
refetching the id after the commit.
2020-10-01 19:58:21 +00:00
Bram Kragten
fd91d21b28 Update frontend to 20201001.0 (#40974) 2020-10-01 19:58:20 +00:00
Bram Kragten
6e29eb3165 Revert using own cast app for media (#40937) 2020-10-01 19:58:19 +00:00
Alexei Chetroi
10bb399449 Bump up zha dependencies (#40914) 2020-10-01 19:58:19 +00:00
Aaron Bach
9312fd141e Bump simplisafe-python to 9.4.1 (#40819)
* Bump simplisafe-python to 9.4.0

* One more bump
2020-10-01 19:58:18 +00:00
cgtobi
8bfddbc4b2 Fix Netatmo climate error when no boiler status is set (#40815) 2020-10-01 19:58:17 +00:00
jjlawren
c0d4e1eaf4 Accept new Plex websocket callback payloads (#40773) 2020-10-01 19:58:16 +00:00
J. Nick Koston
0902caa7e4 Implement template rate_limit directive (#40667) 2020-10-01 19:58:16 +00:00
J. Nick Koston
b9931aabe7 Seperate state change tracking from async_track_template_result into async_track_state_change_filtered (#40803) 2020-10-01 19:57:57 +00:00
Bram Kragten
1219c95f63 Update frontend to 20201001.0 (#40974) 2020-10-01 21:56:44 +02:00
jjlawren
8c4b571901 Plex websocket callback async cleanup (#40992) 2020-10-01 21:56:15 +02:00
Jason Rebelo
cad2304968 Rewrite remember_the_milk tests to pytest style tests (#41002)
*  rewrite remember_the_milk tests to pytest tests

*  rewrite reddit tests to pytest tests

* Revert " rewrite reddit tests to pytest tests"

This reverts commit 7eae35f69a.
Forgot to switch to a new branch 🙈
2020-10-01 21:55:04 +02:00
Davey Chu
4b225a87c5 Use references in airvisual strings.json (#41005) 2020-10-01 13:49:16 -06:00
J. Nick Koston
b45215f1d2 Implement template rate_limit directive (#40667) 2020-10-01 21:39:44 +02:00
jjlawren
b3464c5087 Remove unnecessary instance attribute in Plex reauth config flow (#41000)
* Avoid unnecessary instance attribute

* Don't need to enrich existing entry data
2020-10-01 21:38:57 +02:00
springstan
c7ebfdb403 Use single_instance_allowed for webhook config flows (#40965) 2020-10-01 20:44:13 +02:00
Melvin
17c6838b7f Replace references in august strings.json (#40993) 2020-10-01 13:13:50 -05:00
Melvin
4b8f91823c Use reference strings in elkm1 strings.json (#40996) 2020-10-01 13:12:44 -05:00
J. Nick Koston
6b509fd9db Prevent sqlalchemy from refetching the old_state_id as it will never change (#40982)
Disable expire_on_commit for the event writer. Since we never expect the
old_state_id to change in the database, it was never worth the expense of
refetching the id after the commit.
2020-10-01 19:57:52 +02:00
jjlawren
cf785b86db Minor fixes for Plex media browser (#39878) 2020-10-01 19:55:11 +02:00
Robert Svensson
c2ed743237 Improve deCONZ platforms (#40986)
* Use platform domain imports with the list of supported platforms

* Remove legacy async_setup_platform from platforms
2020-10-01 19:06:20 +02:00
Brian Rogers
40ea30da96 Fix Rachio switch state when paused (#40984) 2020-10-01 11:19:34 -05:00
jan iversen
639c864a76 Add test coverage for modbus switch (coil part) (#40696)
* Prepare test code for complex devices.

push entity_id to conftest, to make it common for all devices.

Add device to base_setup.

* Add test coverage for modbus switch (coil part).

* Update .coveragerc

* Update .coveragerc

Co-authored-by: Chris Talkington <chris@talkingtontech.com>
2020-10-01 11:00:26 -05:00
Melvin
b56ec71998 Replace strings in hvv_departures with references (#40980) 2020-10-01 17:08:19 +02:00
Melvin
2a05fe7270 Replace IP Address in strings.json (#40968) 2020-10-01 16:31:34 +02:00
tkdrob
6627ffff39 Clean up goalzero (#40817)
* cleanup goalzero code

* more cleanup

* mroe cleanup

* log defined exception to error

* return None if not configured

* return False if not configured
2020-10-01 16:15:24 +02:00
Simone Chemelli
7554c8d6c5 Add missing unit for signal strength (#40436)
* Added missing unit for signal strength

* Added one more unit

* Replaced string with variable

* Fixed wrong import

* Fix import

* Replaced string with variable

* Fixed wrong import

* Apply suggestions from code review

* Black

* Again a fix :-(

* iSort

* iSort after merge

Co-authored-by: springstan <46536646+springstan@users.noreply.github.com>
2020-10-01 16:14:29 +02:00
SNoof85
480066ba63 Add longitude and latitude common strings (#40963) 2020-10-01 15:36:57 +02:00
Melvin
e0d14603f1 Replace strings in atag component (#40935) 2020-10-01 15:33:44 +02:00
epenet
f90f6904e0 Upgrade surepy to 0.2.6 (#40964) 2020-10-01 15:05:50 +02:00
springstan
20f8bcc908 Use common strings in mqtt config flow (#40956) 2020-10-01 14:55:45 +02:00
springstan
bd1de3cd7c Use common strings in spotify config flow (#40957) 2020-10-01 14:53:33 +02:00
SNoof85
46e8655fcf Use reference strings for Nut configflow (#40966) 2020-10-01 14:51:05 +02:00
epenet
1d138f0773 Use common string in TPLink config flow (#40958) 2020-10-01 13:38:59 +02:00
Maciej Bieniek
670404f43a Use translation references for BraviaTV config flow (#40955) 2020-10-01 13:16:07 +02:00
Paulus Schoutsen
fb3de7e3e6 Test reloading webhook trigger (#40950) 2020-10-01 13:06:22 +02:00
Maciej Bieniek
0d523d7116 Use translation references for Brother config flow (#40953) 2020-10-01 13:02:53 +02:00
springstan
1b864aeccc Use common strings in adguard config flow (#40942) 2020-10-01 12:56:55 +02:00
Maciej Bieniek
75a6dacaba Use translation references for gios config flow (#40952) 2020-10-01 12:54:10 +02:00
SNoof85
3195ce5d56 Use of reference strings for Airly config flow (#40946) 2020-10-01 12:28:32 +02:00
springstan
a3b62cea6a Use common strings in roomba config flow (#40948) 2020-10-01 12:27:47 +02:00
Maciej Bieniek
d1c04750cd Add voltage, power factor and energy returned sensors to Shelly integration (#40681) 2020-10-01 12:08:03 +02:00
Simone Chemelli
b4b056b75b Handle Shelly channel names (if available) for emeters devices (#40820) 2020-10-01 12:07:18 +02:00
On Freund
04f87eedf5 Add context to event trigger (#40932) 2020-10-01 11:59:35 +02:00
SNoof85
78ebd1add9 Use of reference strings in meteo france config flow (#40939) 2020-10-01 11:36:26 +02:00
SNoof85
0a700f7272 Common strings in Freebox config flow (#40938) 2020-10-01 11:31:43 +02:00
Franck Nijhof
22ba6e06fd Use direct service calls in demo climate tests instead of climate common (#40934) 2020-10-01 11:22:30 +02:00
Bram Kragten
1eb086e86d Revert using own cast app for media (#40937) 2020-10-01 11:05:00 +02:00
Chris Talkington
d93141c1a9 Use DataUpdateCoordinator for canary (#40691)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2020-10-01 10:26:26 +02:00
J. Nick Koston
7285c7806f Seperate state change tracking from async_track_template_result into async_track_state_change_filtered (#40803) 2020-10-01 10:19:20 +02:00
jjlawren
be9ff3bd66 Accept new Plex websocket callback payloads (#40773) 2020-10-01 09:57:45 +02:00
cgtobi
6dc25ccc7b Fix Netatmo climate error when no boiler status is set (#40815) 2020-10-01 09:56:46 +02:00
Robert Svensson
9116061262 Add lock support to deCONZ (#40807)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-10-01 09:50:06 +02:00
Eliot Wong
95d228cace Rewrite worldclock unittest tests to pytest style test functions (#40922) 2020-10-01 09:42:23 +02:00
Robert Svensson
d95f83b5fb Improve logging to identify which deCONZ device is at fault (#40808) 2020-10-01 09:23:32 +02:00
Robert Svensson
2922d4675f Abort deCONZ config flow if no radio hardware is connected (#40811) 2020-10-01 09:23:12 +02:00
Antetokounpo
df1e910ac7 Update weather tests to pytest style (#40917) 2020-10-01 09:14:48 +02:00
dependabot[bot]
632bf4f7f7 Bump actions/setup-python from v2.1.2 to v2.1.3 (#40921)
Bumps [actions/setup-python](https://github.com/actions/setup-python) from v2.1.2 to v2.1.3.
- [Release notes](https://github.com/actions/setup-python/releases)
- [Commits](https://github.com/actions/setup-python/compare/v2.1.2...c181ffa198a1248f902bc2f7965d2f9a36c2d7f6)

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-10-01 09:06:53 +02:00
Eliot Wong
ad8ab183cb Rewrite random unittest tests to pytest style test functions (#40920) 2020-10-01 09:05:44 +02:00
Rob Bierbooms
c5041b41c8 Implement config and option flow for rfxtrx integration (#39117)
* Create option flow for Rfxtrx integration (#37982)

* Implement config flow for rfxtrx integration (#39299)

* Add config flow

* Add strings

* Add first series of tests

* Add tests

* Adjust tests according review comments

* Adjust strings

* Add executor for testing connection

* Change ports to dict

* Fix pylint issue

* Adjust tests

* Migrate config entry for rfxtrx integration (#39528)

* Add rfxtrx device connection validation when importing (#39582)

* Implement import connection validation

* Fix binary sensor tests

* Move rfxtrx data

* Fix cover tests

* Fix test init

* Fix light tests

* Fix sensor tests

* Fix switch tests

* Refactor rfxtrx test data

* Fix strings

* Fix check

* Rework device string in test code

* Add option to delete multiple rfxtrx devices (#39625)

* Opt to remove multiple devices

* Fix devices key

* Add tests (phase 1)

* Add tests (phase 2)

* Tweak remove devices test

* Implement device migration function in rfxtrx option flow (#39694)

* Prompt option to replace device

* Revert unwanted changes

* Add replace device function

* WIP replace entities

* Remove device/entities and update config entry

* Fix styling

* Add info

* Add test

* Fix strings

* Refactor building migration map

* Allow migration for all device types

* Add test to migrate control device

* Fixup some names

* Fixup entry names in test code

* Bump pyRFXtrx to 0.26 and deprecate debug config key (#40679)

* Create option flow for Rfxtrx integration (#37982)

* Implement config flow for rfxtrx integration (#39299)

* Add config flow

* Add strings

* Add first series of tests

* Add tests

* Adjust tests according review comments

* Adjust strings

* Add executor for testing connection

* Change ports to dict

* Fix pylint issue

* Adjust tests

* Migrate config entry for rfxtrx integration (#39528)

* Add rfxtrx device connection validation when importing (#39582)

* Implement import connection validation

* Fix binary sensor tests

* Move rfxtrx data

* Fix cover tests

* Fix test init

* Fix light tests

* Fix sensor tests

* Fix switch tests

* Refactor rfxtrx test data

* Fix strings

* Fix check

* Rework device string in test code

* Add option to delete multiple rfxtrx devices (#39625)

* Opt to remove multiple devices

* Fix devices key

* Add tests (phase 1)

* Add tests (phase 2)

* Tweak remove devices test

* Implement device migration function in rfxtrx option flow (#39694)

* Prompt option to replace device

* Revert unwanted changes

* Add replace device function

* WIP replace entities

* Remove device/entities and update config entry

* Fix styling

* Add info

* Add test

* Fix strings

* Refactor building migration map

* Allow migration for all device types

* Add test to migrate control device

* Fixup some names

* Fixup entry names in test code

* Bump version number

* Remove debug key from connect

* Remove debug option from config flow

* Remove debug from tests

* Fix event test

* Add cv.deprecated

* Fix test

* Fix config schema

* Add timeout on connection

* Rework config schema

* Fix schema...again

* Prevent creation of duplicate device in rfxtrx option flow (#40656)
2020-10-01 08:55:57 +02:00
Aaron Bach
44e5ec58b0 Bump simplisafe-python to 9.4.1 (#40819)
* Bump simplisafe-python to 9.4.0

* One more bump
2020-09-30 19:20:10 -06:00
Alexei Chetroi
9fa23f6479 Bump up zha dependencies (#40914) 2020-09-30 20:53:00 -04:00
HomeAssistant Azure
7d39ecffa0 [ci skip] Translation update 2020-10-01 00:04:01 +00:00
Khole
c0c38fa6d4 Update Pyhiveapi Library Version (#40804)
* Update Pyhiveapi Library Version

This fixs an issue caused by a change in authentication method by hive

* Update Library Version
2020-10-01 00:02:42 +02:00
Franck Nijhof
1c534ea027 Bumped version to 0.116.0b0 2020-09-30 21:24:57 +02:00
Anders Melchiorsen
e08934ee4c Support adding Spotify share links to the Sonos queue (#40802) 2020-09-30 21:19:41 +02:00
Franck Nijhof
5cb5a508a8 Merge branch 'master' into dev 2020-09-30 21:16:36 +02:00
Chris
c693d8af14 Discover additional ozw thermostats lacking mode support (#40799)
* Discover more thermostats without mode support

* Add tests
2020-09-30 21:12:44 +02:00
Robert Svensson
9d56d3bb31 Add deCONZ service to clean up orphaned device and entity entries (#40629)
* Add service that can clean up by deCONZ orphaned entries from device and entity registry

* Fix existing tests

* Add new test

* Add some inline comment to the service
2020-09-30 20:11:41 +02:00
Daniel Hjelseth Høyer
9bdc716e60 Include config flow modules in coverage (#40798)
* update coveragerc

* typo
2020-09-30 19:55:26 +02:00
Bram Kragten
8a16fb53c8 Update frontend to 20200930.0 (#40794) 2020-09-30 18:39:45 +02:00
J. Nick Koston
2076fc59c4 Remove message and domain from logbook state_changed events (#40070)
These are now handled by the frontend as we move closer
to making the logbook localized.
2020-09-30 11:29:51 -05:00
Quentame
1d816d25f7 Add Surveillance Station home mode switch for Synology DSM (#40490)
* Use camera name as device name

* Add Surveillance Station home mode switch for Synology DSM

- camera uses Surveillance Station as device parent
- camera uses camera name instead of NAS name + camera name

* Without device_class otherwise no icon

* Update .coveragerc
2020-09-30 18:27:06 +02:00
uvjustin
e85d1deddd Return target duration of 1 when no segments (#40518) 2020-09-30 11:46:35 -04:00
uvjustin
5658abfaca Log timestamp overflow in stream (#39844) 2020-09-30 11:45:59 -04:00
J. Nick Koston
42ad36e9f8 Switch group to use None for the state unknown case (#40792) 2020-09-30 17:25:50 +02:00
Robert Svensson
082f866620 Improve deCONZ state updates (#40601) 2020-09-30 17:24:30 +02:00
Bram Kragten
ac71641c18 Use the Home Assistant Cast app to play media on Chromecast (#40782) 2020-09-30 17:20:18 +02:00
J. Nick Koston
a11fd08d20 Create MQTTMatcher once per subscription instead of each message (#40345)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-09-30 17:18:43 +02:00
Daniel Hjelseth Høyer
4c157f65ea Tibber, combine two fetches into one fetch (#40787) 2020-09-30 17:17:21 +02:00
Chris Reichel
01a0ffa636 Fix DWD namings (#40791) 2020-09-30 17:12:06 +02:00
Martin Hjelmare
f454b4154b Fix and clean tox.ini (#40789) 2020-09-30 17:07:59 +02:00
MatthewFlamm
ab3909c24f Disable hourly sensor by default in NWS (#40566) 2020-09-30 16:53:33 +02:00
J. Nick Koston
9ccebdb8d5 Refactor group to extend domains that can be grouped (#40607)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-09-30 09:13:53 -05:00
Franck Nijhof
e7d8742771 Upgrade sentry-sdk to 0.18.0 (#40784) 2020-09-30 14:12:02 +02:00
Maikel Punie
30effb5c8a Use common strings for velbus config flow (#40660) 2020-09-30 13:53:03 +02:00
Franck Nijhof
27350f41c9 Improve command_line switch tests (#40749) 2020-09-30 13:29:43 +02:00
Mike O'Driscoll
fc0344399b Remove TekSavvy Component, no longer available (#40762)
The TekSavvy API has been removed.
Per [this forum post](https://community.teksavvy.com/discussion/comment/120) on TekSavvy's
support page.
2020-09-30 13:14:41 +02:00
J. Nick Koston
d9ba32dc3f Setup recorder model relationships to avoid calling flush (#40467) 2020-09-30 13:11:43 +02:00
J. Nick Koston
aada6a1d88 Fix logbook with empty filter and remove unused code (#40565) 2020-09-30 13:10:11 +02:00
Thibaut
729ed1cab6 Add unique_id to the light switch (#40603)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-09-30 13:05:18 +02:00
J. Nick Koston
205cf57a77 Code cleanups for async_track_template_result (#40737) 2020-09-30 13:00:21 +02:00
Guido Schmitz
d6df1527f1 Update devolo-home-control-api to 0.15.0 (#40764) 2020-09-30 12:58:19 +02:00
Paulus Schoutsen
3d2d56213c Merge pull request #40778 from home-assistant/rc 2020-09-30 11:39:39 +02:00
Franck Nijhof
4cce724473 Use direct service calls in flux tests instead of switch common (#40704) 2020-09-30 11:07:51 +02:00
Paulus Schoutsen
dbda9a520e Bumped version to 0.115.6 2020-09-30 08:36:30 +00:00
Bram Kragten
c802a63700 Use custom app to play camera stream using Google Assistant (#40750) 2020-09-30 08:36:26 +00:00
Bram Kragten
c6f3352cf8 Use custom app to play camera stream using Google Assistant (#40750) 2020-09-30 10:33:56 +02:00
Marvin Wichmann
f5429dc175 Update xknx to 0.15.0 (#40649)
* Update xknx to 0.15.0

closes #40526

* Review: Remove log_directory for now

* Review: typo fix
2020-09-30 10:04:56 +02:00
epenet
e38ae1b188 Normalise headers in onewire integration (#40774) 2020-09-30 08:53:12 +02:00
HomeAssistant Azure
8d0f1e7db2 [ci skip] Translation update 2020-09-30 00:04:43 +00:00
David F. Mulcahey
ac3a6aaa8c Bump ZHA quirks lib to 0.0.45 (#40769) 2020-09-29 19:59:12 -04:00
Samantha
a8b68dc4f9 Add Neighbors & Endpoint Names to zha/devices reply (#40748)
* Add Neighbors & Endpoint Names to zha/devices reply.

* Remove unused const

* Add tests & correct const name.

* Change tests to use corresponding enum device_type
2020-09-29 15:25:05 -04:00
Franck Nijhof
a2d2b7842d Upgrade paho-mqtt to 1.5.1 (#40703) 2020-09-29 18:12:45 +02:00
Richard van Duijn
ee9540e137 Add template cover opening and closing states (#40677) 2020-09-29 16:04:33 +02:00
Franck Nijhof
ef1c8c55f8 Merge pull request #40742 from home-assistant/rc 2020-09-29 13:33:10 +02:00
Franck Nijhof
ebacc15e72 Bumped version to 0.115.5 2020-09-29 12:38:30 +02:00
Franck Nijhof
e54ec3ba05 Fix ID3 tagging in TTS (#40740) 2020-09-29 12:38:04 +02:00
MatsNl
fe6786aa6a Update pyatag to 0.3.4.4 (#40720) 2020-09-29 11:32:42 +02:00
Robert Svensson
7e58bfe01d Add deconz option to disable automatic addition of new devices (#40545)
* Allow disabling automatic additions of new devices from deconz

* Fix black

* Fix review comment

* Remove assertion

* Verify entity registry is empty
2020-09-29 11:07:19 +02:00
Franck Nijhof
f3edec1191 Fix ID3 tagging in TTS (#40740) 2020-09-29 10:19:26 +02:00
Chris Talkington
432133a12a Add ability to reauth sonarr (#40306)
* add ability to reauth sonarr

* Update config_flow.py

* work on reauth

* Update test_init.py

* Update config_flow.py

* Update strings.json

* Update test_config_flow.py

* Update strings.json

* Update test_config_flow.py

* Update __init__.py

* Update __init__.py

* Update config_flow.py

* Update strings.json

* Update config_flow.py

* Update __init__.py

* Update test_config_flow.py

* Update test_config_flow.py

* Update strings.json

* Update test_config_flow.py

* Update config_flow.py

* Update test_config_flow.py

* Update config_flow.py

* Update strings.json

* Update config_flow.py

* Update test_config_flow.py

* Update test_config_flow.py
2020-09-28 20:15:59 -05:00
Chris Talkington
bc89b63fc6 Add switch to control downloads for nzbget (#40673)
* add switch to control downloads for nzbget

* work on switch

* Update test_config_flow.py

* Update test_sensor.py
2020-09-28 20:14:49 -05:00
Alexei Chetroi
47286fbe2a Refactor permit services to allow joining using install codes (#40652)
* Update zha.permit schema to support install code

* Move install code to core helpers

* QR code converter for enbrighten

* Fix schemas

* Update test for permit service

* Refactor zha.permit to accept install codes

* Test zha.permit from QR code

* Fix regex for Embrighten QR code

* Add regex for Aqara QR codes

* Add Consciot regex for QR code

* Reuse test params for WS tests

* ZHA WS permit command with install code

* Tests for zha.permit WS service

* Refactor zha.permit and zha.remove service to use ATTR_IEEE for the address

* Make pylint happy

* Deprecate only ieee_address param for now
2020-09-28 20:55:08 -04:00
Alexei Chetroi
b9823791f7 Bump up ZHA dependency (#40734) 2020-09-28 20:37:56 -04:00
HomeAssistant Azure
704ffe391a [ci skip] Translation update 2020-09-29 00:03:20 +00:00
Bashir
9b198e8d67 Update islamic_prayer_times with common strings (#40712) 2020-09-28 18:37:41 -05:00
Erik Montnemery
e7f832a82f Add MQTT tag scanner (#40709) 2020-09-28 22:04:27 +02:00
Franck Nijhof
3bcd2b6f71 Fix name of the Vallox integration in the manifest (#40727) 2020-09-28 22:01:01 +02:00
Fabrice Pipart
b7f596a71e Fix support for Aqara WXKG06LM (#40694) 2020-09-28 20:36:28 +02:00
Ville Skyttä
5bbddb5b26 Use NamedTuple for Huawei LTE sensor metadata (#40655) 2020-09-28 20:33:32 +03:00
Andre Lengwenus
e5e6dda04f Bump pypck to v0.7.2 (#40716) 2020-09-28 18:51:38 +02:00
Guido Schmitz
70ed838571 Improve devolo Home Control code quality (#40708) 2020-09-28 10:37:46 -05:00
J. Nick Koston
e564af0b5b Improve performance of accessing template state (#40323)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-09-28 10:35:12 -05:00
jjlawren
3596eb39f2 Add support to reauthorize expired Plex tokens (#40469) 2020-09-28 16:14:54 +02:00
Martin Hjelmare
eda68f127c Add rpi_power during onboarding on RPi (#40076) 2020-09-28 16:07:17 +02:00
Jeff Irion
68d75a879b Fix Android TV 'async_get_media_image' (#40672) 2020-09-28 16:04:08 +02:00
RichieFrame
ceded35a82 Remove degree from Kelvin unit (#40574)
Kelvin temperature unit does not use the degree symbol
2020-09-28 16:03:21 +02:00
J. Nick Koston
a19e10c57a Add entity glob matching support to history (#40387) 2020-09-28 15:58:55 +02:00
J. Nick Koston
e08ee282ab Abort execution of template renders that overwhelm the system (#40647) 2020-09-28 14:43:22 +02:00
Jason Hunter
8bc62f3678 Fix camera play stream (#40641)
Co-authored-by: Justin Wong <46082645+uvjustin@users.noreply.github.com>
2020-09-28 14:24:30 +02:00
Matt Black
1c252634b7 Bump snapcast dependency to 2.1.1 (#40561) 2020-09-28 13:42:01 +02:00
Maciej Bieniek
29d87646dd Improve config flow descriptions in Shelly integration (#40396) 2020-09-28 13:35:40 +02:00
Paweł Stankowski
8466682b65 Bump Airly package to 1.0.0 (#40695) 2020-09-28 11:12:35 +02:00
Joakim Sørensen
953f6bad46 Allow non-authenticated calls to supervisor logs during onboarding (#40617) 2020-09-28 10:10:10 +02:00
Alex
373a1cabe6 Re-enable hdmi_cec component (#40671) 2020-09-28 08:31:35 +02:00
Alexei Chetroi
988bc8b35f Bump up zha dependency (#40689)
* Bump up zha dependency

* Update ZHA dependency for zigpy
2020-09-27 22:23:53 -04:00
jan iversen
0ca19133d9 Add tests for modbus binary sensor (#40367)
* Add test coverage of binary sensor.

Update conftest to be generic.

* Pass total config structure to run_base_test.

Simple devices like sensor/switch do only have one entry in the
dict array, whereas e.g. switch have multiple entries.

* Use STATE_ON / _OFF for binary_sensor test.

* Update coveragerc

Only exclude files that uses a third party library.

* Remove modbus/* from coveragerc

* Remove modbus from .coveragerc

* Update .coveragerc

Co-authored-by: Chris Talkington <chris@talkingtontech.com>
2020-09-27 20:00:44 -05:00
epenet
ea6ec42bbd Add onewire humidity sensors connected via DS2438 (#39780) 2020-09-27 19:16:29 -05:00
HomeAssistant Azure
e9e17122e7 [ci skip] Translation update 2020-09-28 00:03:28 +00:00
epenet
f886ea9e3d Move onewire constants to separate file (#40550)
* Move constants to separate file

* Ignore coverage of const.py
2020-09-27 19:02:20 -05:00
epenet
f71816d328 Fix issue with HobbyBoard moisture meter (#40680) 2020-09-28 01:25:04 +02:00
puddly
0a16ae6482 Upgrade zigpy-znp from 0.1.1 to 0.2.0 (#40674) 2020-09-27 18:13:46 -04:00
Colin Frei
13b6fe2bba Fix fitbit current URL not available while configuring (#40547)
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-09-27 23:19:46 +02:00
Maciej Bieniek
088558b8df Increase the timeout during config entry setup in Shelly integration (#40684) 2020-09-27 23:03:47 +02:00
uvjustin
9a32e28574 Create master playlist for cast (#40483)
Co-authored-by: Jason Hunter <hunterjm@gmail.com>
2020-09-27 22:38:14 +02:00
Franck Nijhof
e320c3b735 Pin gRPC to 1.31.0 to workaround amrv7 issues (#40678) 2020-09-27 21:51:37 +02:00
Adam Król
ef751c0961 Update wolf_smartset to 0.1.6 (#40668)
* Bump wolf_smartset version. Support not fully fetched data

* Fix black and pylint errors

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

* Remove dot from exception message.

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

Co-authored-by: springstan <46536646+springstan@users.noreply.github.com>
Co-authored-by: Chris Talkington <chris@talkingtontech.com>
2020-09-27 14:02:29 -05:00
Chris
52b745b8a9 set ID3 tags as TextFrame types (#40666) 2020-09-27 20:40:57 +02:00
stephan192
abcfbf790b Bump dwdwfsapi to v1.0.3 (#40644) 2020-09-27 19:46:41 +02:00
tkdrob
67a7b28c84 Add Integration for Goal Zero Yeti Power Stations (#39231)
* Add Integration for Goal Zero Yeti Power Stations

* Goal Zero Yeti integration with config flow

* Remove unused entities

* Remove entry from requirements_test_all

* Pylint fix

* Apply suggestions from code review

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

* Add tests for goalzero integration

* Fix UNIT_PERCENTAGE to PERCENTAGE

* isort PERCENTAGE

* Add tests

* Add en translation

* Fix tests

* bump goalzero to 0.1.1

* fix await

* bump goalzero to 0.1.2

* Update tests/components/goalzero/__init__.py

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

* apply recommended changes

* isort

* bump goalzero to 0.1.4

* apply recommended changes

* apply recommended changes

Co-authored-by: Franck Nijhof <frenck@frenck.nl>
Co-authored-by: J. Nick Koston <nick@koston.org>
2020-09-27 12:44:21 -05:00
Ville Skyttä
4ca7b8569b Remove pre-0.102 Huawei LTE setup noop warnings (#40654) 2020-09-27 18:02:44 +02:00
Melvin
c63cd63c1b Use common strings for oauth config flows (#40608) 2020-09-27 10:49:30 -05:00
Marcio Granzotto Rodrigues
3fba4274f5 Add authentication support to Nightscout (#40602)
* Add API Key to the Nightscout integration config

* Add tests for nightscout config changes

* Apply suggestions from code review

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

* Update homeassistant/components/nightscout/__init__.py

* Run translations script to fix en.json

Co-authored-by: springstan <46536646+springstan@users.noreply.github.com>
Co-authored-by: Chris Talkington <chris@talkingtontech.com>
2020-09-27 10:22:28 -05:00
Maikel Punie
6028953eca Bump python-velbus to 2.0.46 (#40663) 2020-09-27 17:12:36 +02:00
Franck Nijhof
0e6d54ea60 Rewrite core event tests to pytest tests (#40664) 2020-09-27 15:39:45 +02:00
Bashir
5274b03dc2 Resolve Frontend Services.yaml Minor Oversight (#40659)
The Default Values Suggest That The User enters 'light' as a parameter for the theme name. 'Light' is, however, not a valid option on a fresh install of HA unless a user manually downloads a theme with the name 'light'.
2020-09-27 12:51:41 +02:00
Maikel Punie
b65583084b Fix solaredge service data KeyError (#40653) 2020-09-27 11:40:56 +02:00
Robert Svensson
66a8edb11e deCONZ fix comments from #40265 (#40640)
* Use set not list

* Events are not entities

* Don't await unload_events

* Remove checks of entities content in tests

* List to set comprehension

* Why is it so hard to remember that sets arent parenthesis...
2020-09-27 11:02:45 +02:00
Simone Chemelli
8895752837 Handle Shelly channel names (if available) (#40119)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2020-09-27 10:16:45 +02:00
Julius Mittenzwei
a19b43a304 Add support for homekit windows (#40635)
Co-authored-by: J. Nick Koston <nick@koston.org>
2020-09-27 00:07:59 -05:00
HomeAssistant Azure
2b00d28af9 [ci skip] Translation update 2020-09-27 00:06:49 +00:00
J. Nick Koston
57b7559832 Ensure all jinja2 errors are trapped and displayed in the developer tools (#40624)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-09-26 17:03:32 -05:00
J. Nick Koston
3261a904da Reduce the number of template re-renders when we are only counting states (#40272) 2020-09-26 16:29:49 -05:00
Maciej Bieniek
b8f837365c Bump aioshelly library to version 0.3.3 (#40415) 2020-09-26 22:39:02 +02:00
Franck Nijhof
8837ed35cd Use direct service calls in tests instead of automation common (#40623)
* Use direct service calls in tests instead of automation common

* Remove automation common test helpers
2020-09-26 19:28:26 +02:00
J. Nick Koston
35533407fe Improve performance of counting and iterating states in templates (#40250)
Co-authored-by: Anders Melchiorsen <amelchio@nogoto.net>
2020-09-26 11:36:47 -05:00
Vladimír Záhradník
1d41f024cf Add Modbus cover (#33642)
* Add Modbus cover

* Fix improper commands written for Modbus cover via coil

* Make changes per review comments

* Fix default hub not defined

Since support for multiple hubs was added, the default hub option
was not implemented correctly. Now I added necessary logic to make
it work. First hub in a list will be used as a default hub.

* Move Cover config under Modbus section

* Revert setting up a default hub alias

* Make hub mandatory for Cover

* Add default scan interval

* Read scan_interval from discovery info

* Fix linter error

* Use default scan interval from Cover platform

* Handle polling for Modbus cover directly inside entity

* Move covers under hub config

* Fix for review comment

* Call update() from Cover actuator methods

* Fix time validation
2020-09-26 11:11:51 -05:00
Felipe Martins Diel
2f4aa35ca6 Bump python-broadlink to 0.15.0 (#39228)
* Rename DeviceOfflineError to NetworkTimeoutError

* Bump python-broadlink to 0.15
2020-09-26 10:46:02 -05:00
SNoof85
6977425d04 Use common strings for Freebox config flow (#40590) 2020-09-26 10:27:18 -05:00
Rob Bierbooms
445743930b Use common strings for monoprice config flow (#40592) 2020-09-26 10:20:19 -05:00
Rob Bierbooms
f6435affe9 Use common strings for somfy config flow (#40594) 2020-09-26 13:30:49 +02:00
Franck Nijhof
c011f3fa95 Use direct service calls in light platform tests (#40604) 2020-09-26 13:19:59 +02:00
Franck Nijhof
c64eec3238 Add bare hostname as valid known hostname in get_url helper (#40510) 2020-09-26 09:36:03 +02:00
J. Nick Koston
35cfc80dd7 Log the remote ip address for incoming websocket connections when debug is on (#40581) 2020-09-26 09:32:50 +02:00
Joakim Sørensen
a42736e437 Allow non-authenticated calls to snapshots during onboarding (#40582) 2020-09-26 09:26:02 +02:00
Joakim Sørensen
4a63b83caa Add installation type to discovery endpoint (#40585) 2020-09-26 09:17:04 +02:00
Erik Montnemery
4cb118ca29 Bump pychromecast to 7.4.1 (#40587)
* Bump pychromecast to 7.4.0

* Bump pychromecast to 7.4.1
2020-09-26 09:15:09 +02:00
Daniel Kucera
6ddc6a44a2 Throttle ebusd sensors instead of the whole component (#40610) 2020-09-26 09:11:32 +02:00
Franck Nijhof
9cd8f66e14 Upgrade spotipy to 2.16.0 (#40606) 2020-09-26 08:21:12 +02:00
J. Nick Koston
b3b9c52df2 Add device info to gogogate2 (#40538) 2020-09-25 22:28:59 -05:00
HomeAssistant Azure
c3afe39ea0 [ci skip] Translation update 2020-09-26 00:05:34 +00:00
Alexei Chetroi
f09f7feb94 Update schema for zha.set_zigbee_cluster_attribute service (#40600) 2020-09-25 18:36:55 -04:00
Robert Svensson
203c556ba3 Improve tracking of existing entities in deconz (#40265)
* Store all entities in dict

* Use stored unique id to select if to create entity or not

* Remove unnecessary init

* Change so same physical sensor doesnt try to create multiple battery sensors
Change so groups get created properly

* Add controls in tests that entities are logged correctly
2020-09-25 22:49:28 +02:00
Franck Nijhof
e30acfbfee Rewrite light component tests to async pytest tests (#40589) 2020-09-25 19:14:25 +02:00
Oliver Acevedo
0c12af347e Add Omnilogic integration (#40474)
* Scaffold

* Added the en translation

* Modified the name

* Basic functionality for config flow.

* Pulled in enough to validate config flow works.

* Update manifest.json

* initial data polling (water and air temp sensors)

* Adding sensors, debugging update function

* polling updates working

* support for new data format from library

* Updated entity_id, friendly name, conversion for ppm, attributes for hayward display units, MSPSystemID and component systemID

* Fixed errors for PR

* clean up

* Add login exc, check if configured, test login.

* Remove debug print.

* Black formatting, ran isort, update requirements.

* Updated w isort. fix flake8 failures.

* Fix flake8 errors

* Fixed self.attrs to remove invalid self._ values - small change

* Missed on small change - fixing attributes

* Updated naming, updated unit of measure, updated icon, bumped omnilog…

* Updated to fix flake8 issues in __init__.py and config_flow.py

* Updated test_config_flow.py to pass, updated config_flow.py to correct errors in test

* Remove comments in preparation for PR

* update .covezragerc

* Formatting fix

* Rewrote sensors to dynamically add all BOWs, pumps, clorinators. Still to do - add CSAD sensors.

* Rewrote sensors to dynamically add all BOWs, pumps, clorinators. Still to do - add CSAD sensors.

* Added CSAD sensors for pools that have them.

* Added CSAD sensors for pools that have them.

* Fixed CSAD to not create if blank or don't exist, removed broad except usage to pass linting.

* Updated entity naming convention. Fixed linting issues.

* Added device association to the back yard / omnilogic system

* Removed .0 from ppm values when returning imperial values for salt sensor

* Updated to return state = None for water temp when pump is off, handled Chlorinator operatingMode = 2, and added PlatformNotReady check

* Corrected exception from Omnilogic library

* Bumped omnilogic to 0.3.7. Added alarm sensor/data to sensors. Handle pump off condition for ph and orp sensors.

* Bumped omnilogic to 0.3.7. Added alarm sensor/data to sensors. Handle pump off condition for ph and orp sensors.

* Bumped omnilogic to 0.3.7. Added alarm sensor/data to sensors. Handle pump off condition for ph and orp sensors.

* Removed nested_lookup dependency, bumped omnilogic.py to 0.3.8.

* Fixed lint error

* Added logging for sensor creation.

* Fixed linting errors with logging.

* Fixed explicit chaining of raised error. Fixed issue with alarm sensor.

* Fixed manifest.json based on feedback.

* Fixed self.attrs, should_poll, CoordinatorEntity, SCAN_INTERVAL from comments in PR.

* Addressed unique_id, moved data update coordinator, addressed minor other issues from testing

* Created main OmniLogic entity for common items, reworked DataUpdateCoordinator to it's own class.

* Addressed config_schema not used in __init__.py

* Fixed linting issues.

* Addressed several comments, still todo - separate sensor classes.

* Split the Omnilogic Sensors into separate logical classes for simpler logic.

* Fixed snake case lint error for AddAlarms (to add_alarms)

* Addressed config_flow issues from comments.

* Changed addressed ConfigNotReady issue from comments.

* Updated strings.json and generated corrected en.json with translations.

* Updated en.json to standard generated file.

* Added config_flow tests and updated issue with config_flow on cannot_connect

* Added test case for incomplete information entered.

* Compressed logic in the sensor classes to reduce duplication.

* Updated strings.json for polling_interval, added generic exception handling on config flow.

* Removed omnilogic from the .coveragerc omit file.

* Updated test_config_flow to follow recommended pattern.

* Excluded sensor.py from test coverage tests.

* Corected minor issues in test_config_flow from comments

* Fixed linting issues on last commits

* Fixed linting issues.

* Corrected issue when temp state is not available from Omnilogic

* Added omnililogic_common.py from .coveragerc to bypass test coverage check.

* Return false on Login Exception, handle OmniLogicException in config_flow and in tests.

* Handle all exceptions and in config_flow and tests, clarified test naming.

* Broke out test cases per comments.

* Regenerated en.json file.

* Addressed changes from comments in PR.

* Added session and bumped API to 0.4.0, addressed other comments from PR.

* Addressed entitydata (missed earlier).

* Fixed pylint issue

* Added test case for options flow in test_config_flow.py

* Removed super() and used self when calling methods in current class.

* Addressed comments in PR.

* Addressed comments in PR.

* Updated translations file.

* Rewrote data coordinator to output dict for easy searching.

* Updated chlorinator unit when chlorinator is on/off only

* Scaffold

* Added the en translation

* Modified the name

* Basic functionality for config flow.

* Pulled in enough to validate config flow works.

* Update manifest.json

* initial data polling (water and air temp sensors)

* Adding sensors, debugging update function

* polling updates working

* support for new data format from library

* Updated entity_id, friendly name, conversion for ppm, attributes for hayward display units, MSPSystemID and component systemID

* Fixed errors for PR

* clean up

* Add login exc, check if configured, test login.

* Remove debug print.

* Black formatting, ran isort, update requirements.

* Updated w isort. fix flake8 failures.

* Fix flake8 errors

* Fixed self.attrs to remove invalid self._ values - small change

* Missed on small change - fixing attributes

* Updated naming, updated unit of measure, updated icon, bumped omnilog…

* Updated to fix flake8 issues in __init__.py and config_flow.py

* Updated test_config_flow.py to pass, updated config_flow.py to correct errors in test

* Remove comments in preparation for PR

* update .covezragerc

* Formatting fix

* Rewrote sensors to dynamically add all BOWs, pumps, clorinators. Still to do - add CSAD sensors.

* Rewrote sensors to dynamically add all BOWs, pumps, clorinators. Still to do - add CSAD sensors.

* Added CSAD sensors for pools that have them.

* Added CSAD sensors for pools that have them.

* Fixed CSAD to not create if blank or don't exist, removed broad except usage to pass linting.

* Updated entity naming convention. Fixed linting issues.

* Added device association to the back yard / omnilogic system

* Removed .0 from ppm values when returning imperial values for salt sensor

* Updated to return state = None for water temp when pump is off, handled Chlorinator operatingMode = 2, and added PlatformNotReady check

* Corrected exception from Omnilogic library

* Bumped omnilogic to 0.3.7. Added alarm sensor/data to sensors. Handle pump off condition for ph and orp sensors.

* Bumped omnilogic to 0.3.7. Added alarm sensor/data to sensors. Handle pump off condition for ph and orp sensors.

* Bumped omnilogic to 0.3.7. Added alarm sensor/data to sensors. Handle pump off condition for ph and orp sensors.

* Removed nested_lookup dependency, bumped omnilogic.py to 0.3.8.

* Fixed lint error

* Added logging for sensor creation.

* Fixed linting errors with logging.

* Fixed explicit chaining of raised error. Fixed issue with alarm sensor.

* Fixed manifest.json based on feedback.

* Fixed self.attrs, should_poll, CoordinatorEntity, SCAN_INTERVAL from comments in PR.

* Addressed unique_id, moved data update coordinator, addressed minor other issues from testing

* Created main OmniLogic entity for common items, reworked DataUpdateCoordinator to it's own class.

* Addressed config_schema not used in __init__.py

* Fixed linting issues.

* Addressed several comments, still todo - separate sensor classes.

* Split the Omnilogic Sensors into separate logical classes for simpler logic.

* Fixed snake case lint error for AddAlarms (to add_alarms)

* Addressed config_flow issues from comments.

* Changed addressed ConfigNotReady issue from comments.

* Updated strings.json and generated corrected en.json with translations.

* Updated en.json to standard generated file.

* Added config_flow tests and updated issue with config_flow on cannot_connect

* Added test case for incomplete information entered.

* Compressed logic in the sensor classes to reduce duplication.

* Updated strings.json for polling_interval, added generic exception handling on config flow.

* Removed omnilogic from the .coveragerc omit file.

* Updated test_config_flow to follow recommended pattern.

* Excluded sensor.py from test coverage tests.

* Corected minor issues in test_config_flow from comments

* Fixed linting issues on last commits

* Fixed linting issues.

* Corrected issue when temp state is not available from Omnilogic

* Added omnililogic_common.py from .coveragerc to bypass test coverage check.

* Return false on Login Exception, handle OmniLogicException in config_flow and in tests.

* Handle all exceptions and in config_flow and tests, clarified test naming.

* Broke out test cases per comments.

* Regenerated en.json file.

* Addressed changes from comments in PR.

* Added session and bumped API to 0.4.0, addressed other comments from PR.

* Addressed entitydata (missed earlier).

* Fixed pylint issue

* Added test case for options flow in test_config_flow.py

* Removed super() and used self when calling methods in current class.

* Addressed comments in PR.

* Addressed comments in PR.

* Updated translations file.

* Rewrote data coordinator to output dict for easy searching.

* Updated chlorinator unit when chlorinator is on/off only

* Fixed ORP method not being @property, fixed unique_id potential issue. Does not address comments from PR.

* Rewrote coordinator for updated dict structure, rewrote sensors to parse new data structure.

* Added alarms as attributes on all entities which support alarm reporting.

* Updated SENSOR_TYPES to sensor_types to adhere to snake case in pylint.

* Addressed PR comments.

* Update homeassistant/components/omnilogic/sensor.py

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

* Update homeassistant/components/omnilogic/sensor.py

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

* Update homeassistant/components/omnilogic/sensor.py

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

* Update homeassistant/components/omnilogic/sensor.py

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

* Update homeassistant/components/omnilogic/sensor.py

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

* Update homeassistant/components/omnilogic/sensor.py

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

* Update homeassistant/components/omnilogic/sensor.py

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

* Update homeassistant/components/omnilogic/sensor.py

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

* Update homeassistant/components/omnilogic/sensor.py

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

* Update homeassistant/components/omnilogic/sensor.py

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

* Update homeassistant/components/omnilogic/sensor.py

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

* Update homeassistant/components/omnilogic/sensor.py

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

* Update homeassistant/components/omnilogic/sensor.py

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

* Update homeassistant/components/omnilogic/sensor.py

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

* Update homeassistant/components/omnilogic/sensor.py

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

* Update homeassistant/components/omnilogic/sensor.py

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

* Removed binary sensor conditions (alarms, on/off sensor types) and added ability for multiple guard conditions

* Update homeassistant/components/omnilogic/sensor.py

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

* Updated per comments in PR for Pump Type and removal of force_update().

* Update homeassistant/components/omnilogic/sensor.py

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

* Update homeassistant/components/omnilogic/common.py

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

* Correctly asserting conditions for the login exception case.

* Update .coveragerc

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

Co-authored-by: Mike Hershberger <mike.hershberger@gmail.com>
Co-authored-by: Chad <54695185+chadlyy@users.noreply.github.com>
Co-authored-by: Tim Empringham <tim.empringham@live.ca>
Co-authored-by: djtimca <60706061+djtimca@users.noreply.github.com>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-09-25 17:55:10 +02:00
Angelo Gagliano
318096be79 Remove auto from the fan speed modes for VeSync (#40559) 2020-09-25 15:12:47 +02:00
Franck Nijhof
25bfaf6c0d Upgrade tqdm to 4.49.0 (#40573) 2020-09-25 14:29:27 +02:00
Joakim Plate
0fbeb3bf7b Use HA constants for Rfxtrx units (#40562)
* Add more units and device classes

* Battery level is a value beteen 0 and 9 where 9 indicate full

Actual 0 battery can't occur since since then we would get to signal

* Adjust tests

* Add wind direction and adjust rain rate

* Adjust data types to be None rather than empty string

* Set counter values to count unit

* Forgotten unit
2020-09-25 08:27:38 -04:00
Bouwe Westerdijk
b6aa29012e Bump Plugwise-Smile to v1.5.1 (#40572) 2020-09-25 13:18:21 +02:00
Daniel Hjelseth Høyer
82c61fb6a7 Upgrade Tibber library to 0.15.3 (#40570) 2020-09-25 10:05:01 +02:00
Joakim Sørensen
2d429ea678 Add modifications for snapshot uploads (#40503)
Co-authored-by: springstan <46536646+springstan@users.noreply.github.com>
2020-09-25 10:02:26 +02:00
Kevin Cathcart
371b589cb2 Fix bug in state trigger when using for: without to: (#40556) 2020-09-25 09:15:04 +02:00
cagnulein
4287694b42 Fix luci device_tracker when release is none (#40524)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-09-25 09:06:24 +02:00
Martin Eberhardt
700b119482 Add @darkfox as Rejseplanen code owner (#40329) 2020-09-25 07:48:08 +02:00
Ari Simonen
fd05a7232a Improve handling of sources without a name in Denon (#40514) 2020-09-25 07:46:57 +02:00
HomeAssistant Azure
c30982c981 [ci skip] Translation update 2020-09-25 00:04:29 +00:00
Aaron Bach
ebdb34a911 Bump simplisafe-python to 9.3.3 (#40560) 2020-09-24 16:19:25 -06:00
Aaron Bach
f82ca44aac Bump pyairvisual to 5.0.2 (#40554)
* Bump pyairvisual to 5.0.2

* Fix tests
2020-09-24 15:31:47 -06:00
Rob Bierbooms
0856c7292c Fix connection validation during import for dsmr integration (#40548)
* Close transport when equipment identifier is received

* Minor fix
2020-09-24 22:50:30 +02:00
Bram Kragten
6afa197586 Updated frontend to 20200918.2 (#40549) 2020-09-24 22:43:34 +02:00
Dermot Duffy
0a656f13eb Fix/Refactor Hyperion Integration (#39738) 2020-09-24 21:37:34 +02:00
Ville Skyttä
e06f2a89ea Add Huawei LTE SMS storage full and unread sensors (#40021) 2020-09-24 20:18:55 +03:00
Steven Looman
c3b6675617 Increase upnp timeout from 5 seconds to 10 seconds (#40540) 2020-09-24 11:27:55 -05:00
Guido Schmitz
0b11559031 Improve devolo Home Control code quality (#40480)
Co-authored-by: Markus Bong <2Fake1987@gmail.com>
2020-09-24 10:57:52 -05:00
epenet
dc30f0e00c Ensure the title is consistent (#40528) 2020-09-24 16:39:42 +02:00
epenet
73f29a6cd4 Ensure consitstency of file docstring for 1-wire (#40528) 2020-09-24 16:39:24 +02:00
epenet
49be073002 Update constant name for onewire (#40530) 2020-09-24 16:37:15 +02:00
Ville Skyttä
e3f9818af5 Add more Huawei LTE sensor metadata (#39988) 2020-09-24 17:32:44 +03:00
uvjustin
8e0bb92c79 Disable audio in stream when audio stream profile is None (#40521) 2020-09-24 14:35:52 +02:00
Franck Nijhof
ebe3b5bfff Upgrade sentry-sdk to 0.17.8 (#40531) 2020-09-24 14:10:14 +02:00
Eugene Prystupa
7a337ac6fb Fix Bond error logging format (#40519) 2020-09-23 21:40:38 -05:00
Chris Talkington
4b58b8057d Update sonarr to 0.3.0 (#40515) 2020-09-24 02:29:37 +02:00
jjlawren
d694c1f548 Bump plexapi to 4.1.1 (#40512) 2020-09-23 19:26:05 -05:00
HomeAssistant Azure
c77c0e4780 [ci skip] Translation update 2020-09-24 00:05:22 +00:00
springstan
62054b8433 Correct label in mqtt config flow (#40507) 2020-09-23 21:55:33 +02:00
J. Nick Koston
3880ac0b0d Ensure group state is recalculated when re-adding on reload (#40497) 2020-09-23 20:55:32 +02:00
springstan
6c8e0e20fb Add and use light lux constant in entire code base (#40171) 2020-09-23 20:48:01 +02:00
springstan
6a7caad8dc Use content type json constant (#40312) 2020-09-23 20:21:55 +02:00
Philip Allgaier
9c1eb78a0f Adjust safe_theme for better readability (#40223) 2020-09-23 18:57:35 +02:00
Tomasz
223000a9fb Add all supported languages to OpenWeatherMap (#40448) 2020-09-23 17:57:06 +02:00
nagyrobi
9f5cd5547b Support all available languages in voicerss integration (#40502) 2020-09-23 17:56:23 +02:00
Martin Hjelmare
27c5594cda Add supervisor add-on stop helper (#40501) 2020-09-23 17:54:07 +02:00
Martin Hjelmare
ccff7f97cb Add supervisor helper to start add-on (#40495) 2020-09-23 17:05:28 +02:00
Franck Nijhof
40d003eccf Upgrade isort to 5.5.3 (#40493) 2020-09-23 16:44:51 +02:00
Franck Nijhof
784af5ad10 Upgrade sentry-sdk to 0.17.7 (#40492) 2020-09-23 16:44:25 +02:00
jan iversen
c7f48e9ea3 Make modbus switch read_coil failure resistent (#40417)
* Make modbus switch read_coil failure resistent.

Make sure all return paths return true/false.

* Add comment how binary_sensor get its value (is_on).
2020-09-23 08:50:01 -05:00
Franck Nijhof
7c61caf68e Revert "Support learning different command types with remote" (#40486)
This reverts commit c6a48d3b61.
2020-09-23 12:39:27 +02:00
springstan
c2d20c548f Use content type multipart constant (#40314) 2020-09-23 11:29:56 +02:00
Anders Melchiorsen
7876cdb37a Fix handling of quoted time_pattern values (#40470)
Co-authored-by: J. Nick Koston <nick@koston.org>
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2020-09-23 09:21:57 +02:00
jjlawren
df9634a41f Refactor Plex tests using fixtures (#40260)
* Refactor Plex tests using fixtures

* Avoid unnecessary coroutine declaration
2020-09-22 22:14:41 -05:00
Felipe Martins Diel
c6a48d3b61 Support learning different command types with remote (#39670) 2020-09-22 22:09:19 -05:00
lamiskin
5ebce075a1 Improve DOODS folder handling and add process time attribute (#40344)
* Updates to DOODS

* Fix import order
2020-09-22 21:43:21 -05:00
Marvin Wichmann
72a7f69a08 Update xknx to version 0.14.4 (#40472) 2020-09-22 21:10:37 -05:00
springstan
06a133c3e9 Add and use length millimeters constant (#40116)
* Add and use length millimeters constant

* Fix pylint error

* Fix broken accuweather sensor test
2020-09-22 21:09:17 -05:00
Markus Haack
511ea09c99 Guard SolarEdge for inverters without batteries (#40295) 2020-09-22 21:04:01 -05:00
HomeAssistant Azure
75659ff787 [ci skip] Translation update 2020-09-23 00:05:01 +00:00
Robert Van Gorkom
a40d853682 Increase gogogate2 request timeout (#40461) 2020-09-22 18:00:27 -05:00
Robert Svensson
fb7fb0ea78 deCONZ - move event handling (#40424)
* Working draft

* Remove event references in sensor
2020-09-22 19:55:10 +02:00
Tom Schneider
6e8e4eedb5 Add binary_sensor for elevator states to hvv_departures (#36822)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-09-22 17:42:50 +02:00
Maciej Bieniek
0400754270 Bump accuweather library to version 0.0.11 (#40458) 2020-09-22 17:36:44 +02:00
square99
1ed8e41e90 Fix proxy camera conversion with PNG Alpha(RGBA) (#40446) 2020-09-22 17:34:23 +02:00
J. Nick Koston
f837da6fe3 Defer template tracking setup until template entity start (#40388) 2020-09-22 09:28:02 -05:00
J. Nick Koston
7029345b9d Add support for selecting multiple entity ids from logbook (#40075) 2020-09-22 09:27:04 -05:00
J. Nick Koston
f0f817c361 Serialize websocket event message once (#40453)
Since most of the json serialize work for the websocket was done
multiple times for the same message, we can avoid the overhead
of serializing the same message many times (once per websocket
client) with a cache.
2020-09-22 08:47:04 -05:00
Marvin Wichmann
d82b97fbe1 Update xknx to 0.14.3 (#40430) 2020-09-22 15:35:44 +02:00
Adam Belebczuk
02a19d0123 Bump pywemo to 0.5.0 (#40439) 2020-09-22 11:24:22 +02:00
MeIchthys
2f9afd3a2c Fix regression in Nextcloud component (#40438) 2020-09-22 10:58:51 +02:00
Robert Svensson
430275ac88 Axis - Fix list applications breaks if empty response (#40360) 2020-09-22 10:57:26 +02:00
cagnulein
8bff25fedd Fix luci device_tracker incorrectly reporting devices status (#40409) 2020-09-22 10:53:46 +02:00
Pedro Lamas
d5741a5ba4 Fix webostv supported features for "external_speaker" sound output (#40435) 2020-09-22 10:49:44 +02:00
Perry Naseck
0582bf7746 Firmata analog input, PWM/analog output, deprecate arduino (#40369)
* firmata analog input

* firmata pwm/analog out, use more HA const

* firmata update pymata to 1.19

* deprecate arduino, firmata supersedes it

* firmata sensor diff min, pull review quality changes

* firmata condense platform setup into loop
2020-09-22 09:44:16 +02:00
Bas Nijholt
50b727ba83 Add PLAY and PAUSE to webos button service description (#40353) 2020-09-22 09:32:09 +02:00
Harrison Pace
8ad7b68c9e Use Cloud State as alternative state if condition unknown (#37121) 2020-09-22 09:01:58 +02:00
Eugene Prystupa
f34455b6c2 Add debug logging to Bond fireplace entity (#40318)
* Add logging to Bond fireplace entity for troubleshooting turn off problem

* Update homeassistant/components/bond/light.py

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

* Update homeassistant/components/bond/light.py

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

Co-authored-by: Chris Talkington <chris@talkingtontech.com>
2020-09-21 21:38:43 -05:00
Brett
b3691d5d90 Improve timeout error handling for Splunk (#40384)
* Bugfix to catch asyncio.timeout

* Better asyncio.timeout warning message
2020-09-21 20:01:52 -05:00
HomeAssistant Azure
7c344fa0cd [ci skip] Translation update 2020-09-22 00:07:08 +00:00
Ville Skyttä
5e90a4d000 Use more state attribute name constants (#40428) 2020-09-21 23:03:39 +02:00
Tom Harris
f78391ce2a Bump pyinsteon to 1.0.8 (#40383) 2020-09-21 22:40:29 +02:00
Michael Thingnes
bfbaa1e8bb Validate Met.no forecast entries before passing them on to HA (#40400) 2020-09-21 21:56:08 +02:00
Maciej Bieniek
663245c351 Fix OSError (#40393) 2020-09-21 21:10:02 +02:00
On Freund
447446c565 Fix handling of empty ws port (#40399) 2020-09-21 20:27:00 +02:00
Martin Hjelmare
1d7754f160 Add supervisor add-on uninstall helper (#40413) 2020-09-21 19:25:06 +02:00
MatthewFlamm
31ece55c57 bump pynws to 1.3.0 (#40386) 2020-09-21 19:18:54 +02:00
Marvin Wichmann
3d6434be75 Use centralized KnxEntity for all KNX platforms (#40381) 2020-09-21 18:08:35 +02:00
Robin Wohlers-Reichel
c13fbf795d Update Solax Library to 0.2.4 (#40330) 2020-09-21 17:50:03 +02:00
Philip Allgaier
2a4d7dc561 Update voluptuous to 0.12.0 (#40401) 2020-09-21 10:43:35 -05:00
Julien Tant
8b9c757fdc Add zodiac integration (#38935)
* add zodiac sign integration

* add tests & refacto

* Apply suggestions from code review

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

* fix indentation from suggested correction, fix quality scale and remove useless functions

* fix code formatting

* Create const.py

* Update sensor.py

* Update const.py

* Update test_sensor.py

* Update test_sensor.py

* Update test_sensor.py

* Update test_sensor.py

* Update test_sensor.py

* Update sensor.py

* Update test_sensor.py

* Update __init__.py

* Update sensor.py

* Update test_sensor.py

* Update sensor.py

* Update __init__.py

* Update test_sensor.py

* Update __init__.py

* Fix zodiac time patch

* Delete sensor.fr.json

* Update sensor.py

* Delete sensor.en.json

* Update test_sensor.py

* Apply suggestions from code review

Co-authored-by: Chris Talkington <chris@talkingtontech.com>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-09-21 10:41:30 -05:00
Martin Hjelmare
2ef3dfb673 Fix supervisor get addon info (#40412) 2020-09-21 16:26:09 +02:00
Finbarr Brady
4aa9b72739 Remove myself as Luci code owner (#40398) 2020-09-21 14:10:39 +02:00
Josef Schlehofer
7cebfa75fc Upgrade youtube_dl to version 2020.09.20 (#40395) 2020-09-21 10:49:16 +02:00
Martin Hjelmare
a0df6ccb81 Add supervisor install add-on helper (#40138) 2020-09-21 10:28:24 +02:00
Chris Talkington
37e51aa166 Add reauth source constant for config entries (#40352) 2020-09-20 21:15:48 -05:00
uvjustin
8d3e4b6b3f Ignore packets with missing dts in peek_first_pts (#40299) 2020-09-20 21:26:24 -04:00
HomeAssistant Azure
587e3f1eb2 [ci skip] Translation update 2020-09-21 00:02:47 +00:00
Chris Talkington
432911c994 Apply code review for canary config flow (#40355)
* apply code review for canary config flow

* Update __init__.py

* Update __init__.py

* Update __init__.py

* Update camera.py

* Update camera.py

* Update test_config_flow.py

* Update test_config_flow.py

* Update test_config_flow.py

* Update test_config_flow.py

* Update test_config_flow.py

* Update __init__.py
2020-09-20 17:38:02 -05:00
Michael Thingnes
83b0954e58 Fix Met.no missing conditions in API forecasts (#40373) 2020-09-20 23:56:04 +02:00
Marvin Wichmann
45288431f9 Update xknx to 0.14.2 (#40304)
* Updates xknx to 0.14.0

* Review: Explicity add state attributes to weather device

* Review: Remove state attributes from weather device

* Review: Add `counter` as a state attribute to binary_sensors
2020-09-20 23:40:36 +02:00
springstan
0c077685b6 Use content type text plain constant (#40313) 2020-09-20 13:19:10 +02:00
Brett
4f5d3b4035 Rebuilt Splunk using custom library (#40123)
* Rebuilt Splunk using splunk_data_sender

* Fixing lint issues

* Apply suggestions from code review

Recommended Fixes

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

* Moved to single send queue and fixed ssl verify

* Using coroutine and Asyncio.lock

* Changed to custom library hass_splunk

* Fixed "use_ssl" parameter

* Better error catching

* Better error log

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-09-20 11:22:43 +02:00
Ville Skyttä
167490b71c Complete helpers.service type hints (#40193)
* Complete helpers.service type hints

* Update homeassistant/helpers/service.py

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

* Handle None entity.supported_features
2020-09-20 12:03:58 +03:00
HomeAssistant Azure
5dcaeebdac [ci skip] Translation update 2020-09-20 00:05:00 +00:00
Erik Montnemery
a50f121011 Get option flow defaults from yaml for non configured MQTT options (#40177) 2020-09-19 22:10:01 +02:00
Alexei Chetroi
a9168c04fd Update ZHA dependencies (#40283) 2020-09-19 12:39:02 -04:00
Chris Talkington
6b317ced17 Update roku media browser classes (#40285)
* update roku media browser classes

this should allow proper icons to be shown vs plain directory

* Update test_media_player.py

* Update browse_media.py

* Update browse_media.py

* Update browse_media.py

* Update browse_media.py

* Update browse_media.py

* Update browse_media.py

* Update test_media_player.py
2020-09-19 18:02:15 +02:00
SukramJ
e300cf3747 Add binary_sensor for cloud connectivity to HomematicIP Cloud (#39675)
* Add binary_sensor for cloud connectivity to HomematicIP Cloud

* Fix Test

* Remove device_class

* Switch from _device to _home

* Switch from _device to _home for sensor
2020-09-19 10:59:46 -05:00
springstan
b088830382 Add and use currency cent constant (#40261) 2020-09-19 10:34:54 -05:00
springstan
7de1fe7416 Use percentage constant in more integrations (#40165) 2020-09-19 10:30:22 -05:00
Ian Duffy
711ca6aff5 Add kodi browse media for channels (#40277)
* Add kodi browse media for channels

* Rename "TV Channels" to "Channels"
2020-09-19 17:14:20 +02:00
Chris Talkington
0c8b530aa2 Add device info to canary camera and sensors (#40053)
* add device info to canary sensors

* Update test_sensor.py

* Update sensor.py

* Update sensor.py

* Update test_sensor.py

* Create const.py

* Update sensor.py

* Update test_sensor.py

* Update sensor.py

* Update test_sensor.py

* Update camera.py

* Update camera.py

* Update sensor.py

* Update camera.py

* Update camera.py
2020-09-19 10:09:40 -05:00
Rob Bierbooms
467a001e1f Fix error creating duplicate ConfigEntry upon import for rfxtrx (#40296) 2020-09-19 13:08:14 +02:00
jan iversen
9bd28306f6 Correct modbus switch to return correct coil (#40190) 2020-09-19 12:14:51 +02:00
Tom
5832184304 Add port to plugwise (#40017) 2020-09-19 12:08:16 +02:00
Franck Nijhof
b175adae53 Add missing integration quality scale to tags integration (#40291) 2020-09-19 11:49:53 +02:00
Franck Nijhof
399661a7f4 Add missing integration quality scale to image integration (#40289) 2020-09-19 11:48:56 +02:00
springstan
e330468a13 Use pressure constants in code base (#40262) 2020-09-19 09:26:08 +02:00
Chris Talkington
f563068ce6 Add config flow to canary (#40055)
* Create config_flow.py

* Update config_flow.py

* work on config flow

* Update test_config_flow.py

* Update __init__.py

* Update camera.py

* Update test_config_flow.py

* Update test_config_flow.py

* Update config_flow.py

* Update conftest.py

* Update test_config_flow.py

* Update test_init.py

* Update test_init.py

* Apply suggestions from code review

* Update camera.py

* Update test_init.py

* Update camera.py

* Update __init__.py

* Update test_init.py

* Update test_init.py

* Update __init__.py

* Update __init__.py

* Apply suggestions from code review

* Update __init__.py

* Update test_init.py

* Update __init__.py

* Update __init__.py

* Update config_flow.py

* Update test_config_flow.py

* Update config_flow.py

* Update config_flow.py
2020-09-18 23:22:19 -05:00
Greg Badros
94dfb66824 Make tplink SmartStrip communication more robust (#40281) 2020-09-19 04:48:19 +02:00
twdkeule
052e8f0983 Add Influxdb precision option (#38454) 2020-09-19 04:42:03 +02:00
HomeAssistant Azure
62c4e072f5 [ci skip] Translation update 2020-09-19 00:07:12 +00:00
Daniel Shokouhi
cf89b8764b Bump hangups to 0.4.11 (#40258) 2020-09-18 20:43:36 +02:00
Maikel Punie
1ba098508c Update velbus to 2.0.45 (#40256) 2020-09-18 20:19:54 +02:00
timkoers
46b86f4a2f Add UniFi Uptime sensor (#40058)
* Added UniFi Uptime sensor

Added the UniFi uptime data as a sensor. Untested.

* Update sensor.py

Updated code as a result of the tests.

* Changed timestamp format and device class

Converted state to iso timestamp and changed device class to DEVICE_CLASS_TIMESTAMP.

* Updated unit of measurement to None

* Added import

* Update homeassistant/components/unifi/sensor.py

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

* Removed whitespace

* Added the uptime sensors option to the config flow

* All the unit tests should be there now

* Whoops

* Fixed translation

* Properly formatted the code

* Flake8 really has angel eyes

* Black should also be satisfied now

* Should have satisfied all static code analysis tools

* Fixed add uptime sensor function

* Fixed overintendation

* Fixed unit tests

* Made a spelling mistake during editing of unit tests

* Test verifies if utc time is correct

* Converted to iso format

* Converted unit test to iso format

* Unit test sensor json had the wrong uptime name

* Added options_updated handler

* Fixed remove sensors unit test

* Update homeassistant/components/unifi/sensor.py

Co-authored-by: Robert Svensson <Kane610@users.noreply.github.com>

* Update homeassistant/components/unifi/sensor.py

Co-authored-by: Robert Svensson <Kane610@users.noreply.github.com>

* Update test_device_tracker.py

Removed uptime from the devices

* Fixed black formatting issue

* I think the code coverage should be good now

* Trying to add the sensors again

* Using signals to hopefully trigger the controller to add them again

* Forgot import

* Sorted components

* fixed isort comments

* Removed CLASS and DEVICE_CLASS

* Added TYPE again

* Removed double underscores

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
Co-authored-by: Robert Svensson <Kane610@users.noreply.github.com>
2020-09-18 19:33:37 +02:00
Bram Kragten
b25bb78916 Updated frontend to 20200918.0 (#40253) 2020-09-18 19:12:10 +02:00
Robert Van Gorkom
2858c8dcc7 Fix high CPU usage in vera integration. (#40249) 2020-09-18 17:39:12 +02:00
On Freund
7f072a5ca8 Fix Kodi discovery title (#40247) 2020-09-18 17:30:46 +02:00
MeIchthys
3612df91e1 Fix Nextcloud sensors becoming unavailable (#40212) 2020-09-18 15:34:17 +02:00
Chris Caron
0a0d44a0b5 Disable async on Apprise (#40213) 2020-09-18 15:32:38 +02:00
Felipe Martins Diel
2f7b6bfa2d Fix RM mini 3 update manager (#40215) 2020-09-18 15:31:25 +02:00
Markus Bong
27f11a1022 Use default values in advanced options in devolo home control (#40216) 2020-09-18 15:30:42 +02:00
Philip Allgaier
ddbcfe83dd Catch TypeError in strptime() template helper (#40226) 2020-09-18 15:29:40 +02:00
Felipe Martins Diel
976d8f7abe Handle an unsupported device in the Broadlink config flow (#40242) 2020-09-18 15:29:26 +02:00
On Freund
ff3fd63eea Handle systems without groups (#40238) 2020-09-18 15:28:39 +02:00
On Freund
4cd876f159 Fix coolmaster.info (#40240) 2020-09-18 15:28:02 +02:00
On Freund
3f514da285 Fix kodi.call_method (#40236) 2020-09-18 15:24:14 +02:00
Tomasz
2d9019d4b2 Fix shelly sensor names (#39854) 2020-09-18 14:32:33 +02:00
Raman Gupta
d0a5feda44 Fix Vizio async_unload_entry bug (#40210) 2020-09-18 13:18:56 +02:00
Julius Mittenzwei
ed4ab403de Upgrade pyvlx to 0.2.17 (#40182) 2020-09-17 20:18:55 -05:00
cgtobi
4efefd7fba Add cgtobi to kodi code owners (#40202)
* Add myself to Kodi code owners

* Run hassfest
2020-09-17 20:17:22 -05:00
cgtobi
689f1519c0 Add cgtobi to sonos code owners (#40204)
* Add myself to Sonos code owners

* Run hassfest
2020-09-17 20:16:29 -05:00
Raman Gupta
100d2369d5 Use async_on_remove for vizio listeners (#40185) 2020-09-17 20:13:40 -05:00
HomeAssistant Azure
0a0a8fc67d [ci skip] Translation update 2020-09-18 00:07:17 +00:00
Daniel de Jong
1887f11ec9 Do not default Pilight lights to max brightness (#39549)
Fix pilight lights would always turned on at max brightness instead of just turning on. Some 433mhz dimmers (like the KAKU series) remember their last brightness setting.

Fix pilight lights would not respect configured dimlevel_min
2020-09-17 22:48:52 +02:00
J. Nick Koston
e9abb357e4 Log template listeners when debug logging is on (#40180) 2020-09-17 14:45:30 -05:00
SNoof85
2489a6c6ef Fix typo in strings for wolflink (#40164) 2020-09-17 18:07:03 +03:00
J. Nick Koston
44952a94cf Add missing conext preservation to bayesian and universal (#40178)
We already do this for template sensors, but it was
missing for bayesian and universal
2020-09-17 16:47:23 +02:00
Bram Kragten
95e998d25a Fix editing tags only get isoformat from datetime (#40174)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2020-09-17 16:45:55 +02:00
Chris Talkington
30de984827 Check mpd time type before splitting it (#40139) 2020-09-17 16:01:28 +02:00
Bram Kragten
0bb8a49ea2 Updated frontend to 20200917.1 (#40170) 2020-09-17 14:44:19 +02:00
Joakim Sørensen
a82421306f Update pyhaversion to 3.4.2 (#40161) 2020-09-17 12:08:09 +02:00
cagnulein
b4d29653c6 Fix luci device_tracker not reliably reporting home/away state (#40160) 2020-09-17 11:35:13 +02:00
Robert Van Gorkom
70173488a8 Add config support to zoneminder integration (#37060)
* Add config support to zoneminder integration.

* Fixing spelling issue.
Adding self to maintainers.
Updating config flows generated file.

* Maintain zoneminder functionality without breaking changes.

* Addressing lint feedback.
Updating code owners.

* Using non-blocking calls.

* Adding tests package file.

* Update service description.

Co-authored-by: Rohan Kapoor <rohan@rohankapoor.com>

* Resolving conflicts in requirements file.

* Resolving more conflicts.

* Addressing PR feedback.

* Merging from dev.

Co-authored-by: Rohan Kapoor <rohan@rohankapoor.com>
2020-09-16 22:58:51 -07:00
Ville Skyttä
271ffac4a9 Fix static/class async mocks on Python 3.8.0 and .1 (#40147)
* forked_daapd

* shelly

* simplipy
2020-09-17 08:20:00 +03:00
HomeAssistant Azure
f6584c1866 [ci skip] Translation update 2020-09-17 00:08:34 +00:00
Robert Van Gorkom
00093faae2 Clean up vera typings (#40143)
Co-authored-by: J. Nick Koston <nick@koston.org>
2020-09-16 16:23:50 -05:00
Bram Kragten
a2cf09fb54 Update frontend to 20200916.0 (#40153) 2020-09-16 22:31:43 +02:00
Franck Nijhof
f83f3c927a Fix local media browser source conflicting with local www folder (#40151) 2020-09-16 21:38:40 +02:00
J. Nick Koston
5ea04d64f6 Prompt to reauth when the august password is changed or token expires (#40103)
* Prompt to reauth when the august password is changed or token expires

* augment missing config flow coverage

* augment test coverage

* Adjust test

* Update homeassistant/components/august/__init__.py

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

* block until patch complete

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-09-16 17:35:01 +02:00
Franck Nijhof
540b925659 Fix missing f from f-strings in cast integration (#40144) 2020-09-16 17:04:57 +02:00
Niccolo Zapponi
2b7e735e3d Remove unsupported states from security systems in HomeKit (#40060) 2020-09-16 10:00:32 -05:00
Paulus Schoutsen
d25192d8c5 Fix scene validator (#40140) 2020-09-16 16:26:34 +02:00
Franck Nijhof
ff0562ad1e Add media dirs core configuration (#40071)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2020-09-16 15:28:25 +02:00
Franck Nijhof
80764261c3 Upgrade sentry-sdk to 0.17.6 (#40133) 2020-09-16 13:47:52 +02:00
Paulus Schoutsen
b515480a98 Fix ESPHome scan tag device ID (#40132) 2020-09-16 13:17:05 +02:00
Paulus Schoutsen
9309297d76 Guard for when Yandex Transport data fetching fails (#40131) 2020-09-16 12:48:38 +02:00
Jesse Hills
16e0ed9242 Use device name stored in device_info for tag scan in ESPHome (#40130) 2020-09-16 12:22:06 +02:00
Jesse Hills
d650bcca3b Allow ESPHome to trigger the HA tag scanned event (#40128) 2020-09-16 11:54:59 +02:00
springstan
a13c4d4c17 Increase TIMEOUT_ACK to 10s (#40117) 2020-09-16 08:14:11 +02:00
HomeAssistant Azure
f28b7f2187 [ci skip] Translation update 2020-09-16 00:09:01 +00:00
Maciej Bieniek
413263a6eb Bump aioshelly library to version 0.3.2 (#40118) 2020-09-16 00:12:59 +02:00
AJ Schmidt
66bb6a6ffa AlarmDecoder config flow fixes (#40037) 2020-09-16 00:11:29 +02:00
springstan
000d2047fb Add and use currency constants (#40113) 2020-09-15 15:01:01 -06:00
springstan
90f5b178ef Use AREA_SQUARE_METERS constant in all integrations (#40107) 2020-09-15 15:00:26 -06:00
Martin Hjelmare
a71a4d642b Clean dyson climate tests (#40110)
* Move setup without devices

* Remove not needed tests

* Move set temp test

* Move set temp cool mode test

* Run black

* Move test target temperature

* Move test current temperature

* Move test current humidity

* Move test hvac mode

* Move test hvac modes

* Move test fan modes

* Move test service fan modes

* Move test fan state

* Move test supported features

* Move test idle state

* Move test humidity invalid state

* Move test humidity without state

* Move test device cool

* Rename test

* Move test set mode service

* Clean imports

* Clean strings

* Only load climate platform for climate tests
2020-09-15 22:38:45 +02:00
cgtobi
f651b1f54b Extract Netatmo test data (#40094) 2020-09-15 21:49:08 +02:00
Dan Klaffenbach
74cef6966d Expose angle and xy attributes in deCONZ event if present (#39822)
These attribute are used by the color wheel on the Müller Licht tint
remote control.
2020-09-15 21:13:17 +02:00
Diogo Gomes
749d3c360a Address error in SQL query (#39939) 2020-09-15 20:01:36 +02:00
springstan
5a12056e59 Add and use volume cubic constants (#40106) 2020-09-15 19:59:26 +02:00
springstan
db582bdc1b Use http status constants more, add HTTP_ACCEPTED and HTTP_BAD_GATEWAY (#39993)
* Use http status codes and add HTTP_BAD_GATEWAY constant

* Address review comments:
 - using constants in tado integration
 - using constant in media_player init.py

* Add and use HTTP_ACCEPTED constant
2020-09-15 20:01:07 +03:00
Josef Schlehofer
59d610af17 Upgrade youtube_dl to version 2020.09.14 (#40104) 2020-09-15 18:52:42 +02:00
Hareesh M U
c8d5500441 Add bimonthly period feature for utility_meter component (#39931) 2020-09-15 17:52:19 +02:00
Maciej Bieniek
56ba4907e1 Remove the unnecessary prefix from the sensor names in the Shelly integration (#40097) 2020-09-15 16:30:33 +02:00
Shay Levy
4fbd4957bd Guard both Shelly 2 & Shelly 2.5 in roller mode (#40086)
Co-authored-by: Maciej Bieniek <bieniu@users.noreply.github.com>
2020-09-15 16:29:24 +02:00
Franck Nijhof
b116e58620 Upgrade pytest-xdist to 2.1.0 (#40057) 2020-09-15 16:28:51 +02:00
Bram Kragten
272d36bc93 Update frontend to 20200915.0 (#40101) 2020-09-15 15:57:10 +02:00
Martin Hjelmare
487b56ab69 Fix hvv_departures config flow patches (#40095) 2020-09-15 12:37:31 +02:00
Franck Nijhof
fffc7e2e8e Upgrade sentry-sdk to 0.17.5 (#40092) 2020-09-15 12:10:22 +02:00
Franck Nijhof
5d0fa1417e Upgrade pytest to 6.0.2 (#39959)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2020-09-15 10:09:56 +02:00
cgtobi
8236394b85 Check Sonos for local library before browsing (#40085) 2020-09-15 09:30:00 +02:00
J. Nick Koston
2ea604cc2a Convert color temperature to hue and saturation for HomeKit (#40089)
The HomeKit spec does not permit the color temp characteristic
being exposed when color (hue, sat) is present.  Since
Home Assistant will still send color temp values, we need to
convert them to hue, sat values for HomeKit
2020-09-15 09:27:30 +02:00
J. Nick Koston
8d687c951a Update gogogate2-api to 2.0.2 (#40010)
* Update gogogate2-api to 2.0.2

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

* mock voltage
2020-09-15 08:48:30 +02:00
r4nd0mbr1ck
11319ac479 Speedtestdotnet - use server name to generate server list (#39775) 2020-09-14 22:50:44 -07:00
Robert Van Gorkom
903afb62d0 Add support for multiple vera controller hubs (#33613) 2020-09-14 22:06:52 -05:00
J. Nick Koston
938e06c00e Fix homekit error when the bridge has been ignored. (#40082) 2020-09-14 19:39:44 -05:00
HomeAssistant Azure
d0f4b23063 [ci skip] Translation update 2020-09-15 00:09:18 +00:00
cgtobi
cb0452d80e Fix netatmo media browser of outdoor events (#40079)
* Fix outdoor events

* Fix test data

* Increase coverage
2020-09-15 00:32:20 +02:00
Alexei Chetroi
bdaea7879b Update ZHA dependency (#40083) 2020-09-14 16:48:39 -04:00
Erik Montnemery
0f3a2f1f29 Increase TIMEOUT_ACK to 2s (#40080) 2020-09-14 22:10:30 +02:00
J. Nick Koston
949bd8d738 Reduce listener cancelation code in template tracker (#40040) 2020-09-14 21:43:00 +02:00
b3nj1
7adec2d894 Fix ecobee weather forcast off by 1 bug (#40048) 2020-09-14 21:29:51 +02:00
Chris Talkington
cacbb2eb12 Add unique_id to canary camera (#40054) 2020-09-14 17:41:05 +02:00
J. Nick Koston
15281f468e Extract the icon and state for logbook state changed events (#40039) 2020-09-14 09:35:19 -05:00
Paulus Schoutsen
3ba18550cd Fix tag last scanned serialization (#40067) 2020-09-14 15:40:32 +02:00
Pascal Vizeli
e90a9940d4 Update docker base image to 8.4.0 (#40066) 2020-09-14 14:50:39 +02:00
Evgeny
09d437d531 Fix default forecast mode OpenWeatherMap (#40062) 2020-09-14 14:36:08 +02:00
Jc2k
f1cc5182f0 Bump aiohomekit version (regression fix) (#40064) 2020-09-14 14:18:43 +02:00
Xiaonan Shen
d26160c755 Add rpi_power integration (#35527)
Co-authored-by: Toast <swetoast@users.noreply.github.com>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-09-14 12:53:01 +02:00
Markus Bong
224fd24898 Correct devolo climate devices (#40061) 2020-09-14 12:24:49 +02:00
Xiaonan Shen
1e5186fe94 Deprecate the synology integration (#39958)
* Deprecate the synology integration

* Add release to remove synology
2020-09-14 12:14:13 +02:00
rajlaud
6e6d6c65ef Improve reproduce_state for media players (#38266) 2020-09-14 11:48:16 +02:00
Thomas Germain
3881e0cb23 Add temperature and uptime to Synology DSM (#39419)
Co-authored-by: Quentame <polletquentin74@me.com>
2020-09-14 09:42:37 +02:00
Ville Skyttä
eb0af3752c Add more SSDP discovery data and constants (#39984) 2020-09-14 09:18:09 +02:00
J. Nick Koston
2e1dbe51a4 Make system_log test reliable (#40049) 2020-09-14 08:48:59 +02:00
J. Nick Koston
c19b5c5ac3 Make recorder block_till_done reliable (#40043) 2020-09-14 08:48:29 +02:00
Ville Skyttä
ad1a71ebc3 Don't try to create /test dir in camera tests (#39914)
ERROR:homeassistant.components.camera:
Can't write image to file: [Errno 13] Permission denied: '/test'
2020-09-14 08:40:59 +02:00
Ville Skyttä
aad6a24f28 Fix vizio async mock fixtures on Python 3.8.0 and .1 (#39926) 2020-09-14 08:35:30 +02:00
Franck Nijhof
bda66d1929 Upgrade coverage to 5.3.0 (#40056) 2020-09-14 08:34:18 +02:00
J. Nick Koston
2ff3c74fab Fix intermittently failing dyson test (#40051) 2020-09-13 21:37:52 -05:00
Chris Talkington
056e712667 Add device class to canary sensors (#40050)
* add device class to canary sensors

* Update test_sensor.py

* Update sensor.py

* Update sensor.py
2020-09-13 21:29:59 -05:00
HomeAssistant Azure
9acceda0f8 [ci skip] Translation update 2020-09-14 00:04:10 +00:00
Chris Talkington
9511103e26 Add unique_id to canary alarm_control_panel (#40041)
* add unique_id to canary alarm_control_panel

* Update test_alarm_control_panel.py

* Update alarm_control_panel.py

* Apply suggestions from code review

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

Co-authored-by: J. Nick Koston <nick@koston.org>
2020-09-13 18:52:40 -05:00
Aidan Timson
ae8c9d82bc Mark Azure DevOps device as a service (#40044) 2020-09-13 18:22:33 -05:00
J. Nick Koston
7b016063ca Refactor zeroconf setup to be async (#39955)
* Refactor zeroconf setup to be async

Most of the setup was calling back to async because
we were setting up listeners.  Since we only need
to jump into the executor to create the zeroconf
instance, its much faster to setup in async.

In testing this cut the setup time in half
or better.

* partial revert to after_deps
2020-09-13 18:06:19 -05:00
Chris Talkington
00acb180d6 Add canary alarm_control_panel tests (#40029)
* add canary alarm_control_panel tests

* Update .coveragerc

* Create test_alarm_control_panel.py

* Update __init__.py

* Update __init__.py

* Update test_alarm_control_panel.py

* Update test_alarm_control_panel.py

* Update test_alarm_control_panel.py

* Update test_alarm_control_panel.py

* Update __init__.py

* Update __init__.py

* Update test_alarm_control_panel.py

* Update test_alarm_control_panel.py

* Update test_alarm_control_panel.py

* Update test_alarm_control_panel.py

* Update test_alarm_control_panel.py

* Update test_alarm_control_panel.py

* Update test_alarm_control_panel.py

* Update test_alarm_control_panel.py

* Update test_alarm_control_panel.py

* Update test_alarm_control_panel.py
2020-09-13 16:36:26 -05:00
J. Nick Koston
46f9c0fb8a Update phrasing and pin validation for homekit_controller (#40006) 2020-09-13 15:26:04 -05:00
Franck Nijhof
cd26384634 Fix entity extraction from Template conditions (#40034) 2020-09-13 22:05:45 +02:00
springstan
1f8c1f151d Fix requiring username or password for nzbget yaml config (#40003) 2020-09-13 22:04:48 +02:00
J. Nick Koston
36ce8ba79e Ensure homekit_controller traps exceptions from find_ip_by_device_id (#40030) 2020-09-13 21:55:49 +02:00
AJ Schmidt
c32f698671 Add Config Flow to AlarmDecoder (#37998) 2020-09-13 12:29:25 -05:00
Chris Talkington
17efa1bda5 Improve canary tests (#39956) 2020-09-13 11:32:41 -05:00
springstan
da19854520 Fix slack notifications requiring an icon (#40027) 2020-09-13 10:23:50 -06:00
springstan
fc1fb0ab7c Revert 'Use STATE_UNKNOWN constant in dlink and ecobee' (#40022) 2020-09-13 17:11:24 +02:00
J. Nick Koston
f3d50e2104 Do not log an error when a host is unreachable while pinging (#40024) 2020-09-13 16:44:37 +02:00
springstan
621526bbae Use moisture and moving device class in various integrations (#39963) 2020-09-13 16:33:54 +02:00
Robert Svensson
ceeea52915 Improve handling of mireds being far out of spec (#40018) 2020-09-13 16:31:39 +02:00
J. Nick Koston
ff4bb962c4 Cleanup and reduce duplicate code from recent template changes (#40012)
As a result of refactoring, there is duplicate code
we can now reduce.

Additionally `_wrap_state` can be removed because
it had unreachable checks for `None`
2020-09-13 09:21:11 -05:00
J. Nick Koston
84578f515d Suppress homekit bridge discovery by homekit controller (#39990) 2020-09-13 09:12:10 -05:00
Pascal Vizeli
11d74124cd Update azure-pipelines-wheels.yml 2020-09-13 15:38:02 +02:00
Joakim Sørensen
1d12d4d54c Bump pyhaversion to 3.4.0 (#40016) 2020-09-13 11:30:51 +02:00
Bouwe Westerdijk
eac9c3c4f2 Ensure Plugwise unique_id is correctly set (#40014)
* Ensure unique_id is correctly set

* Removed unnec. line

Co-authored-by: Tom Scholten <git@scholten.nu>
2020-09-13 11:02:49 +02:00
Xiaonan Shen
e3c51f0350 Fix xiaomi_aqara duplicated battery sensors (#39961) 2020-09-13 08:44:32 +02:00
Quentame
bab4ad4f17 Add timeout config option to Synology DSM (#40000) 2020-09-12 20:36:39 -05:00
HomeAssistant Azure
b05c88f1bc [ci skip] Translation update 2020-09-13 00:04:18 +00:00
Quentame
13df452dd4 Fix Freebox call sensor when no call in history (#40001) 2020-09-13 01:13:57 +02:00
Jeff Irion
285408b46c Bump androidtv to 0.0.50 (#39998) 2020-09-12 23:53:41 +02:00
springstan
e55035b2f9 Use DEVICE_CLASS_MOTION in various integrations (#39962) 2020-09-12 16:20:30 -05:00
Joakim Sørensen
02cb592917 Bump frontend to 20200912.0 (#39997) 2020-09-12 16:18:48 -05:00
Simone Chemelli
ca26c8bbd7 Shelly: Power and Energy sensors in roller mode (#39709) 2020-09-12 22:31:01 +02:00
uvjustin
b0ba0e77f8 Remove skip_sidx container option in stream (#39970)
* Remove skip_sidx container option

* Add comment
2020-09-12 15:19:37 -04:00
springstan
827711bcd1 Use problem, presence and plug device class constants in various integrations (#39973) 2020-09-12 13:23:24 -05:00
springstan
3d4ef8cfe1 Use connectivity device class constant in various integrations (#39972) 2020-09-12 13:21:57 -05:00
Franck Nijhof
6751a38b8e Upgrade responses to 0.12.0 (#39986) 2020-09-12 19:40:10 +02:00
Franck Nijhof
18e9e262e4 Upgrade pytest-timeout to 1.4.2 (#39983) 2020-09-12 19:33:44 +02:00
springstan
cee96ae207 Use opening and occupancy device class in various integrations (#39965) 2020-09-12 18:07:13 +02:00
jjlawren
4c0f075d6a Fix children_media_class for special folders (#39974) 2020-09-12 15:54:00 +02:00
Josef Schlehofer
6b966e2c47 Upgrade youtube_dl to version 2020.09.06 (#39969) 2020-09-12 14:58:29 +02:00
springstan
1bb5d4754f Use DEVICE_CLASS_DOOR and DEVICE_CLASS_SMOKE in various integrations (#39950) 2020-09-12 07:35:24 -05:00
On Freund
cf6b84790f Handle Kodi shutdown (#39856)
* Handle Kodi shutdown

* Core review comments

* Make async_on_quit a coroutine
2020-09-12 14:22:14 +02:00
J. Nick Koston
aaa8083d49 Change template loop detection strategy to allow self-referencing updates when there are multiple templates (#39943) 2020-09-12 14:20:21 +02:00
Franck Nijhof
e746965b1c Upgrade mypy to 0.782 (#39967) 2020-09-12 11:31:22 +02:00
Franck Nijhof
3dda76115c Upgrade pytest-sugar to 0.9.4 (#39966) 2020-09-12 11:30:41 +02:00
Bram Kragten
fbf0e69558 Add children media class to children spotify media browser (#39953) 2020-09-12 10:35:51 +02:00
Franck Nijhof
ee6945d63d Upgrade pytest-cov to 2.10.1 (#39964) 2020-09-12 09:39:08 +02:00
Franck Nijhof
824f551969 Upgrade codecov to 2.1.9 (#39960) 2020-09-12 09:08:04 +02:00
springstan
f93c0c5cd3 Use DEVICE_CLASS_WINDOW constant in various integrations (#39949) 2020-09-11 21:24:23 -05:00
Felipe Martins Diel
a6d3ee90f0 Improve tests for Broadlink config flow (#39894) 2020-09-11 20:00:28 -05:00
Felipe Martins Diel
9f08955fef Improve tests for Broadlink devices (#39898) 2020-09-11 19:57:07 -05:00
springstan
ac2e290d97 Use sound, vibration and safety device class constants in various integrations (#39952)
* Use sound, vibration and safety device class constants in various integrations

* Fix wrong imports
2020-09-11 19:37:33 -05:00
HomeAssistant Azure
ee5c1ea3f7 [ci skip] Translation update 2020-09-12 00:05:00 +00:00
Xiaonan Shen
4e10895a19 Remove unchecked return value in synology_dsm (#39929) 2020-09-11 15:14:22 -05:00
Jakob Schlyter
9b49ca3820 Add template filter timedelta_seconds to create a timedelta from seconds (#39608) 2020-09-11 15:07:31 -05:00
springstan
719aa0f317 Use STATE_UNKNOWN constant in dlink and ecobee (#39948) 2020-09-11 15:05:07 -05:00
Martin Hjelmare
50c573eb4d Activate hassfest requirements CI check (#39940)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2020-09-11 21:38:32 +02:00
Greg Dowling
f1cb8e80b3 Bump pyloopenergy library to 0.2.1 (#39919) 2020-09-11 20:47:48 +02:00
Jc2k
988a467afd Device automation triggers for stateless HomeKit accessories (#39090)
Co-authored-by: J. Nick Koston <nick@koston.org>
2020-09-11 13:34:07 -05:00
J. Nick Koston
741487a1fc Return the listeners with the template result for the websocket api (#39925) 2020-09-11 13:18:40 -05:00
uvjustin
9b29d09d45 Set output timescale to input timescale (#39946) 2020-09-11 14:07:45 -04:00
Quentame
062ac5f27d Fix missing position attribute for MeteoFranceAlertSensor (#39938) 2020-09-11 16:50:17 +02:00
Bas Nijholt
c2a9a39ee0 Don't trigger on attribute when the attribute doesn't change (#39910)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2020-09-11 14:02:17 +02:00
Thomas Lovén
f59e727f16 Set variable values in scripts (#39915)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2020-09-11 13:16:25 +02:00
Marvin Wichmann
8ea8969d80 Warn users if KNX has no devices configured (#39899)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-09-11 13:09:31 +02:00
Martin Hjelmare
e96fed20c8 Add children media class (#39902)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2020-09-11 13:08:13 +02:00
J. Nick Koston
e208aac834 Add async_track_state_removed_domain to allow tracking when a state is removed from a domain (#39859)
when a state is removed from a domain
2020-09-11 13:03:31 +02:00
Franck Nijhof
101b5b3b35 Accept known hosts for get_url for OAuth (#39936) 2020-09-11 13:00:00 +02:00
Paulus Schoutsen
5117a16841 Extract variable rendering (#39934) 2020-09-11 12:24:16 +02:00
J. Nick Koston
9389a7c9be Limit zeroconf discovery to name/macaddress when provided (#39877)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-09-11 12:19:21 +02:00
J. Nick Koston
487a74ba5d Update zeroconf to 0.28.5 (#39923) 2020-09-11 07:15:13 +02:00
HomeAssistant Azure
39d441a29b [ci skip] Translation update 2020-09-11 00:09:17 +00:00
J. Nick Koston
bf1ad0a757 Prevent missing integration from failing HomeKit startup (#39918) 2020-09-10 23:19:11 +02:00
Paulus Schoutsen
cfc020daa2 Bump aioshelly to 0.3.1 (#39917) 2020-09-10 23:07:23 +02:00
uvjustin
4ee5a29bc0 Disable audio for HLS or mpegts input (#39906) 2020-09-10 15:55:55 -04:00
Xiaonan Shen
b66aaeea99 Add camera support to synology_dsm (#39838)
* Add camera support to synology_dsm

* Code improvements

* More code improvements
2020-09-10 21:08:37 +02:00
Erik Montnemery
4d6e694d14 Fix discovery update of MQTT state templates (#39901) 2020-09-10 20:52:23 +02:00
J. Nick Koston
fd8a4182d9 Detect self-referencing loops in template entities and log a warning (#39897) 2020-09-10 20:50:11 +02:00
Franck Nijhof
bedc1e5672 Upgrade numpy to 1.19.2 (#39912) 2020-09-10 20:47:15 +02:00
J. Nick Koston
047dc19351 Add zeroconf discovery to homekit (#39907)
Ensures HomeKit Bridge is offered for onboarding if
homekit is detected on the network.
2020-09-10 20:44:11 +02:00
J. Nick Koston
fb31b04c08 Increase template test coverage. (#39908) 2020-09-10 20:43:45 +02:00
Paulus Schoutsen
aa9dff572e Add default variables to script helper (#39895) 2020-09-10 20:41:42 +02:00
J. Nick Koston
b5005430be Fix ping log level to be debug instead of warning (#39900) 2020-09-10 12:10:43 -04:00
Pascal Vizeli
40bcd38caa Update azure-pipelines-wheels.yml 2020-09-10 16:58:15 +02:00
Pascal Vizeli
68e2824a28 Fix issue with grpcio build on 32bit arch (#39893) 2020-09-10 15:56:05 +02:00
Joakim Sørensen
0cce35b23e Add exception for NoURLAvailableError in OAuth2FlowHandler (#39845)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2020-09-10 14:52:49 +02:00
RogerSelwyn
162c39258e Add Carbon Monoxide binary sensor to Homekit Controller (#39889) 2020-09-10 12:25:14 +01:00
Franck Nijhof
14f7f5ba45 Remove stale debug from WLED tests (#39882) 2020-09-10 13:16:33 +02:00
Paulus Schoutsen
35a9106a4b Shelly switch to guard for shelly 2 in roller mode (#39886) 2020-09-10 12:08:17 +02:00
Bram Kragten
b49e6243d1 Fix spotify media browser category (#39888) 2020-09-10 12:06:18 +02:00
Paulus Schoutsen
bb661ad083 Fix event trigger (#39884)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2020-09-10 11:25:56 +02:00
Pascal Vizeli
7b3369b71d Bump hass-nabucasa 0.37.0 (#39885) 2020-09-10 11:18:43 +02:00
Paulus Schoutsen
c9f87afd8b Optimize requirements check with stdlib (#39871)
* Check requirements don't conflict stdlib

* Use regex
2020-09-10 10:51:13 +02:00
bsmappee
8648d8d012 Bump pysmappee to 0.2.13 (#39883) 2020-09-10 10:27:07 +02:00
Marius
a6a011ec19 Use entity_class 'safety' in synology_dsm storage sensors (#39757)
* Use entity_class: 'safety' in storage sensors

and more meaningful icons then 'mdi:test-tube', not sure if these are even necessary, given the device_class that defines the icons too?

* Set device_class, not icon

Still, the temperature sensors have both set, should I take these out in this go too? While we're at it....

* added device_class temperature to temp sensors

and removed explicit icons
do we need to set a D_c also on the Status sensor? line 187

* revert device_class Safety

which is now set in const.py
following up on https://github.com/home-assistant/core/pull/39757#pullrequestreview-483705147

* Use DEVICE_CLASS_SAFETY from const

+ revert temp to avoid conflict

* const from binary

* reverted non binary status sensors

to use: "mdi:checkbox-marked-circle-outline" and set None to device_class

Co-authored-by: Quentame <polletquentin74@me.com>
2020-09-10 09:21:51 +02:00
Franck Nijhof
b57f97b954 Upgrade isort to 5.5.2 (#39879) 2020-09-10 08:34:15 +02:00
Franck Nijhof
b70df4ab18 Disable Met.no hourly weather by default (#39867)
Co-authored-by: Daniel Hjelseth Høyer <mail@dahoiv.net>
2020-09-10 07:58:40 +02:00
HomeAssistant Azure
6e79d49c80 [ci skip] Translation update 2020-09-10 00:04:20 +00:00
Sören Oldag
1f75f61bb0 Bump pyTibber to 0.15.2 (#39870) 2020-09-10 00:52:27 +02:00
Franck Nijhof
1a12611117 Upgrade sentry-sdk to 0.17.4 (#39868) 2020-09-10 00:49:54 +02:00
Aaron Bach
0e11c10468 Prompt user to reauthenticate AirVisual when API key expires (#38341)
* Prompt user to reauthenticate AirVisual when API key expires

* Don't version bump

* Cleanup

* Linting
2020-09-09 16:41:07 -06:00
Paulus Schoutsen
c06b18b47b Install stdlib-list in script/bootstrap (#39866) 2020-09-10 00:36:58 +02:00
Joakim Sørensen
94b4824c27 Updated frontend to 20200909.0 (#39869)
Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2020-09-10 00:32:49 +02:00
Chris Talkington
a918981ff3 Improve Roku media browser structure (#39754)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-09-09 23:22:26 +02:00
Martin
9c40b511f2 Updated warning_device_warn (#39851)
duty_cycle: spec says in inrements of 10
duration: its a 16 bit field
2020-09-09 22:30:40 +02:00
Martin Hjelmare
e6bc48ab68 Remove media class apps and channels (#39864) 2020-09-09 22:19:52 +02:00
Jason Hunter
9358b5089e Sort Local Media Source and fix media class (#39858) 2020-09-09 22:19:30 +02:00
J. Nick Koston
b7ad83c655 Use a unique id for each icmplib ping to avoid mixing unrelated responses (#39830) 2020-09-09 22:19:14 +02:00
Alexei Chetroi
b0b0b15d9d Update ZHA dependency (#39862) 2020-09-09 15:08:55 -04:00
Colin Frei
5fd059a3b6 Use correct URL for Fitbit callbacks (#39823) 2020-09-09 20:19:37 +02:00
Chris
1f000e2c3e Allow setting of hvac_mode when setting temperature in ozw (#39853) 2020-09-09 17:08:43 +02:00
Chris Talkington
74219663d6 Fix nzbget sensors (#39833)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2020-09-09 14:56:40 +02:00
Martin Hjelmare
be04f14a78 Make spotify media class lookup more robust (#39841) 2020-09-09 14:48:28 +02:00
cgtobi
4f342eae27 Fix Kodi media browser (#39840)
* Refactor

* Make linter happy

* Only return at the end

* Handle exception
2020-09-09 14:12:11 +02:00
Philip Allgaier
8185ddf9a1 Add systemmonitor check for mandatory "arg" of sensors (#39687)
* Added check for mandatory "arg" of sensors

* Make pylint happy

* Moved to vol validator function for "arg" checks

* Make pylint happy once again

* Adjustments from code review
2020-09-09 12:57:24 +02:00
HomeAssistant Azure
90892d275c [ci skip] Translation update 2020-09-09 00:03:44 +00:00
cgtobi
1c4951a8d7 Fix Kodi media browser (#39829)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-09-08 23:42:45 +02:00
Quentame
95a33ba894 Bump Synology DSM to 0.9.0 (#39819) 2020-09-08 23:38:41 +02:00
Maciej Bieniek
748e2696dc Add missing sensors after reworking sensor platform in Shelly integration (#39765) 2020-09-08 23:22:44 +02:00
Bram Kragten
a45f5c7831 Update frontend to 20200908.0 (#39824) 2020-09-08 23:17:30 +02:00
Erik Montnemery
9aba1985c7 Fix MQTT light value template (#39820) 2020-09-08 23:11:42 +02:00
Franchie
066a418518 Avoid failing when hub does not provide cover position information (#39826)
The powerview hub, seemingly randomly, will occasionally not
provide data for cover positions. Some requests will return the
desired response, but minutes later the same request might not.

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

While an unfortunate bug with the hub, crashing the integration
as a result of this missing data appears somewhat excessive.
This patch adds a simple check to ensure the 'position' key
has been returned by the hub before attempting to access its
data.
2020-09-08 16:00:38 -05:00
J. Nick Koston
8adfcf23f0 Fix isy994 send_node_command (#39806) 2020-09-08 17:31:08 +02:00
J. Nick Koston
4bbd69955b Restore missing device_class to template binary_sensor (#39805) 2020-09-08 17:12:23 +02:00
J. Nick Koston
0507ec9d8b Fix cover template entities honoring titlecase True/False (#39803) 2020-09-08 17:08:31 +02:00
Martin Hjelmare
586d7eaba6 Add media class browse media attribute (#39770) 2020-09-08 16:42:01 +02:00
Franck Nijhof
f075823529 Bump version to 0.116.0dev0 (#39768) 2020-09-08 16:39:48 +02:00
Emilv2
a695dc20fd Bump pydelijn to 0.6.1 (#39802) 2020-09-08 16:18:34 +02:00
Franck Nijhof
8e4710a2a9 Remove deprecated Hue configuration (#39800) 2020-09-08 15:52:04 +02:00
Paulus Schoutsen
c6cba5ebc8 Remove HTML support from frontend (#39799) 2020-09-08 15:42:50 +02:00
Paulus Schoutsen
63aa46369b Copy instead of deepcopy the variables in a wait for trigger (#39796) 2020-09-08 15:23:38 +02:00
Paulus Schoutsen
5bcffba53e Guard for spotify items without type (#39795)
Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2020-09-08 15:23:29 +02:00
Paulus Schoutsen
1e2741ff1b Some shelly fixes (#39798) 2020-09-08 15:12:20 +02:00
cgtobi
973524a4e6 Fix Sonos issue (#39790) 2020-09-08 14:13:48 +02:00
Bas Nijholt
fa1a53cdeb Restore miflora now that v0.7.0 is out (#39787)
* add miflora again, reverts part of github.com/home-assistant/core/pull/37707

* edit CODEOWNERS
2020-09-08 13:50:53 +02:00
Franck Nijhof
401002dcd4 Remove invalidation version from panel_custom (#39782) 2020-09-08 11:59:39 +02:00
Andreas Rehn
c68056d3ad Add missing EDL21 OBIS codes (#39714) 2020-09-08 10:40:05 +02:00
Simone Chemelli
0c8630a2f0 Support shelly cover(roller) mode (#39711)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-09-08 10:35:01 +02:00
J. Nick Koston
a495946eeb Add the ability to reload bayesian platforms from yaml (#39771) 2020-09-08 09:41:17 +02:00
Tom
bb9ea7ce6e Add tests for Plugwise integration (#36371) 2020-09-08 08:37:44 +02:00
HomeAssistant Azure
07d5af1969 [ci skip] Translation update 2020-09-08 00:04:13 +00:00
5099 changed files with 92377 additions and 34699 deletions

View File

@@ -33,7 +33,11 @@ omit =
homeassistant/components/airvisual/air_quality.py
homeassistant/components/airvisual/sensor.py
homeassistant/components/aladdin_connect/cover.py
homeassistant/components/alarmdecoder/*
homeassistant/components/alarmdecoder/__init__.py
homeassistant/components/alarmdecoder/alarm_control_panel.py
homeassistant/components/alarmdecoder/binary_sensor.py
homeassistant/components/alarmdecoder/const.py
homeassistant/components/alarmdecoder/sensor.py
homeassistant/components/alpha_vantage/sensor.py
homeassistant/components/amazon_polly/tts.py
homeassistant/components/ambiclimate/climate.py
@@ -94,9 +98,6 @@ omit =
homeassistant/components/bme680/sensor.py
homeassistant/components/bmp280/sensor.py
homeassistant/components/bmw_connected_drive/*
homeassistant/components/bom/camera.py
homeassistant/components/bom/sensor.py
homeassistant/components/bom/weather.py
homeassistant/components/braviatv/__init__.py
homeassistant/components/braviatv/const.py
homeassistant/components/braviatv/media_player.py
@@ -117,7 +118,6 @@ omit =
homeassistant/components/buienradar/util.py
homeassistant/components/buienradar/weather.py
homeassistant/components/caldav/calendar.py
homeassistant/components/canary/alarm_control_panel.py
homeassistant/components/canary/camera.py
homeassistant/components/cast/*
homeassistant/components/cert_expiry/helper.py
@@ -131,7 +131,6 @@ omit =
homeassistant/components/clickatell/notify.py
homeassistant/components/clicksend/notify.py
homeassistant/components/clicksend_tts/notify.py
homeassistant/components/cloudflare/*
homeassistant/components/cmus/media_player.py
homeassistant/components/co2signal/*
homeassistant/components/coinbase/*
@@ -266,7 +265,9 @@ omit =
homeassistant/components/firmata/board.py
homeassistant/components/firmata/const.py
homeassistant/components/firmata/entity.py
homeassistant/components/firmata/light.py
homeassistant/components/firmata/pin.py
homeassistant/components/firmata/sensor.py
homeassistant/components/firmata/switch.py
homeassistant/components/fitbit/sensor.py
homeassistant/components/fixer/sensor.py
@@ -315,6 +316,8 @@ omit =
homeassistant/components/glances/sensor.py
homeassistant/components/gntp/notify.py
homeassistant/components/goalfeed/*
homeassistant/components/goalzero/__init__.py
homeassistant/components/goalzero/binary_sensor.py
homeassistant/components/google/*
homeassistant/components/google_cloud/tts.py
homeassistant/components/google_maps/device_tracker.py
@@ -369,6 +372,7 @@ omit =
homeassistant/components/hunterdouglas_powerview/sensor.py
homeassistant/components/hunterdouglas_powerview/cover.py
homeassistant/components/hunterdouglas_powerview/entity.py
homeassistant/components/hvv_departures/binary_sensor.py
homeassistant/components/hvv_departures/sensor.py
homeassistant/components/hvv_departures/__init__.py
homeassistant/components/hydrawise/*
@@ -478,7 +482,8 @@ omit =
homeassistant/components/london_underground/sensor.py
homeassistant/components/loopenergy/sensor.py
homeassistant/components/luci/device_tracker.py
homeassistant/components/luftdaten/*
homeassistant/components/luftdaten/__init__.py
homeassistant/components/luftdaten/sensor.py
homeassistant/components/lupusec/*
homeassistant/components/lutron/*
homeassistant/components/lutron_caseta/__init__.py
@@ -530,7 +535,9 @@ omit =
homeassistant/components/mjpeg/camera.py
homeassistant/components/mobile_app/*
homeassistant/components/mochad/*
homeassistant/components/modbus/*
homeassistant/components/modbus/climate.py
homeassistant/components/modbus/cover.py
homeassistant/components/modbus/switch.py
homeassistant/components/modem_callerid/sensor.py
homeassistant/components/mpchc/media_player.py
homeassistant/components/mpd/media_player.py
@@ -595,7 +602,9 @@ omit =
homeassistant/components/oasa_telematics/sensor.py
homeassistant/components/ohmconnect/sensor.py
homeassistant/components/ombi/*
homeassistant/components/onewire/sensor.py
homeassistant/components/omnilogic/__init__.py
homeassistant/components/omnilogic/common.py
homeassistant/components/omnilogic/sensor.py
homeassistant/components/onkyo/media_player.py
homeassistant/components/onvif/__init__.py
homeassistant/components/onvif/base.py
@@ -636,6 +645,9 @@ omit =
homeassistant/components/ovo_energy/__init__.py
homeassistant/components/ovo_energy/const.py
homeassistant/components/ovo_energy/sensor.py
homeassistant/components/ozw/__init__.py
homeassistant/components/ozw/entity.py
homeassistant/components/ozw/services.py
homeassistant/components/panasonic_bluray/media_player.py
homeassistant/components/panasonic_viera/media_player.py
homeassistant/components/pandora/media_player.py
@@ -705,7 +717,6 @@ omit =
homeassistant/components/repetier/__init__.py
homeassistant/components/repetier/sensor.py
homeassistant/components/remote_rpi_gpio/*
homeassistant/components/rest/binary_sensor.py
homeassistant/components/rest/notify.py
homeassistant/components/rest/switch.py
homeassistant/components/ring/camera.py
@@ -764,7 +775,9 @@ omit =
homeassistant/components/simplepush/notify.py
homeassistant/components/simplisafe/__init__.py
homeassistant/components/simplisafe/alarm_control_panel.py
homeassistant/components/simplisafe/binary_sensor.py
homeassistant/components/simplisafe/lock.py
homeassistant/components/simplisafe/sensor.py
homeassistant/components/simulated/sensor.py
homeassistant/components/sisyphus/*
homeassistant/components/sky_hub/*
@@ -803,10 +816,12 @@ omit =
homeassistant/components/spc/*
homeassistant/components/speedtestdotnet/*
homeassistant/components/spider/*
homeassistant/components/splunk/*
homeassistant/components/spotcrime/sensor.py
homeassistant/components/spotify/__init__.py
homeassistant/components/spotify/media_player.py
homeassistant/components/squeezebox/__init__.py
homeassistant/components/squeezebox/browse_media.py
homeassistant/components/squeezebox/media_player.py
homeassistant/components/starline/*
homeassistant/components/starlingbank/sensor.py
@@ -830,7 +845,9 @@ omit =
homeassistant/components/synology_chat/notify.py
homeassistant/components/synology_dsm/__init__.py
homeassistant/components/synology_dsm/binary_sensor.py
homeassistant/components/synology_dsm/camera.py
homeassistant/components/synology_dsm/sensor.py
homeassistant/components/synology_dsm/switch.py
homeassistant/components/synology_srm/device_tracker.py
homeassistant/components/syslog/notify.py
homeassistant/components/systemmonitor/sensor.py
@@ -844,7 +861,13 @@ omit =
homeassistant/components/ted5000/sensor.py
homeassistant/components/telegram/notify.py
homeassistant/components/telegram_bot/*
homeassistant/components/tellduslive/*
homeassistant/components/tellduslive/__init__.py
homeassistant/components/tellduslive/binary_sensor.py
homeassistant/components/tellduslive/cover.py
homeassistant/components/tellduslive/entry.py
homeassistant/components/tellduslive/light.py
homeassistant/components/tellduslive/sensor.py
homeassistant/components/tellduslive/switch.py
homeassistant/components/tellstick/*
homeassistant/components/telnet/switch.py
homeassistant/components/temper/sensor.py
@@ -863,7 +886,9 @@ omit =
homeassistant/components/thingspeak/*
homeassistant/components/thinkingcleaner/*
homeassistant/components/thomson/device_tracker.py
homeassistant/components/tibber/*
homeassistant/components/tibber/__init__.py
homeassistant/components/tibber/notify.py
homeassistant/components/tibber/sensor.py
homeassistant/components/tikteck/light.py
homeassistant/components/tile/__init__.py
homeassistant/components/tile/device_tracker.py
@@ -886,6 +911,7 @@ omit =
homeassistant/components/torque/sensor.py
homeassistant/components/totalconnect/*
homeassistant/components/touchline/climate.py
homeassistant/components/tplink/common.py
homeassistant/components/tplink/switch.py
homeassistant/components/tplink_lte/*
homeassistant/components/traccar/device_tracker.py
@@ -916,7 +942,9 @@ omit =
homeassistant/components/upb/const.py
homeassistant/components/upb/light.py
homeassistant/components/upb/scene.py
homeassistant/components/upcloud/*
homeassistant/components/upcloud/__init__.py
homeassistant/components/upcloud/binary_sensor.py
homeassistant/components/upcloud/switch.py
homeassistant/components/upnp/*
homeassistant/components/upc_connect/*
homeassistant/components/uptimerobot/binary_sensor.py
@@ -950,6 +978,7 @@ omit =
homeassistant/components/vlc_telnet/media_player.py
homeassistant/components/volkszaehler/sensor.py
homeassistant/components/volumio/__init__.py
homeassistant/components/volumio/browse_media.py
homeassistant/components/volumio/media_player.py
homeassistant/components/volvooncall/*
homeassistant/components/w800rf32/*
@@ -970,6 +999,15 @@ omit =
homeassistant/components/worldtidesinfo/sensor.py
homeassistant/components/worxlandroid/sensor.py
homeassistant/components/x10/light.py
homeassistant/components/xbox/__init__.py
homeassistant/components/xbox/api.py
homeassistant/components/xbox/base_sensor.py
homeassistant/components/xbox/binary_sensor.py
homeassistant/components/xbox/browse_media.py
homeassistant/components/xbox/media_player.py
homeassistant/components/xbox/media_source.py
homeassistant/components/xbox/remote.py
homeassistant/components/xbox/sensor.py
homeassistant/components/xbox_live/sensor.py
homeassistant/components/xeoma/camera.py
homeassistant/components/xfinity/device_tracker.py
@@ -1027,9 +1065,6 @@ omit =
homeassistant/components/zoneminder/*
homeassistant/components/supla/*
homeassistant/components/zwave/util.py
homeassistant/components/ozw/__init__.py
homeassistant/components/ozw/entity.py
homeassistant/components/ozw/services.py
[report]
# Regexes for lines to exclude from consideration

View File

@@ -6,7 +6,7 @@
"appPort": 8123,
"runArgs": ["-e", "GIT_EDITOR=code --wait"],
"extensions": [
"ms-python.python",
"ms-python.vscode-pylance",
"visualstudioexptteam.vscodeintellicode",
"ms-azure-devops.azure-pipelines",
"redhat.vscode-yaml",

View File

@@ -119,7 +119,7 @@ To help with the load of incoming pull requests:
- [ ] I have reviewed two other [open pull requests][prs] in this repository.
[prs]: https://github.com/home-assistant/core/pulls?q=is%3Aopen+is%3Apr+-author%3A%40me+-draft%3Atrue+-label%3Awaiting-for-upstream+sort%3Acreated-asc+-review%3Aapproved
[prs]: https://github.com/home-assistant/core/pulls?q=is%3Aopen+is%3Apr+-author%3A%40me+-draft%3Atrue+-label%3Awaiting-for-upstream+sort%3Acreated-desc+review%3Anone
<!--
Thank you for contributing <3

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.2
uses: actions/setup-python@v2.1.4
with:
python-version: ${{ env.DEFAULT_PYTHON }}
- name: Restore base Python virtual environment
@@ -73,7 +73,7 @@ jobs:
- name: Check out code from GitHub
uses: actions/checkout@v2
- name: Set up Python ${{ env.DEFAULT_PYTHON }}
uses: actions/setup-python@v2.1.2
uses: actions/setup-python@v2.1.4
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.2
uses: actions/setup-python@v2.1.4
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.2
uses: actions/setup-python@v2.1.4
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.2
uses: actions/setup-python@v2.1.4
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.2
uses: actions/setup-python@v2.1.4
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.2
uses: actions/setup-python@v2.1.4
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.2
uses: actions/setup-python@v2.1.4
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.2
uses: actions/setup-python@v2.1.4
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.2
uses: actions/setup-python@v2.1.4
id: python
with:
python-version: ${{ env.DEFAULT_PYTHON }}
@@ -518,25 +518,24 @@ jobs:
hassfest:
name: Check hassfest
runs-on: ubuntu-latest
needs: prepare-base
needs: prepare-tests
strategy:
matrix:
python-version: [3.7]
container: homeassistant/ci-azure:${{ matrix.python-version }}
steps:
- name: Check out code from GitHub
uses: actions/checkout@v2
- name: Set up Python ${{ env.DEFAULT_PYTHON }}
uses: actions/setup-python@v2.1.2
id: python
with:
python-version: ${{ env.DEFAULT_PYTHON }}
- name: Restore base Python virtual environment
- name:
Restore full Python ${{ matrix.python-version }} virtual environment
id: cache-venv
uses: actions/cache@v2
with:
path: venv
key: >-
${{ env.CACHE_VERSION}}-${{ runner.os }}-base-venv-${{
steps.python.outputs.python-version }}-${{
hashFiles('requirements.txt') }}-${{
hashFiles('requirements_test.txt') }}-${{
${{ env.CACHE_VERSION}}-${{ runner.os }}-venv-${{
matrix.python-version }}-${{ hashFiles('requirements_test.txt')
}}-${{ hashFiles('requirements_all.txt') }}-${{
hashFiles('homeassistant/package_constraints.txt') }}
- name: Fail job if Python cache restore failed
if: steps.cache-venv.outputs.cache-hit != 'true'
@@ -546,7 +545,7 @@ jobs:
- name: Run hassfest
run: |
. venv/bin/activate
python -m script.hassfest --action validate
python -m script.hassfest --requirements --action validate
gen-requirements-all:
name: Check all requirements
@@ -556,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.2
uses: actions/setup-python@v2.1.4
id: python
with:
python-version: ${{ env.DEFAULT_PYTHON }}
@@ -737,7 +736,7 @@ jobs:
-p no:sugar \
tests
- name: Upload coverage artifact
uses: actions/upload-artifact@v2.1.4
uses: actions/upload-artifact@v2.2.0
with:
name: coverage-${{ matrix.python-version }}-group${{ matrix.group }}
path: .coverage
@@ -780,4 +779,4 @@ jobs:
coverage report --fail-under=94
coverage xml
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v1.0.13
uses: codecov/codecov-action@v1.0.14

2
.gitignore vendored
View File

@@ -88,7 +88,7 @@ venv
.venv
Pipfile*
share/*
Scripts/
/Scripts/
# vimmy stuff
*.swp

View File

@@ -22,7 +22,7 @@ repos:
- --quiet-level=2
exclude_types: [csv, json]
- repo: https://gitlab.com/pycqa/flake8
rev: 3.8.3
rev: 3.8.4
hooks:
- id: flake8
additional_dependencies:
@@ -39,7 +39,7 @@ repos:
- --configfile=tests/bandit.yaml
files: ^(homeassistant|script|tests)/.+\.py$
- repo: https://github.com/PyCQA/isort
rev: 5.5.1
rev: 5.5.3
hooks:
- id: isort
- repo: https://github.com/pre-commit/pre-commit-hooks
@@ -87,5 +87,5 @@ repos:
entry: script/run-in-env.sh python3 -m script.hassfest
pass_filenames: false
language: script
types: [json]
files: ^homeassistant/.+/(manifest|strings)\.json$
types: [text]
files: ^(homeassistant/.+/(manifest|strings)\.json|\.coveragerc)$

View File

@@ -17,6 +17,7 @@ homeassistant/components/abode/* @shred86
homeassistant/components/accuweather/* @bieniu
homeassistant/components/acmeda/* @atmurray
homeassistant/components/adguard/* @frenck
homeassistant/components/advantage_air/* @Bre77
homeassistant/components/agent_dvr/* @ispysoftware
homeassistant/components/airly/* @bieniu
homeassistant/components/airvisual/* @bachya
@@ -59,7 +60,6 @@ homeassistant/components/blebox/* @gadgetmobile
homeassistant/components/blink/* @fronzbot
homeassistant/components/bmp280/* @belidzs
homeassistant/components/bmw_connected_drive/* @gerard33 @rikroe
homeassistant/components/bom/* @maddenp
homeassistant/components/bond/* @prystupa
homeassistant/components/braviatv/* @bieniu
homeassistant/components/broadlink/* @danielhiversen @felipediel
@@ -75,7 +75,7 @@ homeassistant/components/cisco_ios/* @fbradyirl
homeassistant/components/cisco_mobility_express/* @fbradyirl
homeassistant/components/cisco_webex_teams/* @fbradyirl
homeassistant/components/cloud/* @home-assistant/cloud
homeassistant/components/cloudflare/* @ludeeus
homeassistant/components/cloudflare/* @ludeeus @ctalkington
homeassistant/components/comfoconnect/* @michaelarnauts
homeassistant/components/config/* @home-assistant/core
homeassistant/components/configurator/* @home-assistant/core
@@ -157,11 +157,13 @@ homeassistant/components/geonetnz_volcano/* @exxamalte
homeassistant/components/gios/* @bieniu
homeassistant/components/gitter/* @fabaff
homeassistant/components/glances/* @fabaff @engrbm87
homeassistant/components/goalzero/* @tkdrob
homeassistant/components/gogogate2/* @vangorra
homeassistant/components/google_assistant/* @home-assistant/cloud
homeassistant/components/google_cloud/* @lufton
homeassistant/components/google_translate/* @awarecan
homeassistant/components/gpsd/* @fabaff
homeassistant/components/gree/* @cmroche
homeassistant/components/greeneye_monitor/* @jkeljo
homeassistant/components/griddy/* @bdraco
homeassistant/components/group/* @home-assistant/core
@@ -169,6 +171,7 @@ homeassistant/components/growatt_server/* @indykoning
homeassistant/components/guardian/* @bachya
homeassistant/components/harmony/* @ehendrix23 @bramkragten @bdraco
homeassistant/components/hassio/* @home-assistant/hass-io
homeassistant/components/hdmi_cec/* @newAM
homeassistant/components/heatmiser/* @andylockran
homeassistant/components/heos/* @andrewsayre
homeassistant/components/here_travel_time/* @eifinger
@@ -193,6 +196,7 @@ homeassistant/components/humidifier/* @home-assistant/core @Shulyaka
homeassistant/components/hunterdouglas_powerview/* @bdraco
homeassistant/components/hvv_departures/* @vigonotion
homeassistant/components/hydrawise/* @ptcryan
homeassistant/components/hyperion/* @dermotduffy
homeassistant/components/iammeter/* @lewei50
homeassistant/components/iaqualink/* @flz
homeassistant/components/icloud/* @Quentame
@@ -226,7 +230,7 @@ homeassistant/components/keenetic_ndms2/* @foxel
homeassistant/components/kef/* @basnijholt
homeassistant/components/keyboard_remote/* @bendavid
homeassistant/components/knx/* @Julius2342 @farmio @marvin-w
homeassistant/components/kodi/* @OnFreund
homeassistant/components/kodi/* @OnFreund @cgtobi
homeassistant/components/konnected/* @heythisisnate @kit-klein
homeassistant/components/lametric/* @robbiet480
homeassistant/components/launch_library/* @ludeeus
@@ -238,7 +242,7 @@ homeassistant/components/logger/* @home-assistant/core
homeassistant/components/logi_circle/* @evanjd
homeassistant/components/loopenergy/* @pavoni
homeassistant/components/lovelace/* @home-assistant/frontend
homeassistant/components/luci/* @fbradyirl @mzdrale
homeassistant/components/luci/* @mzdrale
homeassistant/components/luftdaten/* @fabaff
homeassistant/components/lupusec/* @majuss
homeassistant/components/lutron/* @JonGilmore
@@ -261,7 +265,7 @@ homeassistant/components/min_max/* @fabaff
homeassistant/components/minecraft_server/* @elmurato
homeassistant/components/minio/* @tkislan
homeassistant/components/mobile_app/* @robbiet480
homeassistant/components/modbus/* @adamchengtkc @janiversen
homeassistant/components/modbus/* @adamchengtkc @janiversen @vzahradnik
homeassistant/components/monoprice/* @etsinko @OnFreund
homeassistant/components/moon/* @fabaff
homeassistant/components/mpd/* @fabaff
@@ -274,7 +278,7 @@ homeassistant/components/neato/* @dshokouhi @Santobert
homeassistant/components/nederlandse_spoorwegen/* @YarmoM
homeassistant/components/nello/* @pschmitt
homeassistant/components/ness_alarm/* @nickw444
homeassistant/components/nest/* @awarecan
homeassistant/components/nest/* @awarecan @allenporter
homeassistant/components/netatmo/* @cgtobi
homeassistant/components/netdata/* @fabaff
homeassistant/components/nexia/* @ryannazaretian @bdraco
@@ -300,8 +304,9 @@ homeassistant/components/nzbget/* @chriscla
homeassistant/components/obihai/* @dshokouhi
homeassistant/components/ohmconnect/* @robbiet480
homeassistant/components/ombi/* @larssont
homeassistant/components/omnilogic/* @oliver84 @djtimca @gentoosu
homeassistant/components/onboarding/* @home-assistant/core
homeassistant/components/onewire/* @garbled1
homeassistant/components/onewire/* @garbled1 @epenet
homeassistant/components/onvif/* @hunterjm
homeassistant/components/openerz/* @misialq
homeassistant/components/opengarage/* @danielhiversen
@@ -313,7 +318,6 @@ homeassistant/components/orangepi_gpio/* @pascallj
homeassistant/components/oru/* @bvlaicu
homeassistant/components/ovo_energy/* @timmo001
homeassistant/components/ozw/* @cgarwood @marcelveldt @MartinHjelmare
homeassistant/components/panasonic_viera/* @joogps
homeassistant/components/panel_custom/* @home-assistant/frontend
homeassistant/components/panel_iframe/* @home-assistant/frontend
homeassistant/components/pcal9535a/* @Shulyaka
@@ -330,6 +334,7 @@ homeassistant/components/plum_lightpad/* @ColinHarrington @prystupa
homeassistant/components/point/* @fredrike
homeassistant/components/poolsense/* @haemishkyd
homeassistant/components/powerwall/* @bdraco @jrester
homeassistant/components/profiler/* @bdraco
homeassistant/components/progettihwsw/* @ardaseremet
homeassistant/components/prometheus/* @knyar
homeassistant/components/proxmoxve/* @k4ds3 @jhollowe
@@ -349,14 +354,17 @@ homeassistant/components/raincloud/* @vanstinator
homeassistant/components/rainforest_eagle/* @gtdiehl @jcalbert
homeassistant/components/rainmachine/* @bachya
homeassistant/components/random/* @fabaff
homeassistant/components/rejseplanen/* @DarkFox
homeassistant/components/repetier/* @MTrab
homeassistant/components/rfxtrx/* @danielhiversen @elupus
homeassistant/components/rfxtrx/* @danielhiversen @elupus @RobBie1221
homeassistant/components/ring/* @balloob
homeassistant/components/risco/* @OnFreund
homeassistant/components/rmvtransport/* @cgtobi
homeassistant/components/roku/* @ctalkington
homeassistant/components/roomba/* @pschmitt @cyr-ius @shenxn
homeassistant/components/roon/* @pavoni
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
@@ -399,9 +407,11 @@ homeassistant/components/soma/* @ratsept
homeassistant/components/somfy/* @tetienne
homeassistant/components/sonarr/* @ctalkington
homeassistant/components/songpal/* @rytilahti @shenxn
homeassistant/components/sonos/* @cgtobi
homeassistant/components/spaceapi/* @fabaff
homeassistant/components/speedtestdotnet/* @rohankapoorcom @engrbm87
homeassistant/components/spider/* @peternijssen
homeassistant/components/splunk/* @Bre77
homeassistant/components/spotify/* @frenck
homeassistant/components/sql/* @dgomes
homeassistant/components/squeezebox/* @rajlaud
@@ -421,13 +431,14 @@ homeassistant/components/switchbot/* @danielhiversen
homeassistant/components/switcher_kis/* @tomerfi
homeassistant/components/switchmate/* @danielhiversen
homeassistant/components/syncthru/* @nielstron
homeassistant/components/synology_dsm/* @ProtoThis @Quentame
homeassistant/components/synology_dsm/* @hacf-fr @Quentame
homeassistant/components/synology_srm/* @aerialls
homeassistant/components/syslog/* @fabaff
homeassistant/components/tado/* @michaelarnauts @bdraco
homeassistant/components/tag/* @balloob @dmulcahey
homeassistant/components/tahoma/* @philklei
homeassistant/components/tankerkoenig/* @guillempages
homeassistant/components/tasmota/* @emontnemery
homeassistant/components/tautulli/* @ludeeus
homeassistant/components/tellduslive/* @fredrike
homeassistant/components/template/* @PhracturedBlue @tetienne
@@ -442,7 +453,7 @@ homeassistant/components/tmb/* @alemuro
homeassistant/components/todoist/* @boralyl
homeassistant/components/toon/* @frenck
homeassistant/components/totalconnect/* @austinmroczek
homeassistant/components/tplink/* @rytilahti
homeassistant/components/tplink/* @rytilahti @thegardenmonkey
homeassistant/components/traccar/* @ludeeus
homeassistant/components/tradfri/* @ggravlingen
homeassistant/components/trafikverket_train/* @endor-force
@@ -487,6 +498,7 @@ homeassistant/components/wled/* @frenck
homeassistant/components/wolflink/* @adamkrol93
homeassistant/components/workday/* @fabaff
homeassistant/components/worldclock/* @fabaff
homeassistant/components/xbox/* @hunterjm
homeassistant/components/xbox_live/* @MartinHjelmare
homeassistant/components/xfinity/* @cisasteelersfan
homeassistant/components/xiaomi_aqara/* @danielhiversen @syssi
@@ -499,9 +511,10 @@ homeassistant/components/yeelight/* @rytilahti @zewelor @shenxn
homeassistant/components/yeelightsunflower/* @lindsaymarkward
homeassistant/components/yessssms/* @flowolf
homeassistant/components/yi/* @bachya
homeassistant/components/zeroconf/* @Kane610
homeassistant/components/zeroconf/* @bdraco
homeassistant/components/zerproc/* @emlove
homeassistant/components/zha/* @dmulcahey @adminiuga
homeassistant/components/zodiac/* @JulienTant
homeassistant/components/zone/* @home-assistant/core
homeassistant/components/zoneminder/* @rohankapoorcom
homeassistant/components/zwave/* @home-assistant/z-wave

View File

@@ -5,14 +5,14 @@ Everybody is invited and welcome to contribute to Home Assistant. There is a lot
The process is straight-forward.
- Read [How to get faster PR reviews](https://github.com/kubernetes/community/blob/master/contributors/guide/pull-requests.md#best-practices-for-faster-reviews) by Kubernetes (but skip step 0 and 1)
- Fork the Home Assistant [git repository](https://github.com/home-assistant/home-assistant).
- Fork the Home Assistant [git repository](https://github.com/home-assistant/core).
- Write the code for your device, notification service, sensor, or IoT thing.
- Ensure tests work.
- Create a Pull Request against the [**dev**](https://github.com/home-assistant/home-assistant/tree/dev) branch of Home Assistant.
- Create a Pull Request against the [**dev**](https://github.com/home-assistant/core/tree/dev) branch of Home Assistant.
Still interested? Then you should take a peek at the [developer documentation](https://developers.home-assistant.io/) to get more details.
## Feature suggestions
If you want to suggest a new feature for Home Assistant (e.g., new integrations), please open a thread in our [Community Forum: Feature Requests](https://community.home-assistant.io/c/feature-requests).
We use [GitHub for tracking issues](https://github.com/home-assistant/home-assistant/issues), not for tracking feature requests.
We use [GitHub for tracking issues](https://github.com/home-assistant/core/issues), not for tracking feature requests.

View File

@@ -115,10 +115,10 @@ stages:
docker run --rm --privileged \
-v ~/.docker:/root/.docker \
-v /run/docker.sock:/run/docker.sock:rw \
-v $(pwd):/data:ro \
homeassistant/amd64-builder:$(versionBuilder) \
--homeassistant-machine "$(homeassistantRelease)=$(buildMachine)" \
-r https://github.com/home-assistant/hassio-homeassistant \
-t machine --docker-hub homeassistant
-t /data/machine --docker-hub homeassistant
displayName: 'Build Release'
- stage: 'Publish'

View File

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

Binary file not shown.

Before

Width:  |  Height:  |  Size: 108 KiB

After

Width:  |  Height:  |  Size: 102 KiB

View File

@@ -1,6 +1,6 @@
<ul>
<li><a href="https://home-assistant.io/">Homepage</a></li>
<li><a href="https://community.home-assistant.io">Community Forums</a></li>
<li><a href="https://github.com/home-assistant/home-assistant">GitHub</a></li>
<li><a href="https://github.com/home-assistant/core">GitHub</a></li>
<li><a href="https://discord.gg/c5DvZ4e">Discord</a></li>
</ul>

View File

@@ -2,7 +2,6 @@
import asyncio
from collections import OrderedDict
from datetime import timedelta
import logging
from typing import Any, Dict, List, Optional, Tuple, cast
import jwt
@@ -20,7 +19,6 @@ from .providers import AuthProvider, LoginFlow, auth_provider_from_config
EVENT_USER_ADDED = "user_added"
EVENT_USER_REMOVED = "user_removed"
_LOGGER = logging.getLogger(__name__)
_MfaModuleDict = Dict[str, MultiFactorAuthModule]
_ProviderKey = Tuple[str, Optional[str]]
_ProviderDict = Dict[_ProviderKey, AuthProvider]

View File

@@ -1,5 +1,4 @@
"""Example auth module."""
import logging
from typing import Any, Dict
import voluptuous as vol
@@ -22,8 +21,6 @@ CONFIG_SCHEMA = MULTI_FACTOR_AUTH_MODULE_SCHEMA.extend(
extra=vol.PREVENT_EXTRA,
)
_LOGGER = logging.getLogger(__name__)
@MULTI_FACTOR_AUTH_MODULES.register("insecure_example")
class InsecureExampleModule(MultiFactorAuthModule):

View File

@@ -1,7 +1,6 @@
"""Time-based One Time Password auth module."""
import asyncio
from io import BytesIO
import logging
from typing import Any, Dict, Optional, Tuple
import voluptuous as vol
@@ -30,8 +29,6 @@ INPUT_FIELD_CODE = "code"
DUMMY_SECRET = "FPPTH34D4E3MI2HG"
_LOGGER = logging.getLogger(__name__)
def _generate_qr_code(data: str) -> str:
"""Generate a base64 PNG string represent QR Code image of data."""

View File

@@ -47,8 +47,8 @@ class AbodeFlowHandler(config_entries.ConfigFlow, domain=DOMAIN):
except (AbodeException, ConnectTimeout, HTTPError) as ex:
LOGGER.error("Unable to connect to Abode: %s", str(ex))
if ex.errcode == HTTP_BAD_REQUEST:
return self._show_form({"base": "invalid_credentials"})
return self._show_form({"base": "connection_error"})
return self._show_form({"base": "invalid_auth"})
return self._show_form({"base": "cannot_connect"})
return self.async_create_entry(
title=user_input[CONF_USERNAME],

View File

@@ -10,12 +10,11 @@
}
},
"error": {
"identifier_exists": "Account already registered.",
"invalid_credentials": "Invalid credentials.",
"connection_error": "Unable to connect to Abode."
"invalid_auth": "[%key:common::config_flow::error::invalid_auth%]",
"cannot_connect": "[%key:common::config_flow::error::cannot_connect%]"
},
"abort": {
"single_instance_allowed": "Only a single configuration of Abode is allowed."
"single_instance_allowed": "[%key:common::config_flow::abort::single_instance_allowed%]"
}
}
}

View File

@@ -1,11 +1,13 @@
{
"config": {
"abort": {
"single_instance_allowed": "Nom\u00e9s es permet una \u00fanica configuraci\u00f3 d'Abode."
"single_instance_allowed": "Ja configurat. Nom\u00e9s \u00e9s possible una sola configuraci\u00f3."
},
"error": {
"cannot_connect": "Ha fallat la connexi\u00f3",
"connection_error": "No es pot connectar amb Abode.",
"identifier_exists": "Compte ja registrat.",
"invalid_auth": "Autenticaci\u00f3 inv\u00e0lida",
"invalid_credentials": "Credencials inv\u00e0lides."
},
"step": {

View File

@@ -1,18 +1,20 @@
{
"config": {
"abort": {
"single_instance_allowed": "Je povolena pouze jedna konfigurace Abode."
"single_instance_allowed": "Ji\u017e nastaveno. Je mo\u017en\u00e1 pouze jedin\u00e1 konfigurace."
},
"error": {
"cannot_connect": "Nepoda\u0159ilo se p\u0159ipojit",
"connection_error": "Nelze se p\u0159ipojit k Abode.",
"identifier_exists": "\u00da\u010det je ji\u017e zaregistrov\u00e1n.",
"invalid_auth": "Neplatn\u00e9 ov\u011b\u0159en\u00ed",
"invalid_credentials": "Neplatn\u00e9 p\u0159ihla\u0161ovac\u00ed \u00fadaje."
},
"step": {
"user": {
"data": {
"password": "Heslo",
"username": "E-mailov\u00e1 adresa"
"username": "E-mail"
},
"title": "Vypl\u0148te p\u0159ihla\u0161ovac\u00ed \u00fadaje Abode"
}

View File

@@ -0,0 +1,8 @@
{
"config": {
"error": {
"cannot_connect": "\u0391\u03c0\u03bf\u03c4\u03c5\u03c7\u03af\u03b1 \u03c3\u03cd\u03bd\u03b4\u03b5\u03c3\u03b7\u03c2",
"invalid_auth": "\u039c\u03b7 \u03ad\u03b3\u03ba\u03c5\u03c1\u03b7 \u03b1\u03c5\u03b8\u03b5\u03bd\u03c4\u03b9\u03ba\u03bf\u03c0\u03bf\u03af\u03b7\u03c3\u03b7"
}
}
}

View File

@@ -1,11 +1,13 @@
{
"config": {
"abort": {
"single_instance_allowed": "Only a single configuration of Abode is allowed."
"single_instance_allowed": "Already configured. Only a single configuration possible."
},
"error": {
"cannot_connect": "Failed to connect",
"connection_error": "Unable to connect to Abode.",
"identifier_exists": "Account already registered.",
"invalid_auth": "Invalid authentication",
"invalid_credentials": "Invalid credentials."
},
"step": {

View File

@@ -1,18 +1,20 @@
{
"config": {
"abort": {
"single_instance_allowed": "Solo se permite una \u00fanica configuraci\u00f3n de Abode."
"single_instance_allowed": "Ya est\u00e1 configurado. Solo es posible una \u00fanica configuraci\u00f3n."
},
"error": {
"cannot_connect": "No se pudo conectar",
"connection_error": "No se puede conectar a Abode.",
"identifier_exists": "Cuenta ya registrada.",
"invalid_auth": "Autenticaci\u00f3n no v\u00e1lida",
"invalid_credentials": "Credenciales inv\u00e1lidas."
},
"step": {
"user": {
"data": {
"password": "Contrase\u00f1a",
"username": "Direcci\u00f3n de correo electr\u00f3nico"
"username": "Correo electr\u00f3nico"
},
"title": "Rellene la informaci\u00f3n de acceso Abode"
}

View File

@@ -0,0 +1,23 @@
{
"config": {
"abort": {
"single_instance_allowed": "Juba seadistatud. V\u00f5imalik on ainult \u00fcks seadistamine."
},
"error": {
"cannot_connect": "\u00dchendamine nurjus",
"connection_error": "\u00dchendus Abode-iga nurjus.",
"identifier_exists": "Konto on juba seadistatud",
"invalid_auth": "Tuvastamise viga",
"invalid_credentials": "Sobimatu mandaat."
},
"step": {
"user": {
"data": {
"password": "Salas\u00f5na",
"username": "E-post"
},
"title": "Sisesta oma Abode sisselogimisteave"
}
}
}
}

View File

@@ -4,8 +4,10 @@
"single_instance_allowed": "Une seule configuration d'Abode est autoris\u00e9e."
},
"error": {
"cannot_connect": "\u00c9chec de connexion",
"connection_error": "Impossible de se connecter \u00e0 Abode.",
"identifier_exists": "Compte d\u00e9j\u00e0 enregistr\u00e9.",
"invalid_auth": "Authentification invalide",
"invalid_credentials": "Informations d'identification invalides."
},
"step": {

View File

@@ -1,11 +1,13 @@
{
"config": {
"abort": {
"single_instance_allowed": "\u00c8 consentita una sola configurazione di Abode."
"single_instance_allowed": "Gi\u00e0 configurato. \u00c8 possibile una sola configurazione."
},
"error": {
"cannot_connect": "Impossibile connettersi",
"connection_error": "Impossibile connettersi ad Abode.",
"identifier_exists": "Account gi\u00e0 registrato",
"invalid_auth": "Autenticazione non valida",
"invalid_credentials": "Credenziali non valide"
},
"step": {

View File

@@ -4,8 +4,10 @@
"single_instance_allowed": "N\u00ebmmen eng eenzeg Konfiguratioun vun ZHA ass erlaabt."
},
"error": {
"cannot_connect": "Feeler beim verbannen",
"connection_error": "Kann sech net mat Abode verbannen.",
"identifier_exists": "Konto ass scho registr\u00e9iert",
"invalid_auth": "Ong\u00eblteg Authentifikatioun",
"invalid_credentials": "Ong\u00eblteg Login Informatioune"
},
"step": {

View File

@@ -4,6 +4,7 @@
"single_instance_allowed": "Slechts een enkele configuratie van Abode is toegestaan."
},
"error": {
"cannot_connect": "Kan geen verbinding maken",
"connection_error": "Kan geen verbinding maken met Abode.",
"identifier_exists": "Account is al geregistreerd.",
"invalid_credentials": "Ongeldige inloggegevens."

View File

@@ -1,18 +1,20 @@
{
"config": {
"abort": {
"single_instance_allowed": "Bare en enkelt konfigurasjon av Abode er tillatt."
"single_instance_allowed": "Allerede konfigurert. Bare \u00e9n enkelt konfigurasjon er mulig."
},
"error": {
"cannot_connect": "Tilkobling mislyktes",
"connection_error": "Kan ikke koble til Abode.",
"identifier_exists": "Kontoen er allerede registrert.",
"invalid_auth": "Ugyldig godkjenning",
"invalid_credentials": "Ugyldig legitimasjon"
},
"step": {
"user": {
"data": {
"password": "Passord",
"username": "E-postadresse"
"username": "E-post"
},
"title": "Fyll ut innloggingsinformasjonen for Abode"
}

View File

@@ -1,11 +1,13 @@
{
"config": {
"abort": {
"single_instance_allowed": "Dozwolona jest tylko jedna konfiguracja Abode."
"single_instance_allowed": "Ju\u017c skonfigurowano. Mo\u017cliwa jest tylko jedna konfiguracja."
},
"error": {
"connection_error": "Nie mo\u017cna po\u0142\u0105czy\u0107 si\u0119 z Abode.",
"identifier_exists": "Konto jest ju\u017c zarejestrowane.",
"cannot_connect": "Nie mo\u017cna nawi\u0105za\u0107 po\u0142\u0105czenia",
"connection_error": "Nie mo\u017cna po\u0142\u0105czy\u0107 si\u0119 z Abode",
"identifier_exists": "Konto jest ju\u017c zarejestrowane",
"invalid_auth": "Niepoprawne uwierzytelnienie",
"invalid_credentials": "Nieprawid\u0142owe dane uwierzytelniaj\u0105ce"
},
"step": {

View File

@@ -1,11 +1,13 @@
{
"config": {
"abort": {
"single_instance_allowed": "\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u0430 \u0443\u0436\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0430."
"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.",
"connection_error": "\u041d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u0442\u044c\u0441\u044f \u043a Abode.",
"identifier_exists": "\u0423\u0447\u0451\u0442\u043d\u0430\u044f \u0437\u0430\u043f\u0438\u0441\u044c \u0443\u0436\u0435 \u0437\u0430\u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u0430.",
"invalid_auth": "\u041d\u0435\u0432\u0435\u0440\u043d\u0430\u044f \u0430\u0443\u0442\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044f.",
"invalid_credentials": "\u041d\u0435\u0432\u0435\u0440\u043d\u044b\u0435 \u0443\u0447\u0451\u0442\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435."
},
"step": {

View File

@@ -1,11 +1,13 @@
{
"config": {
"abort": {
"single_instance_allowed": "\u50c5\u5141\u8a31\u8a2d\u5b9a\u4e00\u7d44 Abode\u3002"
"single_instance_allowed": "\u50c5\u80fd\u8a2d\u5b9a\u4e00\u7d44\u8a2d\u5099\u3002"
},
"error": {
"cannot_connect": "\u9023\u7dda\u5931\u6557",
"connection_error": "\u7121\u6cd5\u9023\u7dda\u81f3 Abode\u3002",
"identifier_exists": "\u5e33\u865f\u5df2\u8a3b\u518a\u3002",
"invalid_auth": "\u9a57\u8b49\u78bc\u7121\u6548",
"invalid_credentials": "\u6191\u8b49\u7121\u6548\u3002"
},
"step": {

View File

@@ -5,6 +5,7 @@ from homeassistant.const import (
LENGTH_FEET,
LENGTH_INCHES,
LENGTH_METERS,
LENGTH_MILLIMETERS,
PERCENTAGE,
SPEED_KILOMETERS_PER_HOUR,
SPEED_MILES_PER_HOUR,
@@ -24,7 +25,6 @@ ATTR_UNIT_METRIC = "Metric"
CONCENTRATION_PARTS_PER_CUBIC_METER = f"p/{VOLUME_CUBIC_METERS}"
COORDINATOR = "coordinator"
DOMAIN = "accuweather"
LENGTH_MILIMETERS = "mm"
MANUFACTURER = "AccuWeather, Inc."
NAME = "AccuWeather"
UNDO_UPDATE_LISTENER = "undo_update_listener"
@@ -238,7 +238,7 @@ SENSOR_TYPES = {
ATTR_DEVICE_CLASS: None,
ATTR_ICON: "mdi:weather-rainy",
ATTR_LABEL: "Precipitation",
ATTR_UNIT_METRIC: LENGTH_MILIMETERS,
ATTR_UNIT_METRIC: LENGTH_MILLIMETERS,
ATTR_UNIT_IMPERIAL: LENGTH_INCHES,
},
"PressureTendency": {

View File

@@ -5,10 +5,10 @@
"title": "AccuWeather",
"description": "If you need help with the configuration have a look here: https://www.home-assistant.io/integrations/accuweather/\n\nSome sensors are not enabled by default. You can enable them in the entity registry after the integration configuration.\nWeather forecast is not enabled by default. You can enable it in the integration options.",
"data": {
"name": "Name of the integration",
"name": "[%key:common::config_flow::data::name%]",
"api_key": "[%key:common::config_flow::data::api_key%]",
"latitude": "Latitude",
"longitude": "Longitude"
"latitude": "[%key:common::config_flow::data::latitude%]",
"longitude": "[%key:common::config_flow::data::longitude%]"
}
}
},

View File

@@ -14,7 +14,7 @@
"api_key": "Clau API",
"latitude": "Latitud",
"longitude": "Longitud",
"name": "Nom de la integraci\u00f3"
"name": "Nom"
},
"description": "Si necessites ajuda amb la configuraci\u00f3, consulta els seg\u00fcent enlla\u00e7: https://www.home-assistant.io/integrations/accuweather/ \n\n Alguns sensors no estan activats de manera predeterminada. Els pots activar des del registre d'entitats, despr\u00e9s de la configurraci\u00f3 de la integraci\u00f3.\n La previsi\u00f3 meteorol\u00f2gica no est\u00e0 activada de manera predeterminada. Pots activar-la en les opcions de la integraci\u00f3.",
"title": "AccuWeather"

View File

@@ -1,11 +1,34 @@
{
"config": {
"abort": {
"single_instance_allowed": "Ji\u017e nastaveno. Je mo\u017en\u00e1 pouze jedin\u00e1 konfigurace."
},
"error": {
"cannot_connect": "Nepoda\u0159ilo se p\u0159ipojit",
"invalid_api_key": "Neplatn\u00fd kl\u00ed\u010d API",
"requests_exceeded": "Byl p\u0159ekro\u010den povolen\u00fd po\u010det po\u017eadavk\u016f pro API Accuweather. Mus\u00edte po\u010dkat nebo zm\u011bnit API kl\u00ed\u010d."
},
"step": {
"user": {
"data": {
"api_key": "Kl\u00ed\u010d API",
"latitude": "Zem\u011bpisn\u00e1 \u0161\u00ed\u0159ka",
"longitude": "Zem\u011bpisn\u00e1 d\u00e9lka"
}
"longitude": "Zem\u011bpisn\u00e1 d\u00e9lka",
"name": "Jm\u00e9no"
},
"description": "Pokud pot\u0159ebujete pomoc s nastaven\u00ed, pod\u00edvejte se na: https://www.home-assistant.io/integrations/accuweather/\n\nN\u011bkter\u00e9 senzory nejsou ve v\u00fdchoz\u00edm nastaven\u00ed povoleny. M\u016f\u017eete je povolit po nastaven\u00ed integrace v registru entit.\nP\u0159edpov\u011b\u010f po\u010das\u00ed nen\u00ed ve v\u00fdchoz\u00edm nastaven\u00ed povolena. M\u016f\u017eete ji povolit v mo\u017enostech integrace.",
"title": "AccuWeather"
}
}
},
"options": {
"step": {
"user": {
"data": {
"forecast": "P\u0159edpov\u011b\u010f po\u010das\u00ed"
},
"description": "Kdy\u017e povol\u00edte p\u0159edpov\u011b\u010f po\u010das\u00ed, budou aktualizace dat prov\u00e1d\u011bny ka\u017ed\u00fdch 64 minut nam\u00edsto 32 minut z d\u016fvodu omezen\u00ed bezplatn\u00e9 verze AccuWeather.",
"title": "Mo\u017enosti AccuWeather"
}
}
}

View File

@@ -0,0 +1,13 @@
{
"config": {
"step": {
"user": {
"data": {
"latitude": "Breitengrad",
"longitude": "L\u00e4ngengrad"
},
"title": "AccuWeather"
}
}
}
}

View File

@@ -14,7 +14,7 @@
"api_key": "API Key",
"latitude": "Latitude",
"longitude": "Longitude",
"name": "Name of the integration"
"name": "Name"
},
"description": "If you need help with the configuration have a look here: https://www.home-assistant.io/integrations/accuweather/\n\nSome sensors are not enabled by default. You can enable them in the entity registry after the integration configuration.\nWeather forecast is not enabled by default. You can enable it in the integration options.",
"title": "AccuWeather"

View File

@@ -1,7 +1,7 @@
{
"config": {
"abort": {
"single_instance_allowed": "Ya est\u00e1 configurado. S\u00f3lo es posible una \u00fanica configuraci\u00f3n."
"single_instance_allowed": "Ya est\u00e1 configurado. Solo es posible una \u00fanica configuraci\u00f3n."
},
"error": {
"cannot_connect": "No se pudo conectar",
@@ -14,7 +14,7 @@
"api_key": "Clave API",
"latitude": "Latitud",
"longitude": "Longitud",
"name": "Nombre de la integraci\u00f3n"
"name": "Nombre"
},
"description": "Si necesitas ayuda con la configuraci\u00f3n, echa un vistazo aqu\u00ed: https://www.home-assistant.io/integrations/accuweather/ \n\nEl pron\u00f3stico del tiempo no est\u00e1 habilitado por defecto. Puedes habilitarlo en las opciones de la integraci\u00f3n.",
"title": "AccuWeather"

View File

@@ -0,0 +1,35 @@
{
"config": {
"abort": {
"single_instance_allowed": "Sidumine juba tehtud. V\u00f5imalik on ainult 1 sidumine."
},
"error": {
"cannot_connect": "\u00dchendamine nurjus",
"invalid_api_key": "API v\u00f5ti on vale",
"requests_exceeded": "Accuweatheri API-le esitatud p\u00e4ringute piirarv on \u00fcletatud. Peate ootama (v\u00f5i muutma API v\u00f5tit)."
},
"step": {
"user": {
"data": {
"api_key": "API v\u00f5ti",
"latitude": "Laiuskraad",
"longitude": "Pikkuskraad",
"name": "Sidumise nimi"
},
"description": "Kui vajate seadistamisel abi vaadake siit: https://www.home-assistant.io/integrations/accuweather/ \n\n M\u00f5ni andur pole vaikimisi lubatud. P\u00e4rast sidumise seadistamist saate need \u00fcksused lubada. \n Ilmapennustus pole vaikimisi lubatud. Saate selle lubada sidumise s\u00e4tetes.",
"title": "AccuWeather"
}
}
},
"options": {
"step": {
"user": {
"data": {
"forecast": "Ilmateade"
},
"description": "AccuWeather API tasuta versioonis toimub ilmaennustuse lubamisel andmete v\u00e4rskendamine iga 32 minuti asemel iga 64 minuti j\u00e4rel.",
"title": "AccuWeatheri valikud"
}
}
}
}

View File

@@ -3,9 +3,32 @@
"abort": {
"single_instance_allowed": "D\u00e9j\u00e0 configur\u00e9. Une seule configuration possible."
},
"error": {
"cannot_connect": "\u00c9chec de connexion",
"invalid_api_key": "Cl\u00e9 API invalide",
"requests_exceeded": "Le nombre autoris\u00e9 de requ\u00eates adress\u00e9es \u00e0 l'API AccuWeather a \u00e9t\u00e9 d\u00e9pass\u00e9. Vous devez attendre ou modifier la cl\u00e9 API."
},
"step": {
"user": {
"description": "Si vous avez besoin d'aide pour la configuration, consultez le site suivant : https://www.home-assistant.io/integrations/accuweather/\n\nCertains capteurs ne sont pas activ\u00e9s par d\u00e9faut. Vous pouvez les activer dans le registre des entit\u00e9s apr\u00e8s la configuration de l'int\u00e9gration.\nLes pr\u00e9visions m\u00e9t\u00e9orologiques ne sont pas activ\u00e9es par d\u00e9faut. Vous pouvez l'activer dans les options d'int\u00e9gration."
"data": {
"api_key": "Cl\u00e9 d'API",
"latitude": "Latitude",
"longitude": "Longitude",
"name": "Nom de l'int\u00e9gration"
},
"description": "Si vous avez besoin d'aide pour la configuration, consultez le site suivant : https://www.home-assistant.io/integrations/accuweather/\n\nCertains capteurs ne sont pas activ\u00e9s par d\u00e9faut. Vous pouvez les activer dans le registre des entit\u00e9s apr\u00e8s la configuration de l'int\u00e9gration.\nLes pr\u00e9visions m\u00e9t\u00e9orologiques ne sont pas activ\u00e9es par d\u00e9faut. Vous pouvez l'activer dans les options d'int\u00e9gration.",
"title": "AccuWeather"
}
}
},
"options": {
"step": {
"user": {
"data": {
"forecast": "Pr\u00e9visions m\u00e9t\u00e9orologiques"
},
"description": "En raison des limitations de la version gratuite de la cl\u00e9 API AccuWeather, lorsque vous activez les pr\u00e9visions m\u00e9t\u00e9orologiques, les mises \u00e0 jour des donn\u00e9es seront effectu\u00e9es toutes les 64 minutes au lieu de toutes les 32 minutes.",
"title": "Options AccuWeather"
}
}
}

View File

@@ -14,7 +14,7 @@
"api_key": "Chiave API",
"latitude": "Latitudine",
"longitude": "Logitudine",
"name": "Nome dell'integrazione"
"name": "Nome"
},
"description": "Se hai bisogno di aiuto con la configurazione dai un'occhiata qui: https://www.home-assistant.io/integrations/accuweather/ \n\nAlcuni sensori non sono abilitati per impostazione predefinita. \u00c8 possibile abilitarli nel registro entit\u00e0 dopo la configurazione di integrazione. \nLe previsioni meteo non sono abilitate per impostazione predefinita. Puoi abilitarle nelle opzioni di integrazione.",
"title": "AccuWeather"

View File

@@ -14,7 +14,7 @@
"api_key": "API Schl\u00ebssel",
"latitude": "Breedegrad",
"longitude": "L\u00e4ngegrad",
"name": "Numm vun der Integratioun"
"name": "Numm"
},
"description": "Falls du H\u00ebllef mat der Konfiguratioun brauch kuck h\u00e9i:\nhttps://www.home-assistant.io/integrations/accuweather/\n\nWieder Pr\u00e9visounen si standardm\u00e9isseg net aktiv. Du kanns d\u00e9i an den Optioune vun der Integratioun aschalten.",
"title": "AccuWeather"

View File

@@ -0,0 +1,12 @@
{
"config": {
"step": {
"user": {
"data": {
"longitude": "Lengtegraad",
"name": "Naam"
}
}
}
}
}

View File

@@ -4,7 +4,7 @@
"single_instance_allowed": "Allerede konfigurert. Bare \u00e9n enkelt konfigurasjon er mulig."
},
"error": {
"cannot_connect": "Tilkobling mislyktes.",
"cannot_connect": "Tilkobling mislyktes",
"invalid_api_key": "Ugyldig API-n\u00f8kkel",
"requests_exceeded": "Det tillatte antallet foresp\u00f8rsler til Accuweather API er overskredet. Du m\u00e5 vente eller endre API-n\u00f8kkel."
},
@@ -14,9 +14,10 @@
"api_key": "API-n\u00f8kkel",
"latitude": "Breddegrad",
"longitude": "Lengdegrad",
"name": "Navn p\u00e5 integrasjon"
"name": "Navn"
},
"description": "Hvis du trenger hjelp med konfigurasjonen, kan du se her: https://www.home-assistant.io/integrations/accuweather/ \n\n Noen sensorer er ikke aktivert som standard. Du kan aktivere dem i enhetsregisteret etter integrasjonskonfigurasjonen. \n V\u00e6rmelding er ikke aktivert som standard. Du kan aktivere det i integrasjonsalternativene."
"description": "Hvis du trenger hjelp med konfigurasjonen, kan du se her: https://www.home-assistant.io/integrations/accuweather/ \n\n Noen sensorer er ikke aktivert som standard. Du kan aktivere dem i enhetsregisteret etter integrasjonskonfigurasjonen. \n V\u00e6rmelding er ikke aktivert som standard. Du kan aktivere det i integrasjonsalternativene.",
"title": ""
}
}
},

View File

@@ -4,8 +4,8 @@
"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_api_key": "Nieprawid\u0142owy klucz API.",
"cannot_connect": "Nie mo\u017cna nawi\u0105za\u0107 po\u0142\u0105czenia",
"invalid_api_key": "Nieprawid\u0142owy klucz API",
"requests_exceeded": "Dozwolona liczba zapyta\u0144 do interfejsu API AccuWeather zosta\u0142a przekroczona. Musisz poczeka\u0107 lub zmieni\u0107 klucz API."
},
"step": {
@@ -14,7 +14,7 @@
"api_key": "Klucz API",
"latitude": "Szeroko\u015b\u0107 geograficzna",
"longitude": "D\u0142ugo\u015b\u0107 geograficzna",
"name": "Nazwa integracji"
"name": "Nazwa"
},
"description": "Je\u015bli potrzebujesz pomocy z konfiguracj\u0105, przejd\u017a na stron\u0119: https://www.home-assistant.io/integrations/accuweather/ \n\nCz\u0119\u015b\u0107 sensor\u00f3w nie jest w\u0142\u0105czona domy\u015blnie. Mo\u017cesz je w\u0142\u0105czy\u0107 w rejestrze encji po konfiguracji integracji.\nPrognoza pogody nie jest domy\u015blnie w\u0142\u0105czona. Mo\u017cesz j\u0105 w\u0142\u0105czy\u0107 w opcjach integracji.",
"title": "AccuWeather"
@@ -27,7 +27,7 @@
"data": {
"forecast": "Prognoza pogody"
},
"description": "Ze wzgl\u0119du na ograniczenia darmowej wersji klucza API AccuWeather po w\u0142\u0105czeniu prognozy pogody aktualizacje danych b\u0119d\u0105 wykonywane co 64 minut zamiast co 32 minut.",
"description": "Ze wzgl\u0119du na ograniczenia darmowej wersji klucza API AccuWeather po w\u0142\u0105czeniu prognozy pogody aktualizacje danych b\u0119d\u0105 wykonywane co 64 minuty zamiast co 32 minuty.",
"title": "Opcje AccuWeather"
}
}

View File

@@ -0,0 +1,9 @@
{
"state": {
"accuweather__pressure_tendency": {
"falling": "Langev",
"rising": "T\u00f5usev",
"steady": "\u00dchtlane"
}
}
}

View File

@@ -0,0 +1,9 @@
{
"state": {
"accuweather__pressure_tendency": {
"falling": "En baisse",
"rising": "En hausse",
"steady": "Stable"
}
}
}

View File

@@ -0,0 +1,8 @@
{
"state": {
"accuweather__pressure_tendency": {
"falling": "Fallande",
"rising": "Stigande"
}
}
}

View File

@@ -14,7 +14,7 @@
"api_key": "API \u5bc6\u9470",
"latitude": "\u7def\u5ea6",
"longitude": "\u7d93\u5ea6",
"name": "\u6574\u5408\u540d\u7a31"
"name": "\u540d\u7a31"
},
"description": "\u5047\u5982\u4f60\u9700\u8981\u5354\u52a9\u9032\u884c\u8a2d\u5b9a\uff0c\u8acb\u53c3\u95b1\uff1ahttps://www.home-assistant.io/integrations/accuweather/\n\n\u67d0\u4e9b\u50b3\u611f\u5668\u9810\u8a2d\u70ba\u672a\u555f\u7528\uff0c\u53ef\u4ee5\u65bc\u6574\u5408\u8a2d\u5b9a\u4e2d\u555f\u7528\u9019\u4e9b\u5be6\u9ad4\u3002\u5929\u6c23\u9810\u5831\u9810\u8a2d\u672a\u958b\u555f\u3002\u53ef\u4ee5\u65bc\u6574\u5408\u9078\u9805\u4e2d\u958b\u555f\u3002",
"title": "AccuWeather"

View File

@@ -45,7 +45,7 @@ class AcmedaFlowHandler(config_entries.ConfigFlow, domain=DOMAIN):
pass
if len(hubs) == 0:
return self.async_abort(reason="all_configured")
return self.async_abort(reason="no_devices_found")
if len(hubs) == 1:
return await self.async_create(hubs[0])

View File

@@ -10,7 +10,7 @@
}
},
"abort": {
"all_configured": "No new Pulse hubs discovered."
"no_devices_found": "[%key:common::config_flow::abort::no_devices_found%]"
}
}
}
}

View File

@@ -1,7 +1,8 @@
{
"config": {
"abort": {
"all_configured": "No s'han descobert nous hubs de Pulse."
"all_configured": "No s'han descobert nous hubs de Pulse.",
"no_devices_found": "No s'han trobat dispositius a la xarxa"
},
"step": {
"user": {

View File

@@ -0,0 +1,7 @@
{
"config": {
"abort": {
"no_devices_found": "V s\u00edti nebyla nalezena \u017e\u00e1dn\u00e1 za\u0159\u00edzen\u00ed"
}
}
}

View File

@@ -1,7 +1,8 @@
{
"config": {
"abort": {
"all_configured": "No new Pulse hubs discovered."
"all_configured": "No new Pulse hubs discovered.",
"no_devices_found": "No devices found on the network"
},
"step": {
"user": {

View File

@@ -1,7 +1,8 @@
{
"config": {
"abort": {
"all_configured": "No se han descubierto nuevos hubs Pulse."
"all_configured": "No se han descubierto nuevos hubs Pulse.",
"no_devices_found": "No se encontraron dispositivos en la red"
},
"step": {
"user": {

View File

@@ -0,0 +1,17 @@
{
"config": {
"abort": {
"all_configured": "Uusi Pulse'i jaotureid ei avastatud.",
"no_devices_found": "V\u00f5rgus ei tuvastatud \u00fchtegi seadet"
},
"step": {
"user": {
"data": {
"id": "Hosti ID"
},
"title": "Vali lisatav jaotur"
}
}
},
"title": ""
}

View File

@@ -1,7 +1,8 @@
{
"config": {
"abort": {
"all_configured": "Aucun nouveau hub Pulse n'a \u00e9t\u00e9 d\u00e9couvert."
"all_configured": "Aucun nouveau hub Pulse n'a \u00e9t\u00e9 d\u00e9couvert.",
"no_devices_found": "Aucun appareil trouv\u00e9 sur le r\u00e9seau"
},
"step": {
"user": {

View File

@@ -1,7 +1,8 @@
{
"config": {
"abort": {
"all_configured": "Non sono stati scoperti nuovi hub Pulse."
"all_configured": "Non sono stati scoperti nuovi hub Pulse.",
"no_devices_found": "Nessun dispositivo trovato sulla rete"
},
"step": {
"user": {

View File

@@ -1,7 +1,8 @@
{
"config": {
"abort": {
"all_configured": "Ingen nye Pulse-hub oppdaget."
"all_configured": "Ingen nye Pulse-hub oppdaget.",
"no_devices_found": "Ingen enheter funnet p\u00e5 nettverket"
},
"step": {
"user": {
@@ -11,5 +12,6 @@
"title": "Velg en hub du vil legge til"
}
}
}
},
"title": ""
}

View File

@@ -1,7 +1,8 @@
{
"config": {
"abort": {
"all_configured": "Nie wykryto hub\u00f3w Pulse."
"all_configured": "Nie wykryto hub\u00f3w Pulse",
"no_devices_found": "Nie znaleziono urz\u0105dze\u0144 w sieci"
},
"step": {
"user": {

View File

@@ -1,7 +1,8 @@
{
"config": {
"abort": {
"all_configured": "\u0423\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 \u043d\u0435 \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0435\u043d\u044b."
"all_configured": "\u0423\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 \u043d\u0435 \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0435\u043d\u044b.",
"no_devices_found": "\u0423\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 \u043d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d\u044b \u0432 \u0441\u0435\u0442\u0438."
},
"step": {
"user": {

View File

@@ -1,7 +1,8 @@
{
"config": {
"abort": {
"all_configured": "\u672a\u641c\u5c0b\u5230 Pulse hub"
"all_configured": "\u672a\u641c\u5c0b\u5230 Pulse hub",
"no_devices_found": "\u7db2\u8def\u4e0a\u627e\u4e0d\u5230\u8a2d\u5099"
},
"step": {
"user": {

View File

@@ -1,6 +1,4 @@
"""Config flow to configure the AdGuard Home integration."""
import logging
from adguardhome import AdGuardHome, AdGuardHomeConnectionError
import voluptuous as vol
@@ -17,8 +15,6 @@ from homeassistant.const import (
)
from homeassistant.helpers.aiohttp_client import async_get_clientsession
_LOGGER = logging.getLogger(__name__)
@config_entries.HANDLERS.register(DOMAIN)
class AdGuardHomeFlowHandler(ConfigFlow):
@@ -80,7 +76,7 @@ class AdGuardHomeFlowHandler(ConfigFlow):
try:
await adguard.version()
except AdGuardHomeConnectionError:
errors["base"] = "connection_error"
errors["base"] = "cannot_connect"
return await self._show_setup_form(errors)
return self.async_create_entry(
@@ -152,7 +148,7 @@ class AdGuardHomeFlowHandler(ConfigFlow):
try:
await adguard.version()
except AdGuardHomeConnectionError:
errors["base"] = "connection_error"
errors["base"] = "cannot_connect"
return await self._show_hassio_form(errors)
return self.async_create_entry(

View File

@@ -1,6 +1,5 @@
"""Support for AdGuard Home sensors."""
from datetime import timedelta
import logging
from adguardhome import AdGuardHomeConnectionError
@@ -15,8 +14,6 @@ from homeassistant.const import PERCENTAGE, TIME_MILLISECONDS
from homeassistant.exceptions import PlatformNotReady
from homeassistant.helpers.typing import HomeAssistantType
_LOGGER = logging.getLogger(__name__)
SCAN_INTERVAL = timedelta(seconds=300)
PARALLEL_UPDATES = 4

View File

@@ -8,8 +8,8 @@
"password": "[%key:common::config_flow::data::password%]",
"port": "[%key:common::config_flow::data::port%]",
"username": "[%key:common::config_flow::data::username%]",
"ssl": "AdGuard Home uses a SSL certificate",
"verify_ssl": "AdGuard Home uses a proper certificate"
"ssl": "[%key:common::config_flow::data::ssl%]",
"verify_ssl": "[%key:common::config_flow::data::verify_ssl%]"
}
},
"hassio_confirm": {
@@ -17,10 +17,12 @@
"description": "Do you want to configure Home Assistant to connect to the AdGuard Home provided by the Hass.io add-on: {addon}?"
}
},
"error": { "connection_error": "Failed to connect." },
"error": {
"cannot_connect": "[%key:common::config_flow::error::cannot_connect%]"
},
"abort": {
"existing_instance_updated": "Updated existing configuration.",
"single_instance_allowed": "Only a single configuration of AdGuard Home is allowed."
"single_instance_allowed": "[%key:common::config_flow::abort::single_instance_allowed%]"
}
}
}

View File

@@ -2,9 +2,10 @@
"config": {
"abort": {
"existing_instance_updated": "S'ha actualitzat la configuraci\u00f3 existent.",
"single_instance_allowed": "Nom\u00e9s es permet una \u00fanica configuraci\u00f3 d'AdGuard Home."
"single_instance_allowed": "Ja configurat. Nom\u00e9s \u00e9s possible una sola configuraci\u00f3."
},
"error": {
"cannot_connect": "Ha fallat la connexi\u00f3",
"connection_error": "No s'ha pogut connectar."
},
"step": {
@@ -17,9 +18,9 @@
"host": "[%key::common::config_flow::data::host%]",
"password": "[%key::common::config_flow::data::password%]",
"port": "[%key::common::config_flow::data::port%]",
"ssl": "AdGuard Home utilitza un certificat SSL",
"ssl": "Utilitza un certificat SSL",
"username": "[%key::common::config_flow::data::username%]",
"verify_ssl": "AdGuard Home utilitza un certificat adequat"
"verify_ssl": "Verifica el certificat SSL"
},
"description": "Configuraci\u00f3 de la inst\u00e0ncia d'AdGuard Home, permet el control i la monitoritzaci\u00f3."
}

View File

@@ -1,5 +1,13 @@
{
"config": {
"abort": {
"existing_instance_updated": "St\u00e1vaj\u00edc\u00ed nastaven\u00ed aktualizov\u00e1no.",
"single_instance_allowed": "Ji\u017e nastaveno. Je mo\u017en\u00e1 pouze jedin\u00e1 konfigurace."
},
"error": {
"cannot_connect": "Nepoda\u0159ilo se p\u0159ipojit",
"connection_error": "Nepoda\u0159ilo se p\u0159ipojit."
},
"step": {
"hassio_confirm": {
"description": "Chcete nakonfigurovat slu\u017ebu Home Assistant pro p\u0159ipojen\u00ed k AddGuard pomoc\u00ed hass.io {addon}?",
@@ -10,7 +18,9 @@
"host": "Hostitel",
"password": "Heslo",
"port": "Port",
"username": "U\u017eivatelsk\u00e9 jm\u00e9no"
"ssl": "Pou\u017e\u00edv\u00e1 SSL certifik\u00e1t",
"username": "U\u017eivatelsk\u00e9 jm\u00e9no",
"verify_ssl": "Ov\u011b\u0159it certifik\u00e1t SSL"
}
}
}

View File

@@ -0,0 +1,7 @@
{
"config": {
"error": {
"cannot_connect": "\u0391\u03c0\u03bf\u03c4\u03c5\u03c7\u03af\u03b1 \u03c3\u03cd\u03bd\u03b4\u03b5\u03c3\u03b7\u03c2"
}
}
}

View File

@@ -2,9 +2,10 @@
"config": {
"abort": {
"existing_instance_updated": "Updated existing configuration.",
"single_instance_allowed": "Only a single configuration of AdGuard Home is allowed."
"single_instance_allowed": "Already configured. Only a single configuration possible."
},
"error": {
"cannot_connect": "Failed to connect",
"connection_error": "Failed to connect."
},
"step": {
@@ -17,9 +18,9 @@
"host": "Host",
"password": "Password",
"port": "Port",
"ssl": "AdGuard Home uses a SSL certificate",
"ssl": "Uses an SSL certificate",
"username": "Username",
"verify_ssl": "AdGuard Home uses a proper certificate"
"verify_ssl": "Verify SSL certificate"
},
"description": "Set up your AdGuard Home instance to allow monitoring and control."
}

View File

@@ -5,6 +5,7 @@
"single_instance_allowed": "S\u00f3lo se permite una \u00fanica configuraci\u00f3n de AdGuard Home."
},
"error": {
"cannot_connect": "No se pudo conectar",
"connection_error": "No se conect\u00f3."
},
"step": {

View File

@@ -0,0 +1,29 @@
{
"config": {
"abort": {
"existing_instance_updated": "Olemasolevad seaded v\u00e4rskendatud.",
"single_instance_allowed": "Juba seadistatud. V\u00f5imalik on ainult \u00fcks seadistamine."
},
"error": {
"cannot_connect": "\u00dchendamine nurjus",
"connection_error": "\u00dchenduse loomine nurjus"
},
"step": {
"hassio_confirm": {
"description": "Kas soovid seadistada Home Assistant-i \u00fchenduse AdGuard Home'iga mida pakub Hass.io lisandmoodul: {addon} ?",
"title": "AdGuard Home Hass.io pistikprogrammi kaudu"
},
"user": {
"data": {
"host": "",
"password": "Salas\u00f5na",
"port": "",
"ssl": "Kasuta SSL sertifikaati",
"username": "Kasutajanimi",
"verify_ssl": "Kontrolli SSL sertifikaati"
},
"description": "Seadista AdGuard Home'i sidumine, et v\u00f5imaldada j\u00e4lgimist ja juhtimist."
}
}
}
}

View File

@@ -5,6 +5,7 @@
"single_instance_allowed": "Une seule configuration d'AdGuard Home est autoris\u00e9e."
},
"error": {
"cannot_connect": "\u00c9chec de connexion",
"connection_error": "\u00c9chec de connexion."
},
"step": {

View File

@@ -2,9 +2,10 @@
"config": {
"abort": {
"existing_instance_updated": "Configurazione esistente aggiornata.",
"single_instance_allowed": "\u00c8 consentita solo una singola configurazione di AdGuard Home."
"single_instance_allowed": "Gi\u00e0 configurato. \u00c8 possibile una sola configurazione."
},
"error": {
"cannot_connect": "Impossibile connettersi",
"connection_error": "Impossibile connettersi."
},
"step": {
@@ -17,9 +18,9 @@
"host": "Host",
"password": "Password",
"port": "Porta",
"ssl": "AdGuard Home utilizza un certificato SSL",
"ssl": "Utilizza un certificato SSL",
"username": "Nome utente",
"verify_ssl": "AdGuard Home utilizza un certificato appropriato"
"verify_ssl": "Verificare il certificato SSL"
},
"description": "Configura l'istanza di AdGuard Home per consentire il monitoraggio e il controllo."
}

View File

@@ -5,6 +5,7 @@
"single_instance_allowed": "N\u00ebmmen eng eenzeg Konfiguratioun vun AdGuard Home ass erlaabt."
},
"error": {
"cannot_connect": "Feeler beim verbannen",
"connection_error": "Feeler beim verbannen."
},
"step": {

View File

@@ -5,6 +5,7 @@
"single_instance_allowed": "Slechts \u00e9\u00e9n configuratie van AdGuard Home is toegestaan."
},
"error": {
"cannot_connect": "Kan geen verbinding maken",
"connection_error": "Kon niet verbinden."
},
"step": {
@@ -15,6 +16,7 @@
"user": {
"data": {
"password": "Wachtwoord",
"port": "Poort",
"ssl": "AdGuard Home maakt gebruik van een SSL certificaat",
"username": "Gebruikersnaam",
"verify_ssl": "AdGuard Home maakt gebruik van een goed certificaat"

View File

@@ -2,9 +2,10 @@
"config": {
"abort": {
"existing_instance_updated": "Oppdatert eksisterende konfigurasjon.",
"single_instance_allowed": "Kun en konfigurasjon av AdGuard Hjemer tillatt."
"single_instance_allowed": "Allerede konfigurert. Bare \u00e9n enkelt konfigurasjon er mulig."
},
"error": {
"cannot_connect": "Tilkobling mislyktes",
"connection_error": "Tilkobling mislyktes."
},
"step": {
@@ -16,9 +17,10 @@
"data": {
"host": "Vert",
"password": "Passord",
"ssl": "AdGuard Hjem bruker et SSL-sertifikat",
"port": "Port",
"ssl": "Bruker et SSL-sertifikat",
"username": "Brukernavn",
"verify_ssl": "AdGuard Home bruker et riktig sertifikat"
"verify_ssl": "Verifisere SSL-sertifikat"
},
"description": "Sett opp din AdGuard Hjem instans for \u00e5 tillate overv\u00e5king og kontroll."
}

View File

@@ -1,11 +1,12 @@
{
"config": {
"abort": {
"existing_instance_updated": "Zaktualizowano istniej\u0105c\u0105 konfiguracj\u0119.",
"single_instance_allowed": "Dozwolona jest tylko jedna konfiguracja AdGuard Home."
"existing_instance_updated": "Zaktualizowano istniej\u0105c\u0105 konfiguracj\u0119",
"single_instance_allowed": "Ju\u017c skonfigurowano. Mo\u017cliwa jest tylko jedna konfiguracja."
},
"error": {
"connection_error": "Nie mo\u017cna nawi\u0105za\u0107 po\u0142\u0105czenia."
"cannot_connect": "Nie mo\u017cna nawi\u0105za\u0107 po\u0142\u0105czenia",
"connection_error": "Nie mo\u017cna nawi\u0105za\u0107 po\u0142\u0105czenia"
},
"step": {
"hassio_confirm": {
@@ -17,9 +18,9 @@
"host": "Nazwa hosta lub adres IP",
"password": "Has\u0142o",
"port": "Port",
"ssl": "AdGuard Home u\u017cywa certyfikatu SSL",
"ssl": "Certyfikat SSL",
"username": "Nazwa u\u017cytkownika",
"verify_ssl": "AdGuard Home u\u017cywa odpowiedniego certyfikatu."
"verify_ssl": "Weryfikacja certyfikatu SSL"
},
"description": "Skonfiguruj instancj\u0119 AdGuard Home, aby umo\u017cliwi\u0107 monitorowanie i kontrol\u0119."
}

View File

@@ -2,9 +2,10 @@
"config": {
"abort": {
"existing_instance_updated": "\u041a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0430.",
"single_instance_allowed": "\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u0430 \u0443\u0436\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0430."
"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.",
"connection_error": "\u041e\u0448\u0438\u0431\u043a\u0430 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f."
},
"step": {
@@ -17,9 +18,9 @@
"host": "\u0425\u043e\u0441\u0442",
"password": "\u041f\u0430\u0440\u043e\u043b\u044c",
"port": "\u041f\u043e\u0440\u0442",
"ssl": "AdGuard Home \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442 SSL",
"ssl": "\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442 SSL",
"username": "\u041b\u043e\u0433\u0438\u043d",
"verify_ssl": "AdGuard Home \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442"
"verify_ssl": "\u041f\u0440\u043e\u0432\u0435\u0440\u044f\u0442\u044c \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442 SSL"
},
"description": "\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u0442\u0435 Home Assistant \u0434\u043b\u044f \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433\u0430 \u0438 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044f AdGuard Home."
}

View File

@@ -3,6 +3,9 @@
"abort": {
"existing_instance_updated": "\u66f4\u65b0\u4e86\u73b0\u6709\u914d\u7f6e\u3002"
},
"error": {
"connection_error": "\u8fde\u63a5\u5931\u8d25\u3002"
},
"step": {
"user": {
"data": {

View File

@@ -2,9 +2,10 @@
"config": {
"abort": {
"existing_instance_updated": "\u5df2\u66f4\u65b0\u73fe\u6709\u8a2d\u5b9a\u3002",
"single_instance_allowed": "\u50c5\u5141\u8a31\u8a2d\u5b9a\u4e00\u7d44 AdGuard Home\u3002"
"single_instance_allowed": "\u50c5\u80fd\u8a2d\u5b9a\u4e00\u7d44\u8a2d\u5099\u3002"
},
"error": {
"cannot_connect": "\u9023\u7dda\u5931\u6557",
"connection_error": "\u9023\u7dda\u5931\u6557\u3002"
},
"step": {
@@ -17,9 +18,9 @@
"host": "\u4e3b\u6a5f\u7aef",
"password": "\u5bc6\u78bc",
"port": "\u901a\u8a0a\u57e0",
"ssl": "AdGuard Home \u4f7f\u7528 SSL \u8a8d\u8b49",
"ssl": "\u4f7f\u7528 SSL \u8a8d\u8b49",
"username": "\u4f7f\u7528\u8005\u540d\u7a31",
"verify_ssl": "AdGuard Home \u4f7f\u7528\u5c0d\u61c9\u8a8d\u8b49"
"verify_ssl": "\u78ba\u8a8d SSL \u8a8d\u8b49"
},
"description": "\u8a2d\u5b9a AdGuard Home \u4ee5\u9032\u884c\u76e3\u63a7\u3002"
}

View File

@@ -1,9 +1,8 @@
"""Support for ADS binary sensors."""
import logging
import voluptuous as vol
from homeassistant.components.binary_sensor import (
DEVICE_CLASS_MOVING,
DEVICE_CLASSES_SCHEMA,
PLATFORM_SCHEMA,
BinarySensorEntity,
@@ -13,8 +12,6 @@ import homeassistant.helpers.config_validation as cv
from . import CONF_ADS_VAR, DATA_ADS, STATE_KEY_STATE, AdsEntity
_LOGGER = logging.getLogger(__name__)
DEFAULT_NAME = "ADS binary sensor"
PLATFORM_SCHEMA = PLATFORM_SCHEMA.extend(
{
@@ -43,7 +40,7 @@ class AdsBinarySensor(AdsEntity, BinarySensorEntity):
def __init__(self, ads_hub, name, ads_var, device_class):
"""Initialize ADS binary sensor."""
super().__init__(ads_hub, name, ads_var)
self._device_class = device_class or "moving"
self._device_class = device_class or DEVICE_CLASS_MOVING
async def async_added_to_hass(self):
"""Register device notification."""

View File

@@ -1,6 +1,4 @@
"""Support for ADS covers."""
import logging
import voluptuous as vol
from homeassistant.components.cover import (
@@ -25,8 +23,6 @@ from . import (
AdsEntity,
)
_LOGGER = logging.getLogger(__name__)
DEFAULT_NAME = "ADS Cover"
CONF_ADS_VAR_SET_POS = "adsvar_set_position"

View File

@@ -1,6 +1,4 @@
"""Support for ADS light sources."""
import logging
import voluptuous as vol
from homeassistant.components.light import (
@@ -21,7 +19,6 @@ from . import (
AdsEntity,
)
_LOGGER = logging.getLogger(__name__)
DEFAULT_NAME = "ADS Light"
PLATFORM_SCHEMA = PLATFORM_SCHEMA.extend(
{

View File

@@ -1,6 +1,4 @@
"""Support for ADS sensors."""
import logging
import voluptuous as vol
from homeassistant.components import ads
@@ -10,8 +8,6 @@ import homeassistant.helpers.config_validation as cv
from . import CONF_ADS_FACTOR, CONF_ADS_TYPE, CONF_ADS_VAR, STATE_KEY_STATE, AdsEntity
_LOGGER = logging.getLogger(__name__)
DEFAULT_NAME = "ADS sensor"
PLATFORM_SCHEMA = PLATFORM_SCHEMA.extend(
{

View File

@@ -1,6 +1,4 @@
"""Support for ADS switch platform."""
import logging
import voluptuous as vol
from homeassistant.components.switch import PLATFORM_SCHEMA, SwitchEntity
@@ -9,8 +7,6 @@ import homeassistant.helpers.config_validation as cv
from . import CONF_ADS_VAR, DATA_ADS, STATE_KEY_STATE, AdsEntity
_LOGGER = logging.getLogger(__name__)
DEFAULT_NAME = "ADS Switch"
PLATFORM_SCHEMA = PLATFORM_SCHEMA.extend(

View File

@@ -0,0 +1,92 @@
"""Advantage Air climate integration."""
import asyncio
from datetime import timedelta
import logging
from advantage_air import ApiError, advantage_air
from homeassistant.const import CONF_IP_ADDRESS, CONF_PORT
from homeassistant.exceptions import ConfigEntryNotReady
from homeassistant.helpers.aiohttp_client import async_get_clientsession
from homeassistant.helpers.update_coordinator import DataUpdateCoordinator, UpdateFailed
from .const import ADVANTAGE_AIR_RETRY, DOMAIN
ADVANTAGE_AIR_SYNC_INTERVAL = 15
ADVANTAGE_AIR_PLATFORMS = ["climate", "cover", "binary_sensor", "sensor", "switch"]
_LOGGER = logging.getLogger(__name__)
async def async_setup(hass, config):
"""Set up Advantage Air integration."""
hass.data[DOMAIN] = {}
return True
async def async_setup_entry(hass, entry):
"""Set up Advantage Air config."""
ip_address = entry.data[CONF_IP_ADDRESS]
port = entry.data[CONF_PORT]
api = advantage_air(
ip_address,
port=port,
session=async_get_clientsession(hass),
retry=ADVANTAGE_AIR_RETRY,
)
async def async_get():
try:
return await api.async_get()
except ApiError as err:
raise UpdateFailed(err) from err
coordinator = DataUpdateCoordinator(
hass,
_LOGGER,
name="Advantage Air",
update_method=async_get,
update_interval=timedelta(seconds=ADVANTAGE_AIR_SYNC_INTERVAL),
)
async def async_change(change):
try:
if await api.async_change(change):
await coordinator.async_refresh()
except ApiError as err:
_LOGGER.warning(err)
await coordinator.async_refresh()
if not coordinator.data:
raise ConfigEntryNotReady
hass.data[DOMAIN][entry.entry_id] = {
"coordinator": coordinator,
"async_change": async_change,
}
for platform in ADVANTAGE_AIR_PLATFORMS:
hass.async_create_task(
hass.config_entries.async_forward_entry_setup(entry, platform)
)
return True
async def async_unload_entry(hass, entry):
"""Unload Advantage Air Config."""
unload_ok = all(
await asyncio.gather(
*[
hass.config_entries.async_forward_entry_unload(entry, component)
for component in ADVANTAGE_AIR_PLATFORMS
]
)
)
if unload_ok:
hass.data[DOMAIN].pop(entry.entry_id)
return unload_ok

View File

@@ -0,0 +1,75 @@
"""Binary Sensor platform for Advantage Air integration."""
from homeassistant.components.binary_sensor import (
DEVICE_CLASS_MOTION,
DEVICE_CLASS_PROBLEM,
BinarySensorEntity,
)
from .const import DOMAIN as ADVANTAGE_AIR_DOMAIN
from .entity import AdvantageAirEntity
PARALLEL_UPDATES = 0
async def async_setup_entry(hass, config_entry, async_add_entities):
"""Set up AdvantageAir motion platform."""
instance = hass.data[ADVANTAGE_AIR_DOMAIN][config_entry.entry_id]
entities = []
for ac_key, ac_device in instance["coordinator"].data["aircons"].items():
entities.append(AdvantageAirZoneFilter(instance, ac_key))
for zone_key, zone in ac_device["zones"].items():
# Only add motion sensor when motion is enabled
if zone["motionConfig"] >= 2:
entities.append(AdvantageAirZoneMotion(instance, ac_key, zone_key))
async_add_entities(entities)
class AdvantageAirZoneFilter(AdvantageAirEntity, BinarySensorEntity):
"""Advantage Air Filter."""
@property
def name(self):
"""Return the name."""
return f'{self._ac["name"]} Filter'
@property
def unique_id(self):
"""Return a unique id."""
return f'{self.coordinator.data["system"]["rid"]}-{self.ac_key}-filter'
@property
def device_class(self):
"""Return the device class of the vent."""
return DEVICE_CLASS_PROBLEM
@property
def is_on(self):
"""Return if filter needs cleaning."""
return self._ac["filterCleanStatus"]
class AdvantageAirZoneMotion(AdvantageAirEntity, BinarySensorEntity):
"""Advantage Air Zone Motion."""
@property
def name(self):
"""Return the name."""
return f'{self._zone["name"]} Motion'
@property
def unique_id(self):
"""Return a unique id."""
return f'{self.coordinator.data["system"]["rid"]}-{self.ac_key}-{self.zone_key}-motion'
@property
def device_class(self):
"""Return the device class of the vent."""
return DEVICE_CLASS_MOTION
@property
def is_on(self):
"""Return if motion is detect."""
return self._zone["motion"]

View File

@@ -0,0 +1,235 @@
"""Climate platform for Advantage Air integration."""
from homeassistant.components.climate import ClimateEntity
from homeassistant.components.climate.const import (
FAN_AUTO,
FAN_HIGH,
FAN_LOW,
FAN_MEDIUM,
HVAC_MODE_COOL,
HVAC_MODE_DRY,
HVAC_MODE_FAN_ONLY,
HVAC_MODE_HEAT,
HVAC_MODE_OFF,
SUPPORT_FAN_MODE,
SUPPORT_TARGET_TEMPERATURE,
)
from homeassistant.const import ATTR_TEMPERATURE, PRECISION_WHOLE, TEMP_CELSIUS
from .const import (
ADVANTAGE_AIR_STATE_CLOSE,
ADVANTAGE_AIR_STATE_OFF,
ADVANTAGE_AIR_STATE_ON,
ADVANTAGE_AIR_STATE_OPEN,
DOMAIN as ADVANTAGE_AIR_DOMAIN,
)
from .entity import AdvantageAirEntity
ADVANTAGE_AIR_HVAC_MODES = {
"heat": HVAC_MODE_HEAT,
"cool": HVAC_MODE_COOL,
"vent": HVAC_MODE_FAN_ONLY,
"dry": HVAC_MODE_DRY,
}
HASS_HVAC_MODES = {v: k for k, v in ADVANTAGE_AIR_HVAC_MODES.items()}
ADVANTAGE_AIR_FAN_MODES = {
"auto": FAN_AUTO,
"low": FAN_LOW,
"medium": FAN_MEDIUM,
"high": FAN_HIGH,
}
HASS_FAN_MODES = {v: k for k, v in ADVANTAGE_AIR_FAN_MODES.items()}
FAN_SPEEDS = {FAN_LOW: 30, FAN_MEDIUM: 60, FAN_HIGH: 100}
AC_HVAC_MODES = [
HVAC_MODE_OFF,
HVAC_MODE_COOL,
HVAC_MODE_HEAT,
HVAC_MODE_FAN_ONLY,
HVAC_MODE_DRY,
]
ZONE_HVAC_MODES = [HVAC_MODE_OFF, HVAC_MODE_FAN_ONLY]
PARALLEL_UPDATES = 0
async def async_setup_entry(hass, config_entry, async_add_entities):
"""Set up AdvantageAir climate platform."""
instance = hass.data[ADVANTAGE_AIR_DOMAIN][config_entry.entry_id]
entities = []
for ac_key, ac_device in instance["coordinator"].data["aircons"].items():
entities.append(AdvantageAirAC(instance, ac_key))
for zone_key, zone in ac_device["zones"].items():
# Only add zone climate control when zone is in temperature control
if zone["type"] != 0:
entities.append(AdvantageAirZone(instance, ac_key, zone_key))
async_add_entities(entities)
class AdvantageAirClimateEntity(AdvantageAirEntity, ClimateEntity):
"""AdvantageAir Climate class."""
@property
def temperature_unit(self):
"""Return the temperature unit."""
return TEMP_CELSIUS
@property
def target_temperature_step(self):
"""Return the supported temperature step."""
return PRECISION_WHOLE
@property
def max_temp(self):
"""Return the maximum supported temperature."""
return 32
@property
def min_temp(self):
"""Return the minimum supported temperature."""
return 16
class AdvantageAirAC(AdvantageAirClimateEntity):
"""AdvantageAir AC unit."""
@property
def name(self):
"""Return the name."""
return self._ac["name"]
@property
def unique_id(self):
"""Return a unique id."""
return f'{self.coordinator.data["system"]["rid"]}-{self.ac_key}'
@property
def target_temperature(self):
"""Return the current target temperature."""
return self._ac["setTemp"]
@property
def hvac_mode(self):
"""Return the current HVAC modes."""
if self._ac["state"] == ADVANTAGE_AIR_STATE_ON:
return ADVANTAGE_AIR_HVAC_MODES.get(self._ac["mode"])
return HVAC_MODE_OFF
@property
def hvac_modes(self):
"""Return the supported HVAC modes."""
return AC_HVAC_MODES
@property
def fan_mode(self):
"""Return the current fan modes."""
return ADVANTAGE_AIR_FAN_MODES.get(self._ac["fan"])
@property
def fan_modes(self):
"""Return the supported fan modes."""
return [FAN_AUTO, FAN_LOW, FAN_MEDIUM, FAN_HIGH]
@property
def supported_features(self):
"""Return the supported features."""
return SUPPORT_TARGET_TEMPERATURE | SUPPORT_FAN_MODE
async def async_set_hvac_mode(self, hvac_mode):
"""Set the HVAC Mode and State."""
if hvac_mode == HVAC_MODE_OFF:
await self.async_change(
{self.ac_key: {"info": {"state": ADVANTAGE_AIR_STATE_OFF}}}
)
else:
await self.async_change(
{
self.ac_key: {
"info": {
"state": ADVANTAGE_AIR_STATE_ON,
"mode": HASS_HVAC_MODES.get(hvac_mode),
}
}
}
)
async def async_set_fan_mode(self, fan_mode):
"""Set the Fan Mode."""
await self.async_change(
{self.ac_key: {"info": {"fan": HASS_FAN_MODES.get(fan_mode)}}}
)
async def async_set_temperature(self, **kwargs):
"""Set the Temperature."""
temp = kwargs.get(ATTR_TEMPERATURE)
await self.async_change({self.ac_key: {"info": {"setTemp": temp}}})
class AdvantageAirZone(AdvantageAirClimateEntity):
"""AdvantageAir Zone control."""
@property
def name(self):
"""Return the name."""
return self._zone["name"]
@property
def unique_id(self):
"""Return a unique id."""
return f'{self.coordinator.data["system"]["rid"]}-{self.ac_key}-{self.zone_key}'
@property
def current_temperature(self):
"""Return the current temperature."""
return self._zone["measuredTemp"]
@property
def target_temperature(self):
"""Return the target temperature."""
return self._zone["setTemp"]
@property
def hvac_mode(self):
"""Return the current HVAC modes."""
if self._zone["state"] == ADVANTAGE_AIR_STATE_OPEN:
return HVAC_MODE_FAN_ONLY
return HVAC_MODE_OFF
@property
def hvac_modes(self):
"""Return supported HVAC modes."""
return ZONE_HVAC_MODES
@property
def supported_features(self):
"""Return the supported features."""
return SUPPORT_TARGET_TEMPERATURE
async def async_set_hvac_mode(self, hvac_mode):
"""Set the HVAC Mode and State."""
if hvac_mode == HVAC_MODE_OFF:
await self.async_change(
{
self.ac_key: {
"zones": {self.zone_key: {"state": ADVANTAGE_AIR_STATE_CLOSE}}
}
}
)
else:
await self.async_change(
{
self.ac_key: {
"zones": {self.zone_key: {"state": ADVANTAGE_AIR_STATE_OPEN}}
}
}
)
async def async_set_temperature(self, **kwargs):
"""Set the Temperature."""
temp = kwargs.get(ATTR_TEMPERATURE)
await self.async_change(
{self.ac_key: {"zones": {self.zone_key: {"setTemp": temp}}}}
)

View File

@@ -0,0 +1,57 @@
"""Config Flow for Advantage Air integration."""
from advantage_air import ApiError, advantage_air
import voluptuous as vol
from homeassistant import config_entries
from homeassistant.const import CONF_IP_ADDRESS, CONF_PORT
from homeassistant.helpers.aiohttp_client import async_get_clientsession
from .const import ADVANTAGE_AIR_RETRY, DOMAIN
ADVANTAGE_AIR_DEFAULT_PORT = 2025
ADVANTAGE_AIR_SCHEMA = vol.Schema(
{
vol.Required(CONF_IP_ADDRESS): str,
vol.Optional(CONF_PORT, default=ADVANTAGE_AIR_DEFAULT_PORT): int,
}
)
class AdvantageAirConfigFlow(config_entries.ConfigFlow, domain=DOMAIN):
"""Config Advantage Air API connection."""
VERSION = 1
CONNECTION_CLASS = config_entries.CONN_CLASS_LOCAL_POLL
DOMAIN = DOMAIN
async def async_step_user(self, user_input=None):
"""Get configuration from the user."""
errors = {}
if user_input:
ip_address = user_input[CONF_IP_ADDRESS]
port = user_input[CONF_PORT]
try:
data = await advantage_air(
ip_address,
port=port,
session=async_get_clientsession(self.hass),
retry=ADVANTAGE_AIR_RETRY,
).async_get(1)
except ApiError:
errors["base"] = "cannot_connect"
else:
await self.async_set_unique_id(data["system"]["rid"])
self._abort_if_unique_id_configured()
return self.async_create_entry(
title=data["system"]["name"],
data=user_input,
)
return self.async_show_form(
step_id="user",
data_schema=ADVANTAGE_AIR_SCHEMA,
errors=errors,
)

View File

@@ -0,0 +1,7 @@
"""Constants used by Advantage Air integration."""
DOMAIN = "advantage_air"
ADVANTAGE_AIR_RETRY = 5
ADVANTAGE_AIR_STATE_OPEN = "open"
ADVANTAGE_AIR_STATE_CLOSE = "close"
ADVANTAGE_AIR_STATE_ON = "on"
ADVANTAGE_AIR_STATE_OFF = "off"

View File

@@ -0,0 +1,116 @@
"""Cover platform for Advantage Air integration."""
from homeassistant.components.cover import (
ATTR_POSITION,
DEVICE_CLASS_DAMPER,
SUPPORT_CLOSE,
SUPPORT_OPEN,
SUPPORT_SET_POSITION,
CoverEntity,
)
from .const import (
ADVANTAGE_AIR_STATE_CLOSE,
ADVANTAGE_AIR_STATE_OPEN,
DOMAIN as ADVANTAGE_AIR_DOMAIN,
)
from .entity import AdvantageAirEntity
PARALLEL_UPDATES = 0
async def async_setup_entry(hass, config_entry, async_add_entities):
"""Set up AdvantageAir cover platform."""
instance = hass.data[ADVANTAGE_AIR_DOMAIN][config_entry.entry_id]
entities = []
for ac_key, ac_device in instance["coordinator"].data["aircons"].items():
for zone_key, zone in ac_device["zones"].items():
# Only add zone vent controls when zone in vent control mode.
if zone["type"] == 0:
entities.append(AdvantageAirZoneVent(instance, ac_key, zone_key))
async_add_entities(entities)
class AdvantageAirZoneVent(AdvantageAirEntity, CoverEntity):
"""Advantage Air Cover Class."""
@property
def name(self):
"""Return the name."""
return f'{self._zone["name"]}'
@property
def unique_id(self):
"""Return a unique id."""
return f'{self.coordinator.data["system"]["rid"]}-{self.ac_key}-{self.zone_key}'
@property
def device_class(self):
"""Return the device class of the vent."""
return DEVICE_CLASS_DAMPER
@property
def supported_features(self):
"""Return the supported features."""
return SUPPORT_OPEN | SUPPORT_CLOSE | SUPPORT_SET_POSITION
@property
def is_closed(self):
"""Return if vent is fully closed."""
return self._zone["state"] == ADVANTAGE_AIR_STATE_CLOSE
@property
def current_cover_position(self):
"""Return vents current position as a percentage."""
if self._zone["state"] == ADVANTAGE_AIR_STATE_OPEN:
return self._zone["value"]
return 0
async def async_open_cover(self, **kwargs):
"""Fully open zone vent."""
await self.async_change(
{
self.ac_key: {
"zones": {
self.zone_key: {"state": ADVANTAGE_AIR_STATE_OPEN, "value": 100}
}
}
}
)
async def async_close_cover(self, **kwargs):
"""Fully close zone vent."""
await self.async_change(
{
self.ac_key: {
"zones": {self.zone_key: {"state": ADVANTAGE_AIR_STATE_CLOSE}}
}
}
)
async def async_set_cover_position(self, **kwargs):
"""Change vent position."""
position = round(kwargs[ATTR_POSITION] / 5) * 5
if position == 0:
await self.async_change(
{
self.ac_key: {
"zones": {self.zone_key: {"state": ADVANTAGE_AIR_STATE_CLOSE}}
}
}
)
else:
await self.async_change(
{
self.ac_key: {
"zones": {
self.zone_key: {
"state": ADVANTAGE_AIR_STATE_OPEN,
"value": position,
}
}
}
}
)

View File

@@ -0,0 +1,35 @@
"""Advantage Air parent entity class."""
from homeassistant.helpers.update_coordinator import CoordinatorEntity
from .const import DOMAIN
class AdvantageAirEntity(CoordinatorEntity):
"""Parent class for Advantage Air Entities."""
def __init__(self, instance, ac_key, zone_key=None):
"""Initialize common aspects of an Advantage Air sensor."""
super().__init__(instance["coordinator"])
self.async_change = instance["async_change"]
self.ac_key = ac_key
self.zone_key = zone_key
@property
def _ac(self):
return self.coordinator.data["aircons"][self.ac_key]["info"]
@property
def _zone(self):
return self.coordinator.data["aircons"][self.ac_key]["zones"][self.zone_key]
@property
def device_info(self):
"""Return parent device information."""
return {
"identifiers": {(DOMAIN, self.coordinator.data["system"]["rid"])},
"name": self.coordinator.data["system"]["name"],
"manufacturer": "Advantage Air",
"model": self.coordinator.data["system"]["sysType"],
"sw_version": self.coordinator.data["system"]["myAppRev"],
}

View File

@@ -0,0 +1,9 @@
{
"domain": "advantage_air",
"name": "Advantage Air",
"config_flow": true,
"documentation": "https://www.home-assistant.io/integrations/advantage_air",
"codeowners": ["@Bre77"],
"requirements": ["advantage_air==0.2.1"],
"quality_scale": "platinum"
}

View File

@@ -0,0 +1,152 @@
"""Sensor platform for Advantage Air integration."""
import voluptuous as vol
from homeassistant.const import PERCENTAGE
from homeassistant.helpers import config_validation as cv, entity_platform
from .const import ADVANTAGE_AIR_STATE_OPEN, DOMAIN as ADVANTAGE_AIR_DOMAIN
from .entity import AdvantageAirEntity
ADVANTAGE_AIR_SET_COUNTDOWN_VALUE = "minutes"
ADVANTAGE_AIR_SET_COUNTDOWN_UNIT = "min"
ADVANTAGE_AIR_SERVICE_SET_TIME_TO = "set_time_to"
PARALLEL_UPDATES = 0
async def async_setup_entry(hass, config_entry, async_add_entities):
"""Set up AdvantageAir sensor platform."""
instance = hass.data[ADVANTAGE_AIR_DOMAIN][config_entry.entry_id]
entities = []
for ac_key, ac_device in instance["coordinator"].data["aircons"].items():
entities.append(AdvantageAirTimeTo(instance, ac_key, "On"))
entities.append(AdvantageAirTimeTo(instance, ac_key, "Off"))
for zone_key, zone in ac_device["zones"].items():
# Only show damper sensors when zone is in temperature control
if zone["type"] != 0:
entities.append(AdvantageAirZoneVent(instance, ac_key, zone_key))
# Only show wireless signal strength sensors when using wireless sensors
if zone["rssi"] > 0:
entities.append(AdvantageAirZoneSignal(instance, ac_key, zone_key))
async_add_entities(entities)
platform = entity_platform.current_platform.get()
platform.async_register_entity_service(
ADVANTAGE_AIR_SERVICE_SET_TIME_TO,
{vol.Required("minutes"): cv.positive_int},
"set_time_to",
)
class AdvantageAirTimeTo(AdvantageAirEntity):
"""Representation of Advantage Air timer control."""
def __init__(self, instance, ac_key, action):
"""Initialize the Advantage Air timer control."""
super().__init__(instance, ac_key)
self.action = action
self._time_key = f"countDownTo{self.action}"
@property
def name(self):
"""Return the name."""
return f'{self._ac["name"]} Time To {self.action}'
@property
def unique_id(self):
"""Return a unique id."""
return f'{self.coordinator.data["system"]["rid"]}-{self.ac_key}-timeto{self.action}'
@property
def state(self):
"""Return the current value."""
return self._ac[self._time_key]
@property
def unit_of_measurement(self):
"""Return the unit of measurement."""
return ADVANTAGE_AIR_SET_COUNTDOWN_UNIT
@property
def icon(self):
"""Return a representative icon of the timer."""
if self._ac[self._time_key] > 0:
return "mdi:timer-outline"
return "mdi:timer-off-outline"
async def set_time_to(self, **kwargs):
"""Set the timer value."""
value = min(720, max(0, int(kwargs[ADVANTAGE_AIR_SET_COUNTDOWN_VALUE])))
await self.async_change({self.ac_key: {"info": {self._time_key: value}}})
class AdvantageAirZoneVent(AdvantageAirEntity):
"""Representation of Advantage Air Zone Vent Sensor."""
@property
def name(self):
"""Return the name."""
return f'{self._zone["name"]} Vent'
@property
def unique_id(self):
"""Return a unique id."""
return f'{self.coordinator.data["system"]["rid"]}-{self.ac_key}-{self.zone_key}-vent'
@property
def state(self):
"""Return the current value of the air vent."""
if self._zone["state"] == ADVANTAGE_AIR_STATE_OPEN:
return self._zone["value"]
return 0
@property
def unit_of_measurement(self):
"""Return the percent sign."""
return PERCENTAGE
@property
def icon(self):
"""Return a representative icon."""
if self._zone["state"] == ADVANTAGE_AIR_STATE_OPEN:
return "mdi:fan"
return "mdi:fan-off"
class AdvantageAirZoneSignal(AdvantageAirEntity):
"""Representation of Advantage Air Zone wireless signal sensor."""
@property
def name(self):
"""Return the name."""
return f'{self._zone["name"]} Signal'
@property
def unique_id(self):
"""Return a unique id."""
return f'{self.coordinator.data["system"]["rid"]}-{self.ac_key}-{self.zone_key}-signal'
@property
def state(self):
"""Return the current value of the wireless signal."""
return self._zone["rssi"]
@property
def unit_of_measurement(self):
"""Return the percent sign."""
return PERCENTAGE
@property
def icon(self):
"""Return a representative icon."""
if self._zone["rssi"] >= 80:
return "mdi:wifi-strength-4"
if self._zone["rssi"] >= 60:
return "mdi:wifi-strength-3"
if self._zone["rssi"] >= 40:
return "mdi:wifi-strength-2"
if self._zone["rssi"] >= 20:
return "mdi:wifi-strength-1"
return "mdi:wifi-strength-outline"

View File

@@ -0,0 +1,9 @@
set_time_to:
description: Control timers to turn the system on or off after a set number of minutes
fields:
entity_id:
description: Time To sensor entity
example: "sensor.ac_time_to_on"
minutes:
description: Minutes until action
example: "60"

View File

@@ -0,0 +1,22 @@
{
"config": {
"flow_title": "Advantage Air Setup",
"error": {
"cannot_connect": "[%key:common::config_flow::error::cannot_connect%]"
},
"abort": {
"already_configured": "[%key:common::config_flow::abort::already_configured_device%]"
},
"step": {
"user": {
"data": {
"ip_address": "[%key:common::config_flow::data::ip%]",
"port": "[%key:common::config_flow::data::port%]"
},
"description": "Connect to the API of your Advantage Air wall mounted tablet.",
"title": "Connect"
}
}
},
"title": "Advantage Air"
}

View File

@@ -0,0 +1,58 @@
"""Switch platform for Advantage Air integration."""
from homeassistant.helpers.entity import ToggleEntity
from .const import (
ADVANTAGE_AIR_STATE_OFF,
ADVANTAGE_AIR_STATE_ON,
DOMAIN as ADVANTAGE_AIR_DOMAIN,
)
from .entity import AdvantageAirEntity
async def async_setup_entry(hass, config_entry, async_add_entities):
"""Set up AdvantageAir toggle platform."""
instance = hass.data[ADVANTAGE_AIR_DOMAIN][config_entry.entry_id]
entities = []
for ac_key, ac_device in instance["coordinator"].data["aircons"].items():
if ac_device["info"]["freshAirStatus"] != "none":
entities.append(AdvantageAirFreshAir(instance, ac_key))
async_add_entities(entities)
class AdvantageAirFreshAir(AdvantageAirEntity, ToggleEntity):
"""Representation of Advantage Air fresh air control."""
@property
def name(self):
"""Return the name."""
return f'{self._ac["name"]} Fresh Air'
@property
def unique_id(self):
"""Return a unique id."""
return f'{self.coordinator.data["system"]["rid"]}-{self.ac_key}-freshair'
@property
def is_on(self):
"""Return the fresh air status."""
return self._ac["freshAirStatus"] == ADVANTAGE_AIR_STATE_ON
@property
def icon(self):
"""Return a representative icon of the fresh air switch."""
return "mdi:air-filter"
async def async_turn_on(self, **kwargs):
"""Turn fresh air on."""
await self.async_change(
{self.ac_key: {"info": {"freshAirStatus": ADVANTAGE_AIR_STATE_ON}}}
)
async def async_turn_off(self, **kwargs):
"""Turn fresh air off."""
await self.async_change(
{self.ac_key: {"info": {"freshAirStatus": ADVANTAGE_AIR_STATE_OFF}}}
)

View File

@@ -0,0 +1,22 @@
{
"config": {
"abort": {
"already_configured": "El dispositiu ja est\u00e0 configurat"
},
"error": {
"cannot_connect": "Ha fallat la connexi\u00f3"
},
"flow_title": "Configuraci\u00f3 d'Advantage Air",
"step": {
"user": {
"data": {
"ip_address": "Adre\u00e7a IP",
"port": "Port"
},
"description": "Connecta't a l'API de la tauleta d'Advantage Air.",
"title": "Connecta"
}
}
},
"title": "Advantage Air"
}

View File

@@ -0,0 +1,21 @@
{
"config": {
"abort": {
"already_configured": "Za\u0159\u00edzen\u00ed je ji\u017e nastaveno"
},
"error": {
"cannot_connect": "Nepoda\u0159ilo se p\u0159ipojit"
},
"flow_title": "Nastaven\u00ed Advantage Air",
"step": {
"user": {
"data": {
"ip_address": "IP adresa",
"port": "Port"
},
"title": "P\u0159ipojit"
}
}
},
"title": "Advantage Air"
}

View File

@@ -0,0 +1,13 @@
{
"config": {
"step": {
"user": {
"data": {
"ip_address": "IP Adresse",
"port": "Port"
},
"title": "Verbinden"
}
}
}
}

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