Release Candidate and Support: Amazon Echo Control Binding

Does this mean, this binding works only with oh2.3 stable or with snapshot as well?
Does it work with 2.4-snapshot as well?

Thank you and kind regards,
Michael

Yes. I’m using it with 2.4 snapshot build 1292:

1

I’m struggling with getting my binding online at the moment, but I fear I’m going to have the next problems with this captcha as well. As my openhab runs on a headless server I’m not able to login at amazon site with a browser.
Do you run also on a server without browser and if so, how did you get it working?

You don’t have to: just call the url from your network:
http://<youropenhab:yourport>/amazonechocontrol/

Yes.

Thank you very much, the binding is online and successfully logged in :slight_smile:

BTW: I’ve installed the binding via paperUI and this worked

1 Like

I’m still getting this on OH 2.4 build 1295…

2018-06-05 16:21:10.840 [WARN ] [org.eclipse.jetty.servlet.ServletHandler          ] - /amazonechocontrol/b5bbde81/
org.openhab.binding.amazonechocontrol.internal.ConnectionException: No session id received
    at org.openhab.binding.amazonechocontrol.internal.Connection.getLoginPage(Connection.java:435) [252:org.openhab.binding.amazonechocontrol:2.4.0.201806040927]
    at org.openhab.binding.amazonechocontrol.internal.AccountServlet.doGet(AccountServlet.java:219) [252:org.openhab.binding.amazonechocontrol:2.4.0.201806040927]
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:687) [32:javax.servlet-api:3.1.0]
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:790) [32:javax.servlet-api:3.1.0]
    at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:848) [86:org.eclipse.jetty.servlet:9.3.21.v20170918]
    at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:584) [86:org.eclipse.jetty.servlet:9.3.21.v20170918]
    at org.ops4j.pax.web.service.jetty.internal.HttpServiceServletHandler.doHandle(HttpServiceServletHandler.java:71) [184:org.ops4j.pax.web.pax-web-jetty:6.0.9]
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143) [85:org.eclipse.jetty.server:9.3.21.v20170918]
    at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:548) [83:org.eclipse.jetty.security:9.3.21.v20170918]
    at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:226) [85:org.eclipse.jetty.server:9.3.21.v20170918]
    at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1180) [85:org.eclipse.jetty.server:9.3.21.v20170918]
    at org.ops4j.pax.web.service.jetty.internal.HttpServiceContext.doHandle(HttpServiceContext.java:284) [184:org.ops4j.pax.web.pax-web-jetty:6.0.9]
    at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:512) [86:org.eclipse.jetty.servlet:9.3.21.v20170918]
    at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185) [85:org.eclipse.jetty.server:9.3.21.v20170918]
    at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1112) [85:org.eclipse.jetty.server:9.3.21.v20170918]
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141) [85:org.eclipse.jetty.server:9.3.21.v20170918]
    at org.ops4j.pax.web.service.jetty.internal.JettyServerHandlerCollection.handle(JettyServerHandlerCollection.java:80) [184:org.ops4j.pax.web.pax-web-jetty:6.0.9]
    at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:134) [85:org.eclipse.jetty.server:9.3.21.v20170918]
    at org.eclipse.jetty.server.Server.handle(Server.java:534) [85:org.eclipse.jetty.server:9.3.21.v20170918]
    at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:333) [85:org.eclipse.jetty.server:9.3.21.v20170918]
    at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:251) [85:org.eclipse.jetty.server:9.3.21.v20170918]
    at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:283) [77:org.eclipse.jetty.io:9.3.21.v20170918]
    at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:108) [77:org.eclipse.jetty.io:9.3.21.v20170918]
    at org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndPoint.java:93) [77:org.eclipse.jetty.io:9.3.21.v20170918]
    at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.executeProduceConsume(ExecuteProduceConsume.java:303) [88:org.eclipse.jetty.util:9.3.21.v20170918]
    at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produceConsume(ExecuteProduceConsume.java:148) [88:org.eclipse.jetty.util:9.3.21.v20170918]
    at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(ExecuteProduceConsume.java:136) [88:org.eclipse.jetty.util:9.3.21.v20170918]
    at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:671) [88:org.eclipse.jetty.util:9.3.21.v20170918]
    at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:589) [88:org.eclipse.jetty.util:9.3.21.v20170918]
    at java.lang.Thread.run(Thread.java:748) [?:?]

And right after the bundle is installed, I see a really long error in the log that looks to be the captcha, but it is before the Account Thing is created. Here’s a portion of it…

2018-06-05 06:06:56.701 [INFO ] [nhab.binding.amazonechocontrol.internal.Connection] - Login failed: Login fails. Check your credentials and try to login with your webbrowser to http(s)://<youropenhab:yourport>/amazonechocontrol/c304735b
Important Message! To better protect your account, please re-enter your password and then enter the characters as they are shown in the image below.
2018-06-05 06:06:58.950 [INFO ] [nhab.binding.amazonechocontrol.internal.Connection] - Login failed: No session id received
2018-06-05 06:07:11.538 [WARN ] [nhab.binding.amazonechocontrol.internal.Connection] - Parsing json failed {}
com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 8 column 1 path $
        at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:224) [23:com.google.gson:2.7.0]
        at com.google.gson.Gson.fromJson(Gson.java:887) [23:com.google.gson:2.7.0]
        at com.google.gson.Gson.fromJson(Gson.java:852) [23:com.google.gson:2.7.0]
        at com.google.gson.Gson.fromJson(Gson.java:801) [23:com.google.gson:2.7.0]
        at com.google.gson.Gson.fromJson(Gson.java:773) [23:com.google.gson:2.7.0]
        at org.openhab.binding.amazonechocontrol.internal.Connection.parseJson(Connection.java:565) [251:org.openhab.binding.amazonechocontrol:2.4.0.201806040927]
        at org.openhab.binding.amazonechocontrol.internal.Connection.getEnabledFlashBriefings(Connection.java:802) [251:org.openhab.binding.amazonechocontrol:2.4.0.201806040927]
        at org.openhab.binding.amazonechocontrol.handler.AccountHandler.updateFlashBriefingProfiles(AccountHandler.java:541) [251:org.openhab.binding.amazonechocontrol:2.4.0.201806040927]
        at org.openhab.binding.amazonechocontrol.handler.AccountHandler.updateFlashBriefingHandlers(AccountHandler.java:513) [251:org.openhab.binding.amazonechocontrol:2.4.0.201806040927]
        at org.openhab.binding.amazonechocontrol.handler.AccountHandler.updateFlashBriefingHandlers(AccountHandler.java:505) [251:org.openhab.binding.amazonechocontrol:2.4.0.201806040927]
        at org.openhab.binding.amazonechocontrol.handler.AccountHandler.getNewCurrentFlashbriefingConfiguration(AccountHandler.java:499) [251:org.openhab.binding.amazonechocontrol:2.4.0.201806040927]
        at org.openhab.binding.amazonechocontrol.internal.discovery.AmazonEchoDiscovery.startScan(AmazonEchoDiscovery.java:82) [251:org.openhab.binding.amazonechocontrol:2.4.0.201806040927]
        at org.eclipse.smarthome.config.discovery.AbstractDiscoveryService.startScan(AbstractDiscoveryService.java:208) [98:org.eclipse.smarthome.config.discovery:0.10.0.201805241348]
        at org.eclipse.smarthome.config.discovery.internal.DiscoveryServiceRegistryImpl.startScan(DiscoveryServiceRegistryImpl.java:427) [98:org.eclipse.smarthome.config.discovery:0.10.0.201805241348]
        at org.eclipse.smarthome.config.discovery.internal.DiscoveryServiceRegistryImpl.startScans(DiscoveryServiceRegistryImpl.java:412) [98:org.eclipse.smarthome.config.discovery:0.10.0.201805241348]
        at org.eclipse.smarthome.config.discovery.internal.DiscoveryServiceRegistryImpl.startScan(DiscoveryServiceRegistryImpl.java:260) [98:org.eclipse.smarthome.config.discovery:0.10.0.201805241348]
        at org.eclipse.smarthome.io.rest.core.internal.discovery.DiscoveryResource.scan(DiscoveryResource.java:97) [119:org.eclipse.smarthome.io.rest.core:0.10.0.201805241348]
        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.glassfish.jersey.server.model.internal.ResourceMethodInvocationHandlerFactory$1.invoke(ResourceMethodInvocationHandlerFactory.java:81) [171:org.glassfish.jersey.core.jersey-server:2.22.2]
        at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:144) [171:org.glassfish.jersey.core.jersey-server:2.22.2]
        at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:161) [171:org.glassfish.jersey.core.jersey-server:2.22.2]
        at org.glassfish.jersey.server.model.internal.JavaResourceMethodDispatcherProvider$ResponseOutInvoker.doDispatch(JavaResourceMethodDispatcherProvider.java:160) [171:org.glassfish.jersey.core.jersey-server:2.22.2]
        at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:99) [171:org.glassfish.jersey.core.jersey-server:2.22.2]
        at org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:389) [171:org.glassfish.jersey.core.jersey-server:2.22.2]
        at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:347) [171:org.glassfish.jersey.core.jersey-server:2.22.2]
        at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:102) [171:org.glassfish.jersey.core.jersey-server:2.22.2]
        at org.glassfish.jersey.server.ServerRuntime$2.run(ServerRuntime.java:326) [171:org.glassfish.jersey.core.jersey-server:2.22.2]
        at org.glassfish.jersey.internal.Errors$1.call(Errors.java:271) [170:org.glassfish.jersey.core.jersey-common:2.22.2]
        at org.glassfish.jersey.internal.Errors$1.call(Errors.java:267) [170:org.glassfish.jersey.core.jersey-common:2.22.2]
        at org.glassfish.jersey.internal.Errors.process(Errors.java:315) [170:org.glassfish.jersey.core.jersey-common:2.22.2]
        at org.glassfish.jersey.internal.Errors.process(Errors.java:297) [170:org.glassfish.jersey.core.jersey-common:2.22.2]
        at org.glassfish.jersey.internal.Errors.process(Errors.java:267) [170:org.glassfish.jersey.core.jersey-common:2.22.2]
        at org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:317) [170:org.glassfish.jersey.core.jersey-common:2.22.2]
        at org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:305) [171:org.glassfish.jersey.core.jersey-server:2.22.2]
        at org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHandler.java:1154) [171:org.glassfish.jersey.core.jersey-server:2.22.2]
        at org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebComponent.java:473) [168:org.glassfish.jersey.containers.jersey-container-servlet-core:2.22.2]
        at org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:427) [168:org.glassfish.jersey.containers.jersey-container-servlet-core:2.22.2]
        at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:388) [168:org.glassfish.jersey.containers.jersey-container-servlet-core:2.22.2]
        at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:341) [168:org.glassfish.jersey.containers.jersey-container-servlet-core:2.22.2]
        at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:228) [168:org.glassfish.jersey.containers.jersey-container-servlet-core:2.22.2]
        at com.eclipsesource.jaxrs.publisher.internal.ServletContainerBridge.service(ServletContainerBridge.java:76) [16:com.eclipsesource.jaxrs.publisher:5.3.1.201602281253]
        at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:848) [86:org.eclipse.jetty.servlet:9.3.21.v20170918]
        at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:584) [86:org.eclipse.jetty.servlet:9.3.21.v20170918]
        at org.ops4j.pax.web.service.jetty.internal.HttpServiceServletHandler.doHandle(HttpServiceServletHandler.java:71) [184:org.ops4j.pax.web.pax-web-jetty:6.0.9]
        at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143) [85:org.eclipse.jetty.server:9.3.21.v20170918]
        at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:548) [83:org.eclipse.jetty.security:9.3.21.v20170918]
        at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:226) [85:org.eclipse.jetty.server:9.3.21.v20170918]
        at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1180) [85:org.eclipse.jetty.server:9.3.21.v20170918]
        at org.ops4j.pax.web.service.jetty.internal.HttpServiceContext.doHandle(HttpServiceContext.java:284) [184:org.ops4j.pax.web.pax-web-jetty:6.0.9]
        at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:512) [86:org.eclipse.jetty.servlet:9.3.21.v20170918]
        at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185) [85:org.eclipse.jetty.server:9.3.21.v20170918]
        at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1112) [85:org.eclipse.jetty.server:9.3.21.v20170918]
        at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141) [85:org.eclipse.jetty.server:9.3.21.v20170918]
        at org.ops4j.pax.web.service.jetty.internal.JettyServerHandlerCollection.handle(JettyServerHandlerCollection.java:80) [184:org.ops4j.pax.web.pax-web-jetty:6.0.9]
        at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:134) [85:org.eclipse.jetty.server:9.3.21.v20170918]
        at org.eclipse.jetty.server.Server.handle(Server.java:534) [85:org.eclipse.jetty.server:9.3.21.v20170918]
        at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:333) [85:org.eclipse.jetty.server:9.3.21.v20170918]
        at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:251) [85:org.eclipse.jetty.server:9.3.21.v20170918]
        at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:283) [77:org.eclipse.jetty.io:9.3.21.v20170918]
        at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:108) [77:org.eclipse.jetty.io:9.3.21.v20170918]
        at org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndPoint.java:93) [77:org.eclipse.jetty.io:9.3.21.v20170918]
        at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.executeProduceConsume(ExecuteProduceConsume.java:303) [88:org.eclipse.jetty.util:9.3.21.v20170918]
        at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produceConsume(ExecuteProduceConsume.java:148) [88:org.eclipse.jetty.util:9.3.21.v20170918]
        at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(ExecuteProduceConsume.java:136) [88:org.eclipse.jetty.util:9.3.21.v20170918]
        at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:671) [88:org.eclipse.jetty.util:9.3.21.v20170918]
        at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:589) [88:org.eclipse.jetty.util:9.3.21.v20170918]
        at java.lang.Thread.run(Thread.java:748) [?:?]
Caused by: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 8 column 1 path $
        at com.google.gson.stream.JsonReader.beginObject(JsonReader.java:385) ~[?:?]
        at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:213) ~[?:?]
        ... 69 more
2018-06-05 06:07:11.546 [WARN ] [nhab.binding.amazonechocontrol.internal.Connection] - Illegal json: 






<!doctype html><html class="a-no-js a-touch a-mobile" data-19ax5a9jf="mongoose">
  <head>
<script type='text/javascript'>var ue_t0=ue_t0||+new Date();</script>
<script type='text/javascript'>
var ue_csm = window,
    ue_hob = +new Date();
(function(d){var e=d.ue=d.ue||{},f=Date.now||function(){return+new Date};e.d=function(b){return f()-(b?0:d.ue_t0)};e.stub=function(b,a){if(!b[a]){var c=[];b[a]=function(){c.push([c.slice.call(arguments),e.d(),d.ue_id])};b[a].replay=function(b){for(var a;a=c.shift();)b(a[0],a[1],a[2])};b[a].isStub=1}};e.exec=function(b,a){return function(){if(1==window.ueinit)try{return b.apply(this,arguments)}catch(c){ueLogError(c,{attribution:a||"undefined",logLevel:"WARN"})}}}})(ue_csm);

I’m surprised I’m alone in this!

I’ve got my echo devices configured, and everything was working.

Now the log is showing errors repeating just about every minute.

here is a sample

2018-06-06 15:07:53.743 [hingStatusInfoChangedEvent] - 'amazonechocontrol:echo:ae467c3c:G090LF1174320B73' changed from ONLINE to OFFLINE (BRIDGE_OFFLINE)
2018-06-06 15:07:53.810 [hingStatusInfoChangedEvent] - 'amazonechocontrol:echo:ae467c3c:G090LF1174320DVQ' changed from ONLINE to OFFLINE (BRIDGE_OFFLINE)
2018-06-06 15:07:53.879 [hingStatusInfoChangedEvent] - 'amazonechocontrol:echo:ae467c3c:G090LF1174320CF1' changed from ONLINE to OFFLINE (BRIDGE_OFFLINE)
2018-06-06 15:08:00.308 [hingStatusInfoChangedEvent] - 'amazonechocontrol:echo:ae467c3c:G090LF1174320B73' changed from OFFLINE (BRIDGE_OFFLINE) to ONLINE
2018-06-06 15:08:01.095 [hingStatusInfoChangedEvent] - 'amazonechocontrol:echo:ae467c3c:G090LF1174320DVQ' changed from OFFLINE (BRIDGE_OFFLINE) to ONLINE
2018-06-06 15:08:01.878 [hingStatusInfoChangedEvent] - 'amazonechocontrol:echo:ae467c3c:G090LF1174320CF1' changed from OFFLINE (BRIDGE_OFFLINE) to ONLINE
2018-06-06 15:08:04.027 [hingStatusInfoChangedEvent] - 'amazonechocontrol:account:ae467c3c' changed from OFFLINE (CONFIGURATION_ERROR): Login fails. Check your credentials and try to login with your webbrowser to http(s)://<youropenhab:yourport>/amazonechocontrol/ae467c3c
Important Message! To better protect your account, please re-enter your password and then enter the characters as they are shown in the image below. to ONLINE

Anyone else seeing this issue?

I’m able to login to alexa.amazon.com (with a different browser) and don’t see a captcha. I’m not able to attempt the login through my openhab system though.

thanks

I am getting like this . all other working fine

2018-06-07 11:38:48.435 [ome.event.ItemCommandEvent] - Item ‘Echo_Living_Room_MusicProviderId’ received command ROBIN

2018-06-07 11:38:48.451 [vent.ItemStateChangedEvent] - Echo_Living_Room_MusicProviderId changed from TUNEIN to ROBIN

2018-06-07 11:38:58.956 [ome.event.ItemCommandEvent] - Item ‘Echo_Living_Room_AmazonMusic’ received command ON

2018-06-07 11:38:58.973 [vent.ItemStateChangedEvent] - Echo_Living_Room_AmazonMusic changed from OFF to ON

2018-06-07 11:38:59.804 [ERROR] [nal.common.AbstractInvocationHandler] - An error occurred while calling method ‘ThingHandler.handleCommand()’ on ‘org.openhab.binding.amazonechocontrol.handler.EchoHandler@1f7fbc8’: POST url ‘https://alexa.amazon.in/api/np/command?deviceSerialNumber=G2A0P307738303DS&deviceType=A7WXQPH584YP’ failed: Not Found

org.openhab.binding.amazonechocontrol.internal.HttpException: POST url ‘https://alexa.amazon.in/api/np/command?deviceSerialNumber=G2A0P307738303DS&deviceType=A7WXQPH584YP’ failed: Not Found

at org.openhab.binding.amazonechocontrol.internal.Connection.makeRequest(Connection.java:404) [263:org.openhab.binding.amazonechocontrol:2.3.0]

at org.openhab.binding.amazonechocontrol.internal.Connection.command(Connection.java:627) [263:org.openhab.binding.amazonechocontrol:2.3.0]

at org.openhab.binding.amazonechocontrol.internal.Connection.playAmazonMusicTrack(Connection.java:657) [263:org.openhab.binding.amazonechocontrol:2.3.0]

at org.openhab.binding.amazonechocontrol.handler.EchoHandler.handleCommand(EchoHandler.java:345) [263:org.openhab.binding.amazonechocontrol:2.3.0]

at com.sun.proxy.$Proxy151.handleCommand(Unknown Source) [263:org.openhab.binding.amazonechocontrol:2.3.0]

2018-06-07 11:39:05.610 [ome.event.ItemCommandEvent] - Item ‘Echo_Living_Room_Player’ received command PLAY

2018-06-07 11:39:05.625 [vent.ItemStateChangedEvent] - Echo_Living_Room_Player changed from PAUSE to PLAY

2018-06-07 11:39:06.353 [ERROR] [nal.common.AbstractInvocationHandler] - An error occurred while calling method ‘ThingHandler.handleCommand()’ on ‘org.openhab.binding.amazonechocontrol.handler.EchoHandler@1f7fbc8’: POST url ‘https://alexa.amazon.in/api/behaviors/operation/validate’ failed: Bad Request

org.openhab.binding.amazonechocontrol.internal.HttpException: POST url ‘https://alexa.amazon.in/api/behaviors/operation/validate’ failed: Bad Request

at org.openhab.binding.amazonechocontrol.internal.Connection.makeRequest(Connection.java:404) [263:org.openhab.binding.amazonechocontrol:2.3.0]

at org.openhab.binding.amazonechocontrol.internal.Connection.makeRequestAndReturnString(Connection.java:286) [263:org.openhab.binding.amazonechocontrol:2.3.0]

at org.openhab.binding.amazonechocontrol.internal.Connection.playMusicVoiceCommand(Connection.java:904) [263:org.openhab.binding.amazonechocontrol:2.3.0]

at org.openhab.binding.amazonechocontrol.handler.EchoHandler.handleCommand(EchoHandler.java:196) [263:org.openhab.binding.amazonechocontrol:2.3.0]

at com.sun.proxy.$Proxy151.handleCommand(Unknown Source) [263:org.openhab.binding.amazonechocontrol:2.3.0]

2018-06-07 11:39:08.619 [vent.ItemStateChangedEvent] - Echo_Living_Room_AmazonMusic changed from ON to OFF

2018-06-07 11:39:08.734 [vent.ItemStateChangedEvent] - Echo_Living_Room_Player changed from PLAY to PAUSE

2018-06-07 11:39:14.068 [ome.event.ItemCommandEvent] - Item ‘Echo_Living_Room_Shuffle’ received command OFF

2018-06-07 11:39:14.095 [vent.ItemStateChangedEvent] - Echo_Living_Room_Shuffle changed from ON to OFF

no - you are not alone. I have the same.
There is a bug in openHAB 2.3 in Windows too. OpenHAB creates filenames for the echo-binding with colons (:slight_smile: which are forbidden in Windows. i dont know if These two effects are linked……the developer of the binding doesnt give a Statement to this behaviour….

I don’t understand this - does Amazon already offer an MQTT broker which you can consume information about Alexa?

Thank you for confirming that it is not just my setup getting this error!

This one should be fixed soon. I don’t expect these are related issues though, since I am using Fedora.

https://github.com/openhab/openhab2-addons/pull/3634

I was wondering if there could be any correlation with the account being in a Household, but I get the same error with an account that is not in one. The only thing I haven’t tried yet is to add a desktop manager and install a browser on the server running OH to see if that helps. But if others are working headless, then I don’t think this will help.

thank you for this Information.

HI @Wirsing84, quick (and potentially silly) question, but how do you linke the spoken Alexa command “aktiviere fensterstatus” to the item that triggers the rule?

Hi,

Great job first of all!

I have 12 Echo’s in the house and I really want to get this working . . .

I’m running Synology NAS with Snapshot 2.3.0.001. I’ve gotten your binding from the market place which it’s stating it’s version --> Amazon Echo Control RC3

Here’s the error --> No Account thing created.

I’m in the US and I’m going against amazon.com site for authentication.

I’m having issues getting accounts/things to initialize and I’ve read through this thread and I’m seeing stuff about US and Amazon.com authentication and stuff about there being a “newer” version than RC3.

Am I running the latest version of the binding? If not, how do I get an updated version of it?

Best, Jay

The solution to all this was . . .

Download the RC3 JAR and place it in /ADDON’s vs. using the market place to get it.

Rename /cache to /cahce.OLD
Rename /tmp to /tmp.OLD

Start openHAB

You’ll see errors in the log file asking you to enter the characters as they are shown in the image from Amazon binding.

Goto http://openhab:8080/amazonechocontrol/account1/ap/signin

Sign on to your Amazon Account and that’s it . . .

Best, Jay

Hi Jan,
actually it wasn’t so clear to me at first, either.

I have this item definition:
Switch AlexaXiaomiFensterstatus “Fensterstatus” (GR_AlexaCommands) [“Switchable”]

Basically, I “turn on” the “switch” named AlexaXiaomiFensterstatus via Alexa. Alexa seems to index the item labels, thus I can say “Alexa, activate Fensterstatus” or “Alexa, turn on Fensterstatus”. Since Openhab is a smart home binding trigger, more semantically correct sentences like “Alexa, what is the Fensterstatus?” don’t work (yet).

I hope that helped?

You can use alexa routines for that. Explicitly write what you tell alexa and then you can manually set the item you’d like to trigger

Hi Chris,
thanks for the swift reply! So the connection from the command to Alexa to the item is via the openhab skill and hence myopenhab cloud service, right? I’m still struggling to get that working, so my hope was you found a different way :wink:
Thanks again,
Jan

… and with the new v3 tagging of the openHAB Skill Amazons Echo may also allow for these kind of questions directly. Have not tried yet …