Connect IQ Fields not showing in the app

I've got an app in the appstore Squasht It!, and at some point my Connect IQ fields stopped working. As in they won't show up anymore in the phone app.

And it seems to only be broken on the newer versions of the api. I've got a Venu 2 with api level 4.2.4 and I've got no problems but a friend of mine has a venu 3 and he has api level 5.0.0 and for him they're not registering anymore.

And for the life of me I can't figure out how to fix this. I've updated to the latest SDK and it does work when I create the fit file from the emultator.

Hope somebody can help me out. Since more people are starting to ask me what's wrong.

Top Replies

All Replies

  • Ok I did go up and down on this one, I'm sorry it's just giving me sleepless nights trying to figure this out.

    here's the recap.

    I have an app in the store which is saving data to the session and laps through fit fields.
    This was working fine and then all the sudden it was not on newer api versions.
    Unfortunately it still works with my device but devices running on api lvl 5.0.0 are missing these fields.
    with no change to the fitcontributions and both devices running the same app version. So the 2 images I showed are both with the same fit fields only mine with api lvl 4.2.4 is showing the correct data. And the other one is api lvl 5.0 which is not showing the correct data.

    I tried fixing this by updating the sdk version to 6.2.0 but this also didn't seem to work then I came here for help.

    One feedback from a user was (hopefully this helps): 

    Hi I am using version 3 .0 of Squash It! and I have been a happy user. Unfourtnlally then the result from the sets are not carried over to the app anymore. 
    teh same happened in version 2.0.7. I think that it is after Garmin changed from FW 15.77 to FW 16.22. Hope you can fix it?
  • The forum is full of reports similar to this, that about a month ago when Garmin started to publish beta versions suddenly existing apps started to behave strangely.

    I am still a bit confused because you consistently write that data is not "showing" correctly. That's why I went to check my DF's output in Garmin Connect app (and as you see I did find a bug, but that looks like another one, not the one your users have) But the 2 pictures you included are not from Garmin Connect. And also I don't see something not "showing" on those pictures, just strange values for the steps.

    How were the pictures created, and how did you get the fit files? From the watch? From Garmin Connect web?

    Also maybe I am also tired :) but can you draw a red circle around whatever is "not there"? 

  • Alrighty then. This morning I played with my colleague same app version different api level versions. 

    These are my results (4.2.4) in the connect app all the fields are there. The landscape part of the image are the laps.

    As you can see there's Connect Iq showing

    This is what the Connect App of my colleague (api level 5.0.0) shows. In the red box should be the missing fields

    And this is the bit of code that's creating the fields

    session_field_game_score_player_1 = session.createField("game_score_you", FIT_GAME_SCORE_PLAYER_1_ID, Contributor.DATA_TYPE_SINT8, {:mesgType => Contributor.MESG_TYPE_LAP, :units => Ui.loadResource(Rez.Strings.fit_score_unit_label)});
    session_field_game_score_player_2 = session.createField("game_score_opponent", FIT_GAME_SCORE_PLAYER_2_ID, Contributor.DATA_TYPE_SINT8, {:mesgType => Contributor.MESG_TYPE_LAP, :units => Ui.loadResource(Rez.Strings.fit_score_unit_label)});
    session_field_game_time = session.createField("game_time", FIT_GAME_TIME_ID, Contributor.DATA_TYPE_DOUBLE, {:mesgType => Contributor.MESG_TYPE_LAP, :units => Ui.loadResource(Rez.Strings.fit_game_time_unit)});
    
    session_field_stats_steps = session.createField("steps", FIT_STATS_STEPS_FIELD_ID, Contributor.DATA_TYPE_SINT32, {:mesgType => Contributor.MESG_TYPE_SESSION, :units => Ui.loadResource(Rez.Strings.fit_steps_unit)});
    session_field_match_score_player_1 = session.createField("match_score_you", FIT_MATCH_SCORE_PLAYER_1_ID, Contributor.DATA_TYPE_SINT8, {:mesgType => Contributor.MESG_TYPE_SESSION, :units => Ui.loadResource(Rez.Strings.fit_score_unit_label)});
    session_field_match_score_player_2 = session.createField("match_score_opponent", FIT_MATCH_SCORE_PLAYER_2_ID, Contributor.DATA_TYPE_SINT8, {:mesgType => Contributor.MESG_TYPE_SESSION, :units => Ui.loadResource(Rez.Strings.fit_score_unit_label)});

    Hopefully this information is slightly more understandable. If any more information is needed please let me know.

  • Now at least I can see the problem and I think Garmin will also understand. Open a bug report with this so they can fix it in the firmware. 

    The next question is if anyone here can come up with a workaround that you could do...

  • Ok I've created a bug bug-reports/connect-iq-fields-are-missing-on-lap-view-on-api-level-5. Sadly I couldn't post any pictures in there so I added a link to this thread. Hopefully this works.

    And yes a workaround would be very nice, 

  • That's a known bug (probably misconfiguration) of the forum. You can post pictures in the comments

  • Hello, I got an app called Padel AI and one of my users reprted to me very similiar behavior. On his Fenix7x custom fields in Stats are not showing up while on my Fenix7 are still being reported. On both watches Charts are working fine though.

  • I think some earlier commented about 2 separate failure modes. I have one example where the same watch failed separate times, in each of the modes. 1) no customer fields 2) custom fields present but they have no data in them.

    When i get time i will see if i can reproduce any of this in the simulator as i do not have the effected models.