Announcing version 2.2.1 of Ask Alexa
I am pleased to announce I am ‘back’ continuing the evolution of Ask Alexa. This version, which minor on the surface, puts in place a structure that will allow for more features in the future. So, ALL aspects of the app have changed and it is required that you update your Lambda code, your developer are, and the SmartApp (in that order).
PLEASE NOTE: Now that this app is rather stable now I will be updating it less frequently except for bugs and new features. I am waiting for Amazon to release their ‘push’ notifications where some amazing stuff will happen with this app. Until then, if you do have a great feature idea for this app, however, just let me know.
Other additions to this new version include:
- Bug Fixes - The normal things…silly misspellings, logic errors, bug reports.
- Code Optimization - Always finding better ways to do things in a shorter about of code.
- Color Schemes - There have been many requests for all sorts of color enhancements, mostly to add more of the standard SmartThings colors. To save some room in the code and to conform with other smartapps, I have added access to the colors referenced internally by SmartThings. This means there are literally close to 150 colors to choose from! Use the cheat sheet for a list of all of the colors and ensure you populate your developer slots with these new colors. Of course, if you want your own personalized color that option is still available.
- Additional Security-Thanks to @Cherokee180c for this suggestion. Basically, if you have locks or garage doors in your profile they can be open or closed easily…sometimes TOO easily that children could inadvertently open a garage door or unlock a door. While there is a PIN option for this, some people want the ability to only do ONE of the commands and not the other (i.e always allow voice to close the garage door, but not open it). You can now disable specific commands for these devices to prevent their usage by voice. So, you could disable “open” for the garage door, and “unlock” from the locks…or vis versa…you could disable “close” or “lock” if you desired.
- Additional utterances - Additional utterances focusing around the colored lights have been added.
Better Follow ups - One item that I was recently motivated to look at is the follow up routines. Basically, if you don’t include your password with an item that needs a password, you had to issue the long command all over again…Now, using the password example, if you say “Open the garage door” and it requires a password, you can just follow up with “Password: 1234” after the error prompt and Ask Alexa will remember your previous request and apply the password to the command and open the garage door. So something like this:
Alexa, tell SmartThings to Open Garage Door
Sorry, this command requires a password. Say password and your PIN
I am opening the Garage Door.
Now that this structure is built into the code you can expect more follow up items within Ask Alexa. Thanks to @SBDOBRESCU and @bamarayne for motivating me to look into this further. Good suggestion!
- Consolidated Reporting - Added an option for switch and dimmer consolidation reports. For example, if all of the switches are off you have the option of having Alexa say “All monitored switches are off” instead of listing all of the monitored switches and their status. This will shorten the final report for some of you. Great suggestion by @jseaton
- Internal Framework upgrade Added an additional set of options when using control macros and setting up SmartThings devices. More is being developed in this area, but this already allows you to have more of a conversation with Alexa instead of barking commands. Think of the recipes for Google Home and IFTTT (custom commands and responses). More to come in this area, so watch for future releases!
- Multi-Room Setup While not technically a new feature, I recently had a use case that let me examine how to get a multi-room experience using one Alexa account with multiple devices in different rooms. Basically, it comes down to multiple Lambda functions, tied to multiple developer skills (with different invocation names), with multiple versions of Ask Alexa. I have begun documenting this here: http://thingsthataresmart.wiki/index.php?title=Ask_Alexa#Multi-Room_Controls_.28Advanced.29
For those with IDE integration with GitHub, simply update the repository and you will have the latest code for the SmartApp itself. However, ALL aspects of the application need to be updated, so place follow the original instructions for installation to ensure you get everything updated properly:
The wiki for this app is here: http://thingsthataresmart.wiki/index.php?title=Ask_Alexa
From a high level, here is the order to upgrade to the new version:
- Overwrite the Lambda code with the new version. Be sure to retain your Oauth and Token
- Overwrite the intent code
- Overwrite the utterance code
- Overwrite the SmartApp IDE code
- Open the SmartApp on your mobile device and go through the Settings>>Setup Variables process
All of you have been great in asking very relevant questions and making suggestions that I end up using. Here are some helpful tips on usage and support:
- Sometimes it works best if I can work real time with you. To facilitate this, I have created a Slack channel: https://askalexa.slack.com. Using this tool is easy and will allow for real-time collaboration to solve the problems faster. To use this feature, I must invite you to the Slack channel. This will not be for normal questions; please use this forum for that function.
- The Echo, as it is designed currently, cannot react to switches opening or other actions within SmartThings. She will do things for you, but only at your direction and at the time of the request. The delay timer mentioned in the control macro happens at the SmartThings hub, not within the Amazon Alexa control. See the new Message Queue functions for similar functionality.
- When evaluating new features I will typically ask for a valid use case. If it can be used by others to bring them value I will put it on my list of future revisions. Not all suggestions will be used and many times I add aspects of the request.
- There are no dumb questions, but many of the questions you may have were probably answered in the year since the initial release. Please take some time to go through the forum and the wiki if you have issues. And don’t be offended if I give you the specific area of the manual that answers your question. I have spent almost as much time on the documentation as I have on the app. Finally, there are some big fans of Ask Alexa that know almost as much as I do. They can also help.
- Feel free to send me forks of utterances or even code revisions. As mentioned above, if it adds value to the overall program I will try to include it. This also goes for the wiki documentation…while I have spent about 120+ hours creating that document, I am open to it being improved; I know there are grammatical errors or syntax issues…If you find them, fix them…I will include your name (if I can) in any fixes submitted.
- If you find a bug or a consistent crash please help me track it down by giving me repeatable steps to reproduce it. A non-reproducible bug, many times, indicates other areas that may be at fault besides the app. If you watch the live logging and see a red error with a line number, that is very helpful to me! However, I will need a full screenshot and not a copy/paste of the text. But be careful about revealing your OAuth and AppToken in your public posts. People can control you house with that information. May want to blur that out.
As mentioned above, revisions will be less and less now. And with the code base now unified, I expect less and less additions…especially as we integrate CoRE more to do some of the heavy lifting of larger condition-base automations… Any and all suggestions are still on the table for addition.
As always, I appreciate any public accolades or even donations to my PayPal account: https://www.paypal.me/mstruck . And, if you are so inclined, I also will accept bitcoins (or fractions thereof) if you have any laying around. My wallet ID is: 1CMgaiKgBfojTBCLpHLfa9KvcrW3cNxVpm