Jibo Philips Hue
This example shows how Philips Hue can be used within Jibo to allow a person to control lights within their home. Specifically, this Jibo skill uses the node-hue-api framework written by Peter Murray to communicate with the Hue bridge.
Prerequisites
Prior to using this Jibo application, the Philips Hue bridge must already been configured and connected to the lights within your home.
In order to control rooms of lights (ex: Hey Jibo, turn on the lights in the living room), the lights first need to be placed into a group. Although the official Philips Hue app does not support this functionality, there are several alternative apps (Huemote for iOS and LampShade.io for Android) that will configure groups. Additionally, you can use the Hue API Debug Tool to setup groups.
Example Usage
When running the application, the following interactions will occur. The first time, Jibo will ask you to press the Hue bridge's pairing button. This allows him to connect to the Philips Hue bridge and should only occur once.
Turn on/off all lights
Human: Jibo, turn the lights on/off
[Jibo nods to indicate acknowledgement of the question]
[Jibo uses node-hue-api to turn on/off all lights]
Dim all lights
Human: Jibo, dim the lights
[Jibo nods to indicate acknowledgement of the question]
[Jibo uses node-hue-api to dim all lights]
Turn on/off specific lights
Human: Jibo, turn on/off the lights in the living room, bedroom, kitchen
[Jibo nods to indicate acknowledgement of the question]
[Jibo uses node-hue-api to identify the desired lights and turn them on/off]
Jibo: I've turned on/off the lights in the living room, bedroom, kitchen
Turn on all lights (night scenario)
Human: Jibo, it's getting dark
Jibo: Would you like me to turn on the lights?
Human: Yes
[Jibo nods to indicate acknowledgement of the question]
[Jibo uses node-hue-api to turn on all lights]
Jibo: Oh, that's much better!
Turn off all lights (bedtime scenario)
Human: Jibo, I'm going to bed
Jibo: Would you like me to turn off the lights in five minutes?
Human: Yes
[Jibo nods to indicate acknowledgement of the question]
[Jibo uses node-hue-api to schedule all lights off in 5 minutes]
Turn on/off all lights (scheduling scenario)
Human: Jibo, could you turn on/off the lights at 5 pm today?
[Jibo nods to indicate acknowledgement of the question]
Jibo: Certainly, I'll turn them on/off at 5 pm
[Jibo uses node-hue-api to schedule all lights on/off at 5pm]
Connect to Philips Hue bridge
[Jibo uses node-hue-api to discover it is not connected to the Hue bridge]
Jibo: Press the button on your Philips Hue bridge and I'll let you know when I'm connected.
[Human presses the Philips Hue bridge button]
[Jibo uses node-hue-api to connect to the Hue bridge]
Jibo: I am connected to your lighting system. How can I help you today?
Troubleshooting
Philips provides a bridge detection page, which will list information about the Hue bridges connected to your network. This page is very useful if Jibo is having difficulty establishing a connection with your bridge.
The Hue API Debug Tool allows you to inspect the state of your light bulbs, which includes any schedule information.