Amazon Echo Control Thing/Bridge offline

A big thanks to @lsiepel and @digitaldan for fixing this. To me the Amazon and iCloud bindings are very important for the OpenHAB platform as I use them very extensively - and guess not only me. It’s people of your kind with your passion and dedication that pay in the acceptance of this platform!

I noticed some errors/ warnings in the openhab log and from my understanding it looks like the expected json format is different from what amazon is sending - so probably needs to be fixed.

If you need additional information, please let me know :slight_smile:

2025-11-26 06:54:04.959 \[WARN \] \[trol.internal.push.PushStreamAdapter\] - *Exception* while processing message
*com.google.gson.JsonSyntaxException*: *java.lang.IllegalStateException*: Expected a string but was BEGIN_OBJECT at line 1 column 126 path $.quality
See https://github.com/google/gson/blob/main/Troubleshooting.md#unexpected-json-structure
    *at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:523) \~\[?:?\]*
    *at com.google.gson.Gson.fromJson(Gson.java:1359) \~\[?:?\]*
    *at com.google.gson.Gson.fromJson(Gson.java:1260) \~\[?:?\]*
    *at com.google.gson.Gson.fromJson(Gson.java:1170) \~\[?:?\]*
    *at com.google.gson.Gson.fromJson(Gson.java:1107) \~\[?:?\]*
    *at org.openhab.binding.amazonechocontrol.internal.handler.EchoHandler.handlePushCommand(EchoHandler.java:1038) \~\[?:?\]*
    *at org.openhab.binding.amazonechocontrol.internal.handler.AccountHandler.onPushCommandReceived(AccountHandler.java:635) \~\[?:?\]*
    *at org.openhab.binding.amazonechocontrol.internal.push.PushConnection.onPushMessageReceived(PushConnection.java:199) \~\[?:?\]*
    *at java.util.ArrayList.forEach(ArrayList.java:1596) \~\[?:?\]*
    *at org.openhab.binding.amazonechocontrol.internal.push.PushStreamAdapter.onData(PushStreamAdapter.java:105) \~\[?:?\]*
    *at org.eclipse.jetty.http2.HTTP2Stream.notifyData(HTTP2Stream.java:658) \~\[?:?\]*
    *at org.eclipse.jetty.http2.HTTP2Stream.onData(HTTP2Stream.java:394) \~\[?:?\]*
    *at org.eclipse.jetty.http2.HTTP2Stream.process(HTTP2Stream.java:315) \~\[?:?\]*
    *at org.eclipse.jetty.http2.HTTP2Session.onData(HTTP2Session.java:287) \~\[?:?\]*
    *at org.eclipse.jetty.http2.HTTP2Connection$ParserListener.onData(HTTP2Connection.java:400) \~\[?:?\]*
    *at org.eclipse.jetty.http2.parser.BodyParser.notifyData(BodyParser.java:108) \~\[?:?\]*
    *at org.eclipse.jetty.http2.parser.DataBodyParser.onData(DataBodyParser.java:150) \~\[?:?\]*
    *at org.eclipse.jetty.http2.parser.DataBodyParser.onData(DataBodyParser.java:145) \~\[?:?\]*
    *at org.eclipse.jetty.http2.parser.DataBodyParser.parse(DataBodyParser.java:111) \~\[?:?\]*
    *at org.eclipse.jetty.http2.parser.Parser.parseBody(Parser.java:222) \~\[?:?\]*
    *at org.eclipse.jetty.http2.parser.Parser.parse(Parser.java:151) \~\[?:?\]*
    *at org.eclipse.jetty.http2.HTTP2Connection$HTTP2Producer.produce(HTTP2Connection.java:271) \~\[?:?\]*
    *at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.produceTask(EatWhatYouKill.java:362) \~\[bundleFile:9.4.57.v20241219\]*
    *at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:186) \~\[bundleFile:9.4.57.v20241219\]*
    *at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:173) \~\[bundleFile:9.4.57.v20241219\]*
    *at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.produce(EatWhatYouKill.java:137) \~\[bundleFile:9.4.57.v20241219\]*
    *at org.eclipse.jetty.http2.HTTP2Connection.produce(HTTP2Connection.java:193) \~\[?:?\]*
    *at org.eclipse.jetty.http2.HTTP2Connection.onFillable(HTTP2Connection.java:148) \~\[?:?\]*
    *at org.eclipse.jetty.http2.HTTP2Connection$FillableCallback.succeeded(HTTP2Connection.java:371) \~\[?:?\]*
    *at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:105) \~\[?:?\]*
    *at org.eclipse.jetty.io.ssl.SslConnection$DecryptedEndPoint.onFillable(SslConnection.java:555) \~\[?:?\]*
    *at org.eclipse.jetty.io.ssl.SslConnection.onFillable(SslConnection.java:410) \~\[?:?\]*
    *at org.eclipse.jetty.io.ssl.SslConnection$2.succeeded(SslConnection.java:164) \~\[?:?\]*
    *at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:105) \~\[?:?\]*
    *at org.eclipse.jetty.io.ChannelEndPoint$1.run(ChannelEndPoint.java:104) \~\[?:?\]*
    *at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:338) \~\[bundleFile:9.4.57.v20241219\]*
    *at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:315) \~\[bundleFile:9.4.57.v20241219\]*
    *at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:173) \~\[bundleFile:9.4.57.v20241219\]*
    *at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:131) \~\[bundleFile:9.4.57.v20241219\]*
    *at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:409) \~\[bundleFile:9.4.57.v20241219\]*
    *at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:883) \~\[bundleFile:9.4.57.v20241219\]*
    *at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1034) \~\[bundleFile:9.4.57.v20241219\]*
    *at java.lang.Thread.run(Thread.java:1583) \[?:?\]*

Thanks to Dan and Leo to make the binding work again!

One question, which i don’t know where to place it:
Will there be a oH 4.3.* version in near future, which includes the fixed binding?

Excuse me, but that does not the answer to my original question Will there be a 4.3.* in near future?
5.0.* was available very fast. This is, where my question resulted from.

You didn’t read the linked post, did you?

I did some days ago. And now again. what i read is: if there will be a >4.3.8-1, the fixed binding will be part of it.
I understand the attitude of “will be released, when it is available”. I also understand: i don’t know (what is exactly what you and sihui are telling me).

Maybe there are fixes for other parts of 4.3.* on there why and maintainers like to wait for these. Maybe the one who could create 4.3.* ist not aware of s.o. interested in. So she does not create a new version because of extra work while everyone concentrates on 5.*.

Tell me: What is wrong with asking the question I am asking? Or even better: let me know, if there will be a >4.3.8-1 which includes the fixed Echo binding in near future?

It won’t be helpful to ask me to do it myself, btw. This would take ages.

I think what we don’t understand is why you don’t just use the provided 4.3 jar: Download, unzip and copy the the files into the addons-folder? That’s the same as a 4.3.x with the fix.

Hm. What makes you think i don’t use the fixed binding? I am happily using it since it is available.

Others I know don’t do that. They all use a Raspberry Pi. None of them are interested in what it means to use Linux. But they have learned to use some of the options in openhabian-config.

Since this leads nowhere, I will stop asking.

I think there is some misunderstanding here.

  1. The fix is available right now, make use of the instructions in the linked post. (very simple download a file and put it in an openHAB folder)
  2. The fix will become available with the next release 4.3.x (just wait a bit)

As you restated your question again, i wonder what you want to achieve that is not answered by the above?

Keep in mind the limitations of the 4.3.9 version released.

[amazonechocontrol] - Bugs in 4.3.9 version - Setup, Configuration and Use / Scripts & Rules - openHAB Community

Best, Jay

team,

first of all, THANK YOU very much for fixing this Binding, I really appreciated it.

I’ve updated to 5.1.0M3, and now the Bridge is online. Just one thing, I see in the logs:

[WARN ] [control.internal.push.PushConnection] - Failed to create session: null

every second. This disappears if I stop the binding. Any clue?

edit: I’ve enabled 2SV (MFA), now I’m fully Online, but the WARN message is still there. :frowning:

thanks again

Andrea

I am on OH 5.0.1 and just did an update. My bridge is Online. I am still not getting anything connected through an Amazon Skill.

amazonechocontrol:smartHomeDevice:Amazon_Account:Workshop_AC’ changed from ONLINE to OFFLINE: Can’t find smartHomeBaseDevice

Thanks

connecting devices via skill is something different. This topic is about the echo binding.

The skill is not changed and works if you follow the docs.
https://www.openhab.org/docs/ecosystem/alexa/#amazon-alexa-smart-home-skill

Otherwise you have to describe precisely what you tried and what happened.

It finally just started working again. Was down for months.

For me the binding works well even if rules associated to smarthome items are not reliably firing.

For example I have a rule where when my mobile is detected by the net, Alexa state welcome and switch-on some lights. This works 30/40% of the times.

Also the expire seems not be working reliably on smarthome devices.