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

First issue looked to be a router issue. No I’m getting the following.

DEBUG:asyncio:Using selector: EpollSelector
DEBUG:eufy_robovac.tuya:Connecting to 00267738cc50e37fa5f5 (10.0.0.133:6668)
DEBUG:eufy_robovac.tuya:Sending to 00267738cc50e37fa5f5 (10.0.0.133:6668): Message(0x9, b'', 0, <Device 00267738cc50e37fa5f5 (10.0.0.133:6668)>)
DEBUG:eufy_robovac.tuya:Sending to 00267738cc50e37fa5f5 (10.0.0.133:6668): Message(0xa, {'gwId': '00267738cc50e37fa5f5', 'devId': '00267738cc50e37fa5f5'}, 3387076243, <Device 00267738cc50e37fa5f5 (10.0.0.133:6668)>)
ERROR:eufy_robovac.tuya:Connection to 00267738cc50e37fa5f5 (10.0.0.133:6668) failed: [Errno 104] Connection reset by peer
DEBUG:eufy_robovac.tuya:Disconnected from 00267738cc50e37fa5f5 (10.0.0.133:6668)
Starting cleaning...
DEBUG:eufy_robovac.tuya:Connecting to 00267738cc50e37fa5f5 (10.0.0.133:6668)
DEBUG:eufy_robovac.tuya:Sending to 00267738cc50e37fa5f5 (10.0.0.133:6668): Message(0x7, {'devId': '00267738cc50e37fa5f5', 'uid': '', 't': 1587685988, 'dps': {'5': 'auto'}}, 3387077245, <Device 00267738cc50e37fa5f5 (10.0.0.133:6668)>)
DEBUG:eufy_robovac.tuya:Sending to 00267738cc50e37fa5f5 (10.0.0.133:6668): Message(0x9, b'', 0, <Device 00267738cc50e37fa5f5 (10.0.0.133:6668)>)
DEBUG:eufy_robovac.tuya:Sending to 00267738cc50e37fa5f5 (10.0.0.133:6668): Message(0xa, {'gwId': '00267738cc50e37fa5f5', 'devId': '00267738cc50e37fa5f5'}, 3387077254, <Device 00267738cc50e37fa5f5 (10.0.0.133:6668)>)
ERROR:eufy_robovac.tuya:Connection to 00267738cc50e37fa5f5 (10.0.0.133:6668) failed: [Errno 104] Connection reset by peer
DEBUG:eufy_robovac.tuya:Disconnected from 00267738cc50e37fa5f5 (10.0.0.133:6668)
Pausing...
DEBUG:eufy_robovac.tuya:Connecting to 00267738cc50e37fa5f5 (10.0.0.133:6668)
DEBUG:eufy_robovac.tuya:Sending to 00267738cc50e37fa5f5 (10.0.0.133:6668): Message(0x7, {'devId': '00267738cc50e37fa5f5', 'uid': '', 't': 1587685993, 'dps': {'2': False}}, 3387082258, <Device 00267738cc50e37fa5f5 (10.0.0.133:6668)>)
DEBUG:eufy_robovac.tuya:Sending to 00267738cc50e37fa5f5 (10.0.0.133:6668): Message(0x9, b'', 0, <Device 00267738cc50e37fa5f5 (10.0.0.133:6668)>)
DEBUG:eufy_robovac.tuya:Sending to 00267738cc50e37fa5f5 (10.0.0.133:6668): Message(0xa, {'gwId': '00267738cc50e37fa5f5', 'devId': '00267738cc50e37fa5f5'}, 3387082304, <Device 00267738cc50e37fa5f5 (10.0.0.133:6668)>)
DEBUG:eufy_robovac.tuya:Received message from 00267738cc50e37fa5f5 (10.0.0.133:6668): Message(0x9, b'', 0, None)
DEBUG:eufy_robovac.tuya:7033a63297d2faa3e0c0c4c5f307f8111e261305e10b8ff2aa31ebccecd4ce12
ERROR:eufy_robovac.tuya:'utf-8' codec can't decode byte 0xa6 in position 2: invalid start byte
ERROR:eufy_robovac.tuya:Failed to decrypt message from 00267738cc50e37fa5f5 (10.0.0.133:6668)
Disconnecting...
DEBUG:eufy_robovac.tuya:Disconnected from 00267738cc50e37fa5f5 (10.0.0.133:6668)

Seeing a few different things in the logs


2020-04-23 19:05:33 ERROR (MainThread) [custom_components.eufy_vacuum.tuya] 'utf-8' codec can't decode byte 0xa6 in position 2: invalid start byte

2020-04-23 19:05:33 ERROR (MainThread) [custom_components.eufy_vacuum.tuya] Failed to decrypt message from 00267738cc50e37fa5f5 (10.0.0.133:6668)

Some functions should be working for you, but maybe not all functions. See issue #8 on the main github project. It’s the same issue you are having. I’m on wifi 1.1.1 and mcu 1.1.0 which is probably why I don’t see any errors. I believe mcu version 1.1.1 is where these errors start appearing.

I read issue #8. I’m getting the same behavior as the other guy that has the 15C max. I see the error in the logs but no status updates or functions work. Anytime I hit any button I just see decrypt errors in the logs. I’ve tried change the version in tuya.py from 3.3 -> 3.1 but nothing. Bummer… Was really hoping this integration would work. Still a pretty nice bot though. If you have any other suggestions I’m open to trying them. Also thank you for your input.

I just got a Eufy 30c yesterday and I’m trying to get it into HA, but I seem to be failing early!

Steps so far:

  1. enabled USB debugging on android phone
  2. connected it to my mac
  3. opened terminal from the ‘Platform-tools’ folder
  4. entered adb logcat -e 'tuya.m.my.group.device.list'
  5. opened eufy app
    6 terminal just says:
    --------- beginning of system
    --------- beginning of main

I don’t get any info about the device at all. Any idea where I’m going wrong?

As stated in the comments in the thread, you need to install an older version of EufyHome. If you find an APK mirror, go for one from around September or October of 2019. They patched showing those in newer versions.

You may also need to do as another suggested and edit a particular line of a file.

Thanks for the tip!

I managed to download eufyhome 2.3.1 which worked for me.

Managed to now get it integrated!

Let the robot automation commence!!

Great info on this page. I was able to pull the localkey and deviceid using the old APK.

I’m having trouble just getting the component installed.
I moved the files into custom_components/eufy_vaccum.
But the HA logs just say Couldn’t be setup, check config.
What I have typed wrong in the config?

2020-05-11 16:47:45 DEBUG (MainThread) [homeassistant.core] Bus:Handling <Event call_service[L]: domain=persistent_notification, service=create, service_data=title=Invalid config, message=The following integrations and platforms could not be set up:

 - eufy_vacuum

Please check your config., notification_id=invalid_config>
eufy_vacuum:
  devices:
  - name: Robovac
    address: x.x.x.x
    access_token: eufylocalkey
    id: eufydeviceid
    type: T2118

Did you try changing the tuya.py file as detailed in this post above?:

I’m having a little trouble using this with node-red. I’m trying to get it to send me a message when the vacuum state changes. It’s mainly working, except for when it docks. It just doesn’t send me a notification when it has docked. Any help would be appreciated!

[{"id":"ca3d4154.bba61","type":"api-call-service","z":"30a3db46.b89244","name":"Vacuum On message","server":"cfa79f02.db9d4","version":1,"debugenabled":false,"service_domain":"notify","service":"mobile_app_hasskit_pixel_4","entityId":"","data":"{\"title\":\"Eufy is on the move\",\"message\":\"The house is being cleaned\"}","dataType":"json","mergecontext":"","output_location":"payload","output_location_type":"msg","mustacheAltTags":false,"x":1040,"y":440,"wires":[[]]},{"id":"563e2ef6.951a7","type":"api-call-service","z":"30a3db46.b89244","name":"Vacuum Returning message","server":"cfa79f02.db9d4","version":1,"debugenabled":false,"service_domain":"notify","service":"mobile_app_hasskit_pixel_4","entityId":"","data":"{\"title\":\"Eufy is hopefully going home\",\"message\":\"Lets see if the plucky little fella makes it home.\"}","dataType":"json","mergecontext":"","output_location":"payload","output_location_type":"msg","mustacheAltTags":false,"x":1060,"y":500,"wires":[[]]},{"id":"40b7aaeb.6f1434","type":"api-call-service","z":"30a3db46.b89244","name":"Vacuum Home message","server":"cfa79f02.db9d4","version":1,"debugenabled":false,"service_domain":"notify","service":"mobile_app_hasskit_pixel_4","entityId":"","data":"{\"title\":\"Eufy got home\",\"message\":\"Yay - he made it back!\"}","dataType":"json","mergecontext":"","output_location":"payload","output_location_type":"msg","mustacheAltTags":false,"x":1050,"y":380,"wires":[[]]},{"id":"3e41b986.6c6b06","type":"server-state-changed","z":"30a3db46.b89244","name":"Vacuum Status","server":"cfa79f02.db9d4","version":1,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"entityidfilter":"vacuum.robovac","entityidfiltertype":"exact","outputinitially":true,"state_type":"str","haltifstate":"","halt_if_type":"str","halt_if_compare":"is","outputs":1,"output_only_on_state_change":true,"x":480,"y":460,"wires":[["ce07163c.00af28"]]},{"id":"ce07163c.00af28","type":"switch","z":"30a3db46.b89244","name":"","property":"data.new_state.attributes.status","propertyType":"msg","rules":[{"t":"eq","v":"docked","vt":"str"},{"t":"eq","v":"cleaning","vt":"str"},{"t":"eq","v":"returning","vt":"str"},{"t":"eq","v":"idle","vt":"str"}],"checkall":"true","repair":false,"outputs":4,"x":710,"y":460,"wires":[["aecdfa80.a54df8"],["832147a1.7439a8"],["bc191086.617f7"],["1a6336ab.d6dd09"]]},{"id":"aecdfa80.a54df8","type":"change","z":"30a3db46.b89244","name":"Delete","rules":[{"t":"delete","p":"payload","pt":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":870,"y":380,"wires":[["40b7aaeb.6f1434"]]},{"id":"832147a1.7439a8","type":"change","z":"30a3db46.b89244","name":"Delete","rules":[{"t":"delete","p":"payload","pt":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":870,"y":440,"wires":[["ca3d4154.bba61"]]},{"id":"bc191086.617f7","type":"change","z":"30a3db46.b89244","name":"Delete","rules":[{"t":"delete","p":"payload","pt":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":870,"y":480,"wires":[["563e2ef6.951a7"]]},{"id":"1a6336ab.d6dd09","type":"change","z":"30a3db46.b89244","name":"Delete","rules":[{"t":"delete","p":"payload","pt":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":870,"y":560,"wires":[["a9a36b14.ece448"]]},{"id":"a9a36b14.ece448","type":"api-call-service","z":"30a3db46.b89244","name":"Vacuum Idle message","server":"cfa79f02.db9d4","version":1,"debugenabled":false,"service_domain":"notify","service":"mobile_app_hasskit_pixel_4","entityId":"","data":"{\"title\":\"Eufy is idle\",\"message\":\"He idle.\"}","dataType":"json","mergecontext":"","output_location":"payload","output_location_type":"msg","mustacheAltTags":false,"x":1040,"y":560,"wires":[[]]},{"id":"cfa79f02.db9d4","type":"server","z":"","name":"Home Assistant","legacy":false,"addon":true,"rejectUnauthorizedCerts":true,"ha_boolean":"y|yes|true|on|home|open","connectionDelay":false}]

@Martin_Granger yeah The integration doesn’t seem to start. Not sure what else to try.

Obvious one, but have you rebooted ha?

What does the contents of that folder look like? There’s that subdirectory in the project that needs to be moved, not the entire repository’s contents.

I got it to work perfectly
The only problem I’m having is that the current state won’t be displayed, saying just “error”
What’s confusing me mostly is that when I tried to change the version to 3, 1 as stated above it became worse as i wasn’t even able to control anything on my 30C
My installed Wifi version is 1.1.3 and my MCU version is 1.1.5

I got it working. I had a directory inside a directory…

Thought so, it happens! It’s not the clearest thing in the world to fix.

This has suddenly stopped working for me. Don’t know if it’s been an update our something. Anyone else in the same boat?

UPDATE:
I ran through the setup again and it appeared my local key had changed. Sorted!

1 Like


Fully up to date and working as far as I’m aware but that could change it any moment you know that it could be a rolling API change that causes us to have to grab the code again from ADB. I would just try to run ADB again and see if the code has changed if the code is changed update I bet you it will work again. I did that I did have this happen about 2 months ago but it hasn’t happened since. I updated the code and then all was well.

2 Likes

Damn so I’m assuming it’s a rolling code change I’ll probably have to change mine within the next week or two wonderful yay. Lol.

lol love the card