Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var Brightness = &Action{ Action: "com.skynewz.yeelight.brightness", Event: []sdk.EventName{sdk.KeyUp}, Run: func(event *sdk.ReceivedEvent, light yeelight.Yeelight, s *setting) error { if s.Brightness == "" { return fmt.Errorf("invalid brightness [%s]", s.Brightness) } value, err := strconv.Atoi(s.Brightness) if err != nil { return fmt.Errorf("cannot parse brightness [%s]: %w", s.Brightness, err) } return light.SetBrightness(value) }, }
View Source
var BrightnessAdjust = &Action{ Action: "com.skynewz.yeelight.brightness.adjust", Event: []sdk.EventName{sdk.KeyUp}, Run: func(event *sdk.ReceivedEvent, light yeelight.Yeelight, s *setting) error { if s.Delta == "" { return fmt.Errorf("invalid brightness delta [%s]", s.Delta) } delta, err := strconv.Atoi(s.Delta) if err != nil { return fmt.Errorf("cannot parse brightness delta [%s]: %w", s.Delta, err) } duration := 500 if s.Duration != "" { if v, err := strconv.Atoi(s.Duration); err == nil { duration = v } } return light.AdjustBrightness(delta, duration) }, }
View Source
var Color = &Action{ Action: "com.skynewz.yeelight.color", Event: []sdk.EventName{sdk.KeyUp}, Run: func(event *sdk.ReceivedEvent, light yeelight.Yeelight, s *setting) error { if s.Color == "" { return fmt.Errorf("invalid color [%s]", s.Color) } hex, err := colors.ParseHEX(s.Color) if err != nil { return fmt.Errorf("cannot parse color [%s]: %w", s.Color, err) } return light.SetRGB(hex.ToRGB().R, hex.ToRGB().G, hex.ToRGB().B) }, }
View Source
var (
ErrMissingSettings = errors.New("missing action settings")
)
View Source
var Temperature = &Action{ Action: "com.skynewz.yeelight.temperature", Event: []sdk.EventName{sdk.KeyUp}, Run: func(event *sdk.ReceivedEvent, light yeelight.Yeelight, s *setting) error { if s.Temperature == "" { return fmt.Errorf("invalid temperature [%s]", s.Temperature) } value, err := strconv.Atoi(s.Temperature) if err != nil { return fmt.Errorf("cannot parse temperature [%s]: %w", s.Temperature, err) } return light.SetColorTemperature(value) }, }
View Source
var TemperatureAdjust = &Action{ Action: "com.skynewz.yeelight.temperature.adjust", Event: []sdk.EventName{sdk.KeyUp}, Run: func(event *sdk.ReceivedEvent, light yeelight.Yeelight, s *setting) error { if s.Delta == "" { return fmt.Errorf("invalid temperature delta [%s]", s.Delta) } delta, err := strconv.Atoi(s.Delta) if err != nil { return fmt.Errorf("cannot parse temperature delta [%s]: %w", s.Delta, err) } duration := 500 if s.Duration != "" { if v, err := strconv.Atoi(s.Duration); err == nil { duration = v } } return light.AdjustColorTemperature(delta, duration) }, }
View Source
var Toggle = &Action{ Action: "com.skynewz.yeelight.toggle", Event: []sdk.EventName{sdk.KeyUp}, Run: func(event *sdk.ReceivedEvent, light yeelight.Yeelight, _ *setting) error { var wantedState bool // off by default switch { case event.Payload.IsInMultiAction: wantedState = event.Payload.UserDesiredState == 1 default: wantedState = !(event.Payload.State == 1) } switch wantedState { case true: return light.On() case false: return light.Off() } return nil }, }
View Source
var WillAppear = &Action{ Action: "", Event: []sdk.EventName{sdk.WillAppear, sdk.DidReceiveSettings}, Run: func(event *sdk.ReceivedEvent, light yeelight.Yeelight, s *setting) error { _, err := makeYeelight(event, s) return err }, }
View Source
var WillDisappear = &Action{ Action: "", Event: []sdk.EventName{sdk.WillDisappear}, Run: func(event *sdk.ReceivedEvent, light yeelight.Yeelight, s *setting) error { lock.Lock() defer lock.Unlock() v, ok := yeelights[s.Address] if !ok || v == nil { return nil } // filter keys by removing the current disappearing one var keys = make([]string, 0) for _, k := range v.keys { if k != event.Context { keys = append(keys, k) } } if len(keys) == 0 { v.cancel() delete(yeelights, s.Address) return nil } v.keys = keys return nil }, }
Functions ¶
Types ¶
Click to show internal directories.
Click to hide internal directories.