J. Nick Koston
f9bd384e6c
Stop waiting for setup retry upon discovery ( #72738 )
2022-05-30 20:24:34 -07:00
J. Nick Koston
4a5679db08
Prevent config entries from being reloaded concurrently ( #72636 )
...
* Prevent config entries being reloaded concurrently
- Fixes Config entry has already been setup when
two places try to reload the config entry at the
same time.
- This comes up quite a bit:
https://github.com/home-assistant/core/issues?q=is%3Aissue+sort%3Aupdated-desc+%22Config+entry+has+already+been+setup%22+is%3Aclosed
* Make sure plex creates mocks in the event loop
* drop reload_lock, already inherits
2022-05-28 10:49:55 +02:00
Franck Nijhof
7d2deae592
Clean up use of deprecated async_get_registry methods ( #72001 )
2022-05-17 13:40:19 +02:00
Marc Mueller
c1d2017988
Improve typing for core add_job and run_job methods ( #70702 )
2022-04-25 23:50:01 +02:00
Martin Hjelmare
09b4b7eb37
Remove hass.helpers from config_entries ( #70660 )
2022-04-25 14:21:03 +02:00
Ville Skyttä
05ddd773ff
Fix _abort_if_unique_id_configured updates type hint ( #68730 )
2022-03-29 09:24:15 +02:00
Marc Mueller
911b159281
Cleanup after pylint update ( #68657 )
2022-03-26 00:34:12 +01:00
Marc Mueller
53245c6523
Update pylint to 2.13.0 ( #68656 )
2022-03-25 15:14:48 -07:00
Marc Mueller
ec980a574b
Improve typing [util.decorator] ( #67087 )
2022-02-23 20:58:42 +01:00
Erik Montnemery
c496748125
Add WS API for removing a config entry from a device ( #66188 )
...
* Add WS API for removing a config entry from a device
* Address review comments
* Address review comments
* Remove entity cleanup from ConfigEntries
* Update + add tests
* Improve comments in test
* Add negative test
* Refactor according to review comments
* Add back async_remove_config_entry_device
* Remove unnecessary error handling
* Simplify error handling
2022-02-21 10:11:18 +01:00
Marc Mueller
8d2fb72cc3
Add type ignore error codes [core] ( #66773 )
2022-02-17 23:09:22 -08:00
J. Nick Koston
0ec89ae5da
Teach _async_abort_entries_match about entry options ( #66662 )
2022-02-16 18:15:31 +01:00
Erik Montnemery
335a918118
Create MQTT discovery flow when manual config is present ( #66248 )
...
* Create MQTT discovery flow when manual config is present
* Change to integration_discovery flow
* Add test
* Add default handler for integration_discovery
2022-02-11 10:31:51 +01:00
Erik Montnemery
f5fff95e8b
Tweak constant config_entries.DISCOVERY_SOURCES ( #66249 )
2022-02-10 11:12:38 +01:00
J. Nick Koston
ff59f1ee51
Add INTEGRATION_DISCOVERY to DISCOVERY_SOURCES ( #65811 )
2022-02-05 10:36:04 -06:00
epenet
494ef2f9b2
Adjust config_entry UpdateListenerType signature ( #65410 )
...
Co-authored-by: epenet <epenet@users.noreply.github.com>
2022-02-02 09:56:34 -08:00
Franck Nijhof
9e33a3014c
Automatically add entry title as name placeholder in reauth ( #64078 )
2022-01-18 14:18:16 -08:00
epenet
59c84f9586
Explicitly allow Mapping type hint in config entry async_update_entry ( #63986 )
...
* Allow MappingProxyType in async_update_entry
* Add setup type hints to ps4
* Adjust type hint to Mapping
Co-authored-by: epenet <epenet@users.noreply.github.com>
2022-01-14 04:06:19 +01:00
Marc Mueller
12757a8cd2
Update typing - collections.abc (1) ( #63933 )
...
* Update typing - collections.abc (1)
* Additional typing updates
2022-01-12 07:56:35 +01:00
Franck Nijhof
f4aa18de31
Replace hass.helpers: async_call_later() ( #63929 )
2022-01-11 13:30:59 -08:00
Erik Montnemery
8d6e2ae354
Import persistent notification part 1 ( #63898 )
2022-01-11 17:24:59 +01:00
epenet
34a967c48a
Explicitely allow Platform enum in config_entries ( #63581 )
...
* Explicitely allow Platform enum in config_entries
* Undo argument name change and conversion to string
Co-authored-by: epenet <epenet@users.noreply.github.com>
2022-01-09 06:08:04 +01:00
Marc Mueller
b0f72f59da
Use imports from `core` ( #63458 )
2022-01-05 14:55:38 +01:00
Tobias Sauerwein
2c904c0974
Bump mypy to 0.930 ( #62642 )
...
Co-authored-by: Marc Mueller <30130371+cdce8p@users.noreply.github.com>
2021-12-27 17:55:17 +01:00
Ruslan Sayfutdinov
55f4962c06
Fix pylint plugin which checks relative imports ( #62693 )
2021-12-23 11:14:47 -08:00
Ville Skyttä
5bf67cac66
Use RegistryEntryDisabler ( #60436 )
2021-12-15 23:25:40 +02:00
Ville Skyttä
7db3246de4
Make config entry disabled_by an enum ( #60445 )
...
* Make config entry disabled_by an enum
* Update homeassistant/config_entries.py
Co-authored-by: Erik Montnemery <erik@montnemery.com>
2021-12-15 20:53:21 +01:00
Marcel van der Veldt
7c7df5bb51
Change check for existence of options flow ( #61147 )
...
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2021-12-07 12:50:34 -08:00
epenet
b65b25c1bb
Move MqttServiceInfo to init.py ( #60905 )
...
Co-authored-by: epenet <epenet@users.noreply.github.com>
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2021-12-03 19:34:48 +01:00
epenet
358922db56
Use dataclass for HassioServiceInfo ( #60824 )
...
Co-authored-by: epenet <epenet@users.noreply.github.com>
2021-12-03 14:05:56 +01:00
epenet
ec1c52d945
Use dataclass for SsdpServiceInfo ( #59931 )
...
Co-authored-by: epenet <epenet@users.noreply.github.com>
2021-11-29 06:10:07 -10:00
epenet
75057949d1
Adjust async_step_discovery methods for BaseServiceInfo ( #60285 )
...
Co-authored-by: epenet <epenet@users.noreply.github.com>
2021-11-24 19:30:02 -06:00
epenet
0dcfd55c84
Adjust async_step_usb signature for strict typing ( #59773 )
...
Co-authored-by: epenet <epenet@users.noreply.github.com>
2021-11-16 19:03:50 +01:00
epenet
4387bbfb94
Adjust async_step_mqtt signature for strict typing ( #59761 )
...
* Add MqttServiceInfo
* Adjust async_step_mqtt signature
* Adjust async_step_mqtt signature
* Adjust components
Co-authored-by: epenet <epenet@users.noreply.github.com>
2021-11-16 13:30:38 +01:00
epenet
476a59d248
Adjust async_step_dhcp signature for strict typing ( #59751 )
...
Co-authored-by: epenet <epenet@users.noreply.github.com>
2021-11-16 12:19:50 +01:00
epenet
4d96ca3ddb
Adjust async_step_homekit signature for strict typing ( #59745 )
...
* Use ZeroconfServiceInfo in async_step_homekit
* Update DiscoveryFlowHandler
* Update components
2021-11-15 17:27:04 -06:00
epenet
b3ffc1e183
Adjust async_step_zeroconf signature for strict typing ( #59503 )
...
Co-authored-by: epenet <epenet@users.noreply.github.com>
2021-11-15 18:05:45 +01:00
J. Nick Koston
3b7dce8b95
Index in-progress flows to avoid linear search ( #58146 )
...
Co-authored-by: Steven Looman <steven.looman@gmail.com>
2021-10-22 07:19:49 -10:00
Marc Mueller
7af67d34cf
Use assignment expressions 01 ( #56394 )
2021-09-18 13:31:35 -10:00
J. Nick Koston
e880f1c8f9
Index config entries by domain ( #56316 )
2021-09-17 10:39:00 -10:00
J. Nick Koston
e92e206544
Fix race that allowed multiple config flows with the same unique id ( #55131 )
...
- If a config flow set a unique id and then did an await to
return control to the event loop, another discovery with
the same unique id could start and it would not see
the first one because it was still uninitialized. We now
check uninitialized flows when setting the unique id
2021-08-23 23:01:21 -05:00
J. Nick Koston
dc74a52f58
Add support for USB discovery ( #54904 )
...
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-08-20 14:04:18 -05:00
J. Nick Koston
725b316ec6
Add HomeKit and DHCP to DISCOVERY_SOURCES in config_entries ( #54923 )
2021-08-20 17:02:03 +02:00
Ville Skyttä
848c0be58a
Avoid some implicit generic Anys ( #54577 )
2021-08-16 23:12:06 +02:00
Ville Skyttä
470f2dd73f
Upgrade pyupgrade to 2.21.2, apply its changes ( #52987 )
2021-07-19 10:46:09 +02:00
Franck Nijhof
b91b553ce5
Abort existing reauth flow on entry removal ( #52407 )
2021-07-02 20:56:51 +02:00
Erik Montnemery
1d9d9021de
Do not attempt to unload non loaded config entries ( #51356 )
2021-06-02 10:00:24 +02:00
Paulus Schoutsen
ee2c950716
Merge system options into pref properties ( #51347 )
...
* Make system options future proof
* Update tests
* Add types
2021-06-01 22:34:31 +02:00
Paulus Schoutsen
4821484d2c
Add system option to disable polling ( #51299 )
2021-05-31 15:36:40 -07:00
Franck Nijhof
a8a13da793
Fix discovery without uid aborts on completing user flow ( #51105 )
...
* Fix discovery without uid aborts on completing user flow
* Fix comment
2021-05-26 16:29:52 +02:00
Ville Skyttä
19d25cd901
Change config entry state to an enum ( #49654 )
...
* Change config entry state to an enum
* Allow but deprecate EntryState str equality comparison
* Test fixes
* Rename to ConfigEntryState
* Remove str comparability backcompat
* Update new occurrences of strs cropped up during review
2021-05-20 19:19:20 +02:00
Ruslan Sayfutdinov
391b2f8ccd
Add missing return type in Core constructors ( #50884 )
2021-05-20 18:53:29 +03:00
J. Nick Koston
34c84a6bbb
Reduce boilerplate to abort for matching config entries ( #50186 )
...
Co-authored-by: Franck Nijhof <git@frenck.dev>
2021-05-11 22:00:12 +02:00
Franck Nijhof
177317a345
Allow passing options in config flow entry creation ( #49912 )
2021-05-05 22:14:01 -07:00
Franck Nijhof
96f69fb9fb
Finalize clean up connection classes ( #49895 )
2021-05-04 20:08:51 +02:00
Franck Nijhof
c68b259bd3
Cleanup of unused connection_class logic ( #49865 )
...
Co-authored-by: Joakim Sørensen <joasoe@gmail.com>
2021-04-29 23:12:58 +02:00
Ruslan Sayfutdinov
183220008d
Rename FlowResultDict to FlowResult ( #49847 )
2021-04-29 13:40:51 +02:00
J. Nick Koston
51be2f860a
Reduce boilerplate to setup config entry platforms A-C ( #49681 )
...
Co-authored-by: Franck Nijhof <git@frenck.dev>
2021-04-26 07:46:55 -10:00
Paulus Schoutsen
265fdea83b
Allow config entries to store a reason ( #49581 )
2021-04-23 09:23:43 +02:00
Ruslan Sayfutdinov
7a9385d857
Explicitly define all methods in ConfigFlow ( #49341 )
2021-04-17 12:42:31 +02:00
Ruslan Sayfutdinov
80f66f301b
Define data flow result type ( #49260 )
...
* Define data flow result type
* Revert explicit definitions
* Fix tests
* Specific mypy ignore
2021-04-15 07:17:07 -10:00
J. Nick Koston
dafc7a072c
Cancel discovery flows that are initializing at shutdown ( #49241 )
2021-04-15 07:13:42 -10:00
J. Nick Koston
44beff31c2
Cancel config entry retry, platform retry, and polling at the stop event ( #49138 )
2021-04-13 16:16:26 -10:00
J. Nick Koston
4cd7f9bd8b
Raise ConfigEntryAuthFailed during setup or coordinator update to start reauth ( #48962 )
2021-04-09 19:41:29 -10:00
J. Nick Koston
40450b9cfd
Detach aiohttp.ClientSession created by config entry setup on unload ( #48908 )
2021-04-09 10:14:33 -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
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
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
Franck Nijhof
f0e5e616a7
Fix device discovery of OAuth2 config flows ( #48326 )
2021-03-25 10:35:01 -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
3f2ca16ad7
Index config entries by id ( #48199 )
2021-03-21 21:44:29 -07:00
Marc Mueller
4cb7718192
Update typing 16 ( #48087 )
2021-03-18 22:58:19 +01:00
Marc Mueller
e55702d635
Update typing 01 ( #48013 )
2021-03-17 17:34:55 +01:00
Paulus Schoutsen
67effbc8c4
Config flow to allow marking itself as confirm only ( #47607 )
2021-03-08 10:54:51 -08:00
Erik Montnemery
504e5b77ca
Improve behaviour when disabling or enabling config entries ( #47301 )
2021-03-03 10:12:37 -08:00
Simone Chemelli
17444e2f2f
Limit log spam by ConfigEntryNotReady ( #47201 )
2021-03-02 12:50:28 -08:00
Ville Skyttä
dc880118a4
Lint suppression cleanups ( #47248 )
...
* Unused pylint suppression cleanups
* Remove outdated pylint bug references
* Add flake8-noqa config and note to run it every now and then
* Add codes to noqa's
* Unused noqa cleanups
2021-03-02 09:02:04 +01:00
Erik Montnemery
003fee2a35
Fix race when disabling config entries ( #47210 )
...
* Fix race when disabling config entries
* Remove unused constant
2021-03-01 12:38:49 +01:00
Erik Montnemery
5e26bda52d
Add support for disabling config entries ( #46779 )
2021-02-20 19:21:39 -08:00
J. Nick Koston
c9df42b69a
Add support for pre-filtering events to the event bus ( #46371 )
2021-02-14 09:42:55 -10:00
Franck Nijhof
bc1daf1802
None optional hass typing in FlowHandler ( #46462 )
...
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-02-13 13:21:37 +01:00
Franck Nijhof
9b7c39d20b
Postponed evaluation of annotations in core ( #46434 )
...
* Postponed evaluation of annotations in core
* Remove unneeded future
2021-02-12 10:58:20 +01:00
Erik Montnemery
dd150bb797
Allow manual configuration of ignored singleton config entries ( #45161 )
...
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2021-02-04 11:08:10 +01:00
jpcornil-git
74a44e03fa
Extend add_update_listener support to bound methods ( #44238 )
2021-01-26 22:19:10 +01:00
Simone Chemelli
86cd7911de
Clarify ConfigEntryNotReady log ( #45425 )
...
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
Co-authored-by: Charles Garwood <cgarwood@gmail.com>
2021-01-22 12:13:23 -05:00
J. Nick Koston
da677f7d5a
Add support for discovery via DHCP ( #45087 )
...
* Add support for discovery via DHCP
* additional tesla ouis
* merge tests
* dhcp test
* merge requirements test
* dhcp test
* dhcp discovery
* dhcp discovery
* pylint
* pylint
* pylint
* fix
* Add matching tests
* 100% cover
* cleanup
* fix codespell
* Update exception handling
* remove unneeded comment
* fix options handling exception
* fix options handling exception
2021-01-14 09:09:08 +01:00
Paulus Schoutsen
e83ced6737
Add name to ignored entries ( #45051 )
...
* Add name to ignored entries
* Fix test
2021-01-12 09:26:20 +01:00
Ville Skyttä
317ed418dd
Use singleton enum for "not set" sentinels ( #41990 )
...
* Use singleton enum for "not set" sentinel
https://www.python.org/dev/peps/pep-0484/#support-for-singleton-types-in-unions
* Remove unused variable
2020-12-19 12:46:27 +01:00
nivnoach
906e1ce960
Allow manual configuration of ignored config entries ( #43947 )
2020-12-07 09:25:04 +01:00
Erik Montnemery
5694e4190c
Extend WS API result when enabling an entity ( #42667 )
...
* Extend WS API result when enabling an entity
* Fix tests
* Fix tests
* Move updated registry entry to sub dict
* Address review comments
* Increase test coverage
2020-11-09 19:47:45 +01:00
Raman Gupta
a416a9e046
Allow options flows to be aborted ( #41875 )
2020-11-09 08:59:42 +01:00
Philip Allgaier
bd1d6f2c0d
Add link to log view in persistent notification ( #42060 )
2020-10-21 12:09:45 -05:00
Raman Gupta
0e20bba40a
Add persistent notification for reauth config flows ( #41811 )
...
* add persistent notification for reauth config flow
* remove log
* Update homeassistant/config_entries.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Update homeassistant/config_entries.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* fix logic for determining when to dismiss notification
* add comment
* improve tests to ensure notifications only get dismissed when all in progress config flows of a given type are complete
* Update homeassistant/config_entries.py
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
* handle context is None when accessing source
* add guard to show_advanced_options
* Apply suggestions from code review
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
Co-authored-by: Chris Talkington <chris@talkingtontech.com>
2020-10-15 15:46:27 -05:00
Erik Montnemery
a3f8b76537
Make async_step_discovery default for MQTT config flows ( #41414 )
2020-10-07 23:49:29 +02:00
Erik Montnemery
343e5d64b8
Add MQTT integration discovery ( #41332 )
...
* Add MQTT integration discovery
* Add script/hassfest/mqtt.py
* Unsubscribe if config entry exists
* Add homeassistant/generated/mqtt.py
* Fix bad loop
* Improve tests
* Improve tests
* Apply suggestions from code review
Co-authored-by: Fabian Affolter <mail@fabian-affolter.ch>
* Prevent initiating multiple config flows
Co-authored-by: Fabian Affolter <mail@fabian-affolter.ch>
2020-10-07 18:30:51 +02:00
J. Nick Koston
8d5c124deb
Improve performance of generating non-cryptographically secure uuids ( #41314 )
2020-10-07 16:37:01 +02:00
Chris Talkington
37e51aa166
Add reauth source constant for config entries ( #40352 )
2020-09-20 21:15:48 -05:00
Ville Skyttä
1bf2c4d976
Upgrade pylint to 2.6.0 ( #39363 )
2020-08-29 07:59:24 +02:00
Ville Skyttä
b4bac0f7a0
Exception chaining and wrapping improvements ( #39320 )
...
* Remove unnecessary exception re-wraps
* Preserve exception chains on re-raise
We slap "from cause" to almost all possible cases here. In some cases it
could conceivably be better to do "from None" if we really want to hide
the cause. However those should be in the minority, and "from cause"
should be an improvement over the corresponding raise without a "from"
in all cases anyway.
The only case where we raise from None here is in plex, where the
exception for an original invalid SSL cert is not the root cause for
failure to validate a newly fetched one.
Follow local convention on exception variable names if there is a
consistent one, otherwise `err` to match with majority of codebase.
* Fix mistaken re-wrap in homematicip_cloud/hap.py
Missed the difference between HmipConnectionError and
HmipcConnectionError.
* Do not hide original error on plex new cert validation error
Original is not the cause for the new one, but showing old in the
traceback is useful nevertheless.
2020-08-28 13:50:32 +02:00
Franck Nijhof
1c2ebdf307
Upgrade black to 20.8b1 ( #39287 )
2020-08-27 13:56:20 +02:00
J. Nick Koston
e109b04efe
Add api to reload config entries ( #39068 )
2020-08-26 00:59:22 +02:00
J. Nick Koston
bee6d87e7a
Standardize uuid generation for events/storage/registry ( #39184 )
2020-08-24 17:21:30 +02:00
Paulus Schoutsen
71acb2c665
Only reload config entry if it is loaded ( #39202 )
2020-08-24 10:54:26 +02:00
J. Nick Koston
74c23c3e96
Add support for reload_on_update to _abort_if_unique_id_configured ( #38638 )
...
* Add support for reload_on_update to _abort_if_unique_id_configured
async_update_entry now avoids firing update listeners and writing
the storage if there are no actual changes.
* Actually add the tests
* collapse branch
* Update homeassistant/config_entries.py
Co-authored-by: Franck Nijhof <git@frenck.dev>
* handle entries that lack the ability to reload
* reduce
* adjust konnected tests
* update axis tests
* fix blocking
* more mocking
* config flow tests outside of test_config_flow
* reduce
* volumio
* Update homeassistant/config_entries.py
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
* set reload_on_update=False for integrations that implement self._abort_if_unique_id_configured(updates= and a reload listen
* get rid of copy
* revert test change
Co-authored-by: Franck Nijhof <git@frenck.dev>
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-08-08 13:23:56 -05:00
Ville Skyttä
aa1c5fc43d
Various type hint improvements ( #37952 )
2020-07-22 08:06:37 -07:00
Ville Skyttä
ac0dbb17af
Attrs cleanups ( #37849 )
2020-07-14 10:30:30 -07:00
Franck Nijhof
53545c984b
Log lines do not end with a full stop ( #37527 )
2020-07-05 23:04:19 +02:00
Erik Montnemery
747490ab34
Support reconfiguring MQTT config entry ( #36537 )
2020-06-22 17:49:01 -07:00
Franck Nijhof
3cc94f7d6a
ConfigFlow default discovery without unique ID ( #36754 )
2020-06-15 13:38:38 +02:00
J. Nick Koston
d2a92ce4f3
Ensure a deleted integration can be removed ( #36130 )
...
* Ensure a deleted intergration can be removed
* Update homeassistant/config_entries.py
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-05-25 15:40:06 -04:00
jjlawren
c12f8bed43
Plex discovery on demand ( #35303 )
...
* Allow Plex discovery on demand
* Add new discovery source
* Add tests
2020-05-13 09:11:00 -04:00
Ville Skyttä
b4404b071f
Pylint cleanups ( #35409 )
...
* Avoid some outer name redefinitions
* Remove unneeded directives
* Narrow directive scope
* Don't disable redefined-variable-type
2020-05-09 14:08:40 +03:00
Franck Nijhof
98a2efcbab
Collection of random (mainly) test improvements ( #33733 )
2020-04-06 12:51:48 +02:00
Franck Nijhof
7d3c974747
Use set & dict literals ( #33636 )
...
Co-authored-by: Daniel Høyer Iversen <mail@dahoiv.net>
2020-04-04 20:05:15 +02:00
Paulus Schoutsen
d4615fd432
Freeze config entry data ( #32615 )
...
* Freeze config entry data
* Fix mutating entry.data
* Fix config entry options tests
2020-03-09 14:07:50 -07:00
Paulus Schoutsen
e019280d94
Annotate more async functions correctly ( #31802 )
2020-02-14 10:00:22 -08:00
Franck Nijhof
0173c61fee
Spelling: Config(uration) ( #31782 )
2020-02-13 08:27:00 -08:00
Christian Clauss
df7d2b3aeb
Fix typos found by codespell ( #31243 )
...
* Fix typos found by codespell
* Fix typos found by codespell
* codespell: Furture ==> Future
* Update test_config_flow.py
* Update __init__.py
* Spellcheck: successfull ==> successful
* Codespell: unsuccesful ==> unsuccessful
* Codespell: cant ==> can't
* Codespell: firware ==> firmware
* Codespell: mimick ==> mimic
2020-01-31 08:33:00 -08:00
Franck Nijhof
b743f9b8f6
Add update_entry dict to unique ID flow abort helper ( #31090 )
...
* Add update_entry dict to unique ID flow abort helper
* Process review suggestions
* Process review suggestions
* Add additional test
2020-01-23 11:21:19 -08:00
Jc2k
6b519499a7
Don't expose flows that aren't initialised. ( #30432 )
...
* Don't expose flows that aren't initialised.
If a flow init does not return immediately then there is a window where our
behaviour is screwy:
* Can try to configure a flow that isn't ready
* Can show notifications for discoveries that might yet return an abort
This moves the flow discovery events and notifications to after the flow is
initialised and hides flows that don't have a cur_step from async_progress
* Fix tradfri test
* Black.
* Lint fixes
2020-01-03 17:28:05 +01:00
Jc2k
fdfedd086b
Rework FlowManager to use inheritance ( #30133 )
...
* Pull async_finish_flow/async_create_flow out of ConfigEntries
* Towards refactoring
* mypy fixes
* Mark Flow manager with abc.* annotations
* Flake8 fixes
* Mypy fixes
* Blacken data_entry_flow
* Blacken longer signatures caused by mypy changes
* test fixes
* Test fixes
* Fix typo
* Avoid protected member lint (W0212) in config_entries
* More protected member fixes
* Missing await
2020-01-03 11:52:01 +01:00
Jc2k
b41480ae46
Add a config entry mechanism to rediscover a discovery that was ignored ( #30099 )
...
* Mechanism to rediscover a discovery that was ignored
* Add core config entry tests for new rediscover step
* Add tests for homekit_controller implementation of async_step_rediscover
* Rename rediscover to unignore
* Comment the new ignore/unignore mechanisms
2019-12-21 11:22:07 +01:00
Jc2k
4ef04840e9
Don't error on removal of an ignored homekit_controller config entry ( #30083 )
...
* Don't error on ignored entries
* Don't ever call async_remove_entry or async_unload_entry for an unignored ignore config entry
2019-12-20 21:49:07 +01:00
Paulus Schoutsen
9c7caaa142
Add option to ignore flows ( #30008 )
2019-12-18 07:41:01 +01:00
Paulus Schoutsen
58b5833d64
Convert Hue to use unique ID ( #30000 )
...
* Convert Hue to use unique ID
* Fix normalization
* Store/restore unique ID
* Fix tests
2019-12-16 19:45:09 +01:00
Paulus Schoutsen
d851cb6f9e
Add unique ID to config entries ( #29806 )
...
* Add unique ID to config entries
* Unload existing entries with same unique ID if flow with unique ID is
finished
* Remove unused exception
* Fix typing
* silence pylint
* Fix tests
* Add unique ID to Hue
* Address typing comment
* Tweaks to comments
* lint
2019-12-16 12:27:43 +01:00
Bas Nijholt
67c56c860d
Sort imports according to PEP8 for 'homeassistant' folder ( #29789 )
...
Components are already done
2019-12-09 16:42:10 +01:00
Franck Nijhof
a4ec4d5a18
Add source constants for all config entry discovery sources ( #28311 )
2019-10-28 23:32:57 -07:00
Ville Skyttä
f88ead597a
Type hint improvements ( #28260 )
...
* Add and improve core and config_entries type hints
* Complete and improve config_entries type hints
* More entity registry type hints
* Complete helpers.event type hints
2019-10-28 13:36:26 -07:00
Ville Skyttä
381d423fec
Upgrade mypy to 0.740 ( #27913 )
...
* Upgrade mypy to 0.740
http://mypy-lang.blogspot.com/2019/10/mypy-0740-released.html
* Type hint additions
* Type fixes
* Remove no longer needed type ignores and casts
* Disable untyped definition checks in bunch of files
2019-10-19 11:35:57 -07:00
Paulus Schoutsen
b6c26cb363
Introduce new OAuth2 config flow helper ( #27727 )
...
* Refactor the Somfy auth implementation
* Typing
* Migrate Somfy to OAuth2 flow helper
* Add tests
* Add more tests
* Fix tests
* Fix type error
* More tests
* Remove side effect from constructor
* implementation -> auth_implementation
* Make get_implementation async
* Minor cleanup + Allow picking implementations.
* Add support for extra authorize data
2019-10-18 13:06:33 -07:00
Franck Nijhof
2f0eb07624
Migrate legacy typehints in core to PEP-526 ( #26403 )
...
* Migrate legacy typehints in core to PEP-526
* Fix one type
2019-09-03 20:36:04 -07:00
Paulus Schoutsen
f704a8e90e
Reload config entry when entity enabled in entity registry, remove entity if disabled. ( #26120 )
...
* Reload config entry when disabled_by updated in entity registry
* Add types
* Remove entities that get disabled
* Remove unnecessary domain checks.
* Attach handler in async_setup
* Remove unused var
* Type
* Fix test
* Fix tests
2019-08-22 19:32:43 -05:00
Paulus Schoutsen
cf2d927f14
Use init_subclass for Config Entries ( #26059 )
...
* Use init_subclass for Config Entries
* Ignore type
2019-08-20 10:46:51 -07:00
Paulus Schoutsen
a1dbdbba6a
Save config entry after updating system options ( #26077 )
2019-08-19 18:45:17 -05:00
Robert Svensson
a2589f56e1
Add system options to config entries ( #25926 )
...
* Add system options to config entries
* For feedback
* Follow most of balloobs comments
* Fix balloobs comments
* Improvements
* Fix second round of Balloobs comments
* Fix third round
* Add system options to mock config entry
* Fix integration tests
* Fix the last failing tests
* Fix disabled string
* Fix failing disabled_by tests
* New tests
* Config entry WS API tests
* Fix comments
2019-08-17 21:34:11 -07:00
Paulus Schoutsen
8a1ab8c0b5
Tweaks to options flow ( #25969 )
2019-08-15 14:11:55 -07:00
Paulus Schoutsen
4de97abc3a
Black
2019-07-31 12:25:30 -07:00
Ville Skyttä
b230562c76
Mypy config cleanups ( #25475 )
...
* Move file specific config to inline comments
* Disallow untyped defs by default everywhere
2019-07-25 08:08:20 +02:00
Ville Skyttä
fc5b1c7005
Mypy config improvements ( #25340 )
...
* Specify python version
So that it type checks against the lowest common denominator version,
not the runtime one.
* Disallow incomplete definitions
2019-07-20 14:35:59 -07:00
Ville Skyttä
56841da2d3
Upgrade mypy to 0.720, turn on unreachability warnings ( #25157 )
...
* Upgrade mypy to 0.720
* Turn on mypy unreachability warnings, address raised issues
2019-07-16 15:11:38 -07:00
Joakim Plate
2fbbcafaed
Support config flow on custom components ( #24946 )
...
* Support populating list of flows from custom components
* Re-allow custom component config flows
* Add tests for custom component retrieval
* Don't crash view if no handler exist
* Use get_custom_components instead fo resolve_from_root
* Switch to using an event instead of lock
* Leave list of integrations as set
* The returned list is not guaranteed to be ordered
Backend uses a set to represent them.
2019-07-09 01:19:37 +02:00
Ville Skyttä
e8a5306c23
Upgrade mypy to 0.711, drop no longer needed workarounds ( #24998 )
...
https://mypy-lang.blogspot.com/2019/06/mypy-0711-released.html
2019-07-07 03:58:33 +02:00
Ville Skyttä
a6eef22fbc
Upgrade mypy to 0.710 ( #24666 )
...
* Upgrade mypy to 0.710
* Address mypy 0.710 errors
2019-06-22 10:19:36 +03:00
Paulus Schoutsen
319ac23736
Warn when user tries run custom config flow ( #24657 )
2019-06-20 13:22:12 -07:00
Paulus Schoutsen
24e1a568a2
remove docs from config entries file [skip ci] ( #24488 )
2019-06-12 09:29:28 -07:00
Paulus Schoutsen
9debbfb1a8
Add SSDP integration ( #24090 )
...
* Add SSDP integration
* Fix tests
* Sort all the things
* Add netdisco to test requirements
2019-05-26 19:48:27 -07:00
Paulus Schoutsen
1e22c8daca
Automatically generate config flow list ( #23802 )
...
* Add config flow to manifest.json
* Still load config flows via config flow platform
* Fix typo
* Lint
* Update config_flows.py"
* Catch import error when setting up entry
* Lint
* Fix tests
* Fix imports
* Lint
* Fix Unifi tests
* Fix translation test
* Add homekit_controller config flow
2019-05-13 01:16:55 -07:00
Jc2k
b8cbd39985
HomeKit Controller: Adopt config entries for pairing with homekit accessories ( #23825 )
...
* Fix user initiated pairing + show more user friendly name
* Add lock around async_refresh_entity_map
* Migrate homekit_controller to config entries.
* Improve docstring
Co-Authored-By: Martin Hjelmare <marhje52@kth.se>
* Add dummy async_setup_platform
* add_service -> async_add_service
* Add missing returns
* Enable coverage checks for homekit_controller
2019-05-12 23:56:05 -07:00
Aaron Bach
45adb5c9c7
Add config entry for IQVIA ( #23765 )
...
* Add config entry for IQVIA
* Updated tests and requirements
* Removed unnecessary dependency
* Fixed tests
* Reverted unintended change
2019-05-09 09:11:51 -07:00