Skip to content
Work with Philips Hue from Ruby
Branch: master
Clone or download
Latest commit 2e9db44 Jan 4, 2018
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
bin
lib
test
.gitignore
.travis.yml
Contributing.markdown
Gemfile
LICENSE
Rakefile
Readme.markdown
Todo.markdown
hue.gemspec

Readme.markdown

Hue

Gem Version Build Status

Work with Philips Hue light bulbs from Ruby.

Installation

Add this line to your application's Gemfile:

gem 'hue'

And then execute:

$ bundle

Or install it yourself as:

$ gem install hue

Usage

The first time you use it, it will automatically create a user for you. Doing this requires you to have pushed the button on your bridge in the last 30 seconds. If you haven't it will throw an exception and let you know you need to push the button. Simply press the button and run the command again.

CLI

$ hue all on
$ hue all off
$ hue all --hue 65280 --brightness 20
$ hue light 2 on
$ hue light 2 --brightness 20

Ruby

client = Hue::Client.new

Lights

light = client.lights.first
light.on!
light.hue = 46920
light.color_temperature = 100
transition_time = 10*5 # Hue transition times are in 1/10 of a second.
light.set_state({:color_temperature => 400}, transition_time)

Groups

# Fetching
group = client.groups.first
group = client.group(1)

# Accessing group lights
group.lights.first.on!
group.lights.each { |light| light.hue = rand(Hue::Light::HUE_RANGE) }

# Creating groups
group = client.group # Don't specify an ID
group.name = "My Group"
group.lights = [3, 4] # Can specify lights by ID
group.lights = client.lights.first(2) # Or by Light objects
group.new? # => true
group.create! # Once the group is created, you can continue to customize it
group.new? # => false

# Destroying groups
client.groups.last.destroy!

Contributing

See the contributing guide.

You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.