π¦ ClawHub
Unifi
by @odrobnik
Monitor and configure UniFi network infrastructure. Auto-routes between local gateway and cloud connector. Manage hosts, sites, devices, clients, WLANs, radi...
TERMINAL
clawhub install unifi-site-managerπ About This Skill
name: unifi-site-manager version: 3.2.1 homepage: https://github.com/odrobnik/unifi-skill description: Monitor and configure UniFi network infrastructure. Auto-routes between local gateway and cloud connector. Manage hosts, sites, devices, clients, WLANs, radios, firmware, and events. metadata: openclaw: requires: env: ["UNIFI_API_KEY"] optionalEnv: ["UNIFI_BASE_URL", "UNIFI_GATEWAY_IP", "UNIFI_LOCAL_API_KEY"]
UniFi Network API
Monitor and configure UniFi network infrastructure.
Entry point: {baseDir}/scripts/unifi.py
Setup
See SETUP.md for prerequisites and setup instructions.
Config (config.json):
api_key β UniFi Cloud API key (required)gateway_ip β Local gateway IP (for faster local access)local_api_key β Local gateway API keysite_id β Default site UUID (auto-detected if only one site)Routing is automatic: local gateway when reachable, cloud connector when remote. Use --local to force local-only.
Commands
All commands support --json for raw JSON output.
Infrastructure
python3 {baseDir}/scripts/unifi.py list-hosts # Controllers/consoles
python3 {baseDir}/scripts/unifi.py list-sites # Sites with statistics
python3 {baseDir}/scripts/unifi.py list-devices # All network devices (summary)
python3 {baseDir}/scripts/unifi.py list-site-devices # Devices with rich detail (ports, radios, features)
python3 {baseDir}/scripts/unifi.py list-aps # Access points only
python3 {baseDir}/scripts/unifi.py get-device # Single device details
python3 {baseDir}/scripts/unifi.py firmware-status # Firmware versions + update availability
Clients
python3 {baseDir}/scripts/unifi.py list-clients # Currently connected clients
python3 {baseDir}/scripts/unifi.py list-clients --detailed # With traffic/signal stats
python3 {baseDir}/scripts/unifi.py list-known-clients # All known clients (current + historical)
python3 {baseDir}/scripts/unifi.py list-known-clients --named # Only clients with custom names
python3 {baseDir}/scripts/unifi.py list-ap-clients # Wireless clients grouped by AP
python3 {baseDir}/scripts/unifi.py list-ap-clients --ap Living # Filter by AP name
python3 {baseDir}/scripts/unifi.py get-client # Single client details
python3 {baseDir}/scripts/unifi.py label-client "Name" # Set custom name for a client
Networks & WLANs
python3 {baseDir}/scripts/unifi.py list-networks # Configured networks (VLANs)
python3 {baseDir}/scripts/unifi.py get-wlan-config # WLAN/SSID configurations
python3 {baseDir}/scripts/unifi.py get-wlan-config --ssid Hogwarts # Specific SSID
python3 {baseDir}/scripts/unifi.py set-wlan --ssid Hogwarts \
--fast-roaming on \
--bss-transition on \
--pmf required \
--band-steering prefer_5g
Network DNS
python3 {baseDir}/scripts/unifi.py get-network-dns # All networks
python3 {baseDir}/scripts/unifi.py get-network-dns Default # Specific network
python3 {baseDir}/scripts/unifi.py set-network-dns Default \
--dns1 1.1.1.1 --dns2 1.0.0.1 # Set DNS servers
python3 {baseDir}/scripts/unifi.py set-network-dns Default \
--dns1 auto # Disable override (use gateway)
Radio Configuration
python3 {baseDir}/scripts/unifi.py get-radio-config # Radio config for all APs
python3 {baseDir}/scripts/unifi.py get-radio-config --ap Living # Specific AP
python3 {baseDir}/scripts/unifi.py set-radio --ap Living --band 5 \
--channel 36 --width 80 --power high
Events
python3 {baseDir}/scripts/unifi.py list-events # All site events
python3 {baseDir}/scripts/unifi.py list-events --filter Roam # Filter by event type
python3 {baseDir}/scripts/unifi.py list-events --mac aa:bb:cc:dd:ee:ff # Filter by MAC
Notes
--site otherwise--local forces local gateway access (errors if unreachable)label-client to track them by their per-network Wi-Fi AddressβοΈ Configuration
See SETUP.md for prerequisites and setup instructions.
Config (config.json):
api_key β UniFi Cloud API key (required)gateway_ip β Local gateway IP (for faster local access)local_api_key β Local gateway API keysite_id β Default site UUID (auto-detected if only one site)Routing is automatic: local gateway when reachable, cloud connector when remote. Use --local to force local-only.
π Tips & Best Practices
--site otherwise--local forces local gateway access (errors if unreachable)label-client to track them by their per-network Wi-Fi Address