hubot-philipshue
v1.0.6
Published
Control your Philips Hue Lights from HUBOT! BAM, easy candy for the kids
Downloads
127
Readme
hubot-philipshue
This is a Hubot script package that will control your Philips Hue lights.
Dependencies
- A Local Hubot Installation
- Philips Hue Lightbulb system
- I'm using campfire to interact with my system. Other adapters should work as well.
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}
- x-y values are in the CIE Color Space
- valid x: 0.0-1.0
- valid y: 0.0-1.0
- 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