README.md 2.05 KB
Newer Older
Erick Hitter's avatar
Erick Hitter committed
1 2
Dash Button SHM Controller
==========================
Erick Hitter's avatar
Erick Hitter committed
3

Erick Hitter's avatar
Erick Hitter committed
4
A node.js module to control [Samsungs SmartThings' Smart Home Monitor](https://support.smartthings.com/hc/en-us/articles/205380154-Smart-Home-Monitor) using an [Amazon Dash button](https://www.amazon.com/Dash-Buttons/b?ie=UTF8&node=10667898011) and [Home Assistant](https://home-assistant.io/).
Erick Hitter's avatar
Erick Hitter committed
5

Erick Hitter's avatar
Erick Hitter committed
6
**This library requires that SHM is accessible to Home Assistant via MQTT, as discussed [here](https://ethitter.com/2016/08/smartthings-smart-home-monitor-shm-mqtt-home-assistant/).**
Erick Hitter's avatar
Erick Hitter committed
7

Erick Hitter's avatar
Erick Hitter committed
8 9 10 11
Regardless of how many buttons are configured, only one SHM instance is controlled by any and all. I'm not sure why or how you'd have multiple SHM instances in a home anyway.

**For security reasons**, the button will only toggle between the states that apply when people are home. This button is _not_ meant to turn on the alarm on the way out the door; that still requires the Home Assistant UI or the SmartThings app. Accordingly, **when the system is "armed away," the button won't have any effect.**

Erick Hitter's avatar
Erick Hitter committed
12 13
## Prerequisties

Erick Hitter's avatar
Erick Hitter committed
14
* At least one Dash button (multiple are supported, but see above notes)
Erick Hitter's avatar
Erick Hitter committed
15 16 17
* [Home Assistant](https://home-assistant.io/)
* [SmartThings MQTT Bridge](https://github.com/stjohnjohnson/smartthings-mqtt-bridge)
* [SmartThings SHM MQTT Bridge](https://ethitter.com/2016/08/smartthings-smart-home-monitor-shm-mqtt-home-assistant/)
Erick Hitter's avatar
Erick Hitter committed
18 19 20 21 22

## Install

	npm install

Erick Hitter's avatar
Erick Hitter committed
23 24 25 26 27 28 29
### 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`.
Erick Hitter's avatar
Erick Hitter committed
30 31
1. Rename `config-sample.json` to `config.json`. Update its values to match your configuration, including the buttons discovered in the last step.
3. Start the listener with `npm start`.