From 72be4f06a683de33ddd563c8447c39f7f17e5b7d Mon Sep 17 00:00:00 2001 From: 黄学彪 <hxb@hdlchina.com.cn> Date: 星期一, 06 一月 2020 13:03:50 +0800 Subject: [PATCH] 合并代码 --- ZigbeeApp/Shared/Phone/Device/CommonForm/RoomView.cs | 114 +++++++++++++++++++++++++++++++-------------------------- 1 files changed, 62 insertions(+), 52 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/Device/CommonForm/RoomView.cs b/ZigbeeApp/Shared/Phone/Device/CommonForm/RoomView.cs index dd89ea7..ee2e08c 100755 --- a/ZigbeeApp/Shared/Phone/Device/CommonForm/RoomView.cs +++ b/ZigbeeApp/Shared/Phone/Device/CommonForm/RoomView.cs @@ -24,7 +24,7 @@ Button roomListBtn; - Button temperatureText; + Button temperatureText; Button humidityText; @@ -85,55 +85,64 @@ { //return; } - + //if (common.Type == DeviceType.TemperatureSensor) //{ - if (common.DeviceStatusReport.CluterID == 1026) + if (common.DeviceStatusReport.CluterID == 1026) + { + foreach (var data in common.DeviceStatusReport.AttriBute) { - foreach (var data in common.DeviceStatusReport.AttriBute) + if (data.AttributeId == (int)ZigBee.Device.AttriButeId.MeasuredValue) { - if (data.AttributeId == (int)ZigBee.Device.AttriButeId.MeasuredValue) + if (data.AttriButeData == 0) { - if (data.AttriButeData == 0) - { - //0 - humidityText.Text = "--%"; - room.Humidity = 0; - } - else - { - //灏忔暟鐐归渶瑕佷竴浣�(婀垮害娌℃湁璐熸暟) - string strValue = data.AttriButeData.ToString(); - strValue = strValue.Substring(0, strValue.Length - 1); - humidityText.Text = strValue.Insert(strValue.Length - 1, ".") + "%"; - room.Humidity = int.Parse(strValue) * 0.1; - } + //0鈩� + temperatureText.Text = "0.0鈩�"; + room.Temperatrue = 0; + } + else if (data.AttriButeData > 32767) + { + //璐熸暟(鐗规畩澶勭悊) + string strValue = (data.AttriButeData - 65536).ToString(); + //灏忔暟鐐归渶瑕佷竴浣� + strValue = strValue.Substring(0, strValue.Length - 1); + temperatureText.Text = strValue.Insert(strValue.Length - 1, ".") + "鈩�"; + room.Temperatrue = Convert.ToDecimal(strValue.Insert(strValue.Length - 1, ".")); + } + else + { + //灏忔暟鐐归渶瑕佷竴浣� + string strValue = data.AttriButeData.ToString(); + strValue = strValue.Substring(0, strValue.Length - 1); + temperatureText.Text = strValue.Insert(strValue.Length - 1, ".") + "鈩�"; + room.Temperatrue = Convert.ToDecimal(strValue.Insert(strValue.Length - 1, ".")); } } } - else if (common.DeviceStatusReport.CluterID == 1029) + } + else if (common.DeviceStatusReport.CluterID == 1029) + { + foreach (var data in common.DeviceStatusReport.AttriBute) { - foreach (var data in common.DeviceStatusReport.AttriBute) + if (data.AttributeId == (int)ZigBee.Device.AttriButeId.MeasuredValue) { - if (data.AttributeId == (int)ZigBee.Device.AttriButeId.MeasuredValue) + if (data.AttriButeData == 0) { - if (data.AttriButeData == 0) - { - //0 - humidityText.Text = "--%"; - room.Humidity = 0; - } - else - { - //灏忔暟鐐归渶瑕佷竴浣�(婀垮害娌℃湁璐熸暟) - string strValue = data.AttriButeData.ToString(); - strValue = strValue.Substring(0, strValue.Length - 1); - humidityText.Text = strValue.Insert(strValue.Length - 1, ".") + "%"; - room.Humidity = int.Parse(strValue) * 0.1; - } + //0 + humidityText.Text = "--%"; + room.Humidity = 0; + } + else + { + //灏忔暟鐐归渶瑕佷竴浣�(婀垮害娌℃湁璐熸暟) + string strValue = data.AttriButeData.ToString(); + strValue = strValue.Substring(0, strValue.Length - 1); + humidityText.Text = strValue.Insert(strValue.Length - 1, ".") + "%"; + room.Humidity = Convert.ToDecimal(strValue.Insert(strValue.Length - 1, ".")); } } } + } //} } catch (Exception ex) @@ -204,15 +213,17 @@ var roomName = new Button() { - X = Application.GetRealWidth(5), + X = Application.GetRealWidth(29), Width = Application.GetRealWidth(190), Text = room.Name, TextColor = ZigbeeColor.Current.GXCTextWhiteColor, - TextSize=10, - IsBold=true + TextSize = 10, + TextAlignment=TextAlignment.CenterLeft, + IsBold = true }; roomNameBackground.AddChidren(roomName); - + roomNameBackground.Width = (roomName.GetTextWidth() + Application.GetRealWidth(100)) > Application.GetRealWidth(600) ? Application.GetRealWidth(600) : roomName.GetTextWidth() + Application.GetRealWidth(100); + roomName.Width = roomNameBackground.Width - Application.GetRealWidth(40); roomTemperatureBackground = new FrameLayout { @@ -239,16 +250,16 @@ { X = Application.GetRealWidth(69), Width = Application.GetRealWidth(120), - Height = Application.GetRealHeight(58), - Gravity = Gravity.CenterVertical, - Text = Math.Abs(room.Temperatrue) <= 0 ? "--鈩�" : $"{room.Temperatrue}鈩�", - TextSize=14 + Text = room.Temperatrue == 0 ? "--鈩�" : $"{room.Temperatrue}鈩�", + TextSize = 14, + TextAlignment=TextAlignment.CenterLeft }; roomTemperatureBackground.AddChidren(temperatureText); + temperatureText.Width = temperatureText.GetTextWidth() + Application.GetRealWidth(60); var humidityIcon = new Button { - X = Application.GetRealWidth(200), + X = temperatureText.Right, Width = Application.GetMinRealAverage(58), Height = Application.GetMinRealAverage(58), Gravity = Gravity.CenterVertical, @@ -258,15 +269,15 @@ humidityText = new Button { - X = Application.GetRealWidth(260), + X = humidityIcon.Right, Width = Application.GetRealWidth(120), - Height = Application.GetRealHeight(58), - Gravity = Gravity.CenterVertical, - Text = Math.Abs(room.Temperatrue) <= 0 ? "--%" : $"{room.Humidity}%", - TextSize=14 + Text = room.Humidity == 0 ? "--%" : $"{room.Humidity}%", + TextSize = 14, + TextAlignment = TextAlignment.CenterLeft }; roomTemperatureBackground.AddChidren(humidityText); - + humidityText.Width = humidityText.GetTextWidth() + Application.GetRealWidth(60); + roomTemperatureBackground.Width = (humidityText.Width + temperatureText.Width + Application.GetRealWidth(150)) > Application.GetRealWidth(600) ? Application.GetRealWidth(600) : (humidityText.Width + temperatureText.Width + Application.GetRealWidth(150)); if (string.IsNullOrEmpty(room.TemperatrueDevice) == false) { @@ -280,7 +291,6 @@ var dev = Common.LocalDevice.Current.GetDevice(room.HumidityDevice); ReadDeviceAttributeLogic.Instance.SendHumidityStatuComand(dev); } - roomListBtn = new Button() { -- Gitblit v1.8.0