Is it Impossible to configure sleep/wake time for Fenix 8?

Many watch faces use the below variables to act on the users configured sleep/wake time.

  • Toybox.UserProfile.Profile.wakeTime
  • Toybox.UserProfile.Profile.sleepTime

My Fenix 8 Solar is getting the values set for my old FR945 (user settings "normal sleep time" and "normal wake time") and there is no way to edit those for the Fenix 8.

If i select my FR945 in GCM i can edit those values and they do sync to the Fenix 8. Why when they are used for the Fenix 8 are they not present in the F8 User profile settings!? 

I thought these variables might change to use the values selected for my Fenix 8 Sleep Focus schedule if i deleted the RF945 from my Garmin profile but of course here i am....

Since Garmin's app team will blame the firmware and the firmware team the app, is there a workaround as a Monkey C developer? I can't see any way to access the Focus mode sleep schedule......

For now it looks like I need to re-register an old watch to change a setting for the new....

Top Replies

  • 2 days ago in reply to FlowState +1 suggested
    If you use Background.registerForSleepEvent / registerForWakeEvent, do the events fire at the user's *real* sleep and wake times (i.e. based on the sleep focus mode schedule)?

    Thanks…

All Replies

  • If i select my FR945 in GCM i can edit those values and they do sync to the Fenix 8. Why when they are used for the Fenix 8 are they not present in the F8 User profile settings!? 

    Are they actually used for Fenix 8 (in built-in functionality) though?

    I have an FR955 and it's the same situation. "Normal sleep time" and "normal wake time" don't exist as user profile settings. Sleep/wake time is  configured via Settings > System > Sleep Mode > Schedule. But every day has a different schedule, which means those settings can't really be mapped to the CIQ UserProfile fields, unless CIQ tried to something "clever" like return the "current schedule" (I don't think they would do this because if I ask for wakeTime, for example, CIQ would have no way to know whether I mean today's wake time or tomorrow's wake time.)

    If write a little CIQ app to display user profile sleep/wake time, it always displays the defaults of 22:00 / 6:00, regardless of the actual sleep schedule, which is kind of what I expect.

    You may have found a workaround to change those values internally in Fenix 8, but I'm guessing they wouldn't have any effect except with any CIQ app that might still use them.

    To me it seems that:

    - the original CIQ functionality was based on the user profile sleep/wake settings in old watches (obviously)

    - the old sleep/wake user profile settings are still internally available in newer watches (for whatever reason - perhaps solely because they're used by CIQ), although the user can't see them and the built-in functionality probably doesn't use them

    - Garmin never bothered to update CIQ to support the new sleep/wake schedule settings

    It's kind of like how the CIQ API has DeviceSettings.is24Hour (boolean), even though watches support 12h, 24h, and military time formats.

    is there a workaround as a Monkey C developer?

    If you use Background.registerForSleepEvent / registerForWakeEvent, do the events fire at the user's *real* sleep and wake times (i.e. based on the sleep focus mode schedule)?

    I'm genuinely curious, as I haven't tried this myself.

  • Are they actually used for Fenix 8 (in built-in functionality) though?

    Not that I've seen, but i wasn't looking.

    If write a little CIQ app to display user profile sleep/wake time, it always displays the defaults of 22:00 / 6:00, regardless of the actual sleep schedule, which is kind of what I expect.

    Sure for someone that never edited the values that i can edit via the 945. Those might be the default values.

    For me though I had 1am - 8am set via my 945 (realistic sleep for me). Then I edited them to 23:00 - 07:00 to make sure the values were unique and they show up on the Fenix 8 after a sync....

    For Fenix 8, most days i have 10pm - 8am to activate the sleep watch face to reduce the high battery drain of the Garmin watch faces...

    Then I'm confused why my own watch face switches based on sleep times in the simulator but not on my watch, at least until i show on-screen the sleep/wake times!

    If you use Background.registerForSleepEvent / registerForWakeEvent, do the events fire at the user's *real* sleep and wake times (i.e. based on the sleep focus mode schedule)?

    Thanks, I will look them up, try them and post back. It might not be for a week though!

  • Sure for someone that never edited the values that i can edit via the 945. Those might be the default values.

    Yes of course, I understand that completely.

    But just because you can edit them via FR945 settings, doesn't mean Fenix 8 (or FR955) will use them for built-in functionality. It's not like Garmin intends for the user to edit these functions via some old watch as a normal thing to do.

    My suggestion is that these settings are leftover code that's not meant to be visible to the user or used by built in functionality (again, maybe it's just kept around for backwards compatibility purposes). Yes, it seems that CIQ apps can use these settings but I wouldn't recommend it unless it's just for personal use. How will the average user change these settings?

  • If you use Background.registerForSleepEvent / registerForWakeEvent, do the events fire at the user's *real* sleep and wake times (i.e. based on the sleep focus mode schedule)?

    Thanks, I can confirm these events do trigger based on my configured sleep focus mode settings, at least on a F8 Solar.

    These events and handling can also be easily checked in the simulator via Simulation/Background events.

    Fun fact, if you only "registerForSleepEvent" but not "registerForWakeEvent", the simulator sends both sleep and wake events which can result in some head-scratching when the hardware works as it is meant to.....

    These events do not trigger via the controls wheel sleep toggle.

    I turned off my morning report for initial testing, so wont find out if it still works when enabled until tomorrow.

    Sadly this background service might have impacted battery life to the point is is no good for my use case, but figuring that out is going to take another week!