Skip to main content

A Python API for interacting with LVI/Purmo Touch E3-connected radiators

Project description

CleverTouch - interact with Touch E3-connected radiators

This Python API enables control and monitoring of Touch E3-connected radiators via CleverTouch cloud accounts.

Background

LVI by Purmo is range of radiators manufactured by the Finnish company Purmo. Some models, such as Yali Digital, Parada and Ramo may be monitored and controlled centrally using the optional accessory TempCo Touch E3. The Touch E3 may in turn be controlled remotely via a CleverTouch cloud account and related mobile and web apps.

General usage

All communication with the cloud API is asynchronous using aiohttp. Communication can either use lower-level calls using an ApiSession object with methods for returning unparsed data objects, or a higher-lever object model using the Account with friendly functions and objects for the most relevant properties of homes and devices.

The most useful methods/properties of the most relevant objects are listed below. A full description of the functionality is only available by reading the source code.

Other brands

While untested, a number of other product lines seem to be using the same controller and software with different branding.

Applications using the following URLs might work, fully or partially, by specifying the host argument when creating an Account or ApiSession (see below).

Additionally, Watts Vision (https://smarthome.wattselectronics.com) uses the same app but a different/improved authentication process. Work is needed to support that process within this library.

Other implementations / GitHub repositories

There are available alternative implementations with unknown status of functionality available on GitHub.

Using the higher-level API

See samples/demo.py for a basic but functional example of how to use the higher-level API.

The Account object

Methods Description
Account(**host) Create an Account object. Optionally specifying the host (including protocol), defaulting to https://e3.lvi.eu.
authenticate(email, password) Authenticate with the service.
get_user() Returns a refreshable User object containing info about all available homes.
get_home(id) Returns a refreshable Home object for a home with the specific id.
get_homes() Returns a list of all homes registered with the user.

The User object

Properties/Methods Description
homes Dictionary containing id and basic information about all available homes.
refresh() Refreshes the data from the cloud account.

The Home object

Properties/Methods Description
info Provides an object with basic info about the home.
devices A list with all available devices.
refresh() Refreshes the data from the cloud account.

The Radiator object

Properties/Methods Description
label The user-specified name of the radiator.
zone Info about the zone where the radiator is located.
temperatures A dictionary with temperatures.
heat_mode The current heat mode.
set_temperature(name,value,unit) Send a request to update a temperature setting.
set_heat_mode(heat_mode) Send a request to update the heat mode.

Using the lower-level API

The ApiSession object

Methods Description
ApiSession() Create an API session.
authenticate(email, password) Authenticate with the service.
read_user_data() Return unparsed data about the user associated with the account.
read_home_data(id) Return unparsed data about the home with the specified id.
write_query(id, params) Send a raw update query for a specific home

Integrations

This API was primarily written to be able to integrate Touch E3-radiators in Home Assistant, see https://github.com/hemphen/hass-clevertouch.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

clevertouch-0.5.0.tar.gz (13.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

clevertouch-0.5.0-py3-none-any.whl (14.9 kB view details)

Uploaded Python 3

File details

Details for the file clevertouch-0.5.0.tar.gz.

File metadata

  • Download URL: clevertouch-0.5.0.tar.gz
  • Upload date:
  • Size: 13.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for clevertouch-0.5.0.tar.gz
Algorithm Hash digest
SHA256 b3a6cace9c776a35818352e58c3e1460ce1c783fc1406c1b97e0b346478c4092
MD5 eaf1e412b3a5c4d5021f9ac60bf1e91d
BLAKE2b-256 a4d8e31e06a9f4f447e059108f6509eea78a9195d0a1df089274cf0d2f3a85e6

See more details on using hashes here.

Provenance

The following attestation bundles were made for clevertouch-0.5.0.tar.gz:

Publisher: release.yml on hemphen/clevertouch

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file clevertouch-0.5.0-py3-none-any.whl.

File metadata

  • Download URL: clevertouch-0.5.0-py3-none-any.whl
  • Upload date:
  • Size: 14.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for clevertouch-0.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e301f6c1dd1a3fd412140f8ec3e1f9f3ce053ab1ea3f212d227dfffd71d9ce5a
MD5 ed282592dbaf4c3dc742ad60d812cb91
BLAKE2b-256 9a06f44c64aa783f790db31e701cb359ce9e2c1e6b59ae9cd6ce0a0f7b83d471

See more details on using hashes here.

Provenance

The following attestation bundles were made for clevertouch-0.5.0-py3-none-any.whl:

Publisher: release.yml on hemphen/clevertouch

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page