How to set up a Hunter fan Wifi control by decompiling the app

Update I made an open source web/android app that can do this for you. Note you’ll still need the SimpleConnect app to connect the fan to wifi.

I got a hunter fan recently that was supposed to be controllable via an app called SimpleConnect. Looking at the reviews, it doesn’t work. It gets stuck on the email verification step. You get an email link that opens in the app and does nothing.

I decided to inspect the apk file with dex2jar and JD-GUI. All the confirm account step actually has to do is send a PUT request to a url with a token from the email. No need for an app at all really.

Confirming the account

To confirm the email sign up and get the email link. It should look something like https://app-launcher.aylanetworks.com/launch?custom_url=aylacontrol://user_sign_up_token?token=XXXXXXXX

All we need is the token. The app is supposed to then make a PUT request to https://user.aylanetworks.com/users/confirmation.json with a payload of

{
	"confirmation_token": "XXXXXXXX"
}

You can do this yourself in postman. Just enter the payload in the Body tab as raw JSON.

fan_confirm

You should get a response with the same personal data you entered before. It should include approved: true.

Adding the fan

The next issue you’ll face is that the QR code is printed too small with very poor quality. The app also seems to set the camera in some sort of poor quality mode. I tried a couple devices and eventual got the code to scan with a Pixel C tablet.

Pretty amazing Ayla Networks made such a worthless app. No testing at all. But what do you expect with internet of things devices.

Google Assistant Integration

It’s not that hard to set up, but it’s not well documented. You just go here to set it up after setting up the simple connect wifi app. It’s a bit clunky saying “tell simple connect to do something” but it works.

By David

I am a supporter of free software and run Burke Software and Consulting LLC. I am always looking for contract work especially for non-profits and open source projects. Open Source Contributions I maintain a number of Django related projects including GlitchTip, Passit, and django-report-builder. You can view my work on gitlab. Academic papers Incorporating Gaming in Software Engineering Projects: Case of RMU Monopoly in the Journal of Systemics, Cybernetics and Informatics (2008)

4 comments

  1. Having the same Verify Email problem with the Hunter SimpleConnect app and no response from Hunter Support. How can they have a product like this that doesn’t work? Isn’t anyone using it or is it just my machine? How can I get the Verify email to work without using their app?

    Like

  2. Replying to my previous comment…..
    I signed up for the free Postman account and was able to follow your process by sending the raw JASON Put with my token and “lo and behold” it worked. My email was verified and I’m able to login to the App on my iPhone. Now I just need the Fan to arrive to see if it actually controls the Fan.
    Thanks for the great post!!

    Like

    1. I’m glad this post is still helping people, but sad it’s still necessary. If you haven’t yet, check out the web app I made to control the fan https://gitlab.com/burke-software/simple-fan-control/ It can do everything except connect it to wifi – because it’s really just a wrapper around the API. I can’t confirm if it will work with iOS because I suspect the iOS SimpleConnect app uses a different key. If someone could find and send me that key, I’d be happy to add it as an option. See https://gitlab.com/burke-software/simple-fan-control/-/issues/9

      Like

Leave a Reply to David Cancel reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s