Giter Club home page Giter Club logo

qzcompanionnordictracktreadmill's Introduction

QZCompanionNordictrackTreadmill

Companion App of QZ for Nordictrack Treadmills & Bikes

Reference: cagnulein/qdomyos-zwift#815

QZ-Companion Installation

Authors: Al Udell and Roberto Viola

Updated: December 15, 2022

QZ and QZ Companion software development: Roberto Viola

QZ on Facebook - https://www.facebook.com/groups/149984563348738

Watch the accompanying Youtube video below for a quick overview of this guide.

Companion App of QZ for Nordictrack Treadmills & Bikes

Technical Overview: The QZ Companion app, when installed on your NordicTrack treadmill or bike, communicates live speed and inclination to the QZ app running on another device (e.g. Windows PC or laptop, Android phone or tablet, or iOS iPhone or iPad). QZ then communicates this information to Zwift running on a 3rd device (e.g. Windows PC or laptop, Android phone or tablet, or iOS iPhone or iPad). A 2nd device could be used to run both QZ and Zwift, eliminating the need for a 3rd device, as long as QZ runs in the background while Zwift runs in the foreground.

New Feature: QZ Companion now works with QZ to control the incline of your treadmill (auto-incline), and speed as well (auto-speed), or in the case of a bike, it automatically controls incline and resistance. For example, you can choose to have Zwift control your treadmill or bike incline as you run or cycle through virtual worlds; choose to have QZ make speed (or resistance) and incline changes as you progress through a Zwift workout, or, you can choose to load a GPX file in QZ and have the treadmill or bike follow the incline recorded in the file.

Disclaimer: We have tested this solution on several models of NordicTrack and Pro-Form treadmills and bikes and many are supported now. We began development on a NordicTrack Commercial 2950 (2021 model) treadmill with a built-in 22" touchscreen. Note that this solution should work on any iFit-enabled/iFit-embedded NordicTrack or Pro-Form treadmill or bike with built-in Android tablet. Refer to https://www.ifit.com/equipment/treadmills and https://www.ifit.com/equipment/bikes for available models. We are constantly adding QZ Companion support for more iFit-enabled/iFit-embedded NordicTrack and Pro-Form treadmills and bikes and will update this document as models are tested and confirmed to work.

Important: Please let us know if you get QZ Companion to work on your treadmill or bike so we can add it to the list of compatible machines.

A picture containing sport, exercise device Description automatically generated

NordicTrack Commercial 2950 (2021 model)

About QZ Companion:

  • This solution works on iFit-enabled/iFit-embedded treadmills and bikes. It transmits speed (or resistance) and inclination directly to Zwift. Also, auto-inclination and auto-speed (or auto-resistance) control works on most models of NordicTrack and ProForm treadmills and bikes.

  • The QZ Companion app always runs in the background on your treadmill or bike, using minimal memory and CPU.

  • QZ Companion will auto-start when the treadmill or bike is powered on. There is no need to enter the treadmill or bikes "privileged mode" after initial installation.

  • QZ Companion is not affected by Android or iFit updates. It continues to auto-start and run in the background after iFit and Android updates.

  • You can use flexible equipment startup sequences - e.g. start your treadmill or bike first, HRM monitor second, QZ app third, Zwift last, or change the sequence. QZ will always communicate with QZ Companion regardless of your startup sequence.

About QZ (QZ Fitness):

  • QZ is a cross-platform app (iOS, Android, Raspberry, Windows, and Mac) that acts as a native Bluetooth protocol bridge for many exercise machines (spin bikes, treadmills, bike trainers, rowers, and ellipticals) to FTMS (FiTness Machine Service protocol) Bluetooth for direct connection to Zwift and other compatible apps.

  • Wahoo Direct Connect (DIRCON) protocol was recently added to QZ in order to bypass Bluetooth connection drop-outs that are common during a bike or running race (Wifi and Ethernet is considerably more stable than Bluetooth).

About iFit: To workout in Zwift, you will need to logon to iFit on your treadmill in order to use manual mode. However, you do not need an iFit subscription to use the treadmills manual mode.

Installation Instructions:

QZ Companion can be installed in one of two ways. Both methods make no changes to the underlying Android or iFit structure and can be easily removed via an uninstall script or by doing a treadmill or bike factory reset.

Note: The first install method is strongly recommended if you can get an ADB connection established between a Windows PC and your treadmill or bike. The second method is provided for those who cannot get an ADB connection established, but is harder to troubleshoot if you encounter problems.

If you have USB debugging mode enabled and know your treadmill or bikes IP, you can skip to step 4.

  1. Factory reset the treadmill or bike. It is highly recommended that you factory reset your treadmill or bike before continuing. For example, a reset is performed on a NT C2950 treadmill by pressing in and holding the pinhole style reset button on in the left-side on the console while simultaneously turning on the treadmill with the power switch. I use a paper-clip to push the reset button in. The reset button must be released after 10 seconds of turning the treadmill on. Unfortunately, the reset button and power switch are far apart and may require two people to coordinate the reset. After the 10 second reset, the console will display the reset and progress animation. The reset usually takes about 5 -7 minutes on this treadmill. When it is done, iFit will prompt you do login and select your Wifi network. Note that reset may be done by pinhole or within the iFit settings, or some other way on your machine. Refer to your user manual to find out how.

  2. Enable Privileged mode. When you see the main iFit dashboard screen, tap on an area of white that doesn't activate anything (e.g. the top of the screen) 10 times, count 7 seconds, then tap on the same spot 10 more times. If done correctly, you will see the Privileged mode activation screen. Open the website https://getresponsecode.com and enter the first 6-digit code you see on your treadmill screen and click Submit. The website will provide a response code which you will enter in the treadmill or bike console via the onscreen keyboard. If done correctly, a message at the bottom of the screen appears confirming privileged mode is enabled, and the Android desktop will appear.

  3. Enable USB debugging. From the treadmill or bikes Android desktop, swipe up from the bottom of the screen to open the installed apps screen. Select Settings, System, Advanced settings, and About tablet. Take note of the treadmill or bikes IP address (e.g. 10.0.0.124), and also look for the Build number. Tap on the Build number 7 times. You will get a message at the bottom of the screen confirming Developer options is unlocked. Next, select the back button/arrow to return to the previous Advanced settings screen. Select Developer options and look for USB Debugging -- turn it on. Select Ok when the 'Enable USB debugging' prompt appears.

Graphical user interface, text Description automatically generated with medium confidence Enable USB Debugging on your treadmill

QZ Companion Installation Method 1: Over Wifi via an ADB script run from a Windows PC or Mac. Choose this method if you can successfully establish an ADB connection between treadmill and Windows PC.

  1. Install the QZ Companion app on your treadmill or bike. Download the QZ Companion installation package from this Github repository and extract it to your computer.

    If you are using a Windows PC: Go into the extracted folder, open the folder InstallPackage and run qz-companion.bat by either double-clicking it or running it from the command-line.

    If you are using a Mac: Go into the extracted folder and open the folder InstallPackage. Right click the file QZ-Companion-MacOS and select open OR navigate to this folder in Terminal and enter ./QZ-Companion-MacOS Important note: Double clicking this file will cause MacOS to throw a security warning, you must use one of the methods above.

    When prompted to enter the treadmill or bikes IP address, enter the same IP as noted in previous Step 3 and hit enter. The script will ping the IP address first to ensure it is reachable on the network, then proceed to open an ADB connection and install the QZ Companion app. When completed, the script will prompt you to press any key to reboot the treadmill or bike.

    Once rebooted, you will have iFit running in the foreground and QZ Companion running in the background. You need to bring QZ Companion to the foreground for a one-time setup. You should still have access to the Android system by swiping up from the bottom of the screen to see the Android navigation bar. If you don't see the navigation bar, you will need to enable Privileged mode again (see Step #3 above), however Privileged mode should be permanently enabled as part of the QZ-Companion.bat or QZ-Companion-MacOS installation script. The Android navigation bar displays 3 navigation controls: Back, Home, and App Overview. Hit the App Overview button and swipe over to QZ Companion. In the QZ Companion screen, select your specific exercise machine (e.g. "NordicTrack C2950"). Once again, swipe up from the bottom of the screen to display the Android navigation bar, select App Overview, and swipe over to iFit. Note that in some cases, you may need to reboot your treadmill or bike once more for the QZ Companion selection to work.

    Next, proceed to login to iFit. At this point, QZ Companion is running in the background and is ready to transmit treadmill speed (or resistance) and incline data to QZ.

    If it reads all 0's, try going to the treadmill's Settings > Apps > QZ Companion app > Permissions, and enabling all permissions.

Run QZ-Companion.bat or QZ-Companion-MacOS script on a WiFi connected computer

QZ Installation Method 2: Via the treadmill or bikes build-in web browser.

  1. To install the QZ Companion app on your treadmill or bike via the treadmill built-in web browser, you must first enable Privileged mode from the main iFit dashboard screen - see Step #3 above. Note that there is no need to enable USB debugging for this method. Next, from the treadmills Android desktop, swipe up from the bottom of the screen to open the installed apps screen. Select Browser.

1 - browser Open the treadmill or bikes build-in web browser

  • Enter the following short URL address – https://tinyurl.com/qz-companion. This link will download the latest QZ Companion APK to the browser download folder on your treadmill or bike.

2 - apk downloaded QZ Companion APK downloaded

  • Next, select the APK to start installation. You will get a warning message stating your tablet is not allowed to install apps from unknown sources. Rest assured, QZ Companion is safe to install. Select “Settings” which will bring you to a screen where you can toggle on “allow from this source” and confirm “do you want to install this application?”. QZ Companion will proceed to install. You will get a confirmation screen when done.

3 - unknown app 4 - allow from this source 5 - install confirmation 6 - app installed QZ Companion APK installation screens

  • Next, you need to bring QZ Companion to the foreground for a one-time setup. You should still have access to the Android system by swiping up from the bottom of the screen to see the Android navigation bar. If you don't see the navigation bar, you will need to enable Privileged mode again (see Step #3 above). The Android navigation bar displays 3 navigation controls: Back, Home, and App Overview. Hit the Home button to view the available app icons. Hit the QZ Companion icon to launch. In the QZ Companion screen, select your specific exercise machine (e.g. "NordicTrack C2950"). Once again, swipe up from the bottom of the screen to display the Android navigation bar, select App Overview, and swipe over to iFit. Note that in some cases, you may need to reboot your exercise machine once more for the QZ Companion selection to work. When the treadmill or bike is rebooted, you will have iFit running in the foreground and QZ Companion running in the background.

  • Proceed to login to iFit. At this point, QZ Companion is running in the background and is ready to transmit treadmill speed (or resistance) and incline data to QZ.

  • If you wish to have Zwift control incline of your treadmill or bike (auto-incline), and speed (auto-speed), or in the case of a bike, auto-resistance, you must first have Privileged mode and USB debugging turned on. Note that Privileged mode is permanently enabled as part of the QZ-Companion.bat or QZ-Companion-MacOS installation script in Method #1. However, for Method #2, unfortunately you must manually enable them first as they will get disabled on every treadmill or bike reboot. Once you have Privileged mode and USB debugging turned on, you must enable the onscreen treadmill speed and incline sliders; for a bike it is the onscreen resistance and incline sliders. To enable these sliders, start a manual workout. Once you see the manual workout screen, tap on any empty area of the screen. This will bring up the "Controls" option. Tap on Controls and you will now see the onscreen sliders on each side of the screen. Repeat the same procedure to disable the sliders if you don't need auto-speed/incline/resistance.

onscreen-controls NT C2950 screen with onscreen speed and incline sliders enabled

Now that QZ Companion is installed and running on your treadmill or bike, it’s time to configure QZ to communicate with QZ Companion.

  1. Configure QZ to communicate with QZ Companion. On your 2nd QZ device (Windows PC or laptop, Android phone or tablet, or iOS iPhone or iPad), open QZ and go to Settings. Expand Treadmill or Bike Options, Proform/NordicTrack Options, choose your treadmill or bike from the dropdown and enter the treadmill or bikes IP address under NordicTrack 2950 IP and hit OK. Exit and relaunch QZ to activate the change. If done correctly, QZ will display live data tiles to indicate it is communicating directly with QZ Companion on the treadmill or bike. Next in QZ, expand Experimental Features and turn on Enable Virtual Device, Virtual Device Bluetooth, and Wahoo Direct Connect. Exit and relaunch QZ again to activate the changes. Wahoo direct connect will now transmit the treadmills speed (or bike resistance) and incline data to Zwift via Bluetooth.

Enter your treadmill or bike IP address in QZ

Graphical user interface, text, application Description automatically generated

Turn on Enable Virtual Device, Virtual Device Bluetooth in QZ

Graphical user interface, text, application Description automatically generated Turn on Wahoo Direct Connect in QZ

  1. Start an iFit manual workout to confirm QZ Companion communication. From the main iFit dashboard screen on your treadmill or bike, select Manual workout. QZ Companion will immediately begin to transmit live speed (or bike resistance) and incline changes to QZ which will display in the live data tiles. At this point, you can take advantage of the many features of QZ while working out or simply use it to transmit data to Zwift.

QZ receiving live speed and incline from QZ Companion

  1. Finally, launch and configure Zwift to use the QZ Bluetooth device. Now that QZ is receiving live treadmill data from QZ Companion, Zwift can be configured to receive this data from QZ over Bluetooth. At the Zwift Paired Devices screen, under treadmill Run Speed, search and select Wahoo Tread device (this is QZ). Optionally select your Heart Rate and Cadence devices and proceed to start a Zwift workout. Zwift will receive live speed and incline data from your treadmill or bike via QZ and QZ Companion data link.

Select Wahoo Tread device as Run Device in Zwift

Graphical user interface Description automatically generated Start a Zwift workout and control speed from your treadmill or bike

The QZ Companion installation package (qz-companion.zip) contains:

  • QZCompanionNordictrackTreadmill.apk (QZ Companion Android app).

  • QZ-Companion.bat (batch script used to install QZ Companion via ADB on Windows).

  • QZ-Companion-MacOS (shell script used to install QZ Companion via ADB on MacOS).

  • QZ-Companion-simple.bat (alternative batch script to use if you wish to run the commands separately for debugging and troubleshooting purposes).

  • Uninstall-QZ-Companion.bat (batch script used to uninstall/remove QZ Companion).

  • All other files (adb.exe, AdbWinApi.dll, AdbWinUsbApi.dll, tee.exe) are required for the scripts. Do not delete them.

Troubleshooting:

  • The primary reason QZ Companion installation will likely fail is because your Windows PC can't communicate with the treadmill or bike IP address over your Wifi network. Ensure both devices are connected to the same Wifi network. The installation script will first attempt to ping your treadmill IP address. If this ping fails, you will need to troubleshoot the connection.

  • When executed, the QZ-Companion.bat installation script will generate a log file named QZ-Companion-log.txt. If communication fails or the app fails to install on your treadmill or bike, refer to this log to troubleshoot specific errors. You may be required to share this log to obtain technical support.

qzcompanionnordictracktreadmill's People

Contributors

adamburmister avatar brymon68 avatar bstoney avatar cagnulein avatar jfie5 avatar kodanen avatar sephzer avatar victorypoint avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

qzcompanionnordictracktreadmill's Issues

Apple TV gets no data

I have replaced my laptop with an Apple Tv to use for Zwift.
Zwift now connects to QZ quickly but no data comes through on Zwift even though qz does get data from the companion

Not connecting to Pro-form Pro 2000

I just installed QZ on my Pro-Form Pro 2000 today. I was able to install it using ADB and side load the app. I then installed the app on my iPad and entered the IP address under Settings-Treadmill Options-Proform/Norditrack Options-Proform IP. Unfortunately after closing and reopening the app and just says connecting and the values on the grids never change. Any ideas how to get it working?

S15i manual workout jumping between pause and workout

I set the QZ app on my S15i cycle to S22i (the default was other).
Zwift picked up Power Source, Cadence, and Controllable in connections.
During the manual workout, the S15i screen jumps between "pause" - like it is not picking up the rpm- and the normal workout screen - where it does pick up the rpm.
I suspect that it is because Zwift is trying to adjust the rpm on the bike (because 'controllable' was picked up in connections) - is that right?
Why would this be happening?

Request - T8.5s - Change speed and elevation from QZ

Please merge if there is an existing thread, was have talked about this before but lost track.

I have T8.5s

At the moment, with the X11i profile selected within the companion and this gives inputs to iFit, just not the correct movement.
The X coordinate is accurate but Y is not.

I'm not sure how to give you the correct movements for Y but happy to help.

Inline is from 0% to 12% in .5 increments.
Speed is from 1.0kph to 22.0kph in 0.1 kph increments.

It may be the controls are the same size, it just needs the size of the movement adjusted.

Appreciate your help with this.

Speed & incline control for QZCompanionNordictrackTreadmill on Commercial 2450

Hey there,

I installed the QZ Companion 3.2.31 via your instructions via ADB script which worked well.
data does come into the QZ app instantly and I can connect to zwift.

The one thing I can't seemed to figure out is how to enable th speed control / incline control over the app (and eventually zwift).
Is there further instructions which settings to enable in the app?

Happy to provide logs or anything you require to help with this

Nordictrack X22i

Had it installed and communicating, but for some reason now the android app wont connect to the treadmill anymore. I pushed the latest QZ via adb just now to see if I needed to reinstall the newest version and it still wont connect to it. I double checked the IP address as well. I set it up as the nordictrack 2950 in settings and it worked fine before. I thought I had iFit updates disabled, but maybe they got around it and did something? I also have the taskbar app installed to get around the home screen lockout.

Nordictrack t6.5si Speed and incline control

Hi,
I am not sure how to get the t6.5si to have the speed and incline control to be consistent from QZ. I have qz companion installed and it reports back the speed and incline to QZ, but I cannot get the treadmill to change speed/incline consistently from QZ. I'm not sure which treadmill to select from QZ companion, I've tried the t8.5s but I think the t6.5si does not have the same range for the speed and incline (0-10mph for speed and 0-10% for incline) so you might need to get coordinates for the tablet screen and have a specific one for the nordictrack T6.5si?

S15I

Hi there, I purchase the app with the hopes of installing on my nordictrack s15i bike. I’ve done all the steps to install it on the bike, but am not so clear as to where to place the IP address in the app as it’s built for the treadmill and I don’t see a spot for the bike.

Proform Pro 2000 partially works

I have followed the setup guide and installed the companion successfully, configured QZ on an iPad with the IP and see the tiles.
However, when starting a manual treadmill session the values do not change within QZ.

So close!

Old Treadmill/Android 2 compatibility

Trying to figure out if I can get the companion app installed on my old treadmill. It is an EPIC A35T (Made by ICON Fitness) around 2013. It is running iFit 2.18.8 (rolled back from the version of iFit that disabled wifi on the treadmill). The OS is Android 2.2.

I am able to connect it via USB. I modified the batch file to run the install file without connecting via wifi so it just installs over USB.

No worries if you can't, I realize it is a 10 year old treadmill. Just trying to figure out if I can tie it to the Peloton App and breathe a little more life into the old technology. I attached a zip file that has a folder of logs from the treadmill, a log of the attempted install, and the batch file I modified. Thanks!

QZ-Companion-log.zip

Nordictrack 2450

Hi - I installed on a 2450 Commercial. Data flows fine, but incline from QZ doesnt work (up and down buttons for incline and speed do not control the treadmill at all). Let me know how I can help enable it on this treadmill.

Also an aside - I was using an ipad as both the QZ device and for Zwift. It disconnected after 5 seconds from Zwift consistently. When I put the QZ app on an iphone and connected Zwift on the ipad to it it worked flawlessly.

S15i Zwift 'controllable' not connecting

I am struggling to get all the Zwift connections to work. It seems to work intermittently but it is anyone's guess if it will work when I switch on.

After multiple restarts of the bike, app, Zwift and even laptop, I could not get it working today.

Power and cadence connects easily but controllable does not, and if it is not connected then the other two do not get the data from the app.

Can you please help with what I can do to troubleshoot?

Nordictrack S15i QZ app not connecting

Hi there,

I followed your instructions below and installed the QZ companion app on my S15i bike after doing a factory reset. the install was successful.

However the app on my android phone does not connect to the bike - it does not pick up any Bluetooth devices even though I can see many Bluetooth devices in the normal Android interface.

I also tried to do the manual connection under advanced but the only option listed there is "wifi" - which is not one of mine

The companion app on the bike is set to "other"

Can you help please?

Auto Speed & Incline

Not really an issue but not sure where else to put this.

It would be really great if in addition to GPX files we could upload a csv or something to make our own workouts. eg:
Time | Incline | Speed (mph)
2:00 | 3 | 5
0:45 | 10 | 8
0:30 | 8 | 5
0:45 | 10 | 8
2:00 | 2 | 5
This would then just be a playbook for a workout that we can design ourselves.

Nordictrack 6.5Si

Hello
I have been trying for a while to have my new trendmill working with zwift

I have done all the instruction but it seems the link between the trendmill and my ipad running qdominozwift get lost even if my wifi connexion is fine.
I am on last version of the companion

What i noticed
Qz on ios can t control the trendmill, meaning by extension zwift can t control the trendmill
After the install, all debug stuff are lost on reboot
After install, the qzcompanion is set on "other" and i can t have data on qz on my ipad
I have to log back and set it to nordtrack 2950.
Thanks by advance for all the tips you can provide to help me

Speed and incline control on Nordic Track EXP 10i

I have successfully installed QZ companion on my Nordic Track EXP 10i, and configurated it according to the readme guide.

Some issues:

  • When running the ifit in manual, and changing speed or incline, the companion are not able to show the figures as long as it only while number (1,0 , 2,0 , 3,0 etc.). When altering adjustmens with decimals QZ companion are not able to read and the dashboard numbers zeroes out. Anyone know what the issue could be? I have configured the QZ companion to deal with 0,1 steps on speed and 0,5 steps on inclination.

  • When running Zwift, it equally read any adjustment expect whole figures as zero, and when choosing f.ex 10,1 speed, the runner just stops running

NordicTrack 2950 - No communication

I have tried a couple of times getting this to work , bit still no success . I'm pretty sure i have followed the guide correctly, but om not able to see speed / incline in the companion app.
Today I did a full reset of the mill and installed the app via browser, rebooted, started manual workout and then started app.
Are you able to have a look? Where can I send the log-file?
Thanks in advance!

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

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!

certificate issue

What happened to your signing key, @cagnulein? My updater just rejected your latest APK:

"org.cagnulein.qzcompanionnordictracktreadmill_84.apk" is signed by a key that is not allowed:
cf44dcb5ef1e1231bddd4194a4b8b245d1aec5cb217affba0414cb1ea5bf326d

Looks like you switched to a (different) debug key. Unfortunately you also forgot to increase versionCode, so the wrongly signed APK replaced the correct one, in effect making your app invisible in my repo as if it would not be listed.

For details on the certificate check, please see How to keep your key safe and what measures to take for the event of loss?

Proform10 with IFIT screen, trying to install QZ Companion : ADP not working

Have turned on USB Debug but ADP did not work on wifi (with IP address) or via USB to USB connection.
In USB/USB connection the device is not being recognized but ADP is working.
I Tried to a reset of android screen but no pinhole for resetting. The only option is to clear memory and data, then log in again.

Not receiving data on S22i

I just followed the guideline to setup my nordictrack s22i to work with QZ app.

I installed successfully the qz companion on my nordictrack and select s22i as device and then restarted.

Then I configured the QZ app as showed by the documentation.

QZ is not retrieving data from the bike and all the tiles are 0.

I attach the qz debug file.
debug-Sat_May_27_17_38_51_2023.log

Proform Power T7I not connecting to QZ IOS App

Hello,

I am using this on: Proform Power T7L. It is not listed in available devices on either the Companion app - which I already installed - or the ios QZ App.

I used the latest rev from this repot.

I have tried a few different device selections from both sides - i.e. 'Other' from QZ-Companion (on the proform) and each of the available Proform selections in the QZ IOS app.

For this testing I had the IP address entered into the 'Proform IP' in the QZ IOS App.

Is this Proform device not supported by the current revision of QZ and QZ-Companion?

S22i wattage

I’ve installed as per the instructions on a Nordictrack S22i but the wattage on QZ app is not the same as the iFit app on the trainer. Is there some calibration I’m missing?

Unable to install QZ Companion

Hi Robert.
I have a iFit enabled Profrom treadmill, model Premier 1300. I enabled the USB debugging and attempted to install companion over ADB but received a refusal code. I will attach the log. I also attempted to install directly from the treadmill tablet (using wifi) but received "there was a problem parsing the package".
Please let me know if you have any ideas.
Thanks from Seattle, Washington.
Dave
QZ-Companion-log.txt

Nordictrack S27I

Hi,

I am really new to this and hopefully I am doing this right. But I've installed the companion app on the nordictrack S27i and went through the steps to enter in the IP but I am not seeing anything show on the QZ fitness app. Is this just not compatible with the S27i yet?

Thank you for any help you can provide.

Unable to install INSTALL_FAILED_OLDER_SDK: Failed parse during installPackageLI: ....

Hi - I have a Commercial 2950 (2021 model) I think the same as yours but get the following error on my Windows PC after the ADB connection is established.


**adb: failed to install QZCompanionNordictrackTreadmill.apk: Failure [INSTALL_FAILED_OLDER_SDK: Failed parse during installPackageLI: /data/app/vmdl1859436300.tmp/base.apk (at Binary XML file line #7): Requires newer sdk version #28 (current version is #25)]
Performing Streamed Install

Waiting for 0 seconds, press a key to continue ...

Launching QZ Companion ...

Waiting for 0 seconds, press a key to continue ...

Launching iFit ...

Waiting for 0 seconds, press a key to continue ...

QZ Companion is installed. Press any key to reboot treadmill . . .**


QZ Companion isn't actually installed because it failed as in the first line. Is there a workaround?
Also in QZ (Android running on my phone) Under Settings > Treadmill Options > Proform/Nordictrack Options>
the only thing listed is 'Nordictrack 10'
There is seemingly no way to follow your instructions -
'Expand Treadmill Options, Proform/NordicTrack Options, and enter the treadmills IP address under NordicTrack 2950 IP and hit OK. Exit and relaunch QZ to activate the change. If done correctly, QZ will display live data tiles to indicate it is communicating directly with QZ Companion on the treadmill.'
I guess this may be because QZ Companion is not running?

Additionally, there is no 'Enable Virtual Device' setting under Experimental Features' so I can't follow the following instructions either -
'Next in QZ, expand Experimental Features and turn on Enable Virtual Device, Virtual Device Bluetooth, and Wahoo Direct Connect. Exit and relaunch QZ again to activate the changes. Wahoo direct connect will now transmit the treadmills speed and incline data to Zwift via Bluetooth.'

Nordictrack X32i

I have installed the companion app successfully and I purchased the iOS version of qdomyos-zwift which connects and can read data nicely via wifi. I did test the companion in X11i, 2950, and other modes but I am unable to adjust speed and incline from the iOS app. I mean it does adjust something (there are clicks on the screen because it makes a sound and changes to fullscreen) but apparently, the coordinates are all wrong for the bigger screen.

Which information would be needed and how could I get it for you to be able to make the necessary changes?

Model is X32i ETNT39221-INT.0 and I am in EU with metric system, iFit app version is 2.6.81.4158, Admin version is 2.0.5.1213

Thank you for the great work

S10i bike does not connect to wifi after qz installation and reboot

Hello,

i´m using an S10i Nordictrack bike. So far I could not find any feedback regarding the compatibly of the bike with this app.

I was able to install the app on the bike (not via adb, but via direct download).
Also the app is installed successfully. But after installing the bike does not connect to the wifi anymore. Even though wifi connection is available and has a very good signal. Before the installation the bike was able to connect to the wifi.

Any ideas, what's going wrong or what I could have done wrong? ;)

Many thanks in advance!

Regards,
Mexx

Installation failed on Norditrack T12.0

Hi,
Installation fails with ADB script (connection refused) with USB debug mode at on.
It is also impossible to install the APK directly by downloading it from the tablet browser integrated into the treadmill.
The tablet is in Android Lollipop version in my treadmill Norditrack T12.0
Any idea ?
In dadvance, thanks a lot for your help.

Getting auto-incline working

Hi Roberto, great app, working now on Nordictrack 2950 👍 but I can't see where to enable Zwift to control the treadmill incline, or find instructions online - sorry! Any help would be very much appreciated.

Thanks
Tris

Failed to connect QZ to NordicTrack C1750

Super excited to try this out, but cannot get the connection to work between QZ-companion and QZ app.

First Attempt: Manual App Install
Don't own a PC, so started with the manual install route. I was able to install the QZ-Companion app successfully according to the instructions. Though, I will note that privileged mode didn't not stick, and I had to re-enable it throughout the process after reboots.

I opened the QZ App on iOS, and complete the settings per the instructions, but it would never connect to the treadmill. It seemed to connect to everything except for the treadmill (AppleTVs in 2 different rooms, Apple Watch, and a couple other devices). I didn't see any way to get a list of devices or tell it to stick with only one. I killed the app, and each time it launched, it would pick a device, or get stuck on connecting, but it never connected to the treadmill. (I confirmed I could successfully ping the treadmill IP from my iMac.)

Second Attempt: Install via PC
Then, I remembered that I happen to have a PC laptop sitting around (not mine) and decided to try it. First, I uninstalled QZ-Companion from the treadmill. Then, I downloaded the install package, extracted it, and ran the QZ-Companion.bat file, as specified. It pinged the treadmill successfully, but it failed on ADB connection.

The log says:

Connecting to treadmill via ADB ...

disconnected everything
* daemon not running; starting now at tcp:5037
* daemon started successfully
cannot connect to XXX.XXX.X.XXX:5555: No connection could be made because the target machine actively refused it. (10061)

I wondered if it might be a firewall problem, but I would assume, if that were a common problem, it would be mentioned here. I didn't do anything special with port restrictions on my router, but not sure what else it could be.

Any thoughts on what I should try next?

Details about my setup:

  • NordicTrack C1750 Treadmill (2017 or 2018)

    • iFit Tablet: Android v5.1.1
  • iPhone

    • iOS 16.5
    • iPhone 12 Pro
    • QZ version: 2.11.96

One final note, I found issue #1373, which seems to be the same problem I'm having. The intent of using the Peloton app is even the same, so I'm encouraged that we'll be able to figure this out. Looking forward to any suggestions you have.

Thanks in advance!
Chad


Update

I re-installed the QZ-Companion app on the iFit tablet, and there is progress, but still not working correctly:

  • [+] QZ iOS app connects to the treadmill
  • [+] QZ iOS app accurately gets speed and incline information
  • [-] QZ iOS app cannot change the speed or incline on the treadmill
  • [-] I have not been able to successfully download and install a file viewer yet on the iFit tablet
  • I have not tried to connect to Peloton app yet
    • I'm assuming I'll be able to control the speed/incline from QZ iOS app, so figured I should get that working first, before connecting to Peloton app on a 3rd device to avoid confusion/complication.

Any advice on a file viewer for Android 5.1.1 from a known trustable source? 🤔

Failing to connect to NordicTrack X11i

Hello

I am having problems getting data from the treadmill to the Android app - all the tiles are showing 0.0.

I can ping the treadmill from the phone.

Attached are the debug logs. I had a look through them and it seems the treadmill is logging the data just fine, so I suspect the issue is on the phone side. I had a look at the logs from my phone and I am not seeing anything obviously wrong.
It seems the timestamps are out by an hour between the treadmill and the phone for some reason.

debug-Mon_Jun_12_09_55_54_2023.log
FitPro_12Jun2023.txt

Many thanks in advance.

Request - EXP 7i - Change speed and elevation from QZ

Hello!

Hoping to get control of my EXP 7i treadmill. The s40 is very close, since they are both 7" screens, and actually kind of works, but my treadmill is in mph and the s40 is in kph. Here are my screenshots and my best guess formulae...

exp7iLOW

exp7iHIGH

exp7iScreen

...at your convenience.

Thanks and Happy New Year!

License question

First thanks for making your app available openly and freely! May I ask which license it falls under? I couldn't find any details in the repo here. If you didn't decide yet, I suggest checking with SPDX for a fitting one approved by OSI/FSF.

How to Download

How do you download on your PC? I cant figure how to download and open. Can you please advise a step by step.

Nordictrack X11i

Hi, I am unable to get QZ companion to work. I have tried on both Android phone and iPad with slightly different behavior.

On Android I get an initial connection but immediately it stops working. If I kill the app and restart I can get a new connection but again it will immediately die. So I can see the speed/incline at the moment I open the app but that is where it stays until I kill/reopen.

On iPad the connection remains open and I can see speed/incline changes. But I cannot make and changes from the app. From Zwift it finds their "wahoo" device and connects. But no speed/incline data is transmitted. When I start an activity in the top left it shows "Connection Failure"

From the Treadmill tablet I have tried X11i, X32i, 2950, and Other.
From the Android app I have tried various different settings.
I have verified that the app is running on the treadmill

I have not been able to find the log dump on Android or iOs. Please direct me where it saves and I can upload it.
When I attempt the log dump on the treadmill the app freezes.

Thank you!

Getting HR

09-04 21:40:56.332  1196  5395 V mono-stdout: [70] [Trace:HeartRateConnection] HeartRateConnection.HeartRateDataUpdate heart rate value changed. Value: 94 Device: Polar H10 86A67320
09-04 21:40:57.328  1196  1207 V mono-stdout: [64] [Trace:HeartRateConnection] HeartRateConnection.HeartRateDataUpdate heart rate value changed. Value: 95 Device: Polar H10 86A67320
09-04 21:40:57.332  1196  1207 V mono-stdout: [64] [Trace:HeartRateHelper] Ignoring attempt to set Pulse value (95). Too many values
09-04 21:40:59.324  1196  1207 V mono-stdout: [64] [Trace:HeartRateConnection] HeartRateConnection.HeartRateDataUpdate heart rate value changed. Value: 96 Device: Polar H10 86A67320
09-04 21:40:59.334  1196  1207 V mono-stdout: [64] [Trace:HeartRateConnection] HeartRateConnection.HeartRateDataUpdate heart rate value changed. Value: 98 Device: Polar H10 86A67320
09-04 21:40:59.337  1196  1207 V mono-stdout: [64] [Trace:HeartRateHelper] Ignoring attempt to set Pulse value (98). Too many values
09-04 21:41:00.320  1196  1207 V mono-stdout: [64] [Trace:HeartRateConnection] HeartRateConnection.HeartRateDataUpdate heart rate value changed. Value: 98 Device: Polar H10 86A67320
09-04 21:41:00.323  1196  1207 V mono-stdout: [64] [Trace:HeartRateHelper] Ignoring attempt to set Pulse value (98). Too many values
09-04 21:41:01.319  1196  1207 V mono-stdout: [64] [Trace:HeartRateConnection] HeartRateConnection.HeartRateDataUpdate heart rate value changed. Value: 99 Device: Polar H10 86A67320
09-04 21:41:02.314  1196  1207 V mono-stdout: [64] [Trace:HeartRateConnection] HeartRateConnection.HeartRateDataUpdate heart rate value changed. Value: 99 Device: Polar H10 86A67320
09-04 21:41:03.315  1196  1257 V mono-stdout: [65] [Trace:HeartRateConnection] HeartRateConnection.HeartRateDataUpdate heart rate value changed. Value: 99 Device: Polar H10 86A67320
09-04 21:41:04.309  1196  1257 V mono-stdout: [65] [Trace:HeartRateConnection] HeartRateConnection.HeartRateDataUpdate heart rate value changed. Value: 98 Device: Polar H10 86A67320
09-04 21:41:05.311  1196  1257 V mono-stdout: [65] [Trace:HeartRateConnection] HeartRateConnection.HeartRateDataUpdate heart rate value changed. Value: 97 Device: Polar H10 86A67320
09-04 21:41:06.303  1196  1257 V mono-stdout: [65] [Trace:HeartRateConnection] HeartRateConnection.HeartRateDataUpdate heart rate value changed. Value: 97 Device: Polar H10 86A67320
09-04 21:41:07.303  1196  1257 V mono-stdout: [65] [Trace:HeartRateConnection] HeartRateConnection.HeartRateDataUpdate heart rate value changed. Value: 97 Device: Polar H10 86A67320
09-04 21:41:08.298  1196  1257 V mono-stdout: [65] [Trace:HeartRateConnection] HeartRateConnection.HeartRateDataUpdate heart rate value changed. Value: 98 Device: Polar H10 86A67320
09-04 21:41:09.301  1196  5395 V mono-stdout: [70] [Trace:HeartRateConnection] HeartRateConnection.HeartRateDataUpdate heart rate value changed. Value: 98 Device: Polar H10 86A67320
09-04 21:41:10.294  1196  5395 V mono-stdout: [70] [Trace:HeartRateConnection] HeartRateConnection.HeartRateDataUpdate heart rate value changed. Value: 97 Device: Polar H10 86A67320
09-04 21:41:11.294  1196  5395 V mono-stdout: [70] [Trace:HeartRateConnection] HeartRateConnection.HeartRateDataUpdate heart rate value changed. Value: 96 Device: Polar H10 86A67320
09-04 21:41:11.297  1196  5395 V mono-stdout: [70] [Trace:HeartRateHelper] Ignoring attempt to set Pulse value (96). Too many values
09-04 21:41:12.291  1196  5395 V mono-stdout: [70] [Trace:HeartRateConnection] HeartRateConnection.HeartRateDataUpdate heart rate value changed. Value: 96 Device: Polar H10 86A67320
09-04 21:41:13.286  1196  5395 V mono-stdout: [70] [Trace:HeartRateConnection] HeartRateConnection.HeartRateDataUpdate heart rate value changed. Value: 96 Device: Polar H10 86A67320
09-04 21:41:14.286  1196  5395 V mono-stdout: [70] [Trace:HeartRateConnection] HeartRateConnection.HeartRateDataUpdate heart rate value changed. Value: 96 Device: Polar H10 86A67320
09-04 21:41:15.283  1196  5395 V mono-stdout: [70] [Trace:HeartRateConnection] HeartRateConnection.HeartRateDataUpdate heart rate value changed. Value: 96 Device: Polar H10 86A67320
09-04 21:41:16.280  1196  8411 V mono-stdout: [69] [Trace:HeartRateConnection] HeartRateConnection.HeartRateDataUpdate heart rate value changed. Value: 96 Device: Polar H10 86A67320
09-04 21:41:17.279  1196  8411 V mono-stdout: [69] [Trace:HeartRateConnection] HeartRateConnection.HeartRateDataUpdate heart rate value changed. Value: 95 Device: Polar H10 86A67320
09-04 21:41:19.276  1196  8411 V mono-stdout: [69] [Trace:HeartRateConnection] HeartRateConnection.HeartRateDataUpdate heart rate value changed. Value: 95 Device: Polar H10 86A67320
09-04 21:41:19.287  1196  8411 V mono-stdout: [69] [Trace:HeartRateConnection] HeartRateConnection.HeartRateDataUpdate heart rate value changed. Value: 95 Device: Polar H10 86A67320
09-04 21:41:20.272  1196  8411 V mono-stdout: [69] [Trace:HeartRateConnection] HeartRateConnection.HeartRateDataUpdate heart rate value changed. Value: 95 Device: Polar H10 86A67320
09-04 21:41:21.269  1196  8411 V mono-stdout: [69] [Trace:HeartRateConnection] HeartRateConnection.HeartRateDataUpdate heart rate value changed. Value: 96 Device: Polar H10 86A67320
09-04 21:41:22.276  1196  8411 V mono-stdout: [69] [Trace:HeartRateConnection] HeartRateConnection.HeartRateDataUpdate heart rate value changed. Value: 97 Device: Polar H10 86A67320
09-04 21:41:23.264  1196  8411 V mono-stdout: [69] [Trace:HeartRateConnection] HeartRateConnection.HeartRateDataUpdate heart rate value changed. Value: 97 Device: Polar H10 86A67320
09-04 21:41:24.259  1196  8411 V mono-stdout: [69] [Trace:HeartRateConnection] HeartRateConnection.HeartRateDataUpdate heart rate value changed. Value: 97 Device: Polar H10 86A67320
09-04 21:41:25.258  1196  8411 V mono-stdout: [69] [Trace:HeartRateConnection] HeartRateConnection.HeartRateDataUpdate heart rate value changed. Value: 97 Device: Polar H10 86A67320
09-04 21:41:26.254  1196  8411 V mono-stdout: [69] [Trace:HeartRateConnection] HeartRateConnection.HeartRateDataUpdate heart rate value changed. Value: 96 Device: Polar H10 86A67320
09-04 21:41:27.255  1196  8411 V mono-stdout: [69] [Trace:HeartRateConnection] HeartRateConnection.HeartRateDataUpdate heart rate value changed. Value: 94 Device: Polar H10 86A67320
09-04 21:41:27.259  1196  8411 V mono-stdout: [69] [Trace:HeartRateHelper] Ignoring attempt to set Pulse value (94). Too many values
09-04 21:41:28.251  1196  8411 V mono-stdout: [69] [Trace:HeartRateConnection] HeartRateConnection.HeartRateDataUpdate heart rate value changed. Value: 94 Device: Polar H10 86A67320
09-04 21:41:29.249  1196  8411 V mono-stdout: [69] [Trace:HeartRateConnection] HeartRateConnection.HeartRateDataUpdate heart rate value changed. Value: 94 Device: Polar H10 86A67320
09-04 21:41:30.247  1196  8411 V mono-stdout: [69] [Trace:HeartRateConnection] HeartRateConnection.HeartRateDataUpdate heart rate value changed. Value: 94 Device: Polar H10 86A67320
09-04 21:41:31.242  1196  8411 V mono-stdout: [69] [Trace:HeartRateConnection] HeartRateConnection.HeartRateDataUpdate heart rate value changed. Value: 95 Device: Polar H10 86A67320
09-04 21:41:32.248  1196  8411 V mono-stdout: [69] [Trace:HeartRateConnection] HeartRateConnection.HeartRateDataUpdate heart rate value changed. Value: 96 Device: Polar H10 86A67320
09-04 21:41:32.252  1196  8411 V mono-stdout: [69] [Trace:HeartRateHelper] Ignoring attempt to set Pulse value (96). Too many values
09-04 21:41:33.238  1196  8411 V mono-stdout: [69] [Trace:HeartRateConnection] HeartRateConnection.HeartRateDataUpdate heart rate value changed. Value: 98 Device: Polar H10 86A67320
09-04 21:41:34.241  1196  8411 V mono-stdout: [69] [Trace:HeartRateConnection] HeartRateConnection.HeartRateDataUpdate heart rate value changed. Value: 99 Device: Polar H10 86A67320
09-04 21:41:35.234  1196  8411 V mono-stdout: [69] [Trace:HeartRateConnection] HeartRateConnection.HeartRateDataUpdate heart rate value changed. Value: 99 Device: Polar H10 86A67320
09-04 21:41:36.233  1196  8411 V mono-stdout: [69] [Trace:HeartRateConnection] HeartRateConnection.HeartRateDataUpdate heart rate value changed. Value: 99 Device: Polar H10 86A67320
09-04 21:41:37.232  1196  8411 V mono-stdout: [69] [Trace:HeartRateConnection] HeartRateConnection.HeartRateDataUpdate heart rate value changed. Value: 96 Device: Polar H10 86A67320
09-04 21:41:39.223  1196  8411 V mono-stdout: [69] [Trace:HeartRateConnection] HeartRateConnection.HeartRateDataUpdate heart rate value changed. Value: 95 Device: Polar H10 86A67320
09-04 21:41:39.236  1196  8411 V mono-stdout: [69] [Trace:HeartRateConnection] HeartRateConnection.HeartRateDataUpdate heart rate value changed. Value: 95 Device: Polar H10 86A67320
09-04 21:41:40.225  1196  8411 V mono-stdout: [69] [Trace:HeartRateConnection] HeartRateConnection.HeartRateDataUpdate heart rate value changed. Value: 95 Device: Polar H10 86A67320
09-04 21:41:41.868  1196  7146 V mono-stdout: [71] [Trace:HeartRateConnection] HeartRateConnection.HeartRateDataUpdate heart rate value changed. Value: 96 Device: Polar H10 86A67320
09-04 21:41:42.225  1196  7146 V mono-stdout: [71] [Trace:HeartRateConnection] HeartRateConnection.HeartRateDataUpdate heart rate value changed. Value: 97 Device: Polar H10 86A67320
09-04 21:41:42.230  1196  7146 V mono-stdout: [71] [Trace:HeartRateHelper] Ignoring attempt to set Pulse value (97). Too many values
09-04 21:41:43.214  1196  7146 V mono-stdout: [71] [Trace:HeartRateConnection] HeartRateConnection.HeartRateDataUpdate heart rate value changed. Value: 97 Device: Polar H10 86A67320
09-04 21:41:44.211  1196  7146 V mono-stdout: [71] [Trace:HeartRateConnection] HeartRateConnection.HeartRateDataUpdate heart rate value changed. Value: 97 Device: Polar H10 86A67320
09-04 21:41:45.209  1196  7146 V mono-stdout: [71] [Trace:HeartRateConnection] HeartRateConnection.HeartRateDataUpdate heart rate value changed. Value: 97 Device: Polar H10 86A67320
09-04 21:41:47.204  1196  7146 V mono-stdout: [71] [Trace:HeartRateConnection] HeartRateConnection.HeartRateDataUpdate heart rate value changed. Value: 94 Device: Polar H10 86A67320
09-04 21:41:47.213  1196  7146 V mono-stdout: [71] [Trace:HeartRateConnection] HeartRateConnection.HeartRateDataUpdate heart rate value changed. Value: 93 Device: Polar H10 86A67320
09-04 21:41:47.215  1196  7146 V mono-stdout: [71] [Trace:HeartRateHelper] Ignoring attempt to set Pulse value (93). Too many values
09-04 21:41:48.213  1196  3392 V mono-stdout: [68] [Trace:HeartRateConnection] HeartRateConnection.HeartRateDataUpdate heart rate value changed. Value: 92 Device: Polar H10 86A67320
09-04 21:41:49.198  1196  3392 V mono-stdout: [68] [Trace:HeartRateConnection] HeartRateConnection.HeartRateDataUpdate heart rate value changed. Value: 92 Device: Polar H10 86A67320
09-04 21:41:50.196  1196  3392 V mono-stdout: [68] [Trace:HeartRateConnection] HeartRateConnection.HeartRateDataUpdate heart rate value changed. Value: 93 Device: Polar H10 86A67320
09-04 21:41:51.198  1196  3392 V mono-stdout: [68] [Trace:HeartRateConnection] HeartRateConnection.HeartRateDataUpdate heart rate value changed. Value: 93 Device: Polar H10 86A67320
09-04 21:41:52.193  1196  3392 V mono-stdout: [68] [Trace:HeartRateConnection] HeartRateConnection.HeartRateDataUpdate heart rate value changed. Value: 94 Device: Polar H10 86A67320
09-04 21:41:53.189  1196  3392 V mono-stdout: [68] [Trace:HeartRateConnection] HeartRateConnection.HeartRateDataUpdate heart rate value changed. Value: 95 Device: Polar H10 86A67320
09-04 21:41:53.193  1196  3392 V mono-stdout: [68] [Trace:HeartRateHelper] Ignoring attempt to set Pulse value (95). Too many values
09-04 21:41:54.189  1196  3392 V mono-stdout: [68] [Trace:HeartRateConnection] HeartRateConnection.HeartRateDataUpdate heart rate value changed. Value: 95 Device: Polar H10 86A67320
09-04 21:41:55.687  1196  3392 V mono-stdout: [68] [Trace:HeartRateConnection] HeartRateConnection.HeartRateDataUpdate heart rate value changed. Value: 94 Device: Polar H10 86A67320
09-04 21:41:56.689  1196  3392 V mono-stdout: [68] [Trace:HeartRateConnection] HeartRateConnection.HeartRateDataUpdate heart rate value changed. Value: 94 Device: Polar H10 86A67320
09-04 21:41:57.682  1196  3392 V mono-stdout: [68] [Trace:HeartRateConnection] HeartRateConnection.HeartRateDataUpdate heart rate value changed. Value: 92 Device: Polar H10 86A67320
09-04 21:41:58.677  1196  3392 V mono-stdout: [68] [Trace:HeartRateConnection] HeartRateConnection.HeartRateDataUpdate heart rate value changed. Value: 92 Device: Polar H10 86A67320
09-04 21:41:59.678  1196  3392 V mono-stdout: [68] [Trace:HeartRateConnection] HeartRateConnection.HeartRateDataUpdate heart rate value changed. Value: 91 Device: Polar H10 86A67320
09-04 21:42:00.673  1196  5395 V mono-stdout: [70] [Trace:HeartRateConnection] HeartRateConnection.HeartRateDataUpdate heart rate value changed. Value: 92 Device: Polar H10 86A67320
09-04 21:42:00.678  1196  5395 V mono-stdout: [70] [Trace:HeartRateHelper] Ignoring attempt to set Pulse value (92). Too many values
09-04 21:42:01.671  1196  5395 V mono-stdout: [70] [Trace:HeartRateConnection] HeartRateConnection.HeartRateDataUpdate heart rate value changed. Value: 92 Device: Polar H10 86A67320
09-04 21:42:02.668  1196  5395 V mono-stdout: [70] [Trace:HeartRateConnection] HeartRateConnection.HeartRateDataUpdate heart rate value changed. Value: 93 Device: Polar H10 86A67320
09-04 21:42:02.674  1196  5395 V mono-stdout: [70] [Trace:HeartRateHelper] Ignoring attempt to set Pulse value (93). Too many values
09-04 21:42:03.665  1196  5395 V mono-stdout: [70] [Trace:HeartRateConnection] HeartRateConnection.HeartRateDataUpdate heart rate value changed. Value: 93 Device: Polar H10 86A67320
09-04 21:42:04.665  1196  5395 V mono-stdout: [70] [Trace:HeartRateConnection] HeartRateConnection.HeartRateDataUpdate heart rate value changed. Value: 92 Device: Polar H10 86A67320
09-04 21:42:04.669  1196  5395 V mono-stdout: [70] [Trace:HeartRateHelper] Ignoring attempt to set Pulse value (92). Too many values
09-04 21:42:05.660  1196  5395 V mono-stdout: [70] [Trace:HeartRateConnection] HeartRateConnection.HeartRateDataUpdate heart rate value changed. Value: 92 Device: Polar H10 86A67320
09-04 21:42:06.711  1196  1208 V mono-stdout: [67] [Trace:HeartRateConnection] HeartRateConnection.HeartRateDataUpdate heart rate value changed. Value: 91 Device: Polar H10 86A67320
09-04 21:42:07.657  1196  1208 V mono-stdout: [67] [Trace:HeartRateConnection] HeartRateConnection.HeartRateDataUpdate heart rate value changed. Value: 91 Device: Polar H10 86A67320
09-04 21:42:08.655  1196  1208 V mono-stdout: [67] [Trace:HeartRateConnection] HeartRateConnection.HeartRateDataUpdate heart rate value changed. Value: 91 Device: Polar H10 86A67320
09-04 21:42:09.652  1196  1208 V mono-stdout: [67] [Trace:HeartRateConnection] HeartRateConnection.HeartRateDataUpdate heart rate value changed. Value: 91 Device: Polar H10 86A67320
09-04 21:42:10.648  1196  1208 V mono-stdout: [67] [Trace:HeartRateConnection] HeartRateConnection.HeartRateDataUpdate heart rate value changed. Value: 91 Device: Polar H10 86A67320
09-04 21:42:11.667  1196  1208 V mono-stdout: [67] [Trace:HeartRateConnection] HeartRateConnection.HeartRateDataUpdate heart rate value changed. Value: 93 Device: Polar H10 86A67320
09-04 21:42:12.644  1196  1208 V mono-stdout: [67] [Trace:HeartRateConnection] HeartRateConnection.HeartRateDataUpdate heart rate value changed. Value: 93 Device: Polar H10 86A67320
09-04 21:42:13.640  1196  1208 V mono-stdout: [67] [Trace:HeartRateConnection] HeartRateConnection.HeartRateDataUpdate heart rate value changed. Value: 94 Device: Polar H10 86A67320
09-04 21:42:14.648  1196  1208 V mono-stdout: [67] [Trace:HeartRateConnection] HeartRateConnection.HeartRateDataUpdate heart rate value changed. Value: 94 Device: Polar H10 86A67320
09-04 21:42:15.636  1196  1208 V mono-stdout: [67] [Trace:HeartRateConnection] HeartRateConnection.HeartRateDataUpdate heart rate value changed. Value: 93 Device: Polar H10 86A67320
09-04 21:42:16.633  1196  1208 V mono-stdout: [67] [Trace:HeartRateConnection] HeartRateConnection.HeartRateDataUpdate heart rate value changed. Value: 93 Device: Polar H10 86A67320
09-04 21:42:17.631  1196  1208 V mono-stdout: [67] [Trace:HeartRateConnection] HeartRateConnection.HeartRateDataUpdate heart rate value changed. Value: 93 Device: Polar H10 86A67320
09-04 21:42:18.630  1196  1208 V mono-stdout: [67] [Trace:HeartRateConnection] HeartRateConnection.HeartRateDataUpdate heart rate value changed. Value: 93 Device: Polar H10 86A67320
09-04 21:42:19.646  1196  8411 V mono-stdout: [69] [Trace:HeartRateConnection] HeartRateConnection.HeartRateDataUpdate heart rate value changed. Value: 93 Device: Polar H10 86A67320
09-04 21:42:20.624  1196  8411 V mono-stdout: [69] [Trace:HeartRateConnection] HeartRateConnection.HeartRateDataUpdate heart rate value changed. Value: 93 Device: Polar H10 86A67320
09-04 21:42:21.625  1196  8411 V mono-stdout: [69] [Trace:HeartRateConnection] HeartRateConnection.HeartRateDataUpdate heart rate value changed. Value: 93 Device: Polar H10 86A67320
09-04 21:42:22.623  1196  8411 V mono-stdout: [69] [Trace:HeartRateConnection] HeartRateConnection.HeartRateDataUpdate heart rate value changed. Value: 93 Device: Polar H10 86A67320
09-04 21:42:23.616  1196  8411 V mono-stdout: [69] [Trace:HeartRateConnection] HeartRateConnection.HeartRateDataUpdate heart rate value changed. Value: 93 Device: Polar H10 86A67320
09-04 21:42:24.622  1196  5395 V mono-stdout: [70] [Trace:HeartRateConnection] HeartRateConnection.HeartRateDataUpdate heart rate value changed. Value: 93 Device: Polar H10 86A67320
09-04 21:42:25.614  1196  5395 V mono-stdout: [70] [Trace:HeartRateConnection] HeartRateConnection.HeartRateDataUpdate heart rate value changed. Value: 93 Device: Polar H10 86A67320
09-04 21:42:26.654  1196  5395 V mono-stdout: [70] [Trace:HeartRateConnection] HeartRateConnection.HeartRateDataUpdate heart rate value changed. Value: 93 Device: Polar H10 86A67320
09-04 21:42:28.604  1196  5395 V mono-stdout: [70] [Trace:HeartRateConnection] HeartRateConnection.HeartRateDataUpdate heart rate value changed. Value: 94 Device: Polar H10 86A67320
09-04 21:42:28.613  1196  5395 V mono-stdout: [70] [Trace:HeartRateConnection] HeartRateConnection.HeartRateDataUpdate heart rate value changed. Value: 95 Device: Polar H10 86A67320
09-04 21:42:28.616  1196  5395 V mono-stdout: [70] [Trace:HeartRateHelper] Ignoring attempt to set Pulse value (95). Too many values
09-04 21:42:29.603  1196  5395 V mono-stdout: [70] [Trace:HeartRateConnection] HeartRateConnection.HeartRateDataUpdate heart rate value changed. Value: 98 Device: Polar H10 86A67320
09-04 21:42:29.606  1196  5395 V mono-stdout: [70] [Trace:HeartRateHelper] Ignoring attempt to set Pulse value (98). Too many values
09-04 21:42:30.598  1196  5395 V mono-stdout: [70] [Trace:HeartRateConnection] HeartRateConnection.HeartRateDataUpdate heart rate value changed. Value: 99 Device: Polar H10 86A67320
09-04 21:42:31.595  1196  1208 V mono-stdout: [67] [Trace:HeartRateConnection] HeartRateConnection.HeartRateDataUpdate heart rate value changed. Value: 99 Device: Polar H10 86A67320
09-04 21:42:32.595  1196  1208 V mono-stdout: [67] [Trace:HeartRateConnection] HeartRateConnection.HeartRateDataUpdate heart rate value changed. Value: 97 Device: Polar H10 86A67320
09-04 21:42:33.590  1196  1208 V mono-stdout: [67] [Trace:HeartRateConnection] HeartRateConnection.HeartRateDataUpdate heart rate value changed. Value: 96 Device: Polar H10 86A67320
09-04 21:42:33.592  1196  1208 V mono-stdout: [67] [Trace:HeartRateHelper] Ignoring attempt to set Pulse value (96). Too many values
09-04 21:42:34.589  1196  1208 V mono-stdout: [67] [Trace:HeartRateConnection] HeartRateConnection.HeartRateDataUpdate heart rate value changed. Value: 94 Device: Polar H10 86A67320
09-04 21:42:35.586  1196  1208 V mono-stdout: [67] [Trace:HeartRateConnection] HeartRateConnection.HeartRateDataUpdate heart rate value changed. Value: 94 Device: Polar H10 86A67320
09-04 21:42:36.583  1196  1208 V mono-stdout: [67] [Trace:HeartRateConnection] HeartRateConnection.HeartRateDataUpdate heart rate value changed. Value: 94 Device: Polar H10 86A67320
09-04 21:42:37.583  1196  1208 V mono-stdout: [67] [Trace:HeartRateConnection] HeartRateConnection.HeartRateDataUpdate heart rate value changed. Value: 94 Device: Polar H10 86A67320
09-04 21:42:38.581  1196  1207 V mono-stdout: [64] [Trace:HeartRateConnection] HeartRateConnection.HeartRateDataUpdate heart rate value changed. Value: 95 Device: Polar H10 86A67320
09-04 21:42:40.074  1196  1207 V mono-stdout: [64] [Trace:HeartRateConnection] HeartRateConnection.HeartRateDataUpdate heart rate value changed. Value: 95 Device: Polar H10 86A67320
09-04 21:42:40.574  1196  1207 V mono-stdout: [64] [Trace:HeartRateConnection] HeartRateConnection.HeartRateDataUpdate heart rate value changed. Value: 96 Device: Polar H10 86A67320
09-04 21:42:41.571  1196  1207 V mono-stdout: [64] [Trace:HeartRateConnection] HeartRateConnection.HeartRateDataUpdate heart rate value changed. Value: 96 Device: Polar H10 86A67320
09-04 21:42:42.569  1196  1207 V mono-stdout: [64] [Trace:HeartRateConnection] HeartRateConnection.HeartRateDataUpdate heart rate value changed. Value: 96 Device: Polar H10 86A67320
09-04 21:42:43.565  1196  1207 V mono-stdout: [64] [Trace:HeartRateConnection] HeartRateConnection.HeartRateDataUpdate heart rate value changed. Value: 96 Device: Polar H10 86A67320
09-04 21:42:44.563  1196  1207 V mono-stdout: [64] [Trace:HeartRateConnection] HeartRateConnection.HeartRateDataUpdate heart rate value changed. Value: 97 Device: Polar H10 86A67320
09-04 21:42:45.590  1196  8411 V mono-stdout: [69] [Trace:HeartRateConnection] HeartRateConnection.HeartRateDataUpdate heart rate value changed. Value: 98 Device: Polar H10 86A67320
09-04 21:42:46.559  1196  8411 V mono-stdout: [69] [Trace:HeartRateConnection] HeartRateConnection.HeartRateDataUpdate heart rate value changed. Value: 99 Device: Polar H10 86A67320
09-04 21:42:46.561  1196  8411 V mono-stdout: [69] [Trace:HeartRateHelper] Ignoring attempt to set Pulse value (99). Too many values
09-04 21:42:47.557  1196  8411 V mono-stdout: [69] [Trace:HeartRateConnection] HeartRateConnection.HeartRateDataUpdate heart rate value changed. Value: 100 Device: Polar H10 86A67320
09-04 21:42:48.554  1196  8411 V mono-stdout: [69] [Trace:HeartRateConnection] HeartRateConnection.HeartRateDataUpdate heart rate value changed. Value: 101 Device: Polar H10 86A67320
09-04 21:42:48.556  1196  8411 V mono-stdout: [69] [Trace:HeartRateHelper] Ignoring attempt to set Pulse value (101). Too many values
09-04 21:42:49.551  1196  8411 V mono-stdout: [69] [Trace:HeartRateConnection] HeartRateConnection.HeartRateDataUpdate heart rate value changed. Value: 101 Device: Polar H10 86A67320
09-04 21:42:50.551  1196  8411 V mono-stdout: [69] [Trace:HeartRateConnection] HeartRateConnection.HeartRateDataUpdate heart rate value changed. Value: 100 Device: Polar H10 86A67320
09-04 21:42:51.548  1196  8411 V mono-stdout: [69] [Trace:HeartRateConnection] HeartRateConnection.HeartRateDataUpdate heart rate value changed. Value: 99 Device: Polar H10 86A67320
09-04 21:42:51.551  1196  8411 V mono-stdout: [69] [Trace:HeartRateHelper] Ignoring attempt to set Pulse value (99). Too many values
09-04 21:42:52.545  1196  8411 V mono-stdout: [69] [Trace:HeartRateConnection] HeartRateConnection.HeartRateDataUpdate heart rate value changed. Value: 97 Device: Polar H10 86A67320
09-04 21:42:53.544  1196  5395 V mono-stdout: [70] [Trace:HeartRateConnection] HeartRateConnection.HeartRateDataUpdate heart rate value changed. Value: 97 Device: Polar H10 86A67320
09-04 21:42:55.037  1196  5395 V mono-stdout: [70] [Trace:HeartRateConnection] HeartRateConnection.HeartRateDataUpdate heart rate value changed. Value: 97 Device: Polar H10 86A67320
09-04 21:42:55.537  1196  5395 V mono-stdout: [70] [Trace:HeartRateConnection] HeartRateConnection.HeartRateDataUpdate heart rate value changed. Value: 97 Device: Polar H10 86A67320
09-04 21:42:56.536  1196  5395 V mono-stdout: [70] [Trace:HeartRateConnection] HeartRateConnection.HeartRateDataUpdate heart rate value changed. Value: 97 Device: Polar H10 86A67320
09-04 21:42:57.536  1196  5395 V mono-stdout: [70] [Trace:HeartRateConnection] HeartRateConnection.HeartRateDataUpdate heart rate value changed. Value: 97 Device: Polar H10 86A67320
09-04 21:42:58.529  1196  5395 V mono-stdout: [70] [Trace:HeartRateConnection] HeartRateConnection.HeartRateDataUpdate heart rate value changed. Value: 98 Device: Polar H10 86A67320
09-04 21:42:59.528  1196  5395 V mono-stdout: [70] [Trace:HeartRateConnection] HeartRateConnection.HeartRateDataUpdate heart rate value changed. Value: 98 Device: Polar H10 86A67320
09-04 21:43:00.524  1196  5395 V mono-stdout: [70] [Trace:HeartRateConnection] HeartRateConnection.HeartRateDataUpdate heart rate value changed. Value: 97 Device: Polar H10 86A67320
09-04 21:43:01.523  1196  1207 V mono-stdout: [64] [Trace:HeartRateConnection] HeartRateConnection.HeartRateDataUpdate heart rate value changed. Value: 97 Device: Polar H10 86A67320
09-04 21:43:02.519  1196  1207 V mono-stdout: [64] [Trace:HeartRateConnection] HeartRateConnection.HeartRateDataUpdate heart rate value changed. Value: 97 Device: Polar H10 86A67320
09-04 21:43:03.519  1196  1207 V mono-stdout: [64] [Trace:HeartRateConnection] HeartRateConnection.HeartRateDataUpdate heart rate value changed. Value: 97 Device: Polar H10 86A67320
09-04 21:43:04.515  1196  1207 V mono-stdout: [64] [Trace:HeartRateConnection] HeartRateConnection.HeartRateDataUpdate heart rate value changed. Value: 97 Device: Polar H10 86A67320
09-04 21:43:05.512  1196  1207 V mono-stdout: [64] [Trace:HeartRateConnection] HeartRateConnection.HeartRateDataUpdate heart rate value changed. Value: 97 Device: Polar H10 86A67320
09-04 21:43:06.510  1196  1207 V mono-stdout: [64] [Trace:HeartRateConnection] HeartRateConnection.HeartRateDataUpdate heart rate value changed. Value: 99 Device: Polar H10 86A67320
09-04 21:43:08.006  1196  1207 V mono-stdout: [64] [Trace:HeartRateConnection] HeartRateConnection.HeartRateDataUpdate heart rate value changed. Value: 99 Device: Polar H10 86A67320
09-04 21:43:08.506  1196  1207 V mono-stdout: [64] [Trace:HeartRateConnection] HeartRateConnection.HeartRateDataUpdate heart rate value changed. Value: 99 Device: Polar H10 86A67320
09-04 21:43:09.506  1196  1207 V mono-stdout: [64] [Trace:HeartRateConnection] HeartRateConnection.HeartRateDataUpdate heart rate value changed. Value: 98 Device: Polar H10 86A67320
09-04 21:43:10.500  1196  1207 V mono-stdout: [64] [Trace:HeartRateConnection] HeartRateConnection.HeartRateDataUpdate heart rate value changed. Value: 97 Device: Polar H10 86A67320
09-04 21:43:10.502  1196  1207 V mono-stdout: [64] [Trace:HeartRateHelper] Ignoring attempt to set Pulse value (97). Too many values
09-04 21:43:11.498  1196  1207 V mono-stdout: [64] [Trace:HeartRateConnection] HeartRateConnection.HeartRateDataUpdate heart rate value changed. Value: 96 Device: Polar H10 86A67320
09-04 21:43:12.495  1196  1207 V mono-stdout: [64] [Trace:HeartRateConnection] HeartRateConnection.HeartRateDataUpdate heart rate value changed. Value: 96 Device: Polar H10 86A67320
09-04 21:43:13.493  1196  1207 V mono-stdout: [64] [Trace:HeartRateConnection] HeartRateConnection.HeartRateDataUpdate heart rate value changed. Value: 96 Device: Polar H10 86A67320
09-04 21:43:14.498  1196  1207 V mono-stdout: [64] [Trace:HeartRateConnection] HeartRateConnection.HeartRateDataUpdate heart rate value changed. Value: 97 Device: Polar H10 86A67320

no longer listening for UDP broadcasts

Occasionally seeing these errors:

01-23 14:32:42.957 1397 9077 I QZ:UDPListenerService: Waiting for UDP broadcast
01-23 14:32:42.998 1397 8316 I QZ:UDPListenerService: Got UDP broadcast from 192.168.1.253, message: -1;-100
01-23 14:32:42.998 1397 8316 I QZ:UDPListenerService: -1;-100
01-23 14:32:42.998 1397 8316 I QZ:UDPListenerService: requestSpeed: -1.0 0.8
01-23 14:32:42.998 1397 8316 I QZ:UDPListenerService: requestInclination: -100.0 0.5
01-23 14:32:42.999 1397 9077 I QZ:UDPListenerService: no longer listening for UDP broadcasts cause of error Socket closed
01-23 14:32:43.000 1397 8316 I QZ:UDPListenerService: Waiting for UDP broadcast

and

01-23 14:32:43.616 1397 8316 I QZ:UDPListenerService: Waiting for UDP broadcast
01-23 14:32:43.621 1397 8316 I QZ:UDPListenerService: Got UDP broadcast from 192.168.1.253, message: -1;-100
01-23 14:32:43.621 1397 8316 I QZ:UDPListenerService: -1;-100
01-23 14:32:43.621 1397 8316 I QZ:UDPListenerService: requestSpeed: -1.0 0.8
01-23 14:32:43.621 1397 8316 I QZ:UDPListenerService: requestInclination: -100.0 0.5
01-23 14:32:43.624 1397 8316 I QZ:UDPListenerService: no longer listening for UDP broadcasts cause of error bind failed: EADDRINUSE (Address already in use)
01-23 14:32:52.908 1397 1397 I QZ:UDPListenerService: Service started
01-23 14:32:52.910 1397 9446 I QZ:UDPListenerService: Waiting for UDP broadcast

The first error doesn't seem to cause any interruption in the UDPListernerService, but the second one missed ~9 seconds of input. Obviously this could cause errors in a custom workout.

Running QZ on a Mac and QZCompanion on a NordicTrack EXP7i.

Any thoughts on this and how to keep it from interfering with workouts?

Thanks!

debugNew.log
newcat.log

Proform 2000 Treadmill

Hi,I was able to get the coordinates. These are as accurate is I could get. If there is an easier way to do this via a log/dump etc let me know. Speed Lowest viable on slider is 1 & highest is 19Tap increments by button increase it by .1 & actual highest is 19.3X is 1195 & y changes as I slide it up1 y is 5983 is 631.2 19 is 255.618 is 289.16 is 318.614 348.613 is 378.511 is 402Inc line how’s from -3 to 12Default is 0Y is 79.3-3 is 595.2-2 562.20 is 522.21 is 489.32 is 465.34 is 439.511 is 289.612 is 252.5

originally posted here fb4ff40#commitcomment-91666555

Failing to connect to NordicTrack T14.0

I managed to enter privileged mode forever. I installed the app from the web. The app on the android just allows me to barely select the model. Is that okay behavior?

In the QZ companion app I select Other as I don't see my version on the list. After setting all the options in the QZ Fitness app, it still says "Connecting" after multiple restarts. When I start the treadmill the numbers in the app don't change.

PXL_20230903_121439410
Screenshot_20230903-151609
Screenshot_20230903-151634

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.