GitHunt
KC

kc1r74p/ZWIFT_Rainmeter_Plugin

A simple REST based Plugin for Rainmeter to display information about a ZWIFT account

ZWIFT Rainmeter Plugin

Build
Release

A plugin for Rainmeter to display information about ZWIFT accounts

Distance/month example rainmeter skin using Plugin

  • Month names and formatting of numbers can be adjusted with a locale in the settings.ini

Simple distance per month example

How to use

  1. Download release or build plugin yourself
  2. Copy ZWIFT_RM_API.dll from extracted .zip to
├── <Rainmeter_install_path>\Rainmeter
|   ├── Rainmeter.exe
│   ├── Plugins
│   │   ├── ZWIFT_RM_API.dll <---
│   │   ├── ...
│   ├── ...
  1. Copy Skin or create skin to Rainmeter skin folder
    • not part of release archive but part of this repo: ZWIFT_RM_SKIN
      Example path might then look like:
├── < C:\Users\<USER>\Documents\Rainmeter\Skins
|   ├── SkinExample
│   ├── ZWIFT_RM_SKIN <---
│   │   ├── Bar.ini
│   │   ├── @Resources
│   │   │   ├── Variables
│   │   │   │   ├── settings.inc
│   ├── ...
  1. Edit settings.inc and add your ZWIFT credentials

  2. Restart Rainmeter Process and active Skin

    • This may lag at start due to the fetching of all activities
  3. (Optional) Adjust Bar.ini or create new skin based on provided values

Contribute

There are currently some bad performance limits with the way the data is fetched for each meter, this should be refactored to async fetch data and store it so that reloads are fluid and non blocking.

As for possible values, the API can provide all information which is available in Zwift.
Calories, Activity type (Running, Cycling), Profile info, Level...

Feel free to open PR´s or Issues and enhance this plugin! ❤

Todos - Which would make this plugin more mature

  • Encrypt password on disk/use Windows credentials manager
  • Think about async data fetching storing for fast display/reload
  • Only fetch history of activities which are needed for meter instead of all
  • Allow other meters with
    • Calories
    • Avg speed
    • Flag to diff between: Cycling / Running
    • Zwift Level + Progress
    • Hours per activity
    • Total Distance, Calories, Hours
    • ...

Languages

C#72.5%C++27.1%Batchfile0.4%

Contributors

GNU General Public License v3.0
Created January 24, 2021
Updated February 27, 2023
kc1r74p/ZWIFT_Rainmeter_Plugin | GitHunt