fustom / ariston-remotethermo-home-assistant-v3

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

Not able to add integration #10

Closed krzysiek2788 closed 2 years ago

krzysiek2788 commented 2 years ago

Hi, I cannot add integration when trying to add it I receive error that not all field has been filled out: image

I have Velis EVO Wi-fi and would like to test will it work with your integration :)

fustom commented 2 years ago

Hi krzysiek2788!

Thanks for testing the integration. Can show me your log file? That would be even better if you can create a debug log.

To do that add the following lines to configuration.yaml:

logger:
  default: error
  logs:
    custom_components.ariston: debug

It is going to show your username and password. Remove them before upload it.

krzysiek2788 commented 2 years ago

Hi, Below are logs I delete my personal info ;)

2022-01-08 16:52:54 WARNING (SyncWorker_0) [homeassistant.loader] We found a custom integration ariston which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you experience issues with Home Assistant
2022-01-08 16:52:54 WARNING (SyncWorker_1) [homeassistant.loader] We found a custom integration average which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you experience issues with Home Assistant
2022-01-08 16:52:54 WARNING (SyncWorker_2) [homeassistant.loader] We found a custom integration xiaomi_cloud_map_extractor which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you experience issues with Home Assistant
2022-01-08 16:52:54 WARNING (SyncWorker_0) [homeassistant.loader] We found a custom integration blitzortung which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you experience issues with Home Assistant
2022-01-08 16:52:54 WARNING (SyncWorker_1) [homeassistant.loader] We found a custom integration xiaomi_miot which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you experience issues with Home Assistant
2022-01-08 16:52:54 WARNING (SyncWorker_1) [homeassistant.loader] We found a custom integration grocy which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you experience issues with Home Assistant
2022-01-08 16:52:54 WARNING (SyncWorker_3) [homeassistant.loader] We found a custom integration samsungtv_smart which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you experience issues with Home Assistant
2022-01-08 16:52:54 WARNING (SyncWorker_1) [homeassistant.loader] We found a custom integration aquaariston which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you experience issues with Home Assistant
2022-01-08 16:52:54 WARNING (SyncWorker_2) [homeassistant.loader] We found a custom integration localtuya which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you experience issues with Home Assistant
2022-01-08 16:52:54 WARNING (SyncWorker_2) [homeassistant.loader] We found a custom integration anniversaries which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you experience issues with Home Assistant
2022-01-08 16:52:54 WARNING (SyncWorker_0) [homeassistant.loader] We found a custom integration garbage_collection which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you experience issues with Home Assistant
2022-01-08 16:52:54 WARNING (SyncWorker_0) [homeassistant.loader] We found a custom integration auto_backup which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you experience issues with Home Assistant
2022-01-08 16:52:54 WARNING (SyncWorker_1) [homeassistant.loader] We found a custom integration scheduler which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you experience issues with Home Assistant
2022-01-08 16:52:54 WARNING (SyncWorker_0) [homeassistant.loader] We found a custom integration hacs which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you experience issues with Home Assistant
2022-01-08 16:53:00 INFO (SyncWorker_3) [custom_components.aquaariston.aristonaqua] API initiated
2022-01-08 16:53:00 INFO (SyncWorker_3) [custom_components.aquaariston.aristonaqua] Connection started
2022-01-08 16:53:01 DEBUG (Thread-7) [custom_components.aquaariston.aristonaqua] <custom_components.aquaariston.aristonaqua.AquaAristonHandler object at 0x7fd6eaf52d30> Fetching next data in 24.0 seconds
2022-01-08 16:53:04 INFO (Thread-10) [custom_components.aquaariston.aristonaqua] <custom_components.aquaariston.aristonaqua.AquaAristonHandler object at 0x7fd6eaf52d30> Plant ID is 840D8EC02458
2022-01-08 16:53:07 INFO (Thread-10) [custom_components.aquaariston.aristonaqua] Setting sensors based on request _get_main
2022-01-08 16:53:07 INFO (Thread-10) [custom_components.aquaariston.aristonaqua] Setting sensors based on request _get_version
2022-01-08 16:53:07 INFO (Thread-10) [custom_components.aquaariston.aristonaqua] Data fetched
2022-01-08 16:53:07 INFO (Thread-10) [custom_components.aquaariston.aristonaqua] ariston action ok for _get_main
2022-01-08 16:53:21 ERROR (MainThread) [homeassistant.helpers.event] Error while processing template: Template("{{ state_attr(states('sensor.termostat_off'), 'current_temperature') <= 17.0 }}")
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/template.py", line 406, in async_render
    render_result = _render_with_context(self.template, compiled, **kwargs)
  File "/usr/src/homeassistant/homeassistant/helpers/template.py", line 1771, in _render_with_context
    return template.render(**kwargs)
  File "/usr/local/lib/python3.9/site-packages/jinja2/environment.py", line 1291, in render
    self.environment.handle_exception()
  File "/usr/local/lib/python3.9/site-packages/jinja2/environment.py", line 925, in handle_exception
    raise rewrite_traceback_stack(source=source)
  File "<template>", line 1, in top-level template code
TypeError: '<=' not supported between instances of 'NoneType' and 'float'

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/template.py", line 522, in async_render_to_info
    render_info._result = self.async_render(variables, strict=strict, **kwargs)
  File "/usr/src/homeassistant/homeassistant/helpers/template.py", line 408, in async_render
    raise TemplateError(err) from err
homeassistant.exceptions.TemplateError: TypeError: '<=' not supported between instances of 'NoneType' and 'float'
2022-01-08 16:53:25 DEBUG (Thread-9) [custom_components.aquaariston.aristonaqua] <custom_components.aquaariston.aristonaqua.AquaAristonHandler object at 0x7fd6eaf52d30> Fetching next data in 24.0 seconds
2022-01-08 16:53:27 INFO (Thread-34) [custom_components.aquaariston.aristonaqua] Setting sensors based on request _get_showers
2022-01-08 16:53:27 INFO (Thread-34) [custom_components.aquaariston.aristonaqua] Data fetched
2022-01-08 16:53:27 INFO (Thread-34) [custom_components.aquaariston.aristonaqua] ariston action ok for _get_showers
2022-01-08 16:53:49 DEBUG (Thread-33) [custom_components.aquaariston.aristonaqua] <custom_components.aquaariston.aristonaqua.AquaAristonHandler object at 0x7fd6eaf52d30> Fetching next data in 24.0 seconds
2022-01-08 16:53:51 INFO (Thread-112) [custom_components.aquaariston.aristonaqua] Setting sensors based on request _get_cleanse
2022-01-08 16:53:51 INFO (Thread-112) [custom_components.aquaariston.aristonaqua] Data fetched
2022-01-08 16:53:51 INFO (Thread-112) [custom_components.aquaariston.aristonaqua] ariston action ok for _get_cleanse
2022-01-08 16:53:59 DEBUG (MainThread) [custom_components.ariston.ariston] Request method POST, path: https://www.ariston-net.remotethermo.com/api/v2/accounts/login, params: None, body: {'usr': '', 'pwd': ''}
2022-01-08 16:53:59 DEBUG (MainThread) [custom_components.ariston.ariston] Request method GET, path: https://www.ariston-net.remotethermo.com/api/v2/remote/plants/lite, params: None, body: None
2022-01-08 16:54:00 DEBUG (MainThread) [custom_components.ariston.ariston] Request method POST, path: https://www.ariston-net.remotethermo.com/api/v2/accounts/login, params: None, body: {'usr': '', 'pwd': ''}
2022-01-08 16:54:00 ERROR (MainThread) [aiohttp.server] Error handling request
Traceback (most recent call last):
  File "/usr/local/lib/python3.9/site-packages/aiohttp/web_protocol.py", line 435, in _handle_request
    resp = await request_handler(request)
  File "/usr/local/lib/python3.9/site-packages/aiohttp/web_app.py", line 504, in _handle
    resp = await handler(request)
  File "/usr/local/lib/python3.9/site-packages/aiohttp/web_middlewares.py", line 117, in impl
    return await handler(request)
  File "/usr/src/homeassistant/homeassistant/components/http/security_filter.py", line 60, in security_filter_middleware
    return await handler(request)
  File "/usr/src/homeassistant/homeassistant/components/http/forwarded.py", line 98, in forwarded_middleware
    return await handler(request)
  File "/usr/src/homeassistant/homeassistant/components/http/request_context.py", line 28, in request_context_middleware
    return await handler(request)
  File "/usr/src/homeassistant/homeassistant/components/http/ban.py", line 78, in ban_middleware
    return await handler(request)
  File "/usr/src/homeassistant/homeassistant/components/http/auth.py", line 181, in auth_middleware
    return await handler(request)
  File "/usr/src/homeassistant/homeassistant/components/http/view.py", line 137, in handle
    result = await result
  File "/usr/src/homeassistant/homeassistant/components/config/config_entries.py", line 157, in post
    return await super().post(request, flow_id)
  File "/usr/src/homeassistant/homeassistant/components/http/data_validator.py", line 62, in wrapper
    result = await method(view, request, *args, **kwargs)
  File "/usr/src/homeassistant/homeassistant/helpers/data_entry_flow.py", line 110, in post
    result = await self._flow_mgr.async_configure(flow_id, data)
  File "/usr/src/homeassistant/homeassistant/data_entry_flow.py", line 252, in async_configure
    result = await self._async_handle_step(flow, cur_step["step_id"], user_input)
  File "/usr/src/homeassistant/homeassistant/data_entry_flow.py", line 325, in _async_handle_step
    result: FlowResult = await getattr(flow, method)(user_input)
  File "/config/custom_components/ariston/config_flow.py", line 72, in async_step_user
    cloud_devices = await self.api.async_get_devices()
  File "/config/custom_components/ariston/ariston.py", line 267, in async_get_devices
    return await self.get(
  File "/config/custom_components/ariston/ariston.py", line 455, in get
    return await self.__request("GET", path, params, None)
  File "/config/custom_components/ariston/ariston.py", line 436, in __request
    raise Exception("Login failed (password changed?)")
Exception: Login failed (password changed?)
2022-01-08 16:54:13 DEBUG (Thread-111) [custom_components.aquaariston.aristonaqua] <custom_components.aquaariston.aristonaqua.AquaAristonHandler object at 0x7fd6eaf52d30> Fetching next data in 24.0 seconds
2022-01-08 16:54:15 INFO (Thread-114) [custom_components.aquaariston.aristonaqua] Setting sensors based on request _get_error
2022-01-08 16:54:15 INFO (Thread-114) [custom_components.aquaariston.aristonaqua] Data fetched
2022-01-08 16:54:15 INFO (Thread-114) [custom_components.aquaariston.aristonaqua] ariston action ok for _get_error
2022-01-08 16:54:26 DEBUG (MainThread) [custom_components.ariston.ariston] Request method POST, path: https://www.ariston-net.remotethermo.com/api/v2/accounts/login, params: None, body: {'usr': '', 'pwd': ''}
2022-01-08 16:54:26 DEBUG (MainThread) [custom_components.ariston.ariston] Response {'token': '', 'act': {'FirstName': '', 'LastName': '', 'SecondaryEmail': '', 'Phone': '', 'CountryCode': 'PL', 'AcceptTermsAndCondsOfGdpr': True, 'CountryBounds': {'country': 'PL', 'neLat': , 'neLng': , 'swLat': , 'swLng': , 'markerLat': , 'markerLng': }}}
2022-01-08 16:54:26 DEBUG (MainThread) [custom_components.ariston.ariston] Request method GET, path: https://www.ariston-net.remotethermo.com/api/v2/remote/plants/lite, params: None, body: None
2022-01-08 16:54:27 DEBUG (MainThread) [custom_components.ariston.ariston] Response []
2022-01-08 16:54:37 DEBUG (Thread-113) [custom_components.aquaariston.aristonaqua] <custom_components.aquaariston.aristonaqua.AquaAristonHandler object at 0x7fd6eaf52d30> Fetching next data in 24.0 seconds
2022-01-08 16:54:39 INFO (Thread-116) [custom_components.aquaariston.aristonaqua] Setting sensors based on request _get_time_prog
2022-01-08 16:54:40 INFO (Thread-116) [custom_components.aquaariston.aristonaqua] Data fetched
2022-01-08 16:54:40 INFO (Thread-116) [custom_components.aquaariston.aristonaqua] ariston action ok for _get_time_prog
2022-01-08 16:55:01 DEBUG (Thread-115) [custom_components.aquaariston.aristonaqua] <custom_components.aquaariston.aristonaqua.AquaAristonHandler object at 0x7fd6eaf52d30> Fetching next data in 24.0 seconds
2022-01-08 16:55:25 DEBUG (Thread-117) [custom_components.aquaariston.aristonaqua] <custom_components.aquaariston.aristonaqua.AquaAristonHandler object at 0x7fd6eaf52d30> Fetching next data in 24.0 seconds
2022-01-08 16:55:28 INFO (Thread-119) [custom_components.aquaariston.aristonaqua] Setting sensors based on request _get_main
2022-01-08 16:55:28 INFO (Thread-119) [custom_components.aquaariston.aristonaqua] Setting sensors based on request _get_version
2022-01-08 16:55:28 INFO (Thread-119) [custom_components.aquaariston.aristonaqua] Data fetched
2022-01-08 16:55:28 INFO (Thread-119) [custom_components.aquaariston.aristonaqua] ariston action ok for _get_main
2022-01-08 16:55:49 DEBUG (Thread-118) [custom_components.aquaariston.aristonaqua] <custom_components.aquaariston.aristonaqua.AquaAristonHandler object at 0x7fd6eaf52d30> Fetching next data in 24.0 seconds
2022-01-08 16:55:51 INFO (Thread-121) [custom_components.aquaariston.aristonaqua] Setting sensors based on request _get_showers
2022-01-08 16:55:51 INFO (Thread-121) [custom_components.aquaariston.aristonaqua] Data fetched
2022-01-08 16:55:51 INFO (Thread-121) [custom_components.aquaariston.aristonaqua] ariston action ok for _get_showers
2022-01-08 16:56:13 DEBUG (Thread-120) [custom_components.aquaariston.aristonaqua] <custom_components.aquaariston.aristonaqua.AquaAristonHandler object at 0x7fd6eaf52d30> Fetching next data in 24.0 seconds
2022-01-08 16:56:15 INFO (Thread-123) [custom_components.aquaariston.aristonaqua] Setting sensors based on request _get_cleanse
2022-01-08 16:56:15 INFO (Thread-123) [custom_components.aquaariston.aristonaqua] Data fetched
2022-01-08 16:56:15 INFO (Thread-123) [custom_components.aquaariston.aristonaqua] ariston action ok for _get_cleanse
2022-01-08 16:56:37 DEBUG (MainThread) [custom_components.ariston.ariston] Request method POST, path: https://www.ariston-net.remotethermo.com/api/v2/accounts/login, params: None, body: {'usr': '', 'pwd': ''}
2022-01-08 16:56:37 DEBUG (Thread-122) [custom_components.aquaariston.aristonaqua] <custom_components.aquaariston.aristonaqua.AquaAristonHandler object at 0x7fd6eaf52d30> Fetching next data in 24.0 seconds
2022-01-08 16:56:38 DEBUG (MainThread) [custom_components.ariston.ariston] Response {'token': '', 'act': {'FirstName': '', 'LastName': '', 'SecondaryEmail': '', 'Phone': '', 'CountryCode': 'PL', 'AcceptTermsAndCondsOfGdpr': True, 'CountryBounds': {'country': 'PL', 'neLat': , 'neLng': , 'swLat': , 'swLng': , 'markerLat': , 'markerLng': }}}
2022-01-08 16:56:38 DEBUG (MainThread) [custom_components.ariston.ariston] Request method GET, path: https://www.ariston-net.remotethermo.com/api/v2/remote/plants/lite, params: None, body: None
2022-01-08 16:56:39 DEBUG (MainThread) [custom_components.ariston.ariston] Response []
2022-01-08 16:56:39 INFO (Thread-125) [custom_components.aquaariston.aristonaqua] Setting sensors based on request _get_error
2022-01-08 16:56:39 INFO (Thread-125) [custom_components.aquaariston.aristonaqua] Data fetched
2022-01-08 16:56:39 INFO (Thread-125) [custom_components.aquaariston.aristonaqua] ariston action ok for _get_error
2022-01-08 16:57:01 DEBUG (Thread-124) [custom_components.aquaariston.aristonaqua] <custom_components.aquaariston.aristonaqua.AquaAristonHandler object at 0x7fd6eaf52d30> Fetching next data in 24.0 seconds
2022-01-08 16:57:04 INFO (Thread-127) [custom_components.aquaariston.aristonaqua] Setting sensors based on request _get_use
2022-01-08 16:57:04 INFO (Thread-127) [custom_components.aquaariston.aristonaqua] Data fetched
2022-01-08 16:57:04 INFO (Thread-127) [custom_components.aquaariston.aristonaqua] ariston action ok for _get_use
2022-01-08 16:57:25 DEBUG (Thread-126) [custom_components.aquaariston.aristonaqua] <custom_components.aquaariston.aristonaqua.AquaAristonHandler object at 0x7fd6eaf52d30> Fetching next data in 24.0 seconds
2022-01-08 16:57:49 DEBUG (Thread-128) [custom_components.aquaariston.aristonaqua] <custom_components.aquaariston.aristonaqua.AquaAristonHandler object at 0x7fd6eaf52d30> Fetching next data in 24.0 seconds
2022-01-08 16:57:52 INFO (Thread-130) [custom_components.aquaariston.aristonaqua] Setting sensors based on request _get_main
2022-01-08 16:57:52 INFO (Thread-130) [custom_components.aquaariston.aristonaqua] Setting sensors based on request _get_version
2022-01-08 16:57:52 INFO (Thread-130) [custom_components.aquaariston.aristonaqua] Data fetched
2022-01-08 16:57:52 INFO (Thread-130) [custom_components.aquaariston.aristonaqua] ariston action ok for _get_main
2022-01-08 16:58:13 DEBUG (Thread-129) [custom_components.aquaariston.aristonaqua] <custom_components.aquaariston.aristonaqua.AquaAristonHandler object at 0x7fd6eaf52d30> Fetching next data in 24.0 seconds
2022-01-08 16:58:16 INFO (Thread-132) [custom_components.aquaariston.aristonaqua] Setting sensors based on request _get_showers
2022-01-08 16:58:16 INFO (Thread-132) [custom_components.aquaariston.aristonaqua] Data fetched
2022-01-08 16:58:16 INFO (Thread-132) [custom_components.aquaariston.aristonaqua] ariston action ok for _get_showers
2022-01-08 16:58:37 DEBUG (Thread-131) [custom_components.aquaariston.aristonaqua] <custom_components.aquaariston.aristonaqua.AquaAristonHandler object at 0x7fd6eaf52d30> Fetching next data in 24.0 seconds
2022-01-08 16:58:40 INFO (Thread-134) [custom_components.aquaariston.aristonaqua] Setting sensors based on request _get_cleanse
2022-01-08 16:58:40 INFO (Thread-134) [custom_components.aquaariston.aristonaqua] Data fetched
2022-01-08 16:58:40 INFO (Thread-134) [custom_components.aquaariston.aristonaqua] ariston action ok for _get_cleanse
2022-01-08 16:59:01 DEBUG (Thread-133) [custom_components.aquaariston.aristonaqua] <custom_components.aquaariston.aristonaqua.AquaAristonHandler object at 0x7fd6eaf52d30> Fetching next data in 24.0 seconds
2022-01-08 16:59:03 INFO (Thread-136) [custom_components.aquaariston.aristonaqua] Setting sensors based on request _get_error
2022-01-08 16:59:03 INFO (Thread-136) [custom_components.aquaariston.aristonaqua] Data fetched
2022-01-08 16:59:03 INFO (Thread-136) [custom_components.aquaariston.aristonaqua] ariston action ok for _get_error
2022-01-08 16:59:25 DEBUG (Thread-135) [custom_components.aquaariston.aristonaqua] <custom_components.aquaariston.aristonaqua.AquaAristonHandler object at 0x7fd6eaf52d30> Fetching next data in 24.0 seconds
2022-01-08 16:59:27 INFO (Thread-138) [custom_components.aquaariston.aristonaqua] Setting sensors based on request _get_version
2022-01-08 16:59:27 INFO (Thread-138) [custom_components.aquaariston.aristonaqua] Data fetched
2022-01-08 16:59:27 INFO (Thread-138) [custom_components.aquaariston.aristonaqua] ariston action ok for _get_version
2022-01-08 16:59:49 DEBUG (Thread-137) [custom_components.aquaariston.aristonaqua] <custom_components.aquaariston.aristonaqua.AquaAristonHandler object at 0x7fd6eaf52d30> Fetching next data in 24.0 seconds
2022-01-08 17:00:13 DEBUG (Thread-139) [custom_components.aquaariston.aristonaqua] <custom_components.aquaariston.aristonaqua.AquaAristonHandler object at 0x7fd6eaf52d30> Fetching next data in 24.0 seconds
2022-01-08 17:00:17 INFO (Thread-141) [custom_components.aquaariston.aristonaqua] Setting sensors based on request _get_main
2022-01-08 17:00:17 INFO (Thread-141) [custom_components.aquaariston.aristonaqua] Setting sensors based on request _get_version
2022-01-08 17:00:17 INFO (Thread-141) [custom_components.aquaariston.aristonaqua] Data fetched
2022-01-08 17:00:17 INFO (Thread-141) [custom_components.aquaariston.aristonaqua] ariston action ok for _get_main
fustom commented 2 years ago

Thanks! I removed the tokens and your name from your comment. Currently I am working on the fix.

fustom commented 2 years ago

Ok. It seems Velis uses completely different API calls. So I have to reverse engineer them. To do so I need a temporally access for a Velis system. If you trust me, you can invite fustom@gmail.com as a guest. (And delete whenever you feel I am crazy.) If you do not trust me, it is fine, but unfortunately I can not do anything in that case.

krzysiek2788 commented 2 years ago

I do not see settings in ariston-net to invite someone.

fustom commented 2 years ago

So you don't have a guests menu? Kazam_screenshot_00014

krzysiek2788 commented 2 years ago

Nope probably this model doesn't allow that :(

krzysiek2788 commented 2 years ago

I think it is because Velis is using Aqua Ariston NET remotethermo which might be different from Ariston remotethermo.

fustom commented 2 years ago

That's a shame. Sometimes I feel like Ariston's cloud developers won't win the world best programmers award. Maybe that's why they don't create a public API documentation. But back to the topic. If you really trust me, you should change your password and send me as a temporary credentials. Then change back whenever you feel unsafe. But I don't recommend anyone to do that. :laughing:

krzysiek2788 commented 2 years ago

I send you on e-mail. Regarding Ariston I'm thinking about re-programm boiler as It is on ESP chip (according to information from Unifi controler) :)

fustom commented 2 years ago

That's a good plan! It would be best if we could miss the cloud.

krzysiek2788 commented 2 years ago

Alfa is working but have some issue. I checked setting temperature which is working but for setting operation mode it is failing with below error:

Logger: homeassistant.components.websocket_api.http.connection
Source: custom_components/ariston/velis_device.py:72
Integration: Home Assistant WebSocket API (documentation, issues)
First occurred: 10:52:02 (2 occurrences)
Last logged: 10:52:09

[140578451946464] Error handling message: Unknown error
ValueError: 'MANUAL' is not a valid VelisPlantMode

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/decorators.py", line 27, in _handle_async_response
    await func(hass, connection, msg)
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/commands.py", line 527, in handle_execute_script
    await script_obj.async_run(msg.get("variables"), context=context)
  File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 1260, in async_run
    await asyncio.shield(run.async_run())
  File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 363, in async_run
    await self._async_step(log_exceptions=False)
  File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 381, in _async_step
    await getattr(self, handler)()
  File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 584, in _async_call_service_step
    await service_task
  File "/usr/src/homeassistant/homeassistant/core.py", line 1495, in async_call
    task.result()
  File "/usr/src/homeassistant/homeassistant/core.py", line 1530, in _execute_service
    await handler.job.target(service_call)
  File "/usr/src/homeassistant/homeassistant/helpers/entity_component.py", line 209, in handle_service
    await self.hass.helpers.service.entity_service_call(
  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 663, in entity_service_call
    future.result()  # pop exception if have
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 896, in async_request_call
    await coro
  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 700, in _handle_entity_call
    await result
  File "/config/custom_components/ariston/water_heater.py", line 141, in async_set_operation_mode
    await self.device.async_set_water_heater_operation_mode(operation_mode)
  File "/config/custom_components/ariston/velis_device.py", line 72, in async_set_water_heater_operation_mode
    self.attributes.get(DeviceAttribute.GW), VelisPlantMode(operation_mode)
  File "/usr/local/lib/python3.9/enum.py", line 384, in __call__
    return cls.__new__(cls, value)
  File "/usr/local/lib/python3.9/enum.py", line 709, in __new__
    raise exc
  File "/usr/local/lib/python3.9/enum.py", line 692, in __new__
    result = cls._missing_(value)
  File "/usr/local/lib/python3.9/enum.py", line 934, in _missing_
    raise ValueError("%r is not a valid %s" % (value, cls.__qualname__))
ValueError: 'MANUAL' is not a valid VelisPlantMode
probrancor commented 2 years ago

Hello guys, do you reach anywhere about this? I too own a ariston velis. The aquaariston integration is very laggy.

krzysiek2788 commented 2 years ago

If you enable in hacs Ariston integration to use beta you will have 7.0a which is a beta version supporting velis boiler.

probrancor commented 2 years ago

Great, testing

probrancor commented 2 years ago

added this integration, but did no show any entity: imagem

But this means that you are in right track.

probrancor commented 2 years ago

On the main page of integrations shows this: imagem

fustom commented 2 years ago

@krzysiek2788: I released a new beta. I hope this fixes the setting operation mode. @probrancor: Can you show me the related log entries as krzysiek2788 did?

Hi krzysiek2788!

Thanks for testing the integration. Can show me your log file? That would be even better if you can create a debug log.

To do that add the following lines to configuration.yaml:

logger:
  default: error
  logs:
    custom_components.ariston: debug

It is going to show your username and password. Remove them before upload it.

probrancor commented 2 years ago

First, let me tell you, Nice work.

Now, i've updated to last beta versiom, and now we can get ariston_electric_consumption_for_water_last_two_hours and set the water temperature.

I think, we only need more 3 or 4 entity's: switch.eco_mode energy_use_in_the_last_day energy_use_in_the_last_month sensor.average_showers or available showers

For now i've this: imagem

krzysiek2788 commented 2 years ago

@fustom I have checked it and it is working flaweslly Thank you for your great and hard work :)

krzysiek2788 commented 2 years ago

@fustom I think we can close this case as it is solved now. If I will get some new thoughts I will open Pull request ;)

fustom commented 2 years ago

@probrancor: After a few days of rest I released a new beta with:

I could not test them. So if something goes wrong please open a new issue.

probrancor commented 2 years ago

Nice, i Will test this new features.

The new options for now are working without any issue.

Rui Branco

A terça, 18/01/2022, 21:48, fustom @.***> escreveu:

@probrancor https://github.com/probrancor: After a few days of rest I released a new beta with:

  • switch.eco_mode
  • sensor.average_showers or available showers

I could not test them. So if something goes wrong please open a new issue.

— Reply to this email directly, view it on GitHub https://github.com/fustom/ariston-remotethermo-home-assistant-v3/issues/10#issuecomment-1015864799, or unsubscribe https://github.com/notifications/unsubscribe-auth/AKACWSBBGTI6LYPO35XICILUWXN3RANCNFSM5LQT23QA . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

You are receiving this because you were mentioned.Message ID: @.*** .com>

alphagold commented 2 years ago

I have a GENUS ONE SYSTEM 35, could you tell me how to reverse engineer API?

fustom commented 2 years ago

Hi @alphagold! Does your system work with this integration properly? If something goes wrong, please open a new ticket with a description of the misbehavior and attach a log file. Hopefully I can fix it.

If you interested in a reverse engineering, there are lots of good articles about this topic. For example my first search result was this: https://peteraleksanderbizjak.medium.com/reverse-engineering-apis-with-http-toolkit-61670219e0a8

There are many ways to do that, but actually I used the official mobile app with a proxy and the official website javascript files for some enums and of course I played around with a rest client.

alphagold commented 2 years ago

Thanks a lot Fustom, the integration seems to work. Mine is a hybrid boiler. And some values ​​are not reported correctly. Also I don't find some specific entities of this model in homeassistant. That's why I was asking you for info on the Reverese. Through a proxy I am now able to intercept the api calls, but how to test my modified python script with homeassistant? My instance is installed on docker. Thank you

alphagold commented 2 years ago

You did a great job. Excellent

fustom commented 2 years ago

You can just overwrite my scripts at your config/custom_components folder and clear the cache files. I am not sure, but maybe ha restart is enough. To debug them you need a development environment with docker, git and visual studio core. Check https://developers.home-assistant.io/

alphagold commented 2 years ago

Nothing, I'm not even remotely able to change it, I don't have your skills. I guess I'll go back to the original version, in which I had a lot more sensors. Thanks anyway for your suggestions. Congratulations again, I envy you for your great skills.