Sign Up for Free

RunKit +

Try any Node.js package right in your browser

This is a playground to test code. It runs a full Node.js environment and already has all of npm’s 400,000 packages pre-installed, including hubot-philipshue with all npm packages installed. Try it out:

require("hubot/package.json"); // hubot is a peer dependency. var hubotPhilipshue = require("hubot-philipshue")

This service is provided by RunKit and is not affiliated with npm, Inc or the package authors.

hubot-philipshue v0.0.14

Control your Philips Hue Lights from HUBOT! BAM, easy candy for the kids

hubot-philipshue

This is a Hubot script package that will control your Philips Hue lights.

Build Status

Dependencies

Uses the node-hue-api NPM package to communicate with the hue bridge.

Installation

Run the following command to make sure the module is installed to your local Hubot instance.

$ npm install hubot-philipshue --save

To enable the script, add the hubot-philipshue entry to the external-scripts.json file (you may need to create this file).

["hubot-philipshue"]

Configuration

Environment variables

VariableDescription
PHILIPS_HUE_HASHThe generated secret hash described below.
PHILIPS_HUE_IPThe IP address of your Hue Hub.
export PHILIPS_HUE_HASH="YourSecretHash"
export PHILIPS_HUE_IP="xxx.xxx.xxx.xxx"

Getting your Hue Hash

There is a two-step process to generating the credentials above.

First, press the button on your Hue Hub. This puts the device in a mode to accept new connections.

Second, make an HTTP POST request of the JSON payload below to http://YourHueHub/api. You can use the Clip API Debugger on your base station as well.

$ curl -v -H "Content-Type: application/json" -X POST 'http://YourHueHub/api' -d '{"devicetype": "YourAppName"}'

The Hub will respond with:

{"success":{"username":"YourSecretHash"}}

The username property will contain the hash key to use in the PHIPLIPS_HUE_HASH environment variable.

Troubleshooting

If you have not pressed the button on the Hue Hub you will receive an error like this:

{"error":{"type":101,"address":"/","description":"link button not pressed"}}

Press the link button on the hub and try again.

Commands:

  • hubot hue lights - list all lights
  • hubot hue light {light number} - shows light status
  • hubot hue hsb light {light number} {hue} {saturation} {brightness}
    • hue range: 0-6553
    • saturation range: 0-254
    • brightness range: 0-254
  • hubot hue xy light {light number} {x} {y}
  • hubot hue ct light {light number} {color temp}
    • color temperature values use Mired color temperature
    • color temperature range: 153-500 (153 appears 6500K, 500 appears 2000K)
  • hubot hue turn light {light number} {on|off} - flips the switch
  • hubot hue groups - lists the groups of lights
  • hubot hue config - reads bridge config
  • hubot hue {alert|alerts} light {light number} - blink once or blink for 10 seconds specific light
  • hubot hue {colors|colorloop|loop} {on|off} light {light number} - enable or disable the colorloop effect
  • hubot hue group {group name}=[{comma separated list of light indexes}]
  • hubot hue rm group {group name} - remove grouping of lights named
  • hubot hue @ <on|off> - turn all lights in on or off
  • hubot hue @{group name} hsb=({hue},{sat},{bri}) - set hsb value for all lights in group
  • hubot hue @{group name} xy=({x},{y}) - set x, y value for all lights in group
  • hubot hue @{group name} ct={color temp} - set color temp for all lights in group

Notes:

Author:

kingbin

Contributors:

stephenyeargin

bschlief

Metadata

RunKit is a free, in-browser JavaScript dev environment for prototyping Node.js code, with every npm package installed. Sign up to share your code.
Sign Up for Free