bmccluskey / robovac

Add a Eufy RoboVac easily to Home Assistant
Other
120 stars 28 forks source link

RoboVac card no longer working in HA latest update #31

Open xtrememeplease opened 1 year ago

xtrememeplease commented 1 year ago

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.

Also the home and start commands at the bottom of the card don't work for the X8 I have to open the card to operate

OtisPresley commented 1 year ago

I confirm that I am seeing the same behavior after the update, as well as with the card. I have an X8 and an X8 Hybrid.

muzzy00uk commented 1 year ago

Yeah also have the message and currently using the X8 Hybrid

hugalafutro commented 1 year ago

You can edit the vacuum.py to get rid of the message, but the 'status' entity of the vacuum breaks. All else works for me though I do not use card, I either tell alexa, or click the vacuum entity. (I have 30c model)

https://github.com/mitchellrj/eufy_robovac/pull/39/files

https://github.com/mitchellrj/eufy_robovac/issues/38

xtrememeplease commented 1 year ago

I tried to re-add my X8 and I can sign in and select the RoboVac but it will not add

pwcazenave commented 1 year ago

Looks like @CodeFoodPixels has a fix: https://github.com/bmccluskey/robovac/compare/main...CodeFoodPixels:robovac:main

hugalafutro commented 1 year ago

I tried the changes from https://github.com/bmccluskey/robovac/compare/main...CodeFoodPixels:robovac:main in the vacuum.py from https://github.com/mitchellrj/eufy_robovac, but that was no bueno. Then I tried to use this integration, but I am running into https://github.com/bmccluskey/robovac/issues/14

edit: I have the ip, id and local token of the vacuum, is there any way to bypass the login part and force them in?

MrBurnz77 commented 1 year ago

I tried the changes from main...CodeFoodPixels:robovac:main in the vacuum.py from https://github.com/mitchellrj/eufy_robovac, but that was no bueno. Then I tried to use this integration, but I am running into #14

edit: I have the ip, id and local token of the vacuum, is there any way to bypass the login part and force them in?

@hugalafutro yes it's up and running again !

CodeFoodPixels commented 1 year ago

I'm not a python programmer, so I can't guarantee my code will work for everyone. It's working fine on my 15C Max though. I have a couple of bits I'd like to tidy up on it before doing a PR, but if anyone wants to use it, the only difference is vacuum.py

On Fri, 4 Aug 2023, 19:05 Pierre Cazenave, @.***> wrote:

Looks like @CodeFoodPixels https://github.com/CodeFoodPixels has a fix: main...CodeFoodPixels:robovac:main https://github.com/bmccluskey/robovac/compare/main...CodeFoodPixels:robovac:main

— Reply to this email directly, view it on GitHub https://github.com/bmccluskey/robovac/issues/31#issuecomment-1665992266, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABEPFVAWCQXHTD3WV7UQOMTXTU2WRANCNFSM6AAAAAA3CMQIOE . You are receiving this because you were mentioned.Message ID: @.***>

muzzy00uk commented 1 year ago

Yeah I'm not a code at all so not sure what needs changing. Is it the entire vacuum.py file that need replacing or a specific part?

pwcazenave commented 1 year ago

Yeah I'm not a code at all so not sure what needs changing. Is it the entire vacuum.py file that need replacing or a specific part?

The entire file.

muzzy00uk commented 1 year ago

Yeah I'm not a code at all so not sure what needs changing. Is it the entire vacuum.py file that need replacing or a specific part?

The entire file.

OK that I can do 😁

jodur commented 1 year ago

@CodeFoodPixels, I can confirm your modification also work on a 35C

Verguldebarman commented 1 year ago

I'm not a python programmer, so I can't guarantee my code will work for everyone. It's working fine on my 15C Max though. I have a couple of bits I'd like to tidy up on it before doing a PR, but if anyone wants to use it, the only difference is vacuum.py On Fri, 4 Aug 2023, 19:05 Pierre Cazenave, @.> wrote: Looks like @CodeFoodPixels https://github.com/CodeFoodPixels has a fix: main...CodeFoodPixels:robovac:main <main...CodeFoodPixels:robovac:main> — Reply to this email directly, view it on GitHub <#31 (comment)>, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABEPFVAWCQXHTD3WV7UQOMTXTU2WRANCNFSM6AAAAAA3CMQIOE . You are receiving this because you were mentioned.Message ID: @.>

Confirmed working (with broken 'status') by replacing vacuum.py with this file.

Thanks!

xhemp commented 1 year ago

Yes, confirmed working on a X8 as well. Thanks @CodeFoodPixels !

xtrememeplease commented 1 year ago

Awesome that's working on my X8, thanks @CodeFoodPixels

Credo102 commented 1 year ago

Awesome that's working on my X8, thanks @CodeFoodPixels

did you edit line 338 of CodeFoodPixels code to include your model number? i.e. elif self.model_code[0:5] in ["T2262", "T2261A", "T2261"]: # X

xtrememeplease commented 1 year ago

Awesome that's working on my X8, thanks @CodeFoodPixels

did you edit line 338 of CodeFoodPixels code to include your model number? i.e. elif self.model_code[0:5] in ["T2262", "T2261A", "T2261"]: # X

I didn't need to it was already in his code. my x8 model is T2262.

elif self.model_code[0:5] in ["T2262"]: # X

muzzy00uk commented 1 year ago

Seems to be working fine with the X8 Hybrid as well. No controls on the card but voice commands seem to work fine. Nice one @CodeFoodPixels

CodeFoodPixels commented 1 year ago

Is that the default card?

On Sat, 5 Aug 2023, 13:18 muzzy00uk, @.***> wrote:

Seems to be working fine with the X8 Hybrid as well. No controls on the card but voice commands seem to work fine. Nice one @CodeFoodPixels https://github.com/CodeFoodPixels

— Reply to this email directly, view it on GitHub https://github.com/bmccluskey/robovac/issues/31#issuecomment-1666490237, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABEPFVEGHDR6KLFNU54AH53XTY22XANCNFSM6AAAAAA3CMQIOE . You are receiving this because you were mentioned.Message ID: @.***>

muzzy00uk commented 1 year ago

Is that the default card? On Sat, 5 Aug 2023, 13:18 muzzy00uk, @.> wrote: Seems to be working fine with the X8 Hybrid as well. No controls on the card but voice commands seem to work fine. Nice one @CodeFoodPixels https://github.com/CodeFoodPixels — Reply to this email directly, view it on GitHub <#31 (comment)>, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABEPFVEGHDR6KLFNU54AH53XTY22XANCNFSM6AAAAAA3CMQIOE . You are receiving this because you were mentioned.Message ID: @.>

hey @CodeFoodPixels i thought it was but i realised that i put in the entity without a specific card so there were no buttons... sorry for the confusion.

cdn4lf commented 1 year ago

I tried the changes from main...CodeFoodPixels:robovac:main in the vacuum.py from https://github.com/mitchellrj/eufy_robovac, but that was no bueno. Then I tried to use this integration, but I am running into #14 edit: I have the ip, id and local token of the vacuum, is there any way to bypass the login part and force them in?

@hugalafutro yes it's up and running again !

I'm running into this issue as well. Any suggestions?

hugalafutro commented 1 year ago

@cdn4lf The guy in #14 mentions he was able to bypass it by editing config_flow.py, I asked for more details there hopefully he'll see the message

In my understanding this integration cannot be set up freshly - the tuya login broke at some point in past and the integration only works for people who already had it set up from when it used to work and their config has the id, token etc saved already.

Fabian-Heinrich commented 1 year ago

Looks like @CodeFoodPixels has a fix: main...CodeFoodPixels:robovac:main

I've finally got it to work with my G10 Hybrid. I had to add the G10 vacuums model code "T2150" to the vacuum.py file for it to work.

OtisPresley commented 1 year ago

Mine is also working with the linked vacuum.py file...AFTER changing "T2262" to: "T2262", "T2262A", "T2261", "T2261A" to cover all the X8 variations.

morpheus302 commented 1 year ago

Thanks @rustymyers for the fix. I'm using your repo and it's working again.

rustymyers commented 1 year ago

Mine is also working with the linked vacuum.py file...AFTER changing "T2262" to: "T2262", "T2262A", "T2261", "T2261A" to cover all the X8 variations.

Added to the pull request. Thanks for the update!

chesterflaps commented 1 year ago

Yeah I'm not a code at all so not sure what needs changing. Is it the entire vacuum.py file that need replacing or a specific part?

The entire file.

How do I actually copy the code? If I click the little copy icon, it just copies the file name. If I highlight all the code, again it just copies and pastes the file name.

I am clearly being stupid but I need someone to tell me just HOW stupid please

chesterflaps commented 1 year ago

Yeah I'm not a code at all so not sure what needs changing. Is it the entire vacuum.py file that need replacing or a specific part?

The entire file.

How do I actually copy the code? If I click the little copy icon, it just copies the file name. If I highlight all the code, again it just copies and pastes the file name.

I am clearly being stupid but I need someone to tell me just HOW stupid please

Worked it out

rustymyers commented 1 year ago

Duplicate of #29

HumanSkunk commented 1 year ago

Perfect works for me thanks @rustymyers I just removed the old repo and re added everything. Seems to be functioning as expected, and as a plus the start stop commands now work as well which was an issue I opened last year. Just had to do one final restart after everything was configured which seems to sort out the comms with the vacuums.

CodeFoodPixels commented 1 year ago

Given that the maintainer of this integration hasn't been active on GitHub since December 2022, I've forked this repo with a view to maintain it along with anyone else who would like to help (@rustymyers?).

I'm also submitting my fork to be included in HACS by default.

Fork is here, but happy to consider setting up an org or whatever: https://github.com/CodeFoodPixels/robovac

hugalafutro commented 1 year ago

@CodeFoodPixels Hi, is your fork able to connect to the tuya api if you're setting it for the first time ever? Because myself, and others are not able to as the tuya api doesn't accept correct credentials anymore (#14).

All of the folks from here can get it fixed with the vacuum.py changes because their config already includes the token and id of the vacuum obtained back when they set it up 1st when pulling them from tuya api still worked, however it's impossible for a new user like myself.

I have the token and id, but there's no option to enter them within this integration. An user in #14 mentioned he was able to bypass the online login with the token and id, however only outlined it in very vague way without instructions.

Hope that makes sense and thanks for any answer.

CodeFoodPixels commented 1 year ago

I've not updated any code around that, so I'm not sure if it's working.

On Tue, 8 Aug 2023, 22:49 hugalafutro, @.***> wrote:

@CodeFoodPixels https://github.com/CodeFoodPixels Hi, is your fork able to connect to the tuya api if you're setting it for the first time ever? Because myself, and others are not able to as the tuya api doesn't accept correct credentials anymore (#14 https://github.com/bmccluskey/robovac/issues/14).

All of the folks from here can get it fixed with the vacuum.py changes because their config already includes the token and id of the vacuum obtained back when they set it up 1st when pulling them from tuya api still worked, however it's impossible for a new user like myself.

I have the token and id, but there's no option to enter them within this integration. An user in #14 https://github.com/bmccluskey/robovac/issues/14 mentioned he was able to bypass the online login with the token and id, however only outlined it in very vague way without instructions.

Hope that makes sense and thanks for any answer.

— Reply to this email directly, view it on GitHub https://github.com/bmccluskey/robovac/issues/31#issuecomment-1670354348, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABEPFVBYZFPDDKT4WLZAQZ3XUKX7LANCNFSM6AAAAAA3CMQIOE . You are receiving this because you were mentioned.Message ID: @.***>

CodeFoodPixels commented 1 year ago

Oddly, it works for me. Perhaps it's region based? Where are you located @hugalafutro?

cdn4lf commented 1 year ago

@CodeFoodPixels I'm having the login issue as well. Located in Canada.

hugalafutro commented 1 year ago

@CodeFoodPixels UK here

CodeFoodPixels commented 1 year ago

Huh, I'm in the UK too 🤔

I'll knock together a script to check some things tomorrow

xtrememeplease commented 1 year ago

Mine is working but these logs keep getting thrown up.

2023-08-09 09:20:43.466 DEBUG (MainThread) [custom_components.robovac.tuyalocalapi] Connecting to bf195c09a098232cb2un3s (192.168.0.92:6668) 2023-08-09 09:20:45.478 ERROR (MainThread) [homeassistant.helpers.entity] Update for vacuum.x8 fails Traceback (most recent call last): File "/config/custom_components/robovac/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 699, in async_update_ha_state await self.async_device_update() File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 938, in async_device_update await self.async_update() File "/config/custom_components/robovac/vacuum.py", line 394, in async_update await self.vacuum.async_get() File "/config/custom_components/robovac/tuyalocalapi.py", line 699, in async_get return await message.async_send(self, callback) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/config/custom_components/robovac/tuyalocalapi.py", line 529, in async_send await device._async_send(self) File "/config/custom_components/robovac/tuyalocalapi.py", line 763, in _async_send await self.async_connect() File "/config/custom_components/robovac/tuyalocalapi.py", line 681, in async_connect raise ConnectionTimeoutException("Connection timed out") from e custom_components.robovac.tuyalocalapi.ConnectionTimeoutException: Connection timed out

CodeFoodPixels commented 1 year ago

@xtrememeplease That looks like your vacuum isn't responding in time. Does the vacuum still work through HA? How frequent are these errors?

iandarbey commented 1 year ago

Just to clarify what's the migration pathway from this to the new forked code?

Uninstall old one and then add this one? Do I need to retrieve keys or anything from the old install first?

xtrememeplease commented 1 year ago

@CodeFoodPixels It was working but stopped. I've removed and re-added the hover but its not asking for my IP. Where do I manually add the IP to the yaml?

CodeFoodPixels commented 1 year ago

In HACS, add my repository, delete this one and then

Just to clarify what's the migration pathway from this to the new forked code?

In HACS, open the custom repositories screen, add my repo and remove this one (only remove this one from the custom repositories screen, do not do it in the integration itself). Then open the Robovac integration card and hit download

CodeFoodPixels commented 1 year ago

@CodeFoodPixels It was working but stopped. I've removed and re-added the hover but its not asking for my IP. Where do I manually add the IP to the yaml?

If you go to the integration (MHA redirect link) and hit configure, do you not get the pop-up to add the IP?

xtrememeplease commented 1 year ago

odd I have a DHCP reservation already in place and its picked up a new IP. working again. Thanks

iandarbey commented 1 year ago

In HACS, add my repository, delete this one and then

Just to clarify what's the migration pathway from this to the new forked code?

In HACS, open the custom repositories screen, add my repo and remove this one (only remove this one from the custom repositories screen, do not do it in the integration itself). Then open the Robovac integration card and hit download

Excellent this worked straight away. Despite my robovac being offline due to a dead battery it picked it up as soon as I started charging it in the dock.

rustymyers commented 1 year ago

Given that the maintainer of this integration hasn't been active on GitHub since December 2022, I've forked this repo with a view to maintain it along with anyone else who would like to help (@rustymyers?).

I'm also submitting my fork to be included in HACS by default.

Fork is here, but happy to consider setting up an org or whatever: https://github.com/CodeFoodPixels/robovac

Happy to help maintain!

MPS-C commented 1 year ago

I was excited to add the integration, but unfortunately I get the error message that the version is out of date.