fustom / ariston-remotethermo-home-assistant-v3

Ariston NET remotethermo integration for Home Assistant based on API
MIT License
157 stars 37 forks source link

Your device (5) is currently not supported. Contact with the developer #40

Closed Robi1976 closed 1 year ago

Robi1976 commented 2 years ago

Hi. I tried to set-up the integration with my Elco Thision heating system which uses Ariston. After entering username and password i get the message "Success. Configuration for Rico Thision done" (translated from German original message). The integration shows subsequently the following error message. Any ideas? Kind regards

Dieser Fehler wurde von einer benutzerdefinierten Integration verursacht

Logger: custom_components.ariston Source: custom_components/ariston/init.py:87 Integration: Ariston (documentation, issues) First occurred: 22:12:42 (4 occurrences) Last logged: 22:25:22

Your device (5) is currently not supported. Contact with the developer

Bild 08 09 22 um 22 33

Roleiro91 commented 2 years ago

have the type of error

fustom commented 2 years ago

Hi @Roleiro91! Sorry for the late answer. I had a lot of things to do. I never had elco thision heating system, so I do not know anything about it. It is maybe a completely different device, so I need some information. What does it mean "uses Ariston"? Can you control your device by an android application? If you can, which one? Can you give me a temporary permission to check what api calls work with?

subivoodoo commented 2 years ago

Hi,

I've also tried to setup my Elco heatpump heating system and get the same error.

What does it mean "uses Ariston"? It means (at least for me) that I can login at https://www.ariston-net.remotethermo.com and control my device.

I figured out that my device (by the way it's an Elco AEROTOP S09M-IR) reports back the type BSB as your code call's the API... and this type is logically not (yet?) implemented because you do not have such a device.

Can you give me a temporary permission to check what api calls work with? Temporary yes if you can implement the device type BSB :-)

subivoodoo commented 1 year ago

I did just a little bit try&error... copy+pase the device type BSB as an AristonGalevoDevice, configured my ariston user in home assistant and debug output was:

Probalby it's not easy to integrate BSB devices???

Response for the features request was (a lot of false): {'zones': [{'num': 1, 'name': '', 'roomSens': True, 'geofenceDeroga': False, 'isHidden': False}], 'solar': False, 'convBoiler': False, 'commBoiler': False, 'hpSys': True, 'hybridSys': False, 'cascadeSys': False, 'dhwProgSupported': True, 'virtualZones': False, 'hasVmc': False, 'extendedTimeProg': False, 'hasBoiler': False, 'pilotSupported': False, 'isVmcR2': False, 'isEvo2': False, 'dhwHidden': False, 'dhwBoilerPresent': False, 'dhwModeChangeable': True, 'hvInputOff': False, 'autoThermoReg': False, 'hasMetering': False, 'weatherProvider': 0, 'hasFireplace': False, 'hasSlp': False, 'hasEm20': False, 'hasTwoCoolingTemp': False, 'bmsActive': False, 'hpCascadeSys': False, 'hpCascadeConfig': -1, 'bufferTimeProgAvailable': False, 'distinctHeatCoolSetpoints': False, 'hasZoneNames': False, 'hydraulicScheme': -1, 'preHeatingSupported': False, 'hasGahp': False, 'hasDhwTimeProgTemperatures': 2, 'zigbeeActive': False}

fustom commented 1 year ago

Hi @subivoodoo!

Can you try wuede's fork? He just implement something related to BSB device, but did not create a pull request (yet). Or he is you? https://github.com/wuede/ariston-remotethermo-home-assistant-v3

subivoodoo commented 1 year ago

Hi, no I'm not wuede... I'tried this fork and it basically initialises my heat pump at least:

grafik

but there are no entities present because of some details of data types and missing attributes now:

File "/config/custom_components/ariston/number.py", line 27, in async_setup_entry  if coordinator.device.are_device_features_available(  AttributeError: 'dict' object has no attribute 'device'

File "/config/custom_components/ariston/climate.py", line 146, in hvac_modes  if ZoneMode.MANUAL in zone_modes or ZoneMode.MANUAL_NIGHT in zone_modes: TypeError: argument of type 'NoneType' is not iterable
geni0602 commented 1 year ago

do you have something new on this error. I am also having a Elco Aerotop and getting the same error device not supported. Dieser Fehler wurde von einer benutzerdefinierten Integration verursacht

Logger: custom_components.ariston Source: custom_components/ariston/init.py:142 Integration: Ariston (documentation, issues) First occurred: 17:06:57 (3 occurrences) Last logged: 17:19:58

Your device (5) is currently not supported. Contact with the developer

Log in on https://www.ariston-net.remotethermo.com/ is working, everything is available and temperature could be set, or changed.

fustom commented 1 year ago

Hi! May I ask you to send me your username and your temporarily password. I takes about a hour to grab all the http requests what I need for the implementation. Write an email to fustom@gmail.com

geni0602 commented 1 year ago

Hi I switched to BSB LAN solution https://github.com/fredlcore/BSB-LAN and returned my original ELCO device.

Thanks for your support

BR Evgeni

subivoodoo commented 1 year ago

Hi! May I ask you to send me your username and your temporarily password. I takes about a hour to grab all the http requests what I need for the implementation. Write an email to ***

You've got an email.

subivoodoo commented 1 year ago

Great thanksAm 28.11.2022 22:29 schrieb fustom @.>: Hi! May I ask you to send me your username and your temporarily password. I takes about a hour to grab all the http requests what I need for the implementation. Write an email to @.

—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you were mentioned.Message ID: @.***>

fustom commented 1 year ago

Hi all. Can you provide some feedback? Is there any missing feature? Is there any bug?

subivoodoo commented 1 year ago

Hi, first of all thanks for your work!

I've installed version 0.15.1 and added it newly as integration/device... now it creates at least 1 entitiy and I can see some firmware data:

grafik

but during the init process there are still some issues, here the log errors:

2023-08-14 17:35:20.023 ERROR (MainThread) [homeassistant.components.sensor] Error while setting up ariston platform for sensor
Traceback (most recent call last):
  File "/lsiopy/lib/python3.11/site-packages/homeassistant/helpers/entity_platform.py", line 362, in _async_setup_platform
    await asyncio.shield(task)
  File "/config/custom_components/ariston/sensor.py", line 34, in async_setup_entry
    if coordinator.device.are_device_features_available(
       ^^^^^^^^^^^^^^^^^^
AttributeError: 'dict' object has no attribute 'device'
2023-08-14 17:35:20.024 ERROR (MainThread) [homeassistant.components.select] Error while setting up ariston platform for select
Traceback (most recent call last):
  File "/lsiopy/lib/python3.11/site-packages/homeassistant/helpers/entity_platform.py", line 362, in _async_setup_platform
    await asyncio.shield(task)
  File "/config/custom_components/ariston/select.py", line 31, in async_setup_entry
    if coordinator.device.are_device_features_available(
       ^^^^^^^^^^^^^^^^^^
AttributeError: 'dict' object has no attribute 'device'
2023-08-14 17:35:20.025 ERROR (MainThread) [homeassistant.components.number] Error while setting up ariston platform for number
Traceback (most recent call last):
  File "/lsiopy/lib/python3.11/site-packages/homeassistant/helpers/entity_platform.py", line 362, in _async_setup_platform
    await asyncio.shield(task)
  File "/config/custom_components/ariston/number.py", line 28, in async_setup_entry
    if coordinator.device.are_device_features_available(
       ^^^^^^^^^^^^^^^^^^
AttributeError: 'dict' object has no attribute 'device'
fustom commented 1 year ago

Thank you @subivoodoo! The error is very weird. I couldn't find the bug. May I ask you (again) a temporary access to your device? I will try to debug and find the issue.

subivoodoo commented 1 year ago

You've got an email.

fustom commented 1 year ago

Please check again: https://github.com/fustom/ariston-remotethermo-home-assistant-v3/releases/tag/v0.15.2

subivoodoo commented 1 year ago

Init works now for my Elco heatpump (hot water and room heating)... great!

grafik

subivoodoo commented 1 year ago

Reading the current values also works after some time now. Unfortunately, there are errors when changing the current hot water temperature:

2023-08-15 23:52:39.694 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection] [140278278408000] Invalid token
Traceback (most recent call last):
  File "/lsiopy/lib/python3.11/site-packages/homeassistant/components/websocket_api/commands.py", line 226, in handle_call_service
    await hass.services.async_call(
  File "/lsiopy/lib/python3.11/site-packages/homeassistant/core.py", line 1974, in async_call
    response_data = await coro
                    ^^^^^^^^^^
  File "/lsiopy/lib/python3.11/site-packages/homeassistant/core.py", line 2011, in _execute_service
    return await target(service_call)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/lsiopy/lib/python3.11/site-packages/homeassistant/helpers/entity_component.py", line 235, in handle_service
    return await service.entity_service_call(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/lsiopy/lib/python3.11/site-packages/homeassistant/helpers/service.py", line 870, in entity_service_call
    response_data = await _handle_entity_call(
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/lsiopy/lib/python3.11/site-packages/homeassistant/helpers/service.py", line 942, in _handle_entity_call
    result = await task
             ^^^^^^^^^^
  File "/lsiopy/lib/python3.11/site-packages/homeassistant/components/water_heater/__init__.py", line 393, in async_service_temperature_set
    await entity.async_set_temperature(**kwargs)
  File "/config/custom_components/ariston/water_heater.py", line 140, in async_set_temperature
    await self.device.async_set_water_heater_temperature(temperature)
  File "/config/lsiopy/lib/python3.11/site-packages/ariston/bsb_device.py", line 268, in async_set_water_heater_temperature
    await self._async_set_water_heater_temperature(temperature, reduced)
  File "/config/lsiopy/lib/python3.11/site-packages/ariston/bsb_device.py", line 308, in _async_set_water_heater_temperature
    await self.api.async_set_bsb_temperature(self.gw, temperature, reduced)
  File "/config/lsiopy/lib/python3.11/site-packages/ariston/ariston_api.py", line 693, in async_set_bsb_temperature
    await self._async_post(
  File "/config/lsiopy/lib/python3.11/site-packages/ariston/ariston_api.py", line 821, in _async_post
    return await self.__async_request("POST", path, None, body)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/lsiopy/lib/python3.11/site-packages/ariston/ariston_api.py", line 803, in __async_request
    return await self.__async_request(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/lsiopy/lib/python3.11/site-packages/ariston/ariston_api.py", line 807, in __async_request
    raise Exception("Invalid token")
Exception: Invalid token

Or if the status is changed:

2023-08-15 23:55:15.486 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection] [140278278408000] 'int' object has no attribute 'get'
Traceback (most recent call last):
  File "/lsiopy/lib/python3.11/site-packages/homeassistant/components/websocket_api/commands.py", line 226, in handle_call_service
    await hass.services.async_call(
  File "/lsiopy/lib/python3.11/site-packages/homeassistant/core.py", line 1974, in async_call
    response_data = await coro
                    ^^^^^^^^^^
  File "/lsiopy/lib/python3.11/site-packages/homeassistant/core.py", line 2011, in _execute_service
    return await target(service_call)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/lsiopy/lib/python3.11/site-packages/homeassistant/helpers/entity_component.py", line 235, in handle_service
    return await service.entity_service_call(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/lsiopy/lib/python3.11/site-packages/homeassistant/helpers/service.py", line 870, in entity_service_call
    response_data = await _handle_entity_call(
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/lsiopy/lib/python3.11/site-packages/homeassistant/helpers/service.py", line 942, in _handle_entity_call
    result = await task
             ^^^^^^^^^^
  File "/config/custom_components/ariston/water_heater.py", line 146, in async_set_operation_mode
    self.async_write_ha_state()
  File "/lsiopy/lib/python3.11/site-packages/homeassistant/helpers/entity.py", line 746, in async_write_ha_state
    self._async_write_ha_state()
  File "/lsiopy/lib/python3.11/site-packages/homeassistant/helpers/entity.py", line 808, in _async_write_ha_state
    state = self._stringify_state(available)
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/lsiopy/lib/python3.11/site-packages/homeassistant/helpers/entity.py", line 752, in _stringify_state
    if (state := self.state) is None:
                 ^^^^^^^^^^
  File "/lsiopy/lib/python3.11/site-packages/homeassistant/components/water_heater/__init__.py", line 186, in state
    return self.current_operation
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/ariston/water_heater.py", line 126, in current_operation
    return self.device.water_heater_current_mode_text
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/lsiopy/lib/python3.11/site-packages/ariston/device.py", line 118, in water_heater_current_mode_text
    mode = self.water_heater_mode_value
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/lsiopy/lib/python3.11/site-packages/ariston/bsb_device.py", line 220, in water_heater_mode_value
    return self.data.get(BsbDeviceProperties.DHW_MODE, dict()).get(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'int' object has no attribute 'get'
fustom commented 1 year ago

https://github.com/fustom/ariston-remotethermo-home-assistant-v3/releases/tag/v0.15.3

subivoodoo commented 1 year ago

Hi, the "Invalid token" issue seams to be fixed with this release... but changing the current hot water temperature returns now an error 500 from the ariston API:

2023-08-23 15:55:56.028 DEBUG (MainThread) [custom_components.ariston.coordinator] Finished fetching ariston-LW10-coordinator data in 7.744 seconds (success: True)
2023-08-23 15:56:08.557 DEBUG (MainThread) [custom_components.ariston.water_heater] Setting temperature to 49 for LW10
2023-08-23 15:56:08.557 DEBUG (MainThread) [ariston.ariston_api] Request method POST, path: https://www.ariston-net.remotethermo.com/api/v2/remote/bsbPlantData/F0AD4E089467/dhwTemp, params: None
2023-08-23 15:56:08.859 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection] [140570561100608] 500
Traceback (most recent call last):
  File "/lsiopy/lib/python3.11/site-packages/homeassistant/components/websocket_api/commands.py", line 226, in handle_call_service
    await hass.services.async_call(
  File "/lsiopy/lib/python3.11/site-packages/homeassistant/core.py", line 1974, in async_call
    response_data = await coro
                    ^^^^^^^^^^
  File "/lsiopy/lib/python3.11/site-packages/homeassistant/core.py", line 2011, in _execute_service
    return await target(service_call)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/lsiopy/lib/python3.11/site-packages/homeassistant/helpers/entity_component.py", line 235, in handle_service
    return await service.entity_service_call(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/lsiopy/lib/python3.11/site-packages/homeassistant/helpers/service.py", line 870, in entity_service_call
    response_data = await _handle_entity_call(
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/lsiopy/lib/python3.11/site-packages/homeassistant/helpers/service.py", line 942, in _handle_entity_call
    result = await task
             ^^^^^^^^^^
  File "/lsiopy/lib/python3.11/site-packages/homeassistant/components/water_heater/__init__.py", line 393, in async_service_temperature_set
    await entity.async_set_temperature(**kwargs)
  File "/config/custom_components/ariston/water_heater.py", line 141, in async_set_temperature
    await self.device.async_set_water_heater_temperature(temperature)
  File "/config/lsiopy/lib/python3.11/site-packages/ariston/bsb_device.py", line 288, in async_set_water_heater_temperature
    await self._async_set_water_heater_temperature(temperature, reduced)
  File "/config/lsiopy/lib/python3.11/site-packages/ariston/bsb_device.py", line 328, in _async_set_water_heater_temperature
    await self.api.async_set_bsb_temperature(self.gw, temperature, reduced)
  File "/config/lsiopy/lib/python3.11/site-packages/ariston/ariston_api.py", line 693, in async_set_bsb_temperature
    await self._async_post(
  File "/config/lsiopy/lib/python3.11/site-packages/ariston/ariston_api.py", line 821, in _async_post
    return await self.__async_request("POST", path, None, body)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/lsiopy/lib/python3.11/site-packages/ariston/ariston_api.py", line 810, in __async_request
    raise Exception(response.status)
Exception: 500
fustom commented 1 year ago

@subivoodoo It is embarrassing, but one more time could you temporary share your password? I am not sure what is the problem.

fustom commented 1 year ago

https://github.com/fustom/ariston-remotethermo-home-assistant-v3/releases/tag/v0.15.4

subivoodoo commented 1 year ago

It finally works!!! I can change the hot water temp now over home assistant... great!