Amazon Dash Button as openHAB Trigger


do you use the latest version of the binding? I fixed a bug some days ago:

Kind regards

1 Like

Ah, ok, I now installed the latest Snapshot build 173. Now it works. Thanks!

Hey Oliver, got a problem with the dash binding, it’s trigger only sometimes and there has to be something about 15 minutes between the pressing to trigger.

Please check properties of your amazondashbutton:dashbutton:XXXX Thing and make sure that property called “Packet processing interval (in ms)” is set around 5000. Dash needs to wait some time until it stops flashing red.

Also, please check if there’s anything in openhab.log file.
If there’s an issue with the binding, you can submit an issue if there wasn’t already.

in the openhab.log is nothing about the dash button.
in the event.log is 90% of the button press only this message:
2016-12-02 20:27:35.229 [ThingUpdatedEvent ] - Thing ‘amazondashbutton:dashbutton:ac-63-XX-XX-XX-XX’ has been updated.
2016-12-02 20:27:35.849 [ThingUpdatedEvent ] - Thing ‘amazondashbutton:dashbutton:ac-63-XX-XX-XX-XX’ has been updated.

and I can’t change the “Packet Processing interval” because in the PaperUI the thing screen is empty after the header Channels

Update: Issue fixed:
I just removed the exising dash button from the things list.
That one was added using the auto discovery.
After that I added the button again manually.
I noticed that the identifier changed:
Before: "amazondashbutton:dashbutton:XX-XX-XX-XX-XX-XX:press"
After: “amazondashbutton:dashbutton:bfa71339:press”

The one I added manually is consistently recognized in the rule file.
Thanks for reading.

Happy new year everyone!

First of all: I just started a couple of days ago with OH.
My first goal is to make good use of the dash button :slight_smile:

My girlfriend can use the button downstairs and a LED notifies me upstairs in my office.

I have the German Dash button (never version I guess).
What I got so far:

  • Dash button recognized successfully and I receive the following log entry:
    [ChannelTriggeredEvent ] - amazondashbutton:dashbutton:XX-XX-XX-XX-XX-XX:press triggered

I added the rule exactly as Oliver wrote in this documentation:
rule "Dash button pressed2"
Channel “amazondashbutton:dashbutton:XX-XX-XX-XX-XX-XX:press” triggered
logInfo(“rob.rules”, “In rule lightsOn”)
println(“The Dash button has been pressed”)

My issue:
The ‘then’ part is not reached.

I verfied that the rules file is called correctly by just adding a simple one (every minute):
rule "dummy"
Time cron "0 0/1 * * * ?"
logInfo(“rob.rules”, “TimeTriggered”)

What am I missing here?

Btw: The LED (GPIO on Raspberry PI/OH server) can be triggered correctly via the UI.

OpenHab2 version: 4.0.8
Dashbutton binding: binding-amazondashbutton - 2.0.0.b5

If have a new button which does not get detected.
I found that if I use to post to the OpenHab REST API my device works for a while.

It seems that the new buttons if they cannot connect to Amazon stop working locally.
Has anyone seen this with the new buttons ?

See also my post here:

Is there any ideas on how one would be able to adapt this to work in Docker containers? I’m running OH in a container, and while I could go the route of manually installing the LibPCAP, any time the containers is updated and restarted - I will lose this functionality.

Is it possible in any way that maybe we can add in the LibPCAP to the docker install and setup? Should I be posting to that topic instead perhaps?

Open a feature request issue on the openhab-docker github.

Done! #85

Hello everyone,

can somebody help me to get dash buttons discovered in the paper ui?
I followed the binding documentation but it is not showing up in the inbox even if i press it while the binding is scanning for new devices.

If i add the device manually, the thing status is “Offline” The capturing for eth0 cannot be started. Sounds like a rights problem, but as i said i followed the whole doc.

I am running the latest OH2 snapshot and it worked before in the OH2 release, but not anymore.



same issue here.

Hello everybody,
I have installed libpcap-dev on my Synology NAS (DS216j) with optware-ng for the Amazon Dash Binding. Unfortunately setcap cap_net_bind_service on DS 6 is not supported.
Synology Support wrote:
Unfortunately the setup of Privileged Ports is not supported on our systems, since this is associated with an intervention on the system level.
Is there another way to run Pcap4J with a non-root user to my java command?
Best regards

Have you attempted/managed to get this working with openHAB2? I suspect that it’s still possible but of course not with the depreciated CMD call.

I ended up not using the Workflow app very much, so I haven’t updated it for OH2. I suspect it can still be done but with a GET call to /rest/items?[item_name]=[value] instead of the deprecated CMD endpoint.


As reference, Thing declaration

Thing <binding_id>:<type_id>:<thing_id> "Label" @ "Location" [ <parameters> ]

In the Dash Button binding documentation, the <thing_id> is shown as the button’s MAC address (using dashes). Then, the Rule uses the <thing_id> in the trigger statement.

This note regarding the Thing declaration example

(Pay attention: The mac address has to be given in two different formats)

Makes it seem like one must use the MAC address (although a strict syntax difference of using dashes must be adhered to) as the <thing_id>.

Since it is possible to use a <thing_id> of one’s own choosing rather than using the MAC address, would it make sense to change the documentation to make this possibility clearer?

I’d rather only hard code the MAC address only once. Thus I’ve chosen <thing_id> which is descriptive of the button’s automation function.



P.S. I’m happy to make this change to the documentation myself… but cannot find where and how this is done.

P.P.S. I did make several edits to the document once someone helped me with the process. I added information about the Thing definition and also information on changing the battery with the differences of the Gen 1 and Gen 2 Dash buttons all linked to the teardowns available from Matthew Petroff. Unfortunately the changes do not appear to have been accepted as the documentation has not changed online. I believe my edits were helpful, accurate, and fully detailed. I’m not sure why they were not accepted. Perhaps I did not perform the edits correctly - although once I followed the edit link, the process seemed pretty straightforward.

Hi Rob,

Did you get an answer to your question?
I can’t see anyone addressed it in this thread, and I’ve searched all over & found nothing.
I have the same issue - log entry as expected, showing the button got pressed, but the rule just doesn’t fire - not even the example given in the manual pages.
I’ve found 2 other ways of achieving it, but both outside of OH, so it’d be a real kludge, and not the right answer. Sadly if I don’t get an answer soon, then that will have to do. Not what I’d hoped.

Good luck

Lee & @RobWest,

I’d made these notes a few weeks ago when I was learning to set these up:

I’m not sure if the Thing declaration MAC syntax is case sensitive. I had the MAC in all upper case and did not appear to be working. I made some changes including changing the MAC to lower case and the button worked.

The MAC address has to be hard coded in the Thing declaration (the <thing_id> can be any string - it doesn’t have to be the MAC address). If a button has to be swapped out for a new one (e.g., when the battery dies in the old one), ONLY the Thing declaration where it is hard coded will have a new MAC address which will have to be replaced. If you use a <thing_id> of your own choosing, the trigger in your rules will not have to change.

Hope this helps in some way.


1 Like

Hi Rob,

Ahh, that’s very interesting & extremely plausible! Thanks very much.

I really wasn’t making any progress, and just getting bogged down, so I have scratched the whole thing & started again from a fresh OH install, having saved the bits which seemed to work.
While I work on that, I’m using a docker called “DashBtn” which is quick & dirty but works very reliably! It only listens for dash buttons & then executes a script when it hears one. Not very expandable but reliable & easy for everyone to use rather than finding the MQTT client & sending exactly the right string etc…

Thanks I will keep your notes in mind.