Release Candidate and Support: Amazon Echo Control Binding

I appreciate all of the effort that goes into developing and maintaining this binding.

I am using the main release 3.01 version, and am still experiencing the looping problem discussed here: AmazonEchoControl cycles rapidly between UNKNOWN and ONLINE SNAPSHOT 3.1 binding

By randomly catching the Things online, I am able to create the links/channels/Items I need, and then everything works great. But my log still fills up with status changes between UNKNOWN and ONLINE. I previously tried the 3.1.0 SNAPSHOT release and that didn’t solve it (or I didn’t install it correctly).

Has this by chance been addressed in a later release? If so, where can I find the .jar file?

Thank you for your assistance.

George

I don’t think this issue has been addressed in any openHAB version.

Anybody running OH 2.5.x with org.openhab.binding.amazonechocontrol-2.5.13-SNAPSHOT for this binding?

As of yesterday; the last command heard stopped working and the log is filling up with these messages.

TTS is still working it’s just the last voice command channel has stopped.

2021-09-30 15:20:07.264 [INFO ] [control.internal.WebSocketConnection] - Web Socket error
org.eclipse.jetty.io.EofException: null
	at org.eclipse.jetty.io.ChannelEndPoint.flush(ChannelEndPoint.java:286) ~[75:org.eclipse.jetty.io:9.4.11.v20180605]
	at org.eclipse.jetty.io.ssl.SslConnection$DecryptedEndPoint.flush(SslConnection.java:1044) ~[75:org.eclipse.jetty.io:9.4.11.v20180605]
	at org.eclipse.jetty.io.WriteFlusher.flush(WriteFlusher.java:429) [75:org.eclipse.jetty.io:9.4.11.v20180605]
	at org.eclipse.jetty.io.WriteFlusher.write(WriteFlusher.java:323) [75:org.eclipse.jetty.io:9.4.11.v20180605]
	at org.eclipse.jetty.io.AbstractEndPoint.write(AbstractEndPoint.java:380) [75:org.eclipse.jetty.io:9.4.11.v20180605]
	at org.eclipse.jetty.websocket.common.io.FrameFlusher.flush(FrameFlusher.java:218) [92:org.eclipse.jetty.websocket.common:9.4.11.v20180605]
	at org.eclipse.jetty.websocket.common.io.FrameFlusher.process(FrameFlusher.java:157) [92:org.eclipse.jetty.websocket.common:9.4.11.v20180605]
	at org.eclipse.jetty.util.IteratingCallback.processing(IteratingCallback.java:241) [87:org.eclipse.jetty.util:9.4.11.v20180605]
	at org.eclipse.jetty.util.IteratingCallback.iterate(IteratingCallback.java:224) [87:org.eclipse.jetty.util:9.4.11.v20180605]
	at org.eclipse.jetty.websocket.common.io.FrameFlusher.enqueue(FrameFlusher.java:90) [92:org.eclipse.jetty.websocket.common:9.4.11.v20180605]
	at org.eclipse.jetty.websocket.common.io.AbstractWebSocketConnection.outgoingFrame(AbstractWebSocketConnection.java:495) [92:org.eclipse.jetty.websocket.common:9.4.11.v20180605]
	at org.eclipse.jetty.websocket.client.io.WebSocketClientConnection.outgoingFrame(WebSocketClientConnection.java:72) [91:org.eclipse.jetty.websocket.client:9.4.11.v20180605]
	at org.eclipse.jetty.websocket.common.WebSocketSession.close(WebSocketSession.java:223) [92:org.eclipse.jetty.websocket.common:9.4.11.v20180605]
	at org.eclipse.jetty.websocket.common.WebSocketSession.close(WebSocketSession.java:202) [92:org.eclipse.jetty.websocket.common:9.4.11.v20180605]
	at org.eclipse.jetty.websocket.common.io.AbstractWebSocketConnection.onConnectionStateChange(AbstractWebSocketConnection.java:369) [92:org.eclipse.jetty.websocket.common:9.4.11.v20180605]
	at org.eclipse.jetty.websocket.common.io.IOState.notifyStateListeners(IOState.java:184) [92:org.eclipse.jetty.websocket.common:9.4.11.v20180605]
	at org.eclipse.jetty.websocket.common.io.IOState.onCloseRemote(IOState.java:373) [92:org.eclipse.jetty.websocket.common:9.4.11.v20180605]
	at org.eclipse.jetty.websocket.common.events.AbstractEventDriver.incomingFrame(AbstractEventDriver.java:121) [92:org.eclipse.jetty.websocket.common:9.4.11.v20180605]
	at org.eclipse.jetty.websocket.common.WebSocketSession.incomingFrame(WebSocketSession.java:476) [92:org.eclipse.jetty.websocket.common:9.4.11.v20180605]
	at org.eclipse.jetty.websocket.common.extensions.ExtensionStack.incomingFrame(ExtensionStack.java:220) [92:org.eclipse.jetty.websocket.common:9.4.11.v20180605]
	at org.eclipse.jetty.websocket.common.Parser.notifyFrame(Parser.java:220) [92:org.eclipse.jetty.websocket.common:9.4.11.v20180605]
	at org.eclipse.jetty.websocket.common.Parser.parse(Parser.java:245) [92:org.eclipse.jetty.websocket.common:9.4.11.v20180605]
	at org.eclipse.jetty.websocket.common.io.AbstractWebSocketConnection.readParse(AbstractWebSocketConnection.java:560) [92:org.eclipse.jetty.websocket.common:9.4.11.v20180605]
	at org.eclipse.jetty.websocket.common.io.AbstractWebSocketConnection.onFillable(AbstractWebSocketConnection.java:391) [92:org.eclipse.jetty.websocket.common:9.4.11.v20180605]
	at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:281) [75:org.eclipse.jetty.io:9.4.11.v20180605]
	at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:102) [75:org.eclipse.jetty.io:9.4.11.v20180605]
	at org.eclipse.jetty.io.ssl.SslConnection$2.run(SslConnection.java:136) [75:org.eclipse.jetty.io:9.4.11.v20180605]
	at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:762) [87:org.eclipse.jetty.util:9.4.11.v20180605]
	at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:680) [87:org.eclipse.jetty.util:9.4.11.v20180605]
	at java.lang.Thread.run(Thread.java:748) [?:?]
Caused by: java.io.IOException: Broken pipe
	at sun.nio.ch.FileDispatcherImpl.write0(Native Method) ~[?:?]
	at sun.nio.ch.SocketDispatcher.write(SocketDispatcher.java:47) ~[?:?]
	at sun.nio.ch.IOUtil.writeFromNativeBuffer(IOUtil.java:93) ~[?:?]
	at sun.nio.ch.IOUtil.write(IOUtil.java:51) ~[?:?]
	at sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:471) ~[?:?]
	at org.eclipse.jetty.io.ChannelEndPoint.flush(ChannelEndPoint.java:264) ~[?:?]
	... 29 more
2021-09-30 15:21:14.327 [INFO ] [control.internal.WebSocketConnection] - Web Socket close 1005. Reason: null
2021-09-30 15:22:35.532 [INFO ] [control.internal.WebSocketConnection] - Web Socket close 1005. Reason: null
2021-09-30 15:24:06.996 [INFO ] [control.internal.WebSocketConnection] - Web Socket close 1005. Reason: null
2021-09-30 15:25:28.186 [INFO ] [control.internal.WebSocketConnection] - Web Socket close 1005. Reason: null
2021-09-30 15:26:49.439 [INFO ] [control.internal.WebSocketConnection] - Web Socket close 1005. Reason: null
2021-09-30 15:28:11.055 [INFO ] [control.internal.WebSocketConnection] - Web Socket close 1005. Reason: null
2021-09-30 15:29:31.903 [INFO ] [control.internal.WebSocketConnection] - Web Socket close 1005. Reason: null
2021-09-30 15:30:52.902 [INFO ] [control.internal.WebSocketConnection] - Web Socket close 1005. Reason: null
2021-09-30 15:32:15.506 [INFO ] [control.internal.WebSocketConnection] - Web Socket close 1005. Reason: null
2021-09-30 15:33:36.096 [INFO ] [control.internal.WebSocketConnection] - Web Socket close 1005. Reason: null
2021-09-30 15:34:56.647 [INFO ] [control.internal.WebSocketConnection] - Web Socket close 1005. Reason: null
2021-09-30 15:36:17.966 [INFO ] [control.internal.WebSocketConnection] - Web Socket close 1005. Reason: null
2021-09-30 15:37:38.960 [INFO ] [control.internal.WebSocketConnection] - Web Socket close 1005. Reason: null
2021-09-30 15:38:59.776 [INFO ] [control.internal.WebSocketConnection] - Web Socket close 1005. Reason: null
2021-09-30 15:40:21.216 [INFO ] [control.internal.WebSocketConnection] - Web Socket close 1005. Reason: null
2021-09-30 15:41:42.827 [INFO ] [control.internal.WebSocketConnection] - Web Socket close 1005. Reason: null
2021-09-30 15:43:05.060 [INFO ] [control.internal.WebSocketConnection] - Web Socket close 1005. Reason: null
2021-09-30 15:44:30.370 [INFO ] [control.internal.WebSocketConnection] - Web Socket close 1005. Reason: null
2021-09-30 15:45:52.272 [INFO ] [control.internal.WebSocketConnection] - Web Socket close 1005. Reason: null
2021-09-30 15:47:13.397 [INFO ] [control.internal.WebSocketConnection] - Web Socket close 1005. Reason: null
2021-09-30 15:48:33.972 [INFO ] [control.internal.WebSocketConnection] - Web Socket close 1005. Reason: null
2021-09-30 15:49:54.783 [INFO ] [control.internal.WebSocketConnection] - Web Socket close 1005. Reason: null
2021-09-30 15:51:16.322 [INFO ] [control.internal.WebSocketConnection] - Web Socket close 1005. Reason: null
2021-09-30 15:52:37.474 [INFO ] [control.internal.WebSocketConnection] - Web Socket close 1005. Reason: null

@jwiseman This appears to be related to the reported AmazonEchoControl Binding issue that began this week. See the discussion here:

  • Thomas
2 Likes

Stared working again this morning.

Best, Jay

+1. Mine is working again too. No more log errors / All web socket related items are functional.

  • Thomas

Mine was working fine yesterday but now within the last hour I’m getting the web socket error. I have restarted openHAB a bunch of times, cleared the cache, logged out and back into my Amazon account, removed and reinstalled the binding but nothing seems to fix it. :frowning:

Hi,
it seems that LastVoiceCommand does not work anymore on my OH3 (3.2.0.SNAPSHOT).
I look into the Alexa app - privacy and the lastvoicemessage are still there but probably not passed to the binding.
Any Idea how to solve?
Regards
Lorenzo

1 Like

Seems the problem is back. We’re working on a solution. Nothing you can do at the moment.

Thanks for the quick answer … and good luck ! we are on your hands :wink:

If this can help : i noticed that, in my case, the problem came back just after a restart (I restarted for another reason).
Weird behaviour that I dont understand.
Why there is an “old” socket stable, and when we restart the “new” socket close with 1005 error ?

Just coincidence. I didn’t restart and experience the same issue, too.

Could it be that we are dealing with a certificate problem?

I know from another context that an important root certificate expired on October 1st, 2021 that caused all kinds of problems because the underlying certificates require a new certificate chain and intermediate certificates. Of this was z. B also “CertifyTheWeb” and “LetsEncyrpt” affected …

Here is an excerpt from the mail I received at the time …

As per our previous email a couple of weeks ago, all of our customers should now be aware of the Let’s Encrypt root certificate (DST Root CA X3) expiry last week (replaced by their newer ISRG Root X1 root certificate). This root certificate affects how your own certificates are trusted by browsers and other software.

I don’t now about the architecture of this binding, but the websocket needs correct SSL/TLS-Certification…or not ?

Just an idea…Ralph

I’ve been having the same problem over the last few days also. Hope there’s a fix for it.

No, Amazon Switched protocol

1 Like

For a solution, please see here: Web Socket Error on AmazonEchoControl binding every 65 seconds - #398 by J-N-K

1 Like

I am trying to get custom Fash briefings for my wife and myself. I see under the official Amazon Echo Control Binding there is a FlashBriefing.<FlahshbriefingDeviceID> How do I create my own FlahshbriefingDeviceID ? it also says you can “activate multiple configurations of flash briefings” I haven’t found any way to configure flash briefings in the alexa app. Any idea on how to do this to implement it for the above rule Echo_Living_Room_StartCommand.sendCommand(‘FlashBriefing.flashbriefing1’)?

Thanks.

Hello,

maybe I’m just being silly or just overlooking it, but how can I put a track or playlist on repeat? I can’t find a chennel like with shuffle, at least that’s what I would have expected.

thanks

@moderators Can we please lock this thread? There are 2000+ messages with hundreds of different issues. Adding even more to the same thread will not be helpful.