lifx_dash(1) -- Toggle LIFX lights with an Amazon Dash button ============================================================= ## SYNOPSIS `lifx_dash` `monitor` -m DASH_MAC_ADDRESS -t LIFX_API_TOKEN
`lifx_dash` `snoop`
`lifx_dash` `config` ## DESCRIPTION **lifx_dash** is a simple command-line tool to monitor your network for Amazon Dash button presses and toggle LIFX lights ON and OFF. The tool provides two commands, `monitor` and `snoop`. Use `snoop` to listen for Dash presses on your network, and identify the button's MAC address. Use `monitor` (with a MAC address and LIFX HTTP API token) to respond to presses, and toggle your lights ON and OFF. You can optionally pass a bulb selector, or choose to daemonize the `monitor` process. A `config` command also exists, allowing you to set default options for `monitor` and `snoop`. ## REQUIREMENTS `lifx_dash` requires at least one LIFX bulb, and any Amazon Dash button. You will also need a wifi network and root access to sniff packets on your network adaptor. Follow Amazon's Dash button setup steps, but **stop** before choosing a product to purchase. Pressing the button should pulse white while connecting to wi-fi, then flash orange. If necessary, you can [factory reset](https://www.amazon.com/gp/help/customer/display.html?nodeId=201746400) your button and start the setup from scratch. You will also need a free LIFX API token from here: [https://cloud.lifx.com/settings](https://cloud.lifx.com/settings) ## OPTIONS The snoop command has one optional flag - the network interface to listen on. * `-i`, `--iface=arg`: Network Interface (default: en0) The `monitor` command accepts the following flags, both a mac address and api token are required. * `-m`, `--mac-address=arg`: Dash button MAC Address (required) * `-t`, `--token=arg`: LIFX HTTP API Token (required) * `-s`, `--selector=arg`: LIFX Bulb Selector (default: all) * `-i`, `--iface=arg`: Network Interface (default: en0) * `-d`, `--[no-]daemonize`: Dameonize the monitor process (default: no) * `-l`, `--log-file`: Log file location (when running as a daemon) (default: /tmp/lifx_dash.log) ## EXAMPLES Get help on command options and arguments $ lifx_dash -h $ lifx_dash monitor -h $ lifx_dash snoop --help Snoop for Dash button presses on en1 $ lifx_dash snoop en1 Monitor Dash button presses on en0 with DASH_MAC_ADDRESS and LIFX_API_TOKEN, when pressed, toggle all lights $ lifx_dash monitor -t LIFX_API_TOKEN -m DASH_MAC_ADDRESS Monitor Dash button presses on en1 with a DASH_MAC_ADDRESS and LIFX_API_TOKEN, when pressed toggle the light with id 'd3b2f2d97459' $ lifx_dash monitor --token=LIFX_API_TOKEN --mac-address=DASH_MAC_ADDRESS -s 'd3b2f2d97459' -i en1 Show the current configuration file options $ lifx_dash config -s ## FILES Use the `config` command to set values for the command options. These will be saved to: ~/.lifx_dash.rc.yml and used as defaults. They can still be overridden by any arguments passed on the command line. If running as a daemon (-d switch), the `lifx_dash monitor` command will log to `/tmp/lifx_dash.log` by default. Use the --log-file flag to override this. ## BUGS No known bugs. Please report issues here: [https://github.com/matthutchinson/lifx_dash/issues](https://github.com/matthutchinson/lifx_dash/issues) ## LICENSE The MIT License: [https://raw.githubusercontent.com/matthutchinson/lifx_dash/master/LICENSE.txt](https://raw.githubusercontent.com/matthutchinson/lifx_dash/master/LICENSE.txt) ## COPYRIGHT Copyright (c) 2016 Matthew Hutchinson ## AUTHOR Matthew Hutchinson, [https://matthewhutchinson.net](https://matthewhutchinson.net) ## SEE ALSO * [https://rubygems.org/gems/lifx_dash](https://rubygems.org/gems/lifx_dash) * [https://github.com/matthutchinson/lifx_dash](https://github.com/matthutchinson/lifx_dash) * [https://cloud.lifx.com/settings](https://cloud.lifx.com/settings) * [http://tinyurl.com/zujfkjs](http://tinyurl.com/zujfkjs)