[RELEASE] Echo Speaks v3 + Actions

Current Features:

  • Creates virtual Echo Devices for every physical Alexa device (if supported).
  • Make Alexa announcements based on any ST event.
  • Play music/sounds based on an event (eg, when someone arrives)
  • Trigger weather/traffic reports, jokes, fun facts, sing songs, stories, get calendar events.
  • Create Alarms or Reminders based on any ST event.
  • Many other Alexa features.
  • There are tons of possibilities.
  • There is ~50 custom commands available.
  • Alexa Guard Control

Introducing Echo Speaks Actions:

This new Action app will allow you to create rules based on device, location, schedule trigger events while defining conditions to utilize the full features of the Echo Speaks devices Without requiring a 3rd party app like WebCore or Rule Machine...

The idea behind Actions was to create a simple but powerful app to trigger speech/announcements or other Echo Speaks features.
The beauty is in the flexibility of each action, it can be as simple as a single speech event when the front door is unlocked.
To as complex as selecting multiple triggers (contacts, motion, presence, etc.) and defining criteria and custom responses for each individual event type.

This app is accessible through the Echo Speaks app and not the market place or user-defined apps.

The purpose of the app is to eliminate the need for 3rd party rule engines and have better integration with advanced commands.

Current Triggers Available:

Date/Time Events:

  • Scheduled Time
  • Sunrise/Sunset

Location Events:

  • Modes
  • Routines

Weather Events:

  • (Coming Soon)

Safety & Security Events:

  • Alarm (HSM/SHM)
  • Fire/Smoke
  • Carbon Monoxide

Actionable Device Events:

  • Locks
  • Outlets/Switches
  • Dimmers/Level
  • Garage Door Openers
  • Valves
  • Window Shades
  • Thermostats

Sensor Device Events:

  • Contacts | Doors | Windows
  • Battery Level
  • Motion
  • Illuminance
  • Presence
  • Temperature
  • Humidity
  • Water
  • Power

Action Types Available

  • Speak (SSML Supported)
  • Announcements/Broadcasts (SSML and Multi-Device Supported)
  • Custom Sequences
  • Weather Reports
  • Playback Control
  • Built-In Routine Functions:
    • Sing a Song
    • Flash Briefing
    • Fun Fact
    • Traffic Report
    • Tell a Joke
    • Tell a Story
    • Say Goodbye
    • Say Good Night!
    • Say Good Morning!
    • Welcome Home
    • Sing Happy Birthday
    • Give a Compliment
  • Play Music (Using Alexa music providers only)
  • Calendar Events (Non-Pin protected email only)
  • Create Alarms
  • Create Reminder
  • Do Not Disturb Control
  • Bluetooth Control (Connect/Disconnect Paired DEvices)
  • Change Alexa Wake Word
  • Execute Alexa Routines

Links

Install:

https://tonesto7.github.io/echo-speaks-docs/installation/hubitat/installs/

V2.x Upgrade Process:

  1. Update the Echo Speaks app code.
  2. Install the new ES Actions app code.
  3. Update the Echo Speaks Device code.
  4. Open the Echo Speaks app and press Done/Save.
  5. Make sure your server version is v2.2.2+
  6. Go back in and enjoy the new features.

Documentation:

https://tonesto7.github.io/echo-speaks-doc/
The new docs have been updated to reflect both the SmartThings and Hubitat process flows.

Login Issues?

If you are having login issues, please make sure you've updated the server to the latest version.

V3 Changes (This is WIP):

Echo Speaks App

β€’ NEW: Login Status page now available. It will list each item and run a validation test and give you the response realtime.
β€’ NEW: You can force the devices to sync their cookies with the main app (in the rare occasion they get messed up).
β€’ NEW: Setting to define how often your cookie refreshes (in days). Between 1 to 5 days. Refreshes attempted before 24hours are now blocked.
β€’ NEW: Pause/Unpause all actions from the Main App actions page.
β€’ NEW: Automation child app called Echo Speaks - Actions to eliminate the need for 3rd party apps to use all of the Echo Speaks functionality.
β€’ NEW: Support/automation for Alexa Guard (Please note. If you have a large number of smart home devices attached to Alexa this may prevent guard data from being loaded under ST).
β€’ NEW: Ability to remove 'Echo - ' prefix from device names.
β€’ NEW: Issues section at top of the app UI. It will show any authentication, code updates/version issues.
β€’ NEW: Child App and Devices now verify that they meet the minimum version required and stop processing if they don't.
β€’ NEW: importUrl header param for Hubitat users to quickly import code.
β€’ NEW: Checks are now performed to make sure you can't install Actions app from the marketplace.
β€’ NEW: Log filtering options for reducing log output.
β€’ NEW: Three strikes rule for authentication failures. Instead of clearing auth on the first failed attempt it will wait for 3 consecutive failures.
β€’ NEW: Speech testing has been added to the device testing section.
β€’ FIXED: Repaired issue with Bluetooth status requests.
β€’ FIXED: Device rename issue on Hubitat.
β€’ FIXED: Authentication handling tweaks and optimizations.
β€’ FIXED: Other bugs resolved.
β€’ UPDATED: Streamlined the mainPage to be less cluttered and overwhelming.
β€’ UPDATED: Lots of UI polishing.
β€’ UPDATED: Rebuilt the announcement tests function.

Actions App:

β€’ NEW: importUrl header param for Hubitat users to quickly import code.
β€’ NEW: Alexa Routine Execution (Only those with custom voice triggers).
β€’ NEW: Subscribe to just about any location and device events.
β€’ NEW: Create responses for each trigger type (Means 1 action can accommodate a large number of events).
β€’ NEW: Monitor devices for changes and speak after so many seconds then repeat every x seconds until it changes to the desired state.
β€’ NEW: Define different responses for the repeat events.
β€’ NEW: Define multiple responses and have a random response for each event.
β€’ NEW: Web-Based response builder.
β€’ NEW: Log filtering options for reducing log output.
β€’ NEW: Much more.

Coming Soon (v3.1):

  • Creating Zones based on device state (Motion, Switches, etc.)
  • Duplicate existing Actions
  • Weather-based event triggers.

Device:

β€’ NEW: importUrl header param for Hubitat users to quickly import code.
β€’ NEW: SSML Support for Speech commands (Speed, pitch, emphasis, voices, and more).
β€’ NEW: Better version checks for devices to prevent compatibility issues.
β€’ NEW: alexaGuardStatus attribute.
β€’ NEW: Log filtering options for reducing log output.
β€’ FIXED: All web calls have been reworked to eliminate the JSON error in the logs.
β€’ FIXED: Should greatly reduce the performance effects on Hubitat which cause slowdowns.
β€’ FIXED: setLevel type mismatch issues.
β€’ FIXED: Extensive queue testing and optimizations.
β€’ FIXED: Authentication handling tweaks and optimizations.
β€’ FIXED: Many other items I'm not remembering.
β€’ UPDATED: Modified the synchronization of Cookie data with the app.
β€’ UPDATED: Tweaked and optimized the Queue system in the device to be much more resilient and reliable.


Tags: Echo, TTS, Alexa, Amazon, Speech, Text to Speech

9 Likes

amazing app, tones of work involved no doubt.
10/10!

1 Like

Documentation links are failing with 404 errors.

1 Like

Documentation has been fixed...

1 Like

Thank you very much for this. Just an FYI, I'm still getting a 404 for the documentation link but it's easy enough to get to.

1 Like

Thanks for the donation. I fixed the docs about an hour ago so maybe it’s being cached somewhere. I just tested on my phone and all the links were working as expected

Incredible work! I don't know how you find the time.

1 Like

Thank you. All installed and working! Great work on this btw.

1 Like

NOTICE:

Anyone having Authentication issues please update all (both apps and device) of your code to v3.0.1.1 and send me the link to your diagnostics page.

Under the ES App > Manage Logging and Metrics > Diagnostics Data > Press the email button.

Saturday, running 3.0.0.8 (beta) my Echo's stopped speaking, At that point my cookie's hadn't refreshed in about 2.5days. I went ahead and did a manual refresh of the cookie, and that fixed the issue.
Today I updated to 3.0.1.2 and no issues with the update and working smooth so far.
I emailed you the diagnostics if you need..

1 Like

Got it installed again. stays logged in so far. seems awesome.

1 Like

This is awesome! Install went very smoothly following the install docs...THANK YOU for a great app! This is going to be a lot of fun!

1 Like

This login stuff is tricky little f*%$er to track down. It doesn't feel like it's an ES issue and more like an amazon issue. My hope is to be able to find the commonality between the different issues using the diagnostics data that's being shared.

I'm pushing out v3.0.1.4 with a minor tweak to the diag page that allows you to choose whether to share the cookie data so I can compare them with working and non-working auth tokens to see if there is a pattern.

Sorry for all the updates today but i'm trying to work through this authentication issue once and for all.

@tonesto7

Any chance to look into adding support for Notification Devices on Hubitat? I still can't get my Pushover devices or Mobile Clients to show on the newest version but not sure if you worked on that part yet:

Do you know how can we add you as a Collaborator on Heroku to allow it to automatically update or do I have to have your email address to add it?

image

Actually just figured out how to update the Heroku server without having to redeploy. I connected my Heroku account to my Github account. I then forked your Server repo to my Github account then was able to pick that repo on Heroku to update the code to version 2.30 on Heroku.

that will work but your will need to submit pull requests from my repo to yours everytime there is an update

Just updated to the latest. I clicked on the button to share cookie data as well.
Echo's had stopped speaking sometime last night or this morning. Working again after update. Redeployed new Heroku server as well.
Let me know if you need anything else for troubleshooting!
image

silly question, but do we need to update if it is all working ?

I just updated to current and when I open the app, it tells me I need to update

:frowning:

Ya, was the same for mine. I had to update all 4 (Speaks, Actions, Device and Heroku Server).