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

    Asking ClaudeCode to decode Suunto Guide files

    Scheduled Pinned Locked Moved Suunto Plus Development
    6 Posts 2 Posters 332 Views 2 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.
    • M Offline
      matram
      last edited by

      Being a bit frustrated with not being able to upload FIT files without partner access to the API I downloaded a “.gui” file from the watch, originally uploaded by intervals.icu.

      Here is Claudes take on the file, enjoy 😀

      Next step will be to see if I can extract this information to my own app on the watch.

      Claude:
      Interesting — this is a Suunto workout guide called “Aerobic Threshold 50” from Intervals.icu. Let me read the step files.

      The picture is now clear. This is a Suunto workout guide exported from Intervals.icu — a 50-minute aerobic threshold run at 135–145 bpm. A few interesting things:

      HR is stored in Hz, not bpm — step1.js shows:

      • value: 2.333... Hz = 140 bpm
      • low: 2.25 Hz = 135 bpm
      • high: 2.4166... Hz = 145 bpm

      That’s exactly why main.js has 60 * input.HeartRate — converting from Hz to bpm before doing anything with it.

      step2.js is in Swedish — “SuuntoPlus™-guiden avslutades” = “The SuuntoPlus™ guide ended”. Makes sense for your locale.

      The file structure:

      File Purpose
      manifest.jsn Workout metadata, sensor subscriptions
      main.js Runtime engine (what we were formatting)
      step0.js Intro screen (50:00, 135–145bpm)
      step1.js Main interval — 50 min HR target step
      step2.js End screen
      icon.pxb Watch face icon (300×300, proprietary format)

      So the main.js you were cleaning up is Suunto’s guide runtime — it dynamically loads each step{n}.js via evalFile() as the workout progresses.

      1 Reply Last reply Reply Quote 0
      • Dimitrios KanellopoulosD Offline
        Dimitrios Kanellopoulos Community Manager
        last edited by

        You can use Quantified Self for uploading Fit files

        Community Manager / Admin @Suunto
        Creator of quantified-self.io a portal that allows you to analyze your data from various providers, upload fit activity files to Suunto app, gpx routes and more…

        M 1 Reply Last reply Reply Quote 1
        • M Offline
          matram @Dimitrios Kanellopoulos
          last edited by

          @Dimitrios-Kanellopoulos
          Thank you for the tip. I signed up for a Pro subscription and will try that out. Currently uploading years of training history. 😊

          Dimitrios KanellopoulosD 1 Reply Last reply Reply Quote 0
          • Dimitrios KanellopoulosD Offline
            Dimitrios Kanellopoulos Community Manager @matram
            last edited by Dimitrios Kanellopoulos

            @matram Feel free to ping me if you need help. or you want another service connected for autosync, but try the official channels of the app. I made this for me convenience as well and managed to upload history from Strava Garmin and all the stuff I had in the past

            Community Manager / Admin @Suunto
            Creator of quantified-self.io a portal that allows you to analyze your data from various providers, upload fit activity files to Suunto app, gpx routes and more…

            M 1 Reply Last reply Reply Quote 0
            • M Offline
              matram @Dimitrios Kanellopoulos
              last edited by

              @Dimitrios-Kanellopoulos
              Dimitrios, maybe we are mis-communicating? To clarify, I want to upload a FIT workout file (not activity) and secondly I do not have API access.

              I am not sure what you mean by “official channel of the app”. Are you referring to apizone - how-to-workout-upload (not allowed to include a link)? This seems to be what I need, but I am not allowed to use that. 😞

              quantified-self which you suggested, only seems to upload activities not workouts.
              b3a2e673-9610-4faa-9689-4978fa833070-image.png

              intervals.icu uploads workouts but only packaged as a Guide in the format they have selected. Hence my idea about reverse engineering the guide file.

              I have developed an App for interval training, intended for my personal use. But without any mechanism to change settings, it would require me to create different versions of the app for different sessions. I might do that for now but it does not seem like a good long-term approach.

              As a suggestion…

              I have an Apple Developer license which I am paying a nominal fee for. That gives me access to all Apple tools and infrastructure. I can download my apps directly to my phone and keep them there for a year, and I do not have to put my apps on the AppStore.

              I would very much like Suunto to do something similar and I would be willing to pay for a service like that.

              Dimitrios KanellopoulosD 1 Reply Last reply Reply Quote 1
              • Dimitrios KanellopoulosD Offline
                Dimitrios Kanellopoulos Community Manager @matram
                last edited by

                @matram ok right. I was confused. Workouts != activities. I can try to implement a workout upload but I see that ideally you need api access to suunto. for that I suppose you should mail them unfortunately.

                Community Manager / Admin @Suunto
                Creator of quantified-self.io a portal that allows you to analyze your data from various providers, upload fit activity files to Suunto app, gpx routes and more…

                1 Reply Last reply Reply Quote 0
                • First post
                  Last post

                Suunto Terms | Privacy Policy