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)

9 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

  3. Hiya, just wondering if this code is still being updated? I tried to create an account but it didn’t work. 😦 Thanks!

    Like

    1. I still use it personally, however I found it too difficult to update the NativeScript app. They completely changed web+app projects and so it would require a rewrite. I would use Flutter if doing it today. Merge requests are welcome. The Android app should work. I just moved the web app to https://simplefancontrol.burkesoftware.com because the simplefancontrol.com domain is expiring and this project doesn’t make any money.

      Like

      1. Thanks, and sorry for the delay in my reply. I think maybe I’m expecting this app to do more than it can. The problem I’m running into with my fan is that I can’t even add the device to the simpleconnect app. It gets to a point where it’s trying to retrieve a token from the fan and can’t do it and their tech support hasn’t been super helpful. If you happen to know any workarounds for that step I’d love to hear it. I’m also wondering whether this is a completely different thing, because I don’t see the name Ayla anywhere and there’s no option to actually use the QR code, instead I enter the PIN that’s printed next to the QR code. Sigh.

        Like

      2. I don’t know much about how the app connects the fan to wifi. Ayla is a iot company, their name wouldn’t appear anywhere except in the app’s source code. I remember I had to scan some QR code and it was very small and it took some time to get it to scan. If it’s using simpleconnect, then it probably uses Alya. Maybe the QR didn’t work for others and they switched to using the PIN instead.

        If you think you succeeded in getting the fan on wifi and just need to add it to the Ayla account, that might be possible through the API. If you register at https://developer.aylanetworks.com/ you can read the developer docs. It will probably take more time than it’s worth but that’s how I worked around the confirm email issue. If you need the hunter fan developer key, you can find it unencrypted in their android app or look in the fan control source code for it. That key won’t work with the ios app though as some folks have pointed out. Registering the fan with one breaks it for the other. I suspect they were supposed to use the same key but used different ones.

        Like

      3. Thanks! I ended up spending 40 minutes on the phone with a very helpful support person from Hunter and discovered that the problem was that the fan had extremely old firmware on it (despite it being brand new). He was able to figure out how to get it online enough to be able to send multiple firmware updates to it and now we’re in business.
        I also asked if there were any plans to update the app anytime soon, and he said that they’re in the process of doing a major update that will come out next year where they’re working with Amazon, Google, Apple etc. and it will integrate with the whole Matter standard/protocol. So that’s encouraging!

        Like

Leave a comment