mirror of
https://github.com/home-assistant/core.git
synced 2025-07-23 13:17:32 +00:00
Improve counting of UniFi WLAN Clients sensor (#97785)
This commit is contained in:
parent
b5e23ee650
commit
66cb407e4f
@ -77,6 +77,8 @@ def async_wlan_client_value_fn(controller: UniFiController, wlan: Wlan) -> int:
|
||||
client.mac
|
||||
for client in controller.api.clients.values()
|
||||
if client.essid == wlan.name
|
||||
and dt_util.utcnow() - dt_util.utc_from_timestamp(client.last_seen or 0)
|
||||
< controller.option_detection_time
|
||||
]
|
||||
)
|
||||
|
||||
|
@ -470,6 +470,7 @@ async def test_wlan_client_sensors(
|
||||
wireless_client_1 = {
|
||||
"essid": "SSID 1",
|
||||
"is_wired": False,
|
||||
"last_seen": dt_util.as_timestamp(dt_util.utcnow()),
|
||||
"mac": "00:00:00:00:00:01",
|
||||
"name": "Wireless client",
|
||||
"oui": "Producer",
|
||||
@ -479,6 +480,7 @@ async def test_wlan_client_sensors(
|
||||
wireless_client_2 = {
|
||||
"essid": "SSID 2",
|
||||
"is_wired": False,
|
||||
"last_seen": dt_util.as_timestamp(dt_util.utcnow()),
|
||||
"mac": "00:00:00:00:00:02",
|
||||
"name": "Wireless client2",
|
||||
"oui": "Producer2",
|
||||
@ -526,9 +528,17 @@ async def test_wlan_client_sensors(
|
||||
# Verify state update - decreasing number
|
||||
|
||||
wireless_client_1["essid"] = "SSID"
|
||||
wireless_client_2["essid"] = "SSID"
|
||||
|
||||
mock_unifi_websocket(message=MessageKey.CLIENT, data=wireless_client_1)
|
||||
|
||||
async_fire_time_changed(hass, datetime.utcnow() + DEFAULT_SCAN_INTERVAL)
|
||||
await hass.async_block_till_done()
|
||||
|
||||
ssid_1 = hass.states.get("sensor.ssid_1")
|
||||
assert ssid_1.state == "1"
|
||||
|
||||
# Verify state update - decreasing number
|
||||
|
||||
wireless_client_2["last_seen"] = 0
|
||||
mock_unifi_websocket(message=MessageKey.CLIENT, data=wireless_client_2)
|
||||
|
||||
async_fire_time_changed(hass, datetime.utcnow() + DEFAULT_SCAN_INTERVAL)
|
||||
|
Loading…
x
Reference in New Issue
Block a user