Marc Mueller
46b17b539c
Use new syntax for TypeVar defaults ( #135780 )
2025-01-17 09:12:52 +01:00
epenet
e83ee00af8
Move UsbServiceInfo to service_info helpers ( #135663 )
...
* Move UsbServiceInfo to service_info helpers
* Adjust components
2025-01-15 15:10:25 +01:00
epenet
8c13daf6d9
Move SsdpServiceInfo to service_info helpers ( #135661 )
...
* Move SsdpServiceInfo to service_info helpers
* docstring
* Move string constants
* Adjust components
2025-01-15 15:00:27 +02:00
epenet
31c36beb2e
Move DhcpServiceInfo to service_info helpers ( #135658 )
...
* Move DhcpServiceInfo to service_info helpers
* Fix mypy/pylint
2025-01-15 13:09:18 +01:00
epenet
b046ca9abe
Move ZeroconfServiceInfo to service_info helpers ( #135653 )
...
* Move ZeroconfServiceInfo to service_info helpers
* Adjust deprecation date
* Fix mypy/pylint
* Fix DeprecatedConstant
* Add deprecation test
* Adjust
* Also deprecate ATTR_PROPERTIES_ID
2025-01-15 12:25:42 +01:00
Franck Nijhof
60bdc13c94
Drop Python 3.12 support ( #135589 )
2025-01-14 16:23:15 +01:00
tronikos
f7df214dd8
Fix config entries typo s/entruis/entries/ ( #135431 )
...
Fix typo s/entruis/entries/
2025-01-12 11:07:45 +01:00
epenet
5df7092f41
Improve formatting in core files ( #135256 )
...
* Adjust core files formatting
* Adjust translations script
2025-01-10 09:08:37 +01:00
Erik Montnemery
ecb3bf79f3
Revert "Add support for subentries to config entries" ( #133470 )
...
Revert "Add support for subentries to config entries (#117355 )"
This reverts commit ad15786115
.
2024-12-18 13:51:05 +01:00
Erik Montnemery
ad15786115
Add support for subentries to config entries ( #117355 )
...
* Add support for subentries to config entries
* Improve error handling and test coverage
* Include subentry_id in subentry containers
* Auto-generate subentry_id and add optional unique_id
* Tweak
* Update tests
* Fix stale docstring
* Address review comments
* Typing tweaks
* Add methods to ConfigEntries to add and remove subentry
* Improve ConfigSubentryData typed dict
* Update test snapshots
* Adjust tests
* Fix unique_id logic
* Allow multiple subentries with None unique_id
* Add number of subentries to config entry JSON representation
* Add subentry translation support
* Allow integrations to implement multiple subentry flows
* Update translations schema
* Adjust exception text
* Change subentry flow init step to user
* Prevent creating a subentry with colliding unique_id
* Update tests
* Address review comments
* Remove duplicaetd unique_id collision check
* Remove change from the future
* Improve test coverage
* Add default value for unique_id
2024-12-12 20:16:18 +01:00
epenet
7ba3ce67f1
Use short namespace for dr and er in config_entries ( #131412 )
2024-11-24 00:12:40 +01:00
epenet
b11d951ed7
Add ability to get config_entry as required ( #131400 )
...
* Add ability to get config_entry as required
* One more
* Use new API
2024-11-23 22:26:16 +01:00
Erik Montnemery
23acc31616
Improve comments in ConfigEntriesFlowManager.async_finish_flow ( #131175 )
2024-11-21 16:33:43 +01:00
epenet
9add3a6c9b
Add ability to pass integration domain to report_usage ( #130705 )
...
* Add ability to pass integration domain to report_usage
* Adjust
* Fix
* Add tests
* Update test_frame.py
* Update test_frame.py
* Update test_frame.py
* Update test_frame.py
* Update test_frame.py
* Update test_frame.py
* Finish tests
* Docstring
* Replace logger warning with report_usage
* Improve
* docstring
* Improve tests
* Adjust docstring for exclude_integrations
* Fix behavior and improve tests
2024-11-21 16:01:36 +01:00
epenet
deeb55ac50
Add ability to set HA breaking version in report_usage ( #130858 )
...
* Add ability to set breaking version in report_usage
* Adjust tests
* Adjust test
* Adjust tests
* Rename breaks_in_version => breaks_in_ha_version
2024-11-20 21:41:57 +01:00
epenet
e772eef035
Prevent None strings in description_placeholders ( #127103 )
2024-11-15 14:39:57 +01:00
epenet
600f83ddab
Finish migration from report to report_usage ( #130412 )
2024-11-15 12:35:50 +01:00
epenet
f1ce7ee8ce
Adjust logging for OptionsFlow deprecation ( #130360 )
2024-11-11 21:02:09 +01:00
epenet
353ccf3ea7
Only apply OptionsFlowWithConfigEntry deprecation to core ( #130054 )
...
* Only apply OptionsFlowWithConfigEntry deprecation to core
* Fix match string in pytest.raises
* Improve coverage
2024-11-08 15:55:19 +01:00
Erik Montnemery
2b7d593ebe
Avoid collision when replacing existing config entry with same unique id ( #130062 )
2024-11-08 07:45:16 +01:00
Erik Montnemery
536e686892
Don't create repairs asking user to remove duplicate flipr config entries ( #130058 )
...
* Don't create repairs asking user to remove duplicate flipr config entries
* Improve comments
2024-11-07 17:38:10 +01:00
Erik Montnemery
c5e3ba536c
Don't create repairs asking user to remove duplicate ignored config entries ( #130056 )
2024-11-07 17:07:23 +01:00
epenet
03d5b18974
Remove options property from OptionFlow ( #129890 )
...
* Remove options property from OptionFlow
* Update test_config_entries.py
* Partial revert of "Remove deprecated property setters in option flows (#129773 )"
* Partial revert "Use new helper properties in crownstone options flow (#129774 )"
* Restore onewire init
* Restore onvif
* Restore roborock
* Use deepcopy in onewire
* Restore steam_online
* Restore initial options property in OptionsFlowWithConfigEntry
* re-add options property in SchemaOptionsFlowHandler
* Restore test
* Cleanup
2024-11-06 23:28:01 +01:00
epenet
79901cede9
Drop initialize_options helper from OptionsFlow ( #129870 )
2024-11-05 12:02:33 +01:00
epenet
d180ff417d
Cleanup deprecated OptionsFlowWithConfigEntry (part 3) ( #129756 )
2024-11-04 18:55:01 +01:00
Erik Montnemery
4ac35d40cd
Fix create flow logic for single config entry integrations ( #129807 )
...
* Fix create flow logic for single config entry integrations
* Adjust MQTT test
2024-11-04 15:45:29 +01:00
Erik Montnemery
4784199038
Fix aborting flows for single config entry integrations ( #129805 )
2024-11-04 13:59:10 +01:00
epenet
89eb395e2d
Add OptionsFlow helper for a mutable copy of the config entry options ( #129718 )
...
* Add OptionsFlow helper for a mutable copy of the config entry options
* Add tests
* Improve coverage
* error_if_core=False
* Adjust report
* Avoid mutli-line ternary
2024-11-03 20:37:58 +01:00
epenet
ab5b9dbdc9
Add OptionsFlow helpers to get the current config entry ( #129562 )
...
* Add OptionsFlow helpers to get the current config entry
* Add tests
* Improve
* Add ValueError to indicate that the config entry is not available in `__init__` method
* Use a property
* Update config_entries.py
* Update config_entries.py
* Update config_entries.py
* Add a property setter for compatibility
* Add report
* Update config_flow.py
* Add tests
* Update test_config_entries.py
2024-11-01 12:54:35 +01:00
epenet
b626c9b450
Ensure entry_id is set on reauth/reconfigure flows ( #129319 )
...
* Ensure entry_id is set on reauth/reconfigure flows
* Improve
* Improve
* Use report helper
* Adjust deprecation date
* Update config_entries.py
* Improve message and adjust tests
* Apply suggestions from code review
Co-authored-by: G Johansson <goran.johansson@shiftit.se>
---------
Co-authored-by: G Johansson <goran.johansson@shiftit.se>
2024-11-01 10:29:58 +01:00
epenet
696efe349e
Log type as well as value for unique_id checks ( #129575 )
2024-10-31 15:10:27 +01:00
G Johansson
a4f210379d
Raise on non-string unique id for config entry ( #125950 )
...
* Raise on non-string unique id for config entry
* Add test update entry
* Fix breaking
* Add check get_entry_by_domain_and_unique_id
* Naming
* Add test
* Fix logic
* No unique id
* Fix tests
* Fixes
* Fix gardena
* Not related to this PR
* Update docstring and comment
---------
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-10-30 18:09:50 +01:00
G Johansson
3db6d82904
Add name to description placeholders automatically for reauth flows ( #129232 )
...
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-10-30 17:38:59 +01:00
Robert Resch
380974eed4
Remove hassio from ALLOWED_USED_COMPONENTS and move some functions to helper ( #127228 )
...
* Remove hassio from ALLOWED_USED_COMPONENTS
* Move HassioServiceInfo to helpers.service_info
* Deprecate moved functions
* Add note about deprecation
* Fix tests
* Implement suggestion
* Typo
* Update pyproject.toml
Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
---------
Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2024-10-30 12:43:41 +01:00
Erik Montnemery
da11a72b4c
Create repair asking user to remove duplicate config entries ( #127948 )
...
Co-authored-by: Joostlek <joostlek@outlook.com>
2024-10-29 13:10:56 +01:00
epenet
5674c1d82f
Use reauth helpers in google_mail ( #128584 )
2024-10-18 09:04:55 +02:00
epenet
350a27575f
Prevent leak of current_entry context variable ( #128145 )
2024-10-16 18:02:37 +02:00
epenet
0e7297873c
Add SOURCE_HASSIO to DISCOVERY_SOURCES ( #128454 )
2024-10-16 13:34:28 +02:00
epenet
8ae8fa7ec9
Add SOURCE_SYSTEM to DISCOVERY_SOURCES ( #128457 )
2024-10-16 11:27:48 +02:00
epenet
99eb466223
Add updates argument to update_reload_and_abort helper ( #127781 )
...
* Add updates argument to update_reload_and_abort helper
* Also apply to airvisual_pro
* Rename argument
* docstring
* Use modern syntax
Co-authored-by: Erik Montnemery <erik@montnemery.com>
* Apply suggestion
Co-authored-by: Erik Montnemery <erik@montnemery.com>
* Apply suggestion
* Docstring
---------
Co-authored-by: Erik Montnemery <erik@montnemery.com>
2024-10-09 07:47:18 +02:00
epenet
5836a85340
Prevent `async_create_entry` from reauth/reconfigure flows ( #127527 )
...
* Prevent `async_create_entry` from reauth/reconfigure flows
* Adjust message
* Don't raise just yet
* Adjust message
* Fix string
* Remove invalid comment
* Add parameter
* Use count parameter
* Remove another branching
2024-10-08 15:19:58 +02:00
Erik Montnemery
0c0ff855b1
Warn when async_update_entry creates a unique_id collision ( #127929 )
2024-10-08 14:42:41 +02:00
epenet
4478f64002
Remove dead reconfigure code ( #127398 )
...
* Remove dead reconfigure code
* Adjust
* Start cleaning up test
* Prevent duplicate flows
* Add missing string
* Adjust two more tests
* Only filter out reauth flows
* Update strings.json
* Update config_entries.py
* Adjust tests
* Remove all checks - but add comment in tests
* Simplify PR
2024-10-08 13:35:04 +02:00
Erik Montnemery
d6ee10a543
Make FlowHandler.context a typed dict ( #126291 )
...
* Make FlowHandler.context a typed dict
* Adjust typing
* Adjust typing
* Avoid calling ConfigFlowContext constructor in hot path
2024-10-08 12:18:45 +02:00
epenet
2c664efb3c
Add new helper for matching reauth/reconfigure config flows ( #127565 )
2024-10-08 10:07:36 +02:00
epenet
c87a2ca335
Add default reconfigure reason in update_reload_and_abort ( #127756 )
...
* Add default reconfigure reason in async_update_reload_and_abort
* Simplify
* Fix test
* Add sample usage
* Remove multi-line ternary
2024-10-07 09:02:58 +02:00
J. Nick Koston
10c033e580
Migrate config_entries to use propcache cached_property ( #127495 )
2024-10-03 22:28:00 +02:00
Erik Montnemery
48a07d531c
Remove assumption in ConfigEntryItems about unique unique_id ( #127399 )
2024-10-03 22:27:15 +02:00
J. Nick Koston
e2b1ef053f
Cache serialization of config entry storage ( #127435 )
2024-10-03 19:51:09 +02:00
epenet
21266e1c68
Add config_flow helper to get reauth/reconfigure config entry ( #127115 )
...
* Add config_flow helper to get config entry from context
* Simplify
* Apply to aussie_broadband
* Another example
* Rename and adjust docstring
* Simplify
* Add test
* Refactor to hide context
* Raise
* Improve coverage
* Use AttributeError
* Use ValueError
* Raise UnknownEntry
2024-10-02 12:00:07 +02:00