bmartin5692 / bumper

A standalone and self-hosted implementation of the central server used by Ecovacs vacuum robots.
GNU General Public License v3.0
301 stars 50 forks source link

Robot not showing up in ECOVACS HOME app (Android) #69

Closed freggala closed 4 years ago

freggala commented 4 years ago

I eventually managed to have the Ecovacs HOME app connect with bumper (thanks for your support see #65), but now I've got a new problem. It seems the OZMO 950 connects to bumper. It even seems to send event messages (e.g. when I pick it up from the floor, or when the dustbin is removed,...) to bumper. confserver (via HTTPS port 443) reports the bot: {"bots": [{"class": "yna5xi", "company": "eco-ng", "did": "a1406f11-8347-467e-b427-bd9db848c637", "name": "E0001279619603622747", "nick": "", "resource": "MhP5", "mqtt_connection": true, "xmpp_connection": false}], "clients": [{"userid": "dlzjucy54a7d7d85", "realm": "ecouser", "resource": "GLB82514e95", "mqtt_connection": false, "xmpp_connection": false}, {"userid": "dlzjucy54a7d7d85", "realm": "ecouser", "resource": "GLB6c726759", "mqtt_connection": false, "xmpp_connection": true}], "helperbot": [{"state": "connected"}], "mqtt_server": [{"state": "started"}, {"sessions": [{"count": 3}, {"clients": [[{"client_id": "helper1@bumper/helper1"}, {"state": "connected"}], [{"client_id": "dlzjucy54a7d7d85@ecouser/GLB6c726759"}, {"state": "disconnected"}], [{"client_id": "a1406f11-8347-467e-b427-bd9db848c637@yna5xi/MhP5"}, {"state": "connected"}]]}]}]}

I think this issue is related to #50 .

Describe the bug After starting the app (respectively supplying login credentials at first start) Data submission error. Please try again (,) is reported for just a second or even less. Then comes the screen where it says "You don't have and ECOVACS robots." Refreshing the list returns very quickly (<1s), but doesn't change anything. Hitting "Add a Robot" leads to "The request timed out. Please try again."

To Reproduce Steps to reproduce the behavior:

  1. Install and set up bumper. Install the bumper CA certificate on Android so that the app can access it.
  2. Wait until / make sure that the robot has connected to bumper.
  3. Open the Ecovacs HOME app and supply credentials when asked.
  4. On "you don't have any ECOVACS robots." swipe down to refresh.

Expected behavior From my understanding robots logged into bumper (how exactly do I determine, a robot is on line?) should appear right away in the app. No errors should appear.

Smartphone:

Vacuum:

bmartin5692 commented 4 years ago

Could you provide the confserver and mqttserver logs?

aharter commented 4 years ago

@freggala & @bmartin5692: I ran into the same issue and have a solution for it. However, I'm not able to create a PR right now. Will try to do so in the next few hours.

freggala commented 4 years ago

Could you provide the confserver and mqttserver logs?

Of course. The logs turned out a bit lengthy, since I was interrupted by something else. The robot (192.168.11.9) connects at about 18:11:55 for the first time. (Please don't be confused by the different subnets 192.168.11.0 and 192.168.10.0 for the robot, the server and the clients. Routing works great)

confserver.log mqttserver.log

@freggala & @bmartin5692: I ran into the same issue and have a solution for it.

How did you solve it?

bmartin5692 commented 4 years ago

@freggala - Thanks for the logs. It definitely looks like the bot is connecting fine and providing status messages.

It looks as if your app is logging in fine and requesting the list of bots - which returns your connected bot. I'm not sure why the response isn't being loaded by the app to show you the list. I'm curious what @aharter found that could address this.

aharter commented 4 years ago

The fix itself is pretty anticlimactic. As written in the PR, it used to contain more changes. Looking at it now, I could have written it in that message, even though I was on my phone. Anyway, thanks for your patience.

bmartin5692 commented 4 years ago

@freggala - I just merged this, let us know if it fixes it for you.

freggala commented 4 years ago

I can confirm, the change made the robot show up in the app. Thank you very much!