Commit Graph

8158 Commits (71545f2a6868140825edb4b6a9f5cb556d2a9a3e)

Author SHA1 Message Date
Joakim Sørensen 9585defca0
Add device_tracker scanners to hass.config.components (#49063) 2021-04-11 13:54:43 -10:00
Erik Montnemery 1145856c45
Fix cast options flow overwriting data (#49051) 2021-04-11 13:53:44 -10:00
Jan Bouwhuis 74d7293ab8
mqtt fan percentage to speed_range and received speed_state fix (#49060)
* percentage to speed_range and get speed state fix

* Update homeassistant/components/mqtt/fan.py

* Update homeassistant/components/mqtt/fan.py

* Update homeassistant/components/mqtt/fan.py

* Update homeassistant/components/mqtt/fan.py

Co-authored-by: J. Nick Koston <nick@koston.org>
2021-04-11 13:53:07 -10:00
mptei 1d28f485d3
Patch ip interface instead of XKNX in knx (#49064)
* knx: Deeper tests.

* Set rate_limit to 0; removed waiting for queue
2021-04-11 23:01:30 +02:00
Milan Meulemans 71e0e42792
Add Rituals Perfume Genie sensor platform (#48270)
Co-authored-by: J. Nick Koston <nick@koston.org>
2021-04-11 10:36:44 -10:00
Nathan Spencer eb2949a20f
Add set_wait_time command support to Litter-Robot (#48300)
Co-authored-by: J. Nick Koston <nick@koston.org>
2021-04-11 10:35:25 -10:00
Ludovico de Nittis 30618aae94
Reintroduce iAlarm integration (#43525)
The previous iAlarm integration has been removed because it used
webscraping #43010.

Since then, the pyialarm library has been updated to use the iAlarm API
instead.

With this commit I reintroduce the iAlarm integration, leveraging the
new HA config flow.

Signed-off-by: Ludovico de Nittis <ludovico.denittis@collabora.com>
2021-04-11 10:35:04 -10:00
Raman Gupta 34a1dd4120
Add new attributes to Climacell (#48707)
* Add new attributes to Climacell

* fix logic

* test new properties
2021-04-11 11:59:42 +02:00
Franck Nijhof 5983fac5c2
Fix use search instead of match to filter logs (#49017) 2021-04-10 22:03:44 +02:00
amitfin f8690c29cd
Bump libhdate dependency (#48695) 2021-04-10 17:20:08 +02:00
Marc Mueller 1a38d2089d
Bump python-typing-update to v0.3.3 (#48992)
* Bump python-typing-update to 0.3.3
* Changes after update
2021-04-10 15:21:11 +02:00
Erik Montnemery 7e4be921a8
Add helper to get an entity's supported features (#48825)
* Add helper to check entity's supported features

* Move get_supported_features to helpers/entity.py, add tests

* Fix error handling and improve tests
2021-04-10 08:19:16 +02:00
J. Nick Koston 4cd7f9bd8b
Raise ConfigEntryAuthFailed during setup or coordinator update to start reauth (#48962) 2021-04-09 19:41:29 -10:00
Jason 7cc857a298
Add custom JSONEncoder for subscribe_trigger WS endpoint (#48664) 2021-04-09 20:47:10 -07:00
Shay Levy 98396e13af
Fix Shelly button device triggers (#48974) 2021-04-09 16:58:44 -07:00
J. Nick Koston 9b0b2d9168
Prevent ping id allocation conflict with device_tracker (#48969)
* Prevent ping id allocation conflict with device_tracker

- Solves id conflict resulting unexpected home state

* Update homeassistant/components/ping/device_tracker.py

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2021-04-09 16:56:15 -07:00
Jan Bouwhuis 28ad5b5514
Implement percentage_step and preset_mode is not not speed fix for MQTT fan (#48951) 2021-04-09 16:14:48 -07:00
Joakim Sørensen eef7faa1e4
Add TTS engines in config.components (#48939)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2021-04-09 16:13:07 -07:00
Erik Montnemery 16196e2e16
Don't log template errors from developer tool (#48933) 2021-04-09 12:10:02 -07:00
Philip Allgaier 7e2c8a2737
Fix "notify.events" trim() issue + add initial tests (#48928)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2021-04-09 10:36:13 -07:00
J. Nick Koston 40450b9cfd
Detach aiohttp.ClientSession created by config entry setup on unload (#48908) 2021-04-09 10:14:33 -07:00
Marc Mueller 8e2b5b36b5
Bump pyupgrade to 2.12.0 (#48943) 2021-04-09 09:58:27 -07:00
RenierM26 155322584d
Update Ezviz Component (#45722)
* Update Ezviz Component

* Update Ezviz for pylint test

* Update Ezviz component pylint tests

* Update Ezviz component tests

* Update Ezviz Component tests

* Update Ezviz component pylint error

* Fix ezviz component config flow tests

* Update ezviz component

* Update Ezviz component

* Add sensor platforms

* issue with requirements file

* Update binary_sensor to include switches

* Updates to Ezviz sensors

* Removed enum private method.

* Fix switch args

* Update homeassistant/components/ezviz/switch.py

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

* config flow checks login info

* Config_flow now imports ezviz from camera platform

* Update test

* Updated config_flow with unique_id and remove period from logging

* Added two camera services and clarified service descryptions in services.yaml

* Fixed variable name mistake with new service

* Added french integration translation

* Config_flow add camera rtsp credentials as seperate entities, with user step and import step

* rerun hassfest after rebase

* Removed region from legacy config schema, removed logging in camera platform setup that could contain credentials, removed unused constant.

* Regenerate requirements

* Fix tests and add config_flow import config test

* Added addition test to config_flow to test successfull camera entity create.

* Add to tests method to end in create entry, config_flow cleanup, use entry instead of entry.data

* Removed all services, sorted platforms in init file.

* Changed RTSP logging to debug from warning. (Forgot to change this before commit)

* Cleanup typing, change platform order, bump pyezviz version

* Added types to entries, allow creation of main entry if deleted by validating existance of type

* Config_flow doesn't store serial under entry data, camera rtsp read from entry and not stored in hass, removed duplicate abort if unique id from config flow

* Fix test of config_flow

* Update tests/components/ezviz/test_config_flow.py

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

* Update tests/components/ezviz/test_config_flow.py

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

* Update tests/components/ezviz/test_config_flow.py

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

* Bumped pyezviz api version, added api pyezvizerror exception raised in api (on HTTPError), cleanup unused imports.

* rebase

* cleanup coordinator, bump pyezviz api version, move async_setup_entry to add entry options to camera entries. (order change)

* Added discovery step in config_flow if cameras detected without rtsp config entry

* Reload main integration after addition or completion of camera rtsp config entry

* Add tests for discovery config_flow, added a few other output asserts

* Camera platform call discover flow with hass.async_create_task. Fixes to config_flow for discovery step

* Fix config_flow discovery, add check to legacy yaml camera platform import, move camera private method to camera import step

* Remove not needed check from config_flow import step.

* Cleanup config_flow

* Added config_flow description for discovered camera

* Reordered description in config_flow confim step.

* Added serial to flow_step description for discovered camera, readded camera attributes for rtsp stream url (allows user to check RTSP cred), added local ip and firmware upgade available.

* Bumped pyezviz version and changed region code to region url. (Russia uses a completly different url). PyEzviz adds a Local IP sensor, removed camera entity attributes.

* Add RSTP describe auth check from API to config_flow

* url as vol.in options in Config_flow

* Config_flow changes to discovery step, added exceptions, fixed tests, added rtsp config validate module mock to test disovery confirm step

* Add test for config_flow step user_camera

* Added tests for abort flow

* Extend tests on custom url flow step

* Fix exceptions in config_flow, fix test for discovery import exception test

* Bump pyezviz api version

* Bump api version, added config_flow function to wake hybernating camera before testing credentials, removed "user camera" step from config flow not needed as cameras are discovered.

* Create pyezviz Api instance for config_flow wake hybernating camera, fixed tests and added fixture to mock method

* Added alarm_control_panel with support to arm/disarm all cameras, fixed camera is available attribute (returns 2 if unavailable, 1 if available)

* Skip ignored entities when setup up camera RTSP stream

* Remove alarm_control_panel, add additional config_flow tests

* Cleanup tests, add tests for discovery_step.

* Add test for config_flow rtsp test step1 exceptions

* Removed redundant except from second step in test RTSP method

* All tests to CREATE or ABORT, added step exception for general HTTP error so user can retry in case of trasient network condition

* Ammended tests with output checks for step_id, error, data, create entry method calls.

* bumped ezviz api now rases library exceptions. Config_flow, coordiantor and init raises library exceptions. Updated test sideeffect for library exceptions

* Bump api version, Create mock ezviz cloud account on discovery tests first to allow more complete testing of step.

* Add abort to rtsp verification method if cloud account was deleted and add tests

* Update tests/components/ezviz/__init__.py

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

* Update homeassistant/components/ezviz/const.py

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

* Update tests/components/ezviz/__init__.py

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

* Update homeassistant/components/ezviz/camera.py

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

* Update homeassistant/components/ezviz/camera.py

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

* Update homeassistant/components/ezviz/camera.py

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

* Update homeassistant/components/ezviz/camera.py

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

* Update homeassistant/components/ezviz/camera.py

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

* Update homeassistant/components/ezviz/camera.py

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

* Undo config import change to password key for yaml, move hass.data.setdefault to async_setup_entry and remove async_setup

* Fixed tests by removing _patch_async_setup as this was removed from init.

* Update homeassistant/components/ezviz/camera.py

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

* Update homeassistant/components/ezviz/camera.py

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

* Update homeassistant/components/ezviz/camera.py

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

* Changed L67 on camera config to complete suggestion for cleanup

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-04-09 12:39:19 +02:00
amitfin 2391134d26
Update "issur_melacha_in_effect" via time tracking (#42485) 2021-04-09 12:26:55 +02:00
Brandon Rothweiler 52e8c7166b
Allow template covers to have opening and closing states (#47925) 2021-04-09 11:36:02 +02:00
Robert Svensson 31ae121645
Add fixtures for Axis rtsp client and adapt tests to use them (#47901)
* Add a fixture for rtsp client and adapt tests to use it

* Better fixtures for RTSP events and signals
2021-04-09 10:56:53 +02:00
Paulus Schoutsen a59460a233
Test that we do not initialize bad configuration (#48872)
* Test that we do not initialize bad configuration

* Simplify test as we are not calling a service
2021-04-08 22:04:39 +02:00
Erik Montnemery b0aa64d59c
Replace redacted stream recorder credentials with '****' (#48832) 2021-04-08 12:44:17 -07:00
Erik Montnemery 5e8559e3cc
Validate supported_color_modes for MQTT JSON light (#48836) 2021-04-08 12:40:48 -07:00
J. Nick Koston 493bd4cdca
Add manufacturer matching support to zeroconf (#48810)
We plan on matching with _airplay which means we need
to able to limit to specific manufacturers to avoid
generating flows for integrations with the wrong
manufacturer
2021-04-08 09:03:10 -10:00
Raman Gupta 3ca69f5568
Raise an exception when event_type exceeds the max length (#48115)
* raise an exception when event_type exceeds the max length that the recorder supports

* add test

* use max length constant in recorder

* update config entry reloaded service name

* remove exception string function because it's not needed

* increase limit to 64 and revert event name change

* fix test

* assert exception args

* fix test

* add comment about migration
2021-04-08 20:46:28 +02:00
J. Nick Koston 1f80c756ab
Fix subscribe_bootstrap_integrations to send events (#48754) 2021-04-08 07:30:33 -10:00
Laszlo Magyar c7e4857d2c
Let recorder deal with event names longer than 32 chars (#47748) 2021-04-08 07:08:49 -10:00
Raman Gupta 2768f202b6
Check all endpoints for zwave_js.climate fan mode and operating state (#48800)
* Check all endpoints for zwave_js.climate fan mode and operating state

* fix test
2021-04-08 16:53:20 +02:00
J. Nick Koston cdb151e8c9
Remove doorbird recorder test workaround (#48781)
Apparently this is no longer needed
2021-04-07 09:27:47 -10:00
Erik Montnemery 61b38baf2e
Reject nan, inf from generic_thermostat sensor (#48771) 2021-04-07 09:00:42 -07:00
Raman Gupta caaa62a7f9
Clean up google travel time code (#48708) 2021-04-07 12:39:27 +02:00
Erik Montnemery 2555b10d49
Remove login details before logging SQL errors (#48758) 2021-04-07 12:15:56 +02:00
Franck Nijhof 6ec8e17e7b
Do not activate Met.no without setting a Home coordinates (#48741) 2021-04-07 09:39:39 +02:00
Daniel Hjelseth Høyer b558f20ad2
Met.no - only update data if coordinates changed (#48756) 2021-04-07 09:27:58 +02:00
stegm 589f2240b1
New integration for Kostal Plenticore solar inverters (#43404)
* New integration for Kostal Plenticore solar inverters.

* Fix errors from github pipeline.

* Fixed test for py37.

* Add more test for test coverage check.

* Try to fix test coverage check.

* Fix import sort order.

* Try fix test code coverage .

* Mock api client for tests.

* Fix typo.

* Fix order of rebased code from dev.

* Add new data point for home power.

* Modifications to review.
Remove service for write access (for first pull request). Refactor
update coordinator to not use the entity API.

* Fixed mock imports.

* Ignore new python module on coverage.

* Changes after review.

* Fixed unit test because of config title.

* Fixes from review.

* Changes from review (unique id and mocking of tests)

* Use async update method. Change unique id. Remove _dict

* Remove _data field.

* Removed login flag from PlenticoreUpdateCoordinator.

* Removed Dynamic SoC sensor because it should be a binary sensor.

* Remove more sensors because they are binary sensors.
2021-04-07 09:18:07 +02:00
Joakim Sørensen 191c01a611
Add custom integrations to analytics (#48753) 2021-04-06 19:33:08 -07:00
Joakim Sørensen 89f2f458d2
Generate a seperate UUID for the analytics integration (#48742) 2021-04-07 02:34:49 +02:00
Franck Nijhof e63e8b6ffe
Rename hassio config entry title to Supervisor (#48748) 2021-04-07 00:46:47 +02:00
Pascal Reeb fb1444c414
Add doorsensor + coordinator to nuki (#40933)
* implemented coordinator + doorsensor

* added async_unload_entry

* small fixes + reauth_flow

* update function

* black

* define _data inside __init__

* removed unused property

* await on update & coverage for binary_sensor

* keep reauth seperate from validate

* setting entities unavailable when connection goes down

* add unknown error when entity is not present

* override extra_state_attributes()

* removed unnecessary else

* moved to locks & openers variables

* removed doorsensorState attribute

* changed config entry reload to a task

* wait for reload
2021-04-06 21:20:57 +02:00
Erik Montnemery 9f5db2ce3f
Improve warnings on undefined template errors (#48713) 2021-04-06 12:11:42 -07:00
Paulus Schoutsen 09635678bc
Allow reloading top-level template entities (#48733) 2021-04-06 12:10:39 -07:00
Martin Hjelmare ae67f300b2
Fix sync api use in alarm control panel test (#48725) 2021-04-06 16:50:15 +02:00
J. Nick Koston 46b673cdc6
Abort discovery for unsupported doorbird accessories (#48710) 2021-04-06 13:32:14 +02:00
Erik Montnemery 9f2fb37e17
Flag brightness support for MQTT RGB lights (#48718) 2021-04-06 12:39:29 +02:00
J. Nick Koston 2a15ae13a7
Small improvements for emonitor (#48700)
- Check reason for config abort
- Abort if unique id is already configured on user flow
- remove unneeded pylint
2021-04-05 17:22:49 -10:00
Raman Gupta 5305d083ec
Add config flow for Waze Travel Time (#43419)
* Add config flow for Waze Travel Time

* update translations

* setup entry is async

* fix update logic during setup

* support old config method in the interim

* fix requirements

* fix requirements

* add abort string

* changes based on @bdraco review

* fix tests

* add device identifier

* Update homeassistant/components/waze_travel_time/__init__.py

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

* fix tests

* Update homeassistant/components/waze_travel_time/sensor.py

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

* log warning for deprecation message

* PR feedback

* fix tests and bugs

* re-add name to config schema to avoid breaking change

* handle if we get name from config in entry title

* fix name logic

* always set up options with defaults

* Update homeassistant/components/waze_travel_time/sensor.py

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

* Update config_flow.py

* Update sensor.py

* handle options updates by getting options on every update

* patch library instead of sensor

* fixes and make sure first update writes the state

* validate config entry data during config flow and entry setup

* fix input parameters

* fix tests

* invert if statement

* remove unnecessary else

* exclude helpers from coverage

* remove async_setup because it's no longer needed

* fix patch statements

Co-authored-by: J. Nick Koston <nick@koston.org>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-04-05 19:25:52 -04:00
Dylan Gore f3399aa8aa
Add a new weather integration - Met Éireann (#39429)
* Added a new weather integration - Met Éireann

* Fix codespell error

* Update met_eireann to use CoordinatorEntity

* Remove deprecated platform setup

* Fix merge conflict

* Remove unnecessary onboarding/home tracking code

* Use common strings for config flow

* Remove unnecessary code

* Switch to using unique IDs in config flow

* Use constants where possible

* Fix failing tests

* Fix isort errors

* Remove unnecessary DataUpdateCoordinator class

* Add device info

* Explicitly define forecast data

* Disable hourly forecast entity by default

* Update config flow to reflect requested changes

* Cleanup code

* Update entity naming to match other similar components

* Convert forecast time to UTC

* Fix test coverage

* Update test coverage

* Remove elevation conversion

* Update translations for additional clarity

* Remove en-GB translation
2021-04-05 23:23:57 +02:00
Raman Gupta d0b3f76a6f
Add ClimaCell v4 API support (#47575)
* Add ClimaCell v4 API support

* fix tests

* use constants

* fix logic and update tests

* revert accidental changes and enable hourly and nowcast forecast entities in test

* use variable instead of accessing dictionary multiple times

* only grab necessary fields

* add _translate_condition method ot base class

* bump pyclimacell again to fix bug

* switch typehints back to new format

* more typehint fixes

* fix tests

* revert merge conflict change

* handle 'migration' in async_setup_entry so we don't have to bump config entry versions

* parametrize timestep test
2021-04-05 13:39:39 -04:00
J. Nick Koston 12e3bc8101
Provide api to see which integrations are being loaded (#48274)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2021-04-04 22:11:44 -10:00
J. Nick Koston e925fd2228
Add emonitor integration (#48310)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2021-04-04 22:11:23 -10:00
J. Nick Koston 94fde73add
Add config flow for enphase envoy (#48517)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2021-04-04 22:11:06 -10:00
Alexei Chetroi 6204765835
Implement Ignore list for poll control configuration on Ikea devices (#48667)
Co-authored-by: Hmmbob <33529490+hmmbob@users.noreply.github.com>
2021-04-04 21:21:47 -07:00
J. Nick Koston 6dc1414b69
Fix sonos volume always showing 0 (#48685) 2021-04-04 20:26:55 -07:00
J. Nick Koston 30382c3dbe
Limit log spam from rest and include reason in platform retry (#48666)
- Each retry was logging the error again
- Now we set the cause of the PlatformNotReady to allow Home Assistant to log as needed
2021-04-04 20:26:18 -07:00
jan iversen 2511e1f229
Remove modbus duplicate strings (#48654)
* Reuse HA constants for serial configuration.

Reusing HA consts reduces the need for translation.

Sort/group constants in const.

* Change const name ATTR_* to CONF_*

* Correct wrong import

* ATTR_* for service and CONF_* for schemas.

* Revert change to service call.

* Rename CONF_TEMPERATURE -> ATTR_TEMPERATURE

Avoid possible division problem in set_temperature.
2021-04-04 14:02:47 +02:00
J. Nick Koston b5c679f3d0
Apply ConfigEntryNotReady improvements to PlatformNotReady (#48665)
* Apply ConfigEntryNotReady improvements to PlatformNotReady

- Limit log spam #47201
- Log exception reason #48449
- Prevent startup blockage #48660

* coverage
2021-04-04 12:31:58 +02:00
J. Nick Koston bc06100dd8
Make sonos event asyncio (#48618) 2021-04-03 17:10:48 -07:00
J. Nick Koston cfe2df9ebd
Prevent config entry retry from blocking startup (#48660)
- If there are two integrations doing long retries async_block_till_done() will never be done
2021-04-03 17:00:22 -07:00
epenet 86176f1bf9
Add retry mechanism on onewire sysbus devices (#48614)
* Add retry mechanism on sysbus

* Update tests

* Move to async

* Move blocking calls on the executor
2021-04-03 23:08:35 +02:00
Petro31 545fe7a7be
Add Compensation Integration (#41675)
* Add Compensation Integration

Adds the Compensation Integration

* Add Requirements

add missing requirements to compensation integration

* Fix for tests

Fix files after tests

* Fix isort

ran isort

* Handle ADR-0007

Change the configuration to deal with ADR-0007

* fix flake8

Fix flake8

* Added Error Trapping

Catch errors.
Raise Rank Warnings but continue.
Fixed bad imports

* fix flake8 & pylint

* fix isort.... again

* fix tests & comments

fix tests and comments

* fix flake8

* remove discovery message

* Fixed Review changes

* Fixed review requests.
* Added test to test get more coverage.

* Roll back numpy requirement

Roll back numpy requirement to match other integrations.

* Fix flake8

* Fix requested changes

Removed some necessary comments.
Changed a test case to be more readable.

* Fix doc strings and continue

* Fixed a few test case doc strings
* Removed a continue/else

* Remove periods from logger

Removed periods from _LOGGER errors.

* Fixes

changed name to unqiue_id.
implemented suggested changes.

* Add name and fix unique_id

* removed conf name and auto construct it
2021-04-03 22:42:09 +02:00
Álvaro Fernández Rojas 2c61c0f258
Fix AEMET town timestamp format (#48647)
Datetime should be converted to ISO format.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2021-04-03 11:17:17 +02:00
jan iversen cee43b0670
Add modbus CONF_VERIFY_STATE to new switch config (#48632)
Missed CONF_VERIFY_STATE in new switch config, when
copying from old switch config.
2021-04-03 11:00:06 +02:00
Paulus Schoutsen e882460933
Support modern config for the trigger based template entity (#48635) 2021-04-02 16:57:16 -07:00
jan iversen 0d7168a667
Remove duplicate test case in modbus switch (#48636) 2021-04-02 22:09:27 +02:00
Oliver eed3bfc762
Going async with denonavr (#47920)
Co-authored-by: J. Nick Koston <nick@koston.org>
2021-04-02 07:47:16 -10:00
Paulus Schoutsen 212d9aa748
Fix trigger template entities without a unique ID (#48631) 2021-04-02 10:24:38 -07:00
Paulus Schoutsen bdbb4f939f
Add variables to execute script (#48613) 2021-04-02 06:27:41 -07:00
Paulus Schoutsen 051531d9c1
Clean up mobile app (#48607)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-04-01 16:22:08 -07:00
Raman Gupta ebb369e008
Add zwave_js WS API command to call node.refresh_info (#48564) 2021-04-02 00:35:13 +02:00
FMKaiba 09eb74fd9d
Upgrade Astral to 2.2 (#48573) 2021-04-02 00:29:08 +02:00
Franck Nijhof da54b9237b
Typing improvements for SolarEdge (#48596) 2021-04-01 23:59:26 +02:00
Erik Montnemery 76d0f93ec1
Include blueprint input in automation trace (#48575) 2021-04-01 13:34:47 -07:00
Franck Nijhof 4e3c12883e
Allow templatable service target to support scripts (#48600) 2021-04-01 13:10:01 -07:00
Alan Tse 125161df6b
Only raise integrationnotfound for dependencies (#48241)
Co-authored-by: J. Nick Koston <nick@koston.org>
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2021-04-01 11:30:52 -07:00
MatthewFlamm f8f0495319
Add nws sensor platform (#45027)
* Resolve rebase conflict.

Remove logging

* lint: fix elif after return

* fix attribution

* add tests for None valuea

* Remove Entity import

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

* Import SensorEntity

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

* Inherit SensorEntity

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

* remove unused logging

* Use CoordinatorEntity

* Use type instead of name.

* add all entities

* add nice rounding to temperature and humidity

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2021-04-01 18:50:37 +02:00
Erik Montnemery 9f481e1642
Include script script_execution in script and automation traces (#48576) 2021-04-01 09:42:23 -07:00
Erik Montnemery d26d2a8446
Return config entry details for 1-step config flows (#48585) 2021-04-01 16:20:53 +02:00
Erik Montnemery 2bf91fa359
Move cast config flow tests to test_config_flow (#48362) 2021-04-01 15:13:58 +02:00
epenet 81bdd41fdc
Cleanup orphan devices in onewire integration (#48581)
* Cleanup orphan devices (https://github.com/home-assistant/core/issues/47438)

* Refactor unit testing

* Filter device entries for this config entry

* Update logging

* Cleanup check
2021-04-01 15:06:47 +02:00
Martin Hjelmare fdbef90a57
Remove device class timestamp from device condition and trigger (#48431)
* Remove unit from garmin connect

* Remove unit from hvv departures

* Remove device class timestamp from device condition and trigger

* Remove unit from systemmonitor

* Use device class constant for timestamp in ring
2021-04-01 15:05:10 +02:00
Raman Gupta aae0ccc588
Add config flow support to google_travel_time (#43509)
* add config flow support to google_travel_time

* fix bugs and add strings

* fix import and add new test

* address comments in #43419 since this is a similar PR

* fix default name and test

* add unique ID and device info

* fix test

* feedback from waze PR

* continue incorporating feedback from waze PR

* final fixes and update tests

* call update in lambda

* Update homeassistant/components/google_travel_time/sensor.py

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

* additional fixes

* validate config entry data during config flow and config entry setup

* don't store entity

* patch dependency instead of HA code

* fixes

* improve tests by moving all patching to fixtures

* use self.hass instead of setting self._hass

* invert if

* remove unnecessary else

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-03-31 22:10:24 +02:00
Erik Montnemery c06ac9e12b
Improve automation trace tests (#48542) 2021-03-31 10:51:29 -07:00
jjlawren be71d626c8
Improve Plex device handling (#48369) 2021-03-31 09:37:16 -07:00
J. Nick Koston 9790f3f609
Create homekit locks according to spec (#48453)
Any accessories, regardless of transport, that enable physical access to the home, such as door locks, must not be bridged.
2021-03-31 09:22:30 -07:00
Mario Limonciello 9fd6980144
Avoid divide by zero errors in tplink light integration (#48235) 2021-03-31 17:16:24 +02:00
Erik Montnemery e2f8bce0a0
Improve error handling for WS API trace/get (#48502) 2021-03-31 15:58:36 +02:00
Philip Allgaier 6fe04f40a2
Ensure HA script and Python script services have a name (#47204)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2021-03-31 15:09:45 +02:00
Erik Montnemery b26779a27a
Add id to automation triggers (#48464) 2021-03-31 14:56:04 +02:00
jjlawren d62297a28b
Add Plex library count sensors (#48339) 2021-03-31 13:57:16 +02:00
Erik Montnemery c7584a1f92
Add color_mode support to MQTT JSON light (#47993) 2021-03-31 11:28:45 +02:00
jan iversen 64d5dd1f6b
Remove if/else from modbus test cases (#48514) 2021-03-31 11:20:14 +02:00
Robert Svensson c80f34a754
Add support for ZHADoorLock locks to deCONZ integration(#48516) 2021-03-31 09:36:06 +02:00
uvjustin 379843eb54
Shield async httpx call in generic (#47852)
* Shield async httpx call

* Don't set last_url/last_image on cancellation

* Add test
2021-03-31 12:46:10 +08:00
Bram Kragten d1a1e70726
Search for areas used in automations and scripts (#48499)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
Co-authored-by: Bram Kragten <mail@bramkragten.nl>
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2021-03-30 15:01:56 -07:00
Joakim Sørensen 78cff36f96
Remove analytics from updater (#48518) 2021-03-30 22:22:03 +02:00
Jacob Shufro f5d9713bd5
Add regex-based filters to logger component (#48439)
* Add regex-based filters to logger component

* Switch logger filter tests to use caplog for more coverage, add a scoping test
2021-03-30 06:53:02 -10:00
Ruslan Sayfutdinov 82c94826fb
Enable strict typing for zeroconf (#48450)
* Enable strict typing for zeroconf

* Fix lutron_caseta

* Fix pylint warning

* Fix tests

* Fix xiaomi_aqara test

* Add __init__.py in homeassistant.generated module

* Restore add_job with type: ignore
2021-03-30 06:48:04 -10:00
J. Nick Koston e9f2062f1b
Fix duplicates and unexpected failures during roomba discovery (#48492) 2021-03-30 17:54:36 +02:00
David F. Mulcahey 4dc885dcc3
Add discovery for Tube's Zigbee coordinators to ZHA (#48420)
* add discovery for tube zigbee gateways

* update discovery

* add test

* another test

* develop translations

* review comments
2021-03-30 11:13:26 -04:00
Erik Montnemery 9d8521169b
Add 'for' to lock device triggers (#48504)
* Add 'for' to lock device triggers

* Update tests/components/lock/test_device_trigger.py

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

* Update test_device_trigger.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-03-30 16:40:57 +02:00
Erik Montnemery 04a09d9215
Add 'for' to media_player device triggers (#48505)
* Add 'for' to media_player device triggers

* Update tests/components/media_player/test_device_trigger.py

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

* Update test_device_trigger.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-03-30 16:40:26 +02:00
Erik Montnemery 225d79c216
Add 'for' to vacuum device triggers (#48506)
* Add 'for' to vacuum device triggers

* Apply suggestions from code review

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

* Update test_device_trigger.py

* Update test_device_trigger.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-03-30 16:40:08 +02:00
J. Nick Koston f91de1c8b9
Add support for capturing renewals to dhcp discovery (#48242) 2021-03-30 15:41:12 +02:00
Erik Montnemery 9526701e57
Add 'for' to alarm device triggers (#48503) 2021-03-30 13:49:23 +02:00
Raman Gupta bc3881db29
Add zwave_js.set_value service (#48487)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-03-30 11:13:48 +02:00
J. Nick Koston f8265f44be
Include platform only integrations in analytics (#48493) 2021-03-30 10:46:02 +02:00
Martidjen 99ab084cdd
Add opentherm_gw option for setpoint override mode (#48465)
* Adding option for setpoint override mode

Temporary setpoint override mode can now be set on or off. 'Constant' setpoint override mode will be used when Temporary is set to off

* Changes after review comment

Added default value for the setpoint override mode
2021-03-30 09:35:29 +02:00
Guido Schmitz 2fbe352ad5
Make devolo home control more robust against connection losts (#48328) 2021-03-29 19:08:08 -10:00
Raman Gupta 9a75019a65
Add zwave_js.bulk_set_partial_config_parameters service (#48306)
* Add zwave_js.bulk_set_partial_config_parameters service

* update to handle command status

* add test for awake node

* test using a device in service call
2021-03-29 23:07:55 -04:00
Joakim Sørensen 09c51da3a2
Add analytics integration (#48256)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-03-29 17:20:11 -07:00
Franck Nijhof bb9da22a84
Clean up superfluous integration setup - part 3 (#48484) 2021-03-29 13:23:44 -10:00
Franck Nijhof 6ec3234ccc
Clean up superfluous integration setup - part 2 (#48478) 2021-03-29 13:23:07 -10:00
Franck Nijhof 8393a215e9
Clean up superfluous integration setup - part 1 (#48476) 2021-03-29 13:22:33 -10:00
J. Nick Koston a851bff95a
Create async_config_entry_first_refresh to reduce coordinator boilerplate (#48451) 2021-03-29 12:51:39 -10:00
Erik Montnemery fe4ca18881
Refactor fan device triggers to use ToggleEntity triggers (#48321) 2021-03-30 00:09:41 +02:00
Erik Montnemery 8ad3c65645
Allow MQTT entities to be disabled by default (#48284)
* Allow MQTT entities to be disabled by default

* Tweak
2021-03-30 00:09:14 +02:00
Erik Montnemery 7534b54e4e
Merge condition and action traces (#48461) 2021-03-29 14:06:49 -07:00
Erik Montnemery c459789c09
Add 'for' to cover device triggers (#48324) 2021-03-29 13:57:30 -07:00
Franck Nijhof 52475c108f
Make integration setup optional (#48381) 2021-03-29 13:53:47 -07:00
Raman Gupta dda9f957b6
Bump zwave-js-server-python to 0.23.0 to support zwave-js 7 (#48094)
* Bump zwave-js-server-python to 0.23.0 and update integration to support schema changes

* refactor notification evenets a bit

* fix tests and bug fixes

* additional changes due to new PR

* add command class and command name

* use new event names so we can retain event property names

* handle command status being returned from async_set_config_parameter

* bump dependency version

* adjust log message to be consistent

* disable pylint warning

* Update homeassistant/components/zwave_js/services.py

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

* add test for awake node

* switch async_get_registry to async_get

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-03-29 16:28:55 -04:00
Jan Bouwhuis d8a4cf63f4
Command template support for MQTT fan (#48413)
* Command template support

* Fix typo in abbreviations

* Update homeassistant/components/mqtt/fan.py

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

* Fix initialize templates

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2021-03-29 20:41:51 +02:00
Bram Kragten 03b7b1305c
Cloud: Expose if google is registered in status + check on login (#48260)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2021-03-29 19:26:51 +02:00
Paulus Schoutsen 022f56f54d
Allow specifying template entities based on triggers (#48169)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-03-29 09:57:51 -07:00
J. Nick Koston 6023105c6a
Do not load ignored or disabled integrations at startup (#48355)
config_entries.async_setup will skip ignored and disabled integrations
but bootstrap would still load them in memory even though they would
never be setup.
2021-03-29 13:06:44 +02:00
J. Nick Koston 1fb9008488
Include platform only integrations in the manifest list api (#48269) 2021-03-29 12:51:48 +02:00
J. Nick Koston cb1b45d31a
Log the reason a config entry failed to setup (#48449)
If we pass a string to ConfigEntryNotReady or raise it from
another exception we now log the string passed or the
string generated by the original exception.

With #47201 this makes it easy for developers to still show
the reason why setup failed without having to worry about log
spam from additional attempts by rasing ConfigEntryNotReady
from the original exception.
2021-03-29 12:25:40 +02:00
mptei dd538bd291
Fix knx tests (#48407) 2021-03-29 12:17:54 +02:00
Erik Montnemery 0c6a1c29ec
Fix broken trace tests (#48458) 2021-03-29 10:06:22 +02:00
J. Nick Koston 564688af25
Fix template fan default speed count (#48389)
* Fix template fan default speed count

The default speed count was defaulting to 3 when percentage
was implemented instead of the documented value of 100

* Increase coverage

* remove unreachable code
2021-03-29 09:33:56 +02:00
Erik Montnemery 14ef0531f0
Address review comments from trace refactoring PRs (#48288) 2021-03-29 08:09:14 +02:00
Raman Gupta 08db248983
Fallback to current temperature unit for zwave_js climate (#48347)
* Fallback to current temperature unit for zwave_js climate

* don't use unit for N/A setpoint

* update comment

* add tests
2021-03-28 22:18:17 +02:00
J. Nick Koston 2ff94c8ed9
Add additional data source to dhcp (#48430) 2021-03-28 09:47:28 -10:00
J. Nick Koston 958c4764f7
Handle routers that convert hostnames to lowercase in dhcp (#48429)
Some routers will lowercase all the hostnames. Since we
already lowercase hostnames for matching purposes, we now
pass the lowercased hostname to the integration.

Currently only roomba cared about this, and has been adjusted.
2021-03-28 11:23:06 +02:00
Unai 0706ae70dc
Simplify maxcube integration (#48403)
* Simplify maxcube integration

Device objects returned by maxcube-api dependency are stable, so
we do not need to resolve from the device address every time.

Also, refactor and unify how maxcube integration sets temperature & mode.

* Raise ValueError if missing parameters for set_temperature method

Raise a ValueError exception If set_temperature does not receive
a temperature parameter.

Also, document properly _set_target method.

* Use Type | None instead of Optional[Type] annotation

* Protect set_hvac_mode and set_preset_mode from unsupported parameters
2021-03-28 00:21:20 +01:00
jan iversen ffdfc521b9
Allow discovery configuration of modbus platforms (#46591)
* Change modbus configuration to new style.

The old (frozen) configuration is still supported, but when detected a big
warning is issued that it will soon be removed. This allows users to change
their configuration at their pace.

Clean configuration SCHEMAs and move common modbus parts
to MODBUS_SCHEMA (renamed from BASE_SCHEMA).

Add BASE_COMPONENT_SCHEMA to ensure common configuration of components.
All component define e.g. NAME, move these to a common schema.
change components (binary_sensor, sensor, switch) to new config

Add test set for modbus itself (old config and discovery_info).
Add test of devices discovery_info configuration

* Update discovery_info configuration for binary_sensor.

* Update discovery_info configuration for sensor.

* Update discovery_info configuration for switch.

* Review comments.

* update due to change in core

* flake8 problem.

* Correct log message.

* add should_poll property.

* Fix polling for Modbus binary sensor

* Fix polling for Modbus sensor

* Fix polling for Modbus switch

* Fix switch.

* Fix pytest errors.

* Update homeassistant/components/modbus/binary_sensor.py

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

* Update homeassistant/components/modbus/binary_sensor.py

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

* Update homeassistant/components/modbus/modbus.py

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

* Update homeassistant/components/modbus/sensor.py

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

* Update homeassistant/components/modbus/sensor.py

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

* Update homeassistant/components/modbus/sensor.py

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

* Update homeassistant/components/modbus/switch.py

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

* Update homeassistant/components/modbus/switch.py

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

* Update homeassistant/components/modbus/switch.py

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

* ToogleEntity -> SwitchEntity and add abastract

* Update homeassistant/components/modbus/switch.py

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

* Update tests/components/modbus/test_init.py

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

* removed if/else in test.

* Remove other if.

Co-authored-by: Vladimir Zahradnik <vladimir@zahradnik.io>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-03-27 22:48:06 +01:00
J. Nick Koston 35a5f110bd
Update mac address in broadlink test to match mocked device (#48415)
* Update mac address in broadlink test to match mocked device

* Update tests/components/broadlink/test_config_flow.py
2021-03-27 20:47:47 +01:00
Jesse Campbell 67791fa4df
ZHA lock code services and events (#47208)
* ZHA lock code services and events

* ZHA Locks: A few more services, use the library functions

* Catch exception when command id is not in command list

* Add tests for lock code services

* Add tests for enable/disable

* Better document code slot ID shifting

* Simplify cluster commands
2021-03-27 15:23:40 -04:00
Christian Soltenborn 955804bf58
Add template support for remaining attributes of weather entity (#47736)
* added template support for remaining attributes of weather entity

* wind bearing is now angle (number)
2021-03-27 18:53:35 +00:00
J. Nick Koston 388815b81a
Add broadlink dhcp discovery (#48408) 2021-03-27 08:40:19 -10:00
Raman Gupta fbc3f97097
Add support for selective config parameter entity discovery (#48336)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-03-27 18:14:06 +01:00
Unai 4a353efdfb
Add Maxcube unit tests (#47872)
* Simplify maxcube integration

Device objects returned by maxcube-api dependency are stable, so
we do not need to resolve from the device address every time.

Also, refactor and unify how maxcube integration sets temperature & mode.

* Add tests for maxcube component

* Use homeassistant.util.utcnow to retrieve current time

* Revert "Simplify maxcube integration"

This reverts commit 84d231d5bd.

* Make test pass again after rolling back integration changes
2021-03-27 12:42:23 +01:00
Ville Skyttä 3cd52b695d
Upgrade flake8 and dependencies, enable flake8-noqa (#48393)
* Upgrade flake8 to 3.9.0

https://flake8.pycqa.org/en/latest/release-notes/3.9.0.html

* Upgrade pydocstyle to 6.0.0

https://www.pydocstyle.org/en/latest/release_notes.html#september-13th-2020
https://www.pydocstyle.org/en/latest/release_notes.html#march-18th-2021

* Upgrade flake8-docstrings to 1.6.0, enable flake8-noqa

https://gitlab.com/pycqa/flake8-docstrings/-/blob/1.6.0/HISTORY.rst
https://github.com/plinss/flake8-noqa/issues/1

* Upgrade/pin pyflakes to 2.3.1

https://github.com/PyCQA/pyflakes/blob/2.3.1/NEWS.rst

* Pin pycodestyle to 2.7.0
2021-03-27 10:22:11 +01:00
Franck Nijhof ad13a9295e
Merge multiple context managers in tests (#48146) 2021-03-27 09:17:15 +01:00
J. Nick Koston 79af18a8ab
Bump httpx to 0.17.1 (#48388)
* Bump httpx to 0.17.1

* git add

* typing

* add test

* tweak
2021-03-27 09:02:01 +01:00
J. Nick Koston b50dcef94f
Block detectable I/O in the event loop (#48387)
We added a warning when this happens last April and gave developers
a year to fix the instability. We now prevent the instability by
raising RuntimeError when code attempts to do known I/O in the
event loop instead of the executor.

We now provide a suggestion on how to fix the code that is causing
the issue.
2021-03-27 08:54:49 +01:00
Paulus Schoutsen 63e3012380
Fix script default trace (#48390) 2021-03-26 23:56:40 -07:00
Erik Montnemery 374dcde487
Return config entry details after creation (#48316) 2021-03-26 18:31:29 +01:00
Erik Montnemery c6a20d0fc1
Improve traces for nested script runs (#48366) 2021-03-26 10:14:01 -07:00
Franck Nijhof bbbc3a5f50
Merge of nested IF-IF case in elkm1 test (#48374) 2021-03-26 06:54:16 -10:00
Matthias Alphart 8fa935234a
Type check KNX integration __init__ and knx_entity (#48044) 2021-03-26 16:10:55 +01:00
Tobias Sauerwein 3bc6497cbd
Add Netatmo schedule event handling (#46573)
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2021-03-26 15:08:41 +01:00
mptei 02b0a4ca1f
Xknx unneeded expose (#48311) 2021-03-26 14:51:36 +01:00
Tobias Sauerwein 1ba54ac2bb
Refactor Netatmo tests (#48277) 2021-03-26 11:13:27 +01:00
Jan Bouwhuis 5b17aaf9d5
Percentage and preset mode support for MQTT fan (#47944)
* git push --all origin

* Fix percentage to ordered list conversion

* Tests for mqtt fan and fixes

* Improve tests and error handling base config

* Additional tests

* Tests completed, small fixes

* Allow preset mode and percentages combined

* Remove raise in setup and update tests

* Alignment with fan entity mode

* Fix pylint for len-as-condition

* Remove python binary cache file from PR

* Additional tests on async_turn_on and fix

* Added comments for deprecation of speeds

* Schema checks before init

* Optimize pre schema checks

* Correct schema checks

* Update homeassistant/components/mqtt/abbreviations.py

Comment speeds for mqtt fan are deprecated not needed here

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

* Update homeassistant/components/mqtt/fan.py

Comment speeds for mqtt fan are deprecated not needed here

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

* Update homeassistant/components/mqtt/fan.py

Comment speeds for mqtt fan are deprecated not needed here

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

* Update homeassistant/components/mqtt/fan.py

Comment speeds for mqtt fan are deprecated not needed here

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

* Update homeassistant/components/mqtt/fan.py

Comment speeds for mqtt fan are deprecated not needed here

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

* Warnings for exceptions - testing speed_range

* Update homeassistant/components/mqtt/abbreviations.py

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

* Update homeassistant/components/mqtt/fan.py

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

* Update homeassistant/components/mqtt/fan.py

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

* Update homeassistant/components/mqtt/fan.py

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

* Update homeassistant/components/mqtt/fan.py

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

* Update homeassistant/components/mqtt/fan.py

* Save with black

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2021-03-26 08:37:47 +01:00
Garrett a019f076c0
Subaru integration code quality changes (#48193)
* Apply changes from code review

* Update sensor tests

* Fix pylint error

* Apply suggestions from code review

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

Co-authored-by: Brandon Rothweiler <brandonrothweiler@gmail.com>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-03-26 04:24:37 +01:00
Franck Nijhof b90c620c5e
Address huisbaasje review comments (#48313)
* Address huisbaasje review comments

* Update homeassistant/components/huisbaasje/config_flow.py

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

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-03-26 04:18:46 +01:00
jjlawren e42ca35c94
Bump plexwebsocket to 0.0.13 (#48330) 2021-03-25 19:12:12 +01:00
Tobias Sauerwein ec1334099e
Add tests for Netatmo data handler (#46373)
* Add tests for Netatmo data handler

* Clean up coveragerc

* Move block to fixture

* Minor update

* Remove tests of implementation details for data handler

* Update homeassistant/components/netatmo/data_handler.py

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

* Update homeassistant/components/netatmo/data_handler.py

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

* Import callback

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-03-25 19:07:45 +01:00
Franck Nijhof f0e5e616a7
Fix device discovery of OAuth2 config flows (#48326) 2021-03-25 10:35:01 -07:00
Martin Hjelmare 9f07ca069d
Fix zha manual flow test (#48317) 2021-03-25 09:19:32 -04:00
chemaaa 1b60c8efb8
Add Homepluscontrol integration (#46783)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-03-25 14:12:31 +01:00
Erik Montnemery 3188f796f9
Add allowed UUIDs and ignore CEC to Google Cast options flow (#47269) 2021-03-25 14:06:01 +01:00
Boris Gulay 642bb91a9a
Add metrics upload by UDP to graphite (#43751) 2021-03-25 09:18:10 +01:00
J. Nick Koston c340a39275
Handle range conversions that do not start at 1 (#48298) 2021-03-24 12:33:44 -10:00
scyto a9ccba44ed
Add support for Roomba 980 discovery (#47696)
Co-authored-by: J. Nick Koston <nick@koston.org>
2021-03-24 08:46:11 -10:00
Erik Montnemery 8896ae0d56
Add support for tracing script execution (#48276)
* Add support for tracing script execution

* Tweak
2021-03-24 17:56:22 +01:00
Matt Zimmerman 5265aabf92
Clean up SmartTub reminders (#48033)
* remove "date" state attribute

* remove unused constant
2021-03-24 08:39:23 +01:00
Tobias Sauerwein 0d699bb768
Add tests for Netatmo sensor (#46393)
* Add tests for Netatmo sensor

* Fix coveragerc

* Remove freezegun dependency

* Use f-strings instead of string concatenation

* Update tests/components/netatmo/test_sensor.py

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

* Address comment on config options test

* Replace deprecated call to async_get_registry()

* Fix public weather sensor update test

* Clean up

* Prevent division by zero

Co-authored-by: Erik Montnemery <erik@montnemery.com>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-03-24 07:17:51 +01:00
Paulus Schoutsen 3dec394cad
Migrate template to register reload service on async_setup (#48273) 2021-03-23 20:35:15 -07:00
Bram Kragten b1d0b37d2c
Google assistant: disconnect user agent when not found in google (#48233) 2021-03-23 15:04:32 -07:00
Erik Montnemery 9f8b697e64
Refactor tracing: Prepare for tracing of scripts (#48231) 2021-03-23 14:53:38 -07:00
jjlawren 195d4de6cd
Bump plexapi to 4.5.0 (#48264) 2021-03-23 22:47:00 +01:00
Robert Svensson 70d9e8a582
Add proper percentage support to deCONZ fan integration (#48187)
* Add proper percentage support to deCONZ fan integration

* Properly convert speed to percentage

* Remove disabled method

* Replace convert_speed with a dict
2021-03-23 22:29:55 +01:00
Franck Nijhof 6932cf9534
Use contextlib.suppress where possible (#48189) 2021-03-23 14:36:43 +01:00
Tobias Sauerwein 9656f260a4
Add tests for Netatmo (#46372)
Co-authored-by: Erik Montnemery <erik@montnemery.com>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-03-23 14:28:35 +01:00
Robert Svensson 1095d93892
Increase test coverage of deCONZ device triggers (#48126)
* Increase test coverage of deCONZ device triggers

* Revert removed new line

* Found a way to explicitly assert that exceptions are raised

* Remove unnecessary block till done

* Fix unnecessary elif

* Fix review comments

* Remove helper tests
2021-03-23 13:49:44 +01:00
Kevin Fronczak 8900b38c7f
Add Blink config migration (#46671) 2021-03-23 09:24:42 +01:00
uvjustin cd455e296e
Remove login details before logging stream source (#45398)
* Remove login details before logging stream source

* Convert to str before re

* Use compiled RE

* Add tests and filter log message in worker

* Update import

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

* isort

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2021-03-23 07:30:45 +01:00
Erik Montnemery a49989241a
Refactor tracing: Move trace support to its own integration (#48224) 2021-03-22 19:19:38 +01:00
Dermot Duffy 781084880b
Add an option to hide selected Hyperion effects (#45689) 2021-03-22 15:59:12 +01:00
Philip Allgaier 286217f771
Fix condition extra fields for climate and humidifier (#48184) 2021-03-22 14:59:40 +01:00
Erik Montnemery 272dffc384
Improve script tracing (#48100)
* Improve script tracing

* Fix test
2021-03-22 13:15:45 +01:00
Paulus Schoutsen f67e8b4369
Populate trigger variable when manually triggering automation (#48202)
* Populate trigger variable when manually triggering automation

* Update tests/components/automation/test_init.py

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2021-03-22 08:22:32 +01:00
J. Nick Koston 6b93c4073d
Ensure homekit yaml config works when there is an ignored config entry (#48175) 2021-03-21 21:17:04 -10:00
J. Nick Koston a2c4b438ea
Convert august to be push instead of poll (#47544) 2021-03-21 22:35:12 -07:00
J. Nick Koston 8e4c0e3ff7
Increase config entries test coverage (#48203) 2021-03-21 19:29:48 -10:00
J. Nick Koston 7a447c4209
Exclude homekit accessories created by the homekit integration from homekit_controller (#48201) 2021-03-21 22:18:24 -07:00
Erik Montnemery 40ce25800c
Test that homeassistant stop and restart do not block WS (#48081) 2021-03-21 22:12:56 -07:00
Erik Montnemery 73e546e2b8
Improve condition trace tests (#48152) 2021-03-21 22:09:59 -07:00
Emily Mills 8557b856a4
Fix Kulersky and Zerproc config unloading (#47572) 2021-03-21 22:08:09 -07:00
J. Nick Koston f35641ae8e
Make sure include_ignore=False always works with _async_current_entries (#48196)
If the step was anything other than SOURCE_USER,
include_ignore=False would not be honored
2021-03-21 21:57:49 -07:00
J. Nick Koston fd310e1f41
Update homekit to improve representation of activity based remotes (#47261) 2021-03-21 21:55:20 -07:00
J. Nick Koston 3f2ca16ad7
Index config entries by id (#48199) 2021-03-21 21:44:29 -07:00
xonestonex 9739707f62
Preset support for MOES thermostat valves (#48178) 2021-03-21 18:03:23 -04:00
Kevin Worrel fb48fd7d10
ScreenLogic cleanups (#48136)
* ScreenLogic cleanup.
Bump screenlogicpy to 0.2.0.
Move heating functions from water_heater to climate platform.
Address notes from original PR.

* Fix temperature attribute

* Addressing notes.
Bump screenlogicpy to 0.2.1.
Made device_types constants.
Made (known) equipment flags constants.
Used dict.get() in places where None is the default.
Return fast with good _last_preset.

* Update homeassistant/components/screenlogic/climate.py

Let base entity handle state property.

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

* Patch integration setup functions.

* Exception, ATTR_TEMPERATURE notes

Co-authored-by: J. Nick Koston <nick@koston.org>
2021-03-21 11:56:46 +01:00
Erik Montnemery 346a724ac3
Mark base components' state_attribute @final, rename others to extra_state_attributes (#48161)
* Mark base state_attributes @final, rename others to extra_state_attributes

* Fix calendar, update tests
2021-03-21 10:38:24 +01:00
javicalle 668d018e9c
Make Rflink handle set_level command for dimmable devices (#46499)
* Added handle_event for set_level command in dimmable devices

* refactor common code for dimmable devices

* Force tests

Silly change to force tests execution

* fix super()

* add rflink dim utils
2021-03-21 08:43:38 +01:00
javicalle 99d2d72d13
Update RFLink tests (#48149) 2021-03-21 03:27:24 +01:00
Franck Nijhof 08870690a6
Fix a collection of tests with missing asserts (#48127)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-03-20 17:23:55 +01:00
Erik Montnemery f8755a52c2
Warn on undefined variables in templates (#48140)
* Warn on undefined variables in templates

* Add test

* fix tests

* fix tests
2021-03-20 15:16:04 +01:00
Robert Svensson 863f75e65e
Improve test coverage of deconz_device (#48141) 2021-03-20 14:22:01 +01:00
Franck Nijhof 5a2b5fe7c5
Yoda assertion style removed is (#48142) 2021-03-20 13:55:10 +01:00
Tobias Sauerwein 365e8a74ee
Add tests for Netatmo webhook handler (#46396)
* Add tests for Netatmo webhook handler

* Add async prefix

* Remove freezegun dependency

* Clean up
2021-03-20 08:26:11 +01:00
Franck Nijhof fb849b81b5
Rewrite of not a == b occurances (#48132) 2021-03-20 01:27:04 +01:00
Franck Nijhof e47d8da3b4
Remove defunct test from percentage util (#48125) 2021-03-19 17:16:45 -05:00
Robert Svensson 24e067782a
Improve sensor coverage by verifying daylight sensor attributes (#48090) 2021-03-19 16:51:44 +01:00
sycx2 bc0eb9bf32
Improve uvc test camera (#41438)
* Improve uvc test camera

* Clean setup full config

* Clean setup partial config

* Set more camera defaults

* Clean setup partial config v31x

* Clean setup incomplete config

* Clean setup nvr errors during indexing

* Clean setup nvr errors during initialization

* Clean properties

* Fix motion recording mode properties

* Clean stream

* Clean login

* Clean login v31x

* Clean login tries both addres and caches

* Clean login fails both properly

* Remove not needed test

* Clean camera image error

* Test snapshot login retry

* Clean up

* Test enable and disable motion detection

* Times must be UTC

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-03-19 15:54:07 +01:00
javicalle e798f415a4
Wait for switch startup in generic_thermostat (#45253)
* Better status control on restore

* Better status control on restore

* fix code coverage

* Rollback hvac_mode initialization

I think I have better understood the handling of the `hvac_mode`.
I change the approach. Now the thermostat doesn't initialize until the switch is available.

* fix pyupgrade

* fix black

* Delete test_turn_on_while_restarting

HVAC mode should not be modified by the switch.
IMHO, this test does not make sense because if the switch is turned on the thermostat is not turning on (and not changing HVAC_MODE)

* Re add turn off if HVAC is off

If HVAC_MODE is off thermostat will not control heater switch. This can be because `initial_hvac_mode`, because state defaults to or because old_state.
IMHO it is preferable to be excessively cautious.

* Update climate.py

* Change warning message

* Fix black

* Fix black
2021-03-19 15:42:45 +01:00
J. Nick Koston c820dd4cb5
Have pylint warn when user visible log messages do not start with capital letter or end with a period (#48064)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-03-19 09:26:36 -05:00
Franck Nijhof 8a56dbf587
Add flake8 comprehensions checks to pre-commit & CI (#48111) 2021-03-19 13:41:09 +01:00
Robert Svensson fa5ce70af1
Improve test coverage of deCONZ config flow (#48091) 2021-03-19 13:37:22 +01:00
Andreas Brett 993261e7f5
Add "timestamp" attribute to seventeentrack (#47960)
* bump py17track to 3.0.1

* Make aiohttp ClientSession optional

as introduced in py17track v3.0.0 (https://github.com/bachya/py17track/releases/tag/3.0.0)

* Update manifest.json

* add new attribute timestamp

introduced in 3.1.0

* Update requirements.txt

* Update requirements_all.txt

* Update requirements.txt

* Update requirements_test_all.txt

* Update sensor.py

* Update sensor.py

* Update manifest.json

* provide timezone configuration

user config to pre-define timezone of package status timestamps

* Update requirements_all.txt

* Update requirements_test_all.txt

* linting

* use hass.config.time_zone

* Update sensor.py

* Update test_sensor.py

* Update test_sensor.py

* black

* Update manifest.json

* adjust changes to session param

* added test against latest dev branch

* make isort happy

* make black happy

* make flake8 happy

* make black happy

* bump to 3.2.1

* 3.2.1

* Update typing 15
2021-03-19 12:34:06 +01:00
Tobias Sauerwein 4ee4d674d8
Add tests for Netatmo camera (#46380)
* Add test for Netatmo camera

* Improve docstrings

* Remove light tests

* Remove freezegun from tests

* Update camera tests

* Remove freezegun dependency

* Update tests/components/netatmo/test_camera.py

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

* Update tests/components/netatmo/test_camera.py

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

* Deduplication of the fake webhook payload

* Mock pyatmo instead of checking the logs

* Clean up

* Further deduplication

* Assert function arguments

* Rename mocked functions

* Update .coveragerc

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2021-03-19 12:19:57 +01:00
Tobias Sauerwein aaafe399a1
Add tests for Netatmo light (#46381)
* Add tests for Netatmo light

* Improve docstring

* Register the camera data class for the light platform

* Remove freezegun dependency

* Update tests

* Update tests/components/netatmo/test_light.py

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

* Deduplicate webhook test data

* Mock pytest to verify it is called

* Don't test internals

* Rename

* Assert light still on with erroneous event data

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2021-03-19 12:19:27 +01:00
Tobias Sauerwein 2f15957707
Refactor Netatmo test (#48097)
* Refactor webhook simulate

* Update test_climate.py
2021-03-19 09:57:11 +01:00
Martidjen 8a37b616bf
Add Opentherm Gateway current and setpoint precision (#47484)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-03-19 00:47:59 +01:00
Marc Mueller 4cb7718192
Update typing 16 (#48087) 2021-03-18 22:58:19 +01:00
Erik Montnemery 7b717bc437
Correct trace for repeat script actions (#48031) 2021-03-18 13:14:06 -07:00
Dan Klaffenbach 5174f63fd8
Add definitions for grouping media players (#41193)
* Add definitions for grouping media players

See https://github.com/home-assistant/architecture/issues/364

* Fix Google Assistant tests

* Define sync versions of async_join_players/async_unjoin

* Don't use async API in synchronous test methods

* Fix tests and make pylint happy

The method name `unjoin` is used by another component, so let's use
`unjoin_player` instead.

* Fix emulated_hue tests

The new media player entity in the `demo` component requires a tiny
adjustment in the emulated_hue tests.

* Use "target:" in service description

* Also use "name:" in service descriptions

Co-authored-by: Franck Nijhof <git@frenck.dev>
2021-03-18 18:19:28 +01:00
Raman Gupta 9fca001eed
Bump zwave-js-server-python to 0.22.0 (#48085) 2021-03-18 18:12:33 +01:00
Marc Mueller 54d1e9985f
Update typing 15 (#48079) 2021-03-18 15:13:22 +01:00
Tobias Sauerwein 7d196abc4a
Add tests for Netatmo oauth2 api (#46375)
* Add Netatmo tests for api

* Update tests/components/netatmo/test_api.py

* Update .coveragerc

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2021-03-18 14:55:39 +01:00
javicalle c8950870a2
Propagate RFLink 'send_command' event (#43588)
* propagate send_command event

* propagate send_command event
2021-03-18 12:25:00 +01:00
Robert Svensson 8b8a54b367
Improve deCONZ services and scenes tests (#47829)
Use patch.dict rather than deep copy to change DECONZ_WEB_REQUEST
2021-03-18 11:57:56 +01:00
Robert Svensson ad5dbebc03
Use websocket fixture in deCONZ switch tests (#47831)
Localize test data
Improve asserts
2021-03-18 11:44:52 +01:00
Robert Svensson a4b2dff58d
Use websocket fixture in deCONZ sensor tests (#47830)
Localize test data
Improve asserts
2021-03-18 11:41:27 +01:00
Robert Svensson a21d0cadf8
Use websocket fixture in deCONZ lock tests (#47827)
Localize test data
Improve asserts
2021-03-18 11:06:44 +01:00
Robert Svensson 3f2d3bd1b2
Use websocket fixture in deCONZ light tests (#47826)
Localize test data
Improve asserts#
2021-03-18 11:01:32 +01:00
Robert Svensson 7350215b4e
Use websocket fixture in deCONZ fan tests (#47824)
Localize test data
Improve asserts
2021-03-18 10:49:48 +01:00
Robert Svensson 7ff9610e67
Use websocket fixture in deCONZ event related tests (#47823)
Localize test data
Improve asserts
2021-03-18 10:44:31 +01:00
Robert Svensson a57d340037
Use websocket fixture in deCONZ cover tests (#47822)
Localize test data
Improve asserts
2021-03-18 10:07:11 +01:00
Robert Svensson 2ab640aaef
Use websocket fixture in deCONZ climate tests (#47821)
Localize test data
Improve asserts
2021-03-18 09:57:27 +01:00
Robert Svensson 333f5da036
Use websocket fixture in deCONZ binary sensor tests (#47820)
Localize test data
Improve asserts
2021-03-18 09:51:42 +01:00
J. Nick Koston 08db262972
Add a service to reload config entries that can easily be called though automations (#46762) 2021-03-17 21:27:21 -07:00
corneyl 6fb0e49335
Upgraded aiopylgtv to v0.4.0 (#47014)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2021-03-17 20:59:48 -07:00
Tobias Haber f785cc7d9a
Google has deprecated a comma separated list for modes changed it to array (#48029) 2021-03-17 20:59:06 -07:00
J. Nick Koston dd56cc8010
Fix rest sensor data misalignment with multiple sensors (#48043)
If there were multiple rest data sources, the index needed
to be incremented by type instead of by data source/type
2021-03-17 22:47:42 +01:00
Matthew Donoughe 9011a54e7f
Switch history tests to pytest (#42318)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-03-17 15:32:44 +01:00
sycx2 009e44ed9b
Rewrite tests for Template Light (#41163) 2021-03-17 11:30:44 +01:00
Kevin Worrel d21d9951ba
Add Pentair ScreenLogic integration (#47933)
Co-authored-by: J. Nick Koston <nick@koston.org>
2021-03-16 13:32:02 -10:00
J. Nick Koston f605a3c149
Remove YAML support from August (#47615) 2021-03-16 13:22:07 -10:00
Abílio Costa d49a436573
Delay ZHA group updates to ensure all members are updated first (#46861)
* Delay ZHA group updates to ensure all members are updated first

After turning off a group, when the first device reports "off", the
other devices may still be "on". If HA processes the group state update
quickly enough, the group will see that some devices are on, so the
state of the group will revert back to "on", and then "off" when the
remaining devices all report "off". That would cause the UI toggle to go
back and forward quickly, and automations that trigger with "state: on"
to fire when the user turns the group off.

This PR fixes that by delaying the group state update, giving time for
all the devices to report their states first.

* Fix zha group tests

* Reorder sleeping.

* Update tests/components/zha/common.py

Co-authored-by: Alexei Chetroi <lexoid@gmail.com>
2021-03-16 17:38:16 -04:00
Paulus Schoutsen f1c274b3dd
Add run_id to automation logbook event (#47980) 2021-03-16 14:37:26 -07:00
Alan Tse f86e7535e0
Add location details to deprecation warning (#47155) 2021-03-16 21:16:07 +01:00