Ariston NET Remotethermo integration
Project description
Ariston NET remotethermo API
Thin integration is a side project which works only with 1 zone climate configured. It logs in to Ariston website (https://www.ariston-net.remotethermo.com) and fetches/sets data on that site. You are free to modify and distribute it. It is distributed 'as is' with no liability for possible damage.
API and Home Assistant
API was created in order to be used by Home Assistant officially. Example of API use can be found:
API slow nature
API connect to the website, which then connect via gateway to the boiler. The bus has problem handling high bandwidth and thus requests are sent after some specific periods of time. Periods were selected based on tests where not much of interfence was seen when using Ariston Net application or Google Home application or using https://www.ariston-net.remotethermo.com. Still interfences occaionally take place. It is normal to occasionally get connection errors due to devices chain involved.
API was tested on and works with:
- Ariston Clas Evo
- Ariston Genus One with Ariston BCH cylinder
- Ariston Nimbus Flex You may check possible support of your boiler by logging into https://www.ariston-net.remotethermo.com and if climate and water heater parts (like temperatures) are available on the home page, then intergation should potentially work.
API was tested and does not work with:
- Ariston Velis Wifi Website https://www.ariston-net.remotethermo.com does not provide required data for this kind of a boiler.
API use
API was developed as AristonHandler
class, which can be imported from the module. Use PIP to install the module:
pip install aristonremotethermo
Import api in python script:
from aristonremotethermo.ariston import AristonHandler
API dependencies
requests
- for HTTPS requests.
API start communication
from aristonremotethermo.ariston import AristonHandler
ApiInstance = AristonHandler(
username='username',
password='password',
sensors=list_of_sensors,
units=units,
store_file=False,
store_folder="/config/custom_components/ariston"
)
ApiInstance.start()
username
- mandatory usernamepassword
- mandatory passwordsensors
-list
of sensor names to be fetched by API (seeApiInstance.supported_sensors_get
for supported list of sensors by API). Used to filter out requests and only use required onces thus reducing cycle to fetch all of the data.retries
-int
number of retries to set the data until successful result. Default is5
. Useful in case of unstable connections.polling
-float
poling rate. Default is1
. With increase of the value all timers to fetch or set the data are increased by corresponding value.store_file
-bool
if to store files with reply data and some internal dictionaries for troubleshooting purposes. Default isFalse
.store_folder
-str
path to the folder that shall be used for storing of files. Default is location of API.units
-str
value ofmetric
,imperial
orauto
. Default ismetric
. Valueauto
insterts additional request to fetch the data thus reducing cycle to fetch all of the data.ch_and_dhw
-bool
if CH and DHW can heat independently (often there is one heating element and valve controls which element is being heated). Default isFalse
.dhw_unknown_as_on
-bool
of how to treat unknown value ofdhw_flame
sensor by the API. The value is actually never reported and is only approximated by the api and in one of the cases (CH is ON) the value shall be treated based on this parameter. Default isTrue
API stop communication
ApiInstance.stop()
API properties
ApiInstance.available
- returnsbool
if API assumes connection to be working or not.ApiInstance.ch_available
- returnsbool
if API assumes connection to be working or not and if data is available to assume CH as working.ApiInstance.dhw_available
- returnsbool
if API assumes connection to be working or not and if data is available to assume DHW as working.ApiInstance.version
- returnsstr
of API version.ApiInstance.supported_sensors_get
- returnsset
of supported sensor names by the API that can be potentially fetched.ApiInstance.supported_sensors_set
- returnsset
of supported sensor names by the API that can be potentially set.ApiInstance.sensor_values
- returnsdict
of sensors with sensor names as keys and value being dictionary with keysvalue
(for the fetched value) andunits
(for used units).ApiInstance.supported_sensors_set_values
- returnsdict
of sensors that support change of data as keys (seesupported_sensors_set
). The value of the dictionary is either set with supported values or another dictionary with keysmin
(minimum value),max
(maximum value) andstep
(value step). The provided data is available based on fetched data, meaning occasionally it might be empty.ApiInstance.setting_data
- returnsbool
if setting of data by the API is ongoing.
API changing data on the server
ApiInstance.set_http_data(parameter1=value1,parameter2=value2,...)
Method accepts parameters to be changed (see supported_sensors_set
) according to supported_sensors_set_values
.
API changing data example
ApiInstance.set_http_data("mode"="winter","ch_mode"="scheduled")
API supported sensors
API cannot identify which senors shall be in fact supported by the heater model and thus invalid or empty values might be expected
account_ch_gas
- gas use summary for CH.account_ch_electricity
- electricity use summary for CH.account_dhw_gas
- gas use summary for DHW.account_dhw_electricity
- electricity use summary for DHW.ch_antifreeze_temperature
- CH antifreeze temperature.ch_detected_temperature
- temperature measured by thermostat.ch_mode
- mode of CH (manual
orscheduled
and others).ch_comfort_temperature
- CH comfort temperature.ch_economy_temperature
- CH economy temperature.ch_set_temperature
- CH temperature currently used as target.ch_program
- CH Time Program.dhw_program
- DHW Time Program.dhw_comfort_function
- DHW comfort function.dhw_mode
- mode of DHW.dhw_comfort_temperature
- DHW storage comfort temperature.dhw_economy_temperature
- DHW storage economy temperature.dhw_set_temperature
- DHW temperature currently used as target.dhw_storage_temperature
- DHW storage temperature.dhw_thermal_cleanse_cycle
- DHW thermal cleanse cycle.electricity_cost
- Electricity cost.errors
-list
of active errors (no actual errors to test on).errors_count
- active errors (no actual errors to test on).gas_type
- Gas type.gas_cost
- Gas cost.heating_last_24h
- energy use for heating in last 24 hours as summary.heating_last_30d
- energy use for heating in last 7 days as summary.heating_last_365d
- energy use for heating in last 30 days as summary.heating_last_7d
- energy use for heating in last 365 days as summary.heating_last_24h_list
- energy use for heating in last 24 hours asdict
of different periods.heating_last_30d_list
- energy use for heating in last 7 days asdict
of different periods.heating_last_365d_list
- energy use for heating in last 30 days asdict
of different periods.heating_last_7d_list
- energy use for heating in last 365 days asdict
of different periods.mode
- mode of boiler (off
orsummer
orwinter
and others).outside_temperature
- outside temperature.signal_strength
- Wifi signal strength.units
- Units of measurement.water_last_24h
- energy use for water in last 24 hours as summary.water_last_30d
- energy use for water in last 7 days as summary.water_last_365d
- energy use for water in last 30 days as summary.water_last_7d
- energy use for water in last 365 days as summary.water_last_24h_list
- energy use for water in last 24 hours asdict
of different periods.water_last_30d_list
- energy use for water in last 7 days asdict
of different periods.water_last_365d_list
- energy use for water in last 30 days asdict
of different periods.water_last_7d_list
- energy use for water in last 365 days asdict
of different periods.ch_auto_function
- CH AUTO function status.ch_flame
- CH heating ongoing.ch_pilot
- CH Pilot mode.dhw_flame
- DHW heating ongoing. This parameter is not reported by boilers and is approximated based on multiple parameters.dhw_thermal_cleanse_function
- DHW thermal cleanse function.flame
- CH and/or DHW heating ongoing.heat_pump
- Heating pump status.holiday_mode
- Holiday mode status.internet_time
- Internet time status.internet_weather
- Internet weather status.update
- API update status. API specific sensor, which fetches latest version from github. Fetching from github is performed if sensorupdate
oronline_version
in the list of sensors during class instance initiation.online_version
- API online version. API specific sensor, which fetches latest version from github. Fetching from github is performed if sensorupdate
oronline_version
in the list of sensors during class instance initiation.
API supported parameters to be changed
API cannot identify which parameters shall be in fact supported by the heater model and thus invalid or empty values might be expected in supported_sensors_set_values
All values expected to be a string
mode
- mode of boiler (off
orsummer
orwinter
andheating_only
).internet_time
- turn off and on sync with internet time (true
orfalse
).internet_weather
- turn off and on fetching of weather from internet (true
orfalse
).ch_mode
- mode of CH (manual
orscheduled
).ch_auto_function
- turn off and on Auto function (true
orfalse
).ch_comfort_temperature
- CH comfort temperature.ch_economy_temperature
- CH economy temperature.ch_set_temperature
- CH temperature currently used as target.dhw_mode
- mode of DHW (manual
orscheduled
).dhw_comfort_temperature
- DHW storage comfort temperature.dhw_economy_temperature
- DHW storage economy temperature.dhw_set_temperature
- DHW temperature currently used as target.dhw_thermal_cleanse_function
- DHW thermal cleanse function enabled (true
orfalse
).dhw_thermal_cleanse_cycle
- DHW thermal cleanse cycle.dhw_comfort_function
- DHW comfort function (disabled
ortime_based
oralways_active
).units
- Units of measurement (imperial
ormetric
).
Version 1.0.4
Initial release
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for aristonremotethermo-1.0.4.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3404bb13197fc67203616a46cf8540d548ce731df0a7f76c1bf9e66e199b43b5 |
|
MD5 | aca196e95a1fa1f2678c5dfc8b065111 |
|
BLAKE2b-256 | 188c588fa448e9da814bd215e62b90ce05e6ef746246480488c370a226c914f2 |
Hashes for aristonremotethermo-1.0.4-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fd115d1a8c8efa5a1115294b7c5a86db05787b617819e2e50654dc4c8c32f7fa |
|
MD5 | b6c6d06d8b95629d477f262b42595a12 |
|
BLAKE2b-256 | 2efc3961d55ac6e1c317b5001b9515a191aa26b058672e9fb9da628224fcb221 |