Fresh start - excluded large ROM JSON files
This commit is contained in:
70
skills/unifi/manual_test.py
Normal file
70
skills/unifi/manual_test.py
Normal file
@@ -0,0 +1,70 @@
|
||||
#!/usr/bin/env python3
|
||||
"""UniFi Monitor - To be run manually"""
|
||||
|
||||
import requests
|
||||
import urllib3
|
||||
from datetime import datetime
|
||||
|
||||
# Disable SSL warnings
|
||||
urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)
|
||||
|
||||
# Config
|
||||
CONTROLLER = "https://192.168.0.39:8443"
|
||||
USER = "corey"
|
||||
PASS = "is41945549"
|
||||
SITE = "default"
|
||||
|
||||
print("="*50)
|
||||
print("UniFi Network Monitor")
|
||||
print("="*50)
|
||||
print(f"Controller: {CONTROLLER}")
|
||||
print(f"User: {USER}")
|
||||
print(f"Time: {datetime.now().strftime('%Y-%m-%d %H:%M')}")
|
||||
print()
|
||||
|
||||
# Step 1: Login
|
||||
print("Step 1: Logging in...")
|
||||
login_url = f"{CONTROLLER}/api/auth/login"
|
||||
resp = requests.post(login_url, json={"username": USER, "password": PASS}, verify=False, timeout=10)
|
||||
print(f" Status: {resp.status_code}")
|
||||
|
||||
if resp.status_code != 200:
|
||||
print(" ❌ Login failed!")
|
||||
print(f" Response: {resp.text[:200]}")
|
||||
exit(1)
|
||||
|
||||
print(" ✅ Login successful")
|
||||
cookies = resp.cookies
|
||||
|
||||
# Step 2: Get clients
|
||||
print("\nStep 2: Getting clients...")
|
||||
clients_url = f"{CONTROLLER}/proxy/network/api/s/{SITE}/stat/sta"
|
||||
resp = requests.get(clients_url, cookies=cookies, verify=False, timeout=10)
|
||||
clients = resp.json().get('data', [])
|
||||
print(f" Found: {len(clients)} clients")
|
||||
|
||||
# Step 3: Get devices
|
||||
print("\nStep 3: Getting devices...")
|
||||
devices_url = f"{CONTROLLER}/proxy/network/api/s/{SITE}/stat/device"
|
||||
resp = requests.get(devices_url, cookies=cookies, verify=False, timeout=10)
|
||||
devices = resp.json().get('data', [])
|
||||
print(f" Found: {len(devices)} devices")
|
||||
|
||||
# Generate report
|
||||
print("\n" + "="*50)
|
||||
print("REPORT")
|
||||
print("="*50)
|
||||
print(f"\nConnected Clients: {len(clients)}")
|
||||
|
||||
wired = [c for c in clients if c.get('is_wired', False)]
|
||||
wireless = [c for c in clients if not c.get('is_wired', False)]
|
||||
print(f" - Wireless: {len(wireless)}")
|
||||
print(f" - Wired: {len(wired)}")
|
||||
|
||||
print(f"\nUniFi Devices: {len(devices)}")
|
||||
for d in devices[:3]:
|
||||
name = d.get('name', d.get('mac', 'Unknown')[:17])
|
||||
model = d.get('model', 'Unknown')
|
||||
print(f" - {name} ({model})")
|
||||
|
||||
print("\n" + "="*50)
|
||||
Reference in New Issue
Block a user