Fix UniFi OS (UDM-SE) API endpoints for client/device queries

UDM-SE uses UniFi OS which requires /proxy/network prefix for Network
application API endpoints. The legacy controller endpoints (/api/s/...)
return 404 on UniFi OS devices.

Changes:
- Updated get_clients() to use /proxy/network/api/s/{site}/stat/sta
- Updated get_devices() to use /proxy/network/api/s/{site}/stat/device
- Added comments explaining UniFi OS API structure

Fixes 404 errors when querying UniFi controller for devices

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
Mike Geppert 2026-01-04 06:16:40 -06:00
parent c157595ee3
commit 0267b1712b

View File

@ -129,7 +129,8 @@ class UnifiClient:
Raises: Raises:
UniFiDataError: If request fails 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: try:
response = self._request_json(endpoint) response = self._request_json(endpoint)
@ -155,7 +156,8 @@ class UnifiClient:
Raises: Raises:
UniFiDataError: If request fails 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: try:
response = self._request_json(endpoint) response = self._request_json(endpoint)