Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Navigate feature format and usage for "pickup" function #223

Open
gllmlbrt opened this issue Jul 24, 2024 · 2 comments
Open

Navigate feature format and usage for "pickup" function #223

gllmlbrt opened this issue Jul 24, 2024 · 2 comments

Comments

@gllmlbrt
Copy link

Hi,

Thank you very much for your work to provide this integration. The login was complicated with the recent change but it worked like a charm.
I have the following device: "DOLPHIN E35i EU CB", and notably this device does not have the pick-up function (and does not have LED or scheduling function and other advanced cleaning modes) but it has the manual navigtion function.

I would like to create an automation which when called repeatedly manual navigate foward to create a "pickup" situation where the robot is at the waterline waiting. Which is what the pickup function is.

So I have the following issue:

When trying to call the service in the developer i get the following error note as the service could not be called, whether I add the target vacuum or not. I have try several variation of indentations and formats:
image
image
While I followed the format provided in the readme here, I cannot get it to fire.

I am probably doing something wrong, but I searched in the closed issues and elsewhere on this github and could not sort it out.


Interestingly also, the E35i is not supposed to have the advanced cleaning modes Ultra Clean, floor only etc.. but when calling them from the vacuum entity "fan speed" drop down they start and diplay correctly in the Dolphin app as "ultraclean), eventhough it is not selectable in the app and runs as expected, which proves that it is a software only restriction to push customers to buy the next model.
So would it be a possibility to fire the "pick-up" function anyways despite it being removed from the app for this model ?
I tried from the vacuum entity fan speed drop down and while it works for all the clearning mode, it does not for the pickup selection.

@elad-bar
Copy link
Collaborator

can you pls extract diagnsotic data and share it over my discord in DM?
Invite for the Discord channel: https://discord.gg/uKm5uN8pjF

thanks

@elad-bar elad-bar mentioned this issue Aug 4, 2024
@gllmlbrt
Copy link
Author

gllmlbrt commented Aug 4, 2024

Hello. Thanks for the update. I did install the 1.0.20. Now it accepts the format. However I get errors whether I insert a target Entity_id as requires in the readme, or not as in the template in Hass.

2024-08-04 09:47:24.096 ERROR (MainThread) [homeassistant.helpers.script.websocket_api_script] websocket_api script: Error executing script. Unexpected error for call_service at pos 1: 'ServiceCall' object has no attribute 'get'
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 527, in _async_step
    await getattr(self, handler)()
  File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 764, in _async_call_service_step
    response_data = await self._async_run_long_action(
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 727, in _async_run_long_action
    return await long_task
           ^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/core.py", line 2731, in async_call
    response_data = await coro
                    ^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/core.py", line 2774, in _execute_service
    return await target(service_call)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/mydolphin_plus/managers/coordinator.py", line 841, in _service_navigate
    direction = data.get(CONF_DIRECTION)
                ^^^^^^^^
AttributeError: 'ServiceCall' object has no attribute 'get'
2024-08-04 09:47:24.101 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection] [281472797617760] Error handling message: Unknown error (unknown_error) User from 127.0.0.1 (Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/127.0.0.0 Safari/537.36)
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/decorators.py", line 28, in _handle_async_response
    await func(hass, connection, msg)
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/commands.py", line 793, in handle_execute_script
    script_result = await script_obj.async_run(
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 1770, in async_run
    return await asyncio.shield(create_eager_task(run.async_run()))
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 465, in async_run
    await self._async_step(log_exceptions=False)
  File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 529, in _async_step
    self._handle_exception(
  File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 559, in _handle_exception
    raise exception
  File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 527, in _async_step
    await getattr(self, handler)()
  File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 764, in _async_call_service_step
    response_data = await self._async_run_long_action(
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 727, in _async_run_long_action
    return await long_task
           ^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/core.py", line 2731, in async_call
    response_data = await coro
                    ^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/core.py", line 2774, in _execute_service
    return await target(service_call)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/mydolphin_plus/managers/coordinator.py", line 841, in _service_navigate
    direction = data.get(CONF_DIRECTION)
                ^^^^^^^^
AttributeError: 'ServiceCall' object has no attribute 'get

And when I add the robot as target entity, then nothing happens at all and get this error:


2024-08-04 09:49:21.549 ERROR (MainThread) [homeassistant.helpers.script.websocket_api_script] websocket_api script: Error executing script. Invalid data for call_service at pos 1: extra keys not allowed @ data['entity_id']
2024-08-04 09:49:21.549 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection] [281472797617760] Error handling message: extra keys not allowed @ data['entity_id']. Got None (invalid_format) User from 127.0.0.1 (Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/127.0.0.0 Safari/537.36)

So anyways, the readme should be revised. Happy to do a PR for that, but seems trivial at this point. Will do when all sorted out.

# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants