Support for Eufy RoboVac or Smart Bulbs?

Integration with HA aside, we’re really pleased with the 15C MAX. We have dog that sheds A LOT and this keeps on top of it and has made a huge difference. It fills up quickly, though.

Hi, i have the robovac 35C did someone got this robot to work with Home Assistant? I manage to get the key and device ID and try this custom component and did not work.

I spent about 2 hours forum diving, searching for clues, running adb, but I can 100% confirm the EUFY Robovac 35 is working as expected.

I followed 2 different guides, but in the end it was This RoboVac - Homeassistant Guide (git-hub) that got it working.

I’ll make a new post in the forums, as it seems like there really isn’t a concensus (yet) on how to accomplish this. but, if you got the time, it is possible, it might not even take you 2 hours like it did me.

I’ll link my review of the process in an edit

<3

tl;dr

EUFY Robovac 35c confirmed working with home assistant with some setup.

Maybe i’m doing something wrong. I have the device id and key, confirmed several times with the comand adb logcat -e ‘tuya.m.my.group.device.list’ and get always the same key but still I’m getting these messages in the log in hass: Expecting value: line 1 column 1 (char 0), Failed to decrypt message from 62840462807dxxxxxxxx (192.168.31.89:6668). The robovac is detect but do not work.

First of all, thanks for the awesome integration, I got my 15c max to work with HA which is just great :slight_smile:
One question, I get status: error but everything works ok, any idea why?
image

Also is there a card/custom card that you guys recommend to use on the HA frontend to display the robovac menu?

I did a complete wrap up of how I got my robovac fully functional with HA (posting again, bc people might not grab that edit.)

Which component did you use?
I didn’t use the one in the guide I found at first, that one seemed wonky. I used one that is less informative in github, but has everything I needed. Just an idea. you did adb and all that? Seems weird, it says line 1 column 1. Maybe you have something wonky at the beginning of your file?

I am actually also getting some decode errors:

2019-12-06 18:19:58 ERROR (MainThread) [custom_components.eufy_vacuum.tuya] 'utf-8' codec can't decode byte 0xcf in position 4: invalid continuation byte
2019-12-06 18:19:58 ERROR (MainThread) [custom_components.eufy_vacuum.tuya] Failed to decrypt message from 0753038684f3exxxxxxx (192.168.0.43:6668)
2019-12-06 18:20:18 ERROR (MainThread) [custom_components.eufy_vacuum.tuya] 'utf-8' codec can't decode byte 0xcf in position 4: invalid continuation byte
2019-12-06 18:20:18 ERROR (MainThread) [custom_components.eufy_vacuum.tuya] Failed to decrypt message from 0753038684f3exxxxxxx (192.168.0.43:6668)

I can actually control it from HA, but the only thing not working is the status and maybe that’s what’s causing it?
image

Any ideas on how to fix that?

Here’s my config.yaml

eufy_vacuum:
  devices:
  - name: Robovac
    address: !secret robovac_ip
    access_token: !secret robovac_localkey
    id: !secret robovac_id
    type: T2118

Is this wrong type: T2118 for my 15C max? I just used the value on the example since I have no idea what type the 15C max is

Ok so the 15c Max model is type T2128 but it doesn’t look like it is supported in the code:

Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 150, in _async_setup_platform
    await asyncio.wait_for(asyncio.shield(task), SLOW_SETUP_MAX_WAIT)
  File "/usr/local/lib/python3.7/asyncio/tasks.py", line 442, in wait_for
    return fut.result()
  File "/usr/local/lib/python3.7/concurrent/futures/thread.py", line 57, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/config/custom_components/eufy_vacuum/vacuum.py", line 50, in setup_platform
    add_entities([EufyVacuum(device_config)], True)
  File "/config/custom_components/eufy_vacuum/vacuum.py", line 63, in __init__
    device_config['model']))
RuntimeError: Unsupported model T2128

And the vacuum.py file only contains T2118 reference:

SUPPORT_ROBOVAC_T2118 = (
    SUPPORT_BATTERY | SUPPORT_CLEAN_SPOT | SUPPORT_FAN_SPEED | SUPPORT_LOCATE |
    SUPPORT_PAUSE | SUPPORT_RETURN_HOME | SUPPORT_START | SUPPORT_STATUS |
    SUPPORT_TURN_OFF | SUPPORT_TURN_ON
)


MODEL_CONFIG = {
    'T2118': {
        'fan_speeds': FAN_SPEEDS,
        'support': SUPPORT_ROBOVAC_T2118
    }
}

Did anyone with the 15c Max actually get the status to show up correctly?

Which custom component did you use? did you see my post? I’m fairly positive if you use the right custom component you won’t get errors, even using the provided model code in the example.

Used this one here: https://github.com/mitchellrj/eufy_robovac
Is there another?
Not sure why only the status won’t work and all else does, someone else above is having the same issue.
Maybe firmware issue?
The local key and id are correct else I wouldn’t be able to control anything.

Also @VarenDerpsAround, which model do you have and are you also running HA on raspberry pi?

The status just started working for me today with 0.103.4 :laughing:

Seems to be the access_token issue. Did a factory reset, pulled a new token and have managed to get the status to work through several HA reboots.

@mitchellrj Do you think it would be possible to add support for the quick clean (30 mins) and edge clean functionality? I find myself going to the Eufy app for those options since I cannot call them from HA.
I have an issue created in your github to track this and I can assist with any testing if required :slight_smile:

So is this working? Can it get pushed in to core?

Also does anyone with a c series hoover have any bulbs or switches in Hass? It broke mine, prd to lakeside for a fix though

i have a 15c i would like to get working. I hacked away at it on and off all day, and i think im going to throw in the towel. if anyone has any pointers that would be great. thank you to everyone in the home assistant community for the work that you do :slight_smile:

Try this

i did…tuya.m.my.group.device.list wasn’t giving me anything so i used ‘*’ and i saw output, but i couldn’t find anything that said localkey

Happy New Year folks!

So which component should I use to get HA working with a Eufy 11c?

I copied all the text in the console to Word and then searched and found the local key.

The 15C isn’t supported yet, so I’m having trouble getting it to work. I’ll try and work out what needs changing and see if I can fix it.

Happy New Year! try https://github.com/BnMcG/HomeAssistant-RoboVac its supposed to work with 11c

i used notepad++, but as i have been playing around with different ways to find the localkey, i found out you can actually use the TuyaSmart app to connect the RoboVacs, so i was going to see if i can sniff it from that.