[RELEASE] Amazon Dash Button

Error: Cannot find module ‘cap’

getting the same error at first load - any suggestions - thanks

1 Like

Did you run this command from the instructions?

Having this issue as well when I run sudo node server.js. I am running node v10.13.0.

Hi all,

I previously had this setup working properly on a Raspberry Pi 1 which I think is an ARMv6 processor, and want to set it up on a RPI3B+ which I think its ARMv7.

I’ve installed this version from their site, I think the right version? This may be the issue perhaps?

> nodejs is already the newest version (8.11.1~dfsg-2~bpo9+1). (this is just me running the install command again)

Strangely, on the old RPi1 when I run the apt-get install nodejs command it seems it’s not installed, well at least officially?

Anyway, when I run node server.js I get the following like I did before:

pi@NAS-Pihole:/home/STNP $ sudo node server.js
[2018-11-18T07:02:34.987Z] [stnp] SmartThings Node Proxy listening at http://:::8080
[2018-11-18T07:02:35.964Z] [stnp] Loaded plugin: dash
[2018-11-18T07:02:42.548Z] [dash] {"address":"78:e1:03:38:12:96","status":"active"}
[2018-11-18T07:02:48.742Z] [dash] {"address":"78:e1:03:38:12:96","status":"active"}

This seems to suggest node is running fine but it doesn’t seem to work? The old setup produces the exact same command line output but still works?

My config.js is in my root ST node proxy folder and is as follows (exact same as the working version on the other RPi):

  "port": 8080,
  "authCode": "secret-key",
  "dash": {
    "buttons": [
  "notify": {
    "address": "",
    "port": "39500"

One thing I did notice as per the instructions above is that there’s no dash.js from avail_plugins because that folder isn’t there? Not too sure if I’m just using the wrong version or something? I’ve looked in the ARMv7, ARMv6 and .tar ball and can’t see an avail_plugins folder?

Any help would be greatly appreciated!

Edit: totally forgot to change the IP address in the Dash Smartthings app, so it wasn’t pointing to the currently running node.

I’ve seen this thread pop up many times.
Each time, I say to myself: given that i’ve gone to significant lengths to automate and thereby eliminate the need to manually activate switches, what would I do with this thing that justifies all the effort y’all have gone to in order to make these buttons work with ST?

And I can’t come up with anything.

  1. I bought 20 buttons for $20. Can I get the same ST buttons for the same price?
  2. Everyone on here likes tinkering and messing with tech clearly, let’s be honest, that’s part of the reason you’re here too?
  3. Why bother doing anything if it may be a bit fiddly?
  4. Despite my recent easily solvable issue and was an oversight by me, I think it took me 30 mins to get these things running
1 Like

I don’t disagree with anything you’ve said. I actually want at the hobbyist level to want those buttons, to fiddle with them and do cool stuff.

But try as I might, I just can’t come up with a use case for them that’s not better solved by an automated process or by voice control. It’s just so opposite my concept of home automation.

1 Like

Does this work with the Amazon Dash Wand?

I totally understand your point, and can relate for the most part.
However, sometimes, even speaking a command to Alexa is ‘too much’ work, and I just want to click a freakin button.

I do still want the convenience of being able to quickly and easily do things without the need for getting the phone app out, but sometimes, the click of a button is actually MORE convenient than speaking a command (also, I don’t have to use a ‘wake word’ to activate my buttons).

It’s also not always practical from a privacy and/or ‘quiet-time’ perspective to have the only way of interacting with the System be through an audible command.

Can these Dash buttons be programmed to turn off/on things like Smartplugs, kick on a thermostat, etc?

There’s a big demand for physical devices which can run pre-automated scenes or routines for multiple different use cases:

  1. Guests who don’t have access to the system any other way

  2. on demand use cases which you would normally trigger by voice but you want to also be able to trigger silently without having to carry the phone around

  3. anything that You want a service dog to be able to trigger

  4. as an on-demand control for little kids

  5. As the classic “panic button” use case, whether it’s for someone who is ill, has physical challenges, those little kids again, or just to trigger the alarm system on demand

Even if you automate 90% of all the automations that happen in the home, there will still be some occasions that fall outside your pre-set parameters. And there will still be some people who either don’t have a smart phone or don’t have phone access to your system. So physical button/switches still have a purpose.

As to whether it should be this particular button with all of the complexity involved in getting it to work is an entirely different question. But choice is good. :sunglasses:

I just bought three of the Aqara buttons for $7 each.
Because a use case came up for me after all lol.

Wife wanted a light to come on in the upstairs vestibule (small hallway) when doors open. So I put a ST motion sensor on the ceiling and a smart bulb in the fixture. It works very well.

But I hate it when it comes on at night. I have great night vision, and the light coming on disturbs my sleep.

So I will be positioning one of these buttons at my bedside. Its task will be to turn off the aforementioned automation for five minutes when pressed.

Those buttons are zigbee, and therefore should not be nearly as involved to configure.


If you do the leg-work (as described above in this thread) to get them integrated, then yes; they can be used to trigger anything you want in SmartThings.

I think a little more details about how it works would be nice. I believe this project, like many similar Dash button projects, also works by listening to ARP requests from the Dash Button. But I wonder what is the benefit of using STNP instead of an ad-hoc service to listen to ARP and post the request via REST?

Kudos to @redloro – great app! One thing I noticed was that the MAC addresses in both the SmartApp and smartthings-node-proxy have to be all lower case. If it is not all lower-case in the proxy, then the proxy won’t detect the ARP probe; if it’s not all lower-case in the SmartApp, then it fails to find the associated switches to toggle. I would suggest normalize MAC addresses in both places automatically.

1 Like

@redloro It seems that if I run smartthings-nodeproxy and smartthings-mqtt-bridge at the same interface on the same machine, only the MQTT Bridge Smart App gets the button press event. Dash Button won’t do anything with the selected switch. I can get around this issue by setting the IP & MAC addresses of the MQTT Bridge DTH to a different interface (say wifi vs. wired LAN). Is there a proper solution or is this a limitation of SmartThings?

How do I install Pcap on a qnap running Node.js
The command “sudo apt-get install libpcap-dev” does not work

Error -
Sudo: apt-get: Command not found


Ok please can you enlighten me as to just exactly how to do this? Completely confused. I’ve created a virtual switch but don’t see how it could be at all associated with the dash button that resides in the smartapp since this doesn’t present itself to webcore

Curious if anyone is having issues with their dash buttons after today’s 27.6 Smartthings update. I haven’t changed any of my setup and in fact had used it earlier today just fine. I keep getting [stnp] Notify error: Error: socket hang up

Thanks for any ideas

Disregard. While everything else worked fine and not this piece. I went ahead and power cycled my hub and the the dash buttons are working again :slight_smile:

1 Like

© 2019 SmartThings, Inc. All Rights Reserved. Terms of Use | Privacy Policy

SmartThings; SmartApps®; Physical Graph; Hello, Home; and Hello, Smart Home are all trademarks of the SmartThings, Inc.