Announcing version 2.2.4 of Ask Alexa
I am pleased to announce the 2.2.4 version of Ask Alexa. In this version I continue (along with help from the community) to evolve the application to allow more conversational syntax, along with adding more functionality for existing and new devices. This is a big update with every aspect of the code changing; however, you DO NOT need to wipe away your old installation and re-install. Here are the high-level steps for upgrading (please refer to the documentation for locations of these files: http://thingsthataresmart.wiki/index.php?title=Ask_Alexa#Latest_Version)
Go into your IDE and make a copy of your Ask Alexa (2.2.3) code.
If you have your IDE linked to GitHub you should be able to just click and update the Ask Alexa code. If not, copy the code (2.2.4) from GitHub and overwrite your original code. SAVE and PUBLISH
Due to some variable changes in 2.2.4 you need to test the app first. Go into your SmartThings app and open Ask Alexa. If it open and there are no errors, proceed with the installation.
If you DO get an error, DO NOT proceed with the installation and roll back (use the copy of 2.2.3) to overwrite the 2.2.4 code. Contact me via PM and I will give you instructions on what I need to squash this bug. I saw it once in beta and wasn’t able to fix it before the user did a re-install and fixed it (a re-install is almost NEVER necessary–FIXED).
There is a new module, Ask Alexa Message Queue code. Copy this and create a new smart app. This will be a ‘child’ of the main app. You CAN SAVE and PUBLISH if you want, but SAVE only is also acceptable.
Go the Lambda, copy your STtoken, STappID and url to a Notepad
Get the new Lambda code, and overwrite your current code.
Re-copy the STtoken, STappID and url back to the proper location in the Lambda code
In the Amazon developer section, copy and paste the intent file. DO NOT SAVE YET
Since you are here, create a couple new slots. Call them LIST_OF_MQ and LIST_OF_MQCMD.
For the LIST_OF_MQ, simply put these two entries:
primary message queue
For the LIST_OF_MQCMD enter these:
Copy the new utterance files and paste them into the section at the bottom of the page.
Now SAVE at the bottom of the screen
Begin using your app. I recommend creating some new message queues and then going to Settings>>Setup Variables to populate the developer slots you created above. Be sure to open each of the Global Message Queue Options, add an item, click done, then return to this area to clear out the back-end variables.
The next update will probably be a few weeks (or more) away. However, I will push bug fixes out if you report them to me! And I will always be on the forum to harass I will also publish a roadmap of where some of the major changes are going to be made in the future so you can prepare (i.e. moving weather to its own extension, along with voice reports after that).
PLEASE NOTE: Now that this app is rather stable (It is now 1 year + old!) 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, 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.
- Virtual Presence Sensor Commands Expanded Even more ways to ‘check in’ with additions like on, off and gone.
- Additional Utterances Thanks to many community members, new utterances that were added that allow for more question/answer type of status reports. For example “Is the front door open” will respond properly (“The front door is currently closed”) instead of saying “You attempted to take action of a device that can only give a status report”. The nice thing? No additional coding was necessary to accomplish this…I will be expanding the utterances in the future to give even more natural responses.
- Custom Color Page - Added an icon to the custom color and setting page when this option is available.
- Ask Alexa Extensions - To allow for even more options in the future, the architecture of Ask Alexa is evolving to allow what I am calling ‘extensions’ to be accessible via the main app. Just like child apps in other applications, these can be added to Ask Alexa to give even more functionality to the main program.
- Updated Setup Variables Page - There are new links to the Lambda, Intent, and Utterance Github sites for one-stop click when upgrading code.
- GUI changes With the additions of new extensions within Ask Alexa (and more are coming), the GUI has been changed to reduce the number of items in the Settings area, and put more context specific items where they belong. For example, anything that is voice macro related is now in the Macro Extension area. And, anything specific to the new message queue extensions will be in that area.
- Message Queue Extensions You can now add additional message queues to Ask Alexa. This is in preparation for the ‘push’ function from Amazon, but can function now with SmartThings connected speakers or Synth devices.
- Flash Briefing With the additions of new Message Queues you can use any of them as the output of the flash briefing.
Let’s say you have Big Talker installed, and you want certain events to go to the kitchen speaker, and other events to go to the bedroom speaker. With the new message queues, there will be a mechanism to allow Big Talker to choose which message queue certain messages go to. By default, the primary message queue is always active and present, and it will be where legacy applications send all of their message. However, I have expanded the interface capabilities available to developers so they can specify which message queues messages go to. When Amazon releases their push notification, all of the partner apps will immediately be Alexa output compatible without any additional coding on their part. (To be clear, Big Talker 2.0 will support the message queues)
- Expanded the primary message queue - Added additional notification options to the message queues including SMS, push and visual notifications (lights/colored lights) that can be configured to alert you when there is a message in the queue.
For those with IDE integration with GitHub, simply update the repository and you will have the latest code for the SmartApp itself. You will need to load the extension code (See here: http://thingsthataresmart.wiki/index.php?title=Ask_Alexa#Extensions) However, for ALL aspects of the application 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
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 with Big Talker!
- 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 over a year creating this document, I am open to it being improved; I know there are probably still 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. You 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 I partner with other application developers to ensure their strengths can be brought into the notification model of Ask Alexa . Any and all suggestions are still on the table for addition.
To prep for the next version, be sure to take some good notes about any weather voice reports you have set up…I will be moving the weather piece to it own extension app. However, it will still be able to work in any voice report you have set up. Then, the fun begins with addition another extension after the next one!
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