Exemple #1
0
 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);
 }
Exemple #2
0
 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);
     }
 }
Exemple #3
0
        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);
        }
Exemple #4
0
 public async Task ColorTemperatureDownAsync(MLBulbGroupCode? group = null)
 {
     await SendCommandToGroupAsync(GroupCommands.DWOn, group);
     await SendCommandAsync(BulbCommands.DualWhite.ColorTemperatureDown);
 }
Exemple #5
0
 public async Task BrightnessDownAsync(MLBulbGroupCode? group = null)
 {
     await SendCommandToGroupAsync(GroupCommands.DWOn, group);
     await SendCommandAsync(BulbCommands.DualWhite.BrightnessDown);
 }
Exemple #6
0
 public async Task FullBrightnessAsync(MLBulbGroupCode? group = null)
 {
     await SendCommandToGroupAsync(GroupCommands.DWFullBrightness, group);
 }
Exemple #7
0
 public override async Task NightModeAsync(MLBulbGroupCode? group = null)
 {
     await SendCommandToGroupAsync(GroupCommands.DWOff, group);
     await SendCommandToGroupAsync(GroupCommands.DWNightMode, group);
 }
Exemple #8
0
 public override async Task OnAsync(MLBulbGroupCode? group = null)
 {
     await SendCommandToGroupAsync(GroupCommands.DWOn, group);
 }
Exemple #9
0
 public MLDWBulbController(IPAddress bridgeIP, ProtocolType protocol, MLBulbGroupCode defaultGroup = MLBulbGroupCode.All) : base(bridgeIP, protocol, defaultGroup)
 {
 }
Exemple #10
0
 public async Task DiscoSpeedFasterAsync(MLBulbGroupCode? group = null)
 {
     await SendCommandToGroupAsync(GroupCommands.RgbwOn, group);
     await SendCommandAsync(BulbCommands.Rgbw.DiscoSpeedFaster);
 }
Exemple #11
0
 public async Task WhiteModeAsync(MLBulbGroupCode? group = null)
 {
     await SendCommandToGroupAsync(GroupCommands.RgbwOn, group);
     await SendCommandToGroupAsync(GroupCommands.RgbwWhiteMode, group);
 }
Exemple #12
0
 public override async Task OffAsync(MLBulbGroupCode? group = null)
 {
     await SendCommandToGroupAsync(GroupCommands.RgbwOff, group);
 }
Exemple #13
0
 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;
     }
 }
Exemple #14
0
 public abstract Task NightModeAsync(MLBulbGroupCode? group = null);
Exemple #15
0
 public abstract Task OffAsync(MLBulbGroupCode? group = null);
Exemple #16
0
 protected MLBulbController(IPAddress bridgeIP, ProtocolType protocol, MLBulbGroupCode defaultGroup = MLBulbGroupCode.All)
 {
     _defaultGroup = defaultGroup;
     _transmitter = NetTransmitterFactory.Create(protocol, new IPEndPoint(bridgeIP, BulbControlPort));
 }