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

I have got around to dockerizing the python app for anyone that is interested

https://hub.docker.com/r/markbajaj/eufyidfinder/

Use:

docker pull markbajaj/eufy_id_grabber

docker run markbajaj/eufy_id_grabber python -m eufy_local_id_grabber "[email protected]" "your_password"

EG

docker run markbajaj/eufy_id_grabber python -m eufy_local_id_grabber "[email protected]" "password123"

I hope this helps anyone trying to grab their EUFY ID.

mb

EDIT: both arm64 and AMD64 versions

1 Like

This is perfect! I’m surprised it’s that simple and works that well. Thank you!

As a follow up to this- I’m having an interesting issue where the room ID’s are non-sequential and behave strangely. See below:

Room IDs:

  1. Guest Room
  2. Produces verbal “rooms unavailable” error from vacuum
  3. Comes off and returns to charger
  4. Kitchen
  5. Bedroom
  6. Living Room
  7. Comes off and returns to charger
  8. Comes off and returns to charger
    9-?. Comes off and returns to charger

yes, i had a similar issue. I found that performing a factory reset of the robovac and creating a brand new map of the whole apartment, then sectioning/labeling the rooms again fixed this.

My room IDs used to start at 14 and were non sequential.
Now they start at 1 (actually 0 but it is the same as 1), are sequential and are all very neat. I have since been able to set these scripts to Mushroom Card Buttons for my Tablet (see pic) and also exposed these o Google and Alexa so I can start cleaning a single room with my voice… this makes me so happy!

Hi - sorry for the stupid question. I’ve tried looking through the thread here to see how exactly to set up the card to show rooms, cleaning time, etc. I currently only have the very basic info: image

Could you point me to where to get all the bells and whistles like you have? Thank you!

Hi,
I tried with a L70 (T2190), the code runs until this line:

async_setup_entry
    async_add_entities([RoboVacEntity(item)])
  File "/homeassistant/custom_components/robovac/vacuum.py", line 247, in __init__
    self._attr_access_token = item[CONF_ACCESS_TOKEN]
KeyError: 'access_token'

On the config entries, I can see the device ID and the local key correctly stored, so I believe this device use another api configuration.

Any hints on where I must start to add support to this device is welcomed :slight_smile:

Thanks!

@markbajaj Thank for the docker app, it works a treat except for the slight typo, eufy_id_grabber should be eufyidfinder. Got my device id and local key once I’d worked that out!

Now I just need to get this to work locally, hints gratefully recieved :innocent:

1 Like

Hmmm, re-reading this entire thread for clues but am a bit stuck. In summary when I get my device id and local key from @markbajaj’s wonderful dockered(?) app, my device id is 20 characters numbers and lower case characters up to f (hex?) and my local key is 16 characters with numbers, mixed case and punctuation.

I’ve seen post that say device id is 20 characters and some saying 21 characters, is it safe to assume that both are correct? My vacuum is a 15c.

I’m using the cloud integration from @bmccluskey and it’s been working for a while, but I’d like to have a local connection if I could. So I tried @jonnyrider’s github repository. Firstly I removed the device and then restarted HA. Following @jonnyrider guide, I copied the eufy_vacuum_15c folder to custom_components, restarted HA. Added the included code, with my details, to my configuration.yaml and restarted HA. I get this is my logs

This error originated from a custom integration.

Logger: homeassistant
Source: custom_components/eufy_vacuum_15c/tuya.py:551
Integration: Eufy Vacuum (documentation)
First occurred: 10:42:29 (3 occurrences)
Last logged: 10:43:09

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.11/asyncio/streams.py", line 634, in readuntil
    raise exceptions.IncompleteReadError(chunk, None)
asyncio.exceptions.IncompleteReadError: 0 bytes read on a total of undefined expected bytes

I have seen the error mentioned in this thread but not what the cause/solution is, anyone able to shed light? I do have an entity for the created vacuum but no device, when I go to the entity it shows a Status: error, but otherwise it does look like I’d expect.

I’ve been through this thread SOOO many times I don’t think I’m reading it anymore I’m just starring, any help would be gratefully received, if only to protect the nearby walls!

The walls are saved! Just as a trial I changed tuya.py line 438 from (3,1) to (3,3). Restarted HA and everything has just burst into life!

Well spotted thanks! Updated it. I think it was because in testing (that had my creds in) I used a private repo that had the underscores :slight_smile:
mb

1 Like

Very nice integration.
I’m using Hybrid L35+, but I’m stuck because I don’t know how to check the IP address.
The MAC address displayed by EufyClean does not exist on NetWork.
Please advise how to check.

Eufy 30 here. Anyone else’s stopped working on update to latest HA? Nothing obvious in logs except

The robovac custom integration is using deprecated vacuum feature


 
This stops working in version 2024.2.0. Please address before upgrading.
The custom integration robovac is extending the deprecated base class VacuumEntity instead of StateVacuumEntity.

Please report it to the author of the robovac custom integration.

Once an updated version of robovac is available, install it and restart Home Assistant to fix this issue.

cheers

mb

1 Like

My programing skill in regards to home assistant are pretty low, but I believe a part of the answer on how to solve this problem can be found here.

If nobody solve it, at my very slow pace, I may look on how to update the file vacuum.py in the integration.

2 Likes

Same for me

1 Like

Just changed my HACS repo to GitHub - CodeFoodPixels/robovac: Add a Eufy RoboVac easily to Home Assistant and works perfectly!

This is a fork of the orig repo.

In HA remove the integration, then remove from HACS, then add this repo:

As a custom repo.

It worked straight away and i didn’t need to re-input put my Local ID or network key or change any entity names :slight_smile:

4 Likes

I support, it is working.

1 Like

Hi,

I have the LR30 Robovac, I’ve added the integration.

I hit configure, and it can see the name of my Robovac but I’ve tried every IP address of any unknown device on the network but nothing changes still 0 devices.

A) how can I pull the IP address. It doesn’t show on my network.
B) upon adding the correct IP does that change the devices to 1?

Thanks

I’m having this issue.

Did you resolve it?

Seems really strange !

Same issue, Same robot

I got mine sorted.

When you look on your network you’ll see a random device, it’s not listed as the robot and doesn’t match the Mac address from the app.