[RELEASE] Echo Speaks V4

@brad that depends on if you used the NPM install or the Docker install from my article. With Docker, the "-d" to detach the server makes sure it starts when the docker host boots. With the NPM install, the commands:

sudo pm2 startup
sudo pm2 save

will cause the app to startup at boot time.

@tim.ocallag What fix from Tony? My article shows two ways to get the server running on your network locally to replace the cloud based Heroku instance.

1 Like

I appreciate that you created instructions..that IS incredible ..my hope was not to have to setup another computer to accomplish something that I'm hopeful there is a fix coming soon.
I am curious, I have a windows 10 PC on all the time, has anyone used WSL on windows 10 and been able to configure per the instructions?
Thx
Tim

Thanks @vmsman I wanted to get this going on a Synology NAS and your instructions have been very helpful. I have the docker container running and I see the "home" page on port 8091.

I am a bit confused about this instruction:

Go back to the Echo-speaks app in the Hubitat and clear your server setup. Then initiate the setup being sure to turn off the “Deploy to Heroku” switch. That’s it!

Is this removing/clearing only a part of what's in the Echo Speaks app, or do I need to delete the whole Echo Speaks app and install from scratch. If it's former, can you point out the right section(s) to clear?

Thank you!
-Adil

Instead of WSL I used a VirtualBox VM running Ubuntu 22.04 on a Windows 10 machine that's on all the time for our backup system. I followed @vmsman's instructions at Echo Speaks / Heroku end anxiety support group. See one solution below. 🙂 - #58 by vmsman to get the Echo Speaks server running. It's been ages since I have used Linux, but it only took a little more than an hour to get everything working. Since ES is the only thing running on the VM I did not bother with an LXD container. Using VirtualBox I was able to give the VM a dedicated IP.

Adil - I have been trying to get this set-up on my Synology NAS and I am not having any luck with the instructions. What did you use for sending the instructions? I tried Putty and I couldn't get it to work.

What did you use for sending the instructions

I ssh'd into Synology's (admin) account from my Mac and I use either the OS-provided Terminal or the iTerm app.

BTW, I about to log off for the day, but I'll be happy to help you out tomorrow. Also, I presume you do have docker installed on your Synology? I had done that earlier for a different setup, so I followed the instructions from this step: wget https://github.com/TonyFleisher...

-Adil

I have a QNAP and not a Synology. I am guessing by default that ssh might be disabled and you might need to enable it first.

@tim.ocallag so, this is the fix. WSL2 may work. The problem that you will have with wsl is that it does not have systemd enabled. I did write an article about this for Windows 11 that might give you a start. Virtual WSL in Windows 11 - ScottiByte's Discussion Forum.

Here's what I mean by clear your server setup.

1 Like

For you Windows users interested in using WSL2 in Windows 10/11. Check out my tutorial.

2 Likes

I was able to get it to work. I was able to get the zip file but I had to unzip outside of SSH and then upload to the Home directory - That's the directory I get when I log in as an Admin.

I was able to follow the instructions from there and it worked. I haven't gone into Hubitat yet to make changes to the server.

Thanks for offering to help!

@Tazena glad you got it going.
FYI... I also didn't have 'unzip'. Instead, '7zip' was available and that's what I used.

$ which 7z
/bin/7z

-Adil

I got the docker installed and running. However I am unable to get the Amazon login to complete and say authenticated. It says its successful but the logs show it is not downloading it and sending it to the hubitat correctly.


11-26-2022 - 8:38:48pm debug:   ** Settings File Updated via Web Config **
getRemoteCookie...
Alexa-Cookie: Use as Login-Amazon-URL: amazon.com
Alexa-Cookie: Use as Base-Amazon-URL: amazon.com
Alexa-Cookie: Use as User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36
Alexa-Cookie: Use as Accept-Language: en-US
Alexa-Cookie: Proxy-Mode enabled if needed: 192.168.1.xx:8091 to listen on 0.0.0.0
Proxy Init: loaded temp data store ■■■ fallback former data
Proxy Init: reuse frc from former data
Proxy Init: reuse map-md from former data
Proxy Init: reuse deviceId from former data
11-26-2022 - 8:38:49pm error:   generateAlexaCookie: You can try to get the cookie manually by opening http://192.168.1.xxx:8091/ with your browser.
11-26-2022 - 8:38:49pm debug:   Alexa Login Status: There was an error
11-26-2022 - 8:38:49pm info:    ** ServerVersion Sent to Hubitat Cloud Endpoint Successfully! **

11-26-2022 - 8:43:30pm debug:   config(/) page requested
11-26-2022 - 8:43:31pm info:    Checking for Server Version Updates...
Alexa-Cookie: Use as Login-Amazon-URL: amazon.com
Alexa-Cookie: Use as Base-Amazon-URL: amazon.com
Alexa-Cookie: Use as User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36
Alexa-Cookie: Use as Accept-Language: en-US
Alexa-Cookie: Proxy-Mode enabled if needed: 192.168.1.xx:8091 to listen on 0.0.0.0
Proxy Init: loaded temp data store ■■■ fallback former data
Proxy Init: reuse frc from former data
Proxy Init: reuse map-md from former data
Proxy Init: reuse deviceId from former data
11-26-2022 - 8:43:31pm error:   generateAlexaCookie: You can try to get the cookie manually by opening http://192.168.1.xx:8091/ with your browser.
11-26-2022 - 8:43:31pm debug:   Alexa Login Status: There was an error
11-26-2022 - 8:43:31pm info:    ** ServerVersion Sent to Hubitat Cloud Endpoint Successfully! **
11-26-2022 - 8:43:31pm info:    Server Version is Up-to-Date.

You could try what everyone recommends. Reboot the device running echo-speaks. Since it's docker you could try stopping and then starting the container. Or reboot.

I've restarted the docker a bunch of times as well as the hubitat. Neither seems to let it process the cookie. It stays logged out despite it saying successful.

It is finicky. Once it starts working it stops being so troublesome. I don't remember the magic dance to get mine up and working in docker. I know it requires time - like a couple of minutes when using the hubitat app. Amazon also has same rate limiting if you try too many failed logins (or too many successes?).

Is there a way to manually pull the cookie in the meantime? I think its all setup correctly but this is the other error I get when rebooting and pulling it again.


Alexa-Cookie: Response (401)
Get User data Response: ""
11-26-2022 - 9:52:56pm error:   generateAlexaCookie: Unexpected end of JSON input
11-26-2022 - 9:52:56pm debug:   Alexa Login Status: There was an error
11-26-2022 - 9:52:57pm info:    ** ServerVersion Sent to Hubitat Cloud Endpoint Successfully! **
getRemoteCookie...

So is the official stance to do the pi route? Monday is the 28th.