diff --git a/app.py b/app.py index f5a99e2..ad5b853 100644 --- a/app.py +++ b/app.py @@ -57,18 +57,23 @@ class UnifiAPI: def get_all_devices(self): logger.debug(f"Fetching all devices from {self.base_url}") - url = f"{self.base_url}/proxy/network/integration/v1/sites/{self.site_id}/devices" - response = self.session.get(url, headers=self.headers) - devices = response.json() - logger.debug(f"Found {len(devices)} devices") - return devices + try: + url = f"{self.base_url}/proxy/network/integration/v1/sites/{self.site_id}/devices" + response = self.session.get(url, headers=self.headers) + response.raise_for_status() + devices = response.json() + logger.debug(f"API Response: {devices}") + return devices + except Exception as e: + logger.error(f"Error fetching devices: {e}") + return [] def get_device_details(self, ip_address): logger.debug(f"Looking for device with IP: {ip_address}") devices = self.get_all_devices() for device in devices: - if device['ipAddress'] == ip_address: - logger.debug(f"Found device: {device}") + if device.get('ipAddress') == ip_address: + logger.debug(f"Found device details: {device}") return device logger.debug(f"No device found with IP: {ip_address}") return None