Enduro 3 and Fenix 8 part numbers ?? Not in Device Reference Docs

Are the part numbers for the Enduro 3 and Fenix 8 devices available somewhere.

Those devices don't appear in the Device Reference documentation for SDK 7.3.1

  • No need to reply, I found the answers in Roaming > Garmin > ConnectIQ > Devices

  • Just be careful with the Fenix 8. I've noticed that my personal Fenix8 51mm actually identifies as a Fenix8 47mm. The fenix851mm is not separately described in the Devices folder.

  • The fenix851mm is not separately described in the Devices folder.

    Yeah that's a weird anomaly but not unheard of (there's a couple of Edge devices that have different capabilities - one has power meter support and the other doesn't - but they're lumped into the same CIQ device bc they have the same firmware). In this case I'm guessing they're the same CIQ device (fenix847mm) bc they have the same display resolution.

    fenix847mm/compiler.json does reflect this in the displayName value (which is shown when you edit products in VS Code's command palette):  "fēnix® 8 47mm / 51mm"

    Also, there are 3 separate part numbers in the device definition: 006-B4536-00, 006-B4775-00, and 006-B4741-00.

    Normally if you wanted to know what model each part number corresponds to, you could look at the API request that's sent when someone navigates to the devices tab of a CIQ app in the store website: [https://apps.garmin.com/api/appsLibraryExternalServices/api/asw/deviceTypes]

    In this case, only one of the part numbers is described:

    {
        "id": "308",
        "partNumber": "006-B4536-00",
        "name": "fēnix® 8 AMOLED (47mm/51mm)",
        "additionalNames": [],
        "imageUrl": "https://res.garmin.com/en/products/010-02905-00/v/pd-06-sm.jpg",
        "urlName": "fenix8-51mm"
    }

    I'm guessing that, in reality, Fenix 8 47mm and Fenix 8 51mm do have different part numbers, but the store website hasn't bothered to make that distinction (since they know you can't build for those devices separately in a supported way.) (In a few other cases, when a single CIQ device has separate numbers that correspond to different models, it might have separate entries on the store device page, like Fenix 7X and Tactix 7.)

  • Thanks for highlighting this. I actually create my own devices.json file and I was using the deviceID field instead of deviceName from compiler.json. This only shows fenix847mm which lead to my confusion that the fenix 8 51mm was not described. . I think I'm going to stick with it though as the deviceName field can be very long and even more confusing for some models such as the fenix7x which has this as a display name: "fēnix® 7X / tactix® 7 / quatix® 7X Solar / EnduroTm 2":

    EDIT: I just looked at the URL which is very interesting. If I knew it existed it might have saved me some time creating my own list.

  • EDIT: I just looked at the URL which is very interesting. If I knew it existed it might have saved me some time creating my own list.

    Yeah it's nice way of actually determining what models the part numbers for a given device refer to, in the cases when it isn't obvious. One fairly obvious case is APAC vs WW, for older devices. One non-obvious case is the various part numbers for fenix7x.

    Too bad it's not really possible with the fenix847mm device since only 1 of 3 part numbers shows up in the API response.

    It's also too bad that part numbers are referred to in the device reference without telling us which models they correspond to. We are supposed to either guess or track down the information somewhere (like the API endpoint linked above or other random places on the internet where these part numbers are used.) (It's noteworthy that these aren't the same part numbers that you'll see on the box or on the retail websites.)

  • Is this the sort of thing you're after ? 

    "006-B3991-00": {
    "deviceId": "fr255sm",
    "deviceName": "Forerunner\u00ae 255s Music",
    "fontSets": [
    "apac_chn",
    "apac_tha",
    "apac_vie",
    "apac_jpn",
    "apac_kor",
    "ww"
    ]
    },
    I can send it to you and my python code as well if you like ?
  • Here's the data fro the Fenix8

    "006-B4532-00": {
        "deviceId": "fenix8solar47mm",
        "deviceName": "f\u0113nix\u00ae 8 Solar 47mm",
        "fontSets": [
            "ww",
            "apac_kor",
            "apac_jpn",
            "apac_twcn",
            "apac_vie",
            "apac_tha"
        ]
    },
    "006-B4536-00": {
        "deviceId": "fenix847mm",
        "deviceName": "f\u0113nix\u00ae 8 47mm / 51mm",
        "fontSets": [
            "ww",
            "apac_kor",
            "apac_jpn",
            "apac_twcn",
            "apac_vie",
            "apac_tha"
        ]
    },
    "006-B4775-00": {
        "deviceId": "fenix847mm",
        "deviceName": "f\u0113nix\u00ae 8 47mm / 51mm",
        "fontSets": [
            "ww",
            "apac_kor",
            "apac_jpn",
            "apac_twcn",
            "apac_vie",
            "apac_tha"
        ]
    },
    "006-B4741-00": {
        "deviceId": "fenix847mm",
        "deviceName": "f\u0113nix\u00ae 8 47mm / 51mm",
        "fontSets": [
            "ww",
            "apac_kor",
            "apac_jpn",
            "apac_twcn",
            "apac_vie",
            "apac_tha"
        ]
    },
    "006-B4533-00": {
        "deviceId": "fenix8solar51mm",
        "deviceName": "f\u0113nix\u00ae 8 Solar 51mm",
        "fontSets": [
            "ww",
            "apac_kor",
            "apac_jpn",
            "apac_twcn",
            "apac_vie",
            "apac_tha"
        ]
    },
    "006-B4534-00": {
        "deviceId": "fenix843mm",
        "deviceName": "f\u0113nix\u00ae 8 43mm",
        "fontSets": [
            "ww",
            "apac_kor",
            "apac_jpn",
            "apac_twcn",
            "apac_vie",
            "apac_tha"
        ]
    }

  • No, I'm good, thanks. I'm referring to information that is not explicitly available in the CIQ device library (installed by the SDK manager): the device library (and the device reference) don't tell you what the part numbers mean.

    TL;DR the fenix7x "CIQ device" refers to several real world models: "fēnix® 7X / tactix® 7 / quatix® 7X Solar / Enduro 2". Clearly nobody outside of the CIQ ecosystem thinks of any of those models as being equivalent. I can't go to Best Buy and purchase a "fēnix® 7X / tactix® 7 / quatix® 7X Solar / Enduro 2" watch. I have to pick one of the actual models.

    And in fact, fenix7x has 5 part numbers. Can you tell me without looking outside of CIQ documentation / device library which real world models those part numbers refer to? (This is a separate question from whether the differences between the part numbers ever matters. For one thing, the device reference website has various info broken out by part numbers (without saying what the numbers mean), so Garmin is implicitly telling us the part numbers matter. 2nd, there are real cases where the part numbers matter, like when distinguishing WW vs APAC models for older devices.)

    --

    Detailed blog post:

    My point is that every device in device reference website and the CIQ device library (which contains compiler.json, simulator.json, etc.) has several part numbers.

    It looks like you've grouped the data from CIQ device library by part number, but you still have no way of knowing what model (real-world product) each part number corresponds to, unless:

    - it's a CIQ device with only 1 part number

    - it's a CIQ device with exactly 2 part numbers, and the non-WW part number (as per the worldWidePartNumber key in compiler.json) has a bunch of APAC languages, in which case you can easily guess that one part number is for worldwide devices and the other part number is for APAC devices. In fact, this is probably the case for the majority of old devices

    - it's a CIQ device with more than 2 part numbers, or the 2 part numbers don't seem to be APAC vs WW. In this case, you have to look up an external reference like I mentioned above.

    (yes I know "model"  and "real-world product" are kind of ambiguous / meaningless here bc they're not official terms, but I mean the actual type of product that you buy from the retailer, not the CIQ abstraction. For example, fenix7x is the CIQ abstraction, "fenix 7X", "tactix 7", etc are the real-world products or models.)

    For example, the fr245 CIQ device has the following part number:

    - 006-B3076-00

    - 006-B3145-00

    - 006-B3914-00

    In this case, clearly 006-B3076-00 is the WW version and the rest are the APAC versions (based on the supported languages/fontsets.) Note that the APAC part numbers support CIQ 3.2.5 but the WW part number supports 3.3.1.

    But in this case, I still don't know the difference between 006-B3145-00 and 006-B3914-00. Looking at store device API, the former's urlName is "forerunner245-APAC" and the latter's urlName is "forerunner245-asia". (I guess there's one part number for certain regions of Asia and another part number for other regions of Asian.)

    This is a case where the differences between part numbers are significant, since you could build an app with minSdkVersion > 3.2.5 (really the min api version), which would exclude the APAC part numbers. In fact it's been a long-standing issue that APAC versions of devices often lag behind in CIQ / firmware updates (sometimes permanently.)

    But Garmin doesn't explicitly tell you this, you have to "figure it out" (like a lot of stuff in CIQ.)

    As another example, the fenix7x CIQ device ("fēnix® 7X / tactix® 7 / quatix® 7X Solar / Enduro 2") has the following part numbers:

    - 006-B3907-00

    - 006-B3910-00

    - 006-B4135-00

    - 006-B4341-00

    Note that there's 5 of them, and they all support the same (or similar) set of WW and APAC languages / fontsets.

    Can you tell me only by looking in the CIQ device library or the CIQ device reference website which actual IRL models those part numbers correspond to?

    I don't think you can, which is a shame since those part numbers are used to group language support and font support. Now it may well be that the language/font support is exactly the same for all 5 part numbers - I haven't checked closely. If so, then you probably don't need to care about the different part numbers.

    But either way, why separate out all this information in compiler.json and the online device reference by part number if Garmin won't tell us what the part numbers actually are?

    ototh, if you access [https://apps.garmin.com/api/appsLibraryExternalServices/api/asw/deviceTypes], you can actually find out what real-world product each part number corresponds to:

    - 006-B3907-00: "fēnix® 7X", "fēnix® 7X - Solar Edition", "fēnix® 7X– Sapphire Solar Edition"

    - 006-B3910-00: "fēnix® 7X", "fēnix® 7X– Sapphire Dual Power Edition", "quatix® 7X" (these are Asian models, based on the urlName of "fenix7X-asia"

    - 006-B4135-00: "tactix® 7", "tactix® 7 – Pro Ballistics Edition", "tactix® 7 – Pro Edition"

    - 006-B4341-00: Enduro 2

    So to be clear, I don't think there's any obvious way to know that 006-B4135-00 is the part number for Tactix 7, without looking at an external reference. So for example, if there's a hypothetical case where you select fenix7x, and the build happens to exclude 006-B4135-00 (as per compiler warnings), you might not have an easy way of knowing exactly what *real world model* that is, until you upload the app to the store and look at which one is missing. If you think that's unrealistic, it actually happened in the past, with Enduro 2.

    In the past, there was a situation where the enduro 2 part number was at a lower CIQ level then the rest of them, which meant that Enduro 2 was excluded from the build in certain cases. This was a case where the differences between part numbers was significant. (Long story short, the Enduro 2 part number was removed, then reinstated. The real Enduro 2's part number was changed to 006-B3907-00, but the old one is still used for the purposes of the build and the store.)