Commit Graph

6939 Commits (cf6352e93ccdf5c43800c482e5f455f660e576a2)

Author SHA1 Message Date
Paulus Schoutsen 6bd253094f
Bump Z-Wave JS Server Python to 0.20.0 (#47076) 2021-02-25 22:01:08 -08:00
J. Nick Koston 6af67c9558
Ensure hue options show the defaults when the config options have not yet been saved (#47067) 2021-02-25 21:58:35 -08:00
Raman Gupta 7118b7169c
catch ValueError when unique ID update fails because its taken and remove the duplicate entity (#47072) 2021-02-25 20:41:54 -05:00
Bram Kragten e3105c7eb1
Revert CORS changes for my home assistant (#47064)
* Revert CORS changes for my home assistant

* Update test_init.py

* Update test_init.py
2021-02-25 15:28:22 -08:00
Joakim Sørensen 7d90cdea1e
Use dispatch instead of eventbus for supervisor events (#46986)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2021-02-25 19:52:11 +01:00
Quentame 125206adbf
Add zeroconf discovery to Freebox (#47045)
* Add zeroconf discovery to Freebox

- remove deprecated discovery
- tried with SSDP too but the presentation URL is not the same (*.fbxos.fr for zeroconf, http://mafreebox.freebox.fr/ for SSDP)
- so config entry unique_id should be the MAC (included into SSDP, but not zeroconf, can be retrieve from `fbx.system.get_config()`)
- DHCP discovery might be added in the future too

* host and port are required on zeroconf

* cleanup in other PR
2021-02-25 16:50:58 +01:00
João Gabriel 372ed2db91
Add remote control platform to Panasonic Viera (#42450)
* Adding remote platform

* Update homeassistant/components/panasonic_viera/remote.py

Simplify entity creation

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

* Use Pytest fixture

* Use Pytest fixtures and assert service calls

* Adding conftest.py and organizing tests

* Reorganizing tests

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-02-25 13:40:01 +01:00
Paulus Schoutsen 1989b8c07d
Clean up discovery integration (#47022)
* Clean up discovery integration

* Fix tests

* Remove discovery step from freebox
2021-02-25 12:19:21 +01:00
Robert Svensson 6b0c569a70
Normally there should only be one battery sensor per device from deCONZ. (#46761)
With these Danfoss devices each endpoint can report its own battery state.
2021-02-25 09:54:46 +01:00
Raman Gupta a43f3c1a0c
Fix zwave_js unique ID migration logic (#47031) 2021-02-24 23:14:32 -08:00
Marcel van der Veldt 23cbd2dda3
Change Z-Wave JS discovery logic to adopt changes to DeviceClass (#46983)
Co-authored-by: raman325 <7243222+raman325@users.noreply.github.com>
2021-02-24 12:59:06 -08:00
Nathan Tilley 8d2606134d
Add FAA Delays Integration (#41347)
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-02-24 14:11:20 -06:00
jjlawren 2f1dba74d1
Use Plex server URL as config entry title (#47010) 2021-02-24 20:57:02 +01:00
Erik Montnemery daf7595ca6
Support value_template in MQTT triggers (#46891)
* Support value_template in MQTT triggers

* Rename value_template to payload_template

* Revert "Rename value_template to payload_template"

This reverts commit 902094eefc.
2021-02-24 20:16:36 +01:00
Raman Gupta 783e0f9a14
Setup config entry even if vizio device is unreachable (#46864) 2021-02-24 20:15:47 +01:00
Marcel van der Veldt 868a536d81
Add number platform to Z-Wave JS (#46956)
* add number platform to zwave_js integration
* add discovery scheme for thermostat valve control, using number platform

Co-authored-by: kpine <keith.pine@gmail.com>
2021-02-24 19:39:35 +01:00
Tobias Sauerwein 722b1e8746
Add Netatmo device trigger (#45387)
Co-authored-by: J. Nick Koston <nick@koston.org>
2021-02-24 19:20:40 +01:00
Martin Hjelmare db8f597f10
Fix zwave_js config flow server version timeout (#46990) 2021-02-24 16:22:58 +01:00
Raman Gupta 424526db7e
Migrate zwave_js entities to use new unique ID format (#46979)
* migrate zwave_js entities to use new unique ID format

* remove extra param from helper

* add comment to remove migration logic in the future

* update comment

* use instance attribute instead of calling functino on every state update
2021-02-24 09:41:10 -05:00
adrian-vlad 44293a3738
Add enable and disable services for recorder (#45778) 2021-02-24 07:26:05 -06:00
Álvaro Fernández Rojas 470121e5b0
Restore Tado binary sensor attributes (#46069) 2021-02-24 07:17:01 -06:00
Maciej Bieniek b645b151f9
Catch AuthRequired exception in confirm discovery step for Shelly config flow (#46135) 2021-02-24 07:13:32 -06:00
Franck Nijhof 45b50c53ad
Mullvad integration improvements (#46987) 2021-02-24 13:43:44 +01:00
MeIchthys 1a73cb4791
Mullvad VPN (#44189)
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
Co-authored-by: Franck Nijhof <git@frenck.dev>
2021-02-24 12:04:38 +01:00
Martin Hjelmare 1c7c6163dd
Save mysensors gateway type in config entry (#46981) 2021-02-24 11:31:31 +01:00
Raman Gupta eccdae60bf
Add ClimaCell weather integration (#36547)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-02-24 09:34:27 +01:00
Allen Porter 19f5b467b7
Make FAN_ON use the max duration rather than 15 min default (#46489) 2021-02-23 20:38:52 -06:00
Nathan Spencer b8f7bc12ee
Add switches and sensors to Litter-Robot (#46942) 2021-02-23 20:34:25 -06:00
Marcel van der Veldt d4d68ebc64
Extend zwave_js discovery scheme for lights (#46907) 2021-02-23 16:31:24 -08:00
J. Nick Koston 87cbbcb014
Automatically create HomeKit accessory mode entries (#46473)
When we set up HomeKit, we asked users if they wanted
to create an entry in bridge or accessory mode.

This approach required the user to understand how HomeKit works and
choose which type to create.

When the user includes the media player or camera domains,
we exclude them from the bridge and create the additional entries
for each entity in accessory mode.
2021-02-23 16:22:23 -08:00
Raman Gupta b657fd02cd
deep copy zwave_js state in test fixtures so tests are more isolated (#46976) 2021-02-23 18:58:25 -05:00
Raman Gupta 1a99562e91
Add zwave_js.refresh_value service (#46944)
* add poll_value service

* switch vol.All to vol.Schema

* more relevant log message

* switch service name to refresh_value, add parameter to refresh all watched values, fix tests

* rename parameter and create task for polling command so we don't wait for a response

* raise ValueError for unknown entity

* better error message

* fix test
2021-02-23 18:58:04 -05:00
jjlawren 425d56d024
Fix Plex showing removed shared users (#46971) 2021-02-23 23:36:46 +01:00
MHV33 23b2953773
Add more shopping list services (#45591)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2021-02-23 23:25:50 +01:00
J. Nick Koston d68a51ddce
Avoid having to ask for the bond token when possible during config (#46845) 2021-02-23 13:42:56 -08:00
Martin Hjelmare 089effbe3f
Improve zwave_js config flow (#46906) 2021-02-23 13:41:19 -08:00
Jon Caruana 6a8b5ee51b
LiteJet is now configured using config_flow (#44409)
Co-authored-by: J. Nick Koston <nick@koston.org>
2021-02-23 14:20:58 -06:00
Raman Gupta 5a3bd30e01
Add zwave_js.set_config_parameter service (#46673)
* create zwave_js.set_config_value service

* update docstring

* PR comments

* make proposed changes

* handle providing a label for the new value

* fix docstring

* use new library function

* config param endpoint is always 0

* corresponding changes from upstream PR

* bug fixes and add tests

* create zwave_js.set_config_value service

* update docstring

* PR comments

* make proposed changes

* handle providing a label for the new value

* fix docstring

* use new library function

* config param endpoint is always 0

* corresponding changes from upstream PR

* bug fixes and add tests

* use lambda to avoid extra function

* add services description file

* bring back the missing selector

* move helper functions to helper file for reuse

* allow target selector for automation editor

* formatting

* fix service schema

* update docstrings

* raise error in service if call to set value is unsuccessful

* Update homeassistant/components/zwave_js/services.yaml

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

* Update homeassistant/components/zwave_js/services.yaml

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

* Update homeassistant/components/zwave_js/services.yaml

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

* Update homeassistant/components/zwave_js/services.yaml

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

* Update homeassistant/components/zwave_js/services.yaml

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

* Update homeassistant/components/zwave_js/services.yaml

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

* remove extra param to vol.Optional

* switch to set over list for nodes

* switch to set over list for nodes

Co-authored-by: Marcel van der Veldt <m.vanderveldt@outlook.com>
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2021-02-23 11:35:11 -05:00
Martin Hjelmare c94968d811
Catch more zwave_js errors (#46957) 2021-02-23 16:36:53 +01:00
Charles Garwood 3c35b6558b
Return states list from zwave_js get_config_parameters websocket if available (#46954) 2021-02-23 09:31:47 -05:00
tkdrob 4fdb617e22
Clean up constants (#46924)
* Clean up constants

* fix imports
2021-02-23 09:56:44 +01:00
J. Nick Koston bd87047ff2
Update tasmota to use new fan entity model (#45877) 2021-02-22 21:27:21 -06:00
uvjustin f005c68630
Restore stream recorder functionality and add discontinuity support (#46772)
* Add discontinuity support to stream recorder

* Use same container options for both StreamOutputs

* Fix pts adjuster

* Remove redundant/incorrect duplicate hls segment check

* Use same StreamBuffer across outputs

* Remove keepalive check for recorder

* Set output video timescale explicitly

* Disable avoid_negative_ts
2021-02-23 10:37:19 +08:00
Raman Gupta 1cecf229b9
Add zwave_js set_config_parameter WS API command (#46910)
* add WS API command

* handle error scenario better

* fixes and remove duplicate catch

* make elif statement more compact

* fix conflict

* switch to str(err)
2021-02-22 20:34:47 -05:00
Raman Gupta 20ccec9aab
Add zwave_js/get_log_config and zwave_js/update_log_config WS API commands (#46601)
* Add zwave_js.update_log_config service

* fix comment

* reduce lines

* move update_log_config from service to ws API call

* fix docstring

* Add zwave_js/get_log_config WS API command

* resolve stale comments

* remove transports since it will be removed from upstream PR

* add support to update all log config parameters since they could be useful outside of the UI for advanced users

* fix comment

* switch to lambda instead of single line validator

* fix rebase

* re-add ATTR_DOMAIN
2021-02-22 18:35:19 -05:00
Charles Garwood 04e07d8b2c
Add get_config_parameters websocket command to zwave_js (#46463)
* Add get_configuration_values websocket command to zwave_js

* Tweak return value

* Review comments and cleanup returned values

* Update test

* Rename to get_config_parameters

* Add get_configuration_values websocket command to zwave_js

* Rename to get_config_parameters

* fix test

* fix tests #2

* Add readable to metadata

Co-authored-by: Raman Gupta <7243222+raman325@users.noreply.github.com>
2021-02-22 17:03:38 -05:00
kpine fb32c2e3a8
Test zwave_js GE 12730 fan controller device-specific discovery (#46840)
* Add test for GE 12730 fan controller device-specific discovery

* Adjust

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-02-22 10:56:23 -08:00
Nathan Spencer e70d896e1b
Add litterrobot integration (#45886) 2021-02-22 08:53:57 -10:00
tkdrob 75e04f3a71
Clean up constants (#46885) 2021-02-22 15:28:08 +01:00
Matt Zimmerman 81d011efc5
Add binary sensor to SmartTub for online status (#46889) 2021-02-22 04:10:00 -10:00
starkillerOG 338c07a56b
Add Xiaomi Miio vacuum config flow (#46669) 2021-02-22 13:01:02 +01:00
Austin Mroczek e5aef45bd7
Add usercode support to totalconnect (#39199)
* Add test for invalid usercode

* Add usercodes to totalconnect.

* Update existing tests for usercodes

* Fix tests

* Add test for invalid usercode

* Add usercodes to totalconnect.

* Update existing tests for usercodes

* Fix tests

* Remove YAML support

* Fix conflict

* Bump to total_connect_client 0.56

* Change Exception to HomeAssistantError

* Fix config_flow.py

* Simplify async_setup since no yaml

* Remove import from config flow and tests

* Add reauth and test for it.  Various other fixes.

* Fix pylint in __init__

* Show config yaml as deprecated

* separate config_flow and init tests

* Assert ENTRY_STATE_SETUP_ERROR in init test

* Add test for reauth flow

* Fix reauth and tests

* Fix strings

* Restore username and usercode with new passord

* Correct the integration name

* Update tests/components/totalconnect/test_config_flow.py

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

* Update tests/components/totalconnect/test_init.py

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

* Update .coveragerc

* Add test for invalid auth during reauth

* Bump total-connect-client to 0.57

* Fix .coveragerc

* More tests for usercodes

* Fix usercode test

* Reload config entry on reauth

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-02-22 10:39:10 +01:00
Jan-Willem Mulder 75b37b4c2a
Expose locked attribute in deCONZ climate platform (#46814) 2021-02-22 07:53:58 +01:00
Matt Zimmerman b2b476596b
Add UV sensor to SmartTub (#46888) 2021-02-21 20:25:01 -10:00
Diogo Gomes 5c29adea3d
Add KMTronic Integration (#41682)
Co-authored-by: J. Nick Koston <nick@koston.org>
2021-02-21 20:12:50 -10:00
Matt Zimmerman 5cd022a683
Add light platform to SmartTub (#46886)
Co-authored-by: J. Nick Koston <nick@koston.org>
2021-02-21 20:09:21 -10:00
Matt Zimmerman 5d8390fd9b
Add support for SmartTub filtration cycles (#46868) 2021-02-21 19:36:50 -10:00
Matt Zimmerman a8be5be376
Add switch platform and pump entity to SmartTub (#46842) 2021-02-21 18:48:27 -10:00
Matt Zimmerman d32dbc4cdd
Add support for SmartTub heat modes (#46876) 2021-02-21 18:46:54 -10:00
Diogo Gomes 0e44d61225
Add weather platform to template domain (#45031)
Co-authored-by: J. Nick Koston <nick@koston.org>
2021-02-21 18:08:00 -10:00
Matt Zimmerman 12c4db076c
Add more sensors to SmartTub integration (#46839) 2021-02-21 17:40:23 -10:00
J. Nick Koston c1ee9f7e4a
Fix unmocked I/O in rituals_perfume_genie config flow test (#46862) 2021-02-21 20:47:38 +01:00
J. Nick Koston e2fd255a96
Cleanup recorder tests (#46836) 2021-02-21 09:52:41 +01:00
J. Nick Koston d9ab1482bc
Add support for preset modes in homekit fans (#45962) 2021-02-20 19:24:14 -08:00
Erik Montnemery 5e26bda52d
Add support for disabling config entries (#46779) 2021-02-20 19:21:39 -08:00
Garrett 3ad207a499
Add new Subaru integration (#35760)
Co-authored-by: On Freund <onfreund@gmail.com>
Co-authored-by: J. Nick Koston <nick@koston.org>
2021-02-20 16:52:44 -10:00
Steven Looman efa339ca54
Allow upnp ignore SSDP-discoveries (#46592) 2021-02-20 16:26:17 -10:00
Tom Harris f045c0512b
Fix Insteon config flow with add X10 and device override (#45854) 2021-02-20 13:00:18 -10:00
Matt Zimmerman 115fe26642
Add smarttub sensor platform and state sensor (#46775) 2021-02-20 12:25:02 -10:00
Milan Meulemans 4af619d383
Add Rituals Perfume Genie integration (#46218)
Co-authored-by: J. Nick Koston <nick@koston.org>
2021-02-20 11:55:23 -10:00
Eric Severance 6e52b26c06
Speed-up wemo discovery (#46821)
* Speed-up wemo discovery

* Use gather_with_concurrency to limit concurrent executor usage

* Comment fixup: asyncio executors -> executor threads
2021-02-20 11:16:50 -10:00
Martin Hjelmare 43a5852561
Fix habitica entry unload clean up (#46798)
* Fix habitica entry unload clean up

* Fix service remove

* Add entry setup and unload test

* Fix config flow tests

* Assert service
2021-02-20 20:59:59 +01:00
Chris Talkington cf69415272
Implement suggested area in roku (#46819)
* implement suggested area in roku

* Update const.py

* Update test_media_player.py

* Update test_media_player.py

* Update test_media_player.py

* Update test_media_player.py
2021-02-20 12:57:24 -06:00
kpine 2ae790283c
Detect iBlinds v2.0 switch value as a cover not light (#46807)
* Remove unused "fibaro_fgs222" discovery hint

* Simplify multilevel switch current value discovery schema

* Force iBlinds v2.0 devices to be discovered as cover entities

* Rename discovery test file
2021-02-20 19:52:23 +01:00
uvjustin 39da0dc409
Add rtsp transport options to generic camera (#46623)
* Add rtsp transport options to generic camera
2021-02-21 02:11:50 +08:00
J. Nick Koston adf480025d
Add support for bond up and down lights (#46233) 2021-02-20 08:03:40 -10:00
Allen Porter 4aa4f7e285
Rollback stream StreamOutput refactoring in PR#46610 (#46684)
* Rollback PR#46610

* Update stream tests post-merge
2021-02-20 06:49:39 -08:00
Raman Gupta 788134cbc4
Bump zwave-js-server-python to 0.18.0 (#46787)
* updates to support changes in zwave-js-server-python

* bump lib version

* use named arguments for optional args

* re-add lost commits
2021-02-20 09:50:00 +01:00
Anders Melchiorsen 26ce316c18
Do not trigger when numeric_state is true at startup (#46424) 2021-02-20 09:11:36 +01:00
J. Nick Koston b775a0d796
Run homekit service calls in async since the server is now async (#45859)
* Simplify homekit runs and service calls

Now that the homekit server is async, call_service
and run are running in the Home Assistant event loop

* remove comment

* remove another comment
2021-02-19 21:34:52 -10:00
J. Nick Koston 41332493b5
Add suggested area support to Sonos (#46794) 2021-02-19 21:28:52 -10:00
J. Nick Koston 9b69549f73
Recover and restart the recorder if the sqlite database encounters corruption while running (#46612) 2021-02-19 21:26:24 -10:00
J. Nick Koston 5b0b01d727
Implement suggested areas in bond (#45942)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2021-02-19 21:06:43 -10:00
J. Nick Koston 6707496c5d
Update alexa for new fan model (#45836) 2021-02-19 22:45:14 -08:00
J. Nick Koston 773a202777
Implement percentage step sizes in HomeKit (#46722) 2021-02-19 22:37:12 -08:00
J. Nick Koston 22dbac259b
Ensure recorder shuts down cleanly on restart before startup is finished (#46604) 2021-02-19 22:18:21 -08:00
J. Nick Koston 2f3c2f5f4d
Add support for using a single endpoint for rest data (#46711) 2021-02-19 21:44:15 -08:00
J. Nick Koston 71586b7661
Cleanup inconsistencies in zha fan and make it a bit more dry (#46714)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-02-19 19:42:14 -10:00
J. Nick Koston bb7e4d7daa
Implement suggested_area in the device registry (#45940)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2021-02-19 19:34:33 -10:00
Raman Gupta 47dcd2bf32
Format zwave_js dump as json (#46792) 2021-02-19 18:44:15 -05:00
Raman Gupta 4d23ffacd1
Add zwave_js thermostat fan mode and fan state support (#46793)
* add thermostat fan mode and fan state support

* return when fan mode is not supported

* use get just in case

* validate state key is in states so we dont have to use get

* pylint
2021-02-20 00:20:10 +01:00
J. Nick Koston f2b303d509
Implement percentage step sizes for fans (#46512)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2021-02-18 21:05:09 -10:00
Matt Zimmerman da51e23514
Address late smarttub review (#46703)
* _config -> config

* remove unused string

* remove entity tests

* replace unit tests with integration tests using the core

* refactor polling to use asyncio.gather

* remove redundant component init

* remove gather in favor of simple loop

* use async_fire_time_changed instead of async_update_entity

* use hass.config_entries.async_setup instead of calling smarttub.async_setup_entry directly

* replace stray smarttub.async_setup_entry call

* async_unload_entry -> hass.config_entries.async_unload

* remove broken test
2021-02-19 01:18:02 +01:00
Allen Porter 88d143a644
Add discontinuity support to HLS streams and fix nest expiring stream urls (#46683)
* Support HLS stream discontinuity.

* Clarify discontinuity comments

* Signal a stream discontinuity on restart due to stream error

* Apply suggestions from code review

Co-authored-by: uvjustin <46082645+uvjustin@users.noreply.github.com>

* Simplify stream discontinuity logic
2021-02-18 20:26:02 +08:00
J. Nick Koston 39785c5cef
Switch ssdp to be async by using async_upnp_client for scanning (#46554)
SSDP scans no longer runs in the executor

This is an interim step that converts the async_upnp_client
response to netdisco's object to ensure fully backwards
compatibility
2021-02-18 11:00:11 +01:00
Eric Severance 2ac075bb37
Perform wemo state update quickly after a timeout (#46702)
* Perform state update quickly after a timeout

* with async_timeout.timeout(...) -> async with async_timeout.timeout(...)
2021-02-18 00:38:08 +01:00
J. Nick Koston b2df9aaaf1
Update zha to use new fan entity model (#45758)
* Update zha to use new fan entity model

* fixes

* tweaks for zha

* pylint

* augment test cover
2021-02-17 13:03:11 -05:00
Eric Severance eb3e5cb67f
Remove calls to wemo.reconnect_with_device (#46646) 2021-02-17 13:17:31 +01:00
ollo69 fb73768164
Fix Tuya Option Flow tests (#46651) 2021-02-17 10:43:12 +01:00
Eric Severance 94131df5e0
Remove exception handling for AttributeError in wemo (#46674) 2021-02-17 00:07:22 -08:00
Ilja Leiko 8c72cb6163
Add sensors to fetch Habitica tasks (#38910)
* Adding sensors to fetch habitica tasks

* PR changes and rebase

* Fixing pylint

* Fixing failed test dependancy

* Generating requirements

* Apply suggestions from code review

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

* PR changes

* Update homeassistant/components/habitica/config_flow.py

Thank you, @MartinHjelmare

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

* PR Changes

* Fix failing test

* Update tests/components/habitica/test_config_flow.py

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

* Fixing linting and imports

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-02-17 09:04:11 +01:00
Allen Porter 56f32196bd
Add back block_until_done calls removed in PR 46610 (#46680) 2021-02-16 22:05:20 -08:00
Paulus Schoutsen b956a571f4
Fix Cloud Google/Alexa check (#46681) 2021-02-17 06:49:53 +01:00
Matt Zimmerman 58499946ed
Add SmartTub integration (#37775)
Co-authored-by: J. Nick Koston <nick@koston.org>
2021-02-16 19:37:56 -10:00
Allen Porter aaecd91407
Fix exception in stream idle callback (#46642)
* Fix exception in stream idle callback

Fix bug where idle timeout callback fails if the stream previously exited.

* Add a test for stream idle timeout after stream is stopped.

* Add clarifying comment to idle timer clear method

* Clear hls timer only on stop
2021-02-16 12:10:26 -08:00
Mark Coombes 960b5b7d86
Fix climate hold bug in ecobee (#46613) 2021-02-16 07:06:20 -10:00
Allen Porter 08201d146b
Separate HLS logic out of core StreamOutput to prepare for discontinuity (#46610)
Separate the HLS stream view logic out of StreamOutput since the hls
stream view is about to get more complex to track discontinuities. This
makes the idle timeout, shutdown, and coupling between hls and record
more explicit.
2021-02-16 06:59:43 -08:00
tkdrob add0d9d3eb
Use core constants for yeelight (#46552) 2021-02-16 09:00:09 -05:00
Franck Nijhof a6912277eb
Remove defunct CoinMarketCap integration (#46615) 2021-02-16 11:00:08 +01:00
Joakim Plate 0bfcd5e1ee
Use explicit open/close for covers (#46602) 2021-02-16 10:26:38 +01:00
J. Nick Koston 20d93b4b29
Remove support for migrating pre-config entry homekit (#46616)
HomeKit pairings and accessory ids from versions 0.109 and earlier are no longer
migrated on upgrade. Users upgrading directly to 2021.3 from 0.109
and older should upgrade to 2021.2 first if they wish to preserve
HomeKit configuration and avoid re-pairing the bridge.

This change does not affect upgrades from 0.110 and later.
2021-02-16 08:37:43 +01:00
ollo69 3c26235e78
Bump tuyaha to 0.0.10 and fix set temperature issues (#45732) 2021-02-15 16:20:45 -10:00
tkdrob 2a7d2868be
Use core constants for xiaomi_aqara (#46551) 2021-02-16 00:14:27 +01:00
starkillerOG 2f9fda73f4
Add config flow to Xiaomi Miio switch (#46179) 2021-02-15 20:11:27 +01:00
Allen Porter 89aaeb3c35
Refactor stream worker responsibilities for segmenting into a separate class (#46563)
* Remove stream_worker dependencies on Stream

Removee stream_worker dependencies on Stream and split out the logic
for writing segments to a stream buffer.

* Stop calling internal stream methods

* Update homeassistant/components/stream/worker.py

Co-authored-by: uvjustin <46082645+uvjustin@users.noreply.github.com>

* Reuse self._outputs when creating new streams

Co-authored-by: uvjustin <46082645+uvjustin@users.noreply.github.com>
2021-02-15 09:52:37 -08:00
Joakim Sørensen 886067a327
Add websocket handlers to hassio (#46571) 2021-02-15 18:18:45 +01:00
Shay Levy a5d943b5f1
MQTT cover Bugfixes (#46479)
* MQTT cover Bugfixes

* Remove period
2021-02-15 17:33:42 +01:00
uvjustin 9917bb76fb
Use httpx in generic camera (#46576)
* Use httpx in generic camera

* Remove commented out code
2021-02-15 16:37:53 +01:00
J. Nick Koston c5b9ad83c2
Log ffmpeg errors for homekit cameras (#46545) 2021-02-15 12:39:51 +01:00
Erik Montnemery c8e04ee960
Bump hatasmota to 0.2.9 (#46561) 2021-02-15 12:16:28 +01:00
Allen Porter 3f4828f5e1
Add additional stream HLS payload tests (#46517)
* Add tests for HLS playlist view details

* Add tests for hls playlist payloads

* Update tests/components/stream/test_hls.py

Co-authored-by: uvjustin <46082645+uvjustin@users.noreply.github.com>

* Update tests/components/stream/test_hls.py

Co-authored-by: uvjustin <46082645+uvjustin@users.noreply.github.com>

* Update tests/components/stream/test_hls.py

Co-authored-by: uvjustin <46082645+uvjustin@users.noreply.github.com>

* Update tests/components/stream/test_hls.py

Co-authored-by: uvjustin <46082645+uvjustin@users.noreply.github.com>

* Update tests/components/stream/test_hls.py

Co-authored-by: uvjustin <46082645+uvjustin@users.noreply.github.com>

* Update tests/components/stream/test_hls.py

Co-authored-by: uvjustin <46082645+uvjustin@users.noreply.github.com>

* Update tests/components/stream/test_hls.py

Co-authored-by: uvjustin <46082645+uvjustin@users.noreply.github.com>

Co-authored-by: uvjustin <46082645+uvjustin@users.noreply.github.com>
2021-02-14 20:32:37 -08:00
Raman Gupta cfdaadf5d9
Allow users to set device class for universal media player (#46550) 2021-02-14 17:05:23 -10:00
Raman Gupta a3b733f1ec
Add additional supported feature support to universal media player (#44711)
* add additional supported feature support to universal media player

* add missing services
2021-02-14 19:35:14 -05:00
J. Nick Koston c9df42b69a
Add support for pre-filtering events to the event bus (#46371) 2021-02-14 09:42:55 -10:00
Anders Melchiorsen f8f86fbe48
Do not trigger when template is true at startup (#46423) 2021-02-14 19:54:11 +01:00
jan iversen 855bd653b4
Update modbus test harness (#44892)
* Update test harness to allow discovery_info testing.

This is a needed update, before the whole config is converted
to the new structure, because it allows test of both the old
and new configuration style.

The following changes have been made:
- Combine test functions into a single base_test.
- Prepare for new mock by combining the 2 common test functions into one.
- Change mock to be only modbusHub
- Do not replace whole modbus class, but only the class that
  connects to pymodbus (modbusHub). This allows test of modbus
  configurations and not only component configurations, and is needed
  when testing discovery activated platform.
- Add test of climate.
  Warning this is merely test of discovery,
  the real cover tests still needs to be added.
- Add test of cover.
  Warning this is merely test of discovery,
  the real cover tests still needs to be added.

* Update comment for old config

* Do not use hass.data, but instead patch pymodbus library.

* Add test of configuration (old/new way as available).

* Move assert to test function.

Make assert more understandable by removing it from the helper.

add base_config_test (check just calls base_test) to make it clear if
test is wanted or just controlling the config.

* use setup_component to load Modbus since it is an integration.

* Optimized flow in test helper.
2021-02-14 17:40:30 +01:00
tkdrob a5a45f29e2
Cleanup unused loggers (#46510) 2021-02-14 13:46:58 +01:00
kpine dfa973f9ef
Add barrier covers to zwave_js integration (#46379) 2021-02-14 13:24:29 +01:00
Andrey Kupreychik accba85e35
Add keenetic_ndms2 config flow (#38353) 2021-02-14 13:09:19 +01:00
Franck Nijhof 7148071be8
Improve Elgato code quality (#46505) 2021-02-13 23:50:25 +01:00
Álvaro Fernández Rojas eecf07d7df
Add AEMET OpenData integration (#45074)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-02-13 21:53:28 +01:00
ollo69 f38b06ed6d
Add Asuswrt Config Flow and Scanner Entities (#46468)
* Add Asuswrt config flow (#43948)

* Add AsusWrt Scanner Entity (#44759)

* Add Scanner Entity

- device tracker entity changed from "DeviceScanner" to "ScannerEntity"
- sensors recoded to use "router" class
- config entry review to allow multiple entity (for future use)

* Force checks

* Removed new option and change sensors

* Update test_sensor.py

* Requested changes

* Removed router unique-id

* Update last_activity attr only when available

* Add Options for AsusWRT Scanner Entity (#44808)

* Add Asuswrt config flow (#43948)

* Add AsusWrt Scanner Entity (#44759)

* Add Scanner Entity

- device tracker entity changed from "DeviceScanner" to "ScannerEntity"
- sensors recoded to use "router" class
- config entry review to allow multiple entity (for future use)

* Force checks

* Removed new option and change sensors

* Update test_sensor.py

* Requested changes

* Removed router unique-id

* Update last_activity attr only when available

* Add Options for Scanner Entity

* Fix isort

* Removed "Track New" option

* Add Options for Scanner Entity

* Fix isort

* Removed "Track New" option

* Add test for all the options in the config flow
2021-02-13 19:17:06 +01:00
tkdrob 2ecac6550f
Use core constants for dynalite (#46044) 2021-02-13 12:06:20 +01:00
J. Nick Koston bc8a52038b
Fix homekit migration not being awaited (#46460) 2021-02-12 08:45:19 -10:00
tkdrob f929aa222f
Use core constants for roomba (#46441) 2021-02-12 16:09:36 +01:00
Joakim Plate a67b598971
Correct errors found on post merge review in philips_js (#46428)
* Correct missed review changes

* Adjust return value for device trigger

* Drop cannot connect

* Always assume there is a unique id

* No need to yield

* Update homeassistant/components/philips_js/media_player.py

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

* Move typing to init

* Adjust typing instead of returning lambda

* Explicity return None

* Coerce into int

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-02-12 02:35:29 +01:00
Joakim Plate 8dc06e612f
Add config flow to philips_js (#45784)
* Add config flow to philips_js

* Adjust name of entry to contain serial

* Use device id in event rather than entity id

* Adjust turn on text

* Deprecate all fields

* Be somewhat more explicit in typing

* Switch to direct coordinator access

* Refactor the pluggable action

* Adjust tests a bit

* Minor adjustment

* More adjustments

* Add missing await in update coordinator

* Be more lenient to lack of system info

* Use constant for trigger type and simplify

* Apply suggestions from code review

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

Co-authored-by: J. Nick Koston <nick@koston.org>
2021-02-11 21:37:53 +01:00
Czapla 14a64ea970
Add generic_thermostat unique ID parameter (#46399)
* Add generic_thermostat unique ID parameter

* Add tests for unique id

* Fix flake8
2021-02-11 19:46:58 +00:00
Erik Montnemery 26e7916367
Migrate mobile_app to RestoreEntity (#46391) 2021-02-11 20:18:03 +01:00
Erik Montnemery ed31cc363b
Wait for registries to load at startup (#46265)
* Wait for registries to load at startup

* Don't decorate new functions with @bind_hass

* Fix typing errors in zwave_js

* Load registries in async_test_home_assistant

* Tweak

* Typo

* Tweak

* Explicitly silence mypy errors

* Fix tests

* Fix more tests

* Fix test

* Improve docstring

* Wait for registries to load
2021-02-11 17:36:19 +01:00
Steve Dwyer 5ce49c62b1
Allow MQTT template light floating point transition (#46385)
Allow to use floating point values for the transition time of the MQTT
template light.
2021-02-11 14:57:27 +01:00
tkdrob c75e63dc95
Use core constants for modbus (#46388) 2021-02-11 07:58:16 -05:00
tkdrob 29d8b8a22f
Some code cleanups for ESPHome (#46367) 2021-02-11 10:19:39 +01:00
Mike Keesey f549ec5ec9
Use activity ids for unique_id for Harmony switches (#46139) 2021-02-10 21:50:27 -10:00
Leonardo Figueiro 6182fedf3f
Update wilight tests for new fan entity model (#46358) 2021-02-10 13:09:03 -10:00
ehendrix23 9bc3c6c130
Bump pymyq to 3.0.1 (#46079)
Co-authored-by: J. Nick Koston <nick@koston.org>
2021-02-10 10:30:52 -10:00
J. Nick Koston c59b1c72c5
Add reauth support for tesla (#46307) 2021-02-10 20:55:06 +01:00
J. Nick Koston 884df40951
Update powerwall for new authentication requirements (#46254)
Co-authored-by: badguy99 <61918526+badguy99@users.noreply.github.com>
2021-02-10 20:50:38 +01:00
Leonardo Figueiro 2db102e023
Add WiLight Cover (#46065)
Co-authored-by: J. Nick Koston <nick@koston.org>
2021-02-10 09:08:39 -10:00
Alan Tse cdd78316c4
Use oauthv3 for Tesla (#45766) 2021-02-10 08:01:24 -10:00
Paulus Schoutsen 538df17a28
Restore Google/Alexa extra significant change checks (#46335) 2021-02-10 16:30:29 +01:00
Joakim Sørensen 917a616ce1
Replace parse_version with AwesomeVersion (#46329) 2021-02-10 15:58:26 +01:00
Erik Montnemery c66d9ea25c
Hide volume control for cast devices with fixed volume (#46328) 2021-02-10 08:39:10 -05:00
Franck Nijhof 22389043eb
Remove base_url fallback (#46316) 2021-02-10 14:31:11 +01:00
Bram Kragten 4b493c5ab9
Add target to service call API (#45898)
* Add target to service call API

* Fix _async_call_service_step

* CONF_SERVICE_ENTITY_ID overrules target

* Move merging up before processing schema

* Restore services.yaml

* Add test
2021-02-10 12:42:28 +01:00
Allen Porter 26f455223b
Update nest stream URLs expiration (#46311) 2021-02-09 23:53:34 -08:00
Allen Porter 00aebec90d
Fix bug in test found by manual log inspection (#46309) 2021-02-09 21:59:49 -08:00
J. Nick Koston 6a62ebb6a4
Add BPUP (push updates) support to bond (#45550) 2021-02-09 09:43:38 +01:00
Maciej Bieniek 2fc1c19a45
Allow to setup of a previously discovered sleeping Shelly device (#46124)
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2021-02-09 09:28:40 +01:00
Robert Svensson 20f45f8ab9
Improve deCONZ tests by using aioclient_mock rather than patching web requests (#45927)
* Don't patch web requests, use aioclient_mock instead

* Remove stale prints

* Remove tests for old way of loading platforms

* Remove unused imports
2021-02-09 08:31:29 +01:00
Allen Porter 2bcf87b980
Change the API boundary between camera and stream with initial improvement for nest expiring stream urls (#45431)
* Change the API boundary between stream and camera

Shift more of the stream lifecycle management to the camera.  The motivation is to support stream urls that expire
giving the camera the ability to change the stream once it is created.

* Document stream lifecycle and simplify stream/camera interaction

* Reorder create_stream function to reduce diffs

* Increase test coverage for camera_sdm.py

* Fix ffmpeg typo.

* Add a stream identifier for each stream, managed by camera

* Remove stream record service

* Update homeassistant/components/stream/__init__.py

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

* Unroll changes to Stream interface back into camera component

* Fix preload stream to actually start the background worker

* Reduce unncessary diffs for readability

* Remove redundant camera stream start code

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2021-02-08 19:53:28 -08:00
Pascal Reeb 889baef456
Add DHCP discovery support to Nuki integration (#46032) 2021-02-08 17:11:27 -10:00
J. Nick Koston 6563c37ab1
Add support for generic lights to bond (#46193) 2021-02-09 00:39:21 +01:00
J. Nick Koston 93fafedf72
Cleanup bond identifiers and device info (#46192) 2021-02-09 00:37:32 +01:00
J. Nick Koston 6467eff09c
Fix incorrect current temperature for homekit water heaters (#46076) 2021-02-08 23:23:02 +01:00
J. Nick Koston dc26fd5149
Ensure creating an index that already exists is forgiving for postgresql (#46185)
Unlikely sqlite and mysql, postgresql throws ProgrammingError instead
of InternalError or OperationalError when trying to create an index
that already exists.
2021-02-08 23:22:38 +01:00
Allen Porter dca6a93898
Centralize keepalive logic in Stream class (#45850)
* Remove dependencies on keepalive from StremaOutput and stream_worker

Pull logic from StreamOutput and stream_worker into the Stream
class, unifying keepalive and idle timeout logic. This prepares
for future changes to preserve hls state across stream url changes.
2021-02-08 07:19:41 -08:00
Shay Levy 81c88cd639
Enhance MQTT cover platform (#46059)
* Enhance MQTT cover platform

Allow combining of position and state of MQTT cover
Add template and fix optimistic in set tilt position
Add tests

* Add abbreviations

* Add tests and stopped state

* Cleanup & fix range for templates

* Apply suggestions from code review

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2021-02-08 16:02:12 +01:00
Greg Dowling 8f4ea3818d
Add unavailable to Vera (#46064) 2021-02-08 15:25:54 +01:00
Joeri 2811e39c5c
Add entity specific force_update for DSMR (#46111) 2021-02-08 15:18:36 +01:00
Bram Kragten 6f446cf627
Add my component (#46058)
Co-authored-by: Franck Nijhof <git@frenck.dev>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-02-08 14:44:46 +01:00
Anders Melchiorsen 48002f47f4
Use caplog fixture for log capturing (#46214) 2021-02-08 14:33:57 +01:00
Erik Montnemery 0780e52ca4
Support templates in event triggers (#46207)
* Support templates in event triggers

* Don't validate trigger schemas twice
2021-02-08 14:06:27 +01:00
Erik Montnemery 2744d64a3e
Pass variables to state trigger templates (#46208)
* Pass variables to state trigger templates

* Remove non working test
2021-02-08 13:22:01 +01:00
Erik Montnemery 9d9c4b47ee
Pass variables to numeric state trigger templates (#46209) 2021-02-08 13:21:31 +01:00
Erik Montnemery f99c27c6d4
Remove unneeded from_state from device triggers (#45152) 2021-02-08 11:09:45 +01:00
Erik Montnemery 047f16772f
Support templating MQTT triggers (#45614)
* Add support for limited templates (no HASS access)

* Pass variables to automation triggers

* Support templates in MQTT triggers

* Spelling

* Handle trigger referenced by variables

* Raise on unsupported function in limited templates

* Validate MQTT trigger schema in MQTT device trigger

* Add trigger_variables to automation config schema

* Don't print stacktrace when setting up trigger throws

* Make pylint happy

* Add trigger_variables to variables

* Add debug prints, document limited template

* Add tests

* Validate MQTT trigger topic early when possible

* Improve valid_subscribe_topic_template
2021-02-08 10:50:38 +01:00
Anders Melchiorsen b9b1caf4d7
Raise ConditionError for numeric_state errors (#45923) 2021-02-08 10:47:57 +01:00
Paulus Schoutsen 9e07910ab0
Mark entities as unavailable when they are removed but are still registered (#45528)
* Mark entities as unavailable when they are removed but are still registered

* Add sync_entity_lifecycle to collection helper

* Remove debug print

* Lint

* Fix tests

* Fix tests

* Update zha

* Update zone

* Fix tests

* Update hyperion

* Update rfxtrx

* Fix tests

* Pass force_remove=True from integrations

Co-authored-by: Erik <erik@montnemery.com>
2021-02-08 10:45:46 +01:00
Erik Montnemery 28ef3f68f3
Add media_player device triggers (#45430)
* Add media player device triggers

* Update tests
2021-02-08 09:36:14 +01:00
Daniel Shokouhi d02b78c634
Revert "Convert ozw climate values to correct units (#45369)" (#46163)
This reverts commit 1b6ee8301a.
2021-02-08 07:05:10 +01:00
Robert Svensson 618fcda821
Simplify UniFi entry configuration data (#45759)
* Simplify configuration structure by removing the controller key

* Fix flake8

* Fix review comments

* Don't use migrate_entry mechanism to flatten configuration
Keep legacy configuration when creating new entries as well
2021-02-06 21:32:18 +01:00
Robert Svensson 60e3fce7dc
Convert old deCONZ groups unique ids (#46093)
* Convert old groups unique ids
Work around for walrus operator not working properly :/

* Remove CONF_GROUP_ID_BASE once entities unique id are updated

* Don't use migrate_entry mechanism to update unique_ids of groups

* Remove walrus operator :(

* Fix review comments

* Walrusify assignment to old_unique_id
2021-02-06 14:32:17 +01:00
Robert Svensson 94ecb792ec
Use async_update_entry rather than updating config_entry.data directly in Axis (#46078)
Don't step version in migrate_entry to support rollbacking
2021-02-06 13:17:52 +01:00
J. Nick Koston a74ae3585a
Fix backwards compatiblity with fan update to new model (#45951)
* Fix backwards compatiblity with fans update to new model

There were some non-speeds and devices that report a none
speed. These problems were discovered when updating zha
tasmota and vesync to the new model in #45407

* Update coverage

* fix check
2021-02-06 12:48:18 +01:00
Raman Gupta af4e6f856f
Use better names for zwave_js platforms that are self describing (#46083)
* use better names for platforms that are self describing

* add missing light change

* fix tests

* only use value_name in sensors and binary_sensors
2021-02-06 12:08:25 +01:00
djtimca f2d9e6f70c
Add sensor platform for Aurora integration (#43148)
* Removed pylint disable on unused after updating CI files that were out of date.
* Pylint still fails due to bug on DOMAIN import. Added disable check.
* Addressed PR comments
* Added import for ClientError to test_config_flow.py

Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2021-02-05 23:05:39 -08:00
Franck Nijhof 67392338da
Activate manual ZHA config flow when no comports detected (#46077) 2021-02-05 17:23:47 -05:00
Robert Svensson 434b4dfa58
Improve deCONZ logbook to be more robust in different situations (#46063) 2021-02-05 23:07:12 +01:00
Sergio Conde Gómez 2c74befd4f
Fix foscam to work again with non-admin accounts and make RTSP port configurable again (#45975)
* Do not require admin account for foscam cameras.

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

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

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

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

* Remove periods from new log lines

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

* Create a proper error message for the InvalidResponse exception

* Change crafted unique_id to use entry_id in the entity

* Abort if same host and port is already configured

* Fix entry tracking to use entry_id instead of unique_id

* Remove unique_id from mocked config entry in tests
2021-02-05 22:39:31 +01:00
functionpointer c01e01f797
MySensors config flow (#45421)
* MySensors: Add type annotations

Adds a bunch of type annotations that were created
while understanding the code.

* MySensors: Change GatewayId to string

In preparation for config flow.
The GatewayId used to be id(gateway).

With config flows, every gateway will have its own
ConfigEntry. Every ConfigEntry has a unique id.
Thus we would have two separate but one-to-one related ID systems.

This commit removes this unneeded duplication by using the id of the ConfigEntry
as GatewayId.

* MySensors: Add unique_id to all entities

This allows entities to work well with the frontend.

* MySensors: Add device_info to all entities

Entities belonging to the same node_id will now by grouped as a device.

* MySensors: clean up device.py a bit

* MySensors: Add config flow support

With this change the MySensors can be fully configured from the GUI.

Legacy configuration.yaml configs will be migrated by reading them once.
Note that custom node names are not migrated. Users will have to re-enter
the names in the front-end.
Since there is no straight-forward way to configure global settings,
all previously global settings are now per-gateway. These settings include:
- MQTT retain
- optimistic
- persistence enable
- MySensors version

When a MySensors integration is loaded, it works as follows:
1. __init__.async_setup_entry is called
2. for every platform, async_forward_entry_setup is called
3. the platform's async_setup_entry is called
4. __init__.setup_mysensors_platform is called
5. the entity's constructor (e.g. MySensorsCover) is called
6. the created entity is stored in a dict in the hass object

* MySensors: Fix linter errors

* MySensors: Remove unused import

* MySensors: Feedback from @MartinHjelmare

* MySensors: Multi-step config flow

* MySensors: More feedback

* MySensors: Move all storage in hass object under DOMAIN

The integration now stores everything under hass.data["mysensors"]
instead of using several top level keys.

* MySensors: await shutdown of gateway instead of creating a task

* MySensors: Rename Ethernet to TCP

* MySensors: Absolute imports and cosmetic changes

* MySensors: fix gw_stop

* MySensors: Allow user to specify persistence file

* MySensors: Nicer log message

* MySensors: Add lots of unit tests

* MySensors: Fix legacy import of persistence file name

Turns out tests help to find bugs :D

* MySensors: Improve test coverage

* MySensors: Use json persistence files by default

* MySensors: Code style improvements

* MySensors: Stop adding attributes to existing objects

This commit removes the extra attributes that were being
added to the gateway objects from pymysensors.

Most attributes were easy to remove, except for the gateway id.
The MySensorsDevice class needs the gateway id as it is part of its DevId
as well as the unique_id and device_info.
Most MySensorsDevices actually end up being Entities.
Entities have access to their ConfigEntry via self.platform.config_entry.

However, the device_tracker platform does not become an Entity.
For this reason, the gateway id is not fetched from self.plaform but
given as an argument.

Additionally, MySensorsDevices expose the address of the gateway
(CONF_DEVICE). Entities can easily fetch this information via self.platform,
but the device_tracker cannot. This commit chooses to remove the gateway
address from device_tracker. While this could in theory break some automations,
the simplicity of this solution was deemed worth it.
The alternative of adding the entire ConfigEntry as an argument to MySensorsDevices
is not viable, because device_tracker is initialized by the async_setup_scanner function
that isn't supplied a ConfigEntry. It only gets discovery_info.
Adding the entire ConfigEntry doesn't seem appropriate for this edge case.

* MySensors: Fix gw_stop and the translations

* MySensors: Fix incorrect function calls

* MySensors: Fewer comments in const.py

* MySensors: Remove union from _get_gateway and remove id from try_connect

* MySensors: Deprecate nodes option in configuration.yaml

* MySensors: Use version parser from packaging

* MySensors: Remove prefix from unique_id and change some private property names

* MySensors: Change _get_gateway function signature

* MySensors: add packaging==20.8 for the version parser

* MySensors: Rename some stuff

* MySensors: use pytest.mark.parametrize

* MySensors: Clean up test cases

* MySensors: Remove unneeded parameter from devices

* Revert "MySensors: add packaging==20.8 for the version parser"

This reverts commit 6b200ee01a.

* MySensors: Use core interface for testing configuration.yaml import

* MySensors: Fix test_init

* MySensors: Rename a few variables

* MySensors: cosmetic changes

* MySensors: Update strings.json

* MySensors: Still more feedback from @MartinHjelmare

* MySensors: Remove unused strings

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

* MySensors: Fix typo and remove another unused string

* MySensors: More strings.json

* MySensors: Fix gateway ready handler

* MySensors: Add duplicate detection to config flows

* MySensors: Deal with non-existing topics and ports.

Includes unit tests for these cases.

* MySensors: Use awesomeversion instead of packaging

* Add string already_configured

* MySensors: Abort config flow when config is found to be invalid while importing

* MySensors: Copy all error messages to also be abort messages

All error strings may now also be used as an abort reason,
so the strings should be defined

* Use string references

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-02-05 22:13:57 +01:00
Robert Svensson 0d620eb7c3
Add unique id to UniFi config entries using the unique id of the site it is controlling (#45737)
* Add unique id to UniFi config entries using the unique id of the site it is controlling

* Fix failing test
2021-02-05 19:38:08 +01:00
Johan Nenzén 55f81a8a04
Address Plaato post merge review (#46024) 2021-02-05 18:28:06 +01:00
Robert Svensson ae2c7e4c74
Improve UniFi tests (#45871) 2021-02-05 16:31:47 +01:00
tkdrob 9a570d7c32
Use core constants for bmw_connected_drive (#46042) 2021-02-05 08:02:28 -05:00
Greg Dowling e01ca40d56
Force Vera refresh after starting subscription (#46001)
* Force vera refresh after starting subscription.

* Request refresh on device load.

* Update init test.
2021-02-05 13:20:15 +01:00
Nathan Spencer 92886cafe9
Fix zwave_js cover control for Up/Down and Open/Close (#45965)
* Fix issue with control of cover when the target value is Up/Down instead of Open/Close

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

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

* Replace RELEASE_BUTTON with False and remove unused PRESS_BUTTON in zwave_js cover
2021-02-05 10:48:47 +01:00
J. Nick Koston 374aa3aee1
Fix homekit options not being prefilled (#45926)
* Fix homekit options not being prefilled

When changing homekit options, the existing ones
were not being prefilled on the form.

* hide camera screen if no cameras
2021-02-05 02:39:07 +01:00
J. Nick Koston 01e73911d6
Do not listen for dhcp packets if the filter cannot be setup (#46006) 2021-02-05 00:36:55 +01:00
DeadEnd 7b280bdbe7
Fix Local Media in Media Browser (#45987)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2021-02-04 17:02:56 +01:00
Maciej Bieniek 134b1d3f63
Fix entities device_info property in Harmony integration (#45964) 2021-02-04 08:16:09 -05:00
Christopher Gozdziewski 1b6ee8301a
Convert ozw climate values to correct units (#45369)
* Convert ozw climate values to correct units

* Remove debugger logging

* Fix black code formatting

* Remove extra spaces

* Add method descriptions and change to use setpoint

* Fix build and respond to comments

* Remove self from convert_units call

* Move method to top

* Move method outside class

* Add blank lines

* Fix test to use farenheit

* Update another value to farenheit

* Change to celsius

* Another test fix

* test fix

* Fix a value

* missed one

* Add unit test for convert_units

* fix unit test import

* Add new line to end of test file

* fix convert units import

* Reorder imports

* Grab const from different import

Co-authored-by: Trevor <tboyce021@gmail.com>
2021-02-04 08:32:43 +01:00
denes44 14d914e300
Enable emulated_hue setting XY color and transition time by client (#45844)
* Enable setting XY color and transition time by client

* New test for setting XY color value

* Correct block outdent

* New test for setting transition time value

* Fixed commented out code
2021-02-03 15:35:27 -10:00
Niccolo Zapponi a775b79d4b
Add support for iCloud 2FA (#45818)
* Add support for iCloud 2FA

* Updated dependency for iCloud

* Updated dependency and logic fix

* Added logic for handling incorrect 2FA code

* Bug fix on failing test

* Added myself to codeowners

* Added check for 2FA on setup

* Updated error message
2021-02-03 19:18:31 +01:00
Brandon Rothweiler 4b208746e5
Add Mazda Connected Services integration (#45768) 2021-02-03 17:38:12 +01:00
Shay Levy 0875f654c8
Add support for Shelly battery operated devices (#45406)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2021-02-03 17:03:22 +01:00
Keith Lamprecht fcc14933d0
Add transitiontime to hue scene service (#45785) 2021-02-03 15:42:52 +01:00
Tobias Sauerwein 5615ab4c25
Add support for climate setpoint thermostats to zwave_js (#45890) 2021-02-03 13:59:19 +01:00
Jesse Campbell eaa9fff3ba
Remove v4 multilevel transitional currentValue workaround in zwave_js (#45884)
* Remove v4 multilevel transitional currentValue workaround

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

* Fix tests to check currentValue instead of targetValue as well
2021-02-03 12:02:49 +01:00
Paulus Schoutsen 40ba182144
Upgrade Z-Wave JS Python to 0.17.0 (#45895) 2021-02-03 11:58:46 +01:00
Quentame d9dba1b7ab
Bump Freebox to 0.0.9 (#45837)
* Bump Freebox to 0.0.9

* Remove @SNoof85 from code owners

* Module is now freebox_api
2021-02-02 22:57:06 +01:00
Martin Hjelmare 524b9e7b1f
Use new zwave_js client (#45872)
* Use new zwave_js client

* Remove client callbacks

* Clean up on connect and on disconnect

* Clean log

* Add stop listen to unsubscribe callbacks

* Fix most tests

* Adapt to new listen interface

* Fix most tests

* Remove stale connection state feature

* Bump zwave-js-server-python to 0.16.0

* Clean up disconnect
2021-02-02 20:59:56 +01:00
Martin Hjelmare 6e205965ee
Fix zwave_js device remove test (#45864) 2021-02-02 15:28:21 +01:00
J. Nick Koston d417ee2732
Add fan speed percentage support to google assistant (#45835) 2021-02-02 14:39:07 +01:00
J. Nick Koston 463a32819c
Ensure homekit never picks a port that another config entry uses (#45433) 2021-02-02 14:30:38 +01:00
Raman Gupta a64ad50b27
Remove zwave_js devices that the controller is no longer connected to on initialization (#45853)
* Remove zwave_js devices that the controller is no longer connected to on initialization

* remove extra line break

* fix test

* Clean up

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

* Lint

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2021-02-02 10:30:12 +01:00
Marcel van der Veldt 0feda9ce63
Fix sensor discovery for zwave_js integration (#45834)
Co-authored-by: Raman Gupta <7243222+raman325@users.noreply.github.com>
2021-02-02 10:06:09 +01:00
Raman Gupta 8d9b66e23d
Add current humidity to zwave_js climate platform (#45857) 2021-02-02 09:41:00 +01:00
Raman Gupta 3ef7bd6b73
Add notification events to zwave_js integration (#45827)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2021-02-02 09:37:42 +01:00
Erik Montnemery 411c0a9685
Improve MQTT JSON light to allow non-ambiguous states (#45522) 2021-02-02 09:36:00 +01:00
Aidan Timson 253ae3f423
Lyric Code Improvements (#45819)
Co-authored-by: J. Nick Koston <nick@koston.org>
2021-02-01 14:09:25 -10:00
Marcel van der Veldt b4559a172c
Add value notification events to zwave_js integration (#45814) 2021-02-01 23:47:58 +01:00
Alessandro Pilotti 8222eb5e3e
Allow Influxdb CA path in verify_ssl (#45270) 2021-02-01 23:29:31 +01:00
Aaron Bach 3bdf962838
Add ability to configure AirVisual with city/state/country in UI (#44116) 2021-02-01 11:38:03 -10:00
Raman Gupta 197c857e1f
Search all endpoints for value in zwave_js (#45809)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-02-01 14:46:06 -05:00
Johan Nenzén 285bd3aa91
Add support for Keg and Airlock to Plaato using polling API (#34760)
Co-authored-by: J. Nick Koston <nick@koston.org>
2021-02-01 07:12:56 -10:00
Robert Svensson 83a75b02ea
Code quality improvements to UniFi integration (#45794)
* Do less inside try statements

* Replace controller id with config entry id since it doesn't serve a purpose anymore

* Improve how controller connection state is communicated in the client and device tracker
Remove the need to disable arguments-differ lint

* Remove broad exception handling from config flow
I'm not sure there ever was a reason for this more than to catch all exceptions

* Replace site string with constant for SSDP title_placeholders

* Unload platforms in the defacto way

* Noone reads the method descriptions

* Improve file descriptions
2021-02-01 17:55:16 +01:00
Allen Porter 2136b3013f
Increase test coverage for stream worker (#44161)
Co-authored-by: Justin Wong <46082645+uvjustin@users.noreply.github.com>
2021-02-01 17:48:49 +01:00
Chris a8cf377ed7
Add stop_cover service for zwave_js (#45805) 2021-02-01 16:46:36 +01:00
Raman Gupta 0b63510cab
Add zwave_js binary sensors property name for Notification CC (#45810) 2021-02-01 09:45:24 +01:00
J. Nick Koston 385b7e17ef
Move homekit accessory creation to async (#45788) 2021-01-31 11:36:19 -10:00
J. Nick Koston 73d7d80731
Add timeout to lutron_caseta to prevent it blocking startup (#45769) 2021-01-31 21:43:00 +01:00
J. Nick Koston 852af7e372
Update homekit for new async library changes (#45731) 2021-01-31 21:40:24 +01:00
J. Nick Koston dac9626112
Resolve homekit cover adjustment slowness (#45730) 2021-01-31 21:39:35 +01:00
Aidan Timson 2d10c83150
Honeywell Lyric Integration (#39695)
Co-authored-by: J. Nick Koston <nick@koston.org>
2021-01-31 07:51:31 -10:00
Vladimír Záhradník ee55223065
SSDP response decode: replace invalid utf-8 characters (#42681)
* SSDP response decode: replace invalid utf-8 characters

* Add test to validate replaced data

Co-authored-by: Joakim Plate <elupus@ecce.se>
2021-01-31 17:59:14 +01:00
J. Nick Koston ea7aa6af59
Update dyson for the new fan entity model (#45762)
* Update dyson for the new fan entity model

* Fix test

* tweak

* fix

* adj

* Update homeassistant/components/dyson/fan.py

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

* move percentage is None block

* move percentage is None block

* no need to list comp

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-01-31 10:26:02 +01:00
J. Nick Koston 88c4031e57
Fix exception when a unifi config entry is ignored (#45735)
* Fix exception when a unifi config entry is ignored

* Fix existing test
2021-01-30 16:45:46 +01:00
Aaron Bach 6bf59dbeab
Add significant change support to binary_sensor (#45677)
* Add significant change support to binary_sensor
2021-01-30 09:04:35 +01:00
Aaron Bach 85e6bc581f
Add significant change support to lock (#45726) 2021-01-30 09:03:54 +01:00
Nathan Tilley 07a4422a70
Implement person significant change (#45713) 2021-01-30 08:05:58 +01:00
Ryan Fleming 8a112721fa
Fix feedback from UVC (#45630)
* Fixing feedback from UVC

* Couple of fixes
2021-01-30 08:00:27 +01:00
Paulus Schoutsen 87d40ff815
Do not cache frontend files during dev (#45698) 2021-01-30 00:05:06 +01:00
Pascal Reeb f07ffee535
Advanced testing for Nuki config flow (#45721) 2021-01-29 17:01:25 -05:00
Martin Hjelmare ace5b58337
Fix ozw init tests (#45718) 2021-01-29 20:58:57 +01:00
Robert Svensson 97fd05eb9f
Allow new UniFi flows to update existing entries if host and site match (#45668) 2021-01-29 18:14:39 +01:00
Martin Hjelmare bcc9add0b4
Fix mqtt check in ozw (#45709) 2021-01-29 17:57:39 +01:00
J. Nick Koston 5f9a1d105c
Improve HomeKit Accessory Mode UX (#45402) 2021-01-29 09:57:13 -06:00
Pieter Mulder c1586f97db
Only show matching caldav events in calendar (#45701) 2021-01-29 15:25:01 +01:00
Steven Looman 71c169c84f
Address late review comments for upnp (#45696) 2021-01-29 12:27:57 +01:00
Pascal Reeb ba55f1ff4b
Add config flow for nuki (#45664)
* implemented config_flow for nuki component

* warn -> warning

* exception handling & config_flow tests

* gen_requirements_all

* Update config_flow.py

Co-authored-by: Pascal Vizeli <pascal.vizeli@syshack.ch>
2021-01-29 11:05:13 +01:00
Steven Looman 25c5c6aec9
Refactoring upnp component (#43646) 2021-01-29 10:23:34 +01:00
Dermot Duffy c66a892233
Remove YAML support from Hyperion integration (#45690) 2021-01-29 09:05:00 +01:00
Guido Schmitz 8b3156ea82
Use new fixtures in devolo Home Control tests (#45669) 2021-01-29 03:14:39 +01:00
Julian Löhr 7bc8060122
Add reauthentication flow to fritzbox integration (#45587) 2021-01-29 00:08:59 +01:00
jjlawren d7e0391e03
Allow Plex playback using provided playqueue ID (#45580) 2021-01-28 17:21:31 +01:00
Guido Schmitz 8065ece0bd
Add first set of tests to devolo Home Control integration (#42527)
* Add first two testcases

* Remove repetition

* Add first two testcases

* Remove repetition

* Add connection error test case

* add test_setup_entry_credentials_valid

* First attempt to use fixtures

* Use markers

* Optimize patch

* Optimize marker use

* Always patch mydevolo

* Add first two testcases

* Remove repetition

* Add first two testcases

* Remove repetition

* Add connection error test case

* add test_setup_entry_credentials_valid

* First attempt to use fixtures

* Use markers

* Optimize patch

* Optimize marker use

* Always patch mydevolo

* Add unload entry test case

* Catch up with reality

* Use unittest patch

* Use core interface to start tests

* Use entry state

* Consistently assert entry state

* Patch class instead of init

Co-authored-by: Markus Bong <2Fake1987@gmail.com>
2021-01-28 17:14:33 +01:00
J. Nick Koston 3ff75eee53
Update homekit to use new fan entity model (#45549) 2021-01-28 12:38:18 +01:00
Joakim Plate 38d2cacf7a
Support blocking trusted network from new ip (#44630)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2021-01-28 12:06:20 +01:00
J. Nick Koston ab1d42950a
Update homekit_controller to use new fan entity model (#45547) 2021-01-28 11:43:43 +01:00
J. Nick Koston babfef829d
Add support for percentage speeds and preset modes to template fan (#45478) 2021-01-28 10:44:36 +01:00
J. Nick Koston 22e44e4ba4
Update zwave to use new fan entity model (#45541)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2021-01-28 10:35:01 +01:00
J. Nick Koston 85e463d507
Update bond to use new fan entity model (#45534) 2021-01-28 10:23:12 +01:00
J. Nick Koston 0693d8a064
Update zwave_js to use new fan entity model (#45543) 2021-01-28 10:15:24 +01:00
J. Nick Koston e43d865112
Update ozw to use new fan entity model (#45577) 2021-01-28 09:40:10 +01:00
Paulus Schoutsen 92e084cee1
Include relative path in tts get url (#45623)
* Include relative path in tts get url

* Always cal get_url when requested
2021-01-28 09:33:18 +01:00
Marc Mueller 7673f57248
Add additional error handling for automation script run (#45613) 2021-01-28 09:26:41 +01:00
Erik Montnemery 5711d61b38
Bump hatasmota to 0.2.7 (#45625) 2021-01-28 08:55:22 +01:00
J. Nick Koston 068d1b5eb8
Separate fan speeds into percentages and presets modes (#45407)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
Co-authored-by: John Carr <john.carr@unrouted.co.uk>
2021-01-27 17:44:36 -06:00
Julian Engelhardt 3f948e027a
Clean tcp tests (#41673)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-01-27 22:37:59 +01:00
springstan 566058f701
Add config flow to fritzbox_callmonitor (#40736) 2021-01-27 16:53:45 +01:00
Dennis Schroer 8d572af77a
Add Huisbaasje integration (#42716)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2021-01-27 15:53:25 +01:00
Marc Mueller fb39185420
Add schema error handling to websocket_api (#45602)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-01-27 15:20:22 +01:00
linebp 211ef60d96
Convert media_player unittest tests to pytest style (#41950)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-01-27 14:50:01 +01:00
Robert Chmielowiec 80c2efa9f2
Add total energy, preheater and RMOT sensors to comfoconnect (#45373) 2021-01-27 08:10:58 -05:00
Shulyaka eea50c8ccc
Add device actions for Number (#44240) 2021-01-27 13:40:13 +01:00
Maciej Bieniek 5d955eb039
Change update interval tests in AccuWeather integration (#45562) 2021-01-27 13:28:29 +01:00
Marcel van der Veldt 32c6509d55
Remove unwanted brightness check in zwave_js light (#45597) 2021-01-27 13:07:02 +01:00
Lars Marowsky-Brée 34194da1b6
New methods for input_select component (#42968)
This adds a `cycle` attribute to select_previous/next, and
select_first and select_last services.

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

Similarly, being able to directly select the first or last removes
adjustment in related automations.
2021-01-27 11:17:59 +01:00
Ryan Fleming 459236fcdd
Camera Status and Motion record status (#44936) 2021-01-27 10:50:44 +01:00
Adrian Suwała e12e2377af
Rewrite hddtemp unittest tests to pytest (#42513) 2021-01-27 10:24:04 +01:00
Dermot Duffy 890eaf840c
Add advanced Hyperion entities (#45410)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2021-01-27 09:35:13 +01:00
Martin Hjelmare f387e833c3
Add zwave_js add-on config flow support (#45552) 2021-01-27 08:56:16 +01:00
Marc Mueller c805baf88c
Refactor slack tests (#45561)
* Refactor slack tests

* Changes

* Let service register for tests
2021-01-27 04:32:14 +01:00
J. Nick Koston 25f411ef6e
Add support for Pico and Shade remotes to Lutron Caseta (#45315) 2021-01-26 16:32:08 -06:00
Chris Talkington 14785660b0
Avoid proxied Roku images during internal requests (#43547) 2021-01-26 23:21:25 +01:00
Yuval Aboulafia 73d2ae76a9
Round Mold Indicator attributes (#43622) 2021-01-26 23:14:53 +01:00
Sami Heino ee8d88e85c
Add support for EDS0068 onewire sensor (#44029)
Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2021-01-26 23:07:04 +01:00
Paulus Schoutsen 352d0870e3
Light significant changes + sensor tweaks (#45583) 2021-01-26 22:11:06 +01:00
Dror Eiger 74efe78d0a
Add device metadata for Google Assistant (#45507)
* Add device metadata for Google Assistant

* Increase test coverage

* Refactor fetching the device and entity entries.
2021-01-26 21:59:43 +01:00
Paulus Schoutsen 712a5a098d
Add significant change filtering to Google (#45566) 2021-01-26 21:45:09 +01:00
Dermot Duffy 568962552b
Remove hyperion entry from registry only when instances are fully removed (#44488) 2021-01-26 21:39:02 +01:00
Jc2k 3b0a440770
Add support for homekit_controller secondary entities like power usage (#44013) 2021-01-26 13:45:01 -06:00
Robert Svensson 26764a805b
Don't parse previous messages when UniFi connection state change to available (#45544)
* Don't parse previous messages when connection state change to available

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

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

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

This doesn't add templates for aux, away mode, power since these already accept custom payload_on/off (although they all share the same payload). It should be straightforward to add templates for them as well if needed.
2021-01-26 16:12:33 +01:00
Joakim Sørensen b1c2cde40b
Changes to filename and path validation (#45529)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2021-01-26 15:53:21 +01:00
Paulus Schoutsen 4739e8a207
Limit data sending to Alexa to significant changes (#45563) 2021-01-26 15:48:35 +01:00
Paulus Schoutsen d082be787f
Add "significant change" base (#45555) 2021-01-26 14:13:27 +01:00
starkillerOG c16fd0a1ac
Set hyperion icon to lightbulb when off (#45351)
Co-authored-by: Dermot Duffy <dermot.duffy@gmail.com>
2021-01-26 10:46:54 +01:00
starkillerOG 3647d549b0
Fix Hyperion brightness setting (#45335) 2021-01-26 10:45:41 +01:00