Ticket Created
over 3 years ago

CIQQA-1102

info.trainingEffect returns a value before starting an activity when my expected behavior is to be null or 0

I posted this thread asking a question, but here is the same information.

I tried creating a Data Field that used Activity.Info.trainingEffect in a calculation. The api-docs for this property state that this property contains The Training Effect score of the current activity.

 I got unexpected results running on my Fenix 6S (the actual device, not a simulator). I did some further testing and found the following behavior:

  1. If you have selected an Activity type on a watch (Running, Walking, Cardio, whatever) but haven't started the activity, info.trainingEffect returns the final value of the most recent previous activity. Not even the last workout of the same Activity type, but the most recent activity, period. If you pull this data on a new Walking activity, and your last activity was Cardio, it will show you the Training Effect value from that Cardio activity.

  2. Once you Start your new activity, the value of info.trainingEffect drops to 0. It will then accurately reflect the current activity through all starts and stops up until the activity is saved.

I tested recording multiple activities in a row in case this would return the highest training impact (sort of like how Garmin Connect may show the highest for the day) but again, it's the most recent activity.

Prior to starting a new activity, I expected this to either be null, or to be 0. It means that if you look at data screens before you get started, any value based on Training Effect could be incorrect. I tested this with both Simple and Complex Data Fields and got the same result.

This behavior does not line up with the documentation. It seems like either there is a bug in the firmware and the wrong value is being returned, or the documentation is inaccurate and is missing information about what this field will return in different scenarios.