| | |
| | | |
| | | this.room = r; |
| | | |
| | | this.temperDevice = Common.LocalDevice.Current.GetDevice(room.TemperatrueDevice); |
| | | this.temperDevice = HdlDeviceCommonLogic.Current.GetDevice(room.TemperatrueDevice); |
| | | |
| | | this.humidDevice = Common.LocalDevice.Current.GetDevice(room.HumidityDevice); |
| | | this.humidDevice = HdlDeviceCommonLogic.Current.GetDevice(room.HumidityDevice); |
| | | |
| | | var roomBackView = new FrameLayout() |
| | | { |
| | |
| | | TextSize = 14, |
| | | TextAlignment = TextAlignment.CenterLeft |
| | | }; |
| | | if (LocalDevice.Current.GetDevice(room.TemperatrueDevice) != null) |
| | | if (this.temperDevice != null) |
| | | { |
| | | //这个设备要存在本地才行 |
| | | temperatureText.Text = room.Temperatrue == 0 ? "0.0℃" : room.Temperatrue.ToString() + "℃"; |
| | | decimal temperatrue = (decimal)temperDevice.GetType().InvokeMember("currentTemperature", System.Reflection.BindingFlags.GetField, null, temperDevice, null); |
| | | temperatureText.Text = temperatrue == 0 ? "0.0℃" : temperatrue.ToString() + "℃"; |
| | | } |
| | | roomTemperatureBackground.AddChidren(temperatureText); |
| | | temperatureText.Width = temperatureText.GetTextWidth() + Application.GetRealWidth(60); |
| | |
| | | TextSize = 14, |
| | | TextAlignment = TextAlignment.CenterLeft |
| | | }; |
| | | if (LocalDevice.Current.GetDevice(room.HumidityDevice) != null) |
| | | |
| | | if (this.humidDevice != null) |
| | | { |
| | | //这个设备要存在本地才行 |
| | | humidityText.Text = room.Humidity == 0 ? "0.0%" : room.Humidity.ToString() + "%"; |
| | | decimal humidity = (decimal)humidDevice.GetType().InvokeMember("currentHumidity", System.Reflection.BindingFlags.GetField, null, humidDevice, null); |
| | | humidityText.Text = humidity == 0 ? "0.0%" : humidity.ToString() + "%"; |
| | | } |
| | | roomTemperatureBackground.AddChidren(humidityText); |
| | | humidityText.Width = humidityText.GetTextWidth() + Application.GetRealWidth(60); |
| | |
| | | if (string.IsNullOrEmpty(room.TemperatrueDevice) == false) |
| | | { |
| | | //发送获取温度的命令 |
| | | var dev = Common.LocalDevice.Current.GetDevice(room.TemperatrueDevice); |
| | | var dev = HdlDeviceCommonLogic.Current.GetDevice(room.TemperatrueDevice); |
| | | HdlDeviceAttributeLogic.Current.SendTemperatureStatuComand(dev); |
| | | } |
| | | |
| | | if (string.IsNullOrEmpty(room.HumidityDevice) == false) |
| | | { |
| | | var dev = Common.LocalDevice.Current.GetDevice(room.HumidityDevice); |
| | | var dev = HdlDeviceCommonLogic.Current.GetDevice(room.HumidityDevice); |
| | | HdlDeviceAttributeLogic.Current.SendHumidityStatuComand(dev); |
| | | } |
| | | |
| | |
| | | { |
| | | HdlThreadLogic.Current.RunMain(() => |
| | | { |
| | | if (((TemperatureSensor)temperDevice).Temperatrue == 0) |
| | | decimal temperatrue = (decimal)temperDevice.GetType().InvokeMember("currentTemperature", System.Reflection.BindingFlags.GetField, null, temperDevice, null); |
| | | if (temperatrue == 0) |
| | | { |
| | | temperatureText.Text = "0.0℃"; |
| | | } |
| | | else |
| | | { |
| | | temperatureText.Text = ((TemperatureSensor)temperDevice).Temperatrue + "℃"; |
| | | temperatureText.Text = temperatrue + "℃"; |
| | | } |
| | | }, ShowErrorMode.NO); |
| | | } |
| | |
| | | { |
| | | HdlThreadLogic.Current.RunMain(() => |
| | | { |
| | | if (((TemperatureSensor)temperDevice).Humidity == 0) |
| | | decimal humidity = (decimal)humidDevice.GetType().InvokeMember("currentHumidity", System.Reflection.BindingFlags.GetField, null, humidDevice, null); |
| | | if (humidity == 0) |
| | | { |
| | | humidityText.Text = "--%"; |
| | | } |
| | | else |
| | | { |
| | | humidityText.Text = ((TemperatureSensor)temperDevice).Humidity + "%"; |
| | | humidityText.Text = humidity + "%"; |
| | | } |
| | | }, ShowErrorMode.NO); |
| | | } |