chomupashchuk / ariston-remotethermo-home-assistant-v2

Ariston NET remotethermo integration for Home Assistant based on API
MIT License
92 stars 22 forks source link
ariston ariston-net ariston-remotethermo

Consider donations to support Ukraine (where I'm from) to one of mentioned below or some other of your choosing

Volunteering organization to help UA army

ICF COME BACK ALIVE https://savelife.in.ua/en/donate-en/#desktop-donate-abroad-en

IBAN Code Euro (EUR)

UA093052990000026004025029786

IBAN Code US Dollar (USD)

UA173052990000026009035028620

IBAN Code Swedish Krona (SEC)

UA473052990000026009035019253

IBAN Code Polish Zloty (PLN)

UA933052990000026001045027448

IBAN Code Norwegian Krone (NOK)

UA173052990000026001005022621

IBAN Code Pound Sterling (GBP)

UA043052990000026002035022690

IBAN Code Czech Koruna (CZK)

UA503052990000026007015024657

IBAN Code Swiss Franc (CHF)

UA143052990000026009005017456

UA army

https://bank.gov.ua/en/news/all/natsionalniy-bank-vidkriv-spetsrahunok-dlya-zboru-koshtiv-na-potrebi-armiyi

In order to pay UA Army in USD:

BENEFICIARY: National Bank of Ukraine BENEFICIARY BIC: NBUA UA UX BENEFICIARY ADDRESS: 9 Instytutska St, Kyiv, 01601, Ukraine ACCOUNT NUMBER: 804790258 BENEFICIARY BANK NAME: JP MORGAN CHASE BANK, New York BENEFICIARY BANK BIC: CHASUS33 ABA 0210 0002 1 BENEFICIARY BANK ADDRESS: 383 Madison Avenue, New York, NY 10017, USA PURPOSE OF PAYMENT: for ac 47330992708

In order to pay UA Army in EUR:

BENEFICIARY: National Bank of Ukraine IBAN DE05504000005040040066 PURPOSE OF PAYMENT: for ac 47330992708 BENEFICIARY BANK NAME: DEUTSCHE BUNDESBANK, Frankfurt BENEFICIARY BANK BIC: MARKDEFF BENEFICIARY BANK ADDRESS: Wilhelm-Epstein-Strasse 14, 60431 Frankfurt Am Main, Germany

In order to pay UA Army in GBP:

BENEFICIARY/RECIPIENT NAME: National Bank of Ukraine ACCOUNT NUMBER: 80033041 IBAN GB52CHAS60924280033041 BENEFICIARY ADDRESS: 9 Instytutska St, Kyiv, 01601, Ukraine BENEFICIARY BANK NAME: JP MORGAN CHASE BANK NA, London BENEFICIARY BANK BIC: CHASGB2L SORT CODE: 60-92-42 BENEFICIARY BANK ADDRESS: 125 London Wall, London EC2Y 5AJ, UK PURPOSE OF PAYMENT: for ac 47330992708

In order to pay UA Army in AUD:

BENEFICIARY: National Bank of Ukraine BENEFICIARY BIC: NBUA UA UX BENEFICIARY ADDRESS: 9 Instytutska St, Kyiv, 01601, Ukraine ACCOUNT NUMBER: 817532 BSB code 092-002 BENEFICIARY BANK NAME: RESERVE BANK OF AUSTRALIA, Sydney BENEFICIARY BANK BIC: RSBKAU2S BENEFICIARY BANK ADDRESS: GPO Box 3947, Sydney NSW 2000, Australia PURPOSE OF PAYMENT: for ac 47330992708

In order to pay UA Army in CAD:

BENEFICIARY: National Bank of Ukraine BENEFICIARY BIC: NBUA UA UX BENEFICIARY ADDRESS: 9 Instytutska St, Kyiv, 01601, Ukraine ACCOUNT NUMBER: 31441044166 BENEFICIARY BANK NAME: BANK OF MONTREAL, Toronto BENEFICIARY BANK BIC: BOFMCAM2 BENEFICIARY BANK ADDRESS: 100 King Street West, Toronto, Ontario, M5X 1A9, Canada PURPOSE OF PAYMENT: for ac 47330992708

In order to pay UA Army in PLN:

BENEFICIARY: National Bank of Ukraine BENEFICIARY BIC: NBUA UA UX BENEFICIARY ADDRESS: 9 Instytutska St, Kyiv, 01601, Ukraine ACCOUNT NUMBER: PL91113000070080239435200002 BENEFICIARY BANK NAME: Bank Gospodarstwa Krajowego BENEFICIARY BANK BIC: GOSKPLPW BENEFICIARY BANK ADDRESS: Al. Jerozolimskie 7, 00-955 Warszawa, Polska (temporary address: Chmielna 73, 00-801 Warszawa, Polska) PURPOSE OF PAYMENT: for ac 47330992708


Ariston NET remotethermo integration for Home Assistant

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. Cimate has presets to switch between off, summer and winter in order to be able to control boiler from one entity.

Donations

If you like this app, please consider donating some sum to your local charity organizations or global organization like Red Cross. I don't mind receiving donations myself (you may conact me for more details if you want to), but please consider charity at first.

Integration slow nature

Intergation uses api developed by me based on assumptions and test results. It continiously fetches the data from the site with periods determined during tests to have not as many interference with other applications (like Ariston NET application or Google Home application) but be quick enough to get information as soon as possible. You may read more about API (ariston.py) on the website: https://pypi.org/project/aristonremotethermo/.

Integration was tested on and works with:

Integration was tested and does not work with:

How to check if intergation supports your model

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.

Integration installation

In /config folder create custom_components folder and folder ariston with its contents in it. In configuration.yaml include:

ariston:
  username: !secret ariston_username
  password: !secret ariston_password

All optional attributes are described in Integration attributes\ Order of Installation:

Integration attributes

Switches

Some parameters are not supported on all models

Selectors

Some parameters are not supported on all models

Sensors

Some parameters are not supported on all models

Binary sensors

Some parameters are not supported on all models

Example of configuration.yaml entry

ariston:
  username: !secret ariston_user
  password: !secret ariston_password
  switches:
    - internet_time
    - internet_weather
  sensors:
    - ch_detected_temperature
    - ch_mode
    - ch_comfort_temperature
    - ch_economy_temperature
    - ch_set_temperature
    - dhw_set_temperature
    - errors_count
    - mode
    - outside_temperature
  binary_sensors:
    - changing_data
    - online
  selector:
    - mode
    - ch_mode

Multiple boilers under one account setup

Multiple boilers can exist under one account and by default first gateway is used to connect to appropriate boiler, so in case of multiple boilers each gateway must be specified individually.

Multiple boilers Gateways collection

Perform actions in the following order:

Example with 4 boilers (2 ariston and 2 aquaariston) with minimal configuration

ariston:
  - name: boiler_1_name
    gw: "BOILER1GW"                         # See GAETWAYNUMBER fetching
    username: !secret ariston_username
    password: !secret ariston_password
    selector:
      - mode

  - name: boiler_2_name
    gw: "BOILER2GW"                         # See GAETWAYNUMBER fetching
    username: !secret ariston_username
    password: !secret ariston_password
    sensors:
      - mode

aquaariston:
  - name: boiler_3_name
    gw: "BOILER3GW"                         # See GAETWAYNUMBER fetching
    username: !secret ariston_username
    password: !secret ariston_password
    type: "velis"
    switches:
      - power

  - name: boiler_4_name
    gw: "BOILER4GW"                         # See GAETWAYNUMBER fetching
    username: !secret ariston_username
    password: !secret ariston_password
    type: "lydos"
    selector:
      - mode

In example there are 4 devices, for which GAETWAYNUMBER was fetched manually and is used as value for gw parameter. Parameter name must be unique (could be based on Nickname from Ariston URL or selected randomly). Gateway must be selected according to integration (see details per integration, which boilers it supports). Sensors, switches, binary sensors and selectors can be specified under each boiler individually. Integration attempts to check for supported gateways when one is specified, and logs corresponding events in case gateway is not found in parsed HTML body.

Services

ariston.set_data - Sets the requested data.

Service attributes:

Service use example

service: ariston.set_data
data:
    entity_id: 'climate.ariston'
    ch_comfort_temperature: 20.5

Some known issues and workarounds

Climate and water_heater entity become unavailable

Since integration interacts with server, which interacts with boiler directly or via gateway, it is possible that some link in the chain is not working. Integration is designed to constantly retry the connection (requests are sent more reearely in case of multiple faults to reduce load on whole chain). Mostly connection recovers in time, but sometimes restart of router or boiler can help (but not always).

Only part of data becomes unavailable after it was available

Even though many functions are not accessible via integration once boiler configuration (parameter 228 in the menu) changed from 1 (boiler with water heater sensor) to 0 (default configuration without sensor), possibly due to packets corruption on the way or some specific bit sequence. It caused Genus One model not being able to handle DHW. The solution is to enter boiler menu directly and change the value of parameter 228. Also boiler might require restart (complete loss of power).

Unexpected status or temperature reported

For example CH temperature set to 0, which is not in supported range. Try to log in into https://www.ariston-net.remotethermo.com and change the value there. If it does not help try disconnecting heater from electricity and connecting again.