Class: Wizrb::Lighting::Products::Light

Inherits:
Shared::Products::Device show all
Defined in:
lib/wizrb/lighting/products/light.rb

Direct Known Subclasses

DimableLight, RgbLight, TunableLight

Instance Attribute Summary

Attributes inherited from Shared::Products::Device

#ip, #port, #state

Instance Method Summary collapse

Methods inherited from Shared::Products::Device

#dispatch_event, #dispatch_events, #model_config, #module_name, #power_off, #power_on, #power_switch, #reboot, #refresh, #reset, #system_config, #user_config

Constructor Details

#initialize(ip:, port: 38_899) ⇒ Light

Returns a new instance of Light.



12
13
14
# File 'lib/wizrb/lighting/products/light.rb', line 12

def initialize(ip:, port: 38_899)
  super(ip: ip, port: port, state: Wizrb::Lighting::State.new)
end

Instance Method Details

#brightness(value) ⇒ Object



20
21
22
# File 'lib/wizrb/lighting/products/light.rb', line 20

def brightness(value)
  dispatch_event(Wizrb::Lighting::Events::SetBrightnessEvent.new(value))
end

#cold_white(value) ⇒ Object



24
25
26
# File 'lib/wizrb/lighting/products/light.rb', line 24

def cold_white(value)
  dispatch_event(Wizrb::Lighting::Events::SetColdWhiteEvent.new(value))
end

#color_temp(value) ⇒ Object



28
29
30
# File 'lib/wizrb/lighting/products/light.rb', line 28

def color_temp(value)
  dispatch_event(Wizrb::Lighting::Events::SetColorTempEvent.new(value))
end

#rgb(red, green, blue) ⇒ Object



32
33
34
# File 'lib/wizrb/lighting/products/light.rb', line 32

def rgb(red, green, blue)
  dispatch_event(Wizrb::Lighting::Events::SetRgbEvent.new(red, green, blue))
end

#scene(value) ⇒ Object



44
45
46
# File 'lib/wizrb/lighting/products/light.rb', line 44

def scene(value)
  dispatch_event(Wizrb::Lighting::Events::SetSceneEvent.new(value))
end

#speed(value) ⇒ Object



36
37
38
# File 'lib/wizrb/lighting/products/light.rb', line 36

def speed(value)
  dispatch_event(Wizrb::Lighting::Events::SetSpeedEvent.new(value))
end

#warm_white(value) ⇒ Object



40
41
42
# File 'lib/wizrb/lighting/products/light.rb', line 40

def warm_white(value)
  dispatch_event(Wizrb::Lighting::Events::SetWarmWhiteEvent.new(value))
end

#white_rangeObject



16
17
18
# File 'lib/wizrb/lighting/products/light.rb', line 16

def white_range
  @white_range ||= primary_white_range || secondary_white_range || tertiary_white_range
end