tuya_cloud 0.1.2 → 0.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/Gemfile.lock +1 -1
- data/lib/tuya_cloud/device.rb +33 -6
- data/lib/tuya_cloud/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 40751cb4f4344d6584b5644d3bc4b9360b8a94804cbe6dcb87ca416a03a231da
|
|
4
|
+
data.tar.gz: ec3c28f79183e894e77388933f4b8f76ad6c5ec0e028bea74be3626c6e67c80d
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 1aabdd4eb282f42728bfb9f920af6063fd147375eda33241eef129e9a976225e74004b358bf3836d29200c9ba3e160cb8a59624d9d9135957104e5de1359f3d6
|
|
7
|
+
data.tar.gz: d9d6ace1303e0637c731f51a0a4c3a53283b7fa03340ebe93099e070bd0dd664d98f8aca4370cc8e803c332edb4879f14d584ffc1bc37691774b003bfe121642
|
data/Gemfile.lock
CHANGED
data/lib/tuya_cloud/device.rb
CHANGED
|
@@ -108,11 +108,11 @@ module TuyaCloud
|
|
|
108
108
|
|
|
109
109
|
def set_color(red, green, blue)
|
|
110
110
|
raise ArgumentError unless red.is_a?(Integer) &&
|
|
111
|
-
|
|
112
|
-
|
|
111
|
+
green.is_a?(Integer) &&
|
|
112
|
+
blue.is_a?(Integer)
|
|
113
113
|
raise ArgumentError if (red.negative? || red > 255) ||
|
|
114
|
-
|
|
115
|
-
|
|
114
|
+
(green.negative? || green > 255) ||
|
|
115
|
+
(blue.negative? || blue > 255)
|
|
116
116
|
|
|
117
117
|
self.color_mode = 'colour'
|
|
118
118
|
color.from_rgb(red, green, blue)
|
|
@@ -123,15 +123,41 @@ module TuyaCloud
|
|
|
123
123
|
class ColorSetting
|
|
124
124
|
attr_accessor :saturation,
|
|
125
125
|
:brightness,
|
|
126
|
-
:hue
|
|
126
|
+
:hue,
|
|
127
|
+
:rgb
|
|
127
128
|
|
|
128
129
|
def initialize(json)
|
|
129
130
|
self.saturation = json['saturation']
|
|
130
131
|
self.brightness = json['brightness']
|
|
131
132
|
self.hue = json['hue']
|
|
133
|
+
self.rgb = from_hsb(hue, saturation, brightness)
|
|
134
|
+
end
|
|
135
|
+
|
|
136
|
+
# conversions from: https://gist.github.com/makevoid/3918299
|
|
137
|
+
def from_hsb(h, s, v)
|
|
138
|
+
h, s, v = h.to_f / 360, s.to_f / 100, v.to_f / 100
|
|
139
|
+
h_i = (h * 6).to_i
|
|
140
|
+
f = h * 6 - h_i
|
|
141
|
+
p = v * (1 - s)
|
|
142
|
+
q = v * (1 - f * s)
|
|
143
|
+
t = v * (1 - (1 - f) * s)
|
|
144
|
+
r, g, b = v, t, p if h_i == 0
|
|
145
|
+
r, g, b = q, v, p if h_i == 1
|
|
146
|
+
r, g, b = p, v, t if h_i == 2
|
|
147
|
+
r, g, b = p, q, v if h_i == 3
|
|
148
|
+
r, g, b = t, p, v if h_i == 4
|
|
149
|
+
r, g, b = v, p, q if h_i == 5
|
|
150
|
+
self.rgb = '#'\
|
|
151
|
+
"#{(r * 255).round.to_s(16).rjust(2, '0')}"\
|
|
152
|
+
"#{(g * 255).round.to_s(16).rjust(2, '0')}"\
|
|
153
|
+
"#{(b * 255).round.to_s(16).rjust(2, '0')}"
|
|
132
154
|
end
|
|
133
155
|
|
|
134
156
|
def from_rgb(r, g, b)
|
|
157
|
+
self.rgb = '#'\
|
|
158
|
+
"#{r.to_s(16).rjust(2, '0')}"\
|
|
159
|
+
"#{g.to_s(16).rjust(2, '0')}"\
|
|
160
|
+
"#{b.to_s(16).rjust(2, '0')}"
|
|
135
161
|
r /= 255.0
|
|
136
162
|
g /= 255.0
|
|
137
163
|
b /= 255.0
|
|
@@ -162,7 +188,8 @@ module TuyaCloud
|
|
|
162
188
|
def to_h
|
|
163
189
|
{ hue: hue,
|
|
164
190
|
saturation: saturation,
|
|
165
|
-
brightness: brightness
|
|
191
|
+
brightness: brightness,
|
|
192
|
+
rgb: rgb }
|
|
166
193
|
end
|
|
167
194
|
end
|
|
168
195
|
end
|
data/lib/tuya_cloud/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: tuya_cloud
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.1.
|
|
4
|
+
version: 0.1.3
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Jeremy Mercer
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2019-09-
|
|
11
|
+
date: 2019-09-27 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: bundler
|