示例#1
0
        public IAsyncOperation <LampStateSetHueResult> SetHueAsync(AllJoynMessageInfo info, uint value)
        {
            return(
                Task.Run(() =>
            {
                _hue = value;
                switch (_hue)
                {
                case 0x00000000:            // red
                    SetColor(1);
                    break;

                case 0x55555555:            // green
                    SetColor(2);
                    break;

                case 0xAAAAAAAA:            // blue
                    SetColor(3);
                    break;

                case 0x80000000:            // cyan
                    SetColor(4);
                    break;

                case 0x78E37900:            // white
                    SetColor(5);
                    break;

                case 0x2B602B80:            // oldlace
                    SetColor(6);
                    break;

                case 0xBFFFC000:            // purple
                    SetColor(7);
                    break;

                case 0xDC70DC00:            // magenta
                    SetColor(8);
                    break;

                case 0x349F3480:            // yellow
                    SetColor(9);
                    break;

                case 0x238E2380:            // orange
                    SetColor(10);
                    break;

                case 0xD554D500:            // pink
                    SetColor(11);
                    break;

                default:
                    SetColor(0);
                    break;
                }
                SetColor(_colorCode);
                return LampStateSetHueResult.CreateSuccessResult();
            }).AsAsyncOperation());
        }
示例#2
0
        private async void Hue_ValueChanged(object sender, RangeBaseValueChangedEventArgs e)
        {
            Slider sl1 = sender as Slider;
            var    vm  = sl1.DataContext as ViewModels.AJViewBulb;

            if (vm == null)
            {
                return;
            }
            try
            {
                if (vm != null)
                {
                    foreach (DisplayLamp d in bulbs)
                    {
                        if (vm.ID.Equals(d.about.DeviceId) && vm.Name.Equals(d.about.DeviceName))
                        {
                            if (heuwait)
                            {
                                return;
                            }

                            heuwait = true;
                            uint percent = (uint)e.NewValue;
                            uint ret     = ViewModels.AJViewBulb.convertFromDegree(percent);
                            LampStateSetHueResult res = (LampStateSetHueResult)await d.consumer.SetHueAsync(ret);

                            setTimerIfPhilips(d);
                            heuwait = false;
                            return;
                        }
                    }
                }
            }
            catch (Exception ex) { }
        }