Skip to main content

Aussie Broadband API module

Project description

pyAussieBB

This is a very simple module for interacting with the Aussie Broadband APIs.

ruff mypy pytest Shellcheck

Usage

pip install --user pyaussiebb
python
>>> from aussiebb import AussieBB
>>> account = AussieBB(username, password)
>>> account.get_services()
[{allyourservicedetails}]

For more, check out the docs.

AsyncIO version

You can replace from aussiebb import AussieBB with from aussiebb.asyncio import AussieBB and you'll get an aiohttp-powered version. The only difference in this case is that you have to explicitly call login() for reasons.

If you hit the rate limit it'll raise a RateLimit exception. I haven't put that functionality into the blocking version yet, since ... that tends not to hit it. 🤣

Development

Example service tests I've seen

All the "endpoints" below should be tacked onto aussiebb.const.BASEURL['api'].

Warning: /nbn/{service_id}/connection seems to have both a GET and POST method endpoint - tests on other endpoints may be similar.

These can be run by using AussieBB.run_test() with the string after the last forward-slash as the "test" - ie, connection or linestate.

HFC

These are entirely untested so far.

Endpoint Method Name Description
/nbn/{service_id}/connection Probably GET Check Connection Check to see if your service is currently connected
/nbn/{service_id}/connection Probably POST Kick Connection Kick your current session and force your device to reauthenticate
/tests/{service_id}/loopback Probably POST Loopback Test This will test the connectivity between the point NBN’s network transitions to ours and to the closest point to your property. Usually either the Network Termination Device or Node.
/tests/{service_id}/ntdstatus Probably POST NTD Status An NTD Status will show you the operational state of the Network Termination Device (NTD). The test will also show if the NTD is detecting the wired connection from your router.

FTTC

Endpoint Method Name Description
/nbn/{service_id}/connection GET Check Connection Check to see if your service is currently connected
/nbn/{service_id}/connection Probably POST Kick Connection Kick your current session and force your device to reauthenticate
/tests/{service_id}/dpuportreset Probably POST DPU Port Reset Reset the Port on the DPU (Distribution Point Unit) along with clearing any errors that maybe causing issues with connectivity.
/tests/{service_id}/dpuportstatus POST DPU Port Status A DPU (Distribution Point Unit) port status will show if the NCD (Network Connection Device) is providing power to the DPU. It will also state if the NCD (Network Connection Device) is in sync.
/tests/{service_id}/dpustatus POST DPU Status This will provide if the DPU (Distribution Point Unit) is currently being powered.
/tests/{service_id}/loopback POST Loopback Test This will test the connectivity between the point NBN’s network transitions to ours and to the closest point to your property. Usually either the Network Termination Device or Node.
/tests/{service_id}/ncdportreset Probably POST NCD Port Reset Reset the gateway port on your NCD (Network Connection Device).
/tests/{service_id}/ncdreset Probably POST NCD Reset This will remotely restart your Network Termination Device.

FTTN

Endpoint Method Name Description
/nbn/{service_id}/connection GET Check Connection Check to see if your service is currently connected
/nbn/{service_id}/connection Probably POST Kick Connection Kick your current session and force your device to reauthenticate
/tests/{service_id}/linestate POST Line State A line state test will determine if you have “sync” (connection) to the node. If the service is in sync this test will also return your maximum and current attainable transfer rate.
/tests/{service_id}/loopback POST Loopback Test This will test the connectivity between the point NBN’s network transitions to ours and to the closest point to your property. Usually either the Network Termination Device or Node.
/tests/{service_id}/portreset Probably POST Port Reset This will reset the connection from the Node and also clear errors that may be causing issues with gaining sync.
/tests/{service_id}/stabilityprofile Probably POST Stability Profile This will apply changes to your FTTN service including allowing increased noise to occur before making the connection unstable. This will cause your speeds to degrade as a result, but in turn making the service more stable. For NBN to investigate a fault this profile needs to be applied and a minimum of 5 dropouts recorded over a 24hr period on NBN's systems before a dropout fault can be raised

FTTP

These are as-yet untested.

Endpoint Method Name Description
/nbn/{service_id}/connection Probably GET Check Connection Check to see if your service is currently connected
/nbn/{service_id}/connection Probably POST Kick Connection Kick your current session and force your device to reauthenticate
/tests/{service_id}/loopback Probably POST Loopback Test This will test the connectivity between the point NBN’s network transitions to ours and to the closest point to your property. Usually either the Network Termination Device or Node.
/tests/{service_id}/portreset Probably POST Port Reset This will reset the connection from the Node and also clear errors that may be causing issues with gaining sync.
/tests/{service_id}/unidstatus Probably POST UNI-D Status UNI-D Status will show if the UNI-D port you are currently using has a router connected to it. This will also provide the Link speed your router and UNI-D port are connected at Eg, 100mbit or 1gbit. You will also see the MAC address of the currently connected router.

Changelog

See CHANGELOG.md

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

pyaussiebb-0.1.4.tar.gz (18.1 kB view details)

Uploaded Source

Built Distribution

pyaussiebb-0.1.4-py3-none-any.whl (22.0 kB view details)

Uploaded Python 3

File details

Details for the file pyaussiebb-0.1.4.tar.gz.

File metadata

  • Download URL: pyaussiebb-0.1.4.tar.gz
  • Upload date:
  • Size: 18.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.12.3 Darwin/23.4.0

File hashes

Hashes for pyaussiebb-0.1.4.tar.gz
Algorithm Hash digest
SHA256 f3fafa2ef7599eb79b9a6a7fe72d3b3d79360917b57e7e56e26ac7eaca6f11b8
MD5 fbd1cb5fabf892a5f9439613d00ed51a
BLAKE2b-256 c117e184bc61a7a40e550ce7f9635c1c5dd7c3043dc42a27053b5d602e592e1b

See more details on using hashes here.

File details

Details for the file pyaussiebb-0.1.4-py3-none-any.whl.

File metadata

  • Download URL: pyaussiebb-0.1.4-py3-none-any.whl
  • Upload date:
  • Size: 22.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.12.3 Darwin/23.4.0

File hashes

Hashes for pyaussiebb-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 5464d9baf05d6a9de76970563c2629faf82ffb25ddbdc8b8aede8012d141aa5a
MD5 04625c6af3773aedd6f4d75a40d01475
BLAKE2b-256 e75a62455360975c7bdc1c88bc78ee9b836122b4c34d895d89f3253d16fb8378

See more details on using hashes here.

Supported by

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