• Suunto Spark

    Headphones
    47
    0 Votes
    47 Posts
    4k Views
    Ze StuartZ
    @dreamer_ same. Between the lack of data integration with the headphones and the watch, audio problems, and software problems, back they go. I really don’t understand why companies invest all the time to make a product like this, and then half-arse it. Same with the fancy swimming headphones.
  • 11 Votes
    36 Posts
    3k Views
    M
    I did indeed receive my Race S watch, and my old watch charges perfectly with the new cable, so I haven’t tested the new watch yet and I’m returning it now. Buy a new $70 cable is beyond reasonable in my opinion for a watch that’s barely 3 years old, and I absolutely don’t want to send my watch to the company and fight to avoid paying for the repair. So I went around my principles this time and ordered a cable from Amazon which works perfectly. My near vision requires a larger screen, so I haven’t chosen my next watch yet… To be continued…
  • [Question] No stupid questions - ask anything here

    Pinned Suunto Plus Development
    134
    4 Votes
    134 Posts
    14k Views
    Łukasz SzmigielŁ
    Hi, I’m seeing a reproducible issue with a SuuntoPlus app during active navigation, and I’d like to ask what the recommended mitigation is. The app is called Constantin. It uses multiple UI templates for different workout views: td.html - drift / combined view tp.html - pace-focused view th.html - heart-rate-focused view The switching logic follows the documented pattern from the SuuntoPlus examples: the HTML template only sends a /Zapp/{zapp_index}/Event main.js handles the event in onEvent() main.js updates currentTemplate main.js calls unload('_cm') getUserInterface() returns the selected template Simplified version: var currentTemplate = 'td'; var changeTemplate = function(template) { if (currentTemplate === template) return; currentTemplate = template; unload('_cm'); }; function onEvent(input, output, eventId) { if (eventId === 1) { if (currentTemplate === 'td') changeTemplate('tp'); else if (currentTemplate === 'tp') changeTemplate('th'); else changeTemplate('td'); return; } if (eventId === 2) { if (currentTemplate === 'td') changeTemplate('th'); else if (currentTemplate === 'th') changeTemplate('tp'); else changeTemplate('td'); } } function getUserInterface() { return { template: currentTemplate || 'td' }; } In the templates I use a mechanical button like this: <pushButton name="up" type="lock" longType="lock" onClick="$.put('/Zapp/{zapp_index}/Event', 1, null, 'int32');" onLongPressStart="$.put('/Zapp/{zapp_index}/Event', 2, null, 'int32');" /> The UI itself is intentionally split into separate templates instead of one large uiViewSet, because earlier versions had UI/Duktape memory pressure on the physical watch, especially when running together with ZoneSense and navigation. Splitting into separate templates reduced active subscriptions, active evals, and canvas/UI load. The problem: When active route navigation is running, pressing the upper button to cycle templates causes a system navigation/POI notification to appear at the bottom of the screen. Sometimes it only flashes, but sometimes it stays visible indefinitely on top of the SuuntoPlus app. The app itself continues to work. The template changes correctly. Data updates continue. But the system POI/navigation overlay remains visible. The overlay disappears if I leave Constantin and switch to another screen/app, then return to Constantin. The problem appears only when cycling templates with the upper button while navigation is active. Things already tested: removed delayed/postponed rendering from the UI removed postpone-rendering:true reduced canvas refreshes and subscriptions added type="lock" / longType="lock" to the up button removed a full-screen black root background changed the root element id from a generic suuntoplus to unique ids per template verified that the canvas is not full-screen and should not be covering the whole display None of these mitigated the navigation/POI overlay issue. So my current suspicion is that this is not caused by canvas rendering or a full-screen DOM element. It looks more like an interaction between: the physical upper button active navigation / POI system UI immediate unload('_cm') from onEvent() template reloading during the same button event Questions: Is using the upper button for SuuntoPlus template switching expected to conflict with active navigation or POI notifications? Is type="lock" supposed to prevent this kind of system overlay interaction, or does it only affect button lock behavior? Is calling unload('_cm') directly inside onEvent() considered safe during active navigation? Would it be better to defer the actual unload('_cm') to the next evaluate() cycle after receiving the button event? Is uiViewSet / navigate() preferred over template switching for this case, even if it increases active UI memory pressure? Is there a recommended button for cycling SuuntoPlus views during navigation, for example down or next instead of up? What I’m trying to achieve is a stable way to cycle between 3 lightweight SuuntoPlus workout views on the physical watch, while active navigation and another S+ app such as ZoneSense are running, without triggering or leaving behind the system navigation/POI overlay. Any guidance on the recommended architecture or mitigation would be appreciated.
  • Third-party chest strap with ZoneSense on SuuntoPlus?

    Suunto Race 2
    21
    0 Votes
    21 Posts
    668 Views
    S
    @FunkyLarma Thats a good point. I have the white one and it offers other things like Cadence and something else I cannot remember at the moment. I think those did create issues, but it finally started working in the last software update. I had horrible issues with it for a while because it would drop if another BT signal was available and it was almost as if the other device would cut in and turn off the connection to my Vertical 2. It was a mess.
  • Asking ClaudeCode to decode Suunto Guide files

    Suunto Plus Development
    6
    0 Votes
    6 Posts
    354 Views
    Dimitrios KanellopoulosD
    @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.
  • Training Peaks - interval notification

    Suunto Race 2
    2
    0 Votes
    2 Posts
    94 Views
    EgikaE
    @Murphy59 as the intervals created in the Suunto app have this information, I guess, that Training Peaks need to change their guide screens…
  • Race 2 accuracy

    Suunto Race 2
    105
    0 Votes
    105 Posts
    9k Views
    C
    @LGoSo I think there would be three points to consider here: As I understand it, the model is a Rolson 50799. The manufacturer doesn’t specify its accuracy, but in that price range, I believe it will be between 0.1% and 0.5% (meaning the margin of error would be between 0.5 m and 2.5 m over a distance of 500 m). For such uneven terrain, a wheel with a circumference of around 1 m might not be the most suitable option; for these cases, measuring wheels with a circumference of around 2 m are used. If the terrain has a noticeable slope, as seems to be the case, we wouldn’t just be assessing the accuracy of the watch’s GNSS, but also that of its altimeter. (In reality, the distance should be compared against the result of using the ‘3D Distance’ option on the watch, which I assume Suunto uses by default since it isn’t available as a toggle.)
  • 14 Votes
    41 Posts
    3k Views
    EzioAuditoreE
    @peegee If I understood correctly than yes same button on Vertical 2 can zoom in / zoom out. Short press zoom in long press zoom out. Same like middle button: short press advance screen long press go back (previous). Cheers!
  • Tides not syncing

    Suunto Ocean
    10
    0 Votes
    10 Posts
    626 Views
    F
    @Triumph114 Thanks, yes have that working, it intermittent which is the annoying part.
  • 0 Votes
    1 Posts
    47 Views
    No one has replied
  • Suunto Vertical first Anniversary : share to celebrate !

    Suunto Vertical
    51
    9 Votes
    51 Posts
    10k Views
    B
    Best Suunto watch so far (3 years anniversary), after t6c and Ambit 3 Vertical. It fully satisfied my need (I prefer having fartlek sessions over fine-grained training plans, so I am probably missing many advanced features). Never got a single crash. Just got disappointed by the OHR hardware quality.
  • Precise alignment of text and numbers

    Suunto Plus Development
    1
    3
    4 Votes
    1 Posts
    107 Views
    No one has replied
  • 1 Votes
    11 Posts
    1k Views
    M
    One thing that caused my grief when working with subscribed signals (HR, pace) in main.js or in onLoad is that on the simulator signals are always available. On the watch subscribed signals seem to transition from ‘undefined’ -> ‘NaN’ -> a valid number. I ended up needing to protect any use of these signals by using isFinite(), like this. // Get the index of the the active zone for a 5 zone HR gauge // v current value // zones an array of 4-values defining the 5 zones function getActiveZone(v, zones) { if (!isFinite(v)) return 0; for (var i = 1; i < zones.length; i++) { if (v < zones[i]) return i - 1; } return zones.length - 1; } Inserting systemEvent() was quite effective in pinpointing the point of failure once I understood how to do it. But I do not really get any error message, just something like this. [MR] messages are inserted by me, so I can see something happened after “G4a”, but not what the actual error was. #3251371 26.05.2026 17:44:39 : EVT UI_FRAMEWORK : JS [MR] G1 #3251372 26.05.2026 17:44:39 : EVT UI_FRAMEWORK : JS [MR] G2 #3251373 26.05.2026 17:44:39 : EVT UI_FRAMEWORK : JS [MR] G3 #3251374 26.05.2026 17:44:39 : EVT UI_FRAMEWORK : JS [MR] G4a1-not-supported #3251375 26.05.2026 17:44:39 : WRN UI_FRAMEWORK : JS I am more of a Swift or C# person used to verbose error messages and traceback. But maybe I have been spoiled.
  • Race S: Extremely high battery use rate

    Suunto Race S
    56
    5 Votes
    56 Posts
    5k Views
    dreamer_D
    @elbee thank you so much for the very detailed answer. That 5% per hour with dual band and using maps is not that bad. It seems better than I thought. I understand that before the update battery life was more similar to the numbers Suunto says.
  • Main Watch Widgets in OpenSuuntoPlus

    Suunto Plus Development
    6
    2 Votes
    6 Posts
    876 Views
    suzzloS
    @Mister-PYC a widget for Fasting is my ambition here.
  • Tech diver issues with Nautic

    Nautic
    4
    3 Votes
    4 Posts
    300 Views
    H
    @garyt687 When setting compass bearing at surface, sometimes u descend and it undoes the bearing. I know in manila it says stay in compass view - but it has sometimes reset on me even in that screen as soon as dive starts. This is useless. We want to set things and leave them not have a computer decide to turn them off 10 seconds afterwards. Please change that The Compass Bearing is active for 5 Minutes above water. Then Suunto resets the bearing. I have noted this also as something that can eaily confuse people setting the Bearing at the parking and during walk to the water entrance will loose the bearing fix. Suunto should fix that.But I overcome this by setting my bearing jsut before going under water. Within 5 minutes and under water it remains active and set.
  • 1 Votes
    22 Posts
    1k Views
    dreamer_D
    @Highlands said in Suunto Vertical 1 – A Few Questions About the Future + Questions About the Vertical 2 and a Comparison with the Coros Nomad / the New Vertix 2026: @dreamer_ I hope they put a sapphire crystal on R2S. About this, I think my wife’s 46mm Run could fit a 1.4 inches screen. Perhaps they could fit that screen aize in the Race 2 S playing with the bezels and making you think the watch is not that “S” but something comparable to a Fenix 8 47mm . That simple change would make a lot of noise for marketing in my opinion and very likely much better sales (just for that)
  • Several navigation issues (feedback)

    Suunto Vertical 2
    61
    1
    1 Votes
    61 Posts
    9k Views
    E
    @Joaquin Be careful not to chase perfection and in the end nothing is completed. The komoot route is a bit cumbersome and komoot is far from perfect (even if I tell komoot to not change the route, the route on my suunto race s is different than on my wife’s apple watch.) The garmin/wahoo way (select a gpx file and use the open with app) would be an improvement, even if not all tbt alerts are perfect. My first gps watch (a ambit 3 sport) only had breadcrumb navigation. Did I ever got lost? No. My watch after that, a forerunner 935, had breadcrumb and tbt alerts. (Which didn’t work well. A route could only have 50 navigation alerts and if you did your route reversed you lost all tbt alerts). Did I ever got lost? No. My first watch with maps (a forerunner 965) and having some context is nice. Eventually garmin fixed the 50 alert limit, but not the reverse problem and they introduced a timing bug (up to 10k the alerts are before a corner, after 20k alerts are in a corner, or after). And yes, on a twisty road you get alerts for every corner. Did I ever get lost? No. Now I have a suunto. Komoot is fine, but could be better. Autodetect of going reverse is good. No problem if I do a round route and the end is detected before the start (garmin has problems with this. Navigations stops when you reach the goal, which could be before you actually started). Autozoom actually works as one would except (garmin had autozoom, but that doesn’t work, or not as one should expect). But do I get lost ever? No. In the end, all are equally good in the “do not get lost” requirement. Is everything perfect? No. But don”t wait until everything is perfect. Release small steps. Get feedback. Improve some more.
  • When NDL comes to 0, TTS should...

    Nautic
    2
    3 Votes
    2 Posts
    124 Views
    dagascD
    @Niels-Søren-Bøgh I agree with this, and I was actually thinking about making a post like this myself.
  • Suunto Ocean update 2.51.28

    Pinned Suunto Ocean
    42
    15 Votes
    42 Posts
    3k Views
    SquirrelS
    @valentoni said in Suunto Ocean update 2.51.28: Once I’ve sent the logs, do I need to contact Dimitrios Kanellopoulos? Yes, as per linked post After that send me a private message with your email or account name used for the Suunto app. Do not share your email here in the forums as a post please. Use the chat function under my profile. https://forum.suunto.com/user/dimitrios-kanellopoulos ⋮Blue circle menu on the right