Show controls always unavailable when diconnected #43

This commit is contained in:
Andre Basche 2023-05-13 22:09:41 +02:00
parent 593d3912af
commit 17d4d14ead
2 changed files with 11 additions and 2 deletions

View file

@ -67,7 +67,11 @@ class HonButtonEntity(HonEntity, ButtonEntity):
@property @property
def available(self) -> bool: def available(self) -> bool:
"""Return True if entity is available.""" """Return True if entity is available."""
return super().available and self._device.get("remoteCtrValid") == "1" return (
super().available
and self._device.get("remoteCtrValid") == "1"
and self._device.get("attributes.lastConnEvent.category") != "DISCONNECTED"
)
class HonFeatureRequestButton(HonEntity, ButtonEntity): class HonFeatureRequestButton(HonEntity, ButtonEntity):

View file

@ -410,4 +410,9 @@ class HonSwitchEntity(HonEntity, SwitchEntity):
if self.entity_category == EntityCategory.CONFIG: if self.entity_category == EntityCategory.CONFIG:
return super().available return super().available
else: else:
return super().available and self._device.get("remoteCtrValid") == "1" return (
super().available
and self._device.get("remoteCtrValid") == "1"
and self._device.get("attributes.lastConnEvent.category")
!= "DISCONNECTED"
)