bmartin5692 / bumper

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

Ecovacs Home 2.4.4 for Android shows Java error on login #138

Open nauman73 opened 1 year ago

nauman73 commented 1 year ago

Describe the bug Ecovacs Home 2.4.4 for Android shows Java error seen in attached screen capture ("Value Y of type java.lang.String cannot be converted to JSONObject(null,-1)") when I click the Log In button. I do not face this problem when using Ecovacs Home 2.0.0 on same Android device.

To Reproduce Steps to reproduce the behavior:

  1. Install Ecovacs Home 2.4.4 on Android device. Device should already have bumper CA certificate. In my case I am using Android 6.0.
  2. Run the app and accept the agreements/policy statements. Login screen will display.
  3. Fill the email and password fields and click Log In button.
  4. Java error appears, and app does not login.

Expected behavior Expect the app to login and proceed to list of robots.

Screenshots Screenshot attached. App_Error

Desktop (please complete the following information):

Smartphone (please complete the following information):

Vacuum (please complete the following information):

Additional context I am using old device so I can install bumper certificate on Android 6.0 without rooting my device.

lehoangnb commented 1 year ago

Change this json response value to "value": "{\"publicKey\":\"public key or something\"}" bumper_confserver_v1_private_common.py

nauman73 commented 1 year ago

@lehoangnb : Thanks for your response. Should I put the literal string "public key or something" or should I replace it with the public key of the bumper certificate? I am using docker image so I am not sure how to propagate this change to docker image.

lehoangnb commented 1 year ago

@lehoangnb : Thanks for your response. Should I put the literal string "public key or something" or should I replace it with the public key of the bumper certificate? I am using docker image so I am not sure how to propagate this change to docker image.

I have decrypted the packet from ecovacs app to the server using mitm, I see that is a random string like md5. Just change the file and rebuild docker image If u dont want to change anything, use older version of ecovacs app (2.1.3 or below)