Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Integration no longer working #144

Closed
jmbrown79 opened this issue Jan 14, 2023 · 41 comments
Closed

Integration no longer working #144

jmbrown79 opened this issue Jan 14, 2023 · 41 comments

Comments

@jmbrown79
Copy link

The integration has stopped working over the last 2 updates (0.0.24 and 0.0.25). It gets stuck at initializing when reloading thru the HA integration UI screen and if you remove and try to reinstall it never makes it past where you enter you email address on the first step. Have tried reloading HA and can login to me RR account and use the app with no issues.

@humbertogontijo
Copy link
Owner

Could you provide me some logs?

@nijhawank
Copy link

nijhawank commented Jan 14, 2023

I am also struggling with similar issue. It was working in my main ha instance 5 or 6 releases earlier but due to probably the map updates / delays it was slowing down my ha instance, so I disabled it. Then I tried some updated releases but it just failed to properly initialize.

I then created a separate ha instance just to test this integration and it has failed to go past the setup. It is able to login to my roborock account (as I get notification on my roborock app that a new login has been made to my account) but the integration never initializes properly. I have tried the 2022.12.9 and 2022.6.7 ha versions with same results. I get the below errors. Is it possible that roborock has blocked my account to login from any thing other than the official roborock app.

The errors that I see are...
ha00 | 2023-01-14 10:43:20 ERROR (MainThread) [custom_components.roborock]
ha00 | Traceback (most recent call last):
ha00 | File "/usr/local/lib/python3.9/asyncio/queues.py", line 166, in get
ha00 | await getter
ha00 | asyncio.exceptions.CancelledError
ha00 | During handling of the above exception, another exception occurred:
ha00 | Traceback (most recent call last):
ha00 | File "/usr/local/lib/python3.9/asyncio/tasks.py", line 490, in wait_for
ha00 | return fut.result()
ha00 | asyncio.exceptions.CancelledError
ha00 | The above exception was the direct cause of the following exception:
ha00 | Traceback (most recent call last):
ha00 | File "/config/custom_components/roborock/api/api.py", line 303, in send_command
ha00 | (response, err) = await queue.async_get(QUEUE_TIMEOUT)
ha00 | File "/config/custom_components/roborock/api/roborock_queue.py", line 14, in async_get
ha00 | return await asyncio.wait_for(self.get(), timeout=timeout)
ha00 | File "/usr/local/lib/python3.9/asyncio/tasks.py", line 492, in wait_for
ha00 | raise exceptions.TimeoutError() from exc
ha00 | asyncio.exceptions.TimeoutError
ha00 | The above exception was the direct cause of the following exception:
ha00 | Traceback (most recent call last):
ha00 | File "/config/custom_components/roborock/init.py", line 137, in _async_update_data
ha00 | device_prop = await self.api.get_prop(device_id)
ha00 | File "/config/custom_components/roborock/api/api.py", line 343, in get_prop
ha00 | [status, dnd_timer, clean_summary, consumable] = await asyncio.gather(
ha00 | File "/config/custom_components/roborock/api/api.py", line 318, in get_status
ha00 | status = await self.send_command(device_id, RoborockCommand.GET_STATUS)
ha00 | File "/config/custom_components/roborock/api/api.py", line 313, in send_command
ha00 | raise RoborockTimeout(ex) from ex
ha00 | custom_components.roborock.api.exceptions.RoborockTimeout
ha00 | 2023-01-14 10:43:21 ERROR (MainThread) [custom_components.roborock] Error fetching roborock data:
ha00 | 2023-01-14 10:43:21 WARNING (MainThread) [homeassistant.config_entries] Config entry 'xxxxxxxxx@yahoo.com' for roborock integration not ready yet: None; Retrying in background
ha00 | 2023-01-14 10:43:28 ERROR (MainThread) [custom_components.roborock.api.api] Roborock mqtt client disconnected (rc: 7)
ha00 | 2023-01-14 10:43:29 ERROR (MainThread) [custom_components.roborock.api.api] Roborock mqtt client disconnected (rc: 7)
ha00 | 2023-01-14 10:43:31 ERROR (MainThread) [custom_components.roborock.api.api] Roborock mqtt client disconnected (rc: 7)
ha00 | 2023-01-14 10:43:32 ERROR (MainThread) [custom_components.roborock]
ha00 | Traceback (most recent call last):
ha00 | File "/usr/local/lib/python3.9/asyncio/queues.py", line 166, in get
ha00 | await getter
ha00 | asyncio.exceptions.CancelledError
ha00 | During handling of the above exception, another exception occurred:
ha00 | Traceback (most recent call last):
ha00 | File "/usr/local/lib/python3.9/asyncio/tasks.py", line 490, in wait_for
ha00 | return fut.result()
ha00 | asyncio.exceptions.CancelledError
ha00 | The above exception was the direct cause of the following exception:
ha00 | Traceback (most recent call last):
ha00 | File "/config/custom_components/roborock/api/api.py", line 303, in send_command
ha00 | (response, err) = await queue.async_get(QUEUE_TIMEOUT)
ha00 | File "/config/custom_components/roborock/api/roborock_queue.py", line 14, in async_get
ha00 | return await asyncio.wait_for(self.get(), timeout=timeout)
ha00 | File "/usr/local/lib/python3.9/asyncio/tasks.py", line 492, in wait_for
ha00 | raise exceptions.TimeoutError() from exc
ha00 | asyncio.exceptions.TimeoutError
ha00 | The above exception was the direct cause of the following exception:
ha00 | Traceback (most recent call last):
ha00 | File "/config/custom_components/roborock/init.py", line 137, in _async_update_data
ha00 | device_prop = await self.api.get_prop(device_id)
ha00 | File "/config/custom_components/roborock/api/api.py", line 343, in get_prop
ha00 | [status, dnd_timer, clean_summary, consumable] = await asyncio.gather(
ha00 | File "/config/custom_components/roborock/api/api.py", line 318, in get_status
ha00 | status = await self.send_command(device_id, RoborockCommand.GET_STATUS)
ha00 | File "/config/custom_components/roborock/api/api.py", line 313, in send_command
ha00 | raise RoborockTimeout(ex) from ex
ha00 | custom_components.roborock.api.exceptions.RoborockTimeout
ha00 | 2023-01-14 10:43:32 ERROR (MainThread) [custom_components.roborock] Error fetching roborock data:
ha00 | 2023-01-14 10:43:32 ERROR (MainThread) [custom_components.roborock.api.api] Roborock mqtt client disconnected (rc: 7)
ha00 | 2023-01-14 10:43:33 ERROR (MainThread) [custom_components.roborock.api.api] Roborock mqtt client disconnected (rc: 7)
ha00 | 2023-01-14 10:43:35 ERROR (MainThread) [custom_components.roborock.api.api] Roborock mqtt client disconnected (rc: 7)
ha00 | 2023-01-14 10:43:36 ERROR (MainThread) [custom_components.roborock.api.api] Roborock mqtt client disconnected (rc: 7)
ha00 | 2023-01-14 10:43:37 ERROR (MainThread) [custom_components.roborock.api.api] Roborock mqtt client disconnected (rc: 7)
ha00 | 2023-01-14 10:43:39 ERROR (MainThread) [custom_components.roborock.api.api] Roborock mqtt client disconnected (rc: 7)
ha00 | 2023-01-14 10:43:40 ERROR (MainThread) [custom_components.roborock.api.api] Roborock mqtt client disconnected (rc: 7)
ha00 | 2023-01-14 10:43:42 ERROR (MainThread) [custom_components.roborock.api.api] Roborock mqtt client disconnected (rc: 7)
ha00 | 2023-01-14 10:43:43 ERROR (MainThread) [custom_components.roborock.api.api] Roborock mqtt client disconnected (rc: 7)
ha00 | 2023-01-14 10:43:44 ERROR (MainThread) [custom_components.roborock.api.api] Roborock mqtt client disconnected (rc: 7)
ha00 | 2023-01-14 10:43:44 ERROR (MainThread) [custom_components.roborock.api.api] Roborock mqtt client disconnected (rc: 7)
ha00 | 2023-01-14 10:43:46 ERROR (MainThread) [custom_components.roborock.api.api] Roborock mqtt client disconnected (rc: 7)
ha00 | 2023-01-14 10:43:46 ERROR (MainThread) [custom_components.roborock.api.api] Roborock mqtt client disconnected (rc: 7)
ha00 | 2023-01-14 10:43:47 ERROR (MainThread) [custom_components.roborock.api.api] Roborock mqtt client disconnected (rc: 7)
ha00 | 2023-01-14 10:43:47 ERROR (MainThread) [custom_components.roborock.api.api] Roborock mqtt client disconnected (rc: 7)
ha00 | 2023-01-14 10:43:48 ERROR (MainThread) [custom_components.roborock]
ha00 | Traceback (most recent call last):
ha00 | File "/usr/local/lib/python3.9/asyncio/queues.py", line 166, in get
ha00 | await getter
ha00 | asyncio.exceptions.CancelledError
ha00 | During handling of the above exception, another exception occurred:
ha00 | Traceback (most recent call last):
ha00 | File "/usr/local/lib/python3.9/asyncio/tasks.py", line 490, in wait_for
ha00 | return fut.result()
ha00 | asyncio.exceptions.CancelledError
ha00 | The above exception was the direct cause of the following exception:
ha00 | Traceback (most recent call last):
ha00 | File "/config/custom_components/roborock/api/api.py", line 303, in send_command
ha00 | (response, err) = await queue.async_get(QUEUE_TIMEOUT)
ha00 | File "/config/custom_components/roborock/api/roborock_queue.py", line 14, in async_get
ha00 | return await asyncio.wait_for(self.get(), timeout=timeout)
ha00 | File "/usr/local/lib/python3.9/asyncio/tasks.py", line 492, in wait_for
ha00 | raise exceptions.TimeoutError() from exc
ha00 | asyncio.exceptions.TimeoutError
ha00 | The above exception was the direct cause of the following exception:
ha00 | Traceback (most recent call last):
ha00 | File "/config/custom_components/roborock/init.py", line 137, in _async_update_data
ha00 | device_prop = await self.api.get_prop(device_id)
ha00 | File "/config/custom_components/roborock/api/api.py", line 343, in get_prop
ha00 | [status, dnd_timer, clean_summary, consumable] = await asyncio.gather(
ha00 | File "/config/custom_components/roborock/api/api.py", line 318, in get_status
ha00 | status = await self.send_command(device_id, RoborockCommand.GET_STATUS)
ha00 | File "/config/custom_components/roborock/api/api.py", line 313, in send_command
ha00 | raise RoborockTimeout(ex) from ex
ha00 | custom_components.roborock.api.exceptions.RoborockTimeout
ha00 | 2023-01-14 10:43:48 ERROR (MainThread) [custom_components.roborock] Error fetching roborock data:
ha00 | 2023-01-14 10:43:48 ERROR (MainThread) [custom_components.roborock.api.api] Roborock mqtt client disconnected (rc: 7)
ha00 | 2023-01-14 10:43:48 ERROR (MainThread) [custom_components.roborock.api.api] Roborock mqtt client disconnected (rc: 7)
ha00 | 2023-01-14 10:43:50 ERROR (MainThread) [custom_components.roborock.api.api] Roborock mqtt client disconnected (rc: 7)
ha00 | 2023-01-14 10:43:50 ERROR (MainThread) [custom_components.roborock.api.api] Roborock mqtt client disconnected (rc: 7)
^CERROR: Aborting.

@jmbrown79
Copy link
Author

jmbrown79 commented Jan 15, 2023

Could you provide me some logs?

@humbertogontijo

This is all it shows:
2023-01-14 23:11:58.295 DEBUG (MainThread) [custom_components.roborock.config_flow] Requesting code for Roborock account

then i get this error screen in the pop up

2023-01-14_22-57-29

Happy to run or pull whatever you need, but it can't get past that first part and the logs are pretty light. I did have it up and working a few days ago tho, if that is helpful.

Home Assistant 2023.1.4

UPDATE
It seems that my Roborock app no longer works on Wifi (but will on cellular). However, my devices are all still offline and unusable. I suspect the IP or something was blocked. I am wondering if it has do with this integration? I had someone from outside my network test the integration login and it triggered the email verification to me. Was this ever encountered before?

@yolani
Copy link

yolani commented Jan 15, 2023

The integration is still working for me, but I get the same exceptions about once or twice every hour. This is "new" since the last 2 updates.
Maybe a timeout calling the rest API could also be made a "warning" if it doesn't occurred periodically?

@wila91
Copy link

wila91 commented Jan 15, 2023

updated little after 16 and its been unstable after that. All the white is unavailable. When i woke up i reloaded the integration.

2023-01-15 122627

@dochodges
Copy link

dochodges commented Jan 16, 2023

Could you provide me some logs?

@humbertogontijo

This is all it shows: 2023-01-14 23:11:58.295 DEBUG (MainThread) [custom_components.roborock.config_flow] Requesting code for Roborock account

then i get this error screen in the pop up

2023-01-14_22-57-29

Happy to run or pull whatever you need, but it can't get past that first part and the logs are pretty light. I did have it up and working a few days ago tho, if that is helpful.

Home Assistant 2023.1.4

UPDATE It seems that my Roborock app no longer works on Wifi (but will on cellular). However, my devices are all still offline and unusable. I suspect the IP or something was blocked. I am wondering if it has do with this integration? I had someone from outside my network test the integration login and it triggered the email verification to me. Was this ever encountered before?

@humbertogontijo
It seems I have the same issue. Ive been working to diagnose this like crazy. No connection through pfSense but swapping pfSense for a different router solved the issue. Still dont have a solution but I welcome any input on the matter. You can follow along my troubshooting methods at the link below. Should have a bunch of good information to help source the problem. I dont think this is an issue with the integration itself but possible a change in the app/servers. I would love some support as me and the super helpful guy on the forum are running out of ideas.. If anyone is able to solve why they cannot connect over wifi please let me know and update it as I have been pulling my hair out trying to solve this.

https://forum.netgate.com/topic/177133/pfsense-blocking-roborock-app/30

@jmbrown79 by chance are you running pfSense or OPNsense?

@shred86
Copy link
Contributor

shred86 commented Jan 16, 2023

@dochodges Just read through your thread on pfsense - seems very strange. Some questions I had:

  1. When running pfSense, is the Roborock vacuum even being assigned an IP address? Are you attempting to re-connect the vacuum to Wifi when you swapped pfSense back in?
  2. I realize you mentioned you reset pfSense to factory defaults, but was your vacuum on a separate VLAN before you reset pfSense?
  3. Does the Mi Home app work?

My setup still seems to be working but I'm running Sophos XG (router/firewall) with an S7 MaxV on a separate VLAN. I have an explicit firewall rule that allows the S7 to access only DNS, HTTPS, MQTT and NTP services.

Roborock S7 MaxV firmware: 02.56.02
App Version: 4.0.12
Plug-In Version: RR_MDX_2752

@aspenview
Copy link

also having an issue with the last few updates. I'm not sure when it worked last but now my logs are showing:
Log:
This error originated from a custom integration.

Logger: homeassistant.config_entries
Source: custom_components/roborock/api/api.py:66
Integration: Roborock (documentation, issues)
First occurred: 9:53:51 AM (1 occurrences)
Last logged: 9:53:51 AM

Error setting up entry [removed email] for roborock
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/config_entries.py", line 382, in async_setup
result = await component.async_setup_entry(hass, self)
File "/config/custom_components/roborock/init.py", line 76, in async_setup_entry
home_data = await api_client.get_home_data(user_data)
File "/config/custom_components/roborock/api/api.py", line 441, in get_home_data
home_id_response = await home_id_request.request(
File "/config/custom_components/roborock/api/api.py", line 66, in request
async with session.request(
File "/usr/local/lib/python3.10/site-packages/aiohttp/client.py", line 1138, in aenter
self._resp = await self._coro
File "/usr/local/lib/python3.10/site-packages/aiohttp/client.py", line 466, in _request
with timer:
File "/usr/local/lib/python3.10/site-packages/aiohttp/helpers.py", line 721, in exit
raise asyncio.TimeoutError from None
asyncio.exceptions.TimeoutError

@dochodges
Copy link

dochodges commented Jan 16, 2023

o access only DNS, HTTPS, MQTT and NTP services.

Roborock S7 MaxV firmware: 02.56.02 App Version: 4.0.12 Plug-In Version: RR_MDX_2752

Since the issue started the vacuum is also no longer connected to the network so it does not have an IP address when trying to use roborock app. Currently I cannot even log into the roborock app to do anything as I am greeted with a network error just trying to login. There was never any Vlans setup or rules for the robot at all. It was/is about as basic of a setup as you can make. I have a 2.4ghz SSID configured for IOT devices but neither the phone nor PC will connect to roborock servers to even log in no matter which network I connect to and the PC is hardwired not wifi.

Mi Home works just fine and I have robot connected and running via that app without any issues at all. Its something specific to the roborock app.

@shred86
Copy link
Contributor

shred86 commented Jan 16, 2023

o access only DNS, HTTPS, MQTT and NTP services.
Roborock S7 MaxV firmware: 02.56.02 App Version: 4.0.12 Plug-In Version: RR_MDX_2752

Since the issue started the vacuum is also no longer connected to the network so it does not have an IP address. Currently I cannot even log into the roborock app to do anything as I am greeted with a network error just trying to login. There was never any Vlans setup or rules for the robot at all. It was/is about as basic of a setup as you can make. I have a 2.4ghz SSID configured for IOT devices but neither the phone nor PC will connect to roborock servers to even log in.

Mi Home works just fine and I have robot connected and running via that app without any issues at all. Its something specific to the roborock app.

Hm, that's odd the DHCP service isn't even assigning a local IP address to the device. I mean, nothing is going to work at that point. Have you tried maybe assigning a static IP address through the DHCP service in pfSense? I'm assuming you've tried a factory reset on the Roborock? I'm wondering if maybe there's something weird with the network configuration on the device itself. Definitely a weird issue considering it was working previously... 😕

Edit: I believe the apps work slightly different. One thing I noticed is the Mi Home app connects using both their servers and locally to the device whereas the Roborock app connects to the device through their cloud MQTT service on port 8883 (in addition to TCP connections on 443). I don't believe the Mi Home app ever used MQTT since I explicitly had to allow that on my firewall to get the Roborock app to work. I haven't used pfSense or OPNsense for a while but I wonder if there's something weird when it comes to MQTT?

I also noticed my Sophos XG logs shows the MQTT connections with the Roborock MQTT broker as "SSL Traffic over Non-SSL Ports".

@dochodges
Copy link

Well one thing that has me stumped is really the vacuum itself has nothing to do with the equation. Without the vacuum I should still be able to log into my account via the app or connect my account via this integration. That said the MQTT broker does sound like a promising path and the difference between the app could identify where freebsd is causing it to fail and block connection. Thats very interesting. I wish I knew more about the ins and outs of routing as that seems like something that could be fixed if I knew how haha

@humbertogontijo
Copy link
Owner

humbertogontijo commented Jan 17, 2023

@dochodges Starting with the basics. Is your router resolving DNS euiot.roborock.com? (Which is the default base url to discover the real api to be used based on your account country). And, if your account from US, is it also solving usiot.roborock.com ?

@dochodges
Copy link

dochodges commented Jan 17, 2023

@dochodges Starting with the basics. Is your router resolving DNS euiot.roborock.com? (Which is the default base url to discover the real api to be used based on your account country). And, if your account from US, is it also solving usiot.roborock.com ?

Thank you for the reply! We are definitely on the right track here. Euiot resolved but usiot did not. Switching to lte boom both resolved. Not quite sure what this means but I think we at least narrowed down the culprit!

Edit: I did a dns lookup and it does seem to get resolved but when I type the EUiot into a web browser I get a white page and when I type the USIot I get a network error page

@dochodges
Copy link

Image of issue

this is what I get when searching both the US and EU addresses

@humbertogontijo
Copy link
Owner

@dochodges I can only suggest you to use another DNS server other than the one you are using

@dochodges
Copy link

@dochodges I can only suggest you to use another DNS server other than the one you are using

Sorry I misspoke before according to the dns lookup the dns is resolving properly but if you check the link above the usiot gives a server stopped responding error while the EU does not. On LTE however the usiot is reachable. I’m still learning all the lingo and took that as not resolving but technically it is according to the dns lookup.

@dochodges
Copy link

Image of issue

this is what I get when searching both the US and EU addresses

here are the results of the dns lookup

DNS lookup results

@humbertogontijo
Copy link
Owner

Oh, yes. The lookup looks correct.
Are you using a vpn in this pfSense router? Normally requests from a cloud server are blocked in servers

@dochodges
Copy link

Oh, yes. The lookup looks correct.
Are you using a vpn in this pfSense router? Normally requests from a cloud server are blocked in servers

No VPN and actually reverted everything to a clean install so base configuration of pfsense. Also tried installing opnsense on for the same results. Something with the FreeBSD doesn’t like something but can figure out what yet.

@humbertogontijo
Copy link
Owner

humbertogontijo commented Jan 17, 2023

This is just a regular HTTP request, it intrigues me that a router can be affecting it other than a dns or vpn issue. Any chance that the router have access to the internet but the lan don't?

@jmbrown79
Copy link
Author

Unfortuantely, I am not. I am running just 2 unifi nanohds and the USG 3p, but have turned off all firewalls and security. I tried difference devices with same issue as well as this integration. i even booted up an old iphone 11 with a much older version of the RR app and it still won't connect. The unifi equipment seems to be the issue for me but i don't get why because i had running for years and i don't see any updates to me unifi equipment. Could RR servers possibly be blocking us at a hardware level after this integration due to seeing and it connect from abnormal place? I am grasping at straws here trying to resolve this because i walked in one day and saw the integration was offline and my map was gone then never was able to get back into my app on my wifi. Reading thru your comments, it sounds like we have same issue acting the same way which is strange and makes me think RR servers are blocking us. I am not a network guy but is there a way to see if the app and router are actually sending out the call to the RR servers vs it being an issue with network settings or internal hardware blocking something?

@dochodges

@mprspliid
Copy link

mprspliid commented Jan 17, 2023

Like jmbrown79, i think its Roborock who are blocking us.

@timbotetsu
Copy link

timbotetsu commented Jan 17, 2023

same issue here, I found ver.0.0.23 could create a huge amount of mqtt connections to RR server, then I been blocked for a few hours.

I can reproduce this by:

  1. install ver.0.0.23
  2. when device is offline, click configure -> reload
  3. a huge amount of mqtt connections created
  4. be blocked

after upgrading to ver.0.0.26 this issue was gone.

@dochodges
Copy link

dochodges commented Jan 17, 2023

The one thing leaving me confused is why when I swap routers does it all of a sudden allow me to connect. If we are IP banned, mac address banned or hwid banned wouldn’t that not be the case?

Edit: now that I think of it if the ban is linked to the hwid or max address of the router itself then this could very well be the case and everything begins to make sense. The question then becomes how do we get unbanned? Luckily a new pc to run pfsense is only like $100 so cheaper than the $1200 robot

@Senater
Copy link

Senater commented Jan 17, 2023

I have the same issue, roborock app is not working anymore buth i now use the xihome app.

Edit; roborock app is working again, think it was a ban for a day or somthing

@dochodges
Copy link

I have the same issue, roborock app is not working anymore buth i now use the xihome app.

Edit; roborock app is working again, think it was a ban for a day or somthing

Unfortunately mine has been this way for near a week now.

@dochodges
Copy link

So looks like I came home today to try out swapping NICs to see if it was a MAC address ban or force a different IP and it’s resolved. I can now log into the app no problem. Looks like we were banned from roborock after all. Knowing this can we confirm it’s safe to use the integration and the excess calls to the server are resolved? It appears so based on the post above but want to confirm

@nijhawank
Copy link

So did you have to change the NIC/Mac to resolve it or the ban was temporary and therefore got lifted on its own?

yes, it is important to know that the integration would not keep repeatedly trying the Roborock servers and get us locked out or worse have the complete integration locked out.

@dochodges
Copy link

So did you have to change the NIC/Mac to resolve it or the ban was temporary and therefore got lifted on its own?

yes, it is important to know that the integration would not keep repeatedly trying the Roborock servers and get us locked out or worse have the complete integration locked out.

The Ban was lifted on its own. I got home from work and was planning to make the change but tried it first and it was just working.

@humbertogontijo
Copy link
Owner

humbertogontijo commented Jan 18, 2023

If that's true, it's concerning. I myself have never had such a "ban". I suggest removing any automation that reloads the integration (which will fetch the home data for each reload)
Unfortunately, I cannot guarantee anyone that a ban is out of question. The only thing I can promise is to improve the integration to avoid it.

@jmbrown79
Copy link
Author

I can confirm that mine came back online today and i can access via the app with no issues. This has to be RR block things at a hardware level. It seems that like @timbotetsu mentions it very likely the huge amount of api call via mqtt may be blocking blocking us. I too want to make sure this is resolved before reinstalling this (which I LOVED BTW). @humbertogontijo is there any way you may be able to verify this isnt generating the high volume of calls it was doing in previous versions? Thanks for you awesome work BTW, I know we've all be quick to talk about the issues but wanted to make sure we also show some love as well.

@jmbrown79
Copy link
Author

Also, just a note to possibly help with troubleshooting in the future with this issue would be to have the error message call out that the issue is with the server not responding or something related to that so when it pops up we can provide some better help to you for troubleshoot what cause the integration failing.

@jmbrown79
Copy link
Author

If that's true, it's concerning. I myself have never had such a "ban". I suggest removing any automation that reloads the integration (which will fetch the home data for each reload) Unfortunately, I cannot guarantee anyone that a ban is out of question. The only thing I can promise is to improve the integration to avoid it.

@humbertogontijo I did not have any automations setup with mine yet. I only loaded a lovelace card into my dashboard. Is there any way to see if its making a lot of calls so i can check it over the next week or so and avoid doing whatever it driving it?

Thanks for your continued support and development!!

@jmbrown79
Copy link
Author

same issue here, I found ver.0.0.23 could create a huge amount of mqtt connections to RR server, then I been blocked for a few hours.

I can reproduce this by:

  1. install ver.0.0.23
  2. when device is offline, click configure -> reload
  3. a huge amount of mqtt connections created
  4. be blocked

after upgrading to ver.0.0.26 this issue was gone.

How did you see this? I would like to monitor mine to make sure.

@nijhawank @dochodges @Senater have you tried reloading the integration without any further issues?

Thanks!

@fcrozat
Copy link

fcrozat commented Jan 19, 2023

I still have the issue with 0.0.27. I disabled the integration yesterday and I'm still blocked today (I disabled it again, will wait more).

@jmbrown79
Copy link
Author

jmbrown79 commented Jan 19, 2023

I still have the issue with 0.0.27. I disabled the integration yesterday and I'm still blocked today (I disabled it again, will wait more).

Have you been blocked since previous versions? If so, what version did it start with?

@shred86
Copy link
Contributor

shred86 commented Jan 19, 2023

If you can provide logs, it would help with troubleshooting. You’ll need to enable debug logging for the integration to get more detailed information by adding this to your Home Assistant configuration.yaml:

logger:
  default: info
  logs:
    custom_components.roborock: debug

It might also help to provide some additional information like what type of vacuum you have, how many, are they shared devices or directly added to the Roborock app, anything that should be noted for your setup, etc.

@jmbrown79
Copy link
Author

logger:
  default: info
  logs:
    custom_components.roborock: debug

I have added that to my config, but not enabled the integration yet. I am running 2 s7's and a s7 maxv ultra. They were all added to the RR app directly, but i do share then with my wife on her phone which also runs the RR app. Not sure what other info is relevant, but I only had it enabled via the integration and the loaded 2 of the maps via the lovelace card on ym dashboard. Actually during that time i didn't even run the vacuums via the app or the HA integration. I had no automations, or anything. I came home one day and saw there was an error on the dashboard and tried to fix, reloaded, reinstalled etc then posted here. I found out later that day that i couldnt use the app at all unless i turned off the wifi. I home that is helpful @shred86 If there is anything else i can post (besides the logs) I am happy to do so. I will try reloading the app to see if it works again with the log enables and if I get locked out again i can share those logs.

@Dennisd80
Copy link

Dennisd80 commented Jan 22, 2023

I have the same issue.

When i reload the intergration it will stay working for about 2 minutes after which the connection seems to timeout and won't come back again.

Traceback (most recent call last): File "/config/custom_components/roborock/camera.py", line 221, in async_update await self._handle_map_data() File "/config/custom_components/roborock/camera.py", line 294, in _handle_map_data map_data = await self.get_map( File "/config/custom_components/roborock/camera.py", line 267, in get_map response = await self.async_map() File "/config/custom_components/roborock/camera.py", line 235, in async_map map_v1 = await self.send(RoborockCommand.GET_MAP_V1) File "/config/custom_components/roborock/device.py", line 90, in send return await self.coordinator.api.send_command( File "/config/custom_components/roborock/api/api.py", line 261, in send_command await self.validate_connection() File "/config/custom_components/roborock/api/api.py", line 222, in validate_connection await self.async_reconnect() File "/config/custom_components/roborock/api/api.py", line 188, in async_reconnect await self.connect() File "/config/custom_components/roborock/api/api.py", line 212, in connect raise RoborockException(err) from err custom_components.roborock.api.exceptions.RoborockException: Failed to connect.

`custom_components.roborock.api.exceptions.RoborockException: Failed to connect.

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
File "/config/custom_components/roborock/camera.py", line 221, in async_update
await self._handle_map_data()
File "/config/custom_components/roborock/camera.py", line 294, in _handle_map_data
map_data = await self.get_map(
File "/config/custom_components/roborock/camera.py", line 267, in get_map
response = await self.async_map()
File "/config/custom_components/roborock/camera.py", line 235, in async_map
map_v1 = await self.send(RoborockCommand.GET_MAP_V1)
File "/config/custom_components/roborock/device.py", line 90, in send
return await self.coordinator.api.send_command(
File "/config/custom_components/roborock/api/api.py", line 261, in send_command
await self.validate_connection()
File "/config/custom_components/roborock/api/api.py", line 222, in validate_connection
await self.async_reconnect()
File "/config/custom_components/roborock/api/api.py", line 188, in async_reconnect
await self.connect()
File "/config/custom_components/roborock/api/api.py", line 212, in connect
raise RoborockException(err) from err
custom_components.roborock.api.exceptions.RoborockException: Failed to connect.`

@Dennisd80
Copy link

Removing offline devices from the roborock app seems to fix the issue

@Lash-L
Copy link
Collaborator

Lash-L commented Apr 11, 2023

Problem is seemingly resolved - closing for now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests