Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ default_language_version:
repos:
# Run manually in CI skipping the branch checks
- repo: https://github.com/astral-sh/ruff-pre-commit
rev: v0.16.4
rev: v0.16.6
Comment thread
CoMPaTech marked this conversation as resolved.
hooks:
- id: ruff
name: "Ruff check"
Expand Down Expand Up @@ -56,7 +56,7 @@ repos:
- id: yamllint
name: "YAML linting"
- repo: https://github.com/shellcheck-py/shellcheck-py
rev: v0.11.0.1
rev: v0.11.0.1-1
hooks:
- id: shellcheck
name: "Shell checking"
Expand Down
6 changes: 6 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,12 @@

All notable changes to this project will be documented in this file.

## [0.6.12] - 2026-09-06

### Added

- v6 wireless mode `11NAHT20`

## [0.6.10] & [0.6.11] - 2026-07-05

### Added
Expand Down
5 changes: 3 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,7 @@ from airos.airos6 import AirOS6, AirOS6Data
from airos.airos8 import AirOS8, AirOS8Data
from airos.helpers import DetectDeviceData, async_get_firmware_data


async def main():
"""Main function to demonstrate library usage."""
# Create an aiohttp session with SSL verification disabled.
Expand All @@ -75,7 +76,7 @@ async def main():
"host": "192.168.1.2",
"username": "ubnt",
"password": "password",
"session": session
"session": session,
}

device_data: DetectDeviceData = await async_get_firmware_data(**conn_data)
Expand All @@ -88,7 +89,6 @@ async def main():
# Initialize the AirOS device object.
airos_device = airos_class(**conn_data)


try:
# Step 1: Login to the device.
login_result = await airos_device.login()
Expand Down Expand Up @@ -120,6 +120,7 @@ async def main():
# Ensure the aiohttp session is closed properly.
await session.close()


if __name__ == "__main__":
asyncio.run(main())
```
Expand Down
1 change: 1 addition & 0 deletions airos/data.py
Original file line number Diff line number Diff line change
Expand Up @@ -149,6 +149,7 @@ class IeeeMode(Enum):
_11NAHT40MINUS = "11NAHT40MINUS" # On a v6 XM
_11NAHT40PLUS = "11NAHT40PLUS" # On a v6 XW
_11NGHT20 = "11NGHT20" # On a v6 XM 900 MHz device (NanoStation loco M900)
_11NAHT20 = "11NAHT20" # On a PowerBeam M5 400 running v6
# More to be added when known


Expand Down
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"

[project]
name = "airos"
version = "0.6.11"
version = "0.6.12"
license = "MIT"
description = "Ubiquiti airOS module(s) for Python 3."
readme = "README.md"
Expand Down
2 changes: 1 addition & 1 deletion requirements-test.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
ruff==0.16.4
ruff==0.16.6
pytest==9.1.1
pytest-asyncio==1.4.0
pytest-cov==7.1.0
Expand Down