Package: ovos-skill-alerts
AlertsSummaryA skill to manage alarms, timers, reminders, events and todos and optionally sync them with a CalDAV service.DescriptionThe skill provides functionality to create alarms, timers, reminders and todo (lists), remove them by name, time, or type, and ask for
what is active. If you choose to syncronize with a DAV server, you can also access your reminders and todo lists from other devices.Alarms and reminders may be set to recur daily or weekly. An active alert may be snoozed for a specified amount of time
while it is active. Any alerts that are not acknowledged will be added to a list of missed alerts that may be read and
cleared when requested.If you were away, your device was off, or the device was napping, ask for a summary of what was missed. The number of notifications
missed can be seen on the upper left corner of the Home screen.Distinction between reminder, event and todoEventsAppointments, gigs, ... that may (but not necessarily) have a start and end time. Like this you are notified if an e.g. appointment collides with another one. Events may be created with a prenotification in advanceRemindersLess formal dates that only have a start time.(Although you can set a repeating reminder also with an endpoint - eg "remind me to take out the trash every day at 7pm until next saturday")TodosNon time related "short term memory" for things to do. Todos can be organised in lists. Eg shopping listAlertis a bucket term for all of the different types.ScenariosKeywords are underlined,alert namesitalicif not specifically mentioned (likebreadtimer,tennisevent), the name defaults to the time it is set for (eg8 AMalarm,2 minutetimer)Alarms, Timers, Reminders, EventsOne timealarms, timers, reminders or events:"Set an alarm for8 AM.""Set abreadtimer for 30 minutes.""Schedule atennisevent for 2 PM on friday spanning 2 hours."
...(events may be created with a prenotification in advance)HINT:Atimerstarted without a time specified acts like a stop timer counting up from now.
To stop it and voice the time delta say "Timer stop".Recurringalarms, reminders or events:"Set a daily alarm for8 AM.""Set an alarm for 8 AM on saturdays.""remind me totake out the trashevery Thursday and Sunday at 7 PM."OCPAlarm:(Alarm triggering Media Player;depends on the OCP capabilities of your device/serveing instance)"wake me up at 8 AM with music." (in general: "... with {media type})-> the skill will ask you which media title to play -> lookup media in the media library"wake me with music."(change/set media on an already created alarm; next alarm will be chosen)Reschedulean existing alarm, timer, reminder or event:(duration or fixed time)"Reschedule my8 AMalarm at 9 AM.""Push thetennisevent by one hour.""Move my next event one hour earlier.""Extend thebreadtimer by 2 minutes." (or: Extend thebreadtimer until 10 am)"Change the8 AMalarm recurring only mondays and tuesdays.""Changetennisevent length to 3 hours."HINT:You can reschedule the time of a recurring alarm and will be asked if that applies to all or just the next one.Query:"When is my next alarm?""Which reminders are scheduled today?""Are there any events between friday and sunday?" (also: "between friday 10am and 3 pm")running timer"How much time is left on mybreadtimer?"Cancel:specific type/name:"Cancel my8 AMalarm." (in general: "cancel my {name} {type}")all / of a type:"Cancel all alerts." / "Cancel all alarms."on a specific day:"Cancel alerts on saturday."in a time period:"Cancel alerts between Friday 8 AM and 10 AM."next:"Cancel my next alarm."CAUTION:Double check if you "cancel all", especially when using DAV, as it will drop all of the reminder/events.Active alert(expired and currently speaking or playing):dismiss:"Stop alert."snooze:"Snooze." (factory default is 15 minutes)duration:"Snooze for 1 minute." / "Snooze until 8 AM."HINT:You can also "snooze" an active reminder/timer with "remind me again at 10 AM." / "extend by 2 minutes".The alert name must not be mentioned in this instance. Active alerts are always considerred directly editable.Missed alerts(expired and not acknowledged):"Which alert did i miss?""Missed any alerts?"Todowalk the dogshoppingmilktoast(When using nextcloud as DAV server, be sure to use the "Tasks" plugin application)Create:"Remind me towalk the dog""create ashoppinglist" (with the option to populate the list afterwards)Sublist:"add items to theshoppinglist" ->set the items one by one: eg. milkplingtoastpling..(silence stops recording)(list is shown on screen/voiced in advance)Complete todos:"scratch milk entry from theshoppinglist"Optionally remove one/multiple; list is shown on screen/voiced :"remove item(s) from theshoppinglist"Remove all items on theshoppinglistRemoveshoppinglistanalogous for non lists:"removewalk the dognote""remove todo entr(y/ies)""remove all memos"(if DAV active, marked as complete on server)Query:list names :"which lists are stored?"... "shopping"list items :"which items are on theshoppinglist?"... "milk and toast"todo items :"Anything todo?"... "i should remind you to walk the dog"DAVCalendar names:which calendars are available?Sync:(Supposed to run automatically every x minutes, but can be triggered manually)synchronize calendarsSettings(this is the default){"speak_alarm":false,# if the alarm should be spoken"speak_timer":true,# if the timer should be spoken"sound_alarm":"<path/to/soundfile>",# default constant_beep.mp3"sound_timer":"<path/to/soundfile>",# default beep4.mp3"snooze_mins":15,# default snooze time if duration/time is not specified"timeout_min":1,# the duration the user is notified, after which the alert is considered missed# (doesn't apply to media -radio/video/..- alarms)"play_volume":90,# volume of the alert sound"escalate_volume":true,# alarms only - raise volume over time (10% steps, dependent on timeout_min;#                                       half the time on max volume = `play_volume`)"priority_cutoff":8...}DAV settings see belowSetting up DAV connection(tested with NextCloud)By now, you have to edit the credential file manually, this will change in the futureWith the startup of the skill, a template file will be created under~/.local/share/mycroft/filesystem/skills/<skillname>/dav_credentials.json{"<service>":{"url":"https://<ip:port>/remote.php/dav","username":"...","password":"...","ssl_verify_cert":"..."# if SSL is set up, otherwise delete this line},"<another service>":...}First setup the credentials, then populate respective parts in the skill settings filesettings.jsonthe skill setting get reloaded and the repeating sync event starts (everyfrequencyseconds){...,"services":"<service>,<another service>",# comma separated string of services"frequency":15,# the number of minutes between syncronisation; default 15"sync_ask":false# If it should be asked if a generated reminder/todo element should be synchronized}The skill fetches DAV calendar dates one year in advance.
You can set up multiple calendars on the server, the skill will ask to which it should be synced.
Errors during connection will be voiced, for specifics check the skill log.Only events, reminder and todos will be synced. Alarms and timers won't be.
Check the timezone on your server/event, as sometimes the timezone is not recognized properly and therefor scheduled incorrectlyKnown Bugs / TroubleshootingGenerally, this skill is meant for ovos-core >= 0.0.8 and its dependencies. If you are using an older version, please update or you might experience major problems.The skill is tested predominantly in german and (to a lesser extent) english, but might lack certain individual speech patterns. Other languages are autotranslated and need to be sanitized. In the alpha phase we like to encourage you to contribute to form a well balanced experience for a wide variety of languagesThe skill wont understand/misinterpret what i'm saying.Check the logs for the intent that was triggered and the utterance that was transcribed. STT might have gotten the words wrong. Maybe change the service (Known issue especially with non english speakers using Whisper)The notification system is not working properly. Missed alerts are not shown.The notifications sometimes get mixed up, this is a known issue and it's worked on. Be sure you are using the latestovos-gui-plugin-shell-companion(#) and have the oldovos-PHAL-plugin-notification-widgetsdeinstalled.When polpulating a list, the last element is followed by an "unknown" utterance.This is a known issue and will be fixed in the next release. It's a problem with the way the skill is handling the input in a response context. It's not critical and can be ignored for now. The list is populated correctly most of the timeRecommended VersionsThese aren't hard requirements as preferences may vary, but recommended
GUI:skill-ovos-homescreen >= 0.0.3a6(There is also aPRpending)Incompatible SkillsThis skill has known intent collisions and replaces:skill-reminder.mycroftAIskill-alarm.mycroftAImycroft-timer.mycroftAIskill-alerts.NeonGeckoComBe sure to remove them before installing this skill.Contributing TranslationsThe skill is for the most part autotranslated (except en/de) and needs to be sanitized.As the examples above show, the skill is using adapt keywords to determine intent. Thevocabularykeywords should include a variety of synonym nouns and verbs to satisfy a wide range of speech patterns.Dates and names are parsed either as a leftover (ie. non keyword) or following a keyword (eg.until.vocuntil 6 AM)
Noise words that should be ignored parsing a reminder name are listed innoise_words.voc(eg. "remind me to take out the trash ->take out trash)Dialogsare straight forward most of the time and should include the correct mustache tags from the get go.These are easy patterns to keep in mind.If you want to contribute to the translation, please check thevocabfolder and add the respective files for your language.A basic understanding of the intent structure and what to make of it is required.require("query").one_of("alarm","reminder","event","alert","remind").optionally("and").optionally("stored")# <- vocabIn the likely case that questions arise, feel free to contact @sgee_ in matrix chat.Contact SupportUsethis link (Matrix Chat)orsubmit an issue on GitHubCreditsNeonGeckoComNeonDanielCategoryProductivityDailyTags#OVOS
#OpenVoiceOS
#alert
#alarm
#timer
#reminder
#schedule