[RELEASE] Echo Speaks V4

lol. I am waiting and in no rush :slight_smile:

…but still reading the thread to keep up to date.

1 Like

@tonesto7 I agree with you. Thus, my previous comments in this post. I did cut over to a dorker setup. However, I do see some functionality issues that I wasn't seeing before. I'm happy to test and I agree we have three months to sort this out. I'm probably going to flip back to the original server. And retest to make sure that all the functions work again. Thank you again for all your help and effort with this solution. I know many people appreciate your efforts all across this platform.

@moh my previous response regarding the authentication was response to the general thread not to a particular person. There are many people having authentication issues and I wanted to present that as a alternative possible concern/solution that they might be running into.

I'll wait! But I have been looking to set up an rPi with docker anyway. You just gave me a reason.

1 Like

I wonder what API or functionality is needed in Hubitat so that the echo-speaks-server could be written in groovy. Some sort of general purpose key-value store for saving the cookie/token, perhaps.

1 Like

Honestly, I'm hoping it never goes there. My hub is already pitching a fit about too many events, so I find it much better to offload as much responsibility as I can.

1 Like

I keep a Mac running to host Homebridge and will likely just use this to run the new local server. I’ll probably wait for Tonesto7’s server update, but I may get impatient because right now my Heroku server is crapping out every 10 days, forcing me to manually re-deploy it. Did you use the information here to configure yours?

It's not crunch time yet but I do need to sort out the best way to keep this running.

Based on how we do things at work we only have two sprints left and one of them is for dark deploy and defect identification and test while in dark deploy. I miss the days when it would be ready when it's ready. :grinning:

4 Likes

@tonesto7 - on another note, is there a reason you just "speak" notifications rather than using the Alexa Device Notification functionality (that persists with the yellow ring)?

The API which is available does not allow us to send device notifications like you are mentioning. Unless something has changed in the last year.

It's likely a different API, but maybe similar?

The functionality is mentioned here: Notifications API | Alexa Smart Properties

Yeah, that's the Alexa Skills API.

With all due respect, I don't think it is the Skills one. It's a REST API that looks to be for interfacing a hotel's "wake-up call" system (or other automated message) with Echo devices in the rooms.

Looking at line 2136 of this: https://github.com/tonesto7/echo-speaks/blob/master/drivers/echo-speaks-device.groovy

it appears you're already doing something to remove notifications... shrug

It's not the same APIs.

Plus the notes at the top explain whether it will work or not...

2 Likes

Right, I didn't expect the same API. I expected that a notifications endpoint for one API tool would work similarly to the notifications endpoint for another API tool from the same vendor.

I can't find where the documentation would be for the API you're using -- is it documented? I'm happy to peruse that to see if I can find what I'm looking for...

FYI.. I'm on the docker server for cookie management. I don't know if that is part of it. I'm going to go back over to the original deployment method. I just haven't done so.
However, I'm getting these error messages.

app:36922022-09-09 04:06:34.022 pmerrorEchoApp (v4.2.0.7) | wakeupServerResp Exception: java.lang.Exception: No response data exists for async request

app:36922022-09-09 04:06:34.018 pmerrorEchoApp (v4.2.0.7) | wakeupServerResp | Stack Trace: java.lang.Exception: No response data exists for async request
at hubitat.scheduling.AsyncResponse.getData(AsyncResponse.groovy:71)
at user_app_tonesto7_Echo_Speaks_1655.wakeupServerResp(user_app_tonesto7_Echo_Speaks_1655.groovy:2226)

app:36922022-09-09 04:06:33.989 pmerrorEchoApp (v4.2.0.7) | wakeupServerResp Server may be down / unreachable

app:36922022-09-09 04:06:33.984 pmwarn EchoApp (v4.2.0.7) | wakeupServerResp: 404

app:36922022-09-09 03:51:33.806 pmerrorEchoApp (v4.2.0.7) | wakeupServerResp Exception: java.lang.Exception: No response data exists for async request

app:36922022-09-09 03:51:33.802 pmerrorEchoApp (v4.2.0.7) | wakeupServerResp | Stack Trace: java.lang.Exception: No response data exists for async request
at hubitat.scheduling.AsyncResponse.getData(AsyncResponse.groovy:71)
at user_app_tonesto7_Echo_Speaks_1655.wakeupServerResp(user_app_tonesto7_Echo_Speaks_1655.groovy:2226)

app:36922022-09-09 03:51:33.775 pmerrorEchoApp (v4.2.0.7) | wakeupServerResp Server may be down / unreachable

app:36922022-09-09 03:51:33.768 pmwarn EchoApp (v4.2.0.7) | wakeupServerResp: 404

app:36922022-09-09 03:36:33.747 pmerrorEchoApp (v4.2.0.7) | wakeupServerResp Exception: java.lang.Exception: No response data exists for async request

app:36922022-09-09 03:36:33.743 pmerrorEchoApp (v4.2.0.7) | wakeupServerResp | Stack Trace: java.lang.Exception: No response data exists for async request
at hubitat.scheduling.AsyncResponse.getData(AsyncResponse.groovy:71)
at user_app_tonesto7_Echo_Speaks_1655.wakeupServerResp(user_app_tonesto7_Echo_Speaks_1655.groovy:2226)

For my setup, this happens when echo speaks on hubitat can't get to the echo-speaks-server - of course there are several reasons why the server isn't working. I think one cause is the server was rebooted but the hubitat side still has an connection and hasn't closed it on failure.

@tonesto7 I have flipped back to Heroku. Because I have been seeing some issues Announcements was working on ECOBEE devices started see this error in the event logs

So, I have reset and rebuilt the app again (redeployed). I'm noticing with the new Google Browser this prevents the cookie from being captured correctly. This is a built-in alert from the browser. I used Edge Chrome (private Mode) and worked like a champ. (Note I still see errors in the browser log, but I don't know if it was from getting all the browser issues worked out.)

image

However, I am seeing from the test page that should allow to test individual devices it now doesn't allow for that. Device options are missing. I'm using 2.3.3.113 moving 2.3.3.114

Thank you again for all your challenging work with this.

I am struggling pretty bad with getting local server set up on Pi. I've been bouncing all over here and Google trying to get a fresh install of Debian Bullseye working for me but I keep hitting road block after road block. Wrong dependencies....outdated.....wrong paths....it's a mess. Can anyone help?