SuuntoPlus Guide - Description

Content

This document illustrates the following information:

  • Introduction
  • SuuntoPlus guide API
  • Example guides
  • SuuntoPlus Guides in watch
  • SuuntoPlus Guides in SuuntoApp
  • SuuntoPlus Guide File Description
  • SuuntoPlus Guide identification in FIT File

Read more about SuuntoPlus in Suunto.com SuuntoPlus .


Introduction

The SuuntoPlus Guides tries to bring next generation guidance for athletes wrist. With SuuntoPlus Guides innovative sport apps can provide their training plans, intervals, race plans, virtual challenges, motivational messages to Suunto watches. The SuuntoPlus Guides will enable the Suunto Partner company to push the versatile guidance features without being too much restricted of the use case by to Suunto. The content from the apps illustrated in watch can therefore help athlete using to push him/her forwards, get motivation, know what to expect. Historically this type of use cases has been possible to create by digital apps / services only by creating an app or embedded software to wearable device, its limiting many companies to build these real-time guidance as the needed investments are quire high. Same time the sports apps are usually connected with wearable cloud APIs such as with Suunto Cloud API to fetch workout data, in order to illustrate and analyse the runs/rides/swims. Now the the SuuntoPlus Guide model is enabling sports apps to bring their own presence via simple integration to Suunto Cloud API.

SuuntoPlus Guides are compatible with Suunto 3, Suunto 5 and Suunto 9 family prodcuts.

The picture illustrates the simple model how the SuuntoPlus Guides work.


SuuntoPlus Guide API

The following document illustrates the key principels of using the SuuntoPlus Guide API .

SuuntoPlus Guide API

This document explains how to use teh API with:

  • Prepare Suuntoplus Guide File
  • Create Suuntoplus Guide
  • Create Suuntoplus Guide
  • Additional Guide API operations- List Guides, Update Guide, Delete guide
  • Working with Mobile App
  • Working with Suunto Watch

Examples Guides

Following PDF has two example guides Example guides in PDF

  • Example - “Interval training - The example here illustrates an interval workout operated in watch
  • Example - Race Plan guide. - The example here illustrates a race plan that give user information throughout the race.

SuuntoPlus Guides in watch

Language and localisation

Language: SuuntoPlus Guide provider is responsible to provide the content in the user language. Suunto watch does not translate text used in the guide. The watch owner however can have settings in watch that are metric or imperial. Similary he/she can have the watch language set to his/her own needs. For example: “if guide has “push hard for next mile”, watch might be showing distance in metric as his / her watch settings is set as metric as well the watch language could be in Swedis or German language”

Font support

  • As some devices are very limited on resources, the supported character set used in font rendering is limited
  • Minimum supported character set: !"#$%&'()*+,-./0123456789:;<=>?ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz|°
  • Most fonts support wider set than the minimum, but this isn’t guaranteed
  • In case a text contains a character that the device can’t render, it is ignored or some unsupported -icon is rendered instead

Supported user interfaces

Here are illustration of user interfaces. The watch will illustrate the content, functionalities based on how many fields the guide file has. So how many fields the file has will define the display type. These UI views adapted to different watch screen sizes by Suunto.It good practice to keep the volume of content small to keep this as clear as possible for athletes

  • Text Only: The texts only are great to give guidance for a workout when user has time to read this. For example in strength training session, at the break of the tennis game or recovery period in interval session.
  • Text with one field: Using some text guidance with a variable gives a way to give the guidance and information related to the guidance. Informing about the pace or cadence at the same time when informing how to use this can have unique benefit. Keep the text shorter and remember the user scenario where this model fits.
  • Three fields with optional target: The 3 field display is best when the information needs to be shown quickly such as in intense workout. The target setting is shown as own type of element which is optional..
  • Five fields with optional target: The five field display works nicely when user is able to view the fields, this can be in long hike , or when looking at watch in handlebar.
  • Five fields with optional target: The five field display works nicely when user is able to view the fields, this can be in long hike , or when looking at watch in handlebar.
  • Seven fields: The 7 fields screen is data heavy view. This is useful when display can be looked at carefully. The scenario could be for example a easy indoor trainer ride where one would be interested to see several different stats and can check that data which is interesting (i.e. keeping in the screen average, realtime, max heart-rate and simultaneously average, max and realtime power).
  • Notificaiton: The popup is shown always for short period of time and its given to user even if the user is not in the guide screen. This is good way to alert the user to check the watch, but should be used carefully as it can become annnoying to have too many notificaitons.

Examples

  • Text Only: Coach X (the app name) Shows guidance for a upcoming drill ie. for few seconds before the drill stats. “For next repeat, keep frequency high, hips high and ensure good posture!.

  • Text with one field: Coach X (the app name) Shows raceplan infotext: “Aid station available at 23km mark. Drink 2 -3 dl!” with total distance value 22.12km.

  • Text with two fields: Coach X (the app name) Shows guidance text while doing the drill in this case when cycling “Keep the cadence above 100!”” with cadence being measured in the example 101 and countdown timer which is 58’6 seconds still left .

  • Three fields with optional target: Coach X (the app name) Three fields measured pace 3’51min/km, step countdown distance left 450m heart rate of 165 The target Target is shown as value and as cauge element Gauge The target of 75% from HR threshold with 70%-80% range is shown as a gauge.
  • The last image shows also the order of the fields are placed to the screen from JSON file

  • Five fields with optional target: Coach X (the app name) Five fields measured power of 329 watts, Target power as static number of 340 watts lap measured power of 321 watts Step countdown duration as 3’11 current heart rate of 165 The target Target is shown as value and as cauge element Gauge The target of 75% from power threshold with 70%-80% range is shown as a gauge.
  • The image shows also the order of the fields are placed to the screen from JSON file

  • Seven fields: UTMB (the title of the feature Seven fields Ascent climbed 3245m Descent done 1230m 860m to finish (countdown to given distance Distance done 21.3km Total duration currently 2h23min 48 seconds
  • The last image shows also the order of the fields are placed to the screen from JSON file

  • Notification: Next hour, Rain and bit of clouds. Wind 8m/s north-west. Temp 18C.

Texts on UI and the lengths

Illustration of the character set. Its good practice to test own guides with watch to see how clear the UI is. As the Suunto watch is being used in running, cycling, swimming perhaps in hectic environment.. many times less is more


SuuntoPlus Guides in Suunto App

The guide will show as a SuuntoPlus Guide in Suunto App. Watch owner will be able to see the list of the guides he/she has on dedicated view. The new guide will flow automatically to Suunto watch when watch is sycnhed with Suunto App. There can be several guides in the watch, but there is device dependent limit of the storage volume. The guide which have not been use, or are the oldest are automatically removed from the watch as new guides flow to the watch


Guide Reference

The following PDF document has the SuuntoPlus Guide reference document Guide JSON reference.

Version

Filename

Type

Optional/Mandatory

Restrictions

Description

Example

v1

guide.json

JSON

Mandatory

A valid guide JSON.

The contents of the guide. See the details on this page below.

See the examples on this page.

v1

manifest.json

JSON

Mandatory

A valid manifest JSON.

Small JSON file that declares the type, name, description and owner of the guide.

The type should always be ‘sequence’.

‘name’, ‘description’ and ‘owner’ should match the fields in guide.json.

{
"name" : "15 min zone 3 hr, 5 min z/4-5",
"type" : "sequence",
"owner" : "PartnerCompany X",
"description" : "BT: Step-ups. Warm up building to zone 3 heart rate. Hold for 15 minutes. Then step-up to zone 4-5a heart rate for 5 minutes. Relaxed form. Cool down."
}

 

v1

icon.png

PNG

Mandatory

300 x 300 size

PNG

Image that can illustrate the content / brand of the content in mobile app when shown for the user.

There will be more definition/ guidelines on restrictions & possibilities with the images in Suuntoplus guide list. (e.g. size, transparency, shape, palette, …, …)

 

 

Guide JSON reference

A guide is described using the JSON keys and properties defined in this section.

When reading below sections take into account:

  • “Mandatory” means that the property must be present and with a valid value for the guide to be valid.

  • “Optional” the property can be omitted.

  • “TBD” - To be defined.

  • Guide will end with text

    • SuuntoPlus Guide ended"

    • This will be shown after the final step has concluded. If you want to have your own “end step information” you can have last step that lasts for longer duration which will stay visible

    • Its good idea to let user also to know with notification that the guide has ended, so your guide last step could be the notification “Session ended”

Root object

The following table show the different properties the guide JSON supports:

 

Version

Key

Type

Optional/Mandatory

Restrictions

Description

Example description

Example Syntax

v1

name

string

Mandatory

1 - 60 characters

Name of the content, will be shown in app/watch.

Pyramid interval

“name”: "Pyramid Interval"

v1

description

string

Mandatory

1 - 256 characters

Text description. Shown in app, if user wants to know more.

Hard session which will impact your an-aerobic threshold pace

“description”: "Hard session which will impact your an-aerobic threshold pace"

v1

shortDescription

string

Optional

1-23 characters

Short text description. Shown in guide selection list below guide names on the watch.

Hard

“shortDescription”: “Hard”

v1

localDate

string

Optional

ISO-8601

The guide can be linked to a date, optional.

This defines the date when this guide is the most relevant, this could be for example the plan for a race date or interval workout that user should do tomorrow.

The date is in user’s local time.

2021-06-28

localDate”: “2021-06-28”

v1

type

string

Mandatory

“sequence”

Type of guide being used. First version supported is sequence which will run a sequence of steps based on duration / distance / manual button press.

Future versions might have i.e. location and segments. Where the guide is operated based on the location or section of the track. New types might be supported with future versions.

First version

  • Sequence

Upcoming options, not yet supported

  • Location

  • Segment

Sequence guide

"type": "sequence"

v1

activities

array of numbers

Optional

See “SuuntoApp” in activities list.

Which activities the guide is recommended for.

Recommended for running

"activities": [1]

v1

usage

string

Mandatory

“workout” in v1
Future versions might support “diary”.

Daily use or during workouts. Current version supports only the use during the workouts as part of Suunto sport modes.

 

"usage": "workout"

v1

owner

string

Mandatory

1- 64 characters

The owner is the name of the guide creator. This will be illustrated in watch/mobile.

Coachingplatform

"owner": "CoachingPlatform"

v1

url

string

Optional

1-256 characters, a valid URL.

Link to learn more /read more

http://www.suunto.com/suunto9

"url": "http://www.coachingpaltfrom.com/planwebsitetoreadmore",

v1

externalId

string

Optional

1- 64 characters

If guide was synchronized from an app specific entity such as ‘planned workout’, the externalId can be used to store the ID of this source entity.

The field can be useful in synchronisation logic and for debugging purposes.

If a workout was recorded using the guide, the FIT file exported from the workout will contain this externalId. See Suunto Partner API Developer Portal for details.

 

“externalId”: “123456789”

v1

steps

array of Step objects

Mandatory

 

Each of the steps to be shown to the user.

See section “Step object

A guide with one step of type notification showing a couple of text entries.

"steps": [{
"type": "notification",
"createManualLap": true,
"fields": [
{ "type": "text", "value": "Interval #1 - 5min @ 90%" },
]
}]

 

 

Step object

A guide contains an array of steps. At least one step is required.

The first step in the array will be shown as soon as the workout is started by the user.

In order to proceed to following step in the array the defined trigger conditions in the step must be met.

 

Version

Key

Type

Optional/Mandatory

Restrictions

Description

Example description

Example Syntax

v1

type

string

Mandatory

“fields”

Fields type is used to show information in the watch if the user is currently in the guide display. The view on watch is shown with dynamic model where the watch screen will optimize the field values and texts.

Use less fields when the usage is with intense exercise where there is not much time to look at the watch. The Suunto watches have different display size, so usually its good goal to show max 4-5 fields at the time.

The texts can be shown with number values, the values will be prioritized over the text, so too long text will be cropped out.

Prioritize the most important value as first one in the field array. The watch will give best location / biggest size on the watch.

fields type

"type": "fields"

“notification”

Notification type is used to show information in the watch regardless of the current display. Watch tries to get users attention possibly with vibration and/or sound. The notification view is shown a brief period of time. User is able to dismiss the notification with button press.

After a notification the duration and distance values are not reset when the next step starts. For example:

Guide has following steps:

  • Step1 lasts for 60 seconds

  • Notification

  • Step 2 lasts for 60 seconds

This will be shown as:

  • Step 1: shown for 60 seconds and then jumps to

  • Step 2: the new 60 second step starts, but there is first a notification shown for 10 seconds. If user presses buttons, the notification screen is removed.

notification type

"type": "notification"

“repeat”

It's possible to repeat a sequence by using the repeat. The sequence steps within the repeat section is run the number of times given.

Repeat a given sequence of steps three times

"type": "repeat",
"times": 3,
"steps": […]

v1

title

string

optional

1- 13 characters

A short text shown usually on top of the view, single short line

Show Cool Down title

“title”: “Cool Down”

v1

createManualLap

boolean

optional

 

Automatically creates a lap at the start of the current step.
The laps are created in same model as manual laps created by button press.
The lap is marked in the workout log stored in watch and also available in workout FIT file from Suunto Cloud api.

 

"createManualLap": true

v1

trigger

a Trigger object

Optional

 

When the trigger condition is met the next step will be executed.

See section “Trigger object”.

The view is shown until user presses manual lap button

“trigger”: { “type”: “manualLap” }

v1

fields

An array of Field objects

Mandatory for fields and notification types.

 

The view on watch is shown with dynamic model where the watch screen will optimize the field values and texts.

See section “Field object”.

Use less fields when the usage is with intense exercise where there is not much time to look at the watch. The Suunto watches have different display size, so usually its good goal to show max 4-5 fields at the time.

The texts can be shown with number values, the values will be prioritized over the text, so too long text will be cropped out.

Prioritize the most important value as first one in the field array. The watch will give best location / biggest size on the watch.

Show target based on HR, current HR and power and a countdown time.

“type”: “fields,
"fields": [
{ "type": "targetHeartRate", "value": 111 },
{ "type": "heartRate" },
{ "type": "power" },
{ "type": "stepDurationCountdown" }
]

Trigger object

The trigger object is used to determine when the execution will jump to the next step.

 

Version

Key

Type

Optional/Mandatory

Restrictions

Description

Example description

Example Syntax

v1

type

string

Mandatory

“manualLap”

Stays in this step until manual lap button has been pressed.

Manual laps are created by button press. There can be in future other ways to create manual laps such as touch interaction (or the software itself)

Lap button press also creates a manual lap.

The view is shown until user presses manual lap button

“trigger”: { “type”: “manualLap” }

“stepDistance”

Current step is shown until the distance is covered (without pauses). The view / data is shown as long as the given distance is covered.

The step distance is given in meters.

the view is shown for next 500 meters

"trigger": { "type": "stepDistance, "value": 500}

“distance”

Current step is shown until the total distance of the workout distance has reached the given distance.

This would be the same as using several step distances. However the distance trigger is valuable with OR statement

Actual workout distance without pauses.

If the distance is already greater when this step is reached then the step is immediately executed.

The distance is given in meters.

the view is shown until the total distance is 12.5km.

"trigger": { "type": "distance, "value": 12500 }

“stepDuration”

Current step is shown for as long as the given duration (without exercise pauses).

Duration is given in seconds.

the view is shown for 20 minutes (1200 seconds)

"trigger": { "type": "stepDuration", "value": 1200 }

“duration”

Current step is shown until the total duration of the workout has reached the given duration.

This would be the same as using several step durations. However the duration trigger is valuable with OR statement.

Actual workout duration without pauses.

If the duration is already greater when this step is reached then the step is immediately executed.

the view is shown until the total duration is 1 hour.

"trigger": { "type": "duration", "value": 3600 }

“or”

It is possible to use the “or “ statement to define if next step is triggered based on any of the other triggers defined.

For example:

  • give nutrition guidance based on given distance or duration, which ever comes first or

  • skipping a step in circuit training session with manual lap button press even when the training would be planned to go on still

Jump to next step after 20 minutes or if there’s a manual lap.

"trigger": {
"type": "or",
“triggers”: [{ "type": "duration", "value": 1200 }, { "type": "manualLap"} ]
}

v1

value

number

Mandatory for types stepDistance, distance, stepDuration, duration

Use International System of Units (SI):

  • Distance in meters

  • Time in seconds

The value for the given type of trigger.

See examples above

 

v1

triggers

array of trigger object

Mandatory for type or.

 

A set of triggers. If one of the triggers is met then the next step will be executed

See above example for type “or”

 

Field object

Field objects are used to show information to the user visually.

Version

Key

Type

Optional/Mandatory

Restrictions

Description

Example description

Example Syntax

Version

Key

Type

Optional/Mandatory

Restrictions

Description

Example description

Example Syntax

v1

type

string

Mandatory

“text”

Display a static text.

The text can have 1-54 characters. The character set is yet TBD.

The amount of text volume can impact on other fields shown. To be sure, use text only when showing longer texts.

The text can be spitted up to 6 rows with “ \n “

If there are more than 40 characters, there cannot be fields shown at the same time.

Show a view with the text “Uphill section starts!”

{ "type": "text", "value": "Uphill section starts!" }

{ "type": "text", "value": "First \n Second \n row" }

“stepDurationCountdown”

Countdown from given duration starting from the beginning of current step. Duration in seconds. Pauses are not counted.

Show a countdown from 1 minute to 0 with title “Rest”

{ "type": "stepDurationCountdown", “value”: 60, “title”: “Rest” }

“stepDistanceCountdown”

Countdown from given distance starting from the beginning of current step. Distance in meters. Distance without pauses.

Show a countdown from 2000m to 0m with title “Aid Station”

{ "type": "stepDistanceCountdown", “value”: 1000, "title": "Aid Station"}

 

 

 

 

 

 

 

 

 

 

 

Variables

Variables are the data that watch is measuring or has in its memory. This list illustrates the values that are available.

These are usually available for different time windows

  • Workout - The period from start to stop of the running, swimming etc session. If the workout contains several activities such as in triathlon the workout contains all these sub-activities.

  • Step - the step defined in the guide. This is only available for duration and distance.

  • ManualLap - the period between manual laps created. If in guide there are laps created in each step, it is possible to use the lap based values to illustrated data for each step. If user creates manual lap, it impacts the lap data as the manual laps created by the user or by guide are not distinct.

Each value is available as real time and aggregate

  • average - average of the window

  • max - maximum value from the window

  • min - minimum value in the window

For example you can use current heart rate or average heart rate from the lap or average heart rate from the whole workout.

“heartRate”

The heart rate measured from belt or from optical heart rate.
Time periods supported: workout, manualLap
Aggregates supported: average, max, min.

Available for all SuuntoPlus Guide supported products

Show average heart rate for the entire workout.

{ “type”: “heartRate”, “aggregate”: “average”}

“speed”

The measured speed from GPS, speed sensor or acceleration.
Time periods supported: workout, manualLap
Aggregates supported: average, max, min.

Available for all SuuntoPlus Guide supported products. In indoor use will be calculated with acceleration. Can be used also with external sensors.

Show current speed

{ "type": "speed" }

“pace”

The measured pace from GPS, speed sensor or acceleration.
Time periods supported: workout, manualLap
Aggregates supported: average, max, min.

Available for all SuuntoPlus Guide supported products. In indoor use will be calculated with acceleration. Can be used also with external sensors.

Show the max pace from the workout

{ "type": "pace", “aggregate”: “max”}

“power”

The measured power from cycling sensor or running power meter.
Time periods supported: workout, manualLap

The power value is average power from last 3s
Aggregates supported: average, max, min.

Available for all Suunto 5 and Suunto 9 family. Needs an external sensors running or cycling power meter.

Show the max power from the ongoing manual lap.

{ "type": "power", “window”: “manualLap“, “aggregate”: “max”}

“altitude”

The measured altitude from barometer or GPS.
Time periods supported: workout, manualLap.
Aggregates supported: average, max, min.

Available for all Suunto 5 and Suunto 9 family. Altitude is based on barometer & GPS fusion with Suunto 9 Baro and Suunto 9 peak. For other products based on GPS.

 

Show the current altitude

{ "type": "altitude"}

“distance”

The measured altitude from GPS, speed sensor or acceleration.
Time periods supported: workout, step, manualLap.

Available for all SuuntoPlus Guide supported products. In indoor use will be calculated with acceleration. Can be used also with external sensors.

Show the distance of the current step

{ "type": "distance", “window”: “step“}

“duration”

The measured elapsed duration.
Time periods supported: workout, step, manualLap.

Available for all SuuntoPlus Guide supported products.

Show the duration

{ "type": "duration" }

“temperature”

The measured temperature from the wrist.
Time periods supported: workout, manualLap
Aggregates supported: average, max, min.

Available for Suunto 9 baro and Suunto 9 peak.

Show current temperature

{ "type": "temperature" }

“cadence”

The measured cadence from cycling sensor or from wrist in running.
Time periods supported: workout, manualLap
Aggregates supported: average, max, min.

Available for all SuuntoPlus Guide supported products. Can be used also with external sensors in running and cycling.

Show the current cadence

{ "type": "cadence" }

“strokeRate”

The measured stroke rate from watch in swimming.
Time periods supported: workout, manualLap
Aggregates supported: average.

Available for all SuuntoPlus Guide supported products.

Show the average strokerate from the lap

{ "type": "strokeRate", “window”: “manualLap“, “aggregate”: “average”}

“energy”

The measured energy calculated based on workout intensity and duration.
Time periods supported: workout, manualLap.

Available for all SuuntoPlus Guide supported products.

Show the current energy consumption

{ "type": "energy" }

“ascent”

The measured accumulated ascent from barometric altitude or GPS altitude.
Time periods supported: workout, manualLap

Available for all Suunto 5 and Suunto 9 family. Altitude is based on barometer & GPS fusion with Suunto 9 Baro and Suunto 9 peak. For other products based on GPS.

Show the ascent from the ongoing manual lap

{ "type": "ascent”, “window”: “manualLap“}

“descent”

The measured accumulated descent from barometric altitude or GPS altitude.
Time periods supported: workout, manualLap

Available for all Suunto 5 and Suunto 9 family. Altitude is based on barometer & GPS fusion with Suunto 9 Baro and Suunto 9 peak. For other products based on GPS.

Show descent in workout

{ "type": "descent”}

“verticalSpeed”

The measured vertical speed from barometric altitude or GPS altitude.
Time periods supported: workout, manualLap
Aggregates supported: average, max, min.

Available for all Suunto 5 and Suunto 9 family. Altitude is based on barometer & GPS fusion with Suunto 9 Baro and Suunto 9 peak. For other products based on GPS.

Show average vertical speed from the lap

{ "type": "verticalSpeed", “window”: “manualLap“, “aggregate”: “average”}

“swolf”

The measured swimming efficiency from swimming speed and stroke rate in one number.
Time periods supported: workout, manualLap
Aggregates supported: average.

Available for all SuuntoPlus Guide supported products

Show average swolf from the lap

{ "type": "solf", “window”: “manualLap“, “aggregate”: “average”}

“ascentTime”

The measured duration the user has been ascending.
Time periods supported: workout, manualLap.

Available for all Suunto 5 and Suunto 9 family. Altitude is based on barometer & GPS fusion with Suunto 9 Baro and Suunto 9 peak. For other products based on GPS.

Show ascent time from the lap

{ "type": "ascentTime”, “window”: “manualLap“}

“descentTime”

The measured duration the user has been descending.
Time periods supported: workout, manualLap.

Available for all Suunto 5 and Suunto 9 family. Altitude is based on barometer & GPS fusion with Suunto 9 Baro and Suunto 9 peak. For other products based on GPS.

Show descent time from the lap

{ "type": "descentTime”, “window”: “manualLap“}

 

 

Targets

Suunto watches have activity specific zones for running pace, cycling/running power and heartrate. Suunto in default and suggests users to set up the an-aerobic threshold or functional threshold as a limit between zone 4 to zone 5. There is no specific threshold setting in watches.

Open; These can be set in the watch, and are these zones are also stored in the workout settings can be retrieved from the fit file .

“targetHeartRate”

Defines target heart rate with given range
This is good way to set the target, when you know the users intensity zones/levels and you want to make sure the target setting is correctly set.

Available for all SuuntoPlus Guide supported products

Show heart rate target of 150 bpm, with 145-155

{"type": "targetHeartRate", "value": 150, "min": 145, "max": 155}

“targetPower”

Defines target power with given range in watts.

Available for all Suunto 5 and Suunto 9 family. Needs an external sensors running or cycling power meter.

Show power at 260 with the range from 250-270 watts

{"type": "targetPower", "value": 260, "min": 250, "max": 270}

“targetPace”

Defines target pace with given range in m/s.

 

Works for paces faster than approximately 0.56 m/s (30 min/km).

Available for all SuuntoPlus Guide supported products

Show target pace of 4 min/km with range from minimum of 3min 50s / km to 4min 10s /km

{"type": "targetPace", "value": 4.166, "min":4, "max": 4.3747}

targetSpeed

Defines target speed with given range in m/s.

 

 

Available for all SuuntoPlus Guide supported products

Show target speed of 15 km/h with range from minimum of 14.4 km/h to 15.75 km/h

{"type": "targetSpeed", "value": 4.166, "min":4, "max": 4.3747}

“targetCadence”

Defines target cadence with given range in hertz.

Available for all SuuntoPlus Guide supported products

Target cadence would be 90 rpm with range from 84-96.

{"type": "targetCadence", "value": 1.5, "min":1.4, "max": 1.6}

v1

value

string or number

mandatory for text and all target* types.

Use International System of Units (SI)

The value for the given type of field.
For type:

  • text: the text to show (1 - 54 characters).

  • stepDurationCountdown: duration in seconds

  • stepDistanceCountdown: distance in meters

  • target*: either the target value in their respective units or the target percentage from zone.

See above examples

 

v1

title

string

optional

1 - 12 characters

A title to show for the field.

The title for the field should be short, when several fields are on view it would need less than 9 characters. When only one field is shown on the screen, 12 characters can be used.

Show a countdown distance to the finish-line with with title “Finish!”

{ "type": "stepDistanceCountdown", “value”: 1000, "title": "Finish!"}

v1

window

string

Optional for variable types.

“workout”, “step”, “manualLap”

  • Workout - The period from start to stop of the workout. If the workout contains several activities such as in triathlon the workout contains all the sub-activities.

  • Step - the step defined in the guide. This is only available for duration and distance types.

  • ManualLap - the period between last manual lap created (or beginning of workout if none) and current time.

See above examples

 

v1

aggregate

string

Optional for variable types.

“average”, “max”, “min”

  • average - average of the given window

  • max - maximum value in the given window

  • min - minimum value in the given window

See above examples

 

v1

min

number

optional for target* types

Heart rate in beats per minute.
Zone percentage in float.
Cadence in rpm.
Pace in seconds/meter.
Power in watts

The minimum value or percentage to target.

See above examples

 

v1

max

number

optional for target* types

Heart rate in beats per minute.
Zone percentage in float.
Cadence in rpm.
Pace in seconds/meter.
Power in watts

The maximum value or percentage to target.

See above examples

 


Identifying if a your Suuntoplus Guide was used during a workout

The FIT file retrieved from Suunto Cloud API has the idenity of the Guide saved for own analysis purposis. Read more from FIT file reference.

  1. When creating a guide, set a value to the 'externalId' field.
  2. Find your 'client id' from OAuth settings in user profile. See https://apizone.suunto.com/how-to-start.
  3. When parsing a FIT file, find the client id(s) from session.suuntoplus_plugin_owner_id -array and take note of their indices.
  4. Use the found indices to find the external ids from session.suuntoplus_plugin_external_id -array.
  5. Compare the found external ids with the one you've set in Guide 'externalId' field.