Fitbit Ionic/Versa beta integration

Support thread for Fitbit integration betatesters.

The beta version of the watch app is available at

You also need the latest beta of Sleep as Android, and select Settings > Wearables > Fitbit.

Then start sleep tracking in the phone app, and start the Sleep watch app. This will start a service (you will see a notification) that needs to be running for the Fitbit to be able to connect to Sleep as Android, and to send data during sleep tracking.

Please report your experience, bugs and other findings here.


I am really excited by this announcement.
Will this be available for the fitbit Charge 3?
I would really love to test this!

1 Like

@memyself Sorry - we cannot integrate Charge 3 as it does not run the Fitbit OS…only Ionic / Versa and derived models can have apps run on them…

Out of curiosity, does this integration collect heart rate and Spo2 information from the Versa/Ionic? Either way, looking forward to testing this out. Got the app on my Versa and all set for my next sleep session. I’ll report back with results. Thanks!

1 Like

So excited to get to use this tonight! I’ve been playing around with it this afternoon and would suggest an enhancement for usability.

Would it be possible for the FitBit server to start automatically when I start the tracking in the phone’s app (as a part of the “waiting for connectivity” screen)? That way I can stop the server during the day and only have it running when I’m tracking.


You pretty much said what I was going to post. Let’s see how this works tonight.

I am having trouble accessing both the Beta version of Sleep as Android (takes me to a blank page with just “Directing you to Gallery in Fitbit mobile application,” but nothing happens, and I get the same when I click the link for the Watch app Beta.

What am I doing wrong?? (I have used both my phone and the web to see if I get different results, but don’t.

My phone is Samsung Galaxy 9+.

The link for the FitBit app needs to be clicked from your device (I tried my desktop first). If your doing that and it’s not launching the Fitbit app, you might need to open the Fitbit companion app then switch back to the link and refresh. In the end, the watch app has to load in the Fitbit app store from inside your device.

Regarding the beta apps, I also had a problem with the link above to get the beta, so I googled “sleep as Android app download” and it was in the top few results. The list of apps is pretty clearly marked so you’ll see the most recent version. Make sure your browser has side-load permissions on your device. OR you could download the file on your desktop and add to Google drive, then launch from drive app (to keep your browser from just launching apk files).

First night: The tracking only worked for 20 min and the remainder of my graph is a red flatline.

Conditions: I manually started the Fitbit server on my phone, then launched sleep-mode by opening the app on my watch. It engaged as expected and showed me a little activity as I was settling in. The server was still running on my phone when I awoke. Unfortunately, I had the Versa watch alarm set and it woke me up (clearing my watch screen), so I don’t know if the app was still running when I woke up or not.

My two suspicions are:

  1. My og Pixel slept the server app
  2. My Versa stopped the app after 20 min

Or maybe both?

Hope this is helpful. I’ll report back tomorrow, I’ve now disabled the Versa alarm so it will not take over watch screen at 7:15.

Also, unrelated to the tracking issues, last night I tried using the “play” button after launching the app on my watch (because I pause for 5 min when launching) and the button on the watch did not seem to work. And as a morning test (after the conditions I described above), I restarted the watch app and tried the snooze button on the Versa, but it did not work either.

I totally understand the dev process. Thank you for your help and making a great product! I hope this feedback is productive and helpful to the team. Thanks!

1 Like

Same here! Thanks for doing the typing :slight_smile:

Two differences

  1. On my Versa the Fitbit “server” seems to be running all day so I did not manually start it. When I looked at my phone it had the Fitbit server in the list of items.
  2. In the morning all seemed normal as I use the phone for my alarm not the Versa. I did not notice anything different on my graph, though I’m not sure what should be added to the information now that I am running my watch.

Hello, you should see a #watch tag in your graph’s comments if watch was used…

Hi Petr yes the watch tag is in my comment section. So then we are using the watch, in my case the Versa, is there more information being used by Sleep? I guess what I’m saying is what is the purpose of using the watch? Thank you!

Hi all and big thanks for the first time reportings!
This is really a first field test, so the road will probably be a bit bumpy for some time. Thanks for your understanding!

@treyhendon It would be really useful if you could get me a debug log from Sleep as Android (left menu > report a bug) - just write something like “fitbit”, or “for Jiri”, in the message box there.

Regarding your suspicions -

  1. If you see the “Fitbit” notification on your phone in the morning, then this did not happen. On Pixel this would probably work alright - I was also testing on a Pixel 1 and had no issues with the phone server.
  2. I tested on Ionic but the app on watch was rock solid (meaning did not just turn off without an obvious reason)

The biggest issue seems to be the middle man - there is a Javascript runtime inside the Fitbit app (I mean the official app from Fitbit on the phone) which serves as a middleman for delivering messages between the watch and our phone server. I’ll write an in-depth blogpost about it the next week, but now suffice to say that this middleman is not as reliable as advertised by Fitbit, so that’s most likely the culprit and that’s the main thing I need help with testing and debugging for.

This also probably answers why the “play” button was not working sometimes.

@djjstew Was the Sleep as Android app on the watch running in the morning when you woke up?

Hi Jiri: No the app was not running in the morning on my Versa. I am presuming you mean was the app on the screen like we see when we turn it on? BTW I am on Android 9 on the Note 9. For sanity purposes I also checked the the aggressive Samsung battery optimizer and Sleep as Android and Fitbit are both not optimized so they should never be shut down.

Hey Jiri,

Totally understand the road ahead. Happy to help through this process. I do have the #watch tag in my notes (as well as the watch icon on the graph screen). Great to know that server in the status bar does mean it’s running so that is not as likely. That is also why I turned the server off yesterday during the day (assuming I’d save battery life on my phone).

I’ll get that log file over to you shortly. Hopefully it will bring some insight.

Makes sense that it’d be the JS app between the watch and phone acting up. I do notice with other app notifications that there are weird delays or times that it never happens. Can’t wait to read you post and see what you’ve learned about it. Hopefully FitBit will be investing deeper into their OS and it’s framework.

Again happy to help. I had a Pebble and Bip, so I’m familiar with the watch tracking. @djjstew The cool thing about the watch tracking is that you can put your phone on the other side of the room to make you get out of bed (true story). :slight_smile: Also, my wife’s movements are not as much of an issue in my tracking because it’s on my body, not the mattress.

Oh, also, I’ve kinda said this, but to clearly say it, I have a Pixel 1 running stock [Verizon] Android 9 and a FitBit Versa Special Edition.

Also, just saw there was a beta build for 20190315 and I’m installing that today to try tonight.


First thing, I misspoke yesterday. The app stayed alive on my watch 40 minutes the first night.

Morning Two:
Again, app stayed alive 40 min after starting and going to bed. (I used the same sequence to launch: start server on phone, start watch app.)

This morning I was up a few times and was able to confirm two things:

  1. I restarted the app (while phone was still tracking) and it only lasted another 40 minutes.
  2. I restarted the app a third time, but this cycle I clicked the left button to wake my watch twice throughout my dozing and kept the app running on my watch for 90 min.

This does make me suspect something in the watch is killing the app (I assume to save battery).

My watch is on FitBit OS My watch face is Minimal-Clock and it pulls from Yahoo weather every 30 min. I don’t suspect it since I’m consistently seeing 40 min for the watch before it stops.

I’m attaching a screenshot of my graph from last night so you can see the cycles.

I can confirm similar results when using the app on my versa. If I wake up, I have to open the app again in order for tracking to resume. It definitely appears as though the app is being closed. While the app is open, tracking seems to work well.

I agree with the above @treyhendon and @theclarkmeiste I restarted the watch 3 times last night and when I woke up it was off. I did a quick search to see if there was a toggle for app battery optimization on the Versa and did not find anything.

I can confirm that behavior, including the number of 40 minutes before the flatline and that restarting the app on the watch leads to exactly 40 minutes more proper tracking. (I’m on a versa and a OnePlus 6T if that helps). I can also confirm that the Fitbit server on the phone was still running when I restarted the app on the watch and seemed to continue working when it got more data.
One more thing: I don’t see my heartbeat show up even within that 40 minutes. Is that a bug, has the heartbeat integration just not been integrated yet, or is there a reason why it will not be implemented (API restrictions etc.)?

A couple of more insights after looking more carefully at my graph on sleep-cloud:

  1. I had 4 instances on my graph from the watch being “alive”. The time “alive” was not constant 1st 35 min 2nd 15 min 3rd 45 min and 4th 45 minutes. Interestingly enough (at least to me) was prior to each instance it was shown I was awake which does make sense because I checked my watch and restarted the App
  2. All other times on my graph was “N/A” about 7 hours. Looking back I don’t recall anywhere near that much “N/A” time, ever. I can only guess this was because the Android App thought the watch was in control but in fact it had either crashed or was put to sleep.
  3. Last night was the first time that only #watch was in my comment system and “sonar” was not. The previous couple of nights had both #watch and #sonar and did not have any “N/A”. It is very possible that I did not start the system correctly - meaning I started everything on the phone and not the watch. I’m certain last night I started everything on the watch and so therefore there was no #sonar? We shall see tonight.

All that maybe totally off base and have other explanations from the engineers. I will be curios what the graph tonight looks like :slight_smile: