Metadata-Version: 2.1
Name: aqara-capi
Version: 1.1.3
Summary: Aqara Cloud API SDK
Home-page: https://github.com/moff4/aqara_capi
Author: Komissarov Andrey
Author-email: Komissar.off.andrey@gmail.com
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.9
Classifier: Operating System :: OS Independent
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: requests (>=2.28.1)
Requires-Dist: pydantic (>=1.9.0)


# Aqara Cloud API

[![CodeFactor](https://www.codefactor.io/repository/github/moff4/aqara_capi/badge)](https://www.codefactor.io/repository/github/moff4/aqara_capi)

### Python SDK for Aqara Cloud API

_(Functionality is not full, but already has core for futher upgrades)_

### Install

```bash
pip install aqara_capi
```

### Example of usage

```python

from aqara_capi import CloudApiClient, Locality

# create client
client = CloudApiClient(
    app_id=APP_ID,  # your params from https://developer.aqara.com/console
    app_key=APP_KEY,
    key_id=KEY_ID,
    locality=Locality.RU,  # for cloud domain
)

# set access and refresh tokens
client.set_tokens(access_token='...', refresh_token='...')

# or generate them
client.get_auth_code(
    account='my@example.com',
    account_type=0,
    access_token_validity='7d',
)
client.get_access_token(
    auth_code='secret code from ur email',
    account='my@example.com',
    account_type=0,
)


# print your devices
response = client.query_device_info()
print(response.result)

# print device attributes
response = client.query_resource_info(
    model='lumi.light....',
)
print(response.result)

# trigger some action (for example turn on light)
client.write_resource_device(
    subject_id='lumi...',
    resource_id='4.1.85',
    value='1',
)

```
