Mark Unifi bandwidth sensors as unavailable when client disconnects (#109812)

* Set sensor as unavailable instead of resetting value to 0 on disconnect

* Update unit test on unavailable bandwidth sensor
This commit is contained in:
wittypluck 2024-02-06 18:33:10 +01:00 committed by GitHub
parent 6519b24319
commit 7d24ae88e6
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 5 additions and 5 deletions

View File

@ -430,10 +430,10 @@ class UnifiSensorEntity(UnifiEntity[HandlerT, ApiItemT], SensorEntity):
def _make_disconnected(self, *_: core_Event) -> None:
"""No heart beat by device.
Reset sensor value to 0 when client device is disconnected
Set sensor as unavailable when client device is disconnected
"""
if self._attr_native_value != 0:
self._attr_native_value = 0
if self._attr_available:
self._attr_available = False
self.async_write_ha_state()
@callback

View File

@ -416,8 +416,8 @@ async def test_bandwidth_sensors(
async_fire_time_changed(hass, new_time)
await hass.async_block_till_done()
assert hass.states.get("sensor.wireless_client_rx").state == "0"
assert hass.states.get("sensor.wireless_client_tx").state == "0"
assert hass.states.get("sensor.wireless_client_rx").state == STATE_UNAVAILABLE
assert hass.states.get("sensor.wireless_client_tx").state == STATE_UNAVAILABLE
# Disable option