Dash Button Home Assistant Controller
=====================================

A node.js module to control [Home Assistant](https://home-assistant.io/) entities via [Amazon Dash button](https://www.amazon.com/Dash-Buttons/b?ie=UTF8&node=10667898011) buttons.

## Prerequisties

* At least one Dash button (multiple are supported and can control discrete services)
* [Home Assistant](https://home-assistant.io/)

## Install

	npm install

### Dash Button Preparation 

Follow Amazon's instructions to configure your button to send messages when you push them but not actually order anything. When you get a Dash button, Amazon gives you a list of setup instructions to get going. Just follow this list of instructions, but don’t complete the final step of selecting a product to order. **Do not select a product, just exit the app**.

## Configuration

1. Discover the Dash Buttons using `node node_modules/node-dash-button/bin/findbutton`.
1. Rename `config-sample.json` to `config.json`. Update its values to match your configuration, including the buttons discovered in the last step.
1. Start the listener with `npm start`.

## FAQ

**Can I stop the incessant notifications from the Amazon app?**

The best way to do this is by blocking the button's Internet access. The button only needs to make an appearance on the network to be effective; it doesn't need to communicate outside of the local network.
 
 If, on the other hand, you only use Dash buttons as IoT devices, you can disable Dash-related noticiations by going to the Dash Button settings screen in your mobile app, proceeding into _Notification Settings_, then unselecting the _Dash Button Updates_ option.