Does Connect IQ help if I'm building apps for devices outside of Garmin ecosystem?

I'm building a web-based app, and I want to bring heart rate data in from my Garmin. I just want to run basic web requests that return this data as JSON, but this SDK seems like it's primarily built for building apps for the Garmin device itself. Can somebody help clarify this for me? Thanks, Adam

  • Indeed. THIS forum is for developers who write code that run on Garmin watches. What you need is probably health api: developer.garmin.com/.../

  • There are a couple options, you can either try to link into the health API which would require integrating the watch feed into a mobile app to push the data to the Web app or you can write a CIQ app on the watch to push data to the web app.  Once you get the data into the web app, what you do with it is beyond the help you can get here.

    For one project we were livestreaming a tennis tournament and we wanted to capture and display live HR data on the scoreboard.  I ended up writing a CIQ app to post HR and a couple other data points to the server every 30 seconds.  It worked for the needs, but depending on how frequent you are sending updates, it can have a real impact on battery life and the watch must be connected via Bluetooth the entire time.

  • Yeah, that's what I figured. When I requested access and did a call with one of the sales guys he made it sound like I could get dev access to that, but then the follow up email just pointed me here. I'll keep trying.

  • I guess Replies to comments don't get nested

  • I mean my Garmin phone app already has access to the data, so technically it's in the cloud already. Can I simply query Garmin's APIs directly instead of taxing more servers? Just looking for the data, I don't want to build a whole app for another device just to do that.

  • To access the data in your GC account you would need to get access to the Health API, which is not really intended for individual users to access their access their account.  Garmin does not provide any methods for an individual to access their data in realtime for import to other apps.  You can export the historical data, but not access anything real-time.

    For an individual user, if you want to get live data, then a custom developed CIQ app would be your easiest method.

  • I'm building a VR Calendar, and making it available on the Oculus library for others to use. Might get funding for it. If it comes to making something in CIQ then I'll kick this can down the road while I see if any other wearables make this easier. 

  • So what you need is similar to let's say what Strava does? Connect the user's Garmin account an your website's and the website will get the data from the Garmin account. You don't need CIQ for that. Actually as a POC you might be able to fetch some of the data from your Garmin app by looking at the connect website. You can also see such home project in action here: https://blog.garminbadges.com/

  • Correct, similar to Strava. I can export from Strava a lot easier, although I really don't want to require a new user to subscribe to an additional account like Strava in order to use my app. Same reason I don't want to create a separate CIQ app for them to have to install and configure on the watch.

    I've developed an OAuth flow that works in the game engine, so I can pop up a browser window for the user to connect their account, and then save their OAuth token to their inventory so they can use it as a key to retrieve data via API when they want. Mostly looking for a few days worth of heart-rate and sleep data at a time for starters. I'm assuming Health API is the best place to do that, but the sales guy keeps insisting I build a watch app in CIQ.

    How does this GarminBadges site work? Hard to tell from the frontend alone. When you say "the website will get the data from the Garmin account", I'm assuming you're speaking of doing this via the Health API?

  • GarminBadges doesnát use health api IMHO. I think he grabs the data from the connect website. But it's just an example. What you need is really to be able to get the user's data after they connect to your app, just like as Strava does. Actually probably even less that that, if you don't need Garmin to push to your api, the user can enter your website and that triggers a sync. I know some sites that to this, but only for the activities: https://runalize.com/https://intervals.icu/