public PhotonsViewModel(Pages.Photons page) { mainPage = page; messagesTimer = new DispatcherTimer(); messagesTimer.Tick += messagesTimer_Tick; messagesTimer.Interval = new TimeSpan(0, 0, 0, 0, HANDLE_RECEIVED_EVENTS_PERIOD_IN_MILLISECONDS); messagesTimer.Start(); IpAddress = App.Current.Resources["IpAddress"].ToString(); PortNumber = 11000; PhotonAModel = new PhotonModel(Devices.PHOTON_A); PhotonBModel = new PhotonModel(Devices.PHOTON_B); PhotonCModel = new PhotonModel(Devices.PHOTON_C); PibrellaModel = new PibrellaModel(); deviceModels.Add(new DeviceModel(Devices.PHOTON_A)); deviceModels.Add(new DeviceModel(Devices.PHOTON_B)); deviceModels.Add(new DeviceModel(Devices.PHOTON_C)); deviceModels.Add(new DeviceModel(Devices.RASPBERRY_PI_B)); deviceModels.Add(new DeviceModel(Devices.ANDROID_PHONE)); deviceModels.Add(new DeviceModel(Devices.WINDOWS_PHONE)); deviceModels.Add(new DeviceModel(Devices.WINDOWS_SURFACE)); deviceModels.Add(new DeviceModel(Devices.SERVER)); }
private void HandlePhotonsMessage(MessageEventArgs e) { PhotonModel model = SelectModel(e.FromDevice); string objectName = e.Name; string parameter = e.Parameter.ToString(); if (objectName.Equals(Photon.OBJECT_SENSOR)) { if (parameter.Equals(Photon.DATA_SENSOR_TEMPERATURE)) { model.Temperature = e.Content.ToString(); } else if (parameter.Equals(Photon.DATA_SENSOR_HUMIDITY)) { model.Humidity = e.Content.ToString(); } } else if (objectName.Equals(Photon.OBJECT_BOARD_LED)) { model.BoardLED = e.Content.ToString().Equals(Photon.CONTENT_LED_STATUS_ON); } else if (objectName.Equals(Photon.OBJECT_RGB_LED)) { if (parameter.Equals(Photon.DATA_RGB_RED)) { model.RGBRed = Int32.Parse(e.Content.ToString()); } else if (parameter.Equals(Photon.DATA_RGB_GREEN)) { model.RGBGreen = Int32.Parse(e.Content.ToString()); } else if (parameter.Equals(Photon.DATA_RGB_BLUE)) { model.RGBBlue = Int32.Parse(e.Content.ToString()); } } else if (objectName.Equals(Photon.OBJECT_GREEN_LED)) { model.GreenLED = e.Content.ToString().Equals(Photon.CONTENT_LED_STATUS_ON); } else if (objectName.Equals(Photon.OBJECT_RED_LED)) { model.RedLED = e.Content.ToString().Equals(Photon.CONTENT_LED_STATUS_ON); } }