Skip to content

💡 Control your LIFX bulbs from the command line or AWS Iot Button

Notifications You must be signed in to change notification settings

katydecorah/lifx

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LIFX + AWS IoT Button Build Status

Control your LIFX bulbs from the command line or AWS Iot Button.

Set up

  1. Set your LIFX Access token as an environment variable: echo "export LifxAccessToken=0000ffff0000ffff0000ffff0000ffff0000ffff" >> ~/.bash_profile
  2. Run npm install
  3. Run npm link

Commands

💡 You can find the ID (also known as a selector) for a specific bulb using the LIFX List Lights API. You can also use the lifx-get function in this repo.

Toggle light(s)

Toggles the light(s) power.

lifx-toggle --bulb=<bulb ID|all>

Example:

lifx-toggle --bulb=100010000001

This function invokes the toggleIt function in index.js.

Set light(s)

Sets the light(s) parameters to change it's current state.

lifx-set --bulb=<bulb ID|all> --color=<string> --power=<on|off> --brightness=<number> --duration=<number>

Example:

lifx-set --bulb=100010000001 --color=red --power=on --duration=1

This function invokes the setIt function in index.js.

Get light(s)

Gets the current states of the lights(s).

lifx-get --bulb=<bulb ID|all>

Example:

lifx-toggle --bulb=100010000001

This function invokes the getIt function in index.js.

AWS IoT

lifx --bulb=<bulb ID|all> --click=<SINGLE|DOUBLE|LONG>

This function invokes the handler function in index.js. You can edit this function to decide which functions are triggered by different clicks of your IoT button or change the settings in iot-settings.json.

Deploy the code to AWS

  1. Create a CloudFormation template - Follow the AWS IoT Button AWS CloudFormation Quickstart developer guide to create a CloudFormation template. Add an additional role and function to trigger the handler function in index.js (see lifx.template.json for an example).
  2. S3 - Compress this folder and upload it to S3 in the directory specified in your CloudFormation template.
  3. CloudFormation - Create a new stack, upload your template, and enter all environment variables.
  4. Click your button - Click your AWS IoT button to see your lights change. From Lambda in the AWS Console, you can access logs to check for any errors.

About

💡 Control your LIFX bulbs from the command line or AWS Iot Button

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published