Release Candidate and Support: Amazon Echo Control Binding

Amazon have changed the login page. This causes the failure. It is fixed in Beta 7

3 Likes

BETA 7

Whats new:

  • The problem with the changed login page from amazon is handled
  • New channel ‘announcement’

The channel announcement provides a feature which is only available in the alexa app of amazon.com. So I have no possibility to test it. It does not work with amazon.de, but maybe it works with amazon.com. You can send a text to this channel and this should push a announcement notification to the device.
Would be nice to get a feedback of amazon.com users if it is working.

Download link and a updated documentation is provided in the top most posting (Only tested with OH 2.3)
Would be nice to get feedback if it works with 2.4 too.

Note: This version have no more configuration values on the account bridge thing. If there any (provided in the thing file), the are ignored.

Best regards,
Michael

3 Likes

@michi, The beta 7 release is working for me, however, the new announcement channel does not seem to work. From my logs:

2018-11-16 14:14:15.170 [DEBUG] [mazonechocontrol.internal.Connection] - POST: {"behaviorId":"PREVIEW","sequenceJson":"{\"@type\":\"com.amazon.alexa.behaviors.model.Sequence\",\"startNode\":{\"@type\":\"com.amazon.alexa.behaviors.model.OpaquePayloadOperationNode\",\"type\":\"AlexaAnnouncement\",\"operationPayload\":{\"expireAfter\":\"PT5S\",\"content\":[{\"display\":{\"title\":\"OpenHAB\",\"body\":\"Just what you were waiting for, yet another echo announcement.\"},\"speak\":{\"type\":\"text\",\"value\":\"Just what you were waiting for, yet another echo announcement.\"}}],\"customerId\":\"XXXXXXXXXXXXX\",\"target\":{\"customerId\":\"XXXXXXXXXXXXX\",\"devices\":[{}]}}}}","status":"ENABLED"}
2018-11-16 14:14:15.681 [DEBUG] [mazonechocontrol.internal.Connection] - Call to https://alexa.amazon.com/api/behaviors/preview succeeded
2018-11-16 14:14:16.686 [DEBUG] [mazonechocontrol.internal.Connection] - Make request to https://alexa.amazon.com/api/np/player?deviceSerialNumber=9xxxxxxxxxxxxxxx&deviceType=XXXXXXXXXXXXX&screenWidth=1440
2018-11-16 14:14:16.980 [DEBUG] [mazonechocontrol.internal.Connection] - Call to https://alexa.amazon.com/api/np/player?deviceSerialNumber=9xxxxxxxxxxxxxxx&deviceType=XXXXXXXXXXXXX&screenWidth=1440 succeeded
2018-11-16 14:14:21.504 [DEBUG] [control.internal.WebSocketConnection] - Send Ping
2018-11-16 14:14:21.508 [DEBUG] [control.internal.WebSocketConnection] - Send message with length 98
2018-11-16 14:14:21.609 [DEBUG] [control.internal.WebSocketConnection] - Pong received

I am located in the US, so amazon.com is the domain for Amazon here.

@michi, I’m also a USA user and Beta 7 binding is working so far. I tried out your announcement channel but nothing happens. I think it is because I don’t fully understand what it does.

.items
String Echo_Office_Annc "Office Announcement" (EchoAnncGroup2) {channel="amazonechocontrol:echo:accountXXX:echoOffice:announcement"}

.rules
Echo_Office_Annc.sendCommand('This is a test of the Amazon Echo Announcement')

Test results: No errors, but nothing happens.

I am aware that Echo supports a verbal announcement feature (which works fine). But your new channel feature must do something else. Please provide more info and I will provide more feedback.

  • Thomas

Please go in the Alexa App. Create a routine. Set any activation text. Add action. There should be an option with two speech bubbles as symbol. Choose this. Then you should have two options, the first send a notification to the mobile app, the second option is the magic thing. Please enter a text in the second option. Click to add the operation. Click to create the routine.
Now you should be in the routine overview page. Go back to the newly created routine. In the menu in the top right corner should be the possibility to test the routine.
Please tell me what’s happen.

Hi michi
i tested Beta 7 with amacon.de…ans it worked fine at the moment.
But one thing i found it dosent work in all Versions.
Alexa dosend accept the “startroutine” command.
in the past the command workt very well an i used it to control my IP Plug In´s
In the past it workt in the items with a “String” now i read in the Binding description that this Item is a switch.
Have you tested this Item in your Binding as well or have you an answer for me.
Thank you for you help

Best regards from Germany
Markus

The actual in Openhab 2.4.0.M5 integrated Amazon Echocontrol Binding isnt working, too (login results in cryptic Website.

What i did to fix it:

  • uninstalled the Amazon Echocontrol Binding via PaperUI
  • downloaded the Amazonechocontrol Binding Beta 7 (xxxxx.jar file) from here
  • put it in the /addons folder
  • opened 192.168.1.240:8080/amazonechocontrol and logged in

and … it works! Thanks Michael!

1 Like

Michael,

Just want to say a MASSIVE thank you for your work, I’ve finally have spoken notification on my Echos and want to take it step further, I want Alexa to ask me questions when I enter each room with some simple rules, alternatively, using a dialogue based skill… Do you know what would be the quickest route for me to activate the listening mode on Echo (basically simulate speaking the wake word or alternatively pushing the button)? Is it possible to achieve this via openhab2 binding?

Ben

@michi, thanks for the clarification on the new announcement feature. It works when the routine name is spoken to an echo. But when I use the channel function I am not getting anything.

I have routine named “paulie” and the rule contains this:
Echo_Office_Annc.sendCommand(‘paulie’)

It seems I am not using the corrent command syntax. What is the correct format?

  • Thomas

Hi Guys

Does anyone know if its possible to in a rule, play a WAV file to a particular Echo Dot using the binding? If so, how? i have alarm.wav stored under /etc/openhab2/sounds

Thanks!

Anyone else having problems recently? Echo dots and Account is offline and login WebUI not reachable

My USA (amazon.com) account has been working fine.

  • Thomas

See my Nov 14 posting.

My German amazon account just crashed my sitemap. Nothing has been changed. My OpenHab is pretty robust, running for months. When it crashes sometimes, its most often caused by this binding.
Today, I had to reboot Openhab and everything fine. But amazon account still not running.

Yes my German account cannot log in as well: “What are you looking for” after login. 2-factor Auth is now enabled again, but with less “complex” characters.

Seems like the API-hook method is probably not the most stable? Sad that amazon changes the API so often lately….

Greetings,

How does one override the default Amazon Echo binding and replace it with your 2.4 beta? I’ve copied the jar file to the …/addons directory but I still only have the option to install the 2.3.0 version from the PaperUI

Am I missing a step? The entry @ http://openhab:8080/paperui/index.html#/configuration/bindings/amazonechocontrol Doesn’t disappear when I uninstall.

Same here in the US; I have 3 Amazon accounts connect to my OH.

Best, Jay

The manually installed binding will not appear in PaperUI. No worries.

Use PaperUI to uninstall (disable) the old default binding. Confirm it shows the binding is not installed before placing the new jar in addons.

It has been suggested to rename the jar with a standard name that you will continue to use with each new release. This helps prevent multiple instances of the binding if future versions are installed.

The manually installed jar will ignore PaperUI and get loaded at reboot because it is in the addons folder.

  • Thomas

All is working here with OH M.6 and the beta (7) of this binding . Thanks a lot @michi

Edit: I am on amazon.com . But live in Canada

My Amazon stopped working recently as well so I checked here.
I’m running 2.4.0 SNAPSHOT right now after I updated this morning and bundle:list shows
237 │ Active │ 80 │ 2.4.0.201811212219 │ Amazon Echo Control Binding
Since the referenced beta7 build version is older does the snapshot version contains a possible fix or not?

And if not, how can I convince openHAB (in best case during runtime) to replace the preinstalled one with an “older” one in addons?