Release Candidate and Support: Amazon Echo Control Binding

Has anyone else found that adding this binding causes paperui to give an error 500?

Thanks
Andrew

Thats how I made it at the end :slight_smile:
Another point is, that I wonder how to stop the playAlarmSound. Just sending an empty string doesnt stop alexa.

Hi Andrew,
I have not yet seen this problem. Maybe the dynamic selection causes the problem. Try to remove the following channels:

bluetoothIdSelection
amazonMusicPlayListId
playAlarmSound

If this helps, recreate them one by one to find out which one causes the problem.
Kind regards,
Michael

For this feature, you have to wait for next beta version. I have already implemented it, but I’am waiting for a feedback from beta testers for the smart home device feature. After this works, I will provide it to the public.

OK false alarm was PollyTTS I have been playing with at the same time.

Hi is there a chance to get spotify control in future?

Also - i can see the references but not a clear answer as to why reminders fire twice?

I love this binding been wanting to do just what it does via a skill or IFTTT but have found nothing till this excellent binding

Reminders are fired twice by design - that is how Amazon built it afaik.
Would like to get rid of it as well, together with the annoying sound and the “This is your reminder” prefix.
But Amazon would have to change their implementation or provide a SDK function like “say” only speaking the provided text.
To be honest I see little chance for this as their primary target for the speakers is to sell services, build profiles and to advertise through it - using it as a simple speech output device is not really part of their business model.

Hey Amazon, please proof me being wrong here! :slight_smile:

2 Likes

I cant see on the alexa web app how to play a song with amazon music - so perhaps is black magic - hoping spotify is possible?

Hi Andrew,

spotify is not possible with my binding (Amazon music can be started from the website, spotify not), but there exist a spotify binding:

With this binding, the spotify in the alexa device can be controlled. But I don’t now, if this work out of the box, I had to modify a line in the source so that starting playing a song works for me. But give them a try. It would be nice to here from you, if it works for you.

Kind regards,
Michael

Working out of the box so far… really great!
Thank you for this.

What´s missing on your sitemap-example:

Image item=Echo_Living_Room_ImageUrl refresh=1000

Maybe it is possible to integrate that binding into the echocontrolbinding?

One feature I would like to see is If I set the alarm on the echo, that the binding could update a datetime item in OH. So then we could use this to start to increase light slowly 15 minutes before the alarm goes off, and not as the alarm off(I do this with IFTTT today)

Is it also possible to get the echo to say a Text item from OH?

Yes Alexa can say anything in a rule I have it telling my kids the Xbox is going off in x minutes

maybe your persistence service sets the last state for the item after restart.
If you use a rule, check the previousstate is not null

It looks like I had a rule I had forgotten about tied to a virtual switch with the trigger “changed to off” so everytime OH would restore the persistence from NULL to OFF on boot it would fire. Oops! :flushed:

Just installed the binding, here as my short first feedback and thank you for this binding

@michi is the project open source?

Yes, you will find it here:
https://github.com/mgeramb/openhab2-addons

Smart Home Device Control - I need help
I’am preparing a version which can control smart home devices connected to alexa.

  • You have smart home devices connected to alexa, e.g. Philips Hue (not by using the openHAB Smart Home skill, I need other Smart Home Skills)
  • You know how you open the openHAB log files
  • You have 1-2 hours time in the next two days
  • You want help me to finish the implementation of the smart home feature

Current state: It’s implemented for lamps and dimmers, but it seems the the discovering does not work for skills other then the openHAB

Anybody interested?

Hey there and thank you for the fantastic binding !
It works well in my case with amazon.de, except the wha: I had to link the items separately in the PaperUI, then everything works except the volume of the wha. It’s not bad for me, I can do this with a rule.

Another point: I’d like to limit the volume of my echo and with your binding this can be possible. Let me show you my rule:

rule "Scale Factor Wohnzimmer"
when
  Item Echo_Wohnzimmer_Volume_default received command
then
  var Number value = Echo_Wohnzimmer_Volume_default.state as DecimalType
  sendCommand(Echo_Wohnzimmer_Volume, value*0.8)
end

The Item Echo_Wohnzimmer_Volume_default is the dimmer, which is implemented in the sitemap. The dimmer Echo_Wohnzimmer_Volume is not visible for the user. With the factor 0.8 in my example I can limit the maximum of the volume from 10 to 8 ( in Alexa “units”).

This works ! Next, I thought, if I say once: “Alexa, turn the volume to 2”, the speaker gets the new volume data but the default dimmer in the sitemap doesn’t. So I made another rule, which should update the Echo_Wohnzimmer_Volume_default:


rule "Scale Factor Schlafzimmer"
when
  Item Echo_Wohnzimmer_Volume changed
then
  var Number value = Echo_Wohnzimmer_Volume.state as DecimalType
  var Number value_def = Echo_Wohnzimmer_Volume_default.state as DecimalType
  if(value_def!=value/0.8) // compare if the default dimmer has an old value; this should prevent a permanent loop
  {
  sendCommand(Echo_Wohnzimmer_Volume_default, value/0.8); //here I use the inverse operation of the multiplication to get the value for the default item
    Thread::sleep(200)
  }
end

Unfortunately, this does not work as it should: Changing the default item changes the volume as it should, but this repeats 3 times - I can’t understand why. Changing the ‘original’ Echo_Wohnzimmer_Volume works and changes the default item, too. Just changing the default does not work 100 percent right. Do anyone know why ?

Thanks and thank you @michi for the great work !

I solved the problem for myself: The mistake was a forgotten ‘.default’ in the if-clause.
The final code zu scale the volume is:

rule "Scale Factor Wohnzimmer"
when
  Item Echo_Wohnzimmer_Volume_default received command
then
  var Number value = Echo_Wohnzimmer_Volume.state as DecimalType
  var Number value_def = Echo_Wohnzimmer_Volume_default.state as DecimalType
  if(value!=value_def*0.8){
  sendCommand(Echo_Wohnzimmer_Volume, value_def*0.8);
  }
end


rule "Scale Factor Wohnzimmer"
when
  Item Echo_Wohnzimmer_Volume changed
then
  var Number value = Echo_Wohnzimmer_Volume.state as DecimalType
  var Number value_def = Echo_Wohnzimmer_Volume_default.state as DecimalType
  if(value_def!=value/0.8){
  sendCommand(Echo_Wohnzimmer_Volume_default, value/0.8);
  }
end

Trying to duplicate the upper rule, I faced another problem.
Copied the same rule and modified the item names, the method does not work: The dimmer goes to 0 / initialized by updating the browser with basicUI. In the app the dimmer turns to 0 /initialized after 1-2 seconds approx. So, I removed the rules and the failure is still the same. The code is exactly the same, the only difference is that the working one is an echo dot and the bad one is an echo. But I think this can be fixed openhab internally ? I tried to add autoupdate to the item, but this does not help. How is this to fix ?

Thank you !