[RELEASE] Echo Speaks v3 + Actions

This happens when the heroku goes into a deep sleep. Goto Login Settings > view heroku settings page to wake it.

Hopefully a really easy question for someone, Having just moved from ST where this particular action was working, I cannot for the life of me remember how I did it!

I've got an action where if a Smart Plug power <5W then echo speaks tells me the tumbledryer has finished. The issue I have, is that it goes off on the slightest blip of power (repeatedly). I fixed this on ST (cannot remember how) - I think what I need is a condition that it has to have been <5W for 5 minutes before it triggers, for example, but I cannot find a way of doing this! Any clues or other methods to achieve the same thing?

Thanks,

Jason.

You could do that with Webcore or RM. I just so happen to use webcore for that very thing, but it would be a simple rule in RM as well.

I have never used the Echo speaks actions so I can't help you there.

Hi there. New user here and my goal is to have Hubitat voice/tts announcements come through the various echo flex and dot devices around the house. I believe Echo Speaks will help me with that.

The problem I am having is it is not discovering any devices. I have all apps and device code installed, authenticated alexa server login and can try to 'discover' but it says no devices found.

Please advise and thank you.

Reference info:

Device List

image

ES Versions and Issue Report

image

Alexa Login Service

image

Hey Jason,

Here is how I do it, others might have a more elegant/simpler way but this works.... for me

Rick

1 Like

Really wanted to get this to run locally in Docker on my Synology NAS, so I spent a bit of time on it last night.. and failed. Just needed a good night's sleep; gave it another 15 minutes and it works! I'm sharing in case anyone's interested.

The main issue I ran into was that getIPAddress() returns the IP of the container, which in my environment is not available from Hubitat. So I kludge'd it to return the IP of the host (and I'm not talking about the IP exposed by /sbin/ip route, which is still a docker land IP). The correct IP is actually the hostUrl. @tonesto7 maybe a "Docker?" checkbox in the Required Settings could set that as the IP instead of trying to get it from os.networkInterfaces? Or just add a field?

ssh admin@synology
(I have all my docker configs and volumes on volume2)
cd /volume2/docker
git clone GitHub - tonesto7/echo-speaks-server
vi echo-speaks-server/index.js

# ugly temporary hardcoded kludge
look for function getIPAddress()
on the first line: return 'your IP';

cd ~
mkdir echo-speaks-server
cd echo-speaks-server
vi docker-compose.yml

version: "2"
services:
  node:
    container_name: node-echo-speaks
    restart: on-failure
    image: "node:alpine"
    working_dir: /home/node/app
    environment:
      - NODE_ENV=production
    volumes:
      - /volume2/docker/node-echo-speaks/:/home/node/app
    ports:
      - "8091:8091"
      - "9222:9222"
      - "9229:9229"
    command: >
      sh -c "npm install &&
             npm start"

sudo docker-compose up -d

The container should now be running. Follow the usual installation instructions for Echo Speaks.

Really happy to finally have TTS after not being able to get it on my plethora of Google products!

2 Likes

Good stuff @molepage. Thanks for sharing. I don't have a Synology yet but am interesting in getting one. This would be something I'd want to do to once inhand. :+1:

Quick info update:
I have pretty much all the detection options turned on and it's still not discovering any devices. Any suggestions are welcome as I'd like to get Echo Speaks working here.

Thanks all

This only happens when the account is a family or shared account.

Hi @tonesto7. I do not know who you were replying to...? If it was me, is there a problem using ES with a shared/family account?

Great, thanks, I'll adjust and give it a whirl!

I’m having trouble getting the server setup completed. On the Heroku site, I successfully deployed the code, and then go to Open App. I can see the Echo Speaks Service page, and I click the GOTO LOGIN PAGE button. Then I see a page which says “There’s nothing here yet”, a generic Heroku page.
Anyone know how to resolve this?

Yes - look through the steps carefully - You almost certainly have not copied the code in step 2 of the server install and put into into the first field (app name) in the next step, as per the instructions.

I finally got it working. I was already pretty familiar with the steps, I used this since it was first available on ST. I tried it a 2 more times on my iPhone using Safari, then tried it in Chrome also on my phone but kept getting the same result. Then I tried the same steps from my laptop and it worked right away. I’m sure others have done this from their phones (including me in the past), so must be something I’m doing or maybe some setting. If I need to redeploy the server, I’ll play around to see if I can figure it out.
Thanks for the help!

1 Like

I've found that my laptop is a lot easier with this process, although I've done it a couple of times on my iPad. Glad you got it working.

1 Like

Congratulations @TroyP. Glad it's working for you. I wish I could get it working but it won't discover any of my echo devices. I already posted about this above so I'm just waiting for any helpful feedback/suggestions.

Hi @tonesto7 i';m not using Heroku I have ES locally on a Pi, is there something I should change to address this?

No the Alexa API does not work with shared family accounts

1 Like

I installed Echo Speaks about 1 week ago. It really works very well. Thank you to @tonesto7 for the excellent job on this.

1 Like

I'm running into an issue with 3.6.4.3 install. Specifically, when I go to deploy the Heroku app I get an error that the app name given is not available.

image

I've repeated the process a few times to see if I just happened to randomly hit an already assigned name but it always fails. I found that if I remove the last number of the app name it will accept it but that throws off the install process. Any idea what I'm doing wrong?