Skip to content

Commit cbfce73

Browse files
committed
Update README and pyproject with more details
1 parent 0adc0c3 commit cbfce73

File tree

2 files changed

+78
-6
lines changed

2 files changed

+78
-6
lines changed

README.md

Lines changed: 63 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,72 @@
11
# CleverTouch - interact with Touch E3-connected radiators
22

3+
This Python API enables control and monitoring of Touch E3-connected radiators via CleverTouch cloud accounts.
4+
5+
## Background
6+
37
LVI by Purmo is range of radiators manufactured by the Finnish company Purmo.
48
Some models, such as Yali Digital, Parada and Ramo may be monitored and controlled
59
centrally using the optional accessory TempCo Touch E3. The Touch E3 may in turn be
610
controlled remotely via a CleverTouch cloud account and related mobile and web apps.
711

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 |
1069

11-
### Integrations
70+
## Integrations
1271

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.

pyproject.toml

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,11 +10,24 @@ dev = [
1010

1111
[project]
1212
name = "clevertouch"
13-
version = "0.2.2"
14-
description = "API for interacting with Touch E3 smart device controllers via CleverTouch cloud accounts"
13+
version = "0.2.3"
14+
description = "A Python API for interacting with LVI/Purmo Touch E3-connected radiators"
15+
repository = "https://github.com/hemphen/clevertouch"
16+
keywords = [
17+
"LVI",
18+
"home automation",
19+
"heating"
20+
]
1521
authors = [
1622
{name = "hemphen", email = "[email protected]"},
1723
]
24+
classifiers = [
25+
"Development Status :: 4 - Beta",
26+
"Topic :: Home Automation",
27+
"Topic :: Software Development :: Libraries :: Python Modules"
28+
"Intended Audience :: Developers",
29+
"Programming Language :: Python :: 3",
30+
]
1831
dependencies = [
1932
"aiohttp>=3.8.1",
2033
]

0 commit comments

Comments
 (0)