Skip to content

Latest commit

 

History

History
134 lines (124 loc) · 3.46 KB

README.md

File metadata and controls

134 lines (124 loc) · 3.46 KB

CodeQL Upload Python Package

python-ariston-api

A Python module for controlling Ariston devices with cloud polling. The following devices are currently supported:

  • Ariston Alteas One 24
  • Ariston Velis Evo
  • Ariston Velis Lux
  • Ariston Lydos Hybrid
  • Ariston Genus One
  • Ariston Nuos Split
  • Ariston Thision S
  • Chaffoteaux INOA S 24

Installation

Use pip3 to install the latest version of this module.

pip3 install ariston

The easy way (recommended for testing the module)

First, open Python 3 and import ariston module.

python3
import ariston

Syncronous

Discover devices if you dont know your gateway id. You can skip this step.

raw_devices = ariston.discover("username", "password")

For example the gateway id for your first device.

 raw_devices[0]['gw']

Get your device

device = ariston.hello("username", "password", "gateway", is_metric, "location")

Go use your device section

Asyncronous

raw_devices = await ariston.async_discover("username", "password")
device = await ariston.async_hello("username", "password", "gateway", is_metric, "location")

Go use your device section

The ariston class way (recommended for integrate the module)

First, open Python 3 and import Ariston class from this module.

python3
from ariston import Ariston

Create a new Ariston instance

ariston = Ariston()

Now let's try some functions

Connect

The cloud requests are asynchronous, so if you call them from a synchronous function or not even from function, you should use asyncio.

import asyncio

Sync

asyncio.run(ariston.async_connect("username", "password"))

Async

await ariston.async_connect("username", "password")
  • username: Your ariston cloud username.
  • password: Your ariston cloud password.

Discovery

Use this function to discover devices. You can skip this step if you already know the gateway id.

Sync

devices = asyncio.run(ariston.async_discover())

Async

devices = await ariston.async_discover()

Say hello

Use this function to create the device object.

Sync

device = asyncio.run(ariston.async_hello("gateway", is_metric, "location"))

Async

device = await ariston.async_hello("gateway", is_metric, "location")
  • gateway: You can find the value in the returned discover dictionary name 'gw'
  • is_metric: Optional. True or False. True means metric, False means imperial. Only works with Galevo (Alteas One, Genus One, etc) system. Default is True.
  • language_tag: Optional. Check https://en.wikipedia.org/wiki/IETF_language_tag Only works with Galevo (Alteas One, Genus One, etc) system. Default is "en-US".

Use your device

Get device features

Sync

device.get_features()

Async

await device.async_get_features()

Get device data

Sync

device.update_state()

Async

await device.async_update_state()

Get device energy

Sync

device.update_energy()

Async

await device.async_update_energy()