Uh - shouldn't a reminder "remind"?
muonIT opened this issue · 3 comments
Hi,
I'm diving a little deeper into mycroft and am a little puzzled: if I set a reminder for e.g. tomorrow at 9 am, I expect mycroft to remind me. Then, and if I don't acknowledge it, in (e.g. increasingly large) intervals.
But after an initial announcement right before the event, 3 beeps at (1 min) intervals after the event - I get nothing.
Why not utter the reminder again at/after the event, at 1min, 2, 3, 5, 10, 15, 30, 1h until acknowledged?
I ask if there is a reason for this behaviour, I might be able to fix it myself - but my python isn't too good.
Cheers,
Udo
Earlier it continued to remind (at 1 minute intervals)...But it was deemed too annoying if an the reminder wasn't acknowleded (user wasn't at home or something) So it was shortened to three retries. An escalating period might be an improvement... And maybe a presentation when the user activates the unit. "There is one overdue reminder: ..."
Or something similar?
My suggestion would be sth like this:
- increasing intervals on the same day/within 24h: 1 Min, 2, 4, 8, 16, 32, 64, 128, 256, 512 (easy to implement)
- After that, when the user interacts with mycroft, add at the end of the other request: "BTW, you had a reminder at <...> for ..."
That would't be too annoying and would really fulfill the word "reminder" ;-)
diff /opt/mycroft/skills/mycroft-reminder.mycroftai/__init__.py.bak /opt/mycroft/skills/mycroft-reminder.mycroftai/__init__.py.
bak
16a17
> import math
127c128
< """ The reminder is removed and rescheduled to repeat in 2 minutes.
---
> """ The reminder is removed and rescheduled to repeat in x minutes.
132c133
< Repeats a maximum of 3 times.
---
> Repeats a maximum of 10 times with 2^repeats minutes in between
141c142
< if repeats < 3:
---
> if repeats < 10:
143c144,147
< new_time = deserialize(r[1]) + timedelta(minutes=2)
---
> # new_time = deserialize(r[1]) + timedelta(minutes=2)
> interval_reminder = math.pow(2,repeats)
> new_time = deserialize(r[1]) + timedelta(minutes=interval_reminder)
> self.speak("muon reminder: interval_reminder is " + str(interval_reminder) + ", repeats is " + str(repeats))
Something like this...
But python and me don't get along too well yet...