Skip to content

florianpasteur/zwift-smart-fan-controller

Repository files navigation

Zwift Smart Fan Controller

> zwift-smart-fan-controller --help

Options:
  --help     Show help                                                 [boolean]
  --version  Show version number                                       [boolean]
  --config   path to JSON config file                                   [string]
 

Config

To configure command use a JSON config file.

{
  "fanIP": "192.168.1.127",
  "dataProvider": "zwift",
  "observedData": "power",
  "antConfig": {
    "wheelCircumference": 2.120
  },
  "zwiftConfig": {
    "zwiftID": 1231421,
    "pollingInterval": 2500
  },
  "thresholds": {
    "power": {
      "level1": 0,
      "level2": 10,
      "level3": 20
    },
    "speed": {
      "level1": 0,
      "level2": 20,
      "level3": 30
    },
    "hr": {
      "level1": 70,
      "level2": 120,
      "level3": 150
    }
  }
}
  • fanIP: IP or hostname of the fan (use 0.0.0.0 to enable fan mock)

  • dataProvider: zwift, ant, mock select data provider for the observedData

  • observedData: power, speed, hr, activity select data thresholds that trigger fan level change

  • antConfig: Specific configuration for ant data provider

    • wheelCircumference: size of the wheel in meters - Size chart
  • zwiftConfig: Specific configuration for zwift data provider

    • zwiftID: Your zwift ID, more detail in the Get Zwift ID Section
    • pollingInterval: Pulling interval in milliseconds, (keep a value not too high)

Installation

npm install -g git+ssh://[email protected]:florianpasteur/zwift-smart-fan-controller.git

Get Zwift ID

s-zwift-get-zwift-id.png

Ant+ Driver on Windows

Use Zadig to install the WinUSB driver for your USB device. Otherwise you will get a silent LIBUSB_ERROR_NOT_SUPPORTED error when attempting to open devices.

s-zadig.png

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published