cagnulein / QZCompanionNordictrackTreadmill

Companion App of QZ for Nordictrack Treadmills and Bikes
https://www.qzfitness.com/
GNU Affero General Public License v3.0
47 stars 12 forks source link

Support for pre-2016 iFIT firmware (Android 2.2-based)? #53

Closed makkonen closed 1 year ago

makkonen commented 1 year ago

This may be an unreasonable amount of work for a very slim userbase, so I totally understand if it's not worth it.

I just picked up a NordicTrack VR25 Recumbent Bike. It has an Android tablet built in with access to iFit, so I had hope that QZ would connect. However, when I dug into the software, it was not like any of the screenshots of iFit I had previously seen. Turns out accessing privileged mode was impossible... but also unnecessary, since a simple gesture on the settings screen will dump you to the android home screen. Yay!

Unfortunately, from there, things get disappointing. As mentioned, the underlying Android firmware is 2.2 (significantly more ancient than I expected -- I thought this device was released in 2018, but I probably got that wrong). On top of that, it looks like a pretty stripped down build, and while I can access Settings, Spare Parts, and Dev Tools, I can't actually find a way to enable ADB.

But no matter. I served up the QZ Companion APK via a local http server (the browser is so old that it can basically load no websites that use SSL, i.e. GitHub). But after downloading, I just get "Parse error: There is a problem parsing the package." I assume this means that the apk isn't built for the 2.2 target, but that's about as far as my understanding goes.

I don't know if IFit on this generation of machine even uses any of the same protocols. Is it possible to backport to this Android version? Has anyone else encountered these issues?

Let me know if there's anything I can do to make this easier to investigate. Thanks!

cagnulein commented 1 year ago

hi @makkonen did you try this method first Zwift for all the Proform bikes! https://youtu.be/QuItFYKjq_Q ?

makkonen commented 1 year ago

Nope! You're a wonder! I saw the NordicTrack 7950 IP entry, but didn't think to try that first (and didn't even consider the Proform TDF IP entry, but it seems to be about the same) -- it connects and reports nearly everything (HR and resistance seem to be missing). I'll open an issue on the main project for that. Thanks!

cagnulein commented 1 year ago

great! let me know!