public async Task ColorAsync(byte color, MLBulbGroupCode? group = null) { var cmd = (byte[])BulbCommands.Rgbw.Color.Clone(); cmd[1] = color; await SendCommandToGroupAsync(GroupCommands.RgbwOn, group); await SendCommandAsync(cmd); }
public async Task DWBrightnessFadeUpAsync(MLBulbGroupCode? group = null, int delay = 1000, CancellationToken? ct = null) { await SendCommandToGroupAsync(GroupCommands.DWOn, group); for (int i = 1; i < 10; i++) { if ((ct != null) && ct.Value.CanBeCanceled && ct.Value.IsCancellationRequested) break; await SendCommandAsync(BulbCommands.DualWhite.BrightnessUp); } }
public async Task BrightnessAsync(byte level, MLBulbGroupCode? group = null) { if (level < MLDWBulbController.MinBrightness) { level = MLDWBulbController.MinBrightness; } else if (level > MLDWBulbController.MaxBrightness) { level = MLDWBulbController.MaxBrightness; } var cmd = (byte[])BulbCommands.Rgbw.Brightness.Clone(); cmd[1] = level; await SendCommandToGroupAsync(GroupCommands.RgbwOn, group); await SendCommandAsync(cmd); }
public async Task ColorTemperatureDownAsync(MLBulbGroupCode? group = null) { await SendCommandToGroupAsync(GroupCommands.DWOn, group); await SendCommandAsync(BulbCommands.DualWhite.ColorTemperatureDown); }
public async Task BrightnessDownAsync(MLBulbGroupCode? group = null) { await SendCommandToGroupAsync(GroupCommands.DWOn, group); await SendCommandAsync(BulbCommands.DualWhite.BrightnessDown); }
public async Task FullBrightnessAsync(MLBulbGroupCode? group = null) { await SendCommandToGroupAsync(GroupCommands.DWFullBrightness, group); }
public override async Task NightModeAsync(MLBulbGroupCode? group = null) { await SendCommandToGroupAsync(GroupCommands.DWOff, group); await SendCommandToGroupAsync(GroupCommands.DWNightMode, group); }
public override async Task OnAsync(MLBulbGroupCode? group = null) { await SendCommandToGroupAsync(GroupCommands.DWOn, group); }
public MLDWBulbController(IPAddress bridgeIP, ProtocolType protocol, MLBulbGroupCode defaultGroup = MLBulbGroupCode.All) : base(bridgeIP, protocol, defaultGroup) { }
public async Task DiscoSpeedFasterAsync(MLBulbGroupCode? group = null) { await SendCommandToGroupAsync(GroupCommands.RgbwOn, group); await SendCommandAsync(BulbCommands.Rgbw.DiscoSpeedFaster); }
public async Task WhiteModeAsync(MLBulbGroupCode? group = null) { await SendCommandToGroupAsync(GroupCommands.RgbwOn, group); await SendCommandToGroupAsync(GroupCommands.RgbwWhiteMode, group); }
public override async Task OffAsync(MLBulbGroupCode? group = null) { await SendCommandToGroupAsync(GroupCommands.RgbwOff, group); }
protected async Task SendCommandToGroupAsync(MiLightGroupCommands command, MLBulbGroupCode? group = null) { switch (group.GetValueOrDefault(_defaultGroup)) { case MLBulbGroupCode.All: await SendCommandAsync(command.AllCommand, command.Repeatable); break; case MLBulbGroupCode.One: await SendCommandAsync(command.Group1Command, command.Repeatable); break; case MLBulbGroupCode.Two: await SendCommandAsync(command.Group2Command, command.Repeatable); break; case MLBulbGroupCode.Three: await SendCommandAsync(command.Group3Command, command.Repeatable); break; case MLBulbGroupCode.Four: await SendCommandAsync(command.Group4Command, command.Repeatable); break; } }
public abstract Task NightModeAsync(MLBulbGroupCode? group = null);
public abstract Task OffAsync(MLBulbGroupCode? group = null);
protected MLBulbController(IPAddress bridgeIP, ProtocolType protocol, MLBulbGroupCode defaultGroup = MLBulbGroupCode.All) { _defaultGroup = defaultGroup; _transmitter = NetTransmitterFactory.Create(protocol, new IPEndPoint(bridgeIP, BulbControlPort)); }