Release Candidate and Support: Amazon Echo Control Binding

Hi Mark,

Yes, so far as I know, the phone app does not support entering a text. But it should be possible to using a mapping with some preselected text messages.

It’s a missing feature in the phone App. The binding does not know, where a channel is used and how it is used.

Kind regards, Michael

It’s very important, that you use the binding link which match your openHAB installation!

The URL for RC2 is now checked. I does not know if the previous points to a wrong jar, but I’am sure that now it is correct :grinning:

Hi @Balaganov,

I am also not an expert for that. Never the less:
on a linux system like e.g. ubuntu you should check if python is installed already with e.g.

python3 -V

If not,

sudo apt-get update
sudo apt-get -y upgrade

or

sudo apt-get install python3

should do the job.

Then install the python package installer via

sudo apt-get install -y python3-pip

Scapy can be installed via

pip3 install scapy-python3

Yes, for modification of the script you also need to change the interface to your setup. All other changes should be mentioned in the comments. For testing, just run the script with

python3 /[YOUR PATH]/[SCRIPTNAME]

For running it in the background just add & at the end of the command.

Hope that helps. Let me know, if this works for you.

Hi Michi,

Thank you. i got RC2 version of jar file. seems RC2 file size has increased compared to RC1

Kind regards
Cadbures

I just downloaded the latest version (link from the top of this thread) and use OH 2.2 stable.

I can add to the inbox manually the Amazon Account, but it keeps the status uninitialized.

I double checked the password, but got an error 500 when creating the thing the first time and then conflict, when I try to save it again.

I don’t use 2 factor authentication.

Is there an issue with a German OH2 ?
Any suggestion is greatly appreciated

EDIT:
Just recognized that there was another file for download added an hour ago.
This seems to work so far… :slight_smile:

Important for all Beta and Release Candidate users with flashbriefingprofiles:

If you use flashbriefingprofile with saved configuration, please install the RC3, otherwise the stored profile configuration get lost after upgrade to the next version. If you don’t use flashbriefingprofiles, there is no need to upgrade.

RC3 is available in openHAB marketplace or as download if you use OpenHAB 2.2:
https://www.michael-geramb.at/app/download/12015638499/org.openhab.binding.amazonechocontrol_2.2.1_RC3.jar?t=1527103305

For the daily snapshot 2.3 build of openHAB use this version:
https://www.michael-geramb.at/app/download/12015638599/org.openhab.binding.amazonechocontrol-2.3.0_RC3.jar?t=1527103325

if you open the page http(s)://youropenhab:port/amazonechocontrol (e.g. http://localhost:8080/amazonechocontrol) you can verify if the RC3 is correctly installed. it should look like that:

Seems not working for me.
I had uncomment packet.show() line. Run the script. But nothing happened.

How I can ensure that scapy is working correctly?

To update the binding, do we need to remove all items and things, replace the binding and re-add things and items?
Thanks!

FAQ: When I have to remove and recreate things for a binding upgrade?

a) If you have defined the things in a thing file
Never

b) If you have defined the things in PaperUI
If the newer version of the binding has new channels, which you want use: Remove the thing and recreate them after the update.
If you don’t need the new channels, you have nothing to do!

This behavior is not related to the binding, it’s a issue of OpenHAB. So this rules are valid for all bindings!

Whats does this means:
For update from RC1, RC2 to RC3 → Definitely no action required, because there are no new channels

From previous beta versions, check the documentation, please note there are breaking changes between the Beta and the RC version, which means some old channels will no longer work! You will find the necessary steps in the top most posting.

1 Like

Can confirm, removed the previous jar file, replaced it with RC3, done.
Fantastic

Hi to all.
I don’t know if someone have the same problem.
I change the volume of Alexa in the night to a lower level. Before i check the volume level. Is it not the level I want -> change or not.
Since today the rule doesn’t work correctly. Because the state of volume channel is undef. After openhab changed the volume, the item goes back to undef.
Regards,
Markus

Hi @Balaganov,

first of all it is important that the script is running on a machine where the traffic goes through. I have a central server instance that acts as a router, firewall and host for other virtual servers. All Internet traffic needs to go through the instance where the script is located.

You should see traffic when you uncomment the

packet.show() 

line and change the following line like

sniff(prn=pack_received, iface="YOURINTERFACE", store=0, count=0)

This does not apply any filter and should show you a lot of packets. If this works, everything should be ok with your setup.

Dear Beta tests,

I’am happy to announce:

The “Amazon Echo Control” binding will be part of the official OpenHAB 2.3 distribution

Starting from the build tonight, the binding is include in the daily snapshot (unstable) build of OpenHAB 2.3. Please read this post and this post before you upgrade.

I want to say thank all of you for your beta testing. Thanks for you patience and endurance to bring the binding to this level!

7 Likes

That is awesome - great work!!
Thanks

thanks for the effort you’ve put into this binding!

“if you open the page http(s)://youropenhab:port/amazonechocontrol (e.g. http://localhost:8080/amazonechocontrol 7) you can verify if the RC3 is correctly installed. it should look like that:”

I dont have this URL? page not found

For anyone interested in the alarm sounds - here is my list out of the REST interface (I assume everyone has the same list?

        "value": "ECHO:system_alerts_soothing_01",
        "label": "Adrift"
      },
      {
        "value": "ECHO:system_alerts_atonal_02",
        "label": "Clangy"
      },
      {
        "value": "ECHO:system_alerts_melodic_05",
        "label": "Clarity"
      },
      {
        "value": "ECHO:system_alerts_repetitive_04",
        "label": "Countertop"
      },
      {
        "value": "ECHO:system_alerts_melodic_03",
        "label": "Focus"
      },
      {
        "value": "ECHO:system_alerts_melodic_06",
        "label": "Glimmer"
      },
      {
        "value": "ECHO:system_alerts_repetitive_01",
        "label": "Nightstand"
      },
      {
        "value": "ECHO:system_alerts_melodic_07",
        "label": "Nimble"
      },
      {
        "value": "ECHO:system_alerts_soothing_05",
        "label": "Orcas"
      },
      {
        "value": "ECHO:system_alerts_atonal_03",
        "label": "Porchlight"
      },
      {
        "value": "ECHO:system_alerts_rhythmic_02",
        "label": "Pulsar"
      },
      {
        "value": "ECHO:system_alerts_musical_02",
        "label": "Rainier"
      },
      {
        "value": "ECHO:system_alerts_melodic_01",
        "label": "Simple Alarm"
      },
      {
        "value": "ECHO:system_alerts_melodic_02",
        "label": "Simple Timer"
      },
      {
        "value": "ECHO:system_alerts_alarming_03",
        "label": "Squared Waves"
3 Likes

I am using a rule to set a volume before an announcement. A few seconds after I send the new volume command I see th Alexa go from the volume I set to either undefined or 2% higher than the value I sent.

edit to add… Alexa volume voice command is integer steps 1 to 10. I suspect that the unstable volume may be happening when % values are used that fall between the equivalent integer eg 30 is OK but 35 jumps around

Hey @michi,
any idea what causes this error :

2018-05-29 19:33:33.869 [ERROR] [nal.common.AbstractInvocationHandler] - An error occurred while calling method 'ThingHandler.handleCommand()' on 'org.openhab.binding.amazonechocontrol.handler.EchoHandler@b60de0': POST url 'https://alexa.amazon.de/api/np/command?deviceSerialNumber=GABCDEFGHIJ&deviceType=A3S5BH2HU6XXX' failed: Not Found

org.openhab.binding.amazonechocontrol.internal.HttpException: POST url 'https://alexa.amazon.de/api/np/command?deviceSerialNumber=GABCDEFGHIJ&deviceType=A3S5BH2HU6VXXX' failed: Not Found

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

	at org.openhab.binding.amazonechocontrol.internal.Connection.command(Connection.java:627) [216:org.openhab.binding.amazonechocontrol:2.3.0]

	at org.openhab.binding.amazonechocontrol.internal.Connection.playRadio(Connection.java:645) [216:org.openhab.binding.amazonechocontrol:2.3.0]

	at org.openhab.binding.amazonechocontrol.handler.EchoHandler.handleCommand(EchoHandler.java:369) [216:org.openhab.binding.amazonechocontrol:2.3.0]

	at sun.reflect.GeneratedMethodAccessor138.invoke(Unknown Source) ~[?:?]

	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]

	at java.lang.reflect.Method.invoke(Method.java:498) ~[?:?]

	at org.eclipse.smarthome.core.internal.common.AbstractInvocationHandler.invokeDirect(AbstractInvocationHandler.java:153) [101:org.eclipse.smarthome.core:0.10.0.oh230]

	at org.eclipse.smarthome.core.internal.common.InvocationHandlerSync.invoke(InvocationHandlerSync.java:59) [101:org.eclipse.smarthome.core:0.10.0.oh230]

	at com.sun.proxy.$Proxy129.handleCommand(Unknown Source) [216:org.openhab.binding.amazonechocontrol:2.3.0]

	at org.eclipse.smarthome.core.thing.internal.profiles.ProfileCallbackImpl.handleCommand(ProfileCallbackImpl.java:75) [108:org.eclipse.smarthome.core.thing:0.10.0.oh230]

	at org.eclipse.smarthome.core.thing.internal.profiles.SystemDefaultProfile.onCommandFromItem(SystemDefaultProfile.java:49) [108:org.eclipse.smarthome.core.thing:0.10.0.oh230]

	at sun.reflect.GeneratedMethodAccessor137.invoke(Unknown Source) ~[?:?]

	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]

	at java.lang.reflect.Method.invoke(Method.java:498) ~[?:?]

	at org.eclipse.smarthome.core.internal.common.AbstractInvocationHandler.invokeDirect(AbstractInvocationHandler.java:153) [101:org.eclipse.smarthome.core:0.10.0.oh230]

	at org.eclipse.smarthome.core.internal.common.Invocation.call(Invocation.java:53) [101:org.eclipse.smarthome.core:0.10.0.oh230]

	at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:?]

	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:?]

	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:?]

	at java.lang.Thread.run(Thread.java:748) [?:?]


Hi Ben,
this means that the amazon server answer with an not found http error. I hope its an temporary problem.
Kind Regards,
Michael

1 Like