From 2be70a32d2a8c517bd9868fb60913fcc843e66fe Mon Sep 17 00:00:00 2001
From: 黄学彪 <hxb@hdlchina.com.cn>
Date: 星期三, 13 五月 2020 11:21:32 +0800
Subject: [PATCH] 上传代码

---
 ZigbeeApp/Shared/Common/Device.cs |   56 ++++++++++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 48 insertions(+), 8 deletions(-)

diff --git a/ZigbeeApp/Shared/Common/Device.cs b/ZigbeeApp/Shared/Common/Device.cs
index f2b398e..f7c3ede 100755
--- a/ZigbeeApp/Shared/Common/Device.cs
+++ b/ZigbeeApp/Shared/Common/Device.cs
@@ -1331,7 +1331,7 @@
         }
 
         /// <summary>
-        /// 璁剧疆銆愯澶囩被鍨嬨�戠殑鍥炬爣鍒版寚瀹氱殑鎺т欢
+        /// 璁剧疆銆愯澶囩被鍨嬨�戠殑鍥炬爣鍒版寚瀹氱殑鎺т欢(姝ゆ柟娉曚笉鑳界敤鍦ㄨ澶囧姛鑳界被鍨嬭彍鍗曠殑鍥炬爣)
         /// </summary>
         /// <param name="btnIcon">鎺т欢瀵硅薄</param>
         /// <param name="listdevice">璁惧瀵硅薄</param>
@@ -1353,7 +1353,7 @@
         }
 
         /// <summary>
-        /// 鑾峰彇銆愯澶囩被鍨嬨�戠殑鍥炬爣
+        /// 鑾峰彇銆愯澶囩被鍨嬨�戠殑鍥炬爣(姝ゆ柟娉曚笉鑳界敤鍦ㄨ澶囧姛鑳界被鍨嬭彍鍗曠殑鍥炬爣)
         /// </summary>
         /// <param name="listdevice">璁惧瀵硅薄</param>
         /// <param name="unSelectPath">鍥剧墖鍦板潃</param>
@@ -1369,13 +1369,42 @@
         }
 
         /// <summary>
-        /// 鑾峰彇銆愯澶囩被鍨嬨�戠殑鍥炬爣
+        /// 鑾峰彇銆愯澶囧姛鑳界被鍨嬨�戠殑鑿滃崟鍥炬爣
         /// </summary>
         /// <param name="specificType">鑷畾涔夎澶囩被鍨�</param>
         /// <param name="unSelectPath">鍥剧墖鍦板潃</param>
         /// <param name="selectPath">鍥剧墖鍦板潃</param>
         /// <returns></returns>
-        public void GetDeviceObjectIcon(DeviceConcreteType specificType, ref string unSelectPath, ref string selectPath)
+        public void GetDeviceFunctionTypeMenuIcon(DeviceConcreteType specificType, ref string unSelectPath, ref string selectPath)
+        {
+            //鏂伴灏忔ā鍧�
+            if (specificType == DeviceConcreteType.Relay_FangyueFreshAirModul)
+            {
+                unSelectPath = "Device/FreshAirEpoint.png";
+                selectPath = "Device/FreshAirEpointSelected.png";
+                return;
+            }
+            //PM2.5绌烘皵璐ㄩ噺浼犳劅鍣�
+            else if (specificType == DeviceConcreteType.Sensor_PMTwoPointFive)
+            {
+                unSelectPath = "Device/AirQualitySensorEpoint.png";
+                selectPath = "Device/AirQualitySensorEpointSelected.png";
+                return;
+            }
+            //涓婇潰闇�瑕佺壒娈婂鐞�
+
+            //鑾峰彇銆愯澶囩被鍨嬨�戠殑鍥炬爣
+            this.GetDeviceObjectIcon(specificType, ref unSelectPath, ref selectPath);
+        }
+
+        /// <summary>
+        /// 鑾峰彇銆愯澶囩被鍨嬨�戠殑鍥炬爣 2020.05.13:娆″嚱鏁颁笉鍐嶅叕寮�
+        /// </summary>
+        /// <param name="specificType">鑷畾涔夎澶囩被鍨�</param>
+        /// <param name="unSelectPath">鍥剧墖鍦板潃</param>
+        /// <param name="selectPath">鍥剧墖鍦板潃</param>
+        /// <returns></returns>
+        private void GetDeviceObjectIcon(DeviceConcreteType specificType, ref string unSelectPath, ref string selectPath)
         {
             //灏嗗叿浣撶被鍨嬭浆瀛楃涓�
             string strSpecific = Enum.GetName(typeof(DeviceConcreteType), specificType);
@@ -1412,6 +1441,7 @@
             unSelectPath = imageFilePath;
             selectPath = imageSelectFilePath;
         }
+
 
         #endregion
 
@@ -1817,6 +1847,14 @@
                 info.BeloneType = DeviceBeloneType.A鏂伴;
                 info.ConcreteType = DeviceConcreteType.Relay_FangyueFreshAirModul;
                 info.ObjectTypeNameId = 60011;//鏂伴
+            }
+            //15 PM2.5浼犳劅鍣ㄨ澶�
+            else if (dicType.ContainsKey(DeviceType.PMSensor) == true)
+            {
+                info.ConcreteTextId = R.MyInternationalizationString.uDeviceModelId1307;
+                info.BeloneType = DeviceBeloneType.APM2鐐�5绌烘皵璐ㄩ噺浼犳劅鍣�;
+                info.ConcreteType = DeviceConcreteType.Sensor_PMTwoPointFive;
+                info.ObjectTypeNameId = 60000;//浼犳劅鍣�
             }
 
             int value = (int)info.BeloneType;
@@ -2505,6 +2543,7 @@
                 mainDevice.DeviceEpointName = device.DeviceInfo.DeviceName;
             }
             mainDevice.CurrentGateWayId = device.CurrentGateWayId;
+            mainDevice.ZigbeeType = device.DeviceInfo.ZigbeeType;
             mainDevice.IsOnline = device.DeviceInfo.IsOnline;
             mainDevice.DriveCode = device.DeviceInfo.DriveCode;
             mainDevice.IasDeviceType = device.DeviceInfo.DeviceType;
@@ -2528,8 +2567,6 @@
             mainDevice.InClusterList.AddRange(device.DeviceInfo.InClusterList);
             mainDevice.OutClusterList.Clear();
             mainDevice.OutClusterList.AddRange(device.DeviceInfo.OutClusterList);
-            mainDevice.AttributeStatus.Clear();
-            mainDevice.AttributeStatus.AddRange(device.DeviceInfo.AttributeStatus);
 
             //濡傛灉鏄俯搴︿紶鎰熷櫒
             if (mainDevice.Type == DeviceType.TemperatureSensor)
@@ -2618,6 +2655,7 @@
             else if (deviceType == DeviceType.FreshAir) { device = new FreshAir(); }
             else if (deviceType == DeviceType.DoorLock) { device = new DoorLock(); }
             else if (deviceType == DeviceType.TemperatureSensor) { device = new TemperatureSensor(); }
+            else if (deviceType == DeviceType.PMSensor) { device = new PMSensor(); }
             else if (deviceType == DeviceType.FreshAirHumiditySensor) { device = new HumiditySensor(); }
             else if (deviceType == DeviceType.OtaDevice || deviceType == DeviceType.OtaPanelDevice) { device = new OTADevice(); }
             else { return null; }
@@ -2636,11 +2674,9 @@
         public void SetNewDeviceMainKeys(CommonDevice device, Newtonsoft.Json.Linq.JObject jobject)
         {
             //璁剧疆璁惧涓婚敭绫�
-            device.Time = jobject.Value<int>("Time");
             device.DeviceID = jobject.Value<int>("Device_ID");
             device.DeviceAddr = jobject.Value<string>("DeviceAddr");
             device.DeviceEpoint = jobject.Value<int>("Epoint");
-            device.DataID = jobject.Value<int>("Data_ID");
         }
 
         #endregion
@@ -3073,6 +3109,10 @@
         /// </summary>
         A浼犳劅鍣� = 1200,
         /// <summary>
+        /// PM2.5绌烘皵璐ㄩ噺浼犳劅鍣�
+        /// </summary>
+        APM2鐐�5绌烘皵璐ㄩ噺浼犳劅鍣� = 1307,
+        /// <summary>
         /// 缁х數鍣�(2300-2499)
         /// </summary>
         A缁х數鍣� = 2300,

--
Gitblit v1.8.0