Skip to content
control your philips hue lights like a bauce
CoffeeScript JavaScript Shell
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
script
src
test
.gitignore
.travis.yml
CHANGELOG.md
Gruntfile.js
LICENSE
README.md
index.coffee
package-lock.json
package.json

README.md

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

Variable Description
PHILIPS_HUE_HASH The generated secret hash described below.
PHILIPS_HUE_IP The 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

You can’t perform that action at this time.