From f1c3921b08bb22ac6f5db22d620e01d7e8e5c49f Mon Sep 17 00:00:00 2001
From: WJC <wjc@hdlchina.com.cn>
Date: 星期一, 30 十二月 2019 13:32:33 +0800
Subject: [PATCH] 2019-12-30-1

---
 ZigbeeApp/Shared/Phone/UserView/UserPage.cs |   67 ++++++++++++++++++++++-----------
 1 files changed, 45 insertions(+), 22 deletions(-)

diff --git a/ZigbeeApp/Shared/Phone/UserView/UserPage.cs b/ZigbeeApp/Shared/Phone/UserView/UserPage.cs
index 8d00507..68d4804 100755
--- a/ZigbeeApp/Shared/Phone/UserView/UserPage.cs
+++ b/ZigbeeApp/Shared/Phone/UserView/UserPage.cs
@@ -91,14 +91,12 @@
                                     return;
                                 }
                                 onOffOutputLight.OnOffStatus = onOffOutputLight.DeviceStatusReport.AttriBute[0].AttriButeData;
-                                //璁板綍鍥炲鏃堕棿
                                 onOffOutputLight.LastDateTime = DateTime.Now;
                             }
                             //褰揅luterID=3,灏辫瘉鏄庤璁惧鍦ㄧ嚎锛岀洿鎺ユ爣璁�
                             if (common.DeviceStatusReport.CluterID == 3)
                             {
                                 myDevice.IsOnline = 1;
-                                //璁板綍鍥炲鏃堕棿
                                 myDevice.LastDateTime = DateTime.Now;
                             }
                             break;
@@ -109,13 +107,11 @@
                             {
                                 var airSwitch = (AirSwitch)myDevice;
                                 airSwitch.DeviceStatusReport = common.DeviceStatusReport;
-                                //璁板綍銆佹洿鏂扮姸鎬�
                                 if (airSwitch.DeviceStatusReport.AttriBute == null || airSwitch.DeviceStatusReport.AttriBute.Count == 0)
                                 {
                                     return;
                                 }
                                 airSwitch.OnOffStatus = airSwitch.DeviceStatusReport.AttriBute[0].AttriButeData;
-                                //璁板綍鍥炲鏃堕棿
                                 airSwitch.LastDateTime = DateTime.Now;
 
                             }
@@ -123,7 +119,6 @@
                             if (common.DeviceStatusReport.CluterID == 3)
                             {
                                 myDevice.IsOnline = 1;
-                                //璁板綍鍥炲鏃堕棿
                                 myDevice.LastDateTime = DateTime.Now;
                             }
                             break;
@@ -149,7 +144,6 @@
                             if (common.DeviceStatusReport.CluterID == 3)
                             {
                                 myDevice.IsOnline = 1;
-                                //璁板綍鍥炲鏃堕棿
                                 myDevice.LastDateTime = DateTime.Now;
                             }
                             break;
@@ -165,47 +159,75 @@
                                 {
                                     return;
                                 }
+                                //姝ゅ睘鎬ц〃鏄庡鍐呭綋鍓嶇殑娓╁害 * 100锛屽疄闄呮俯搴︿负鈥淟ocalTemperature / 100鈥濓紝鍗曚綅锛氣剝
+                                var curTemp = (attriButeList[0].AttriButeData / 100 < ACControlBase.Temperature_High || attriButeList[0].AttriButeData / 100 > ACControlBase.Temperature_Low) ? attriButeList[0].AttriButeData / 100 : ACControlBase.Temperature_Default;
                                 switch (attriButeList[0].AttributeId)
                                 {
                                     case 0:
-                                        //姝ゅ睘鎬ц〃鏄庡鍐呭綋鍓嶇殑娓╁害 * 100锛屽疄闄呮俯搴︿负鈥淟ocalTemperature / 100鈥濓紝鍗曚綅锛氣剝
-                                        ac.currentLocalTemperature = attriButeList[0].AttriButeData / 100;
+                                        ac.currentLocalTemperature = curTemp;
                                         ac.LastDateTime = DateTime.Now;
                                         break;
 
                                     case 17:
-                                        //姝ゅ睘鎬ц〃鏄庢璁惧褰撳墠鐨勫埗鍐锋俯搴︼紝瀹為檯娓╁害涓衡�淐oolingSetpoint / 100鈥濓紝鍗曚綅锛氣剝銆�
-                                        ac.currentCoolingSetpoint = attriButeList[0].AttriButeData / 100;
+                                        ac.currentCoolingSetpoint = curTemp;
                                         ac.LastDateTime = DateTime.Now;
                                         break;
 
                                     case 18:
-                                        //姝ゅ睘鎬ц〃鏄庢璁惧褰撳墠鐨勫埗鐑俯搴︼紝瀹為檯娓╁害涓衡�淗eatingSetpoint / 100鈥濓紝鍗曚綅锛氣剝銆�
-                                        ac.currentHeatingSetpoint = attriButeList[0].AttriButeData / 100;
+                                        ac.currentHeatingSetpoint = curTemp;
                                         ac.LastDateTime = DateTime.Now;
                                         break;
 
                                     case 4096:
-                                        //姝ゅ睘鎬ц〃鏄庢璁惧褰撳墠鐨勮嚜鍔ㄦ俯搴︼紝瀹為檯娓╁害涓衡�淎utoSetpoint / 100鈥濓紝鍗曚綅锛氣剝銆�
-                                        ac.currentAutoSetpoint = (attriButeList[0].AttriButeData / 100 > ACControlBase.Temperature_High || attriButeList[0].AttriButeData / 100 < ACControlBase.Temperature_Low) ? attriButeList[0].AttriButeData / 100 : ACControlBase.Temperature_Default;
+                                        ac.currentAutoSetpoint = curTemp;
                                         ac.LastDateTime = DateTime.Now;
                                         break;
 
                                     case 28:
-                                        //姝ゅ睘鎬ф弿杩版亽娓╄澶囨澶勪簬鍝妯″紡
-                                        //Off = 0  Auto = 1 Cool = 3 Heat = 4 FanOnly = 7  Dry = 8
                                         ac.currentSystemMode = attriButeList[0].AttriButeData;
                                         ac.LastDateTime = DateTime.Now;
                                         break;
+                                    case 4099:
+                                        var value = Convert.ToString(attriButeList[0].AttriButeData, 2).PadLeft(16, '0');
+                                        var modeStr = value.Substring(value.Length - 5, 5);
+                                        for (int j = 0; j < modeStr.Length; j++)
+                                        {
+                                            ac.listSupportMode[j] = Convert.ToInt32(modeStr[j]) == 49 ? 1 : 0;
+                                        }
+                                        break;
+
+                                    case 4097:
+                                        ac.CleanStatu = attriButeList[0].AttriButeData == 42;
+                                        break;
+                                }
+                            }
 
+                            if (common.DeviceStatusReport.CluterID == 514)
+                            {
+                                var ac = (AC)myDevice;
+                                var attriButeList = common.DeviceStatusReport.AttriBute;
+                                if (attriButeList == null || attriButeList.Count == 0)
+                                {
+                                    return;
                                 }
-
+                                ac.DeviceStatusReport = common.DeviceStatusReport;
+                                switch (attriButeList[0].AttributeId)
+                                {
+                                    case 0:
+                                        ac.currentFanMode = attriButeList[0].AttriButeData;
+                                        ac.LastDateTime = DateTime.Now;
+                                        break;
+                                    case 4096:
+                                        ac.currentFanSwingMode = attriButeList[0].AttriButeData;
+                                        ac.LastDateTime = DateTime.Now;
+                                        break;
+                                }
                             }
+
                             //褰揅luterID=3,灏辫瘉鏄庤璁惧鍦ㄧ嚎锛岀洿鎺ユ爣璁�
                             if (common.DeviceStatusReport.CluterID == 3)
                             {
                                 myDevice.IsOnline = 1;
-                                //璁板綍鍥炲鏃堕棿
                                 myDevice.LastDateTime = DateTime.Now;
                             }
                             break;
@@ -223,7 +245,6 @@
                                     return;
                                 }
                                 dimmableLight.OnOffStatus = dimmableLight.DeviceStatusReport.AttriBute[0].AttriButeData;
-                                //璁板綍鍥炲鏃堕棿
                                 dimmableLight.LastDateTime = DateTime.Now;
                             }
                             //浜害
@@ -239,7 +260,6 @@
                                 switch (attriButeList[0].AttributeId)
                                 {
                                     case 0:
-                                        //姝ゅ睘鎬ц〃鏄庡綋鍓嶄寒搴︾▼搴�
                                         dimmableLight.Level = attriButeList[0].AttriButeData;
                                         dimmableLight.LastDateTime = DateTime.Now;
                                         break;
@@ -249,7 +269,6 @@
                             if (common.DeviceStatusReport.CluterID == 3)
                             {
                                 myDevice.IsOnline = 1;
-                                //璁板綍鍥炲鏃堕棿
                                 myDevice.LastDateTime = DateTime.Now;
                             }
                             break;
@@ -470,15 +489,18 @@
             if (sender == Instance.homePageIMG || sender == Instance.homePageName)
             {
                 //涓婚〉
+                CommonPage.Instance.IsDrawerLockMode = false;
                 Instance.homePageName.IsSelected = true;
                 Instance.homePageIMG.IsSelected = true;
                 var home = new UserHomeView { };
                 Instance.BodyView.AddChidren(home);
                 home.Show();
+                
             }
             else if (sender == Instance.categoryIMG || sender==Instance.categoryName)
             {
                 //鍒嗙被
+                CommonPage.Instance.IsDrawerLockMode = true;
                 Instance.categoryName.IsSelected = true;
                 Instance.categoryIMG.IsSelected = true;
                 var category = new Phone.Device.Category.Category { };
@@ -487,7 +509,8 @@
             }
             else if (sender == Instance.settingIMG || sender==Instance.settingName)
             {
-                 //涓汉涓績
+                //涓汉涓績
+                CommonPage.Instance.IsDrawerLockMode = true;
                 Instance.settingName.IsSelected = true;
                 Instance.settingIMG.IsSelected = true;
                 var form = new UserCenter.UserMain.UserMainForm();

--
Gitblit v1.8.0