Release Candidate and Support: Amazon Echo Control Binding

Have you defined the thing in a file or in the paperUI? If you have defined it in paperUI, you have to delete and recreate them to get new channels. Otherwise maybe the beta version is not loaded or you use the an old jar file.

Please check if it works with Beta 2.4 (3)

Please check Beta 2.4 (3)

So is there any way in OpenHAB2 to control devices linked to an Echo Plus as a hub?

I use openhab almost only for this binding ( and maybe plex soon). I send all the node info to node-red to be able to control or be notified directly on my homeseer HS3 system ( on linux debian).

So, I ‘‘rm -rf openhab2’’ folder entirely, and started fresh on the 2.4 snaopshot #1349.

Installed your ver3 .jar files , and all is working perfectly!! Thanks

Now i just have to find a way to filter the word ‘‘Alexa’’.

Let me explain the two way you can do it.

  1. Saying on a fast manner ‘’ alexa turn off tv’’ then the string in the last command will be : alexa turn off tv

  2. Saying Alexa first, then wait 1 sec, then say ‘’ turn off tv’’ then the string in the last command will be : turn of tv.

So depending off if i wait or not, i got to different string because alexa surely write two line when we wait.

Is there a way to filter the wold alexa on your side? I mean remove it if it apear, and keep the rest of the command ?

I tired to find a way to do that with node-red but no luck.

And creating two rule with two differents trigger on my hs3 system doe not work. The mqtt pluging just take one of the two at the same time. ( but that part is not important to you).

thank you,

matt

Thanks, the installation worked! :slight_smile:
(Openhabian with openhab2_2.4.0~20180904183712-1)

However, after a few times, the “lastCommand” channel does not update anymore. I can still see the PUSH_ACTIVITY coming in after a voice command, but the channel does not change

(The Thing has been added via Paper UI, the Item has been defined in the config)

After a restart of openhab, the channel is working again for a few times.

Is there anyone looking at taking variable data from an echo? For example, be able to say “Set the volume to X” and then be able to use X in a rule?

I have a project for work that requires data input. If I can get the information from a spoken voice command into a rule I can then route that data where I need it.
Any input would be appreciated!

Same here

I removed all items and things, then deleted the addons/org.openhab.binding.amazonechocontrol_2.3.0.201801271315.jar file. Then added the binding in the paper UI that came with OH2.3. But now I don’t see few channels than before. The reminder and bluetooth connection switch channels are gone. And I don’t see any of the new channels. Confused.

You have to click on the option View more in the paperUI

1 Like

Thanks for testing and reporting, I wil check this in my code

I will drop the keyword in my next relase, thanks for testing!

1 Like

I dont think that this is possible because alexa will give you a answer that she do not know the command.
Anyway you would be able to handle the request with a rule to the lastCommand channel

1 Like

Not yet

That did the trick!

In some of my rules I save the volume , set a new volume , make TTS announcement and then return volume to original state

Not sure if that’s helpful but here is the code anyway

rule 'Windy mode On'
when
  Item Windy_Switch changed from OFF to ON
then
 if (Echo_Player.state == PLAY) {
    val EchoVolumeState = storeStates(Echo_Volume)
    logInfo("Alexa" , 'Player state '+ Echo_Player.state + ' volume '+ Echo_Volume.state)
    sendMail('xxxxx', 'Openhab: Roof sensor detected high winds', 'Roof sensor detected high winds')
    sendNotification('xxxxxx','Roof sensor detected high winds')

    Echo_Player.sendCommand(PAUSE)
    Thread::sleep(2000)

    //play announcement
    StatusAnnouncement.postUpdate('High winds have been detected')
    
    //reset to original state
    restoreStates(EchoVolumeState)
    Thread::sleep(2000)
    Echo_Player.sendCommand(PLAY)
  }
  else {
    logInfo("Alexa" , 'Player state '+ Echo_Player.state + ' volume '+ Echo_Volume.state)
    Echo_Volume.sendCommand(40)
    Thread::sleep(2000)
    sendMail('xxxxxx', 'Openhab: Roof sensor detected high winds', 'Roof sensor detected high winds')
    sendNotification('xxxxx','Roof sensor detected high winds')

    //play announcement
    StatusAnnouncement.postUpdate('High winds have been detected')
  }
 end
1 Like

When I search for things my tablets don’t show up anymore. I do see them in the amazonechocontrol page after I configure the account thing.

[update]

I added the tablets using the “Add Manually”, selecting Amazon Echo as the device type and the things work as expected.

Hello michi,
tanks for these great integration work. My system works perfectly.

I have one question:
Is it possible to have a channel of the amazon alexa reporting the ping / status Online/Offline like the network binding do with the other devices ?

Thanks for reply.

I setup this command in a rule
OfficeBot_StartARoutine.sendCommand(“Ask roomba to start cleaning”)

I get this in the openhab.log

2018-09-08 18:27:48.573 [WARN ] [mazonechocontrol.internal.Connection] - Routine Ask roomba to start cleaning not found

When I say “Ask roomba to start cleaning” - the roomba starts.

The documentation for the startRoutine says “Write Only! Type in what you normally say to Alexa without the preceding “Alexa,””

So I’m guessing the routines are not simply arbitrary Alexa request like “Alexa, what is the weather” - is there a command in the API that can do free form commands like “Play MLB” (next on my list - to automatically play Cubs games
)?

And BTW - this Binding is awesome!

Some feedback with the latest beta.
-Complains about missing bundles seems to be gone

-error in logfile when lauching music throug sitemap (or habpanel)

2018-09-09 15:28:13.097 [ome.event.ItemCommandEvent] - Item 'Echo_Living_Room_Player' received command PLAY

2018-09-09 15:28:13.121 [vent.ItemStateChangedEvent] - Echo_Living_Room_Player changed from PAUSE to PLAY

==> /var/log/openhab2/openhab.log <==

2018-09-09 15:28:13.436 [ERROR] [nal.common.AbstractInvocationHandler] - An error occurred while calling method 'ThingHandler.handleCommand()' on 'org.openhab.binding.amazonechocontrol.handler.EchoHandler@abd273': POST url 'https://alexa.amazon.fr/api/behaviors/operation/validate' failed: Bad Request

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

	at org.openhab.binding.amazonechocontrol.internal.Connection.makeRequest(Connection.java:446) [216:org.openhab.binding.amazonechocontrol:2.4.0.201808261949]


Let’s wait for one week to see if I’m logged out :wink:

Thank you
Aymeric