Eufy X8 integration

Hi all, I have recently purchased a Eufy X8 vacuum with the intention of having this show also in HA. I did not do any research on this topic prior and stupidly thought if other Eufy vacs work then why not this one? I have followed the guides online in various places and my biggest hurdle right now is getting hold of my local token.
Using Bluestacks and the old version of the Eufy app doesnt work, it tells my I have to upgrade the app in order to use it for my device.
The up to date app doesnt offer the local token or device id any longer which is a pain.
I’ve thought about using Wireshark but not sure this information would be passed over the network.

Any suggestions on a workaround? I’ve also seen this link but there is no mention on HOW this was done.

Any help much appreciated.

Hi,

I managed to get my keys using a python script.

It took a few attempts to actually get it working so you may find a better script elsewhere.

I also have a X8 but haven’t had time to try integrate it yet so any information on which integration you use and tips after getting the keys would be appreciated.

Has anyone managed to integrate x8 hybrid? (T2261A)

Thank you for this. I’ll look into it this evening

Does this make any sense to anyone?

Ignore that last one. Got it sorted

Might want to try this. Was super easy to do

4 Likes

…that’s right… barely an inconvenience.

Worked a treat for me too. Don’t need any keys or tokens or anything, but you do have to be happy to add your Eufy login credentials to it. It even automatically picked up all the X8 options without having to add anything to any yaml files. The only complication for me as a new HACS user is that I had to google how to add a custom integration repository (the three dots in the the top right are the answer).

Thanks @bmccluskey ! (and you for posting it, Anthony)

Keep an eye on this main eufy thread for update notifications or watch the github repo.

1 Like

Getting a couple of errors and the integration is not working for an X8

Logger: custom_components.robovac.tuyalocalapi
Source: custom_components/robovac/tuyalocalapi.py:753
Integration: Eufy Robovac
First occurred: 9:26:45 AM (3 occurrences)
Last logged: 9:27:25 AM
Failed to decrypt message from eb58d5d8e7305eca78jjgf (192.168.2.208:6668)
Logger: custom_components.robovac.tuyalocalapi
Source: custom_components/robovac/tuyalocalapi.py:749
Integration: Eufy Robovac
First occurred: 9:26:45 AM (3 occurrences)
Last logged: 9:27:25 AM
'utf-8' codec can't decode byte 0xf9 in position 0: invalid start byte

Hey All, Zone Cleaning Question:
Just upgraded my G30 Edge to an X8 (Thanks, pet hair).
Wondering if there is any way to grab the cleaning zones from the app/account and call those with the integration? It’d be perfect to have a dashboard button that does say, the living room and kitchen. I know This Smart House pulled it off with a Roborock device, wasn’t sure if that was also possible here.

Using GitHub - bmccluskey/robovac: Add a Eufy RoboVac easily to Home Assistant - thank you, pbulteel, bmccluskey, and others for all your hard work on this!

2 Likes

I had my X8 setup and it worked fine then just stopped communicating. I’ve removed the integration and re-added and all sets up ok but will no longer work I’ve attached a log if anyone can figure out what’s wrong.

2023-07-21 11:55:06.303 ERROR (MainThread) [homeassistant.helpers.entity] Update for vacuum.robovac fails
Traceback (most recent call last):
File “/config/custom_components/robovac1/tuyalocalapi.py”, line 679, in async_connect
sock.connect((self.host, self.port))
TimeoutError: timed out
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File “/usr/src/homeassistant/homeassistant/helpers/entity.py”, line 695, in async_update_ha_state
await self.async_device_update()
File “/usr/src/homeassistant/homeassistant/helpers/entity.py”, line 940, in async_device_update
await self.async_update()
File “/config/custom_components/robovac1/vacuum.py”, line 319, in async_update
await self.vacuum.async_get()
File “/config/custom_components/robovac1/tuyalocalapi.py”, line 699, in async_get
return await message.async_send(self, callback)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/config/custom_components/robovac1/tuyalocalapi.py”, line 529, in async_send
await device._async_send(self)
File “/config/custom_components/robovac1/tuyalocalapi.py”, line 763, in _async_send
await self.async_connect()
File “/config/custom_components/robovac1/tuyalocalapi.py”, line 681, in async_connect
raise ConnectionTimeoutException(“Connection timed out”) from e
custom_components.robovac1.tuyalocalapi.ConnectionTimeoutException: Connection timed out

Is it possible the vacuum has a new IP? It says connection timed out, so it’s either not connected to the Wifi or IP has changed.

-P