Git Product home page Git Product logo

cagnulein / qdomyos-zwift Goto Github PK

View Code? Open in Web Editor NEW
358.0 13.0 107.0 386.2 MB

Zwift bridge for smart treadmills and bike/cyclette

Home Page: https://www.qzfitness.com/

License: GNU General Public License v3.0

C++ 57.94% QMake 0.35% QML 6.65% Dockerfile 0.01% Java 2.43% C 16.85% Objective-C++ 1.14% Objective-C 0.42% Makefile 8.95% Swift 1.46% CMake 0.39% JavaScript 1.93% CSS 0.02% HTML 0.60% Lua 0.22% Batchfile 0.01% Inno Setup 0.01% Python 0.16% Assembly 0.46%
zwift domyos treadmill qt bluetooth bluetooth-low-energy zwift-bridge qdomyos-zwift raspberry raspberry-pi

qdomyos-zwift's Introduction

qdomyos-zwift

Zwift bridge for Treadmills and Bike!

QZ is not affiliated with or endorsed by any subscription service or maker of exercise equipment.

Buy Me A Coffee

Features

UI Features

Feature Bike Treadmill Elliptical Rower Notes
Tiles Customization X X X X Order and visibility of each tile
Profiles X X X X Different user or different fitness device profiles
UI Zoom Customization X X X X

Peloton Features

Feature Bike Treadmill Elliptical Rower Notes
Bike metrics on the peloton app X X
Power zone with auto resistance X
Peloton real-time resistance conversion X X with the possibility to customize it
Peloton real-time auto-resistance X X with the possibility to customize it
Peloton auto speed and auto inclination X X with the possibility to customize it

Heart Rate Features

Feature Bike Treadmill Elliptical Rower Notes
Heart Rate support X X X X Apple Watch, ANT+ devices and Bluetooth devices
Heart Rate Zones Customizations X X X X
Ability to calculate Wattage from HR and Cadence X for the bikes that doesn't have a power sensor

3rd Apps Compatibility

Feature Bike Treadmill Elliptical Rower Notes
Zwift Compatibility X X X X
Zwift Auto resistance X X
Zwift Auto inclination and speed X X https://www.youtube.com/watch?v=KTQ2n7yeDbo
Wahoo RGT Compatibility X X X X
VzFit Compatibility X X X X
Rouvy Compatibility X X X X
IFIT app Compatibility X
Echelon app Compatibility X
Wahoo Dircon Compatibility X X X X in order to send data to Zwift or RGT with Wifi only!
One device only support for Zwift and Wahoo RGT X X X X using Wahoo Dircon https://www.youtube.com/watch?v=gYYUXNWFAok
BitGym Compatibility X X X X

Training Program

Feature Bike Treadmill Elliptical Rower Notes
Builtin video support (Kinomap like) X X X X Files could be local or on the cloud!
GPX auto following X X X X
2D/3D maps for GPX X X X X
ZWO (Zwift workout file) compatibility X X X X
XML Workout file compatibility X X X X
Auto follow workout based on your heart rate X X X X
Random workout X X X X

Statistics

Feature Bike Treadmill Elliptical Rower Notes
E-Mail report X X X X at the end of the workout
Strava integration X X X X press stop at the end of the workout to auto upload it

Misc

Feature Bike Treadmill Elliptical Rower Notes
Resistance shifting with bluetooth remote X X
TTS support X X X X

Installation

You can install it on multiple platforms. Read the installation procedure

Tested on

You can run the app on Macintosh or Linux devices. IOS and Android are also supported.

QDomyos-Zwift works on every FTMS-compatible application, and virtually any bluetooth enabled device.

No GUI version

run as

$ sudo ./qdomyos-zwift -no-gui

Reference

https://github.com/ProH4Ck/treadmill-bridge

https://www.livestrong.com/article/422012-what-is-10-degrees-in-incline-on-a-treadmill/

Icons used in this documentation come from flaticon.com

Blog

https://robertoviola.cloud

qdomyos-zwift's People

Contributors

acgourley avatar bartek-siudeja avatar benriou avatar bepo7012 avatar bstoney avatar cagnulein avatar d3m3vilurr avatar doudar avatar drmason789 avatar gelma avatar grantland avatar greghesp avatar gungun974 avatar hortocam avatar jwatral avatar lifof avatar mo1425z avatar nzbrian avatar p3g4asus avatar pascal-bourut avatar punk-kaos avatar rjbutler avatar takiora avatar vaibhav-009 avatar victorypoint avatar vivekboii avatar wooaf avatar yusuf-demiryurek 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  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  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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

qdomyos-zwift's Issues

feature request: watch and restart

had a seg fault today with pi0w and t900c, unfortunately I didn't have logging on and will catch it next time and open a new issue, but it gave me an idea

maybe we'll never eliminate all seg faults as they may be limitations of the hardware (treadmill just not great with bluetooth)

so the idea: when i had seg fault i could just re-run the script and it connected back to zwift and treadmill - so could we implement a "wrapper" that:

  1. starts the script and begins an infinite while loop (i'm talking in way I understand programming in php, you'll have to convert to how to write in C ๐Ÿ˜„ ) which exits only when you press CTRL+C or close the GUI
  2. it checks for speed.txt and if exists, configures the treadmill to this speed on startup
  3. the while loop is constantly checking for the seg fault message
    3.1 if seg fault is found, it restarts the process, and if speed.txt is found it automatically sets the start speed to this
    3.2 if no segfault is found, it just keeps looping, checking the speed and writing to speed.txt
  4. when it detects a safe shutdown - CTRL+C or GUI closed, it deletes the speed.txt and stops the script

i appreciate it wouldn't be as easy as that, but I'm just trying to give you an idea of how I'd do something similar in a much easier php ๐Ÿ˜†

Toorx TRX Route Key

I saw your comment on https://www.runningforum.it/viewtopic.php?p=2406295&sid=a47271253baef7f6a8259d9d0ade916f#p2406295 and I'd be happy if you could help me reverse-engineer the Bluetooth protocol of the TRX Route Key. I tried to contact Toorx/Garlando, but they did not respond.

I'm not sure if I want to use Zwift but in the first place I'd like to collect distance/incline data from the threadmill using a Raspberry Pi.

I have an Samsung S7 phone (Android 8) and a Huawei Mediapad M5 lite but I have no idea how to sniff the bluetooth traffic. Can you give me some hints?

Thanks.

Add pace to UI

@drainuzzo

About that do you think it is possible to insert a pace/km value also? Would be nice even if probably not so accurate...

from #32

macOS binary issue

@cagnulein I installed the QT package on my mac and then I launched your compiled 0.8 version.
But I'm obtained the following messages.
Have you some help for me?
Thank you

/Users/Alberto/Downloads/qdomyos-zwift ; exit;
Alberto@Albertos-MacBook-Pro ~ % /Users/Alberto/Downloads/qdomyos-zwift ; exit;
dyld: Library not loaded: @rpath/QtWidgets.framework/Versions/5/QtWidgets
Referenced from: /Users/Alberto/Downloads/qdomyos-zwift
Reason: image not found
zsh: abort /Users/Alberto/Downloads/qdomyos-zwift

[Process completed]

Originally posted by @alpat59 in https://github.com/cagnulein/qdomyos-zwift/issue_comments/711416056

Domyos Bike 500 - Econnected Snoop Log

I connected my Bike 500 to the eConnected app to capture a very short Snoop log before I had to leave for work.

Screenshot_20201104-082146

I tried to maintain a steady cadence and change the resistance levels on the bike's console to get some sort of usable log.

btsnoop_hci.log

One thing I did notice was that when eConnected opened and detected the bike, 'bluetooth' scrolled across the middle of the bike's console. I don't recall ever seeing that before :/

Synology - docker

Hi,

Can you make a Docker image, to run it on Synology?

Thank you for effort, Mitcho

CONTEST: How long is your longest session on qdomyos-zwift?

I had this idea during my LL today. For the first time, i ran for 1h 40m on my treadmill with my qdomyos-zwift on my raspberry pi0w! I guess the raspy was more sweaty than me ๐Ÿ˜†

So i had this idea: why don't create a report ticket in order to collect our longest session. In this way we could keep tracking about uptime issues on new commits.

I used for this session commit 53e25c8

Enjoy your ride!

ZWIFT Link: https://www.zwift.com/athlete/8cae4391-9f2a-4627-96e3-b55cebc17a02

Screenshot_20201102_154237_com strava

VIDEO/PHOTO of your setups

I would like to create a short Youtube video in order to describe quickly the project.
I guess it should be useful and funny if i will add some of your videos playing with qdomyos-zwift.

So feel free to put here anything releated to your setup, even video files.

Thanks

Logs from T900C

Hello,

thanks for the great work.
I tested, by curiosity, with my Domyos T900C + RPi3 type B.
It fail during the BLE discovery. (I switch on T900C, launch the latest release)
Probably incompatible as it's older generation.

Here are the logs if it can helps : (didn't find anything else in /var/logs)
I'm no more really familiar with C++ but happy to test if required.

sudo ./qdomyos-zwift
Found new device: "Domyos-TC-1441" ( "00:00:0C:1B:15:01" )
qt.bluetooth: Using BlueZ LE DBus API
Controller connected. Search services...
serviceDiscovered "{00001801-0000-1000-8000-00805f9b34fb}"
serviceDiscovered "{0000180a-0000-1000-8000-00805f9b34fb}"
serviceDiscovered "{49535343-fe7d-4ae5-8fa9-9fafd205e455}"
serviceScanDone
stateChanged QLowEnergyService::ServiceState(DiscoveringServices)
stateChanged QLowEnergyService::ServiceState(ServiceDiscovered)
creating virtual treadmill interface...
qt.bluetooth: Using BlueZ kernel ATT interface
stateChanged QLowEnergyService::ServiceState(InvalidService)

Autostart qdomyos-bridge on Raspberry Pi boot.

Have any of you using a Pi managed to get the bridge to work automatically at boot? I managed it once briefly by modifying the /etc/xdg/lxsession/LXDE-pi/autostart script. The bridge ran briefly and then disappeared. No logs were created I could check.
I think (guessing) it could be a root issue and I need to use a bash script?

Domyos Intense Run - distance and time falled to 0 on treadmill console 35 minutes after the start

just a little issue but I don't know if relatad to your app, distance and time falled to 0 on treadmill console 35 minutes after the start, but there wasn't issue in communication between zwift and the treadmill.

if you will see it again, send me the full log. i will try to understand. thanks

Originally posted by @cagnulein in #22 (comment)

Hi @cagnulein, this issue happened again.
On 4 sessions it happened 2 times.
Appart from that everything works great :)

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.