Suunto app Forum Suunto Community Forum
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Register
    • Login

    Sommet - your android/linux app for Ambit, Traverse and Kailash

    Scheduled Pinned Locked Moved Ambit
    27 Posts 7 Posters 2.5k Views 8 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • André FariaA Offline
      André Faria @zt_zzzzz
      last edited by

      @zt_zzzzz thanks for testing. I even didn’t think about it. I am checking it with claude to implement it and come back to you.
      Correct if I am wrong, indoor activities mean:
      HR
      Power
      Cadence
      Temperature
      Distance (if home trainer?)
      Any other you can think of?

      Ambit 3 Peak Sapphire | Kailash | Hammerhead Karoo 3
      Garmin Edge 1040 Solar

      Z 1 Reply Last reply Reply Quote 0
      • Z Offline
        zt_zzzzz @André Faria
        last edited by zt_zzzzz

        @André-Faria said:

        @zt_zzzzz thanks for testing. I even didn’t think about it. I am checking it with claude to implement it and come back to you.
        Correct if I am wrong, indoor activities mean:
        HR
        Power
        Cadence
        Temperature
        Distance (if home trainer?)
        Any other you can think of?

        I usually just record the data:

        HR
        Power
        Cadence
        Then upload to Intervals.icu

        Because only Ambit2/Ambit supports ANT+,Otherwise, after the Bluetooth is connected to the trainer, it will not be able to connect to other Bluetooth watches.This is also the reason why I still use Ambit2.

        André FariaA 1 Reply Last reply Reply Quote 0
        • André FariaA Offline
          André Faria @zt_zzzzz
          last edited by

          @zt_zzzzz said:

          @André-Faria said:

          @zt_zzzzz thanks for testing. I even didn’t think about it. I am checking it with claude to implement it and come back to you.
          Correct if I am wrong, indoor activities mean:
          HR
          Power
          Cadence
          Temperature
          Distance (if home trainer?)
          Any other you can think of?

          I usually just record the data:

          HR
          Power
          Cadence
          Then upload to Intervals.icu

          Because only Ambit2/Ambit supports ANT+,Otherwise, after the Bluetooth is connected to the trainer, it will not be able to connect to other Bluetooth watches.This is also the reason why I still use Ambit2.

          It is now building 0.2.37 that should fix that. Unfortunately now I have much less time and budget to allocate to this project, so slower dev and less testing, but it seems to work on my android tablet with an fake indoor activity. Let me know.

          Ambit 3 Peak Sapphire | Kailash | Hammerhead Karoo 3
          Garmin Edge 1040 Solar

          1 Reply Last reply Reply Quote 0
          • R Offline
            Rafael Costa de Araujo
            last edited by

            I have a Suunto Ambit3. How can I help? (I don’t speak English, so I’m using a translator here 😊)

            I’ll install the APK and test it.

            André FariaA 1 Reply Last reply Reply Quote 0
            • André FariaA Offline
              André Faria @Rafael Costa de Araujo
              last edited by

              @Rafael-Costa-de-Araujo hello Raphael just use it and let me know if the features you are using work or something is wrong.

              Ambit 3 Peak Sapphire | Kailash | Hammerhead Karoo 3
              Garmin Edge 1040 Solar

              1 Reply Last reply Reply Quote 0
              • Z Offline
                zt_zzzzz
                last edited by

                I recorded an outdoor ride and an indoor ride today using the Suunto Ambit2. The test results are as follows:

                For the outdoor ride, data synced from Sommet to Intervals.icu correctly, as shown in the figure below.
                屏幕截图 2026-09-23 220326.png

                The watch settings for indoor‑riding mode are shown below.
                屏幕截图 2026-09-23 222356.png
                When synced to Intervals.icu, the activity is labelled as strength training.
                屏幕截图 2026-09-23 220427.png
                I need to manually change the mode to virtual ride.
                屏幕截图 2026-09-23 220533.png

                André FariaA 1 Reply Last reply Reply Quote 0
                • André FariaA Offline
                  André Faria @zt_zzzzz
                  last edited by

                  @zt_zzzzz thanks for the feedback.
                  Why it happened:

                  The indoor-riding move’s FIT declared sport = generic, and intervals.icu files a generic, no-distance move as strength training. It came out generic because:

                  • A watch move’s activity_name is empty, so the sport rides only in the activity-id byte.
                  • My earlier byte→sport map was copied from mobile’s GpxParser.SPORT_TYPE_MAP — which turns out to be an older, off-by-one, incomplete table (it says 19=Alpine when Suunto’s real id is 20, and it has no indoor cycling at all). So id 17
                    (Indoor cycling) fell through to generic → strength.

                  Also fixed for strava.
                  Pushed a v2.3.8 release with that, should be on github within some minutes. Hope you haven’t lost data.
                  For info I don’t have anymore an ambit 2 to test. So I rely on users feedback.

                  Ambit 3 Peak Sapphire | Kailash | Hammerhead Karoo 3
                  Garmin Edge 1040 Solar

                  1 Reply Last reply Reply Quote 0
                  • André FariaA André Faria referenced this topic on
                  • Z Offline
                    zt_zzzzz
                    last edited by

                    Excellent, both indoor virtual cycling and outdoor cycling can be normally exported to Intervals.icu.

                    (Ambit2 Andriod12)
                    Intervals_Indoorcyc.png Screenshot_20261012-093507.png

                    Thank you very much for your hard work.

                    1 Reply Last reply Reply Quote 1
                    • M Offline
                      mickeh
                      last edited by

                      Thanks for a great app, I downloaded it to be able to get GPX files off my old Suunto Ambit 3 Peak. However I ran into some problems when installing on Debian 13. I had to modify some files before building (after advice from ChatGPT, I know nothing about programming.

                      When building the original, I got the following output when running:

                      ur@gammaltbos:~/Hämtningar/ambit-app$ ./run-desktop.sh
                      starting backend…
                      AmbitApp backend bridge running at http://127.0.0.1:8766/ (Ctrl+C to stop)
                      QQmlApplicationEngine failed to load component
                      qrc:/qt/qml/AmbitApp/qml/Main.qml:237:9: Type NavRail unavailable
                      qrc:/qt/qml/AmbitApp/qml/components/NavRail.qml:71:5: Type NavItem unavailable
                      qrc:/qt/qml/AmbitApp/qml/components/NavItem.qml:63:9: Type Icon unavailable
                      qrc:/qt/qml/AmbitApp/qml/components/Icon.qml: Type ActivityMetrics unavailable
                      qrc:/qt/qml/AmbitApp/qml/ActivityMetrics.qml: Type ActivityViewModel unavailable
                      qrc:/qt/qml/AmbitApp/qml/viewmodels/ActivityViewModel.qml: Type BikeDevices unavailable
                      qrc:/qt/qml/AmbitApp/qml/BikeDevices.qml: Type DeviceCapabilities unavailable
                      qrc:/qt/qml/AmbitApp/qml/DeviceCapabilities.qml: Type HomeViewModel unavailable
                      qrc:/qt/qml/AmbitApp/qml/viewmodels/HomeViewModel.qml: Type PlanStore unavailable
                      qrc:/qt/qml/AmbitApp/qml/PlanStore.qml: Type RouteViewModel unavailable
                      qrc:/qt/qml/AmbitApp/qml/viewmodels/RouteViewModel.qml: Type TrainingPlanSync unavailable
                      qrc:/qt/qml/AmbitApp/qml/TrainingPlanSync.qml:26:38: Cannot assign object of type “Core.Settings” to property of type “QQmlSettings*” as the former is neither the same as the latter nor a sub-class of it.

                      Following ChatGPT advice, I edited the files desktop/qml/TrainingPlanSync.qml and desktop/qml/viewmodels/HomeViewModel.qml

                      And changed “Import QtCore” to “import Qt.labs.settings”

                      Also in the file desktop/qml/BikeDevices.qml I changed “Import QtCore” to:

                      import QtCore as Core
                      import Qt.labs.settings

                      This made the program run after compiling although I’m sure there must be a better way. The program works in exporting GPX (only thing I tested) but crashes every now and then when I push the button to save GPX files, with the following output:

                      ur@gammaltbos:~/Hämtningar/ambit-app$ ./run-desktop.sh
                      starting backend…
                      AmbitApp backend bridge running at http://127.0.0.1:8766/ (Ctrl+C to stop)
                      qrc:/qt/qml/AmbitApp/qml/Theme.qml:33:36: QML Settings: The Settings type from Qt.labs.settings is deprecated and will be removed in a future release. Please use the one from QtCore instead.
                      qrc:/qt/qml/AmbitApp/qml/viewmodels/HomeViewModel.qml:102:41: QML Settings: The Settings type from Qt.labs.settings is deprecated and will be removed in a future release. Please use the one from QtCore instead.
                      qrc:/qt/qml/AmbitApp/qml/MapService.qml:43:39: QML Settings: The Settings type from Qt.labs.settings is deprecated and will be removed in a future release. Please use the one from QtCore instead.
                      qrc:/qt/qml/AmbitApp/qml/BikeDevices.qml:23:33: QML Settings: The Settings type from Qt.labs.settings is deprecated and will be removed in a future release. Please use the one from QtCore instead.
                      qrc:/qt/qml/AmbitApp/qml/BikeDevices.qml:35:40: QML Settings: The Settings type from Qt.labs.settings is deprecated and will be removed in a future release. Please use the one from QtCore instead.
                      qrc:/qt/qml/AmbitApp/qml/BikeDevices.qml:36:40: QML Settings: The Settings type from Qt.labs.settings is deprecated and will be removed in a future release. Please use the one from QtCore instead.
                      qrc:/qt/qml/AmbitApp/qml/BikeDevices.qml:37:39: QML Settings: The Settings type from Qt.labs.settings is deprecated and will be removed in a future release. Please use the one from QtCore instead.
                      [pin] autopin: product=27 serial=F7BE1A5113001600
                      [pin] select: product=27 serial=F7BE1A5113001600
                      [PERF] dbLoadAll #1: 44 rows, summary 173 ms, +44 eager tracks 22 ms, +hrv 7 ms
                      [pin] heal (bus: []): product=None serial=None
                      qrc:/qt/qml/AmbitApp/qml/TrainingPlanSync.qml:26:33: QML Settings: The Settings type from Qt.labs.settings is deprecated and will be removed in a future release. Please use the one from QtCore instead.
                      qml: [plan-sync] watch connected: autoSync true demo false serial F7BE1A5113001600 entries 0 syncedFor
                      [pin] autopin: product=27 serial=F7BE1A5113001600
                      QQmlVMEMetaObject: Internal error - attempted to evaluate a function in an invalid context
                      qrc:/qt/qml/AmbitApp/qml/components/MapView.qml:304: TypeError: Property ‘_spanPxAt’ of object MapView_QMLTYPE_94(0x556cfe98c0a0) is not a function (exception occurred during delayed function evaluation)
                      QQmlVMEMetaObject: Internal error - attempted to evaluate a function in an invalid context
                      qrc:/qt/qml/AmbitApp/qml/components/MapView.qml:304: TypeError: Property ‘_spanPxAt’ of object MapView_QMLTYPE_94(0x556cfe9c8350) is not a function (exception occurred during delayed function evaluation)
                      QQmlVMEMetaObject: Internal error - attempted to evaluate a function in an invalid context
                      qrc:/qt/qml/AmbitApp/qml/components/MapView.qml:304: TypeError: Property ‘_spanPxAt’ of object MapView_QMLTYPE_94(0x556cfea04750) is not a function (exception occurred during delayed function evaluation)
                      **
                      Gtk:ERROR:…/…/…/gtk/gtkpathbar.c:1342:set_button_image_get_info_cb: assertion failed: (cancellable == data->button_data->cancellable)
                      Bail out! Gtk:ERROR:…/…/…/gtk/gtkpathbar.c:1342:set_button_image_get_info_cb: assertion failed: (cancellable == data->button_data->cancellable)
                      ./run-desktop.sh: rad 48: 37320 Avbruten (SIGABRT) ./desktop/build/Sommet

                      Other than that very happy with a great program. Suggested improvements would be an optoin to export all the GPX tracks in the watch at one, and also make the exporter remember the last used folder. And of course an AppImage instead of having to compile 🙂

                      André FariaA 1 Reply Last reply Reply Quote 0
                      • André FariaA Offline
                        André Faria @mickeh
                        last edited by

                        @mickeh sorry for the long delay . Life happening.
                        I was also testing on an old machine which then come to the conclusion of delivering an app image (I didn’t even knew about it).
                        Check the latest release. If the bug persists let me know.
                        When I have a time I will check your issue and your suggestions 🙂

                        Ambit 3 Peak Sapphire | Kailash | Hammerhead Karoo 3
                        Garmin Edge 1040 Solar

                        1 Reply Last reply Reply Quote 0

                        Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                        Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                        With your input, this post could be even better 💗

                        Register Login
                        • First post
                          Last post

                        Suunto Terms | Privacy Policy