Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

TE data for Tread workouts still broken in v4.1.0 #606

Open
kocolosk opened this issue Jan 9, 2024 · 10 comments
Open

TE data for Tread workouts still broken in v4.1.0 #606

kocolosk opened this issue Jan 9, 2024 · 10 comments
Assignees
Labels
Milestone

Comments

@kocolosk
Copy link
Contributor

kocolosk commented Jan 9, 2024

Describe the bug
The fix in #578 to update the CyclingDevice manufacturer worked to restore Training Effect data for Bike workouts, but I'm finding that my Tread workouts are still not reporting TE data over the past few weeks.

To Reproduce
Do a Tread workout. The device is identified as a Forerunner 945. No Aerobic TE is reported in Garmin Connect.

Installation (please complete the following information):
GH Action, using both the console-stable and console-latest images

Additional context
I do see the following in Garmin's FAQ:

NOTE: Indoor runs completed using a supported third-party app, such as Zwift, can affect your training load and therefore impact your Training Status; however, indoor runs will not populate a VO2 max. No activities, including Indoor Runs, uploaded via third-party apps will generate a Training Effect.

I suppose this is why the default device is a Forerunner watch? Not sure. I do know Training Effect on my Tread runs was reporting correctly as late as 12/14/23.

@kocolosk kocolosk added the bug label Jan 9, 2024
@kocolosk
Copy link
Contributor Author

kocolosk commented Jan 9, 2024

Update: copying the updated Tacx device info from #578 as a DEVICE_INFO secret fixed the training effect data for my run. A bit odd to see a cycling trainer as the device for a run but I'll take it :) Perhaps that ought to be the default across the board, if there's no more elegant solution?

I also tried grabbing the device info from an exported TCX of one of my outdoor runs with my Fenix 6 and using that, but it did not work.

@philosowaffle
Copy link
Owner

I'm really surprised using the Fenix 6 device did not work but the taxc did.

I don't have a Tread to do my own testing with, but if there is enough general consensus on switching to Tacx for Runs I'm happy to make it the default (as weird as it is).

@mgsimon
Copy link

mgsimon commented Jan 11, 2024

I think the VO2 max and training load calculations are done on a Garmin device only and the important point might be post processing for the listed application in the Garmin FAQ.

p2g (Tacx) => connect => Garmin device (post processing) => connect

@jayflan
Copy link

jayflan commented Jan 17, 2024

Hi all. Wondering about the Garmin device (post processing) as I'm having an issue not getting a training effect/load for my first peloton bike+ ride. (Sorry if I should have commented elsewhere)

Anyone still having any issues?

Besides the TE/Load not showing (calculating), everything else ran smoothly using the Docker WebUI on my MacBook.

The stats in GC look good and I can see the workout on my Instinct 2x watch. Also shows up as the Tacx Windows App (1.3) on GC.

Yet.......still no TE/Load calc on either the watch or GC. (Unlike my walks on my watch which do show both TE and Load values)

Anyone have any thoughts? (Using stable build 4.1.0 build)

@philosowaffle
Copy link
Owner

philosowaffle commented Jan 21, 2024

In thinking about whether to change this default (and all of the recent TE/TSS/V02 related questions), I've gone down a bit of a rabbit hole in re-thinking how P2G handles Garmin Device Info... namely that it is not very user friendly and it does not provide enough flexibility to configure at the per Exercise Type level.

So I've been playing around with the below. My thinking is this achieves a few things:

  1. Increases visibility into what Devices will be used for each workout type
  2. Allows configuring a global fallback Device
  3. Allows configuring a Device per Exercise Type
  4. Provides a few known Devices (tacx, epic, forerunner) for easier configuration and experimentation

This change is not available yet. I just got the MVP working, it needs a lot more testing before I can hand it off. Early preview in case there are any strong negative reactions to this approach.

UI Screenshots

(click these to see larger version)
2024-01-21_10-20-55

2024-01-21_10-21-45

JSON Config

(note the new deviceInfoSettings object. deviceInfoPath will continue to work, but will be marked as deprecated)

"format": {
      "fit": true,
      "json": false,
      "tcx": false,
      "saveLocalCopy": false,
      "includeTimeInHRZones": false,
      "includeTimeInPowerZones": false,
      "deviceInfoPath": "",
      "deviceInfoSettings": {
        "none": {
          "name": "Forerunner 945",
          "unitId": 1,
          "productID": 3113,
          "manufacturerId": 1,
          "version": {
            "versionMajor": 19,
            "versionMinor": 2.0,
            "buildMajor": 0,
            "buildMinor": 0.0
          }
        },
        "cycling": {
          "name": "TacxTrainingAppWin",
          "unitId": 1,
          "productID": 20533,
          "manufacturerId": 89,
          "version": {
            "versionMajor": 1,
            "versionMinor": 30.0,
            "buildMajor": 0,
            "buildMinor": 0.0
          }
        },
        "rowing": {
          "name": "Epix",
          "unitId": 3413684246,
          "productID": 3943,
          "manufacturerId": 1,
          "version": {
            "versionMajor": 10,
            "versionMinor": 43.0,
            "buildMajor": 0,
            "buildMinor": 0.0
          }
        },
        "circuit": {
          "name": "ads",
          "unitId": 2,
          "productID": 0,
          "manufacturerId": 1,
          "version": {
            "versionMajor": 0,
            "versionMinor": 0.0,
            "buildMajor": 0,
            "buildMinor": 0.0
          }
        },
        "strength": {
          "name": "Forerunner 945",
          "unitId": 1,
          "productID": 3113,
          "manufacturerId": 1,
          "version": {
            "versionMajor": 19,
            "versionMinor": 2.0,
            "buildMajor": 0,
            "buildMinor": 0.0
          }
        }
      },
      "workoutTitleTemplate": "{{PelotonWorkoutTitle}}{{#if PelotonInstructorName}} with {{PelotonInstructorName}}{{/if}}",
      "cycling": {
        "preferredLapType": 0
      },
      "running": {
        "preferredLapType": 0
      },
      "rowing": {
        "preferredLapType": 0
      },
      "strength": {
        "defaultSecondsPerRep": 3
      }
    },

@philosowaffle
Copy link
Owner

  • The new way to customize Device Info is available now on the latest docker tags.
  • The preview Windows exe can be downloaded here.
  • The documentation is here.

This change should be backwards compatible and gracefully handle both versions of configuring Device Info, but it is recommended to move onto the new standard.

  • If you are using the WebUI or Windows Exe, your previous DeviceInfoPath settings will be migrated to the new settings style automatically.
  • If you are using a headless version of P2G (like GitHubActions), then you will need to manually switch over to the new settings style. The values found in the XML file should map one to one with the new JSON config options.

These changes will be included in the next 4.2.0 release.

After the 4.2.0 release is made public, I plan to transfer this issue to the Discussion Forum. I hope that as people discover Device Configurations that work for TE/TSS/VO2, those can be shared and easily configured via these new configuration options.

@philosowaffle philosowaffle added this to the 4.2.0 milestone Feb 4, 2024
@jayflan
Copy link

jayflan commented Feb 4, 2024

Thank you @philosowaffle!

@jayflan
Copy link

jayflan commented Feb 5, 2024

FYI. Updated to the latest version, synced today's ride, and all looks well!

@kocolosk
Copy link
Contributor Author

kocolosk commented Feb 7, 2024

Cool. I updated my GH Actions to use the new DeviceInfo format and ran them using the console-latest image tag.

As before with the XML config, I found that the default Forerunner 945 is not reporting TE data for Tread workouts, but if I set the TacxTrainingAppWin configuration as the "none" default in the DeviceInfoSettings then the post-processing kicks in.

Thanks!

@RicardoNiepel
Copy link
Contributor

  • The new way to customize Device Info is available now on the latest docker tags.
  • The preview Windows exe can be downloaded here.
  • The documentation is here.

This change should be backwards compatible and gracefully handle both versions of configuring Device Info, but it is recommended to move onto the new standard.

  • If you are using the WebUI or Windows Exe, your previous DeviceInfoPath settings will be migrated to the new settings style automatically.
  • If you are using a headless version of P2G (like GitHubActions), then you will need to manually switch over to the new settings style. The values found in the XML file should map one to one with the new JSON config options.

These changes will be included in the next 4.2.0 release.

After the 4.2.0 release is made public, I plan to transfer this issue to the Discussion Forum. I hope that as people discover Device Configurations that work for TE/TSS/VO2, those can be shared and easily configured via these new configuration options.

@philosowaffle Is there again an known issue? I just used your preview version and TE/TSS/VO2 is once again missing from bike activity on Garmin Connect.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

5 participants