internal async Task StartAsync() { for (int i = 0; i < channels.Count; i++) { int oneChannel = i + 1; var channel = channels[i]; channel.PropertyChanged += (sender, args) => { switch (args.PropertyName) { case nameof(Channel.On): controller.SetLight(oneChannel, ButtonType.Mute, channel.On == 1 ? false : true); break; case nameof(Channel.FaderLevel): controller.MoveFader(oneChannel, (int)(channel.FaderLevel * 1023)); break; } }; await channel.RequestDataOnce().ConfigureAwait(false); } renewTimer.Change(TimeSpan.Zero, TimeSpan.FromSeconds(5)); }