Skip to main content

Tests

python-ariston-net-api

A maintained fork of fustom/python-ariston-api for the Ariston NET Home Assistant integration. The package is ariston-net-api and the module is ariston_net_api, so it can live next to fustom's ariston package:

from ariston_net_api import Ariston

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-net-api

First, open Python 3 and import ariston module.

python3
import ariston_net_api as 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

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

python3
from ariston_net_api 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()

Get heat produced

The API gives only the electricity a device used. The heat a heat pump produced is only on the metering page of the web app, so this update logs in to the web app (same login and password) every time. It works for GALEVO devices whose features have hasMetering; other devices send no request.

Sync

device.update_metering()

Async

await device.async_update_metering()

Then read a total in kWh (None when the cloud has no such data):

from ariston_net_api.const import MeteringPeriod, MeteringSeries, MeteringTab

device.get_metering_total(
    MeteringTab.PRODUCED_ENERGY, MeteringSeries.HEATING, MeteringPeriod.CURRENT_DAY
)
  • Tabs: PRODUCED_ENERGY, CONSUMED_ELECTRICITY. Series: HEATING, DHW, COOLING.
  • Periods: CURRENT_DAY and PREVIOUS_DAY (2 h bins), CURRENT_MONTH and PREVIOUS_MONTH (days), CURRENT_YEAR and PREVIOUS_YEAR (months).
  • Poll it rarely, for example once an hour: one update is two HTTP requests (login, data) and about 72 KB, and the data comes in 2 h bins.
  • The values are Ariston's estimates, not a heat meter.
  • When device.is_metering_intensive_logs_active is true, the web app shows metering as off.
  • This is the web app's page backend, not an API for apps, so it may change without notice.

Metadata

Release files for ariston-net-api 0.21.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for ariston-net-api 0.21.0
File Size Uploaded Provenance
ariston_net_api-0.21.0.tar.gz 32.2 kB With provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for ariston-net-api 0.21.0
File Interpreter ABI Platform
ariston_net_api-0.21.0-py3-none-any.whl Python 3 none any Details

Total release size: 71.4 kB

Release files / ariston_net_api-0.21.0.tar.gz

Download URL ariston_net_api-0.21.0.tar.gz
Size 32.2 kB
Tags Source
SHA-256 checksum
How to use checksums
c02cddba7b1a148afc42045513d9c1c2b02d86581c93105cd15023f7f203e60c
BLAKE2b-256 checksum
How to use checksums
af11c795275effe01fd0debf366b2f92c1185c7e2140b57f12372efcec85cf28
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 25, 2026.

Transparency log

Release files / ariston_net_api-0.21.0-py3-none-any.whl

Download URL ariston_net_api-0.21.0-py3-none-any.whl
Size 39.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
41c7d4495c4cd8414b9c6792bbb7ff6b2de2eecaf732a4db58ef3ead9fa738e3
BLAKE2b-256 checksum
How to use checksums
44257799b056c54f99edc423daf07d9b09775afc5d08b52e90f315cab1428d93
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 25, 2026.

Transparency log

Security for ariston-net-api 0.21.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for ariston_net_api-0.21.0.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 25, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page