diff --git a/homeassistant/components/unifi/device_tracker.py b/homeassistant/components/unifi/device_tracker.py index e7344692ecd..4046f5f63d2 100644 --- a/homeassistant/components/unifi/device_tracker.py +++ b/homeassistant/components/unifi/device_tracker.py @@ -304,7 +304,7 @@ class UniFiDeviceTracker(ScannerEntity): @property def available(self) -> bool: """Return if controller is available.""" - return self.controller.available + return not self.device.disabled and self.controller.available @property def device_info(self): diff --git a/homeassistant/components/unifi/manifest.json b/homeassistant/components/unifi/manifest.json index dc5e89c147e..e849fd34d25 100644 --- a/homeassistant/components/unifi/manifest.json +++ b/homeassistant/components/unifi/manifest.json @@ -4,7 +4,7 @@ "config_flow": true, "documentation": "https://www.home-assistant.io/components/unifi", "requirements": [ - "aiounifi==8" + "aiounifi==9" ], "dependencies": [], "codeowners": [ diff --git a/requirements_all.txt b/requirements_all.txt index c6e0ca6abf1..5d365c9c732 100644 --- a/requirements_all.txt +++ b/requirements_all.txt @@ -169,7 +169,7 @@ aiopvapi==1.6.14 aioswitcher==2019.4.26 # homeassistant.components.unifi -aiounifi==8 +aiounifi==9 # homeassistant.components.wwlln aiowwlln==1.0.0 diff --git a/requirements_test_all.txt b/requirements_test_all.txt index c2e4cfef22d..1feeab8f32d 100644 --- a/requirements_test_all.txt +++ b/requirements_test_all.txt @@ -68,7 +68,7 @@ aionotion==1.1.0 aioswitcher==2019.4.26 # homeassistant.components.unifi -aiounifi==8 +aiounifi==9 # homeassistant.components.wwlln aiowwlln==1.0.0 diff --git a/tests/components/unifi/test_device_tracker.py b/tests/components/unifi/test_device_tracker.py index 937de3ad631..5accbb584b4 100644 --- a/tests/components/unifi/test_device_tracker.py +++ b/tests/components/unifi/test_device_tracker.py @@ -203,6 +203,16 @@ async def test_tracked_devices(hass, mock_controller): device_1 = hass.states.get("device_tracker.device_1") assert device_1.state == "home" + device_1_copy = copy(DEVICE_1) + device_1_copy["disabled"] = True + mock_controller.mock_client_responses.append({}) + mock_controller.mock_device_responses.append([device_1_copy]) + await mock_controller.async_update() + await hass.async_block_till_done() + + device_1 = hass.states.get("device_tracker.device_1") + assert device_1.state == "unavailable" + async def test_restoring_client(hass, mock_controller): """Test the update_items function with some clients."""