clevertouch


Nameclevertouch JSON
Version 0.4.1 PyPI version JSON
download
home_page
SummaryA Python API for interacting with LVI/Purmo Touch E3-connected radiators
upload_time2023-04-17 17:35:19
maintainer
docs_urlNone
author
requires_python>=3.8
licenseMIT
keywords lvi home automation heating
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # 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).

* Walter Meier Metalplast smart-comfort - [https://www.smartcomfort.waltermeier.com](https://www.smartcomfort.waltermeier.com)
* Frico PF Smart - [https://fricopfsmart.frico.se](https://fricopfsmart.frico.se)
* Fenix V24 Wifi - [https://v24.fenixgroup.eu](https://v24.fenixgroup.eu)
* Vogel & Noot E3 App - [https://e3.vogelundnoot.com](https://e3.vogelundnoot.com)
* CordiVari My Way Cosy Home - [https://cordivarihome.com](https://cordivarihome.com)

Additionally, Watts Vision ([https://smarthome.wattselectronics.com](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.

* Watts Vision support for Home Assistant is provided through the repo [pwesters/watts_vision](https://github.com/pwesters/watts_vision/).
* A Watts Vision library is also available in [mjkl-gh/aio-watts-vision](https://github.com/mjkl-gh/aio-watts-vision).
* Library support for LVI heaters can be found in [hwaastad/pylvi](https://github.com/hwaastad/pylvi) with Home Assistant support in [hwaastad/lvi](https://github.com/hwaastad/lvi).
* An alternative solution to support Home Assistant by streaming values via MQTT is available in [komppa/tempco2mqtt](https://github.com/komppa/tempco2mqtt).

## Using the higher-level API

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.

### 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.


            

Raw data

            {
    "_id": null,
    "home_page": "",
    "name": "clevertouch",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": "",
    "keywords": "LVI,home automation,heating",
    "author": "",
    "author_email": "hemphen <michael.hemph@gmail.com>",
    "download_url": "https://files.pythonhosted.org/packages/29/5f/7449e91825d6f76615c8ab0d7413dd3f7f968a5b42070c516fd0eb7617ea/clevertouch-0.4.1.tar.gz",
    "platform": null,
    "description": "# CleverTouch - interact with Touch E3-connected radiators\n\nThis Python API enables control and monitoring of Touch E3-connected radiators via CleverTouch cloud accounts.\n\n## Background\n\nLVI by Purmo is range of radiators manufactured by the Finnish company Purmo.\nSome models, such as Yali Digital, Parada and Ramo may be monitored and controlled\ncentrally using the optional accessory TempCo Touch E3. The Touch E3 may in turn be\ncontrolled remotely via a CleverTouch cloud account and related mobile and web apps.\n\n## General usage\n\nAll communication with the cloud API is asynchronous using `aiohttp`. Communication\ncan 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\nfriendly functions and objects for the most relevant properties of homes and devices.\n\nThe _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\ncode.\n\n## Other brands\n\nWhile untested, a number of other product lines seem to be using the same controller and software with different branding.\n\nApplications using the following URLs might work, fully or partially, by specifying the `host` argument when creating an `Account` or `ApiSession` (see below).\n\n* Walter Meier Metalplast smart-comfort - [https://www.smartcomfort.waltermeier.com](https://www.smartcomfort.waltermeier.com)\n* Frico PF Smart - [https://fricopfsmart.frico.se](https://fricopfsmart.frico.se)\n* Fenix V24 Wifi - [https://v24.fenixgroup.eu](https://v24.fenixgroup.eu)\n* Vogel & Noot E3 App - [https://e3.vogelundnoot.com](https://e3.vogelundnoot.com)\n* CordiVari My Way Cosy Home - [https://cordivarihome.com](https://cordivarihome.com)\n\nAdditionally, Watts Vision ([https://smarthome.wattselectronics.com](https://smarthome.wattselectronics.com)) uses the same app but a different/improved authentication process. Work is needed to support\nthat process within this library.\n\n## Other implementations / GitHub repositories\n\nThere are available alternative implementations with unknown status of functionality available on GitHub.\n\n* Watts Vision support for Home Assistant is provided through the repo [pwesters/watts_vision](https://github.com/pwesters/watts_vision/).\n* A Watts Vision library is also available in [mjkl-gh/aio-watts-vision](https://github.com/mjkl-gh/aio-watts-vision).\n* Library support for LVI heaters can be found in [hwaastad/pylvi](https://github.com/hwaastad/pylvi) with Home Assistant support in [hwaastad/lvi](https://github.com/hwaastad/lvi).\n* An alternative solution to support Home Assistant by streaming values via MQTT is available in [komppa/tempco2mqtt](https://github.com/komppa/tempco2mqtt).\n\n## Using the higher-level API\n\nSee [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.\n\n### The `Account` object\n\n| Methods | Description |\n| --- | --- |\n| `Account(**host)` | Create an `Account` object. Optionally specifying the host (including protocol), defaulting to https://e3.lvi.eu. |\n| `authenticate(email, password)` | Authenticate with the service. |\n| `get_user()` | Returns a refreshable `User` object containing info about all available homes. |\n| `get_home(id)` | Returns a refreshable `Home` object for a home with the specific `id`. |\n| `get_homes()` | Returns a list of all homes registered with the user. |\n\n### The `User` object\n| Properties/Methods | Description |\n| --- | --- |\n| `homes` | Dictionary containing id and basic information about all available homes. |\n| `refresh()` | Refreshes the data from the cloud account. |\n\n### The `Home` object\n| Properties/Methods | Description |\n| --- | --- |\n| `info` | Provides an object with basic info about the home. |  \n| `devices` | A list with all available devices. |\n| `refresh()` | Refreshes the data from the cloud account. |\n\n### The `Radiator` object\n| Properties/Methods | Description |\n| --- | --- |\n| `label` | The user-specified name of the radiator. |\n| `zone` | Info about the zone where the radiator is located. |\n| `temperatures` | A dictionary with temperatures. |\n| `heat_mode` | The current heat mode. |\n| `set_temperature(name,value,unit)` | Send a request to update a temperature setting. |\n| `set_heat_mode(heat_mode)` | Send a request to update the heat mode. |\n\n## Using the lower-level API\n\n### The `ApiSession` object\n\n| Methods | Description |\n| --- | --- |\n| `ApiSession()` | Create an API session. |\n| `authenticate(email, password)` | Authenticate with the service. |\n| `read_user_data()` | Return unparsed data about the user associated with the account. |\n| `read_home_data(id)` | Return unparsed data about the home with the specified id. |\n| `write_query(id, params)` | Send a raw update query for a specific home |  \n\n## Integrations\n\nThis API was primarily written to be able to integrate Touch E3-radiators in Home Assistant, see https://github.com/hemphen/hass-clevertouch.\n\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "A Python API for interacting with LVI/Purmo Touch E3-connected radiators",
    "version": "0.4.1",
    "split_keywords": [
        "lvi",
        "home automation",
        "heating"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "13a542fc0b371cace82f93b77f724299480a9d0ad2cedc81db750305e82f5632",
                "md5": "33fdb1443293fe5757fa2ccd0ca54964",
                "sha256": "fa577b3f4c7a173e5b363b38698afcf7e242ad6495d64e72c308c5c81f979c9f"
            },
            "downloads": -1,
            "filename": "clevertouch-0.4.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "33fdb1443293fe5757fa2ccd0ca54964",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 14360,
            "upload_time": "2023-04-17T17:35:16",
            "upload_time_iso_8601": "2023-04-17T17:35:16.145805Z",
            "url": "https://files.pythonhosted.org/packages/13/a5/42fc0b371cace82f93b77f724299480a9d0ad2cedc81db750305e82f5632/clevertouch-0.4.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "295f7449e91825d6f76615c8ab0d7413dd3f7f968a5b42070c516fd0eb7617ea",
                "md5": "6be647c1ef5753afe315806eede94a52",
                "sha256": "17ae9730fc7dd0ee407e8933704e82b42809e86f122157b386541831c2cfe75d"
            },
            "downloads": -1,
            "filename": "clevertouch-0.4.1.tar.gz",
            "has_sig": false,
            "md5_digest": "6be647c1ef5753afe315806eede94a52",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 13762,
            "upload_time": "2023-04-17T17:35:19",
            "upload_time_iso_8601": "2023-04-17T17:35:19.539462Z",
            "url": "https://files.pythonhosted.org/packages/29/5f/7449e91825d6f76615c8ab0d7413dd3f7f968a5b42070c516fd0eb7617ea/clevertouch-0.4.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-04-17 17:35:19",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "lcname": "clevertouch"
}
        
Elapsed time: 0.05800s