[DEPRECATED] Echo Speaks

Is this for the Heroku server part? If so, anybody want to give some pointers on how to install this on a RaspberryPi?

Unfortunately ... that is not me.

Thanks.

Then I recommend you just use the Heroku server.
It's only used for 5 seconds every 5 days. The heroku server is asleep 99% of the time and your information is secure because it looses all of it's data when it's asleep

1 Like

Am I missing modification of the existing code base (which seems tuned for both hubs)? I'm receiving missing method exceptions in several places.

Horoku is setup, cookie refresh, claims to be working. I found these exceptions early on, but it's speaking now.

    dev:19922019-01-28 09:48:18.469 pm errorgroovy.lang.MissingMethodException: No signature of method: java.util.LinkedHashMap.hasError() is applicable for argument types: () values: []
Possible solutions: hashCode(), hashCode() on line 838 (getAlarmVolumeHandler)
dev:19922019-01-28 09:48:18.425 pm errorgroovy.lang.MissingMethodException: No signature of method: java.util.LinkedHashMap.hasError() is applicable for argument types: () values: []
Possible solutions: hashCode(), hashCode() on line 961 (getDoNotDisturbHandler)
dev:19922019-01-28 09:48:18.431 pm errorgroovy.lang.MissingMethodException: No signature of method: java.util.LinkedHashMap.hasError() is applicable for argument types: () values: []
Possible solutions: hashCode(), hashCode() on line 1056 (deviceActivityHandler)
dev:19922019-01-28 09:48:18.471 pm errorgroovy.lang.MissingMethodException: No signature of method: java.util.LinkedHashMap.hasError() is applicable for argument types: () values: []
Possible solutions: hashCode(), hashCode() on line 750 (getPlaybackStateHandler)
dev:19922019-01-28 09:48:18.387 pm errorgroovy.lang.MissingMethodException: No signature of method: java.util.LinkedHashMap.hasError() is applicable for argument types: () values: []
Possible solutions: hashCode(), hashCode() on line 861 (getWakeWordHandler)
dev:19922019-01-28 09:48:18.382 pm errorgroovy.lang.MissingMethodException: No signature of method: java.util.LinkedHashMap.hasError() is applicable for argument types: () values: []
Possible solutions: hashCode(), hashCode() on line 891 (getAvailableWakeWordsHandler)
dev:19922019-01-28 09:48:18.354 pm errorgroovy.lang.MissingMethodException: No signature of method: java.util.LinkedHashMap.hasError() is applicable for argument types: () values: []
Possible solutions: hashCode(), hashCode() on line 914 (getBluetoothHandler)
dev:19922019-01-28 09:48:18.337 pm errorgroovy.lang.MissingMethodException: No signature of method: java.util.LinkedHashMap.hasError() is applicable for argument types: () values: []
Possible solutions: hashCode(), hashCode() on line 1017 (getNotificationsHandler)
dev:19922019-01-28 09:48:18.312 pm errorgroovy.lang.MissingMethodException: No signature of method: java.util.LinkedHashMap.hasError() is applicable for argument types: () values: []
Possible solutions: hashCode(), hashCode() on line 992 (getPlaylistsHandler)

That’s a known bug in the platform I submitted a support request last week you can ignore it
It’s been acknowledged and just pending the fix to be deployed

1 Like

Not that echo speaks devices are needed for the Hubitat cloud dashboard but they appear to fill up it's memory if selected more than a regular device like a switch (approx 4 to 1).

of course using to many devices in the cloud dashboard without any echo speaks devices may affect the Hubitat cloud dashboard.

2 Likes

I honestly can't confirm this because i'm not really a "dashboard" user, but if the dashboard is populated with all of the devices attributes then I'm certain it would cause issues.

1 Like

Great job on this! As a very new Hubitat user, and having installed Konnected, I was able to translate the ST instructions for installing Echo Speaks and got this up and running without issue. If you were able to install Konnected (app and device drivers), you can do this. There are a ton of options for the Echo devices and I am still digesting all that. Very easy to add announcements to existing rules in Rule Manager. I did not work much with the testing utilities which have been discussed here. I set the volume to about 35 and was good with it.

1 Like

I'm getting an exception, and the app wouldn't load.

When I tried to load the app configuration page I get this.

app:23772019-02-02 08:22:13.144 am errorgroovy.lang.MissingMethodException: No signature of method: com.hubitat.hub.executor.AppExecutor.error() is applicable for argument types: (org.codehaus.groovy.runtime.GStringImpl, java.net.UnknownHostException) values: [getWebData(params: [uri:https://raw.githubusercontent.com/tonesto7/echo-speaks/master/resources/appData.json, contentType:application/json], desc: appData, text: false) Exception:, ...] Possible solutions: render(), getLog(), now(), grep(), iterator(), every() on line 2055 (startPage)

I also received this message in the middle of the night, along with the same exception from a different line.
Which is why I was going into the app, to figure out why Echo Speaks had stopped working.

app:23772019-02-02 12:21:54.152 am errorgroovy.lang.MissingMethodException: No signature of method: com.hubitat.hub.executor.AppExecutor.error() is applicable for argument types: (org.codehaus.groovy.runtime.GStringImpl, groovy.lang.MissingMethodException) values: [sendMsg Push Exception:, groovy.lang.MissingMethodException: No signature of method: app15487751579131526384934.sendNotificationEvent() is applicable for argument types: (java.lang.String) values: [Echo Speaks Amazon Login Issue: Amazon Cookie Has Expired or is Missing!!! Please login again using the Heroku Web Config page...]] Possible solutions: render(), getLog(), now(), every(), iterator(), grep() on line 1783 (cookieValidResp)

app:23772019-02-02 12:21:53.519 am infosendMsg: Message Skipped During Quiet Time (Echo Speaks Amazon Login Issue: Amazon Cookie Has Expired or is Missing!!! Please login again using the Heroku Web Config page...)

app:23772019-02-02 12:21:53.507 am warnAmazon Cookie Has Expired or is Missing!!! Please login again using the Heroku Web Config page...

app:23772019-02-02 12:21:53.290 am warnCookie Data has been cleared and Device Data Refreshes have been suspended...

I tried again several times and eventually the app loaded and says it refreshed the cookie.

I've noticed that Echo Speaks seems to stop working every couple of days. I have to go in and sign back in to Amazon in order for things to start working again. Is this normal and/or is there anything I can do to stop it from happening?

I’m not sure where the issue lies but I’ve seen it. I couldn’t duplicate it. It seemed like the perfect storm of events caused it to see the cookie was bad.

The only difference with this and st side is the minor bug in error handling with the async functions on hubitat.

You see fixes for it in the v2.0.5 platform update (I don’t have an eta for that release)

2 Likes

I haven't seen it happen again since.

1 Like

Whilst checking my logs I’ve noticed that every 1 minute for each of my Echo devices I have the following message logged:

Alexa Playlists Changed to [:]

This is when no speech is being generated. Should this be happening and if not does this mean that unnecessary processing is taking place ?

1 Like

This is happening intermittently. When it happens the text is spoken twice.
Seems no response is processed therefore it repeats.

dev:19922019-02-07 05:36:36.551 pm tracecheckQueue | Nothing in the Queue... Performing Queue Reset

dev:19922019-02-07 05:36:33.473 pm infoSpeakCommand Sent Successfully | Length: (15) | Execution Time (4865ms) | Recheck Wait: (1 sec) | CmdID: (167)

dev:19922019-02-07 05:36:32.869 pm debugspeakVolumeCmd([cmdDesc:SpeakCommand, cmdId:35, newVolume:null, queueKey:qItem_1, oldVolume:null, message:audrey arrived., cmdDt:1549582588594, msgDelay:1])...

dev:19922019-02-07 05:36:30.840 pm errorjava.lang.Exception: No response data exists for async request on line 2415 (asyncSpeechHandler)

dev:19922019-02-07 05:36:30.147 pm debugspeakVolumeCmd([cmdDesc:SpeakCommand, cmdId:288, newVolume:null, queueKey:qItem_1, oldVolume:null, message:audrey arrived., cmdDt:1549582588594, msgDelay:1])...

dev:19922019-02-07 05:36:29.367 pm infoSpeakCommand Sent Successfully | Length: (15) | Execution Time (768ms) | Recheck Wait: (1 sec) | CmdID: (288)

dev:19922019-02-07 05:36:28.595 pm debugspeakVolumeCmd([cmdDesc:SpeakCommand, message:audrey arrived., newVolume:null, oldVolume:null, cmdDt:1549582588594])...

Anybody have the execute routine ID working? I am trying to get that to work for me.

It has worked for me in the past.

for the routine id, do I just use the name?

Ahh, got it working! Thanks

1 Like

Awesome App thanks. Dumb question, is there a simple 'chime' sound available?

I just made a test announcement with a empty string. Good enough!

Noob here, attempting to install in Hubitat. Have added both the device (assuming driver code), and the apps code, have oauth secrets, but am getting this error code when running the installer - any ideas as to what I'm missing, forgot to do?

Error: No signature of method: app1550454886556418611033.image() is applicable for argument types: (org.codehaus.groovy.runtime.GStringImpl) values: [https://cdn.rawgit.com/tonesto7/st-community-installer/master/images/welcome.png] Possible solutions: main([Ljava.lang.String;), isCase(java.lang.Object), wait(), mainPage(), any(), wait(long)