From 48ba446936b51fffafa7c3600c0dadc6ac0e8c20 Mon Sep 17 00:00:00 2001 From: 陈嘉乐 <cjl@hdlchina.com.cn> Date: 星期五, 10 七月 2020 10:52:13 +0800 Subject: [PATCH] 2020-07-10-01 --- ZigbeeApp/Shared/Phone/UserCenter/Residence/EditorRoomInforForm.cs | 90 ++++++++++++++++++--------------------------- 1 files changed, 36 insertions(+), 54 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Residence/EditorRoomInforForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Residence/EditorRoomInforForm.cs index 79e3f4f..cd14c9d 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/Residence/EditorRoomInforForm.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/Residence/EditorRoomInforForm.cs @@ -313,6 +313,10 @@ //鍒锋柊宸︽粦鐨勬埧闂村垪琛ㄧ晫闈㈢殑鎴块棿鍒楄〃淇℃伅 MainPage.ListRoomViewFrom.Instance.RefreshListRoom(); } + + //绠椾簡,杩欓噷濡傛灉鎸変笅淇濆瓨,鍒欎富椤甸渶瑕侀噸鏂板埛鏂� + UserView.UserPage.Instance.RefreshForm = true; + this.CloseForm(); }; } @@ -420,41 +424,22 @@ { return; } - - foreach (var data in report.DeviceStatusReport.AttriBute) + var localDevice = Common.LocalDevice.Current.GetDevice(mainKeys); + HdlThreadLogic.Current.RunMain(() => { - if (data.AttributeId == (int)ZigBee.Device.AttriButeId.MeasuredValue) + if (((ZigBee.Device.TemperatureSensor)localDevice).Temperatrue == 0) { - HdlThreadLogic.Current.RunMain(() => - { - if (data.AttriButeData == 0) - { - //0鈩� - btnTemper.Text = "0.0鈩�"; - this.cloneRoom.Temperatrue = 0; - } - else if (data.AttriButeData > 32767) - { - //璐熸暟(鐗规畩澶勭悊) - string strValue = (data.AttriButeData - 65536).ToString(); - //灏忔暟鐐归渶瑕佷竴浣� - strValue = strValue.Substring(0, strValue.Length - 1); - //璁板綍娓╁害 - this.cloneRoom.Temperatrue = Convert.ToDecimal(strValue.Insert(strValue.Length - 1, ".")); - btnTemper.Text = this.cloneRoom.Temperatrue.ToString() + "鈩�"; - } - else - { - //灏忔暟鐐归渶瑕佷竴浣� - string strValue = data.AttriButeData.ToString(); - strValue = strValue.Substring(0, strValue.Length - 1); - //璁板綍娓╁害 - this.cloneRoom.Temperatrue = Convert.ToDecimal(strValue.Insert(strValue.Length - 1, ".")); - btnTemper.Text = this.cloneRoom.Temperatrue.ToString() + "鈩�"; - } - }); + //0鈩� + btnTemper.Text = "0.0鈩�"; + this.cloneRoom.Temperatrue = 0; } - } + else + { + //璁板綍娓╁害 + this.cloneRoom.Temperatrue = ((ZigBee.Device.TemperatureSensor)localDevice).Temperatrue; + btnTemper.Text = this.cloneRoom.Temperatrue.ToString() + "鈩�"; + } + }, ShowErrorMode.NO); })); //鍙戦�佽幏鍙栨俯搴︾殑鍛戒护 ((ZigBee.Device.TemperatureSensor)device).ReadTemperatureOrHumidity(); @@ -475,6 +460,10 @@ { //鑾峰彇婀垮害浼犳劅鍣� if (device is ZigBee.Device.TemperatureSensor && ((ZigBee.Device.TemperatureSensor)device).SensorDiv == 2) + { + listDevice.Add(device); + } + else if (device.Type == ZigBee.Device.DeviceType.FreshAirHumiditySensor) { listDevice.Add(device); } @@ -527,33 +516,26 @@ { return; } - foreach (var data in report.DeviceStatusReport.AttriBute) + var localDevice = Common.LocalDevice.Current.GetDevice(mainKeys); + HdlThreadLogic.Current.RunMain(() => { - if (data.AttributeId == (int)ZigBee.Device.AttriButeId.MeasuredValue) + decimal humidity = (decimal)localDevice.GetType().InvokeMember("Humidity", System.Reflection.BindingFlags.GetField, null, localDevice, null); + if (humidity == 0) { - HdlThreadLogic.Current.RunMain(() => - { - if (data.AttriButeData == 0) - { - //0 - btnHumi.Text = "0.0%"; - this.cloneRoom.Humidity = 0; - } - else - { - //灏忔暟鐐归渶瑕佷竴浣�(婀垮害娌℃湁璐熸暟) - string strValue = data.AttriButeData.ToString(); - strValue = strValue.Substring(0, strValue.Length - 1); - //璁板綍婀垮害 - this.cloneRoom.Humidity = Convert.ToDecimal(strValue.Insert(strValue.Length - 1, ".")); - btnHumi.Text = this.cloneRoom.Humidity.ToString() + "%"; - } - }); + //0 + btnHumi.Text = "0.0%"; + this.cloneRoom.Humidity = 0; } - } + else + { + //璁板綍婀垮害 + this.cloneRoom.Humidity = humidity; + btnHumi.Text = this.cloneRoom.Humidity.ToString() + "%"; + } + }, ShowErrorMode.NO); }); //鍙戦�佽幏鍙栨箍搴︾殑鍛戒护 - ((ZigBee.Device.TemperatureSensor)device).ReadTemperatureOrHumidity(); + device.GetType().InvokeMember("ReadTemperatureOrHumidity", System.Reflection.BindingFlags.InvokeMethod, null, device, null); } #endregion -- Gitblit v1.8.0