If you start down the road of home automation you’ll quickly discover that if you don’t do a bit of DIY, things get expensive pretty quickly. Somebody reverse engineered the Amazon Dash buttons to figure out how to detect when they’re broadcasting. By default you press the button and it calls out to Amazon and orders whatever you’ve selected that you’d like to order using the button.

Enter Dasher.

It works by listening for ARP requests on your network and when it finds one it’s configured to know about it performs the associated action

  {
    "name": "Bai Button",
    "address": "{mac address of button}",
    "interface": "eno1",
    "timeout": "60000",
    "url": "https://{hass instance}/api/services/homeassistant/turn_on",
    "method": "POST",
    "headers": {"x-ha-access": "{api password}"},
    "json": true,
    "body": {"entity_id": "input_boolean.flonase_taken"}
  }

Amazon recently came out with an IOT button but it’s bound to their AWS stuff and it costs $20! With a little bit of work the regular Dash Buttons work just as well.