예제 #1
0
        private byte ChangeBrightness(int value)
        {
            var currentGroup = GroupDictionary[CurrentRoom.Value];

            var currentBrightness = currentGroup.Action.Brightness;
            var delta             = 5 * GetSign(value);
            var newBrightness     = currentBrightness + (byte)delta;
            var command           = new LightCommand {
                BrightnessIncrement = delta
            };

            var currentState = OnOffStateForGroups[currentGroup];

            if (!currentState)
            {
                command.On = true;
            }
            if (newBrightness <= 0)
            {
                command.On = false;
            }

            HueClient.SendGroupCommandAsync(command, currentGroup.Id);
            return((byte)newBrightness);
        }
예제 #2
0
        private bool SwitchGroupOnOff()
        {
            var currentGroup = GroupDictionary[CurrentRoom.Value];
            var currentState = OnOffStateForGroups[currentGroup];
            var newState     = !currentState;
            var command      = new LightCommand {
                On = newState
            };

            HueClient.SendGroupCommandAsync(command, currentGroup.Id);
            return(newState);
        }