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

OK, so the Eufy app on Bluestacks does not communicate with the Robovac directly over the local network - which makes sense, because you can initiate cleaning via your phone outside of your home - therefore this seems to be a network problem. I’m assuming your Robovac is on the same network as everything else - i.e. you do not use VLAN’s to segment the traffic for smart devices etc.

The only way I could get my Robovac to go offline was to block internet connectivity to the Robovac itself - again, that makes sense. The question is… why does your phone app work and the Bluestacks app not work… I’m assuming you don’t have any firewall rules, or blocker software, or over-enthusiastic anti-virus software - but even if you did… what’s the difference between the two.

I need to run the trace simultaneously twice over - once on Bluestacks and once on my phone, while capturing the phone, internet and Robovac communications - so I can compare the two.

Sadly, I can’t do this at the moment as it needs a bit of work setting up. Bear with me…

Yes, that all makes sense. No I have no VLANs, Firewalls, Blockers or any other crazy stuff do manage or restrict traffic. What I also tried (I cannot give you a scientific reason, but I just thought it might be something to try): I connected my Mac to the iPhone Hotspot, so it used the mobile network and not the local network and internet but that did not change anything.

No Problem, sorry for all the trouble ^^ but I guess you’re something like me, I can’t let it go ^^.

Thanks for you help!

I’ve now had a chance to look at this and I’m pretty sure this is a Bluestacks issue and possibly how it works on the Mac OS. Could be a DNS issue or some obscure network stack problem.

It can’t be the incoming network comms to the Robovac or else none of the apps would work on iPhone etc… I did Wireshark the app connectivity and the app connects to the following domains:

eufy-1025049978.us-west-2.elb.amazonaws.com
m1.tuyaeu.com
a1.tuyaeu.com

You need to drop to a terminal within Bluestacks and use NSLOOKUP to check that it returns IP addresses for those domains. You won’t be able to PING the addresses because ICMP is blocked but it still works on my setup.

I even went as far as to install Bluestacks on a Mac laptop and it worked just fine - so I’m as frustrated as you no doubt are.

Like all these kinds of troubleshooting scenarios it helps to have something that doesn’t work to look at. You’re trying to get yours working… and I’m trying to break mine!

I’m not sure how much more I can do - apart from suggest a completely clean re-install of Bluestacks on your Mac. I noticed it did ask about a couple of permissions during the installation but not sure how relevant those might be. Also, perhaps there is a later version of Bluestacks since you installed yours.

Thank you. Yeah, I know that problem either you have the problem or you’re trying to break your working system to help.

Thank you!!! I am on holiday now for the next couple of weeks so it might be a while before I get to try all this, but as soon as I know more I’ll get back to you!

Can anyone help
i get Invalid config for [eufy_vacuum]: [platform] is an invalid option for [eufy_vacuum]. Check: eufy_vacuum->eufy_vacuum->devices->1->platform

I’ve used blue stacks and got the id and local token, mac address.
I’ve added the following lines to the config

eufy_vacuum:
devices:

  • name: Robovac
    address: 192.168.1.25
    access_token: ‘mylocal’
    id: ‘myid’
    type: T2118

But i get the error, i’ve got a G30 edge so i’ve tried chaning the model no and also # it out.
still the same.

I’ve installed Patrick’s eufy_vacuum using Hacs
​​​pbulteel/eufy_vacuum: This is a fork of the eufy_vacuum code so that it works with HACS. I plan to make this a bit more user friendly and hopefully work properly with any other Eufy vacuum. (github.com)

No sure whats going wrong,

Thanks

This sounds like a possible formatting error in the configuration.yaml file. Perhaps it’s just the way you typed out the config in your message but the right spacing is very important. It should look like this:

eufy_vacuum:
  devices:
  - name: Robovac
    address: 192.168.1.25
    access_token: YOUR_16_CHARACTER_TOKEN
    id: YOUR_21_CHARACTER_ID
    type: T2118

Does the config pass the ‘configuration validation’?

Also, make sure that the ‘eufy_vacuum’ directory appears as a sub-directory under the ‘custom_components’ directory as well. Remember, case is important - it should be all lower case.

Edit: Clarification about the location of the eufy_vacuum directory
Edit 2: Spelling!

Thank you isujosh

some how i had got the token and id the wrong way round. It now sees the vacuum, and i’ve created my more info card to control the vacuum. It states an error if i leave the type as T2118,or change it to the model i have which is T2251 it doesnt setup the Vaccum at all.

It seems the clean command, locate and home command work, but the status and the battery level doesnt with it set to T2118

I had that exact same problem - no status and only intermittent battery percentage showing…

This is a segment from an earlier post of mine - i completely cured the problem:

I did a hard reset of my Eufy Robovac 30c - and went through setting it up from scratch. Using ADB, the ID remained the same, but the access-token changed and I amended my configuration.yaml to include the new value.

Once I had restarted Home Assistant, I am now able to see the status and battery percentage properly.

Nothing less than a full reset allowed me to get this going - so i would recommend anyone who is having trouble with this custom component to do this first.

Hope that works for you (note the change to the access token!) no reason it shouldn’t solve your issue

I’ve done a full reset and started all over again. I now can not longer control the vacuum and notice the following errors

‘utf-8’ codec can’t decode bytes in position 0-1: invalid continuation byte

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

Any ideas
Thanks

Another error I have seen in the past… you’ve got them all!

I would reinstall the custom component again and double-check the configuration.yaml file… and go through the process to get the ID and Access Token again. It really does work… I think I did it 20 times trying to sort out various issues… the hard reset really solved the last of them.

Which custom component do you use? And how did you install yours?

Thanks

I’m using the same code as you. I didn’t install via HACS though, I downloaded the ‘eufy_vacuum’ code, created the subdirectory (under custom_components) with the same name and popped the code in, added the configuration.yaml config after doing the Robovac hard reset and restarted the whole Home Assistant box - rather than just the service.

Don’t know why it should be so fiddly - but it is!

How did you do the hard reset? hold the button for 10 seconds until it tells you its factory reset? only reason i ask is tried that a few times and only once its change the token.

Thanks

You should always get a fresh access token when you do a hard reset… Let me look up the procedure for my Robovac… but I think you’re right about holding down the button. I would also turn off the Robovac via the rocker switch on the bottom and leave it off for 30 seconds or so before doing the reset too.

Just tried again and its given me a different local key.

That’s good. Hopefully it will all come together now!

There seems to be two types of ‘reset’. The one I used was as follows:

Long-press the Auto cleaning on/off button for 10 seconds to reset RoboVac. After you hear one beep and see the Wi-Fi status light start to flash, follow the instructions in the EufyHome app to set up the Wi-Fi connection.

So, I copied the files to custom_components and modified the config, but HASSIO says integration (eufy_vacuum) not found after renaming it several times. Can anyone help?

Are the files in a subdirectory of custom_components called eufy_vacuum? Is the case of the directory name all lower case?

Also, have you added the config to configuration.yaml after running ADB to get the ID and Access Token?

Have you rebooted your HA instance?

I had exactly the same issue. I fixed it by adding the manifest.json to the eufy_vacuum directory.
See also the thread on github:

1 Like