Eufy Robovac 35c Working with Home_Assistant - Updated 11/2020 - How To Guide - Now with Edge Cleaning!

Thanks for the suggestions and quick reply :slight_smile:

Unfortunately I still see the same error/issue. Code now looks as below…

I’m on HACS version 1.1.1 of your integration from what I can tell.

Thanks again

eufy_vacuum:
  devices:
    - name: G30
      address: 192.168.xxx.xxx
      access_token: myToken
      id: myID
      fan_speeds:
        'Standard': 'Standard'
        'Turbo': 'Turbo'
        'Max': 'Max'
        'Boost_IQ': 'Boost IQ'
      support: 
        VacuumEntityFeature.BATTERY
        | VacuumEntityFeature.RETURN_HOME
        | VacuumEntityFeature.CLEAN_SPOT
        | VacuumEntityFeature.PAUSE
        | VacuumEntityFeature.LOCATE
        | VacuumEntityFeature.STATUS
        | VacuumEntityFeature.SEND_COMMAND
        | VacuumEntityFeature.FAN_SPEED
        | VacuumEntityFeature.TURN_ON
        | VacuumEntityFeature.TURN_OFF

Now I look at the differnt configs i have across my vacuums, the previous changes made no difference.

Looking at your original message again, I think this is a bit of a catch 22 thing. In that we have added the integration that now looks for the fan_speeds and support entries in the config.yaml but the checks on the config.yaml dont know about the fan_speeds and support entries. I would do a full hardware restart and that should go through.

1 Like

OK, sorry - potentially a stupid question here…when you say full Hardware reset, do you mean the usual restart from developer tools, or the restart option under the system section, or a full power cycle of the Pi? It won’t let me restart via the web gui due to the config error atm.

I restarted with the eufy_vacuum code in the config yaml commented out, and then uncommented it when it booted back up, but it still errored.

Cheers again

Setting > System > Hardware > … in top right - Reboot Host

Thanks…just did that and it took a looooong time to come back online. It also still errors with the same issue as before. Sorry to be a pain here :expressionless:

Did you uncomment the entry in configuration.yaml? Can you paste the errors here?

So i tried a few things :slight_smile:

  1. Rebooted host with eufy config present and uncommented in config yaml - errored on boot up with the same error as originally (will paste below)
  2. Commented out the eufy config, checked config to ensure still all OK and then restarted from this screen (dev tools, yaml, restart) - booted fine with no errors
  3. Uncommented the eufy config and checked config again, but error remains
  4. Commented config out again and did another Full Harder reboot (from system hardware screen) and booted fine
  5. Uncommented eufy code again, checked config and error remains as below…
Invalid config for [eufy_vacuum]: [fan_speeds] is an invalid option for [eufy_vacuum]. Check: eufy_vacuum->eufy_vacuum->devices->0->fan_speeds. (See /config/configuration.yaml, line 145).

Im out of ideas now. Maybe try redownloading the intergration in HACS?

Im trying to sort a new version that does the whole configuration automatically, but thats a work in progress and could take a few more days.

Thanks for the suggestions - unfortunately that’s not helped either.

Keep me posted on the integration developments and I’ll give any updates a try. Happy to be a tester/end user for you to troubleshoot beta’s with if it helps :slight_smile:

Thanks again

Worked perfectly for me thank you @bmccluskey!

Hopefully this means I wont get all those errors the manually installed integration seemed to cause (though it still all worked).

Sorry if youve already tried this but Id suggest:

  • Comment out the eufy_vacuum config in configuration.yaml
  • Uninstall the HACS eufy vacuum integration
  • Go into your custom_components folder and check there isn’t any eufy_vacuum integration (perhaps you still have the manually installed one?)
  • Reboot
  • Install the new version from HACS
  • Reboot
  • Uncomment in configuration.yaml
  • Reboot
  • Hoover

You know what…I followed what you just said, even though I’d gone through those steps before…but instead of previously deleting the old custom component i had, i renamed the folder thinking that would suffice…apparently not, as i just deleted it entirely and it all worked perfectly!

Thanks both for the help here and apologies for the stupid error on my part!

Now to have some fun with it and add to my dashboards :slight_smile:

1 Like

Glad you got it sorted, thanks to @pjn77 for the helpful suggestions, i couldnt figure out what might be going on there.

There is a new version coming that will hopefully make setup and discovery a lot easier.

1 Like

I am getting an occasional Error doing job: Task exception was never retrieved when using this integration. I had it using the old version, and I am also still getting it with the updated version that @bmccluskey has been working on. Everything seems to still function just fine - but there must be a hiccup somewhere, hence the error messages. The vacuum I have is the 30C Max.

I enabled debug logging and grabbed a few lines of the logs. Please let me know if I can provide any more details to narrow this down. I don’t see an Issues section on this particular Github repo.

2022-09-09 08:57:39.979 DEBUG (MainThread) [custom_components.eufy_vacuum.tuya] Disconnected from 747redacted855 (192.168.1.2:6668)
2022-09-09 08:57:39.980 ERROR (MainThread) [homeassistant] Error doing job: Task exception was never retrieved
Traceback (most recent call last):
  File "/config/custom_components/eufy_vacuum/tuya.py", line 551, in _async_handle_message
    response_data = await self.reader.readuntil(MAGIC_SUFFIX_BYTES)
  File "/usr/local/lib/python3.10/asyncio/streams.py", line 614, in readuntil
    raise exceptions.IncompleteReadError(chunk, None)
asyncio.exceptions.IncompleteReadError: 0 bytes read on a total of undefined expected bytes
2022-09-09 08:57:49.824 DEBUG (MainThread) [custom_components.eufy_vacuum.tuya] Connecting to 747redacted855 (192.168.1.2:6668)
2022-09-09 08:57:49.973 DEBUG (MainThread) [custom_components.eufy_vacuum.tuya] Sending to 747redacted855 (192.168.1.2:6668): Message(0xa, {'gwId': '747redacted855', 'devId': '747redacted855'}, 221574222, <Device 747redacted855 (192.168.1.2:6668)>)
2022-09-09 08:57:49.975 DEBUG (MainThread) [custom_components.eufy_vacuum.vacuum] Status Update Workstatus: completed - Error Code: no_error
2022-09-09 08:57:49.975 DEBUG (MainThread) [custom_components.eufy_vacuum.vacuum] Update Status - Fan: Off - Battery: 100 - IsOn: False - Workstatus: completed - Status: docked - State: off - Error: no_error - Mode: Nosweep - Find: False - Time: None - Area None - Auto Return: None - Do not Disturb: None
2022-09-09 08:57:49.975 DEBUG (MainThread) [custom_components.eufy_vacuum.tuya] Disconnected from 747redacted855 (192.168.1.2:6668)
2022-09-09 08:57:49.976 DEBUG (MainThread) [custom_components.eufy_vacuum.tuya] Connecting to 747redacted855 (192.168.1.2:6668)
2022-09-09 08:57:49.985 DEBUG (MainThread) [custom_components.eufy_vacuum.tuya] Connecting to 747redacted855 (192.168.1.2:6668)
2022-09-09 08:57:51.208 DEBUG (MainThread) [custom_components.eufy_vacuum.vacuum] Status Update Workstatus: completed - Error Code: no_error
2022-09-09 08:57:51.208 DEBUG (MainThread) [custom_components.eufy_vacuum.vacuum] Status Update Workstatus: completed - Error Code: no_error
2022-09-09 08:57:51.208 DEBUG (MainThread) [custom_components.eufy_vacuum.vacuum] Status Update Workstatus: completed - Error Code: no_error
2022-09-09 08:57:51.208 ERROR (MainThread) [homeassistant] Error doing job: Task exception was never retrieved
Traceback (most recent call last):
  File "/config/custom_components/eufy_vacuum/tuya.py", line 551, in _async_handle_message
    response_data = await self.reader.readuntil(MAGIC_SUFFIX_BYTES)
  File "/usr/local/lib/python3.10/asyncio/streams.py", line 614, in readuntil
    raise exceptions.IncompleteReadError(chunk, None)
asyncio.exceptions.IncompleteReadError: 0 bytes read on a total of undefined expected bytes
2022-09-09 08:57:51.213 DEBUG (MainThread) [custom_components.eufy_vacuum.tuya] Sending to 747redacted855 (192.168.1.2:6668): Message(0x9, b'', 0, <Device 747redacted855 (192.168.1.2:6668)>)
2022-09-09 08:57:51.213 DEBUG (MainThread) [custom_components.eufy_vacuum.tuya] Sending to 747redacted855 (192.168.1.2:6668): Message(0xa, {'gwId': '747redacted855', 'devId': '747redacted855'}, 221574383, <Device 747redacted855 (192.168.1.2:6668)>)
2022-09-09 08:57:51.222 DEBUG (MainThread) [custom_components.eufy_vacuum.tuya] Sending to 747redacted855 (192.168.1.2:6668): Message(0x9, b'', 0, <Device 747redacted855 (192.168.1.2:6668)>)
2022-09-09 08:57:51.222 DEBUG (MainThread) [custom_components.eufy_vacuum.tuya] Sending to 747redacted855 (192.168.1.2:6668): Message(0xa, {'gwId': '747redacted855', 'devId': '747redacted855'}, 221575621, <Device 747redacted855 (192.168.1.2:6668)>)
2022-09-09 08:57:51.223 ERROR (MainThread) [homeassistant] Error doing job: Task exception was never retrieved
Traceback (most recent call last):
  File "/config/custom_components/eufy_vacuum/tuya.py", line 551, in _async_handle_message
    response_data = await self.reader.readuntil(MAGIC_SUFFIX_BYTES)
  File "/usr/local/lib/python3.10/asyncio/streams.py", line 617, in readuntil
    await self._wait_for_data('readuntil')
  File "/usr/local/lib/python3.10/asyncio/streams.py", line 488, in _wait_for_data
    raise RuntimeError(
RuntimeError: readuntil() called while another coroutine is already waiting for incoming data
2022-09-09 08:57:51.228 DEBUG (MainThread) [custom_components.eufy_vacuum.tuya] Sending to 747redacted855 (192.168.1.2:6668): Message(0x9, b'', 0, <Device 747redacted855 (192.168.1.2:6668)>)

Hi @iridris which version of HA are you running? Have you upgraded to the latest core? Im seeing a few messages in the communitiy back in June/July time from people with similar messages. They were mentioning openweather. Might be worth making everything up to date if you avent already.

The messages would suggest that something else is clashing a bit. I havent seen those errors during my testing. What other integrations do you have running?

Versions of HA are:

Home Assistant 2022.9.1
Supervisor 2022.08.6
Operating System 9.0.rc1
Frontend 20220907.0 - latest 

As for your integration, I’m running version 1.1.1 of that. I run a lot of integrations, including OpenWeatherMap. I don’t think I have anything else Tuya-related though, if that helps.

For what it’s worth, I’ve been having this issue since at least January when I opened an issue on the original Github branch before it was forked. Occassional error in logs · Issue #14 · pbulteel/eufy_vacuum · GitHub

Been doing some more testing and can see where the error is occuring in the tuya code. Looking into it a bit deeper. Watch this space.

1 Like

While working on the new version I started seeing the same error.

I have a “production” version of HA running that has working configs for all 3 of my eufys 15c, G30, X8. I was working in a dev version of HA and started up a new version of the code which was also connecting to the 3 vacs. The production version connects every 20 secs to get a staus update, the dev was initally set to 5 seconds but now changed to 60. Ever connection to the 15c was getting the error on the Dev version.

Ive removed them from the production version and have only seen one error since, previously the dev never got a connection. I believe that the 15c and 30c, in fact anything in the “C” range probably will suffer with this. My guess at the moment is that the code is only allowing a connection from 1 device at a time. The other reason could be just a poorer wifi connection with occassional comunications drops.

Ive put an exceptio into the tuya code to catch the error so at least its not so ugly and will release an update version this evening. Wil keep an eye out to see if i can figure out the root cause.

1 Like

You’re amazing! Thanks for tracking this down!

The room that this vacuum operates in has a Ubiquiti AC Pro mounted on the ceiling, so the wifi signal is about as strong as it can get.

I would not at all be surprised to know that the wifi chip in the vacuum is pretty weak and couldn’t handle frequent or multiple connections.

Release 1.1.2 available in HACS now. You can speed up the refresh by selecting the … in the top right and doing an update information.

Couple of lines added to catch the error and not make look so horrible in the logs. Still no idea what it is, but something specic to the C models. Let me know how you get on.