Brent Saltzman


Interested in all things technology with a passion for analog, design, audio, and anything that sparks creativity and imagination.


Connecting Amazon Dash Buttons to Home Assistant (via Dasher)

Amazon Dash Buttons

Amazon recently has been having a number of sales on their Amazon Dash buttons making these little IoT devices able to be picked up for 99 cents. Using a great open source program called Dasher, you can use these buttons to control pretty much anything in Home Assistant (or any other HTTP based service!).

This post is mostly about connecting Home Assistant to Dasher. I'm assuming you've already gotten your Dash button setup accordingly to work with Dasher and have found your Dash button MAC Address. For this info head on over to the Dasher project on Github here..

So once you've got everything setup and your buttons are discoverable in Dasher. Here's how you set it up in Home Assistant. Basically we're using the Home Assistant REST API to turn on or off switches, activate scenes or scripts, and triggering automations. For more info on this and all of the great documentation click here.

Here's an example Dasher configuration for controlling a script:

{"buttons":[
  {
    "name": "Turn on Script from Dash Button",
    "address": "74:c2:46:xx:xx:xx",
    "timeout": "60000",
    "protocol": "udp",
    "url": "https://Your.HassDomain.com:8123/api/services/script/turn_on",
    "method": "POST",
    "headers": {"x-ha-access": "YourHAPassword"},
    "json": true,
    "body": {"entity_id": "script.MyDashButtonScript"}
  }
]}

Update the MAC address, Home Assistant domain, Password, and entity ID

That's all there is to it! Go ahead and copy/paste/update this for the different dash buttons you have and the various entity IDs in Home Assistant you wish to control.
You'll need to change the Service URL you're using as well. For example light for controlling a light entity. See the REST API documentation for Home Assistant for more parameters and possible services.

It should be worth pointing out that these work really great for things that are non-time sensitive and what I mean by that is actions that don't need to be triggered instantaneously. The dash buttons will take a few seconds to connect to your wifi and be discovered by Dasher, then once Dasher makes the API call, Home Assistant's part is pretty much instant as always.

Hope this helps make those Dash buttons you got more useful!

Previous Post | Next Post