Powered by Node.JS and a variety of types of internet-controllable lights, such as:
I wanted my kids to have a nightlight in their room that:
|Demo of button turning light on|
|Demo of button turning light off|
There is a Node.js web server that runs on the network, connects to the Philips Hue bridge, and listens on the network for some button to get pushed.
Each button gets associated with a light on the network. If the button is pushed and the light is off - the light is turned on (and a timer is started to automatically turn the light off after X minutes). If the button is pushed and the light is on - the light is turned off.
There is also a web application that sets the default color and colors during specific time periods. The web interface - in addition to showing times of button pushes - permits turning the light on with & without the timer, and turning the light off.
For the most part, it is a straight-forward Node.js application. After downloading this repo and extracting it to a directory of your choice, run:
npm install npm start
You can now access http://localhost:3000/ and view the complete interface. (On my home network, I put this on a Rapsberry Pi and set the in-house DNS to know it as "nightlight". So now babysitters and family just go to http://nightlight/ to use it.)
There are some variables that much be defined in the environment before starting the application. For your convenience, you can also stored these in a
|SITE_NAME||Shown in page header and logged with Hue bridge||Nightlight System|
|NODE_ENV||Determines if application should cache & catch uncaught errors (if set to production ), or exit||blank|
|PORT||Port app listens on||3000|
|SESSION_SECRET||How cookie data is encrypted||secret|
You'll find plenty of other great tutorials on the web about running a Node.js app as a daemon, but here are a couple:
|Desktop interface for monitor and control|
|Mobile interface for monitor and control|