Fix duplicated resource issue in System Monitor (#107671)

* Fix duplicated resource issue

* Only slug the argument
This commit is contained in:
G Johansson 2024-01-12 08:44:38 +01:00 committed by GitHub
parent 83fbcb11ea
commit e715d6a7a1
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -405,7 +405,7 @@ async def async_setup_entry(
is_enabled = check_legacy_resource(
f"{_type}_{argument}", legacy_resources
)
loaded_resources.add(f"{_type}_{argument}")
loaded_resources.add(f"{_type}_{slugify(argument)}")
entities.append(
SystemMonitorSensor(
sensor_registry,
@ -425,7 +425,7 @@ async def async_setup_entry(
is_enabled = check_legacy_resource(
f"{_type}_{argument}", legacy_resources
)
loaded_resources.add(f"{_type}_{argument}")
loaded_resources.add(f"{_type}_{slugify(argument)}")
entities.append(
SystemMonitorSensor(
sensor_registry,
@ -449,7 +449,7 @@ async def async_setup_entry(
sensor_registry[(_type, argument)] = SensorData(
argument, None, None, None, None
)
loaded_resources.add(f"{_type}_{argument}")
loaded_resources.add(f"{_type}_{slugify(argument)}")
entities.append(
SystemMonitorSensor(
sensor_registry,
@ -478,10 +478,13 @@ async def async_setup_entry(
# of mount points automatically discovered
for resource in legacy_resources:
if resource.startswith("disk_"):
check_resource = slugify(resource)
_LOGGER.debug(
"Check resource %s already loaded in %s", resource, loaded_resources
"Check resource %s already loaded in %s",
check_resource,
loaded_resources,
)
if resource not in loaded_resources:
if check_resource not in loaded_resources:
split_index = resource.rfind("_")
_type = resource[:split_index]
argument = resource[split_index + 1 :]