class Milight::RgbwGroup
Constants
- BRIGHTNESS
- COLOUR
- GROUP_OFF
- GROUP_ON
- GROUP_WHITE
Attributes
commander[R]
Public Class Methods
new(commander, group, colour_helper: Milight::Colour)
click to toggle source
# File lib/milight/rgbw_group.rb, line 15 def initialize(commander, group, colour_helper: Milight::Colour) raise invalid_group_error unless valid_group? group @index = group - 1 @commander = commander @colour_helper = colour_helper end
Public Instance Methods
brightness(value)
click to toggle source
# File lib/milight/rgbw_group.rb, line 43 def brightness(value) brightness = Milight::Brightness.new(value) send_brightness_cmd brightness self end
colour(colour)
click to toggle source
# File lib/milight/rgbw_group.rb, line 49 def colour(colour) colour_value = @colour_helper.new(colour) colour_value.greyscale? ? send_white_cmd : send_colour_cmd(colour_value) send_brightness_cmd colour_value self end
hue(hue)
click to toggle source
# File lib/milight/rgbw_group.rb, line 37 def hue(hue) colour = @colour_helper.new(hue) send_colour_cmd colour self end
off()
click to toggle source
# File lib/milight/rgbw_group.rb, line 27 def off @commander.send_command GROUP_OFF[@index] self end
on()
click to toggle source
# File lib/milight/rgbw_group.rb, line 22 def on @commander.send_command GROUP_ON[@index] self end
white()
click to toggle source
# File lib/milight/rgbw_group.rb, line 32 def white send_white_cmd self end
Private Instance Methods
invalid_group_error()
click to toggle source
# File lib/milight/rgbw_group.rb, line 76 def invalid_group_error ArgumentError.new('Group must be between 1 and 4') end
select()
click to toggle source
# File lib/milight/rgbw_group.rb, line 72 def select on end
send_brightness_cmd(colour)
click to toggle source
# File lib/milight/rgbw_group.rb, line 67 def send_brightness_cmd colour select @commander.send_command BRIGHTNESS, colour.to_milight_brightness end
send_colour_cmd(colour)
click to toggle source
# File lib/milight/rgbw_group.rb, line 62 def send_colour_cmd colour select @commander.send_command COLOUR, colour.to_milight_colour end
send_white_cmd()
click to toggle source
# File lib/milight/rgbw_group.rb, line 58 def send_white_cmd @commander.send_command GROUP_WHITE[@index] end
valid_group?(value)
click to toggle source
# File lib/milight/rgbw_group.rb, line 80 def valid_group?(value) value.between?(1, 4) end