Echo Speaks / Heroku end anxiety support group. See one solution below. πŸ™‚

Question for anyone else running Echo Speaks through Container Station: have any of you figured out how to have this auto start short of setting up cron jobs? I noticed it was down a few times and I had to manually go in to restart this. Autostart is selected.

I am having same issue. Mine will stop running every few days. I haven’t invested too much time in it as I am a new user of Echo Speaks and have been testing it on my dev hub and still primarily using a different solution for my main TTS notifications.

As an old user of ES, I’ll say that its only fault reliability wise has been due to Amazon having issues or breaking Alexa functionality. I will replace the dots with Symfonisk speakers if Amazon ever permanently breaks this functionality, which is very possible considering its reliance on the cloud.

Glad to know it's not just me. I'm pretty sure there is a way to set up notifications to let us know if it is disabled. If I had more time I'd even reach out to QNAP support to see if there's an easy way to get this service to restart automatically.

You could install Uptime Kuma. If you already have a device handling the local authorization for Echo Speaks, then you can host Uptime Kuma on it too I would assume. Then, if the Monitor for Echo Speaks fails, you can restart it. If both ES and UK fail, then that device has failed.

I am hosting the Echo Speaks Server on same Raspberry Pi as Node Red. UK is on a different RPi. I have a flow setup that sends the command "cd echo-speaks-server && npm start" to restart the server if Uptime Kuma notifies that the server has 3 failed responses.

As a bonus, you can add a monitor for your HE hub(s) also.

I just gave up entirely and since they enabled the homekit integration I simply swapped out my echo's for homepod minis. TTS for them will be forthcoming, I can wait.

1 Like

Could you explain this more or give us an example?

Sure, I have a GE washer that is ifttt enabled. I created a vitual sensor in hubitat that I enabled in Alexa. It is a trigger in Alexa. Since you can not trigger a sensor in ifttt, I created a virtual button in hubitat that I enabled in ifttt.

Washer goes off --> triggers notification in ifttt -->ifttt triggers hubitat virtual button linked in iffttt -->hubitat virtual button triggers hubitat virtual motion sensor (washisdone) --> triggers Alexa routine that announces wash is done throughout the house and turns the light next to my chair.

Dryer goes off --> triggers light sensor covering the power button to turn off (hubitat) --> triggers motion on virtual motion sensor (dryerisdone) in hubitat enabled in Alexa --> triggers Alexa routine to announce the dryer is done and turn on my light.

Hubitat virtual motion sensors can be used as smart home trigger in alexa to invoke announcement or speech . Now carrying a variable would be more complicated because you would need a virtual sensor for each value, and not really worth it unless you only have a few values.

1 Like

Just can't get this to work - the container refuses to run - I get exec format error

Can someone provide a real 'idiots guide' to installing in Docker on QNAP Nas as I've never used Container Station before?

Thanks in advance

1 Like

I too am interested in TTS for HomePod. Where did you see it was forthcoming and who is working on it? Thanks.

@bcopeland mentioned it a couple of months back. He was working on something else though at the time

Awesome. I've bought a couple of HomePods off eBay and while Siri is faster than Alexa, the lack of Echo Speaks is a non-starter for me. I'll keep an eye on that. I really wanted to write a version of Echo Speaks called "Siri Says" but I don't see any side doors into the Apple Walled Garden... I hope @bcopeland can crack this.

A β€œreal” Idiots Guide? My install steps couldn’t be any simpler.

You might be using the wrong docker image. Make sure to use the one from Tones.

2 Likes

I've got two issues with the docker setup. I can't seem to persist the login credentials on the server app. If I refresh the page it asks me to login to Amazon again. And the second issue is that the Hubitat app think's the URL for the docker container is http://0.0.0.0:8091. I tried to set an environment variable (hostUrl) in the docker container, but that didn't fix it either. I'm using the tonesto7/echo-speaks-server:latest docker image.

How can I solve these issues?

Try setting IPADDRESS to the IP of the host machine. That seems to work in Docker for Windows anyway. The code for determining the IP to use gets confused with abnormal setups.

Tried that as well and it didn't work either.

Found this on Line 71 of the index.js
Seems to indicate the env variable of 'ipAddress' would be checked and if not found then it runs the built in function? Is your platform case sensitive on Env Variables?

configFile.set("settings.ipAddress", process.env.ipAddress || getIPAddress());

Thank you, that worked. Now the IP shows up in the logs for the echo server and it's being passed back to Hubitat properly.

I can just mixed results with the Alexa authentication. It says everything is fine, but when I go back to Hubitat it says I need to login again. I decided to start fresh and remove the docker container and the Hubitat app and reinstall it and create a new stack/container in Portainer for the server. I'm still having the same issue with the authentication.

It's now not authenticating. I know I have the correct username/password cause I can use them in the Alexa app on my phone. I checked the logs on the echo server and I can see it fetches a huge block of text, which I assume is the cookie, but then I see this line in the logs:
1-10-2023 - 4:26:50pm debug: Alexa Login Status: There was an error getting authentication

I don't know how to get this thing to authenticate.

Do you have the correct region or login server set? Otherwise I have no idea, I have never had issues with it getting logged in. I know sometimes people have said restarting the instance/container after logging in has helped as well.

Are you mounting any volumes? If so can you share what you are mounting between the host and container?