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

New Aerogarden App -> new API? #36

Open
doctorkb opened this issue Jun 26, 2024 · 10 comments
Open

New Aerogarden App -> new API? #36

doctorkb opened this issue Jun 26, 2024 · 10 comments
Labels
help wanted Extra attention is needed investigation Further information is requested

Comments

@doctorkb
Copy link

I just received notice from Aerogarden today that they're launching a new app. Some of the older gardens (pre-2019) may not be compatible, which suggests to me they may be also revising the API.

Figured I'd let you know in case you didn't also receive the note.

More info here: https://aerogarden.com/learning/introducing-the-aerogarden-app.html

@dalinicus
Copy link
Owner

Hey, thanks for the heads up. I did see that.

We did just move over to the v4 api with 1.4.2 after the certificate expired on an older endpoint. So I'm guessing we should be good?

Just to be sure, I'll hook up the new app to a http proxy later tonight or this week and see if anything has changed.

@dalinicus dalinicus added the investigation Further information is requested label Jun 26, 2024
@doctorkb
Copy link
Author

Maybe we're in the clear, but this was concerning:
image

-- it seems that if your garden works with the old app, it won't work with the new, and vice versa.

@dalinicus
Copy link
Owner

I think what they actually mean by this is that the old app has been disabled and no longer works at all. Downloading the old app in a fresh emulator yields this message instead of the normal login.

image

@doctorkb
Copy link
Author

That makes sense... I'm seeing that now, too.

Also, I'm on 1.4.2 in HACS, but it seems to have broken overnight. Reloading the integration doesn't fix it -- but the data is very clearly incorrect:
image

@dalinicus
Copy link
Owner

Yeah, it looks like app4.aerogarden.com is now returning old data, possibly when they cut over to the new system. There's a new endpoint at app5.aerogarden.com with a completely different api backend... but I can't seem to get a proxy in between the app and the API because the new app doesn't appear to use the system certs for validation. So I have no idea what the new calls look like.

I might need some help with someone that knows a bit more about android/ios development that might be able to figure out what calls its making so we can replicate it.

@dalinicus dalinicus added the help wanted Extra attention is needed label Jun 28, 2024
@doctorkb
Copy link
Author

Sadly, I'm wondering if this isn't another Chamberlain MyQ situation...

@dalinicus
Copy link
Owner

honestly, same :(

@TheGAFF
Copy link

TheGAFF commented Jul 19, 2024

Disclaimer: AG janitor, these are my personal opinions:

  • Using the APIs is A-OK as long as your network requests don't resemble a data-hungry monster and stick to what a typical mobile app user would do, will probably be blocked by heuristics otherwise
  • The APIs aren't chained to just the app
  • All newer apps by default don't let you proxy HTTPS traffic and ignore user added root certificates (ex. Fiddler ). It will need to be added to the system root certs (requires rooting your phone) or you will need to use an emulator to bypass that security feature
  • There isn't an official public API, maybe some day

In other news, my Chamberlain garbage door is still disconnected from Google Home. 😭

@doctorkb
Copy link
Author

Chamberlain garbage door is still disconnected from Google Home

Pardon me, sir, but have you heard of our lord and savior ratgdo? https://paulwieland.github.io/ratgdo/#order 🙂

@samuel
Copy link

samuel commented Jul 19, 2024

The new app uses flutter. This post discusses someone getting around the certificate pinning on Android using Ghidra to patch the library: https://raphaeldenipotti.medium.com/bypassing-ssl-pinning-on-android-flutter-apps-with-ghidra-77b6e86b9476

I don't have time at the moment to try it, but throwing it out there in case someone wants to explore this option.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
help wanted Extra attention is needed investigation Further information is requested
Projects
None yet
Development

No branches or pull requests

4 participants