Iām running OH 2.4.0 Build 1412 with the Nov 16 (2.4.0.201811161948) Echo Control Binding. These work fine together. But all the Echo Control Binding updates since the Nov 16 release break my system. That is to say, the Echo binding stops working and throws errors into the log whenever it is called.
Here is an excerpt from the logs after installing the todayās 2.5 (6):
2019-03-06 13:10:22.812 [ERROR] [nal.common.AbstractInvocationHandler] - An error occurred while calling method 'ThingHandler.handleCommand()' on 'org.openhab.binding.amazonechocontrol.internal.handler.EchoHandler@28acb8': POST url 'https://alexa.amazon.com/api/behaviors/preview' failed: Bad Request
org.openhab.binding.amazonechocontrol.internal.HttpException: POST url 'https://alexa.amazon.com/api/behaviors/preview' failed: Bad Request
at org.openhab.binding.amazonechocontrol.internal.Connection.makeRequest(Connection.java:593) ~[?:?]
at org.openhab.binding.amazonechocontrol.internal.Connection.executeSequenceNode(Connection.java:1140) ~[?:?]
at org.openhab.binding.amazonechocontrol.internal.Connection.executeSequenceNodes(Connection.java:1149) ~[?:?]
at org.openhab.binding.amazonechocontrol.internal.Connection.executeSequenceCommandWithVolume(Connection.java:1113) ~[?:?]
at org.openhab.binding.amazonechocontrol.internal.Connection.textToSpeech(Connection.java:1089) ~[?:?]
at org.openhab.binding.amazonechocontrol.internal.handler.EchoHandler.startTextToSpeech(EchoHandler.java:738) ~[?:?]
at org.openhab.binding.amazonechocontrol.internal.handler.EchoHandler.handleCommand(EchoHandler.java:586) ~[?:?]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:?]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
at java.lang.reflect.Method.invoke(Method.java:498) ~[?:?]
at org.eclipse.smarthome.core.internal.common.AbstractInvocationHandler.invokeDirect(AbstractInvocationHandler.java:153) [101:org.eclipse.smarthome.core:0.10.0.201810290804]
at org.eclipse.smarthome.core.internal.common.InvocationHandlerSync.invoke(InvocationHandlerSync.java:59) [101:org.eclipse.smarthome.core:0.10.0.201810290804]
at com.sun.proxy.$Proxy156.handleCommand(Unknown Source) [155:org.openhab.binding.amazonechocontrol:2.5.0.Beta_06]
at org.eclipse.smarthome.core.thing.internal.profiles.ProfileCallbackImpl.handleCommand(ProfileCallbackImpl.java:75) [108:org.eclipse.smarthome.core.thing:0.10.0.201810290804]
at org.eclipse.smarthome.core.thing.internal.profiles.SystemDefaultProfile.onCommandFromItem(SystemDefaultProfile.java:49) [108:org.eclipse.smarthome.core.thing:0.10.0.201810290804]
at sun.reflect.GeneratedMethodAccessor103.invoke(Unknown Source) ~[?:?]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
at java.lang.reflect.Method.invoke(Method.java:498) ~[?:?]
at org.eclipse.smarthome.core.internal.common.AbstractInvocationHandler.invokeDirect(AbstractInvocationHandler.java:153) [101:org.eclipse.smarthome.core:0.10.0.201810290804]
at org.eclipse.smarthome.core.internal.common.Invocation.call(Invocation.java:53) [101:org.eclipse.smarthome.core:0.10.0.201810290804]
at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:?]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:?]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:?]
at java.lang.Thread.run(Thread.java:748) [?:?]
Last Nov I fixed a similar problem (nearly identical error logs) by changing my Echo Volume commands to use the TextToSpeechVolume channel instead. This workaround was recommended by michi and it solved the problem back then.
It would be great to be able to use the latest Echo Control Binding. So Iām looking for suggestions on how to fix the problem.
Working on the TTS alerts to a group, some odd behaviour. But in any case I have large binding error. Should I open an issue on github? The odd behavior may relate to too many requests to the API (as I had it working and then it stopped working)
Thank you @michi! I was having issues with TTS and getting the same error. Following the steps in that post got the TTS working again, and everything seems to work. Oddly though, I now see āCustomer Id: Unknownā. Iām using Beta 6.
@michi, Thank you! Choosing Logout and create new Device ID fixed it.
In case it matters, my Customer ID is now Unknown, same as 5iver reported when he did the same fix. But TTS is working and no warnings/errors is in the OH2 log.
Update: Unfortunately the fix is not permanent. Same as @5iver, restarting OH2 causes the problem to return. The reboot caused the newly assigned āUnknownā Customer ID to change back to the original value seen before applying the fix.
Until a permanent solution is available Iāve reverted back to the Nov 16 Echo Control binding. It survives a reboot, which is preferred over creating a new device ID with each reboot.
Iām getting the following error in my logs when adjusting the volume of my Echoās & the volume on the device does not change. This has been happening since updating to OpenHAB 2.4.0 & 2.5.0 of the binding. Any help would be great!
Iām currently running 2.5.0.Beta_05 of the binding
2019-03-10 22:41:00.037 [ERROR] [nal.common.AbstractInvocationHandler] - An error occurred while calling method 'ThingHandler.handleCommand()' on 'org.openhab.binding.amazonechocontrol.internal.handler.EchoHandler@47d1eb89': POST url 'https://alexa.amazon.com.au/api/behaviors/preview' failed: Bad Request
org.openhab.binding.amazonechocontrol.internal.HttpException: POST url 'https://alexa.amazon.com.au/api/behaviors/preview' failed: Bad Request
at org.openhab.binding.amazonechocontrol.internal.Connection.makeRequest(Connection.java:593) ~[?:?]
at org.openhab.binding.amazonechocontrol.internal.Connection.executeSequenceNode(Connection.java:1140) ~[?:?]
at org.openhab.binding.amazonechocontrol.internal.Connection.executeSequenceCommand(Connection.java:1125) ~[?:?]
at org.openhab.binding.amazonechocontrol.internal.handler.EchoHandler.handleCommand(EchoHandler.java:388) ~[?:?]
at sun.reflect.GeneratedMethodAccessor204.invoke(Unknown Source) ~[?:?]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
at java.lang.reflect.Method.invoke(Method.java:498) ~[?:?]
at org.eclipse.smarthome.core.internal.common.AbstractInvocationHandler.invokeDirect(AbstractInvocationHandler.java:153) [102:org.eclipse.smarthome.core:0.10.0.oh240]
at org.eclipse.smarthome.core.internal.common.InvocationHandlerSync.invoke(InvocationHandlerSync.java:59) [102:org.eclipse.smarthome.core:0.10.0.oh240]
at com.sun.proxy.$Proxy146.handleCommand(Unknown Source) [263:org.openhab.binding.amazonechocontrol:2.5.0.Beta_05]
at org.eclipse.smarthome.core.thing.internal.profiles.ProfileCallbackImpl.handleCommand(ProfileCallbackImpl.java:75) [109:org.eclipse.smarthome.core.thing:0.10.0.oh240]
at org.eclipse.smarthome.core.thing.internal.profiles.SystemDefaultProfile.onCommandFromItem(SystemDefaultProfile.java:49) [109:org.eclipse.smarthome.core.thing:0.10.0.oh240]
at sun.reflect.GeneratedMethodAccessor202.invoke(Unknown Source) ~[?:?]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
at java.lang.reflect.Method.invoke(Method.java:498) ~[?:?]
at org.eclipse.smarthome.core.internal.common.AbstractInvocationHandler.invokeDirect(AbstractInvocationHandler.java:153) [102:org.eclipse.smarthome.core:0.10.0.oh240]
at org.eclipse.smarthome.core.internal.common.Invocation.call(Invocation.java:53) [102:org.eclipse.smarthome.core:0.10.0.oh240]
at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:?]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:?]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:?]
at java.lang.Thread.run(Thread.java:748) [?:?]
I use it for a single echo device. The one in the kitchen where everyone is usually eating breakfast. My example may not help as I use a simple cron job to send the TTS command but I can post if you like.
Michael, could you please give me a short description of the TextToSpeechVolume channel?
I tried to use this right before my TTS commands but the Volume of the speech doesnĀ“t change.
The Volume only changes when changing the volume channel.
@michi
The āworkingā Nov 2018 echo binding Iāve been using does not report the Customer ID value. The newly installed Beta_07_Preview_1 Customer ID is shown as a 14 character (alphanumeric) value and matches all the echo devices reported in my Echo Control Account.
Now for more good news. The preview binding fixes the problem. And the binding continues to work after a reboot. Plus no errors in the log. Thank you!