Package: clevertouch
CleverTouch - interact with Touch E3-connected radiatorsThis Python API enables control and monitoring of Touch E3-connected radiators via CleverTouch cloud accounts.BackgroundLVI 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 usageAll communication with the cloud API is asynchronous usingaiohttp. Communication
can either use lower-level calls using anApiSessionobject with methods for returning unparsed data objects, or a higher-lever object model using theAccountwith
friendly functions and objects for the most relevant properties of homes and devices.Themostuseful methods/properties of themostrelevant objects are listed below. A full description of the functionality is only available by reading the source
code.Other brandsWhile 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 thehostargument when creating anAccountorApiSession(see below).Walter Meier Metalplast smart-comfort -https://www.smartcomfort.waltermeier.comFrico PF Smart -https://fricopfsmart.frico.seFenix V24 Wifi -https://v24.fenixgroup.euVogel & Noot E3 App -https://e3.vogelundnoot.comCordiVari My Way Cosy Home -https://cordivarihome.comAdditionally, 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 repositoriesThere are available alternative implementations with unknown status of functionality available on GitHub.Watts Vision support for Home Assistant is provided through the repopwesters/watts_vision.A Watts Vision library is also available inmjkl-gh/aio-watts-vision.Library support for LVI heaters can be found inhwaastad/pylviwith Home Assistant support inhwaastad/lvi.An alternative solution to support Home Assistant by streaming values via MQTT is available inkomppa/tempco2mqtt.Using the higher-level APISeesamples/demo.pyfor a basic but functional example of how to use the higher-level API.TheAccountobjectMethodsDescriptionAccount(**host)Create anAccountobject. Optionally specifying the host (including protocol), defaulting tohttps://e3.lvi.eu.authenticate(email, password)Authenticate with the service.get_user()Returns a refreshableUserobject containing info about all available homes.get_home(id)Returns a refreshableHomeobject for a home with the specificid.get_homes()Returns a list of all homes registered with the user.TheUserobjectProperties/MethodsDescriptionhomesDictionary containing id and basic information about all available homes.refresh()Refreshes the data from the cloud account.TheHomeobjectProperties/MethodsDescriptioninfoProvides an object with basic info about the home.devicesA list with all available devices.refresh()Refreshes the data from the cloud account.TheRadiatorobjectProperties/MethodsDescriptionlabelThe user-specified name of the radiator.zoneInfo about the zone where the radiator is located.temperaturesA dictionary with temperatures.heat_modeThe 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 APITheApiSessionobjectMethodsDescriptionApiSession()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 homeIntegrationsThis API was primarily written to be able to integrate Touch E3-radiators in Home Assistant, seehttps://github.com/hemphen/hass-clevertouch.