diff --git a/unifi_client.py b/unifi_client.py index 73654f6..a34b0a3 100644 --- a/unifi_client.py +++ b/unifi_client.py @@ -122,25 +122,26 @@ class UnifiClient: def get_clients(self) -> List[Dict]: """ Get all clients from the UniFi controller. - + Returns: list: List of client dictionaries - + Raises: UniFiDataError: If request fails """ - endpoint = f'/api/s/{self.site_id}/stat/sta' - + # UniFi OS (UDM-SE) uses /proxy/network prefix for Network application API + endpoint = f'/proxy/network/api/s/{self.site_id}/stat/sta' + try: response = self._request_json(endpoint) - + if isinstance(response, dict) and 'data' in response: clients = response['data'] self.logger.debug(f"Retrieved {len(clients)} clients from UniFi controller") return clients else: raise UniFiDataError("Unexpected response format from UniFi controller") - + except UniFiDataError as e: self.logger.error(f"Failed to get clients: {e}") raise @@ -148,25 +149,26 @@ class UnifiClient: def get_devices(self) -> List[Dict]: """ Get all devices (APs, switches, etc.) from the UniFi controller. - + Returns: list: List of device dictionaries - + Raises: UniFiDataError: If request fails """ - endpoint = f'/api/s/{self.site_id}/stat/device' - + # UniFi OS (UDM-SE) uses /proxy/network prefix for Network application API + endpoint = f'/proxy/network/api/s/{self.site_id}/stat/device' + try: response = self._request_json(endpoint) - + if isinstance(response, dict) and 'data' in response: devices = response['data'] self.logger.debug(f"Retrieved {len(devices)} devices from UniFi controller") return devices else: raise UniFiDataError("Unexpected response format from UniFi controller") - + except UniFiDataError as e: self.logger.error(f"Failed to get devices: {e}") raise \ No newline at end of file