|
1 | 1 | # CleverTouch - interact with Touch E3-connected radiators
|
2 | 2 |
|
| 3 | +This Python API enables control and monitoring of Touch E3-connected radiators via CleverTouch cloud accounts. |
| 4 | + |
| 5 | +## Background |
| 6 | + |
3 | 7 | LVI by Purmo is range of radiators manufactured by the Finnish company Purmo.
|
4 | 8 | Some models, such as Yali Digital, Parada and Ramo may be monitored and controlled
|
5 | 9 | centrally using the optional accessory TempCo Touch E3. The Touch E3 may in turn be
|
6 | 10 | controlled remotely via a CleverTouch cloud account and related mobile and web apps.
|
7 | 11 |
|
8 |
| -This Python API enables control and monitoring of Touch E3-connected radiators such |
9 |
| -via the cloud accounts. |
| 12 | +## General usage |
| 13 | + |
| 14 | +All communication with the cloud API is asynchronous using `aiohttp`. Communication |
| 15 | +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 |
| 16 | +friendly functions and objects for the most relevant properties of homes and devices. |
| 17 | + |
| 18 | +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 |
| 19 | +code. |
| 20 | + |
| 21 | +## Using the higher-level API |
| 22 | + |
| 23 | +See [samples/demo.py](https://github.com/hemphen/clevertouch/blob/samples/demo.py) for a basic but functional example of how to use the higher-level API. |
| 24 | + |
| 25 | +### The `Account` object |
| 26 | + |
| 27 | +| Methods | Description | |
| 28 | +| --- | --- | |
| 29 | +| `Account()` | Create an `Account` object. | |
| 30 | +| `authenticate(email, password)` | Authenticate with the service. | |
| 31 | +| `get_user()` | Returns a refreshable `User` object containing info about all available homes. | |
| 32 | +| `get_home(id)` | Returns a refreshable `Home` object for a home with the specific `id`. | |
| 33 | +| `get_homes()` | Returns a list of all homes registered with the user. | |
| 34 | + |
| 35 | +### The `User` object |
| 36 | +| Properties/Methods | Description | |
| 37 | +| --- | --- | |
| 38 | +| `homes` | Dictionary containing id and basic information about all available homes. | |
| 39 | +| `refresh()` | Refreshes the data from the cloud account. | |
| 40 | + |
| 41 | +### The `Home` object |
| 42 | +| Properties/Methods | Description | |
| 43 | +| --- | --- | |
| 44 | +| `info` | Provides an object with basic info about the home. | |
| 45 | +| `devices` | A list with all available devices. | |
| 46 | +| `refresh()` | Refreshes the data from the cloud account. | |
| 47 | + |
| 48 | +### The `Radiator` object |
| 49 | +| Properties/Methods | Description | |
| 50 | +| --- | --- | |
| 51 | +| `label` | The user-specified name of the radiator. | |
| 52 | +| `zone` | Info about the zone where the radiator is located. | |
| 53 | +| `temperatures` | A dictionary with temperatures. | |
| 54 | +| `heat_mode` | The current heat mode. | |
| 55 | +| `set_temperature(name,value,unit)` | Send a request to update a temperature setting. | |
| 56 | +| `set_heat_mode(heat_mode)` | Send a request to update the heat mode. | |
| 57 | + |
| 58 | +## Using the lower-level API |
| 59 | + |
| 60 | +### The `ApiSession` object |
| 61 | + |
| 62 | +| Methods | Description | |
| 63 | +| --- | --- | |
| 64 | +| `ApiSession()` | Create an API session. | |
| 65 | +| `authenticate(email, password)` | Authenticate with the service. | |
| 66 | +| `read_user_data()` | Return unparsed data about the user associated with the account. | |
| 67 | +| `read_home_data(id)` | Return unparsed data about the home with the specified id. | |
| 68 | +| `write_query(id, params)` | Send a raw update query for a specific home | |
10 | 69 |
|
11 |
| -### Integrations |
| 70 | +## Integrations |
12 | 71 |
|
13 |
| -* Home Assistant - see https://github.com/hemphen/hass-clevertouch |
| 72 | +This API was primarily written to be able to integrate Touch E3-radiators in Home Assistant, see https://github.com/hemphen/hass-clevertouch. |
0 commit comments