Roborock binding for robot vacuum cleaners [5.0.0.0;5.1.0.0)

the addon is broken? i don’t get the f2a code

i tried to logout and login from the app too and i got the code without problem

Are you using SMS notifications or app notifications for the 2FA code?

app notification? i get email notification when i tried to login from the phone, i didn’t set a phone number, is that the problem ?

i don’t know if italy have a different server or what

I’ll take a look at the HA code for authentication, I know SMS works, but maybe there is a different call to request 2FA where no SMS is set.

now it worked (found a mail when i was sleeping, removed the thing and made a new 1 and got the mail) maybe api problem or something else :slight_smile:

@Paul_Smedley do you happen to remember what was the reason for using connOpts.setKeepAliveInterval(0) ? When working on local protocol, I noticed that MQTT is kind of constantly disconnecting and reconnecting again. Reconnect seems to be very fast but not sure why, it causes map refresh to fail for some reason.
I’ve seen this python-roborock/roborock/mqtt/health_manager.py at b658ef1c125ef5c321513e7c22bd99af814a2934 · Python-roborock/python-roborock · GitHub so I was thinking to perhaps use this approach instead - keep connection alive and reconnect once it is stall only.

In any case, here is JAR file if someone wants to give local protocol a go on their end - I tested it on Saros 10, I still have Roborock S6 and I might try to turn it on to see how it behaves.

I would be also curious to hear some feedback about the exposed options. Home Assistant for instance seems to have hardcoded times for refreshing map depending on few conditions (which protocol is used, if connection is local or cloud, is robot currently cleaning and so on). UX wise, hiding options seems easier for user since amount of combinations can get bit overwhelming. Because of that, I’m not certain if exposing everything is right way of doing things but perhaps I’m overthinking. Below is pic showing all advanced options.

I’ve also added option in this JAR to easily download RRMap, which can be then used with Xiaomi Vacuum Map Viewer (to find coordinates for zone cleaning) . Personally I use it to create dynamic no go zones depending on tasks (so i.e. when going to corridor, it avoids certain area of apartment, which most likely will have some obstacles for robot) and some simple go to tasks. It allows also to find coordinates for zone cleaning without relaying on RR app, so it another plus.

image

I was having a lot of issues with mqtt disconnecting after a period of time, and this seemed to help keeps things stable. I think I also found that one of the other roborock implementations was doing something similar, but I could be wrong (it’s been a while)!