UniFi - Client tracker schedules update on disconnect event (#32655)
This commit is contained in:
parent
01d0e70f44
commit
015e779d56
2 changed files with 52 additions and 1 deletions
|
@ -5,8 +5,12 @@ import logging
|
|||
from aiounifi.api import SOURCE_EVENT
|
||||
from aiounifi.events import (
|
||||
WIRED_CLIENT_BLOCKED,
|
||||
WIRED_CLIENT_CONNECTED,
|
||||
WIRED_CLIENT_DISCONNECTED,
|
||||
WIRED_CLIENT_UNBLOCKED,
|
||||
WIRELESS_CLIENT_BLOCKED,
|
||||
WIRELESS_CLIENT_CONNECTED,
|
||||
WIRELESS_CLIENT_DISCONNECTED,
|
||||
WIRELESS_CLIENT_UNBLOCKED,
|
||||
)
|
||||
|
||||
|
@ -19,6 +23,8 @@ LOGGER = logging.getLogger(__name__)
|
|||
|
||||
CLIENT_BLOCKED = (WIRED_CLIENT_BLOCKED, WIRELESS_CLIENT_BLOCKED)
|
||||
CLIENT_UNBLOCKED = (WIRED_CLIENT_UNBLOCKED, WIRELESS_CLIENT_UNBLOCKED)
|
||||
WIRED_CLIENT = (WIRED_CLIENT_CONNECTED, WIRED_CLIENT_DISCONNECTED)
|
||||
WIRELESS_CLIENT = (WIRELESS_CLIENT_CONNECTED, WIRELESS_CLIENT_DISCONNECTED)
|
||||
|
||||
|
||||
class UniFiClient(Entity):
|
||||
|
@ -32,6 +38,8 @@ class UniFiClient(Entity):
|
|||
|
||||
self.is_wired = self.client.mac not in controller.wireless_clients
|
||||
self.is_blocked = self.client.blocked
|
||||
self.wired_connection = None
|
||||
self.wireless_connection = None
|
||||
|
||||
async def async_added_to_hass(self) -> None:
|
||||
"""Client entity created."""
|
||||
|
@ -57,7 +65,17 @@ class UniFiClient(Entity):
|
|||
|
||||
if self.client.last_updated == SOURCE_EVENT:
|
||||
|
||||
if self.client.event.event in CLIENT_BLOCKED + CLIENT_UNBLOCKED:
|
||||
if self.client.event.event in WIRELESS_CLIENT:
|
||||
self.wireless_connection = (
|
||||
self.client.event.event == WIRELESS_CLIENT_CONNECTED
|
||||
)
|
||||
|
||||
elif self.client.event.event in WIRED_CLIENT:
|
||||
self.wired_connection = (
|
||||
self.client.event.event == WIRED_CLIENT_CONNECTED
|
||||
)
|
||||
|
||||
elif self.client.event.event in CLIENT_BLOCKED + CLIENT_UNBLOCKED:
|
||||
self.is_blocked = self.client.event.event in CLIENT_BLOCKED
|
||||
|
||||
LOGGER.debug("Updating client %s %s", self.entity_id, self.client.mac)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue