Release Candidate and Support: Amazon Echo Control Binding

Did you install the Amazon binding from PaperUI or download the jar file (top of this thread) and place it in /usr/share/openhab2/addons ?

Yes, please update to the beta version of the binding, Amazon have changed the response, so the binding included with OH does not work anymore

Please, can you also include amazon.es. I can type in HABmin whatever I want but not in PaperUI.

I also got this error when trying from HABmin:
2018-12-03 16:31:05.739 [INFO ] [mazonechocontrol.internal.Connection] - Login failed: POST url ‘https://www.amazon.es/ap/signin’ failed: Not Found

Scenario Help:

At night I play Sleep Sounds ( a skill ) that plays all night. I have a OH rule that lets me know when the garage door goes up, it does a TTS to many devices and one of which is playing the Sleep Sounds.

The one playing the Sleep Sounds does NOT tell me the garage door is going up. There is NO errors in the logs and the logs show the message was successfully sent to the device.

Echo Alarm functionality of the Echo does override the Sleep Sounds ( a skill ) but I don’t think TTS does.

Anybody encounter this and/or have a solution for this?

Best, Jay

Hi, there is no setting for the domain in the account thing in the current beta binding version because there is an autodetect implemented. Please try the current beta.

Best regards,
Michael

Where do I find it?

I am using the snapshot here (from today):
https://openhab.jfrog.io/openhab/libs-pullrequest-local/org/openhab/binding/org.openhab.binding.amazonechocontrol/2.4.0-SNAPSHOT/

Thanks @michi, I was trying 2.3.0 and in the dropdown there was no option. I will try the beta version from the link you just provided to @NCO

The snapshot is NOT the latest version. It will not work anymore! Please use the beta from this top most posting of this thread.

This link is wrong. It points to the daily snapshot, but the code is not yet merged. The latest version can be downloaded from the top most posting in this thread.

Sorry - now I remember, that I have used the top most thread once…:slight_smile:

That’s great!
Thanks for sharing.

I have a question though:
If you setup a routine on “dryer status” and set a resulting action for Alexa to say a custom sound (“checking”) - doesn’t this interfere with the TTS command from OH?

The TTS sends the preview command for a routine with custom text. So it will do technically the same. It will only interfere if it happens at the same time.

Thanks.
I just tried it and obviously alexa concatinates the phrase in the App and the TTS command.

my experience is Alexa’s command is played first and then whatever you respond with on TTS is done afterwards. Depending on the amount of time OH takes to process the rule this could be a really short gap but so far I have not seen the two interfere.

So I agree its a concatenation, which works well.

Thanks for your quick response.
Your example was very helpful for flawless integration!

This works via the log file, but not the voice command


17:14:46.474 [INFO ] [.smarthome.model.script.Garage_Status] - Garage Status Rul                                                                                        e has been triggered using Echo: Echo_MusicRoom_LastVoiceCommand
17:14:46.489 [WARN ] [arthome.model.script.actions.BusEvent] - Item 'Echo_Echo_T                                                                                        TS' does not exist.
17:14:46.498 [INFO ] [.smarthome.model.script.Garage_Status] - Message : The Gar                                                                                        age is not open

ITEMS:


// Commands
String Echo_Garage_TTS                   "Text to Speech"                        (gAllEchoDots) {channel="amazonechocontrol:echo:119d23d8:H:textToSpeech"}
String Echo_Garage_LastVoiceCommand      "Last Voice Command"                    (gAllEchoDots) {channel="amazonechocontrol:echo:119d23d8:Gxxxx94xxxH:lastVoiceCommand"}
String Echo_Garage_Remind                "Remind"                                (gAllEchoDots) {channel="amazonechocontrol:echo:119d23d8:G0xxx4:remind"}
String Echo_Garage_PlayAlarmSound        "Play Alarm Sound"                      (gAllEchoDots) {channel="amazonechocontrol:echo:119d23d8:xxxx:playAlarmSound"}
String Echo_Garage_StartRoutine  

It looks like you need to adjust the section that determines the name of the Echo TTS channel from the triggeringItem.name

In my case my naming convention is:
X_Echo_Channel
where X is a short form of the room that the echo is installed.

Your convention appears to be Echo_Y_Channel
Where Y is the long name of the location the echo is installed.

therefore looking at my rule that works out the correct TTS channel to use you will need to adapt it to match your naming convention.

something like(not tested):

	// get the room of the echo device                              
	val sourceRoom = triggeringItem.name.split("_").get(1)
	// use the room prefix to specify the actual device TTS for the returned response.
	val _TTS = "Echo_"+sourceRoom+"_TTS"

I hope that gets you in the right direction.

Paul

1 Like

You got it! That fixed it, thanks Paul

This could be a solution then to verbalise notifications using Alexa I think, as posted in the Design Pattern - Design Pattern: Working with Groups in Rules

Great Binding. One thing I`am really missing is the possibility to get alarm informations. I’àm switching on the coffee maker or some hue lights by rules before my alarm rings in the morning.

Would be great if the trigger of those actions could be the alarm of alexa .

Regards Rainer

I recently got an Ecobee Switch+. Its’ a switch that includes Amazon Alexa in it.
I check the Amazon Echo control page for the binding.

It shows Under Type:
THIRD_PARTY_AVS_MEDIA_DISPLAY

State: Not Defined.

Can support be added by 3rd Party Amazon Devices?

Your latest beta is working great!