Actron Neo API
Project description
ActronNeoAPI
The ActronNeoAPI library provides an interface to communicate with Actron Air Neo systems, enabling integration with Home Assistant or other platforms. This Python library offers methods for authentication, token management, and interacting with AC systems, zones, and settings.
Features
- Authentication:
- Pairing token and bearer token support.
- Automatic token refresh handling.
- System Information:
- Retrieve system details, statuses, and events.
- Control Features:
- Set system modes (e.g., COOL, HEAT, AUTO, FAN).
- Enable/disable zones.
- Adjust fan modes and temperatures.
Installation
pip install actron-neo-api
Usage
1. Initialization
You must provide either an access token or username/password combination for authentication.
from actron_neo_api import ActronNeoAPI
# Initialize with username and password
api = ActronNeoAPI(username="your_username", password="your_password")
# Or initialize with an existing access token
api = ActronNeoAPI(access_token="your_access_token")
2. Authentication
Request Pairing Token
Pairing tokens are used to generate bearer tokens.
await api.request_pairing_token(device_name="MyDevice", device_unique_id="123456789")
Request Bearer Token
Use the pairing token to request a bearer token.
await api.request_bearer_token()
Refresh Token
Automatically refresh tokens when they expire.
await api.refresh_token()
3. Retrieve System Information
Get AC Systems
systems = await api.get_ac_systems()
Get System Status
status = await api.get_ac_status(serial_number="AC_SERIAL")
Get Events
events = await api.get_ac_events(serial_number="AC_SERIAL", event_type="latest")
4. Control the System
Set System Mode
await api.set_system_mode(serial_number="AC_SERIAL", is_on=True, mode="COOL")
Set Fan Mode
await api.set_fan_mode(serial_number="AC_SERIAL", fan_mode="HIGH", continuous=False)
Adjust Temperature
await api.set_temperature(serial_number="AC_SERIAL", mode="COOL", temperature=24.0)
Manage Zones
Enable or disable specific zones:
await api.set_zone(serial_number="AC_SERIAL", zone_number=0, is_enabled=True)
Enable or disable multiple zones:
zone_settings = {
0: True, # Enable zone 0
1: False, # Disable zone 1
}
await api.set_multiple_zones(serial_number="AC_SERIAL", zone_settings=zone_settings)
Logging
This library uses Python's built-in logging module for debug and error messages. Configure logging in your application to capture these logs:
import logging
logging.basicConfig(level=logging.DEBUG)
Error Handling
The library defines custom exceptions for better error management:
ActronNeoAuthError: Raised for authentication-related issues.ActronNeoAPIError: Raised for general API errors.
Example:
try:
systems = await api.get_ac_systems()
except ActronNeoAuthError as e:
print(f"Authentication failed: {e}")
except ActronNeoAPIError as e:
print(f"API error: {e}")
Advanced Features
Handle Token Expiration
The library automatically refreshes expired tokens using _handle_request.
Proactive Token Refresh
Tokens are refreshed before they expire if expires_in is provided by the API.
Contributing
Contributions are welcome! Please submit issues and pull requests on GitHub.
- Fork the repository.
- Create a feature branch.
- Submit a pull request.
License
This project is licensed under the MIT License. See the LICENSE file for details.
Disclaimer
This library is not affiliated with or endorsed by Actron Air. Use it at your own risk.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file actron_neo_api-0.1.23.tar.gz.
File metadata
- Download URL: actron_neo_api-0.1.23.tar.gz
- Upload date:
- Size: 9.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.0.1 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f4383f4c14050d6e410587d62081369724b74647bad8d01ed5ec58e919b14a7c
|
|
| MD5 |
6e4fa8e03939b6d85f7c104f8c5cc17b
|
|
| BLAKE2b-256 |
6fff360dc6d803d940af6252f8a0b8bb2abacbe4db8d7583d2a09e76f45a621e
|
Provenance
The following attestation bundles were made for actron_neo_api-0.1.23.tar.gz:
Publisher:
publish.yml on kclif9/actronneoapi
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
actron_neo_api-0.1.23.tar.gz -
Subject digest:
f4383f4c14050d6e410587d62081369724b74647bad8d01ed5ec58e919b14a7c - Sigstore transparency entry: 158004699
- Sigstore integration time:
-
Permalink:
kclif9/actronneoapi@e4ec4ec08e38b79ef384d77be81d8389af26ee6e -
Branch / Tag:
refs/tags/v0.1.24 - Owner: https://github.com/kclif9
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@e4ec4ec08e38b79ef384d77be81d8389af26ee6e -
Trigger Event:
release
-
Statement type:
File details
Details for the file actron_neo_api-0.1.23-py3-none-any.whl.
File metadata
- Download URL: actron_neo_api-0.1.23-py3-none-any.whl
- Upload date:
- Size: 8.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.0.1 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e6581ecd5684606ad67ba26d1879e49a88e7b0a3deb80880b3c60eea349ad1e7
|
|
| MD5 |
224c57f8f2d112945c8b1d377bdc79a0
|
|
| BLAKE2b-256 |
24b6a397cc626f7d8986dbf3f2b85bd21bba65a112cab8115ca5bcca193386eb
|
Provenance
The following attestation bundles were made for actron_neo_api-0.1.23-py3-none-any.whl:
Publisher:
publish.yml on kclif9/actronneoapi
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
actron_neo_api-0.1.23-py3-none-any.whl -
Subject digest:
e6581ecd5684606ad67ba26d1879e49a88e7b0a3deb80880b3c60eea349ad1e7 - Sigstore transparency entry: 158004700
- Sigstore integration time:
-
Permalink:
kclif9/actronneoapi@e4ec4ec08e38b79ef384d77be81d8389af26ee6e -
Branch / Tag:
refs/tags/v0.1.24 - Owner: https://github.com/kclif9
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@e4ec4ec08e38b79ef384d77be81d8389af26ee6e -
Trigger Event:
release
-
Statement type: