Fresh start - excluded large ROM JSON files
This commit is contained in:
52
skills/unifi/simple_test.py
Normal file
52
skills/unifi/simple_test.py
Normal file
@@ -0,0 +1,52 @@
|
||||
#!/usr/bin/env python3
|
||||
"""Simple UniFi test - generates report"""
|
||||
|
||||
import requests
|
||||
import urllib3
|
||||
from datetime import datetime
|
||||
|
||||
urllib3.disable_warnings()
|
||||
|
||||
URL = "https://192.168.0.39:8443"
|
||||
USER = "corey"
|
||||
PASS = "is41945549"
|
||||
|
||||
# Login
|
||||
login = requests.post(f"{URL}/api/auth/login", json={"username": USER, "password": PASS}, verify=False, timeout=10)
|
||||
login.raise_for_status()
|
||||
cookies = login.cookies
|
||||
|
||||
# Get clients
|
||||
clients = requests.get(f"{URL}/proxy/network/api/s/default/stat/sta", cookies=cookies, verify=False, timeout=10).json().get('data', [])
|
||||
|
||||
# Get devices
|
||||
devices = requests.get(f"{URL}/proxy/network/api/s/default/stat/device", cookies=cookies, verify=False, timeout=10).json().get('data', [])
|
||||
|
||||
# Count by type
|
||||
wired = sum(1 for c in clients if c.get('is_wired', False))
|
||||
wireless = len(clients) - wired
|
||||
|
||||
# Generate simple report
|
||||
report = f"""# UniFi Network Report - {datetime.now().strftime('%Y-%m-%d %H:%M')}
|
||||
|
||||
## Connected Clients: {len(clients)}
|
||||
- Wireless: {wireless}
|
||||
- Wired: {wired}
|
||||
|
||||
## UniFi Devices: {len(devices)}
|
||||
|
||||
### Sample Wireless Clients:
|
||||
"""
|
||||
|
||||
for idx, c in enumerate([x for x in clients if not x.get('is_wired', False)][:5], 1):
|
||||
name = c.get('name', c.get('hostname', 'Unknown'))
|
||||
ip = c.get('ip', 'N/A')
|
||||
report += f"{idx}. {name} - {ip}\n"
|
||||
|
||||
report += f"\n### UniFi Devices:\n"
|
||||
for idx, d in enumerate(devices[:5], 1):
|
||||
name = d.get('name', d.get('mac', 'Unknown'))
|
||||
model = d.get('model', 'Unknown')
|
||||
report += f"{idx}. {name} ({model})\n"
|
||||
|
||||
print(report)
|
||||
Reference in New Issue
Block a user