A rewrite of https://github.com/unifi-hackers/unifi-lab in cleaner Python. Forked from https://github.com/calmh/unifi-api due to unmaintained status.
sudo pip install -U unifi
The following small utilities are bundled with the API:
Lists the currently active clients on the networks. Takes parameters for controller, username, password, controller version and site ID (UniFi >= 3.x)
Outputs a pipe delimited list: MAC | OUI | IP | Hostname | Uplink MAC
jb@unifi:~ % unifi-ls-clients -c localhost -u admin -p p4ssw0rd -v v4
22-34-81-A4-54-A2||70.178.189.235|Router|Unknown|False
44-27-98-46-F0-BA||192.168.1.11|Access Point|33-22-08-9C-65-25|False
33-22-08-9C-65-25||192.168.1.37|PoE Switch|22-34-81-A4-54-A2|False
22-34-81-A4-54-D2|Apple|192.168.1.5|Daniel's iPhone|44-27-98-46-F0-BA|True
Allows you to block clients on the network.
unifi-block-client -c localhost -u admin -p p4ssw0rd -v -v4 22-34-81-A4-54-D2
blocking 22-34-81-A4-54-D2
Allows you to unblock clients on the network.
unifi-unblock-client -c localhost -u admin -p p4ssw0rd -v -v4 22-34-81-A4-54-D2
unblocking 22-34-81-A4-54-D2
Interact with a UniFi controller.
Uses the JSON interface on port 8443 (HTTPS) to communicate with a UniFi controller. Operations will raise unifi.controller.APIError on obvious problems (such as login failure), but many errors (such as disconnecting a nonexistant client) will go unreported.
Create a Controller object.
host
-- the address of the controller host; IP or nameusername
-- the username to log in withpassword
-- the password to log in withport
-- the port of the controller hostversion
-- the base version of the controller API [v2|v3]site_id
-- the site ID to connect to (UniFi >= 3.x)
Add a client to the block list.
mac
-- the MAC address of the client to block.
Disconnects a client, forcing them to reassociate. Useful when the connection is of bad quality to force a rescan.
mac
-- the MAC address of the client to disconnect.
Return a list of Alerts.
Return a list of unarchived Alerts.
Return a list of Events.
Return a list of all AP:s, with significant information about each.
Return a list of all active clients, with significant information about each.
Return statistical data of the last 24h
Return statistical data last 24h from endtime
endtime
-- the last time of statistics.
Return a list of all known clients, with significant information about each.
Return a list of user groups with its rate limiting settings.
Return a list of configured WLANs with their configuration parameters.
Restart an access point (by MAC).
mac
-- the MAC address of the AP to restart.
Restart an access point (by name).
name
-- the name address of the AP to restart.
Remove a client from the block list.
mac
-- the MAC address of the client to unblock.
Archive all alerts of site.
Tells the controller to create a backup archive that can be downloaded with download_backup() and then be used to restore a controller on another machine.
Remember that this puts significant load on a controller for some time (depending on the amount of users and managed APs).
Tells the controller to create a backup archive and downloads it to a file. It should have a .unf extension for later restore.
targetfile
-- the target file name, you can also use a full path. Default creates unifi-backup.unf in the current directoy.
authorize_guest(self, guest_mac, minutes, up_bandwidth=None, down_bandwidth=None, byte_quota=None, ap_mac=None)
Authorize a guest based on his MAC address.
guest_mac
-- the guest MAC address : aa:bb:cc:dd:ee:ffminutes
-- duration of the authorization in minutesup_bandwith
-- up speed allowed in kbps (optional)down_bandwith
-- down speed allowed in kbps (optional)byte_quota
-- quantity of bytes allowed in MB (optional)ap_mac
-- access point MAC address (UniFi >= 3.x) (optional)
Unauthorize a guest based on his MAC address.
guest_mac
-- the guest MAC address : aa:bb:cc:dd:ee:ff
MIT