Exemplo n.º 1
0
func ColorEffectFactory(l devices.ColorLamp) deviceapi.Effect {
	return deviceapi.EffectFunc(func(config deviceapi.Config) error {
		conf, ok := config.(*ColorConfig)
		if !ok {
			return errors.New("Not a ColorConfig")
		}
		m := color.RGBAModel
		return l.Color(m.Convert(conf.Color).(color.RGBA))
	})
}
Exemplo n.º 2
0
func SunriseEffectFactory(l devices.ColorLamp) deviceapi.Effect {
	return deviceapi.EffectFunc(func(config deviceapi.Config) error {
		sunriseConf, ok := config.(*deviceapi.DelayConfig)
		if !ok {
			return errors.New("Not a SunriseConfig")
		}

		delay, err := time.ParseDuration(sunriseConf.Delay)
		if err != nil {
			return err
		}
		return l.Sunrise(delay)
	})
}
Exemplo n.º 3
0
func ColorFadeEffect(l devices.ColorLamp) deviceapi.Effect {
	return deviceapi.EffectFunc(func(config deviceapi.Config) error {
		colorfadeConf, ok := config.(*ColorfadeConfig)
		if !ok {
			return errors.New("Not a ColorFadeConfig")
		}

		delay, err := time.ParseDuration(colorfadeConf.Delay)
		if err != nil {
			return err
		}

		m := color.RGBAModel
		return l.ColorFade(delay, m.Convert(colorfadeConf.Color).(color.RGBA))
	})
}