Files
2026-04-11 09:45:12 -05:00

29 lines
712 B
Bash

#!/usr/bin/env bash
# List UniFi devices (APs, switches, gateway)
set -euo pipefail
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
source "$SCRIPT_DIR/unifi-api.sh"
FORMAT="${1:-table}"
data=$(unifi_get "/api/s/$UNIFI_SITE/stat/device")
if [ "$FORMAT" = "json" ]; then
echo "$data"
else
# Table format
echo "$data" | jq -r '
["NAME", "MODEL", "IP", "STATE", "UPTIME", "CLIENTS"],
["----", "-----", "--", "-----", "------", "-------"],
(.data[] | [
.name // .mac,
.model,
.ip,
.state_name // .state,
(.uptime | if . then (. / 3600 | floor | tostring) + "h" else "N/A" end),
(.num_sta // 0 | tostring)
]) | @tsv
' | column -t -s $'\t'
fi