Skip to content

idl3r/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, 
    "smoothCycles": 1,
    "delayFanUp": 1,
    "delayFanDown": 1
  },
  "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

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

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

  • undefFanLvl: Fan level when data provider returns undefined

  • 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)
    • smoothCycles: fan control will take the average of data from recent several polling cycles to determine the fan level. Set to 1 for instant fan level switching.
    • delayFanUp: delay several cycles before turning the fan level up. Set this value above 1 if you don't want the fan to respond to short sprint efforts.
    • delayFanDown: delay several cycles before turning the fan level down. Set this value above 1 if you don't want the fan to respond to brief recovery.

Installation

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

Get Zwift ID

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 98.7%
  • Shell 1.3%