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

The HA integration works perfectly, very happy with that.

Regarding the vacuum itself, I like that it seems to follow a proper ‘route’ but it can sometimes miss large areas if it mistakenly thinks it has covered everything. Oddly, the 15C (which randomly moves around the room) seems to get everywhere! Being able to attach the mop if really helpful, though - I just put things in the doorway so that it stay on the hard floor when the mop is on.

I’ve also created a repository for the 15C if anyone is interested:

For anybody finding this: There is now a MUCH easier way to retrieve Device ID and Local Key that does not require messing around with Android development tools, adb and whatnot. User Rjevski over on GitLab has published a python-based utility that grabs the device ID & local keys of your vacuum with just a few commands. This was an absolute life-saver for me, so check it out:

4 Likes

Hi All
I have everything installed but cannot get my eufy 30C to show I can see the error in the logs as below any help would be great thanks

This error originated from a custom integration. Logger: homeassistant Source: custom_components/eufy_vacuum/tuya.py:551 Integration: Eufy Vacuum (documentation) First occurred: 5:39:07 pm (3 occurrences) Last logged: 5:39:47 pm 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.9/asyncio/streams.py”, line 629, in readuntil raise exceptions.IncompleteReadError(chunk, None) asyncio.exceptions.IncompleteReadError: 0 bytes read on a total of undefined expected bytes

I changed the Tuya.py to 3.3 and the errors are still here but HA is not seeing the eufy any ideas, have I missed something or do I need to add anything for HA to see the eufy

To clarify the folder should have g10 or 15c on the end. Also the type returned for my 15c is different T2128 where as the default on your platform yaml snippet is T2118.

Any advice on correct setup?

I’ve updated the readme - it should be 15c on the end for the 15c and g10 for the G10!

The model number is different for each one, but the code will only accept T2118 for both.

Hmmm…

The vacuum status just shows error…

This error originated from a custom integration.

Logger: homeassistant
Source: custom_components/eufy_vacuum_15c/tuya.py:551
Integration: Eufy Vacuum (documentation)
First occurred: 6:53:21 PM (1 occurrences)
Last logged: 6:53:21 PM

Error doing job: Task exception was never retrieved
Traceback (most recent call last):
  File "/config/custom_components/eufy_vacuum_15c/tuya.py", line 551, in _async_handle_message
    response_data = await self.reader.readuntil(MAGIC_SUFFIX_BYTES)
  File "/usr/local/lib/python3.9/asyncio/streams.py", line 629, in readuntil
    raise exceptions.IncompleteReadError(chunk, None)
asyncio.exceptions.IncompleteReadError: 0 bytes read on a total of undefined expected bytes

That’s the log…

What version of Home Assistant are you using?

Latest version released yesterday or today.

2021.12.10

Running on a pi if that makes a difference?

I’m still on 2021.12.9 and have no issues. Will update tomorrow and see if this causes issues

Any update on this? Feels like I’m frustratingly close to having it working!

I’m having the same issue, but the vacuum does respond to my requests. Still looking into why

Same issue here, codes don’t seem to map to the numbers being returned?

managed to get my 30C working fine but also added a G10 Hybrid second image but that’s showing a errors battery and status any ideas!
Screenshot 2022-01-24 at 5.03.55 pm|464x500
config as below
eufy_vacuum:
devices:

  • name: Eufy Upstairs
    address: 192.168.0.XXX
    access_token: 8543aXXXXXXXXXX8
    id: 100501018XXXXXXXXXX34
    type: T2118
  • name: Eufy Downstairs
    address: 192.168.0.XXX
    access_token: 299XXXXXXXXXXa6
    id: bf20XXXXXXXXXXXXXda
    type: T2118

Hi did you solve this issue as I have the same

Got a 25c (T2123) and my logs are showing this.

Failed to decrypt message from 3700008540f520e1f842 (192.168.1.234:6668)

12:17:49 PM – (ERROR) Integration to Eufy Vacuum (custom integration) - message first occurred at 4:58:27 AM and shows up 1384 times

‘utf-8’ codec can’t decode byte 0xa0 in position 10: invalid start byte

12:17:49 PM – (ERROR) Integration to Eufy Vacuum (custom integration) - message first occurred at 4:58:27 AM and shows up 1384 times

Maybe overcomplicated things, but I have a G30 Verge which is connected via MQTT using https://github.com/gpbenton/eufy_robovac_mqtt. Then defined the vacuum in the configuration.yaml file. The whole thing has been super stable, and no issues with the upgrade to 2022.2. Finding the Device ID and LocalKey was not the most straightforward thing to do, but once done no difficulties since.

I’m unable to add the integration into my HA. I’ve followed the guides and believe I set everything up correctly. Here is a picture of my folder structure in HA:

ha_file_structure

Here is my config file configuration:

eufy_vacuum:
  devices:
    - name: Robovac
      address: 192.168.X.XXX
      access_token: !secret Access Token
      id: !secret DevId
      type: T2118

Finally, here is the error I receive when I check my configuration:

ha_config_error

Any additional help would be much appreciated!

Did you restart HA after adding the custom integration, but before adding in the config?

Does the file “manifest.json” exist in your Eufy_vacuum folder ? If not, it needs to.

1 Like

I did, but what it was missing was the manifest.json file. I didn’t see anywhere in the guide that mentioned anything about this file and another member mentioned it - which fixed it. I created my own manifest.json file using the same format as another integration of mine and it seems to be working now! Thanks for your help!