[RELEASE] Echo Speaks V4

They have more precise volume levels than just 1-10, it is basically 1-100 but the devices treats it as 1.0 - 10.0. I just tested setVolume on my Echo Show 8, set to 100 it went to max, set to 20 it worked, set back to 50. All worked as expected.

4 Likes

Just peeked in my logs and seeing this. Already a known issue? Benign?

1 Like

Make sure you are updated to the latest version and then on top of that Amazon changed something that started causing at least one of those errors you are getting, there are various fixes posted, I believe this is the best one:

Anyone have any ideas on this one please?

I've deployed a local instance of ES inside a ProxMox LXC container. Everything looks fine. I have an active cookie and all appears okay. I have 3 echo devices which have been bought into HE as devices. But no matter what I do I can't get them to Talk? Logs look fine but they just won't talk. What am I missing?

image

I think there is a bigger issue going on. I’ve been using Echo Speaks running in Docker on a RPi4 for the last year without any issues and within the last few days my Echo devices stopped responding.

Everything shows as running properly in the ES app and Docker. I haven’t had a chance to search the community for a solution yet but I suspect we are not the only ones with the issue

1 Like

Mine seems to be working okay this morning.

2 Likes

If anyone has any clues on how I might troubleshoot this or get relevant information from the logs can you let me know.

I’ve confirmed that the local ES I stance has no outbound restrictions on the firewall but I silly can get it to make any one of the three echo’s I have speak.

I believe your local url us incorrect . Why are you using a cloud url? Look at the docker logs

Thanks will have a look :+1:

The callback url is the one the es app is giving me when I init the server but will have a look. Thanks.

Edit:

Just found this, I’ll try first thing and confirm. Thanks for the pointer:

Local callback URL

The default setup has the server using a cloud callback URL. If you would like to keep this local you can modify the callback URL and remove the cloud link. Copy the entire callback URL into a text editor and then replace the start of the URL as shown below (keep end part the same).

Replace this section of the url:
https://cloud.hubitat.com/api/YOUR-HUB-ID/apps/

With this new local url:
http://LOCAL.HUB.IP/apps/api/

Now use this new URL in the server setup screen where it asks for the callback URL

If the ES App on HE is getting a valid cookie, the cookie server is no longer relevant, it could be totally offline and ES should continue to work. The "server" is only needed for the app to refresh the login cookie periodically. All the communication with Alexa is done directly from the hub.

1 Like

OK. Thanks.

Everything looks fine, but, no matter what do I can't get a notification to work.

A simple to request to send a device notification of "Test 44" show this in the logs:

Device:

dev:24522023-12-17 08:01:54.147debugEcho (v4.2.2.0) | SpeakCommand Sent | (test 44) | Length: (7) | Expected Runtime: (2 sec) | Execution Time: (682ms) | Amazon Request ID: AHQV3VNXC5KK3YBPF7QV
dev:24522023-12-17 08:01:53.462traceEcho (v4.2.2.0) | speechCmd (SpeakCommand) | Msg: test 44 | CmdDt: (1702800113459)
dev:24522023-12-17 08:01:53.460traceEcho (v4.2.2.0) | speak() command received...
dev:24522023-12-17 08:01:53.457traceEcho (v4.2.2.0) | deviceNotification(msg: test 44) command received...

ES:

app:13682023-12-17 08:02:17.549debugEchoApp (v4.2.2.0) | workQ active: false work items fnd: false now: 1702800137546 nextOk: 0
app:13682023-12-17 08:02:17.546traceEchoApp (v4.2.2.0) | running workQ
app:13682023-12-17 08:01:54.214debugEchoApp (v4.2.2.0) | workQ active: false work items fnd: false now: 1702800114165 nextOk: 1702800116814
app:13682023-12-17 08:01:54.201traceEchoApp (v4.2.2.0) | running workQ
app:13682023-12-17 08:01:54.120traceEchoApp (v4.2.2.0) | running finishWorkQ
app:13682023-12-17 08:01:53.831debugEchoApp (v4.2.2.0) | workQ active: true work items fnd: true now: 1702800113828 nextOk: 1702800116814
app:13682023-12-17 08:01:53.825debugEchoApp (v4.2.2.0) | workQ FINAL ms delay is 3000.0
app:13682023-12-17 08:01:53.822debugEchoApp (v4.2.2.0) | workQ found nop, processing current list
app:13682023-12-17 08:01:53.819debugEchoApp (v4.2.2.0) | workQ ms delay is 2000.0
app:13682023-12-17 08:01:53.817debugEchoApp (v4.2.2.0) | workQ adding sendSpeak from 1368|echoSpeaks|G091AA03201206AR | MultiSequence : Sequential
app:13682023-12-17 08:01:53.809traceEchoApp (v4.2.2.0) | running workQ
app:13682023-12-17 08:01:53.555debugaddToQ (nop) | time: 1702800113516
app:13682023-12-17 08:01:53.552debugaddToQ NEW COMMAND (2)
app:13682023-12-17 08:01:53.526debugaddToQ (multi) | Command(1): [command:speak, value:test 44, deviceData:[deviceType:A2U21SRK4QGSE1, serialNumber:G091AA03201206AR, owner:A2XUW0N6VDAGEX, account:A09016851YZ4GJPOS8R8T, dni:1368|echoSpeaks|G091AA03201206AR], cmdType:sendSpeak]
app:13682023-12-17 08:01:53.523debugaddToQ (multi) | srcDesc: sendSpeak from 1368|echoSpeaks|G091AA03201206AR
app:13682023-12-17 08:01:53.521debugaddToQ (multi) | callback: finishSendSpeak
app:13682023-12-17 08:01:53.518debugaddToQ (multi) | device: 1368|echoSpeaks|G091AA03201206AR
app:13682023-12-17 08:01:53.515debugaddToQ (multi) | time: 1702800113479
app:13682023-12-17 08:01:53.512debugaddToQ (multi) | cmdMap: [cmdDesc:SpeakCommand, message:test 44, newVolume:null, oldVolume:null, cmdDt:1702800113459, cmdId:17, deviceType:A2U21SRK4QGSE1, serialNumber:G091AA03201206AR, owner:A2XUW0N6VDAGEX, account:A09016851YZ4GJPOS8R8T, dni:1368|echoSpeaks|G091AA03201206AR]
app:13682023-12-17 08:01:53.509debugaddToQ NEW COMMAND (1)
app:13682023-12-17 08:01:53.479traceEchoApp (v4.2.2.0) | sendSpeak cmdMap: [cmdDesc:SpeakCommand, message:test 44, newVolume:null, oldVolume:null, cmdDt:1702800113459, cmdId:17, deviceType:A2U21SRK4QGSE1, serialNumber:G091AA03201206AR, owner:A2XUW0N6VDAGEX, account:A09016851YZ4GJPOS8R8T, dni:1368|echoSpeaks|G091AA03201206AR] callback: finishSendSpeak, device: 1368|echoSpeaks|G091AA03201206AR

But I never get anything out of the echo.

Utterly confused.

What is the volume set at? Maybe issue a set volume command first. Could also try using an announcement instead of the speak.

Thanks. I've tried numerous options, volume always set at either 50 or 100. No matter what I try I can't get one of them to talk. Beginning to think I've upset them :rofl:

Have u tried the turn off do not disturb?

Yes. Tried the lot. I'm about to do a full install and then re-install on another hub to prove a point. I'll feedback when done. Thanks for the suggestions so far.

I'm going to confess I'm pretty confused here.

I have 3 x Echo.

I have completely removed and reinstalled ES on a separate hub (I have 2 in use because of the house).

No issues with cookie.
ES installs, identifies 3 x echo and create child devices.
Nothing is being blocked on the FW
All echo devices work as expected when asking Alexa for time etc.
None of them are in do not disturb mode.
Logs show no errors.

I simply cannot get any of them to talk using either a notification or text.

One of the devices in question:

Try a RM command, something like below.

playAnnouncementAll('test') on Echo - Whichever

Same result. I get all the logs from ES to indicate that a notification has been sent, but nothing. The Echo works, if I ask the time so that is all working. for whatever reason it just does not work.

I just noticed your in the UK. Could be something about the server you are using in your ES setup?

1 Like

I've also tried setting the locale to en-US but it makes no difference. Can someone here confirm they are in the UK and operating without any issues?