Si(alarmd) is off by 5 minutes

After updating to Android 9.0 on Galaxy Note 9, my si(alarmd) is now off by 5 minutes.

I just want to show an accurate next alarm time on my widget. My formula is:

$df("EEE, hh:mm a", si(alarmd))$

I understand that it's possible to do time math such as a5m or r5m, but I can't seem to get

si(alarmd) a5m, "si(alarmd) a5m", si(alarmd)a5m, "si(alarmd)a5m", or "si(alarmd)+a5m"

working as an argument for df.

Can someone offer me guidance? I'm new at KWGT.

All I want to do is accept that my si(alarmd) is off by 5 minutes, and offset it manually to be displayed by using time math.


Same here on Galaxy S9 since Android 9.

I installed and use the Google Clock app and the right time is displayed.

Thanks for the tip. I tried the Google Clock app and it did return a more accurate next alarm time. Not sure why Samsung's clock is off by 5 minutes.

I'd still prefer to use the Samsung stock clock as my primary alarm app though, as I've grown accustomed to it, and it proved to be reliable for me.

same here, off by 5 minutes using Samsung's app

Same. Off by 5 minutes (i.e. An 8:30am alarm shows at 8:25am)

Can someone teach us how to manually offset it by using time math, please?

Had the same issue on my brand new Galaxy S10. Shame that Samsung is unable to fix this.

Anyway, I found a solution - this will work:

$df("EEE hh:mma", si(alarmd)+300)$


I almost could not believe how simple the solution really is. You're a genius. Thank you for the help.

Hello all,

I figured it out a bit more:

The Samsung clock now has a "pre-alarm-notification".

Five minutes before the actual alarm you get a notification on your phone of the upcoming alarm (in the notification area).

Before the pre-alarm-notification time, si(alarmd) will give the "5 minutes earlier" time. But after the pre-alarm-notification, the si(alarmd) will give the correct time (for 5 minutes).

So, the solution of adding 300 seconds will of course work, but only until you reach this 5 minute marker. After the 5 minute marker, you don't need the extra 300 seconds anymore.

I think Samsung did a dirty job of getting the 5 minute pre-alarm-notification and unfortunately I have not found a way to disable this pre-alarm-notification option in the Samsung clock.

So, there's not much we can do about it I guess. And I also guess Samsung will not be changing this very soon...

I will be using the Google clock :-).


This makes sense, thank you for digging in. It seems that changing code in our widgets and wallpapers can fix the problem for a Samsung device, but then that widget won't work right on other devices.

Would you consider adding an offset to the settings of the KWGT and KLWP programs that we users can turn on that changes how the program reads the next alarm? So on a Samsung device we could throw the switch and KWGT or KLWP would do the math you figured out for the next alarm time and the regular next alarm code would work?

Also, same thing for how Samsung uses the next alarm function to display when a reminder is due. So if I have a reminder to take out the trash at 6 pm on Tuesday, KWGT always says I have an alarm set. I am guessing Samsung has a flag or code on these alarms saying if they are reminders or the clock?

Thank you so much for looking in to this and helping.

I have solved creating an 'alarm' global variable. It checks if there is a notification from Samsung clock app: if there is, it means that an alarm will fire within 5 minutes so it'll return the original si(alarmd); if there isn't any notification, it returns a KWGT formatted datetime from si(alarmd) + 5 minutes.
So, when I have to use the next alarm in KWGT, I call gv(alarm) instead of si(alarmd).

Seems working :)

You may want to check the package name of your Samsung clock app.

ni(, text),
df(yyyy'y'MM'M'dd'd'hh'h'mm'm00s'), si(alarmd)+300)