Skip to content

Adjusting watch settings and routes without Movescount

Dominik Stadler edited this page Dec 26, 2022 · 3 revisions

Introduction

As Suunto discontinued movestcount.com, the usual way of syncing Watch settings, sports modes and routes via it is not possible any more.

However there are ways to upload these based on local files without any connection to Suunto servers.

This pages describes how you can do this using the commandline tools openambit-cli and openambit-routes which are part of recent versions of Openambit.

Preparation

  • Use a build of Openambit from latest sources! Older versions and releases do not contain all of the necessary functionality!
  • See the README for compile instructions.
  • In the sources, you will find the binaries in sub-directory openambit-cli-build and openambit-routes-build.

Fetching current settings-files from the watch

This can be done by using openambit-cli as follows

openambit-cli --no-read-logs --no-sync-time --no-sync-orbit --no-sync-navigation --no-write-logs --write-config-json

This will store settings in some files in directory '~/.openambit` which contain the current settings and sports-modes of the watch.

Update personal settings and sports modes

The file settings.json and apprules.json that were fetched from the watch contain various general settings and things like POIs, sports-modes and any compiled applications.

In order to change or add sports-modes, you can take a look at CustomModeGroups and CustomModes. You likely will need a bit trial-and-error to get them right, unfortunately there is no list of the ids for the various available visuals.

Then you can upload the changed files via a commandline like this:

openambit-cli --no-read-logs --no-sync-time --no-sync-orbit --no-sync-navigation --no-write-logs --custom-config settings.json --app-config apprules.json

NOTE: Although the Ambit 2 watches were originally limited to 10 different sports modes, it is actually possible to define more this way. At least up to 15 did work fine.

Upload custom routes

It is a bit more manual work, but it is possible to convert GPX files to routes and upload them to the watch.

The tool openambit-routes can be used to refresh the list of routes on the watch from a local folder.

If you did sync with movescount at some point, Openambit could download the route-files, the usually look as follows: routes_<id>_<name>.json routes_<id>_points_<name>.json

The first file contains information about the route:

{
    "ActivityID": 5,
    "AscentAltitude": 4865.61,
    "CreatedBy": 8,
    "DescentAltitude": 4865.61,
    "Description": null,
    "Distance": 76659,
    "LastModifiedDate": "2012-10-24T12:42:55.3",
    "Name": "Granitland",
    "Points": null,
    "RouteID": 171286,
    "RoutePointsCount": null,
    "RoutePointsURI": "routes/171286/points",
    "SelfURI": "routes/171286",
    "StartLatitude": 48.456324,
    "StartLongitude": 13.992215,
    "Thumbs": 0,
    "TimesUsed": 0,
    "UsersCount": 0,
    "WaypointCount": 0
}

The second file contains the actual points of the track:

{
    "CompressedRoutePoints": null,
    "Points": null,
    "RoutePoints": [
        {
            "Altitude": 540,
            "Latitude": 48.456324,
            "Longitude": 13.992215,
            "Name": null,
            "RelativeDistance": 0,
            "Type": null
        },
...
}

You can use the tool from https://github.com/centic9/gpx2route to convert existing GPX files.

In addition you need the main settings.json which you can retrieve with the command listed in the previous section.

There you need to list all the routes that you would like to upload in RouteURIs:

`"RouteURIs": "routes/171286,routes/1392640494"`

The settings-file needs to be named personal_settings.json

In order to upload a GPX route to your watch you need to convert the GPX file with some script to the JSON-format that is required by Openambit.

Finally you can use openambit-routes as follows to upload all listed routes to your watch

openambit-routes <directory with settings-files>

Development information

If you get stuck and you know a bit of C/C++ you should be able to debug and update how the fetching/uploading of information is done by the tools.

Look at src/openambit-cli and src/openambit-routes for the two commandline applications. There is a Task.cpp for both where the main functionality resides, they both use the lower-level protocol implementations from Openambit to actually talk to the watch.

If you compile with debug enabled, the tools will print out some more information which might be useful for identifying why it does not work.