Preview and Beta: Amazon Echo Control

Yes the OTP. After you entered the Account Thing, it should be online.
If you logout and login it should not ask for OTP anymore.
Sometimes it still ask for OTP but the reason is still hidden.

Edit: The .de address doesn’t work in my tests.
We did not change the login process, we only fixed a wrong id in the url.

Br

Yes I went through OTP and regular password changes multiple times. No luck.

Yeah but @J-N-K mentioned it -occasionally- didn’t work in earlier versions either. Seems to depend on account and coincidence, and me having pretty much bad luck
I cannot directly lo into .com as it’s always redirecting me to .de.
Can you make the URL (hostname part) the binding logs into configurable so Germans can try with .de ?

It don’t think its possible to use a .de Login page with the current code. Its seems the code target to .com. But i will ask the question to the alexa community. Will report as soon as possible. Thank you for testing in any way.

Ok, it seems to be reproducible. Got the same error.

For me it still shows “Enter a valid email or mobile number”

1 Like

The alexa community verified the .com address is valid and ok.
I think your account is in a state (like my was) the Binding is not able to handle.
Can you please goto www.Amazon.de and login.
It should ask you for a new password, please follow the process until you logged in with a new password. After it, goto the amazoncontrol website and try to login again.
It should work after this process.

Br

Can you please try it again, maybe 3 times. It seems the id sometimes is not valid.
This would help to verify the process and to fix the issue.

Thank you in advance.

Tried it several times now.
No luck unfortunately.

@nephrotranz Ok, can you remove the jar and copy it to openhab2-addons again, so it will reload and try it again. It is not a fix to get you logged in but i need this information to verify the issue.

br

Yes, but I will need some minutes.

By the way it only happens to my main Amazon account since this morning.

I have a second account, there I get the message that I need to change my password.

I also got the “change password” message for my main account this morning several times, but after I changed the password for the second or third time I suddenly got this “Enter a valid email or mobile number”.

Removed the jar and copied it to the folder again two times and of course restarted openHAB two times, but still the same error.

For any reason since this morning I also need to confirm every normal login on the Amazon website with a code. No idea if this is new or if it is because of all the password changes today.

I have to enter the OTP sometimes and sometimes not, so i think this is a change on the server side.

The .com/.de issue was just a guess. I tried to change that but it is far more difficult than changing the server. There are several other components which seem to be localized and I didn‘t manage to successfully login via .de server from openHAB. I can confirm that I see only .de requests when I login to Alexa from my Webbrowser directly.

Any idea why I get the “please change your password” message with two Amazon accounts I never used during the last years and with my main Amazon account it says “Enter a valid email”?

Where is the difference?

This is not that easy to explain. The change password message seems to be a new server side protection. And the “Enter a valid…” is an error because of an id in the request which is not valid.

Please try this jar file to login:
Link removed.
This version is for test only.

Edit: Could produce captcha, renew password and OTP

br

1 Like

I am able to log in again with this latest version you have posted. :white_check_mark:

I am still experiencing the problem however where “LastVoiceCommand” and TTS are delayed or don’t always work. The “LastVoiceCommand” is delayed sometimes by as long as 20 second, whereas it is normally instantaneous. My volume is up all the way.

I enabled trace logging for the binding but it is not showing anything abnormal, it is just slow to show the HTTP request updates in the log from the Amazon servers. I can provide any other information that may be helpful. Thank you again!

Edit: For now, I was able to use your latest binding version to login to my Amazon Account Thing and then replaced/downgraded the .jar file with the last version from @J-N-K that worked perfectly for me, which is the org.openhab.binding.amazonechocontrol-2.5.6-f4.jar file. I’m happy to switch back to the latest .jar and test anything/provide logs.

I have been able after a couple of time to log in via the proxy.

And is working ok here…but I espect it’ll break again.

Amazon is now sending me a sms each time to approve it is me each time i try to log on amazon shopping site:o

No success, I changed the jar file without restarting first and got something like “not in initialization mode”. After a restart of openHAB, I get the “Enter a valid mail or password” message.

Same problem here - after otp and password change at my side it comes …:

HTTP ERROR 500
Problem accessing /amazonechocontrol/c657026b/ap/forgotpassword. Reason:

Server Error

Caused by:
org.openhab.binding.amazonechocontrol.internal.HttpException: POST url ‘https://www.amazon.com/ap/forgotpassword’ failed: Not Found
at org.openhab.binding.amazonechocontrol.internal.Connection.makeRequest(Connection.java:648)
at org.openhab.binding.amazonechocontrol.internal.AccountServlet.handleProxyRequest(AccountServlet.java:631)
at org.openhab.binding.amazonechocontrol.internal.AccountServlet.doVerb(AccountServlet.java:228)
at org.openhab.binding.amazonechocontrol.internal.AccountServlet.doPost(AccountServlet.java:136)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:852)
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:544)
at org.ops4j.pax.web.service.jetty.internal.HttpServiceServletHandler.doHandle(HttpServiceServletHandler.java:71)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:536)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)
at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:235)
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1581)
at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:233)
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1307)
at org.ops4j.pax.web.service.jetty.internal.HttpServiceContext.doHandle(HttpServiceContext.java:293)
at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:188)
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:482)
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1549)
at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:186)
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1204)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
at org.ops4j.pax.web.service.jetty.internal.JettyServerHandlerCollection.handle(JettyServerHandlerCollection.java:80)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)
at org.eclipse.jetty.server.Server.handle(Server.java:494)
at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:374)
at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:268)
at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:311)
at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103)
at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:117)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:336)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:313)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:171)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:129)
at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:367)
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:782)
at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:918)
at java.lang.Thread.run(Thread.java:748)