rubyhue 0.0.1 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (4) hide show
  1. checksums.yaml +8 -8
  2. data/lib/rubyhue.rb +26 -1
  3. data/lib/rubyhue/huebulb.rb +28 -4
  4. metadata +2 -2
checksums.yaml CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- YTAzMmQ0Y2I4ZDdjM2IxZmI5ODY3Y2ZmMGZkYWE1Nzg4ZmE1NTJkMA==
4
+ YjMzOGIwNjYwMzBmOGU4YmU4ODlkNDgwYWQwNDliMTliOWQ5M2NiNA==
5
5
  data.tar.gz: !binary |-
6
- OWQ5OWI1ZjU2NTg1OGM2NGY4MGE0OTU5NmNmMGUxNWNlZTYzOGExOA==
6
+ YmY5ZjYwMGQxZjdkMWFkYWZiNDQ2MWE0ZWNhZjA5NmI0YTUxYzE3Nw==
7
7
  !binary "U0hBNTEy":
8
8
  metadata.gz: !binary |-
9
- NjI4YzhlZTg5ZjhiZGY3NDllODcwMmY4NjJiZmFiMDU0YTA3Yjk1OWVhMDAy
10
- ZjE1MGQyN2FlMTNhNmJjYmFhNGQ3MGRkMjI1NTYyN2VmYWEyZjM2NDdmNTlm
11
- OTMwYTc1NDc3ZDYzNDc2ZmY5YTc2MjMzYzdhYzM0MzUwZDg3MTY=
9
+ NjNkMjhmOWU3ZTY1MGRkZDgyYWVhYzFiOWY2NjU3YTU2ZmViOWFjMmE4MGRl
10
+ ZTJkOWM1OGRlZmFjNTMyYzhhOTc4ZjJlYjliOWI1ZWYxYjA5NWMyODI5OTVk
11
+ NmNhOGZkNmZmNjMxMGJlYWQ0ODlhNzc4OTkwN2Q4ZTNkZjFiMDM=
12
12
  data.tar.gz: !binary |-
13
- NDY5MDViNGNlNDU1NTk4YTkyZjQwOWViOTFiNmIyZGMxYWE0YTdlZWFkZjZh
14
- YmEyYWEyMmY0ZTk4YTY2YzZmMzNmNDQ3MWEzYjJhMTQ3NGRiOGQzMGVkOTRk
15
- MTEyYjdiYzUyOWYwYTllYTdiMmE2NGQ5NmIyYjg4OTliODZkMDQ=
13
+ NzkwZjE2NmNhZDczYmY0YTFmYmY3NDFlNjg4OWM0N2I2NDE3MWY5NmU4NGIw
14
+ Y2EwYTVjN2Y1ZWI2MWRkZjBiZDgzYjVmNzE2ZGQzMTMxNzNmNzRlZmNjZjBm
15
+ MjEzZGM0OGU4OTY3MDk1YWNhZjg1OTFmYmQ5N2Q5MTFlMzlhNmM=
data/lib/rubyhue.rb CHANGED
@@ -85,6 +85,31 @@ if __FILE__==$0
85
85
  bulbs_response.each do |id,value|
86
86
  info = client.request_bulb_info( id )
87
87
  client.add_bulb(id,info)
88
- puts client.bulbs.last.name
89
88
  end
89
+
90
+ brightness = 0
91
+ brightness_max = 254
92
+ direction = 1
93
+ stepsize = 10
94
+
95
+ while TRUE
96
+ puts "[#{Time.now}] Brightness: #{brightness}"
97
+ client.bulbs.each do |bulb|
98
+ state = HueBulbState.new
99
+ state.bri = brightness
100
+ client.set_bulb_state bulb.id, state
101
+ if brightness >= brightness_max
102
+ direction = -1
103
+ elsif brightness <= 0
104
+ direction =1
105
+ end
106
+ end
107
+ brightness += direction * stepsize
108
+ end
109
+
90
110
  end
111
+
112
+
113
+
114
+
115
+
@@ -16,15 +16,13 @@ class HueBulb
16
16
 
17
17
  end
18
18
 
19
-
20
19
  class HueBulbState
21
20
 
22
- attr_reader :on, :bri, :hue, :sat, :xy, :ct,
21
+ attr_accessor :on, :bri, :hue, :sat, :xy, :ct,
23
22
  :alert, :effect, :colormode,
24
- :reachable, :data
23
+ :reachable
25
24
 
26
25
  def initialize( data = {} )
27
- @data = data
28
26
  @on = data["on"]
29
27
  @bri = data["bri"]
30
28
  @hue = data["hue"]
@@ -37,4 +35,30 @@ class HueBulbState
37
35
  @reachable = data["reachable"]
38
36
  end
39
37
 
38
+ def bri=(value)
39
+ if value > 254
40
+ STDERR.puts "Brightness value too big, no change."
41
+ elsif value < 0
42
+ STDERR.puts "Brightness value too small, no change."
43
+ else
44
+ @bri = value
45
+ end
46
+ end
47
+
48
+ def data
49
+ {
50
+ "on" => @on,
51
+ "bri" => @bri,
52
+ "hue" => @hue,
53
+ "sat" => @sat,
54
+ "xy" => @xy,
55
+ "ct" => @ct,
56
+ "alert" => @alert,
57
+ "effect" => @effect,
58
+ "colormode" => @colormode,
59
+ "reachable" => @reachable
60
+ }
61
+ end
62
+
63
+
40
64
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rubyhue
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Brady Turner
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-08-03 00:00:00.000000000 Z
11
+ date: 2013-08-04 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: Client library for controlling Phillips Hue lights.
14
14
  email: bradyaturner@gmail.com