Skip to main content

A simple Python wrapper for the TP-Link Omada Software Controller API

Project description

Omada API

A simple Python wrapper for the TP-Link Omada Software Controller API.

Tests Coverage

Test Python versions

Resources

Here are some links which may be helpful when using or extending this library:

Usage

Currently this is just the bare-minimum required to log in, get site settings, push site settings, and log out.

from omada import Omada

# load our local config file
omada = Omada('omada.cfg')

# or specify the baseurl and site name directly
#omada = Omada(baseurl='https://...', site='Office')

# log into the controller (username and password are in omada.cfg)
omada.login()

# or specify the username and password directly
# omada.login(username='apiuser', password='secretpassword')

# get the site settings
settings = omada.getSiteSettings()

# turn the LEDs off
settings['led']['enable'] = False

# push the settings back
omada.setSiteSettings(settings)

# log out of the controller
omada.logout()

Examples

led.py

I use this in a cron schedule to turn my site LED setting off at night and back on in the morning.

Turn the LED on:

$ python led.py on
led: on

Turn the LED off:

$ python led.py off
led: off

clients.py, devices.py

These are simple apps to display similar output to the "Clients" and "Devices" page on the web interface.

$ python clients.py
USERNAME            IP ADDRESS      STATUS
00-11-22-33-44-55   192.168.1.123   CONNECTED
...

Make sure you have your Settings file configured correctly for these to work.

Settings

You can store your controller settings in a configuration file to avoid hard-coding them in your scripts.

Currently supported settings:

  • baseurl - the base url to the controller
  • site - the name of the site in the controller (usually Default)
  • verify - set this to False to ignore self-signed certificate errors
  • warnings - set this to False to hide urllib3 warnings when verify=False
  • verbose - set this to True to force low-level reqeusts to output debugging info
  • username - the username to log in as
  • password - the password for the user

Example

[omada]
baseurl = https://omadacontroller.local:8043
site = Default
verify = False
username = apiuser
password = secretpassword

Acknowledgements

For my wife, who asked that I turn off the device LEDs at night. :heart:

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

omada_api-0.1.3.tar.gz (7.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

omada_api-0.1.3-py3-none-any.whl (7.9 kB view details)

Uploaded Python 3

File details

Details for the file omada_api-0.1.3.tar.gz.

File metadata

  • Download URL: omada_api-0.1.3.tar.gz
  • Upload date:
  • Size: 7.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.5.1 CPython/3.10.6 Linux/5.15.0-1040-azure

File hashes

Hashes for omada_api-0.1.3.tar.gz
Algorithm Hash digest
SHA256 ec4c9be604e6dc591595d8e3f78c0f559c06b042a08c8304e65c2bb3a551a627
MD5 5f55dc5ed23ef465d828a9dee8d39095
BLAKE2b-256 47612453ef6716bec40ded394b4d3a43e0dda20cdee6ec2f3117edab8163b2bd

See more details on using hashes here.

File details

Details for the file omada_api-0.1.3-py3-none-any.whl.

File metadata

  • Download URL: omada_api-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 7.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.5.1 CPython/3.10.6 Linux/5.15.0-1040-azure

File hashes

Hashes for omada_api-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 5a539c12b41559b14bb5b4af71987f03bc7972afde7b8eb0cd6e97f580c62838
MD5 f1a42beb069c00b4923ca74ab81137ff
BLAKE2b-256 0e85921c58734add3b7d8e4468ceb556aeefabd9cca97deb054f21da1662c17a

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page