hass-core/homeassistant/helpers
Erik Montnemery dd5a48996a
Keep capabilities up to date in the entity registry (#101748)
* Keep capabilities up to date in the entity registry

* Warn if entities update their capabilities very often

* Fix updating of device class

* Stop tracking capability updates once flooding is logged

* Only sync registry if state changed

* Improve test

* Revert "Only sync registry if state changed"

This reverts commit 1c52571596c06444df234d4b088242b494b630f2.

* Avoid calculating device class twice

* Address review comments

* Revert using dataclass

* Fix unintended revert

* Add helper method
2023-12-13 17:27:26 +01:00
..
service_info
__init__.py Move config_per_platform and extract_domain_configs to config.py (#104989) 2023-12-04 12:48:49 +01:00
aiohttp_client.py Bump aiohttp to 3.9.1 (#104176) 2023-11-29 16:13:54 +01:00
area_registry.py
check_config.py Add domain key config validation (#104242) 2023-12-05 15:07:32 +01:00
collection.py Add TypeVar defaults for DataUpdateCoordinator and EntityComponent (#95026) 2023-06-22 03:33:23 +02:00
condition.py
config_entry_flow.py
config_entry_oauth2_flow.py Improve OAuth error handling in configuration flows (#103157) 2023-11-11 11:02:51 +01:00
config_validation.py Add domain key config validation (#104242) 2023-12-05 15:07:32 +01:00
data_entry_flow.py Use @require_admin decorator (#98061) 2023-08-14 15:07:20 +02:00
debounce.py Downgrade Debouncer call ignored log message (#98840) 2023-08-22 14:42:33 -05:00
deprecation.py Allow passing breaks_in_ha_version to deprecation helper decorators (#104985) 2023-12-04 11:52:10 +01:00
device_registry.py Update mypy to 1.7.0 (#103800) 2023-11-11 23:31:04 +01:00
discovery.py
discovery_flow.py Rename gather_with_concurrency to gather_with_limited_concurrency (#102241) 2023-10-19 15:08:52 +02:00
dispatcher.py Refactor dispatcher to reduce run time and memory overhead (#99676) 2023-09-05 21:18:27 -04:00
entity.py Keep capabilities up to date in the entity registry (#101748) 2023-12-13 17:27:26 +01:00
entity_component.py Move config_per_platform and extract_domain_configs to config.py (#104989) 2023-12-04 12:48:49 +01:00
entity_platform.py Reverse component path (#104087) 2023-12-05 08:43:58 +01:00
entity_registry.py Update ReadOnlyEntityOptions typing (#103813) 2023-11-11 22:30:55 +01:00
entity_values.py Limit cache size of EntityValues (#94983) 2023-06-21 22:23:35 +02:00
entityfilter.py Reduce code in entity filter (#94882) 2023-06-21 08:37:19 +01:00
event.py Switch formatting from black to ruff-format (#102893) 2023-11-27 14:38:59 +01:00
frame.py Use loader.async_suggest_report_issue in frame helper (#101461) 2023-10-05 19:52:26 +02:00
httpx_client.py Import names from typing instead of typing_extensions [3.11] (#97065) 2023-07-22 17:03:44 -05:00
icon.py Cache construction of battery icon (#102194) 2023-10-18 07:35:39 +02:00
instance_id.py Regenerate instance ID on error (#94898) 2023-06-20 11:16:51 +02:00
integration_platform.py Remove async_process_integration_platform_for_component (#100680) 2023-09-21 17:06:41 +02:00
intent.py Add HassNevermind intent (bump intents package) (#102131) 2023-10-16 19:13:26 -05:00
issue_registry.py Make the check_config script open issue_registry read only (#98545) 2023-08-18 20:15:00 +02:00
json.py Fix most sphinx documentation warnings (#101228) 2023-10-02 09:01:41 +02:00
location.py
network.py Extend auth/providers endpoint and add /api/person/list endpoint for local ip requests (#103906) 2023-11-24 17:11:54 +01:00
ratelimit.py
recorder.py
reload.py Move config_per_platform and extract_domain_configs to config.py (#104989) 2023-12-04 12:48:49 +01:00
restore_state.py Switch formatting from black to ruff-format (#102893) 2023-11-27 14:38:59 +01:00
schema_config_entry_flow.py Improve decorator type annotations [core] (#104826) 2023-11-30 18:50:31 +01:00
script.py Remove unnecessary block use of pylint disable in components p-z (#100192) 2023-09-12 20:47:48 +02:00
script_variables.py
selector.py Add multiple option to text selector (#104635) 2023-11-29 18:32:32 +01:00
sensor.py Move DeviceInfo from entity to device registry (#98149) 2023-08-10 22:04:26 -04:00
service.py Remove logic converting empty or falsy YAML to empty dict (#103912) 2023-12-05 18:08:11 +01:00
signal.py
significant_change.py
singleton.py Update mypy to 1.4.0 (#94987) 2023-06-21 16:12:51 +02:00
start.py
state.py Remove deprecated state.get_changed_since (#96579) 2023-07-18 09:42:48 +02:00
storage.py Remove unnnecessary pylint configs from core (#98704) 2023-08-22 23:12:12 +02:00
sun.py
system_info.py Ensure async_get_system_info does not fail if supervisor is unavailable (#96492) 2023-07-16 11:10:07 -04:00
temperature.py
template.py Workaround to_json template filter in parsing dict key (#105327) 2023-12-08 20:57:53 +01:00
trace.py Use slots in TraceElement (#95877) 2023-07-05 08:44:00 +02:00
translation.py Reverse component path (#104087) 2023-12-05 08:43:58 +01:00
trigger.py Update mypy to 1.7.0 (#103800) 2023-11-11 23:31:04 +01:00
trigger_template_entity.py Set TriggerBaseEntity device_class in init (#100216) 2023-09-12 19:36:56 +02:00
typing.py Add generic Event class (#97071) 2023-07-23 21:51:54 +02:00
update_coordinator.py Switch formatting from black to ruff-format (#102893) 2023-11-27 14:38:59 +01:00