Unable to import dives from a Suunto Ocean

238 views
Skip to first unread message

Gareth Morris

unread,
Aug 9, 2024, 12:41:56 PM8/9/24
to Subsurface Divelog
I have the new Suunto Ocean device and noticed that it is not in the list of devices when downloading from dive computer in the SubSurface app.

I also tried to import manually via .FIT files, since the Suunto app on iPhone allows exporting .FIT files, but have been unable to import those into SubSurface.

I tried to use the download method mentioned for the Garmin Descent family in the SubSurface FAQ since it references .fit files, however the SubSurface app just tells me "Error, No new dives downloaded from dive computer" when following that process (i.e. putting into a <folder>/Garmin/Activity and setting <folders> as download mountpoint for a Garmin Descent).

Any plans or workaround to import dives from this new Suunto device?

Linus Torvalds

unread,
Aug 9, 2024, 1:06:41 PM8/9/24
to subsurfac...@googlegroups.com
On Fri, 9 Aug 2024 at 09:41, Gareth Morris <gareth...@gmail.com> wrote:
>
> I have the new Suunto Ocean device and noticed that it is not in the list of devices when downloading from dive computer in the SubSurface app.
>
> I also tried to import manually via .FIT files, since the Suunto app on iPhone allows exporting .FIT files, but have been unable to import those into SubSurface.

If you send me a FIT file, I will take a look. We have successfully
imported other Suunto FIT files before, but the Ocean is new.

I actually have one, but I haven't had any time to do anything but
check that no, it's not using the same protocol that the Suunto EON
Core/Steel/D5 used.

You can see it in the bluetooth list by checking the "show all
devices" button, and it will pair with a real BLE pairing. But none of
that will help you, I'm afraid, because the protocol is something new.

Linus

Gareth Morris

unread,
Aug 9, 2024, 6:21:56 PM8/9/24
to Subsurface Divelog
After a separate follow up with Linus, confirming imports of FIT files from Suunto Ocean activities exported from Suunto's app do indeed import into SubSurface -- it's necessary to follow the process outlined below:

On Fri, 9 Aug 2024 at 13:28, Linus Torvalds <torv...@linuxfoundation.org> wrote:
>
> Anyway, I suspect you just didn't realize how crazy our FIT import is:
> what you do is to go to "Import", then "Import from dive computer",
> and then pick "FIT" as the dive computer manufacturer, and then point
> the "Device or mount point" at the directory where your xyz.fit files
> are.
>
> Insane, I know. It's done that way because this all started with the
> Garmin dive computers, and when you connect a Garmin dive computer
> over USB, it shows up as a filesystem mount with the FIT files there.
>
> So it made sense for that case. It doesn't make much sense for the "I
> downloaded my FIT files from the internet" case. But it is what it is.

Mikel Larrañaga

unread,
Aug 16, 2024, 10:58:40 AM8/16/24
to Subsurface Divelog
HI,

I've managed to import FIT files exported in the suunto app (recorded with suunto Ocean) but realized that the dive duration is wrong, Tried with several dives (40-60 minutes). All the dive profile is correctly imported  but the imported dive duration is 8-12 minutes, which affects to the statistics (air consume, average depth, etc.)

Gareth Morris

unread,
Aug 16, 2024, 11:06:06 AM8/16/24
to subsurfac...@googlegroups.com
I noticed what I think may be the same thing — when first importing a dive, the dive profile is correct, but the dive summary time is wrong; in my case around 10 mins for a 50 minute dive.

After closing / re-opening the app (I believe just closing / re-opening the logbook is sufficient), the dive summary time refreshes and is now showing correctly for me, perhaps that will work for you too.

--
You received this message because you are subscribed to a topic in the Google Groups "Subsurface Divelog" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/subsurface-divelog/5640mbRaxQE/unsubscribe.
To unsubscribe from this group and all its topics, send an email to subsurface-dive...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/subsurface-divelog/951fd3df-2581-46fc-806f-5fa36f4ca8c1n%40googlegroups.com.

Mikel Larrañaga

unread,
Aug 16, 2024, 11:08:14 AM8/16/24
to Subsurface Divelog
Yes, that also worked for me. Thanks!!!!

Michael Keller

unread,
Aug 17, 2024, 7:43:16 AM8/17/24
to subsurfac...@googlegroups.com

Hi Mikel and Gareth.


On 17/08/24 03:08, Mikel Larrañaga wrote:
Yes, that also worked for me. Thanks!!!!

El viernes, 16 de agosto de 2024 a las 17:06:06 UTC+2, Gareth Morris escribió:
I noticed what I think may be the same thing — when first importing a dive, the dive profile is correct, but the dive summary time is wrong; in my case around 10 mins for a 50 minute dive.

After closing / re-opening the app (I believe just closing / re-opening the logbook is sufficient), the dive summary time refreshes and is now showing correctly for me, perhaps that will work for you too.

On Fri, Aug 16, 2024 at 7:58 AM Mikel Larrañaga <mikel...@gmail.com> wrote:
HI,

I've managed to import FIT files exported in the suunto app (recorded with suunto Ocean) but realized that the dive duration is wrong, Tried with several dives (40-60 minutes). All the dive profile is correctly imported  but the imported dive duration is 8-12 minutes, which affects to the statistics (air consume, average depth, etc.)


I have got a sneaky suspicion for what might be happening there - it is likely that Garmin's recent changes to not require entries in a FIT file to be chronologically ordered (discussed here: https://the5krunner.com/2024/02/12/garmin-fit-files-welcomed-improvements-for-2023-4-is-there-a-downside/) are tripping us up, as Subsurface still expects all entries to be chronologically ordered.

I had done a 'kneejerk fix' for new format files produced by Garmin devices after recent firmware updates (https://github.com/subsurface/libdc/pull/58/commits/bb502c6d8b53153b6f43469f55f290e470efc105), but what this does is just completely ignore message types we do not use in the import, which happens to make it work for FIT files produced by Garmin devices.
But it looks like the Suunto FIT files need actual reordering of (not ignored) messages before the import.

Is anyone able to share a FIT file showing this behaviour with me so that I can investigate a bit more?


Ngā mihi

  Michael Keller

Michael Keller

unread,
Aug 26, 2024, 5:21:19 AM8/26/24
to Linus Torvalds, Gareth Morris, Mikel Larrañaga, subsurfac...@googlegroups.com

Hi all.


On 26/08/24 17:11, Linus Torvalds wrote:
On Sat, 10 Aug 2024 at 08:52, Gareth Morris <gareth...@gmail.com> wrote:
One thing I noticed is the dive is showing a duration of 10 minutes,
both in the dive list and the Summary tab -- whereas the dive was
actually 48mins long.
Ok, both you and Mikel noticed this, and today I did my first dives
with this thing, and yes, the duration is off by a factor of 5 on
initial import.


You beat me to it, Linus. ;-)

I started looking into the FIT file last night, and saw the samples every second that only contain temperature information. But since I was looking for 'out of order' samples I did not make much of it.


The fix was trivial, and I've done a pull request for it.


Looks good to me.


I'll look at also making the FIT file importer not do pointless empty
samples, but the whole "no depth" is actually real, in that it could
be a sample with no depth but with tank pressure information. So the
FIT file import wasn't *wrong*, it was just a bit silly.


I think what the FIT file importer does makes sense actually - create a sample, use -1 for 'no depth', and then expect Subsurface to throw away the sample but retain an event that contains the additional information in the sample.


If you want to look into the FIT importer, one more thing that is bugging me is that with Garmin's FIT 2.1 spec, they explicitly state that log entries no longer have to be chronologically ordered (see https://the5krunner.com/2024/02/12/garmin-fit-files-welcomed-improvements-for-2023-4-is-there-a-downside/).

Garmin started to make use of this format in a firmware update for their Descent Mk2 / Mk3 devices. Luckily for us, they are only using out-of-order events for data that we are not interested in, so I was able to fix this by dropping these events in the importer in https://github.com/subsurface/libdc/pull/58/commits/bb502c6d8b53153b6f43469f55f290e470efc105.  But I suspect that sooner or later they might be sending fields that we care about out of order, at which point the current importer will break. The way around this will be to add chronological sorting of events and samples, either in the FIT importer, or in the generic importer code inside Subsurface proper.


Cheers

  Michael Keller

Reply all
Reply to author
Forward
0 new messages