diff --git a/app.py b/app.py index 468e1ad..0684797 100644 --- a/app.py +++ b/app.py @@ -57,29 +57,27 @@ class UnifiAPI: } def get_all_devices(self): - url = f"{self.base_url}/v1/sites/{self.site_id}/devices" + url = f"{self.base_url}/proxy/network/api/s/{self.site_id}/stat/device" response = self.session.get(url, headers=self.headers) response.raise_for_status() - logger.debug(f"Raw API response: {response.text}") return response.json()['data'] def get_device_details(self, device_id): - url = f"{self.base_url}/v1/sites/{self.site_id}/devices/{device_id}" + url = f"{self.base_url}/proxy/network/api/s/{self.site_id}/stat/device/{device_id}" response = self.session.get(url, headers=self.headers) response.raise_for_status() - logger.debug(f"Raw API response: {response.text}") - data = response.json() + data = response.json()['data'][0] return { 'state': data['state'], 'firmware': { - 'version': data['firmwareVersion'], - 'updatable': data.get('firmwareUpdatable', False) + 'version': data['version'], + 'updatable': data.get('upgradable', False) }, 'network': { - 'ip': data['ipAddress'], - 'mac': data['macAddress'] + 'ip': data['ip'], + 'mac': data['mac'] }, - 'interfaces': self._parse_interfaces(data.get('interfaces', {})) + 'interfaces': self._parse_interfaces(data.get('port_table', {})) } def get_device_diagnostics(self, device):