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) }) }