Skip to content

ianchi/ifit

Repository files navigation

iFit BLE Client and FTMS Relay

A Python implementation of the iFit custom BLE protocol for communicating with iFit fitness equipment. This library provides a client for the proprietary iFit protocol and includes FTMS (Fitness Machine Service) relay functionality to bridge iFit equipment with standard fitness apps.

Features

  • BLE communication with iFit equipment
  • FTMS (Fitness Machine Service) relay functionality
  • Command-line interface for device interaction
  • Monitor and discovery modes

Installation

# Install with poetry
poetry install

# Install with server support
poetry install --extras server

# Install all extras
poetry install --extras all

Usage

# Run the CLI
ifit --help

Development

# First time setup
./scripts/setup.sh

# Activate virtual environment
poetry shell

# Run linters and type checks
./scripts/lint.sh

# Format code
./scripts/format.sh

# Run tests
./scripts/test.sh

See CONTRIBUTING.md for detailed development guidelines.

Documentation

See the docs/ directory for detailed documentation:

Acknowledgments

This project builds upon the work of others in the fitness tech community:

  • zwifit - For reverse engineering the iFit custom BLE protocol
  • qdomyos-zwift (QZ) - For the comprehensive activation codes list

License

MIT

About

BLE client and FTMS relay for iFit equipment

Resources

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors