Example #1
0
        private async void LampWatcher_Added(org.allseen.LSF.ControllerService.Lamp.LampWatcher sender, AllJoynServiceInfo args)
        {
            var joinResult = await LampConsumer.JoinSessionAsync(args, sender);
            if (joinResult.Status == AllJoynStatus.Ok)
            {
                _lamp = joinResult.Consumer;
                var lamps = await _lamp.GetAllLampIDsAsync();
                foreach (var lamp in lamps.LampIDs)
                {
                    var lampModel = new LampStateViewModel(this);
                    var lampDetails = await _lamp.GetLampDetailsAsync(lamp);
                    lampModel.Id = lampDetails.LampID;
                    var lampState = await _lamp.GetLampStateAsync(lamp);
                    foreach (var stateItem in lampState.LampState)
                    {
                        if (stateItem.Key == "Brightness")
                            lampModel.Brightness = Convert.ToUInt32(stateItem.Value);
                        if (stateItem.Key == "ColorTemp")
                            lampModel.ColorTemp = Convert.ToUInt32(stateItem.Value);
                        if (stateItem.Key == "Hue")
                            lampModel.Hue = Convert.ToUInt32(stateItem.Value);
                        if (stateItem.Key == "OnOff")
                            lampModel.On = Convert.ToBoolean(stateItem.Value);
                        if (stateItem.Key == "Saturation")
                            lampModel.Saturation = Convert.ToUInt32(stateItem.Value);


                        Debug.WriteLine(string.Format("Lamp State Key: {0} Value: {1}", stateItem.Key, stateItem.Value));
                    }
                    var name = await _lamp.GetLampNameAsync(lamp, "en");
                    lampModel.Name = name.LampName;
                    Lamps.Add(lampModel);
                }

                _lamp.Signals.LampStateChangedReceived += LampStateChanged;
                //UpdateUI();
            }
        }