philips_hue 0.1.1 → 0.1.2

Sign up to get free protection for your applications and to get access to all the features.
data/README.md CHANGED
@@ -7,16 +7,16 @@ This is a library for accessing and controlling your [Philips Hue](http://www.me
7
7
  Check out [bin/example_script.rb](https://github.com/dmerrick/lights_app/blob/master/bin/example_script.rb) for an example of how to use this project and what kind of things you can do.
8
8
 
9
9
 
10
- ### Registering a New App
10
+ ### Registering with the Bridge
11
11
 
12
- You need two things to connect with your Hue, a name for your app and the IP address of the white Hue hockeypuck.
12
+ You need two things to connect with your Hue, a name for your app and the IP address of the white Hue bridge.
13
13
 
14
14
  * The IP address can be found on the Hue Community site. Login, [go here](https://www.meethue.com/en-US/user/preferencessmartbridge), click "Show me more," and find the IP under "Internal IP address." Example: `"192.168.1.14"`
15
- * The app name can be anything you like. You must register your app with the Hue by running `PhilipsHue#register!` and pressing the button on the hockeypuck. You must do this again for every new app name you create. Example: `"my light app"`
15
+ * The app name can be anything you like. You must register your app with the Hue by running `PhilipsHue#register!` and pressing the button on the bridge. You must do this again for every new app name you create. Example: `"my light app"`
16
16
 
17
17
  Full example:
18
18
  ```ruby
19
- hue = PhilipsHue.new("my light app", "192.168.1.14")
19
+ hue = PhilipsHue::Bridge.new("my light app", "192.168.1.14")
20
20
  hue.register!
21
21
  ```
22
22
 
data/bin/all_off.rb ADDED
@@ -0,0 +1,9 @@
1
+ #!/usr/bin/env ruby
2
+ require 'philips_hue'
3
+
4
+ hue = PhilipsHue::Bridge.new("lightsapp", "192.168.1.14")
5
+ light1, light2, light3 = hue.lights
6
+
7
+ light1.off!
8
+ light2.off!
9
+ light3.off!
data/bin/all_on.rb ADDED
@@ -0,0 +1,9 @@
1
+ #!/usr/bin/env ruby
2
+ require 'philips_hue'
3
+
4
+ hue = PhilipsHue::Bridge.new("lightsapp", "192.168.1.14")
5
+ light1, light2, light3 = hue.lights
6
+
7
+ light1.on!
8
+ light2.on!
9
+ light3.on!
@@ -0,0 +1,38 @@
1
+ #!/usr/bin/env ruby
2
+ # this is a basic example of what you can do with this library
3
+ require 'philips_hue'
4
+
5
+ # set up your hue app here
6
+ hue = PhilipsHue::Bridge.new("lightsapp", "192.168.1.14")
7
+
8
+ # assign each light to a variable
9
+ light1, light2, light3 = hue.lights
10
+
11
+ # print status of light1
12
+ puts light1
13
+
14
+ # true if we want to have a colorful party
15
+ looping = true
16
+
17
+ # loop pretty colors
18
+ loop do
19
+
20
+ light1.red
21
+ light2.green
22
+ light3.blue
23
+
24
+ sleep 1
25
+
26
+ light1.blue
27
+ light2.blue
28
+ light3.yellow
29
+
30
+ sleep 1
31
+
32
+ light1.yellow
33
+ light2.red
34
+ light3.red
35
+
36
+ sleep 1
37
+
38
+ end if looping
data/bin/flash.rb ADDED
@@ -0,0 +1,54 @@
1
+ #!/usr/bin/env ruby
2
+ # example: flash.rb -l 3 -t 5 -c red -n 3
3
+
4
+ require 'ostruct'
5
+ require 'optparse'
6
+ require 'philips_hue'
7
+
8
+ # set default values here
9
+ colors = { "red" => [0.6446, 0.3289],
10
+ "blue" => [0.1727, 0.0512],
11
+ "green" => [0.4034, 0.5067],
12
+ "yellow" => [0.4447, 0.4918]}
13
+
14
+ options = OpenStruct.new
15
+ options.light_id = 1
16
+ options.delay = 1
17
+ options.repeat = 1
18
+ options.color = colors["red"]
19
+ options.app_name = "lightsapp"
20
+ options.api_url = "192.168.1.14"
21
+
22
+ OptionParser.new do |opts|
23
+ opts.banner = "Usage: flash.rb [options]"
24
+ opts.on("-l [id]", Integer, "Light to flash") do |id|
25
+ options.light_id = id
26
+ end
27
+ opts.on("-c [color]", "The color to flash") do |color|
28
+ options.color = colors[color]
29
+ end
30
+ opts.on("-t [secs]", Float, "Length of flashes in seconds") do |length|
31
+ options.delay = length
32
+ end
33
+ opts.on("-n [number]", Integer, "Repeat [number] times") do |num|
34
+ options.repeat = num
35
+ end
36
+ opts.on("--app [app_name]", "The name of the registered app") do |app|
37
+ options.app_name = app
38
+ end
39
+ opts.on("--api [url]", "The address of the Hue hub") do |api|
40
+ options.api_url = api
41
+ end
42
+ end.parse!
43
+
44
+ # get everything ready...
45
+ hue = PhilipsHue::Bridge.new(options.app_name, options.api_url)
46
+ light = hue.light(options.light_id)
47
+ old_xy = light.xy
48
+
49
+ # ...make magic happen
50
+ options.repeat.times do
51
+ # flash!
52
+ light.flash(options.color, :delay => options.delay, :old_xy => old_xy)
53
+ sleep options.delay
54
+ end
data/bin/sandbox.rb ADDED
@@ -0,0 +1,11 @@
1
+ #!/usr/bin/env ruby
2
+ require 'pp'
3
+ require 'awesome_print'
4
+ require 'pry'
5
+ require 'philips_hue'
6
+
7
+ hue = PhilipsHue::Bridge.new("lightsapp", "192.168.1.14")
8
+ a, b, c = hue.lights
9
+
10
+ # open an interactive session
11
+ binding.pry
data/lib/philips_hue.rb CHANGED
@@ -2,6 +2,7 @@ require 'httparty'
2
2
  require 'digest/md5'
3
3
  require 'json'
4
4
 
5
+ require 'philips_hue/version'
5
6
  require 'philips_hue/bridge'
6
7
  require 'philips_hue/light'
7
8
 
@@ -1,5 +1,5 @@
1
1
  module PhilipsHue
2
- class PhilipsHue::Light
2
+ class Light
3
3
 
4
4
  def initialize(light_name, light_id, api_endpoint, key)
5
5
  @name = light_name
@@ -0,0 +1,3 @@
1
+ module PhilipsHue
2
+ VERSION = "0.1.2"
3
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: philips_hue
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -31,11 +31,18 @@ description: A library to control and query Philips Hue lights
31
31
  email: dana.merrick@gmail.com
32
32
  executables: []
33
33
  extensions: []
34
- extra_rdoc_files: []
34
+ extra_rdoc_files:
35
+ - README.md
35
36
  files:
36
37
  - lib/philips_hue/bridge.rb
37
38
  - lib/philips_hue/light.rb
39
+ - lib/philips_hue/version.rb
38
40
  - lib/philips_hue.rb
41
+ - bin/all_off.rb
42
+ - bin/all_on.rb
43
+ - bin/example_script.rb
44
+ - bin/flash.rb
45
+ - bin/sandbox.rb
39
46
  - README.md
40
47
  homepage: https://github.com/dmerrick/lights_app
41
48
  licenses: []