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
Use pip3 to install the latest version of this module.
pip3 install ariston
First, open Python 3 and import ariston module.
python3
importaristonDiscover 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")raw_devices=awaitariston.async_discover("username", "password")
device=awaitariston.async_hello("username", "password", "gateway", is_metric, "location")First, open Python 3 and import Ariston class from this module.
python3
fromaristonimportAristonCreate a new Ariston instance
ariston=Ariston()Now let's try some functions
The cloud requests are asynchronous, so if you call them from a synchronous function or not even from function, you should use asyncio.
importasyncioSync
asyncio.run(ariston.async_connect("username", "password"))Async
awaitariston.async_connect("username", "password")- username: Your ariston cloud username.
- password: Your ariston cloud password.
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=awaitariston.async_discover()Use this function to create the device object.
Sync
device=asyncio.run(ariston.async_hello("gateway", is_metric, "location"))Async
device=awaitariston.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".
Sync
device.get_features()Async
awaitdevice.async_get_features()Sync
device.update_state()Async
awaitdevice.async_update_state()Sync
device.update_energy()Async
awaitdevice.async_update_energy()