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(); } }