Python API for Ayla IoT products
Project description
ayla-iot-unofficial
An unofficial python library for interacting with the Ayla IoT API. Intended to be generic for multi-device use.
Designed primarily to be a support package for Home Assistant integrations.
This library is heavily based off of sharkiq by @JeffResc.
Ayla References
This device is integrated by/with Ayla Networks and (generally) uses their documentation.
These can be used as starting references:
- https://developer.aylanetworks.com/apibrowser
- https://docs.aylanetworks.com/reference/getting_started
- https://connection.aylanetworks.com/s/article/2080270
Installation
From PyPi
pip install ayla-iot-unofficial
Build from source
pip install build
pip build
pip install ayla-iot-unofficial
Library Requirements
Requires typical http interaction and datatype packages like requests, aiohttp, ujson
User Requirements
Reqiures a username and password (typically a smart device's app login credentials) Requires an app_id and app_secret (granted by Ayla to the smart device's app for operation/integration)
The app_id and app_secret may need to be obtained from proxy traffic or other method.
Usage
Class Object
Instantiate a new class object through new_ayla_api() or Ayla() directly.
For devices that may be region specific, the new_ayla_api() function will create an Ayla() object based on the europe boolean.
Ayla Access_Token
Standard use should call sign_in() on the Ayla object after creation. This will perform the POST login request to obtain an access_token.
Some devices communicate with a different IoT domain but still expose the Ayla access_token. This access token can be passed into the Ayla object using _set_credentials() and the proper arguments.
Devices
By default, calling get_devices() will return a list of class specific device objects with updated properties for use.
See device.py for implemented device classes.
Typical Operation
python3 -m pip install ayla-iot-unofficial
import ayla_iot_unofficial
USERNAME = 'me@email.com'
PASSWORD = '$7r0nkP@s$w0rD'
ayla_api = new_ayla_api(USERNAME, PASSWORD, APP_ID, APP_SECRET)
ayla_api.sign_in()
devices = ayla_api.get_devices()
# Example Vacuum Devices
shark = devices[0]
shark.set_operating_mode(OperatingModes.START)
shark.return_to_base()
# Example Water Softener Devices
softener = devices[1]
softener.capacity_remaining_gallons
softener.set_vacation_mode()
License
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
Hashes for ayla_iot_unofficial-1.4.0.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 39d75eb80b4c23b4d28e86af59b7f467b1b6ff3270d1253969858063232dfd6a |
|
MD5 | 9070a5ad95c33525c457fea7492f27b4 |
|
BLAKE2b-256 | 1415ceeeafdd6231ccf23117be8af4f543667a30bef59c53a97001cff6a41193 |
Hashes for ayla_iot_unofficial-1.4.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f6d41b3f2a099aa849c7c8a2f3b41d68d2f6e4f96abebd842e3a8be809e7de18 |
|
MD5 | 0d836a8a8d64002b0d9f6decd6d0eac4 |
|
BLAKE2b-256 | 0ebf54ed90b3a1ef3b90be4d73944f0c33045ba2bd3103ec2167af21242d1f9a |