Fix System Bridge unique key for filesystem sensors (#53446)

This commit is contained in:
Aidan Timson 2021-07-25 11:31:16 +01:00 committed by GitHub
parent 7e59f3160b
commit c8d2fc1e04
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -223,25 +223,26 @@ class BridgeFilesystemSensor(BridgeSensor):
self, coordinator: DataUpdateCoordinator, bridge: Bridge, key: str self, coordinator: DataUpdateCoordinator, bridge: Bridge, key: str
) -> None: ) -> None:
"""Initialize System Bridge sensor.""" """Initialize System Bridge sensor."""
uid_key = key.replace(":", "")
super().__init__( super().__init__(
coordinator, coordinator,
bridge, bridge,
f"filesystem_{key}", f"filesystem_{uid_key}",
f"{key} Space Used", f"{key} Space Used",
"mdi:harddisk", "mdi:harddisk",
None, None,
PERCENTAGE, PERCENTAGE,
True, True,
) )
self._key = key self._fs_key = key
@property @property
def state(self) -> float: def state(self) -> float:
"""Return the state of the sensor.""" """Return the state of the sensor."""
bridge: Bridge = self.coordinator.data bridge: Bridge = self.coordinator.data
return ( return (
round(bridge.filesystem.fsSize[self._key]["use"], 2) round(bridge.filesystem.fsSize[self._fs_key]["use"], 2)
if bridge.filesystem.fsSize[self._key]["use"] is not None if bridge.filesystem.fsSize[self._fs_key]["use"] is not None
else None else None
) )
@ -250,12 +251,12 @@ class BridgeFilesystemSensor(BridgeSensor):
"""Return the state attributes of the entity.""" """Return the state attributes of the entity."""
bridge: Bridge = self.coordinator.data bridge: Bridge = self.coordinator.data
return { return {
ATTR_AVAILABLE: bridge.filesystem.fsSize[self._key]["available"], ATTR_AVAILABLE: bridge.filesystem.fsSize[self._fs_key]["available"],
ATTR_FILESYSTEM: bridge.filesystem.fsSize[self._key]["fs"], ATTR_FILESYSTEM: bridge.filesystem.fsSize[self._fs_key]["fs"],
ATTR_MOUNT: bridge.filesystem.fsSize[self._key]["mount"], ATTR_MOUNT: bridge.filesystem.fsSize[self._fs_key]["mount"],
ATTR_SIZE: bridge.filesystem.fsSize[self._key]["size"], ATTR_SIZE: bridge.filesystem.fsSize[self._fs_key]["size"],
ATTR_TYPE: bridge.filesystem.fsSize[self._key]["type"], ATTR_TYPE: bridge.filesystem.fsSize[self._fs_key]["type"],
ATTR_USED: bridge.filesystem.fsSize[self._key]["used"], ATTR_USED: bridge.filesystem.fsSize[self._fs_key]["used"],
} }