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

After taking a look at the logs, I found that the manifest.py didn’t have a version number. I just added

“version”: 1

to the file and that’s sorted it out now. I keep forgetting that not all of the old intergrations have manifest.py files and the ones that do, don’t always have version numbers in them.

Thanks for the prompt to look at the logs! It’s all working as it should now.

I have started seeing an error in the logs, and i am unable to control my Eufy xxx from HA

Logger: custom_components.eufy_vacuum.tuya
Source: custom_components/eufy_vacuum/tuya.py:553
Integration: eufy_vacuum
First occurred: 2:05:08 PM (6 occurrences)
Last logged: 2:06:09 PM

Connection to <ID> (192.168.0.140:6668) failed: [Errno 104] Connection reset by peer

@p4mr @sd_dracula I was facing the same issue with my G10 Hybrid and reached the same solution by working backwards from the error message about the “0”. With the following code block it transitions among the various states seamlessly. Hope it helps with G30, too.

@property
def status(self):
    """Return the status of the vacuum cleaner."""
    # if self.robovac.error_code != robovac.ErrorCode.NO_ERROR:
    #     return STATE_ERROR
    if self.robovac.go_home:
        return STATE_RETURNING
    elif self.robovac.work_status == robovac.WorkStatus.RUNNING:
        return STATE_CLEANING
    elif self.robovac.work_status == robovac.WorkStatus.CHARGING:
        return STATE_DOCKED
    elif self.robovac.work_status == robovac.WorkStatus.RECHARGE_NEEDED:
        # Should be captured by `go_home` above, but just in case
        return STATE_RETURNING
    elif self.robovac.work_status == robovac.WorkStatus.SLEEPING:
        return STATE_IDLE
    elif self.robovac.work_status == robovac.WorkStatus.STAND_BY:
        return STATE_IDLE
    elif self.robovac.work_status == robovac.WorkStatus.COMPLETED:
        return STATE_DOCKED
    else:
        return STATE_ERROR
1 Like

@p4mr @sd_dracula

how did you end up getting it working with the 15C?? I’ve got it installed on my HA with the correct Dev ID and Key, using T2118 (because T2128 isn’t supported it seems)
I just get “ConnectionRefusedError: [Errno 111] Connection refused” in the logs every time HA starts.

I’ve attempted to change the Tuya config file to version (3,1) instead of (3,3) and that made no difference, neither did commenting out the lines in vacuum.py.

At a loss :frowning:

edit: i’m dumb, I had the wrong IP, reserved in dhcp now. but i’m now getting a
ConnectionResetError: [Errno 104] Connection reset by peer
:frowning:

For the 15C I didn’t need to do anything it just worked out of the box.
But I did have an issue where I had to to do a full reset on it, remove it from the eufy app and add it again and then it worked ok.

can i ask what your ‘model’ was in the HA configuration code? T2118?

I will remove it and re-add it like you did and see if that makes a difference.

Yeah I set both that and the G30 to 2118

eufy_vacuum:
  devices:
  - name: Upstairs Robovac
    address: !secret upstairs_robovac_ip
    access_token: !secret upstairs_robovac_localkey
    id: !secret upstairs_robovac_id
    type: T2118
  - name: Downstairs Robovac
    address: !secret downstairs_robovac_ip
    access_token: !secret downstairs_robovac_localkey
    id: !secret downstairs_robovac_id
    type: T2118

@thefunkygibbon See my earlier post in this thread

T2118 is the only model that exists within the core code, although other models do work.

thanks both of you for replying.
I have come to check the logs again this morning and somehow it is working a bit better than it was yesterday?! In as much as i now have the robovac entity, although it doesn’t work. in my logs i see a bunch of

2021-11-17 06:31:15 ERROR (MainThread) [custom_components.eufy_vacuum.tuya] Failed to decrypt message from 54310324403d3a13e62f (192.168.0.154:6668)

2021-11-17 06:31:25 ERROR (MainThread) [custom_components.eufy_vacuum.tuya] Expecting value: line 1 column 1 (char 0)

edit: ok its working now i’ve changed Tuya config file to version (3,1) instead of (3,3) again! woohoo

Hi I have the 11c and have the same problem did you manage to get it working
adb logcat 'tuya.m.my.group.device.list’ it doesn’t print anything to the screen?
if I remove the -e option I get data I can see info from eufy but no ‘localKey’ and ‘devID’

details from eufy app as
MAC address "58:XX:XX:XX:XX:XX”
IP-address: 192.168.0.XXX
Local code: XXXXCF446583XXXX
Device ID: 549eXXXX-XXXX-XXXX-XXXX-17cca472XXXX
Device key: XXXX095C010EXXXX

Unfortunately no,
I have now sold my 11C and bought a 30C (Black Friday) … and the 30C works exactly as intended.
I got the ID and the Key immediately right using the modified Eufy Home app.
My best guess is that somehow the 11C communicates with a different kind of encription, therefore, this whole solution does not work for it.

Ok thanks for reply

Thanks to the various comments in this thread, I have managed to get by 15C and G10 working.

BUT, they don’t work at the same time!

I need to change vacuum.py as @istavrak described and change the tuya.py version to (3, 3) for the G10, but the tuya.py version needs to be (3, 1) for the 15C to work.

Does anyone know how I can have two instances of this component working together? I tried copying the custom_components folder and adding a 2 to the end of everything, but that didn’t work.

Thanks in advance for any help!

I’ve installed the integration - and it works, sort of. I can see fan status and battery strength, and can send commands to my G30 Edge, but the status of my robovac is given as ‘error’.

When I try to issue a command I have the message:

image

Displayed, but the command actually works i.e. I can get it to start vacuuming and return to base. Just cant get the status of what its doing! Any ideas?

Reading the thread more carefully it looks like I have exactly the same issue as @p4mr - did you manage to get your G30 edge working properly?

Edit: realised that there is discussion of this here and applying those changes to the integration did the trick - have battery level and current status, though I did get an error when I issued the stop command. It’s working well enough for me now though so thank for asking the questions that led to the fix!

I’m about to pull the trigger on the g10 hybrid, can you confirm the integration is working ok please? Can you command the unit to come out, to allow emptying of the bins? Mine will be installed under a kitchen cupboard!

Did you change the model in your config.yaml to T2150?

Are you happy with it?

Thanks for any help!

Hi,

No luck with the G10.

This error originated from a custom integration.

Logger: custom_components.eufy_vacuum.tuya
Source: custom_components/eufy_vacuum/tuya.py:403
Integration: Integration to Eufy Vacuum (documentation, issues)
First occurred: 17:40:58 (13 occurrences)
Last logged: 17:44:38

'utf-8' codec can't decode byte 0x99 in position 0: invalid start byte

I have got the G10 working. I will post the code changes you need tomorrow when I’m at my computer.

Link below to my repository for the G10:

I have just used the knowledge of people who have helped in this thread and put it into a new repository so that others don’t need to go in and manually change the code. I have no skills myself in programming!

Hi, really appreciate you sharing your config and knowledge. Are you happy with the vac? Happy with the ha integration?

John