Happy Friday…It has been a mostly uneventful week as I have been busy at work. However, I am pleased to report that @erocm1231 has updated his Device Monitor application to be FULLY Message Queue compliant. In fact, Eric is the one who first who suggested the expiring of messages function. Great idea! And, as I mentioned in his thread, he now has AUTOMATIC compatibility with Alexa when they release their push notification. Great work, Eric…
I did update one piece of Ask Alexa this week, but it is minor. Information about this is at the very bottom of this post (If you sync your IDE, you should see it…). However, this week, outside of Device Monitor being updated, I wanted to give a status report of the work done this week on Ask Alexa. If we go into the ‘way back machine’ and look at the roadmap I laid out: [RELEASE] Ask Alexa you will see we are keeping on track, with the scheduling app being released as 2.2.6 last week. Going forward will be a more ‘quiet time’ for the app itself. I already have 2.2.7 working as there was one long term app with a specialized DTH that needed fixing. I am also adding some VERY cool logging features that will be invisible to the end user, but allow even MORE partner apps to integrate with Ask Alexa. One of them will be deeper integration with WebCoRE. This DOES mean I may intentionally break the integration with “CoRE Classic”. I would be curious who among you use CoRE to ‘listen’ for an Ask Alexa Macro running, or inversely, uses Ask Alexa to run a CoRE Piston. PM me soon if you want to discuss as I haven’t stripped out the code yet, but want to in lieu of the new logging feature which will give WebCoRE the same functionality.
I continue to optimize the code and add little features that people have requested. One ‘interesting’ one is the “whisper” ability. I have had feedback that this mode is certainly ‘creepy’ sounding, but I can see a couple use cases for it. Because of some changes coming down the pike from Amazon, I have changed all of the output of Ask Alexa to SSML. This does nothing for the user directly, but it DOES allow me to add some cool little personality features in the future easily. How easy? The whisper mode was only a couple lines of code in the smartapp and it took me 5 minutes to add two more features that allow for speed and pitch changes in the output! All of this is coming soon….
Also, I am getting VERY positive feedback, public and private, about the Schedules extension…more than I expected! This was NOT an easy extension to write as the number of days in the year, days in a month, etc are inconsistent. However, it appears I got it right! However, there are still some folks PMing me asking questions about Schedules as the name (and what it implies) is very broad. As such, here is a small Q&A about them if you haven’t already investigated them:
What Ask Alexa Schedules is:
Schedules is an EXTENSION to Ask Alexa that allows you to set up one-time or recurring schedules that utilize the Ask Alexa message queues to alert in a variety of method to your schedules. In addition to verbal alerts, you can run actual macros or perform other Ask Alexa actions at a certain time. More importantly than the schedule of actions, Schedules also allows to you set up REMINDERS prior to the Action. Even Amazon misses this important aspect of setting up a schedule.
What Ask Alexa Schedules Is NOT:
Schedules is NOT a stand alone app…There is no built-in functionality for DIRECT notifications in the code of Schedules. This is by design as using the Ask Alexa Message Queues allows direct and immediate access to output via the Alexa speaker when Amazon releases push notification the functionality. In fact, all ALL Ask Alexa partner apps (like Device Monitor above), will benefit from their relationship and integration with Ask Alexa.
In addition, Schedules does its alerting via time-based schedules. There is no alerting on events as this is better handled by apps such Big Talker, a partner app for Ask Alexa.
Finally, Ask Alexa Schedules is NOT just a reminder application. Based on feedback from users, sometimes you want to have things happen on a schedule. We can do that! This could include running as Ask Alexa Macro, a weather report, or even clearing the Ask Alexa Message queue.
Advantage of Schedules:
Schedules is (are?) versatile: Your time-based schedules can range from one-time events, simple or complex schedules (starting and stopping alerting or runnin based on all types of parameters or restrictions). In addition, for super-advanced users, Schedules is the first app to allow for direct cron input for schedules and reminders. This, coupled with reminders of actions, make this one of the most powerful SmartApps for SmartThings.
Also, Schedules allows you to self-manage/clean up your time-based schedules…Maybe you have a one time event, or multiple events on a weekly basis, but ends at a certain time, or after a certain run count. The app can allow you (verbally, or by expiration of the schedule) to ‘self destruct’ and delete itself from your application.
With its tight integration with Ask Alexa, you can also query the schedules from Ask Alexa, run or pause the schedules actions (and reminders), and even delete the schedule with your voice. And don’t worry…you can always override a delete command if necessary (within the time you specify in the app)
Updates to 1.0.1-Available now!
In addition to small syntax and bug fixes, the biggest addition is actually improved simplicity; while I tout the virtues of doing Schedules for the biggest use case (birthdays/anniversaries), you actually had to choose a COMPLEX schedule for a seemingly ‘simple’ task. So, I have improved upon this by giving you an easy anniversary/birthday schedule option…you simply set the start date of the event and the action, and away you go. In addition, I added some features that allow you to go WAY back in time to the beginning of an event. Why is that important? Well, let’s say you want Alexa to not only remind you of the event but tell you how old someone is or how many years they have been married…I recommend giving this option a try. More options using these new function will become available when I release an update to the main app.
With this new addition, if you already set up your schedules, you DON’T have to go back and change them. However, you will want to check them; I improved upon the complex schedules as well to allow you to set them up once and if they are daily or longer recurrences even if the start date expires you still keep the date and schedule you originally set up. This may not make a lot of sense until you install the app, but this was a flaw in the logic of how this particular schedule was using the input.
If you sync you IDE with GitHub, you should already see the color change. If not, here is the code for Schedules: https://github.com/MichaelStruck/SmartThingsPublic/blob/master/smartapps/michaelstruck/ask-alexa-schedule.src/ask-alexa-schedule.groovy