growatt_api_client icon indicating copy to clipboard operation
growatt_api_client copied to clipboard

new server doesn't work

Open tbilan opened this issue 4 years ago • 5 comments

Growatt created a new server because the old one was getting overloaded (at least that's what they told me). The new server is server-us.growatt.com. The old server is server.growatt.com. I can pull data from accounts on the old server but I'm unable to pull data from the new server with an account that is on the new server. I changed the URL to server-us.growatt.com in the init.py but that didn't seem to work.

tbilan avatar Feb 12 '21 04:02 tbilan

Thanks for reporting this. Can you still use the mobile app? How would the app know to connect to the other server?

Sjord avatar Feb 15 '21 07:02 Sjord

I can still use ShinePhone and it only asks for a login. It does not ask for what server I'm on so they must have some kind of login database that points it at the right dataset.

tbilan avatar Feb 15 '21 15:02 tbilan

I was able to get this to work by changing the URL to http://server-us.growatt.com, instead of https://

This means this "US" server is passing traffic to and from alicloud without any encryption, which has it's own red flags.

openincident avatar Apr 15 '21 18:04 openincident

Also having trouble with login using the package. Website server.Growatt.com does work, so does the Mobile App.

I managed to debug the login using the browser:

# Note: new location = 'login' 
# Note: no hashed password!
# Note: account instead of username

response = self.session.post(
            self.get_url("login"),
            data={"account": username, "password": password},
        )

Lets see if I can make the rest of the code work...

abij avatar May 12 '21 19:05 abij

It seems that the app determines the server from the username, using the following request:

https://server-api.growatt.com/newLoginAPI.do?op=getServerUrlByName&userName=username

Sjord avatar Aug 29 '21 13:08 Sjord