J. Nick Koston
7b2aa3a369
Improve performance of config/entity_registry/get* calls ( #101984 )
2023-10-14 08:40:16 -10:00
Marc Mueller
02567d9bf6
Revert aiohttp to 3.8.5 for Python 3.11 ( #101932 )
2023-10-13 14:12:42 +02:00
G Johansson
dc29190564
CountrySelector ( #100963 )
...
* CountrySelector
* rename
* remove multiple for now
* Add no_sort
* Update homeassistant/helpers/selector.py
---------
Co-authored-by: Erik Montnemery <erik@montnemery.com>
2023-10-12 16:44:30 +02:00
Marc Mueller
0b2b486754
Update mypy to 1.6.0 ( #101780 )
2023-10-11 13:25:11 +02:00
Robert Resch
b932c67eb7
Delete optional schema keys, when they are not present ( #101755 )
...
Co-authored-by: Erik Montnemery <erik@montnemery.com>
2023-10-10 21:08:54 +02:00
Nicolas van de Walle
1b11062b27
Improved debugging for "Failed to set state" ( #101657 )
2023-10-08 19:40:42 +02:00
Joost Lekkerkerker
faea3b1634
Abort config flow when invalid token is received ( #101642 )
2023-10-08 13:32:35 +02:00
Marc Mueller
3155e62510
Update aiohttp to 3.9.0b0 ( #101627 )
2023-10-08 13:21:46 +02:00
Erik Montnemery
3478666973
Use loader.async_suggest_report_issue in deprecation helper ( #101393 )
2023-10-06 09:51:08 +02:00
Erik Montnemery
dce5099d92
Use loader.async_suggest_report_issue in frame helper ( #101461 )
2023-10-05 19:52:26 +02:00
Erik Montnemery
7e39acda37
Minor improvement of frame helper ( #101387 )
...
* Minor improvement of frame helper
* Add new custom integration for testing
* Make IntegrationFrame kw_only
2023-10-04 21:43:00 +02:00
Erik Montnemery
17779c5f0c
Add loader.async_suggest_report_issue and loader.async_get_issue_tracker ( #101336 )
...
* Add loader.async_suggest_report_issue and loader.async_get_issue_tracker
* Update tests
* Add tests
* Address review comments
* Address review comments
2023-10-04 13:40:33 +02:00
Ville Skyttä
5551a345ea
Remove some unnecessary uses of regular expressions ( #101182 )
2023-10-03 20:55:00 -05:00
Erik Montnemery
ab2de18f8f
Refactor frame.get_integration_frame ( #101322 )
2023-10-03 19:21:27 +02:00
Dave T
99a76ef4e6
Fix most sphinx documentation warnings ( #101228 )
2023-10-02 09:01:41 +02:00
Ville Skyttä
f4bf8fa8f1
Catch HTML case insensitively in "no HTML" config validation ( #101181 )
2023-10-01 16:19:24 +02:00
Erik Montnemery
47ecce4873
Allow deleting entity entries from entity_registry.async_migrate_entries ( #101094 )
...
* Allow deleting entity entries from entity_registry.async_migrate_entries
* Explicitly return None in tests
2023-09-30 10:23:10 +02:00
Erik Montnemery
ab060b86d1
Remove async_process_integration_platform_for_component ( #100680 )
2023-09-21 17:06:41 +02:00
Erik Montnemery
fbcc5318c5
Move attributes to be excluded from recording to entity classes ( #100239 )
...
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-09-20 18:09:12 +02:00
Erik Montnemery
d1afcd773f
Revert "Cache entity properties that are never expected to change in the base class" ( #100422 )
...
Revert "Cache entity properties that are never expected to change in the base class (#95315 )"
This reverts commit 042776ebb8
.
2023-09-15 11:25:24 +02:00
J. Nick Koston
042776ebb8
Cache entity properties that are never expected to change in the base class ( #95315 )
2023-09-14 17:48:48 -05:00
Joakim Plate
5f20725fd5
Remove _next_refresh variable in update coordinator ( #100323 )
...
* Remove _next_refresh variable
* Adjust tomorrowio
2023-09-14 22:32:50 +02:00
J. Nick Koston
547f32818c
Make core States use cached_property ( #100312 )
...
Need to validate this is worth removing __slots__
2023-09-13 20:33:25 -04:00
J. Nick Koston
fe5eba9b31
Use cached_property in device registry ( #100309 )
2023-09-13 15:36:07 -05:00
J. Nick Koston
877eedf6d7
Use cached_property in entity_registry ( #100302 )
2023-09-13 14:38:40 -05:00
Erik Montnemery
c3d1cdd0e9
Improve UserDict in device and entity registries ( #100307 )
2023-09-13 11:09:34 -05:00
Erik Montnemery
684b2d4537
Improve type hint in entity_registry ( #100278 )
2023-09-13 12:42:06 +02:00
Erik Montnemery
bbcbb2e322
Improve Entity._suggest_report_issue ( #100204 )
2023-09-12 21:07:32 +02:00
Erik Montnemery
09ad1a9a36
Remove unnecessary block use of pylint disable in components p-z ( #100192 )
2023-09-12 20:47:48 +02:00
Erik Montnemery
51576b7214
Improve typing of entity.entity_sources ( #99407 )
...
* Improve typing of entity.entity_sources
* Calculate entity info source when generating WS response
* Adjust typing
* Update tests
2023-09-12 20:41:26 +02:00
J. Nick Koston
8af7475f73
Set TriggerBaseEntity device_class in init ( #100216 )
2023-09-12 19:36:56 +02:00
J. Nick Koston
3b8d99dcd8
Add __slots__ to translation cache ( #100069 )
2023-09-10 20:46:55 +02:00
Erik Montnemery
1654ef7759
Make WS command render_template not give up if initial render raises ( #99808 )
2023-09-08 21:02:06 +02:00
J. Nick Koston
bd1d8675a9
Avoid many hass.is_stopping calls in the discovery helper ( #99929 )
...
async_has_matching_flow is more likely to be True than hass.is_stopping
This does not make much difference but it was adding noise to a profile
that I am digging into to look for another issue
2023-09-08 13:09:29 -04:00
J. Nick Koston
3d403c9b60
Refactor entity service calls to reduce complexity ( #99783 )
...
* Refactor entity service calls to reduce complexity
gets rid of the noqa C901
* Refactor entity service calls to reduce complexity
gets rid of the noqa C901
* short
2023-09-08 13:04:53 -04:00
Erik Montnemery
eee5705458
Fix typo in TrackTemplateResultInfo ( #99809 )
2023-09-07 13:00:26 +02:00
Erik Montnemery
c9a6ea94a7
Send template render errors to template helper preview ( #99716 )
2023-09-06 16:07:05 +02:00
J. Nick Koston
034fabe188
Use loop time to set context ( #99701 )
...
* Use loop time to set context
loop time is faster than utcnow, and since its only used internally it can
be switched without a breaking change
* fix mocking
2023-09-06 11:04:49 +02:00
Erik Montnemery
48f7924e9e
Allow specifying a custom log function for template render ( #99572 )
...
* Allow specifying a custom log function for template render
* Bypass template cache when reporting errors + fix tests
* Send errors as events
* Fix logic for creating new TemplateEnvironment
* Add strict mode back
* Only send error events if report_errors is True
* Force test of websocket_api only
* Debug test
* Run pytest with higher verbosity
* Timeout after 1 minute, enable syslog output
* Adjust timeout
* Add debug logs
* Fix unsafe call to WebSocketHandler._send_message
* Remove debug code
* Improve test coverage
* Revert accidental change
* Include severity in error events
* Remove redundant information from error events
2023-09-06 10:03:35 +02:00
Erik Montnemery
cdca4591a4
Include template listener info in template preview ( #99669 )
2023-09-06 09:49:42 +02:00
J. Nick Koston
a2dae60170
Refactor dispatcher to reduce run time and memory overhead ( #99676 )
...
* Fix memory leak in dispatcher removal
When we removed the last job/callable from the dict for the
signal we did not remove the dict for the signal which meant
it leaked
* comment
* cleanup a bit more
2023-09-05 21:18:27 -04:00
Erik Montnemery
de73cafc8b
Small cleanup of TemplateEnvironment ( #99571 )
...
* Small cleanup of TemplateEnvironment
* Fix typo
2023-09-04 22:19:40 +02:00
Erik Montnemery
709ce7e0af
Set state of entity with invalid state to unknown ( #99452 )
...
* Set state of entity with invalid state to unknown
* Add test
* Apply suggestions from code review
Co-authored-by: Robert Resch <robert@resch.dev>
* Update test_entity.py
---------
Co-authored-by: Robert Resch <robert@resch.dev>
2023-09-04 14:09:51 +02:00
J. Nick Koston
5f487b5d85
Refactor async_call_at and async_call_later event helpers to avoid creating closures ( #99469 )
2023-09-03 08:19:06 -05:00
Allen Porter
7b1c0c2df2
Extend template entities with a script section ( #96175 )
...
* Extend template entities with a script section
This allows making a trigger entity that triggers a few times a day,
and allows collecting data from a service resopnse which can be
fed into a template entity.
The current alternatives are to publish and subscribe to events or to
store data in input entities.
* Make variables set in actions accessible to templates
* Format code
---------
Co-authored-by: Erik <erik@montnemery.com>
2023-09-02 16:19:45 -07:00
Erik Montnemery
691bbedfc8
Fix typo in TrackTemplateResultInfo ( #99276 )
2023-08-29 08:54:38 -05:00
J. Nick Koston
0e6b3d6583
Switch async_track_same_state to use async_call_later ( #99219 )
...
* Switch async_track_same_state to use async_call_later
There was no need to use async_track_point_in_utc_time here since
we only need a delay
* update trigger tests
* remove some more utcnow patching
* remove some more utcnow patching
* remove some more utcnow patching
2023-08-28 22:30:20 +02:00
J. Nick Koston
80d2309896
Switch async_track_time_interval to use async_call_later internally ( #99220 )
2023-08-28 13:56:22 -05:00
Erik Montnemery
9dac6a2948
Use loop.time in DataUpdateCoordinator ( #98937 )
2023-08-28 10:16:34 -05:00
Erik Montnemery
3a71e21d6a
Add and improve comments about staggering of event listeners ( #99058 )
2023-08-25 19:47:13 +02:00
G Johansson
61c17291fb
Move TemplateEntity to template ( #98957 )
...
* Move TemplateEntity to template
* Rename template_entity in helpers
2023-08-24 15:37:04 +02:00
G Johansson
b69e8fda77
Remove `TemplateSensor` from the `template_entity` helper ( #98945 )
...
Clean off TemplateSensor
2023-08-24 12:14:39 +02:00
Erik Montnemery
d282ba6bac
Use a single WS command for group preview ( #98903 )
...
* Use a single WS command for group preview
* Fix tests
2023-08-24 11:59:24 +02:00
Erik Montnemery
c47983621c
Teach CoordinatorWeatherEntity about multiple coordinators ( #98830 )
2023-08-24 11:28:20 +02:00
Ville Skyttä
6399d74c15
Remove unnnecessary pylint configs from core ( #98704 )
2023-08-22 23:12:12 +02:00
Shay Levy
0d55718117
Downgrade Debouncer call ignored log message ( #98840 )
2023-08-22 14:42:33 -05:00
Erik Montnemery
b885dfa5a8
Add preview to sensor group config and option flows ( #83638 )
2023-08-22 10:29:16 +02:00
Michael Arthur
82b3ced4f1
Add lawnmower entity ( #93623 )
...
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2023-08-21 12:19:55 +02:00
Ville Skyttä
3094991236
Upgrade ruff to 0.0.285 ( #98647 )
2023-08-19 08:17:17 -04:00
G Johansson
268e5244f0
Cleanup ManualTriggerSensorEntity ( #98629 )
...
* Cleanup ManualTriggerSensorEntity
* ConfigType
2023-08-18 20:19:17 +02:00
Erik Montnemery
7fcc2dd44e
Make the check_config script open issue_registry read only ( #98545 )
...
* Don't blow up if validators can't access the issue registry
* Make the check_config script open issue_registry read only
* Update tests/helpers/test_issue_registry.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
---------
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2023-08-18 20:15:00 +02:00
Erik Montnemery
91faa53843
Don't allow hass.config.config_dir to be None ( #98442 )
2023-08-16 13:00:14 +02:00
Marc Mueller
a9ade1f84d
Use asyncio.timeout [core] ( #98447 )
2023-08-15 08:36:05 -05:00
Robert Resch
b0f68f1ef3
Use @require_admin decorator ( #98061 )
...
Co-authored-by: Robert Resch <robert@resch.dev>
Co-authored-by: Marc Mueller <30130371+cdce8p@users.noreply.github.com>
2023-08-14 15:07:20 +02:00
Erik Montnemery
97f3199d6d
Do not add entities with invalid device info ( #98150 )
2023-08-11 13:14:47 +02:00
Erik Montnemery
2e1a5ddf2b
Don't allow creating device if config entry does not exist ( #98157 )
...
* Don't allow creating device if config entry does not exist
* Fix test
* Update test
2023-08-10 22:09:13 -04:00
Erik Montnemery
045c327928
Move DeviceInfo from entity to device registry ( #98149 )
...
* Move DeviceInfo from entity to device registry
* Update integrations
2023-08-10 22:04:26 -04:00
Franck Nijhof
296c27859e
Fix issue registry sending unneeded update events ( #98230 )
2023-08-10 21:57:42 -04:00
G Johansson
aacb8aecfc
Refactor Rest Sensor with ManualTriggerEntity ( #97396 )
...
* ManualTriggerEntity for rest sensor
* add availability test
* review comments
* last fixes
2023-08-10 21:46:56 +02:00
Franck Nijhof
868a5f377f
Ruff: isort don't split imports based on trailing comma ( #98162 )
2023-08-10 14:27:03 +02:00
G Johansson
4531dbbe62
Refactor Rest Binary sensor with ManualTriggerEntity ( #97400 )
...
* Refactor Rest Binary sensor w/ ManualTriggerEntity
* test availability
* review comments
* Use super
* Fix config
2023-08-10 12:59:23 +02:00
Erik Montnemery
e1f0b44ba4
Use math.isfinite instead of explicitly checking for both nan and inf ( #98103 )
2023-08-09 14:13:57 +02:00
Erik Montnemery
683c2f8d22
Add service for getting a weather forecast ( #97078 )
...
* Add service for getting a weather forecast
* Fix translations
* Improve service description
* Improve error handling
* Adjust typing
* Adjust typing
* Adjust service response format
2023-08-07 14:05:37 +02:00
Paul Bottein
83af2f5b8b
Allow to sort options in select selector ( #97680 )
...
Co-authored-by: Franck Nijhof <git@frenck.dev>
2023-08-03 21:49:22 +02:00
Franck Nijhof
af5fc7e759
Ensure load the device registry if it contains invalid configuration URLs ( #97589 )
2023-08-01 23:15:31 +02:00
J. Nick Koston
094f2cbad7
Fix saving subclassed datetime objects in storage ( #97502 )
2023-07-31 18:49:02 +02:00
Marc Mueller
4d9b73033d
Update python-typing-update to 0.6.0 ( #97531 )
2023-07-31 17:59:40 +02:00
G Johansson
1f11ce63fc
Manual trigger entity fix name influence entity_id ( #97398 )
2023-07-30 18:47:34 +02:00
J. Nick Koston
13349e76ed
Avoid firing update coordinator callbacks when nothing has changed ( #97268 )
2023-07-28 12:19:20 -05:00
Franck Nijhof
737ac8c600
Fix DeviceInfo configuration_url validation ( #97319 )
2023-07-27 18:57:01 +02:00
Paulus Schoutsen
aad281db18
Add service to OpenAI to Generate an image ( #97018 )
...
Co-authored-by: Franck Nijhof <git@frenck.dev>
2023-07-26 10:14:18 +02:00
Franck Nijhof
b655b9d530
Allow for translating service examples ( #97141 )
2023-07-24 15:57:02 +02:00
Marc Mueller
995c29e052
Cleanup EventType typing ( #97136 )
2023-07-24 13:18:38 +02:00
Marc Mueller
582499a260
Improve `async_track_template_result` callback typing ( #97135 )
2023-07-24 12:42:17 +02:00
Marc Mueller
c0da6b822e
Fix ruff ( #97131 )
2023-07-24 10:34:16 +02:00
Marc Mueller
3371c41bda
Improve `async_track_device_registry_updated_event` callback typing ( #97125 )
2023-07-24 09:42:01 +02:00
Marc Mueller
0624345322
Improve `async_track_entity_registry_updated_event` callback typing ( #97124 )
2023-07-24 09:14:10 +02:00
Marc Mueller
235b98da8a
Use EventType for remaining event helper methods ( #97121 )
2023-07-23 18:32:29 -05:00
Marc Mueller
69d7b035e0
Use EventType for more helper methods ( #97107 )
2023-07-23 23:22:04 +02:00
Franck Nijhof
30058297cf
Migrate backported StrEnum to built-in StrEnum ( #97101 )
2023-07-23 23:19:24 +02:00
Marc Mueller
bdd253328d
Add generic Event class ( #97071 )
2023-07-23 21:51:54 +02:00
J. Nick Koston
e60313628f
Add a cancel message to the aiohttp compatiblity layer ( #97058 )
2023-07-22 17:06:32 -05:00
Marc Mueller
77f38e33e5
Import names from typing instead of typing_extensions [3.11] ( #97065 )
2023-07-22 17:03:44 -05:00
Jan Bouwhuis
9424d11408
Allow homeassistant in MQTT configuration_url schema ( #96107 )
2023-07-22 22:50:58 +02:00
Joost Lekkerkerker
0ba2531ca4
Fix bug in check_config when an integration is removed by its own validator ( #96068 )
...
* Raise if present is False
* Fix feedback
* Update homeassistant/helpers/check_config.py
Co-authored-by: Erik Montnemery <erik@montnemery.com>
* Update homeassistant/helpers/check_config.py
Co-authored-by: Erik Montnemery <erik@montnemery.com>
* Fix tests
---------
Co-authored-by: Erik Montnemery <erik@montnemery.com>
2023-07-20 11:45:44 +02:00
G Johansson
4e2b00a443
Refactor SQL with ManualTriggerEntity ( #95116 )
...
* First go
* Finalize sensor
* Add tests
* Remove not need _attr_name
* device_class
* _process_manual_data allow Any as value
2023-07-20 11:35:08 +02:00
Erik Montnemery
f0953dde95
Add comment to EntityPlatform._async_add_entity about update_before_add ( #96891 )
2023-07-19 13:07:23 +02:00
J. Nick Koston
01e66d6fb2
Improve handling of unrecoverable storage corruption ( #96712 )
...
* Improve handling of unrecoverable storage corruption
fixes #96574
If something in storage gets corrupted core can boot loop
or if its integration specific, the integration will fail to
start.
We now complainly loudly in the log, move away the corrupt data
and start fresh to allow startup to proceed so the user can
get to the UI and restore from backup without having to attach
a console (or otherwise login to the OS and manually modify files).
* test for corruption
* ensure OSError is still fatal
* one more case
* create an issue for corrupt storage
* fix key
* persist
* feedback
* feedback
* better to give the full path
* tweaks
* grammar
* add time
* feedback
* adjust
* try to get issue_domain from storage key
* coverage
* tweak wording some more
2023-07-19 09:23:12 +02:00
Paul Bottein
d8c989f732
Make default theme selectable for set theme service ( #96849 )
2023-07-18 17:36:35 +02:00
Franck Nijhof
b9f92b526b
Add prefix support to text selector ( #96830 )
2023-07-18 12:17:31 +02:00