Esempio n. 1
0
        public async Task RGBWSwitchOnAsync(MiLightGroups group)
        {
            byte[] cmd;
            switch (group)
            {
            case MiLightGroups.One:
                cmd = MiLightCommands.RGBWGroup1AllOn;
                break;

            case MiLightGroups.Two:
                cmd = MiLightCommands.RGBWGroup2AllOn;
                break;

            case MiLightGroups.Three:
                cmd = MiLightCommands.RGBWGroup3AllOn;
                break;

            case MiLightGroups.Four:
                cmd = MiLightCommands.RGBWGroup4AllOn;
                break;

            default:
                cmd = MiLightCommands.RGBWOn;
                break;
            }

            await SendCommandAsync(cmd);
        }
Esempio n. 2
0
        public async Task RGBWSetWhiteModeAsync(MiLightGroups group)
        {
            byte[] cmd;
            switch (group)
            {
            case MiLightGroups.One:
                cmd = MiLightCommands.SetColorToWhiteGroup1;
                break;

            case MiLightGroups.Two:
                cmd = MiLightCommands.SetColorToWhiteGroup2;
                break;

            case MiLightGroups.Three:
                cmd = MiLightCommands.SetColorToWhiteGroup3;
                break;

            case MiLightGroups.Four:
                cmd = MiLightCommands.SetColorToWhiteGroup4;
                break;

            default:
                cmd = MiLightCommands.SetColorToWhite;
                break;
            }

            await RGBWSwitchOnAsync(group);
            await DelayAsync();
            await SendCommandAsync(cmd);
        }
Esempio n. 3
0
        public async Task RGBWSetNightModeAsync(MiLightGroups group)
        {
            byte[] cmd;
            switch (group)
            {
            case MiLightGroups.One:
                cmd = MiLightCommands.RGBWGroup1AllNight;
                break;

            case MiLightGroups.Two:
                cmd = MiLightCommands.RGBWGroup2AllNight;
                break;

            case MiLightGroups.Three:
                cmd = MiLightCommands.RGBWGroup3AllNight;
                break;

            case MiLightGroups.Four:
                cmd = MiLightCommands.RGBWGroup4AllNight;
                break;

            default:
                cmd = MiLightCommands.RGBWOff;
                break;
            }

            await RGBWSwitchOffAsync(group);
            await DelayAsync();
            await SendCommandAsync(cmd);
        }
Esempio n. 4
0
        public async Task RGBWSetColorAsync(MiLightGroups group, byte color)
        {
            var cmd = (byte[])MiLightCommands.RGBWColor.Clone();

            cmd[1] = color;

            await RGBWSwitchOnAsync(group);
            await DelayAsync();
            await SendCommandAsync(cmd);
        }
Esempio n. 5
0
        public async Task RGBWSetBrightnessAsync(MiLightGroups group, byte level)
        {
            if (level < 0x02)
            {
                level = 0x02;
            }
            else if (level > 0x27)
            {
                level = 0x27;
            }

            var cmd = (byte[])MiLightCommands.RGBWBrightness.Clone();

            cmd[1] = level;

            await RGBWSwitchOnAsync(group);
            await DelayAsync();
            await SendCommandAsync(cmd);
        }
Esempio n. 6
0
 public async Task RGBWSetDiscoModeAsync(MiLightGroups group)
 {
     await RGBWSwitchOnAsync(group);
     await DelayAsync();
     await SendCommandAsync(MiLightCommands.RGBWDiscoMode);
 }