From fa6bcb2e9907772480f99205f36ec2a1ce735a22 Mon Sep 17 00:00:00 2001
From: 黄学彪 <hxb@hdlchina.com.cn>
Date: 星期四, 09 一月 2020 14:11:07 +0800
Subject: [PATCH] 合并代码

---
 ZigbeeApp/Shared/Common/Device.cs |  197 ++++++++++++++++++++++++++++---------------------
 1 files changed, 112 insertions(+), 85 deletions(-)

diff --git a/ZigbeeApp/Shared/Common/Device.cs b/ZigbeeApp/Shared/Common/Device.cs
index 1a25f6f..4a805f6 100755
--- a/ZigbeeApp/Shared/Common/Device.cs
+++ b/ZigbeeApp/Shared/Common/Device.cs
@@ -223,20 +223,19 @@
         #region 鈻� 娣诲姞璁惧___________________________
 
         /// <summary>
-        /// 灏嗘寚瀹氱綉鍏崇殑璁惧瀛樺叆缂撳瓨涓�(浠庢柊鑾峰彇闀滃儚)
+        /// <para>灏嗘寚瀹氱綉鍏崇殑璁惧瀛樺叆缂撳瓨涓�(浠庢柊鑾峰彇闀滃儚)</para>
+        /// <para>-1:寮傚父 1:姝e父 2:璁惧淇℃伅缂烘崯</para>
         /// </summary>
         /// <param name="zbGateway">缃戝叧瀵硅薄</param>
-        /// <param name="deviceComingAction">鎺ユ敹鍒拌澶囨椂鐨勪簨浠�,璁惧瀵硅薄涓簄ull鏃�,浠h〃鎺ユ敹瀹屾垚</param>
-        /// <returns>涓�鐩磋繑鍥瀟rue</returns>
-        public bool SetDeviceToMemmoryByGateway(ZbGateway zbGateway, Action<CommonDevice> deviceComingAction = null)
+        public int SetDeviceToMemmoryByGateway(ZbGateway zbGateway)
         {
             //浠庣綉鍏宠幏鍙栧叏閮ㄧ殑璁惧
+            int statu = 0;
             List<CommonDevice> listDevice = new List<CommonDevice>();
-            List<CommonDevice> list = this.GetDeviceListFromGateway(zbGateway, true, deviceComingAction);
-
+            List<CommonDevice> list = this.GetDeviceListFromGateway(zbGateway, ref statu, true);
             if (list == null)
             {
-                return false;
+                return -1;
             }
             listDevice.AddRange(list);
 
@@ -301,14 +300,17 @@
                 }
             }
 
-            //濡傛灉鏈湴鍜岀綉鍏崇殑璁惧涓嶄竴鑷寸殑鏃跺�欙紝鏆傛椂鍒犻櫎鏈湴鐨勮澶�
-            //娉ㄦ剰锛氬彧鏄垹闄よ澶囨枃浠讹紝鎴块棿鍐呭浠�涔堢殑杩樺瓨鍦ㄧ潃
-            foreach (var device in dicExist.Values)
+            //鍙湁瀹屽叏鑾峰彇鐨勬椂鍊�,鎵嶄細鍘诲鐞嗗垹闄ょ殑闂
+            if (statu == 1)
             {
-                this.DeleteMemmoryDevice(device, false);
+                //濡傛灉鏈湴鍜岀綉鍏崇殑璁惧涓嶄竴鑷寸殑鏃跺�欙紝鍒犻櫎鏈湴鐨勮澶�
+                foreach (var device in dicExist.Values)
+                {
+                    this.DeleteMemmoryDevice(device, true);
+                }
             }
 
-            return true;
+            return statu;
         }
 
         /// <summary>
@@ -547,6 +549,8 @@
             {
                 //浠庢埧闂翠腑鍒犻櫎
                 Room.CurrentRoom.DeleteDevice(device);
+                //鍒犻櫎鎴戠殑鍠滅埍鐨勮澶�
+                Room.CurrentRoom.DeleteLoveDevice(device);
             }
 
             //鍒犻櫎缂撳瓨
@@ -1046,10 +1050,21 @@
         /// <param name="listdevice">璁惧瀵硅薄</param>
         public void SetRealDeviceIconToControl(Button btnIcon, List<CommonDevice> listdevice)
         {
+            //鑾峰彇璁惧鐨勭湡瀹炲浘鐗�
+            string imagePath = this.GetRealDeviceIcon(listdevice);
+            btnIcon.UnSelectedImagePath = imagePath;
+        }
+
+        /// <summary>
+        /// 鑾峰彇璁惧鐨勭湡瀹炲浘鐗�
+        /// </summary>
+        /// <param name="listdevice">璁惧瀵硅薄</param>
+        public string GetRealDeviceIcon(List<CommonDevice> listdevice)
+        {
             //鑾峰彇瀹冨睘浜庝粈涔堢被鍨嬬殑璁惧
             var myDeviceType = this.GetMyDeviceEnumInfo(listdevice);
             string strConcrete = Enum.GetName(typeof(DeviceConcreteType), myDeviceType.ConcreteType);
-            
+
             //鍥剧墖鍏辨湁
             if (this.dicPictrueShard.ContainsKey(strConcrete) == true)
             {
@@ -1067,7 +1082,7 @@
                 if (arry.Length == 1)
                 {
                     //濡傛灉瀹冭嚜宸卞氨鏄叡閫氬浘鐗囩殑璇濓紝涓嶅啀澶勭悊
-                    return;
+                    return "RealDevice/CommonDevice.png";
                 }
                 imageFilePath = "RealDevice/" + arry[0] + ".png";
                 //濡傛灉瀹冭嚜宸辩殑鍏遍�氬浘鐗囪繕鏄笉瀛樺湪鐨勮瘽,鍒欑洿鎺ヤ娇鐢ㄦ墍鏈夎澶囩殑鍏遍�氬浘鐗�
@@ -1076,16 +1091,16 @@
                     imageFilePath = "RealDevice/CommonDevice.png";
                 }
             }
-            btnIcon.UnSelectedImagePath = imageFilePath;
+            return imageFilePath;
         }
 
         /// <summary>
-        /// 璁剧疆銆愯澶囨墍灞炵被鍨嬨�戠殑鍥炬爣鍒版寚瀹氱殑鎺т欢
+        /// 璁剧疆銆愯澶囩被鍨嬨�戠殑鍥炬爣鍒版寚瀹氱殑鎺т欢
         /// </summary>
         /// <param name="btnIcon">鎺т欢瀵硅薄</param>
         /// <param name="listdevice">璁惧瀵硅薄</param>
         /// <returns></returns>
-        public void SetDeviceBeloneIconToControl(Button btnIcon, List<CommonDevice> listdevice)
+        public void SetDeviceObjectIconToControl(Button btnIcon, List<CommonDevice> listdevice)
         {
             //鑾峰彇鑷畾涔夎澶囩被鍨�
             var myDeviceType = this.GetMyDeviceEnumInfo(listdevice);
@@ -1093,8 +1108,8 @@
             string imageUnSelectFilePath = string.Empty;
             string imageSelectFilePath = string.Empty;
 
-            //鑾峰彇銆愯澶囨墍灞炵被鍨嬨�戠殑鍥炬爣
-            this.GetDeviceBeloneIcon(myDeviceType.ConcreteType, ref imageUnSelectFilePath, ref imageSelectFilePath);
+            //鑾峰彇銆愯澶囩被鍨嬨�戠殑鍥炬爣
+            this.GetDeviceObjectIcon(myDeviceType.ConcreteType, ref imageUnSelectFilePath, ref imageSelectFilePath);
 
             //璁剧疆鍥剧墖
             btnIcon.UnSelectedImagePath = imageUnSelectFilePath;
@@ -1102,29 +1117,29 @@
         }
 
         /// <summary>
-        /// 鑾峰彇銆愯澶囨墍灞炵被鍨嬨�戠殑鍥炬爣
+        /// 鑾峰彇銆愯澶囩被鍨嬨�戠殑鍥炬爣
         /// </summary>
         /// <param name="listdevice">璁惧瀵硅薄</param>
         /// <param name="unSelectPath">鍥剧墖鍦板潃</param>
         /// <param name="selectPath">鍥剧墖鍦板潃</param>
         /// <returns></returns>
-        public void GetDeviceBeloneIcon(List<CommonDevice> listdevice, ref string unSelectPath, ref string selectPath)
+        public void GetDeviceObjectIcon(List<CommonDevice> listdevice, ref string unSelectPath, ref string selectPath)
         {
             //鑾峰彇鑷畾涔夎澶囩被鍨�
             var myDeviceType = this.GetMyDeviceEnumInfo(listdevice);
 
-            //鑾峰彇銆愯澶囨墍灞炵被鍨嬨�戠殑鍥炬爣
-            this.GetDeviceBeloneIcon(myDeviceType.ConcreteType, ref unSelectPath, ref selectPath);
+            //鑾峰彇銆愯澶囩被鍨嬨�戠殑鍥炬爣
+            this.GetDeviceObjectIcon(myDeviceType.ConcreteType, ref unSelectPath, ref selectPath);
         }
 
         /// <summary>
-        /// 鑾峰彇銆愯澶囨墍灞炵被鍨嬨�戠殑鍥炬爣
+        /// 鑾峰彇銆愯澶囩被鍨嬨�戠殑鍥炬爣
         /// </summary>
         /// <param name="specificType">鑷畾涔夎澶囩被鍨�</param>
         /// <param name="unSelectPath">鍥剧墖鍦板潃</param>
         /// <param name="selectPath">鍥剧墖鍦板潃</param>
         /// <returns></returns>
-        public void GetDeviceBeloneIcon(DeviceConcreteType specificType, ref string unSelectPath, ref string selectPath)
+        public void GetDeviceObjectIcon(DeviceConcreteType specificType, ref string unSelectPath, ref string selectPath)
         {
             //灏嗗叿浣撶被鍨嬭浆瀛楃涓�
             string strSpecific = Enum.GetName(typeof(DeviceConcreteType), specificType);
@@ -1144,13 +1159,18 @@
             {
                 //涓嶅瓨鍦ㄥ垯浣跨敤鍏遍�氬浘鐗�
                 string[] arry = strSpecific.Split(new string[] { "_" }, StringSplitOptions.None);
-                if (arry.Length == 1)
+                //濡傛灉瀹冭嚜宸卞氨鏄叡閫氬浘鐗囩殑璇濓紝涓嶅啀澶勭悊
+                if (arry.Length > 1)
                 {
-                    //濡傛灉瀹冭嚜宸卞氨鏄叡閫氬浘鐗囩殑璇濓紝涓嶅啀澶勭悊
-                    return;
+                    imageFilePath = "Device/" + arry[0] + ".png";
+                    imageSelectFilePath = "Device/" + arry[0] + "Selected.png";
                 }
-                imageFilePath = "Device/" + arry[0] + ".png";
-                imageSelectFilePath = "Device/" + arry[0] + "Selected.png";
+            }
+            //濡傛灉閭f璁惧杩炲叡閫氬浘鐗囬兘娌℃湁鐨勮瘽
+            if (string.IsNullOrEmpty(IO.FileUtils.GetImageFilePath(imageFilePath)) == true)
+            {
+                imageFilePath = "Device/ThirdPartyDevice.png";
+                imageSelectFilePath = "Device/ThirdPartyDeviceSelected.png";
             }
             //璁剧疆鍥剧墖
             unSelectPath = imageFilePath;
@@ -1222,7 +1242,7 @@
                 return info;
             }
             //鑾峰彇绗笁鏂硅澶囩殑銆愯澶囩被鍨嬨��
-            return this.GetNotHdlMyDeviceEnumInfo(listdevice, false);
+            return this.GetNotHdlMyDeviceEnumInfo(listdevice);
         }
 
         /// <summary>
@@ -1252,7 +1272,7 @@
             else
             {
                 //鑾峰彇绗笁鏂硅澶囩殑銆愯澶囩被鍨嬨��
-                var myDeviceType = this.GetNotHdlMyDeviceEnumInfo(listDevice, false);
+                var myDeviceType = this.GetNotHdlMyDeviceEnumInfo(listDevice);
                 strName = Language.StringByID(myDeviceType.ConcreteTextId);
             }
             if (ApendFalge == true && listDevice[0].DriveCode > 0)
@@ -1318,31 +1338,53 @@
         #region 鈻� 鑾峰彇绗笁鏂硅澶囩殑璁惧绫诲瀷___________
 
         /// <summary>
-        /// 鑾峰彇绗笁鏂硅澶囩殑銆愯澶囩被鍨嬨��
+        /// 鑾峰彇璁惧鐨勩�愭墍灞炵被鍨嬩俊鎭��,姝ゆ柟娉曚細鎶婃墍鏈夌殑浼犳劅鍣ㄩ兘褰掍负銆愪紶鎰熷櫒銆�(鍖呮嫭娓╂箍搴︿紶鎰熷櫒)
         /// </summary>
         /// <param name="device">璁惧鍥炶矾</param>
-        /// <param name="margeSensor">
-        /// <para>鏄惁灏嗘墍鏈夌被鍨嬬殑浼犳劅鍣ㄩ兘褰掍负銆愪紶鎰熷櫒銆�,</para> 
-        /// <para>false鐨勬椂鍊欙細銆怌oncreteType銆戝拰銆怌oncreteTextId銆戝彲鑳戒細鏈変笉鍚岀殑鍊�</para> 
-        /// <para>true鐨勬椂鍊欙細銆怌oncreteType銆戠粺涓�涓篠ensor,銆怌oncreteTextId銆戠粺涓�涓轰紶鎰熷櫒</para> 
-        /// </param>
         /// <returns></returns>
-        public DeviceEnumInfo GetNotHdlMyDeviceEnumInfo(CommonDevice device, bool margeSensor = true)
+        public DeviceEnumInfo GetDeviceBelongEnumInfo(CommonDevice device)
         {
-            return this.GetNotHdlMyDeviceEnumInfo(new List<CommonDevice>() { device }, margeSensor);
+            var info = this.GetNotHdlMyDeviceEnumInfo(new List<CommonDevice>() { device });
+            if (info.BeloneType == DeviceBeloneType.A璋冨厜鍣�
+                || info.BeloneType == DeviceBeloneType.A褰╃伅)
+            {
+                //褰掍负鐏厜
+                info.ConcreteTextId = R.MyInternationalizationString.uDeviceBelongId15;
+                info.BeloneType = DeviceBeloneType.A鐏厜;
+                info.ConcreteType = DeviceConcreteType.Light;
+
+                int value = (int)info.BeloneType;
+                if (dicDeviceDefultNameID.ContainsKey("uDeviceBelongId" + value) == true)
+                {
+                    //璁惧鎵�灞炵被鍨嬬殑缈昏瘧鍚嶅瓧
+                    info.BeloneTextId = dicDeviceDefultNameID["uDeviceBelongId" + value];
+                }
+            }
+            else if (info.BeloneType == DeviceBeloneType.A浼犳劅鍣�
+                || device.Type == DeviceType.TemperatureSensor)
+            {
+                //浼犳劅鍣ㄥ悎骞�
+                info.BeloneType = DeviceBeloneType.A浼犳劅鍣�;
+                info.ConcreteType = DeviceConcreteType.Sensor;
+                info.ConcreteTextId = R.MyInternationalizationString.uDeviceBelongId1200;
+
+                int value = (int)info.BeloneType;
+                if (dicDeviceDefultNameID.ContainsKey("uDeviceBelongId" + value) == true)
+                {
+                    //璁惧鎵�灞炵被鍨嬬殑缈昏瘧鍚嶅瓧
+                    info.BeloneTextId = dicDeviceDefultNameID["uDeviceBelongId" + value];
+                }
+            }
+
+            return info;
         }
 
         /// <summary>
         /// 鑾峰彇绗笁鏂硅澶囩殑銆愯澶囩被鍨嬨��(涓嶅缓璁娇鐢�)
         /// </summary>
         /// <param name="listdevice">Mac閮戒竴鏍风殑璁惧鍒楄〃</param>
-        /// <param name="margeSensor">
-        /// <para>鏄惁灏嗘墍鏈夌被鍨嬬殑浼犳劅鍣ㄩ兘褰掍负銆愪紶鎰熷櫒銆�,</para> 
-        /// <para>false鐨勬椂鍊欙細銆怌oncreteType銆戝拰銆怌oncreteTextId銆戝彲鑳戒細鏈変笉鍚岀殑鍊�</para> 
-        /// <para>true鐨勬椂鍊欙細銆怌oncreteType銆戠粺涓�涓篠ensor,銆怌oncreteTextId銆戠粺涓�涓轰紶鎰熷櫒</para> 
-        /// </param>
         /// <returns></returns>
-        public DeviceEnumInfo GetNotHdlMyDeviceEnumInfo(List<CommonDevice> listdevice, bool margeSensor = true)
+        public DeviceEnumInfo GetNotHdlMyDeviceEnumInfo(List<CommonDevice> listdevice)
         {
             var dicType = new Dictionary<DeviceType, CommonDevice>();
             foreach (CommonDevice device in listdevice)
@@ -1479,11 +1521,8 @@
                 info.BeloneType = DeviceBeloneType.A浼犳劅鍣�;
                 info.ConcreteType = DeviceConcreteType.Sensor;
                 info.ConcreteTextId = R.MyInternationalizationString.uDeviceBelongId1200;
-                if (margeSensor == false)
-                {
-                    //璁剧疆浼犳劅鍣ㄥ叿浣撶殑绫诲瀷
-                    this.SetSensorDeviceSpecificType(ref info, listdevice);
-                }
+                //璁剧疆浼犳劅鍣ㄥ叿浣撶殑绫诲瀷
+                this.SetSensorDeviceSpecificType(ref info, listdevice);
             }
             //13鍖呭惈娓╁害浼犳劅鍣ㄧ殑璇�
             else if (dicType.ContainsKey(DeviceType.TemperatureSensor) == true)
@@ -1513,14 +1552,14 @@
                     //璁剧疆浼犳劅鍣ㄥ叿浣撶殑绫诲瀷
                     info.BeloneType = DeviceBeloneType.A娓╂箍搴︿紶鎰熷櫒;
                     info.ConcreteTextId = R.MyInternationalizationString.uDeviceBelongId10;
-                    info.ConcreteType = DeviceConcreteType.Sensor_TemperatrueHumidity;
+                    info.ConcreteType = DeviceConcreteType.Sensor_TemperatureHumidity;
                 }
                 else if (temperatrue == true && humidity == false)
                 {
                     //璁剧疆浼犳劅鍣ㄥ叿浣撶殑绫诲瀷
                     info.BeloneType = DeviceBeloneType.A娓╁害浼犳劅鍣�;
                     info.ConcreteTextId = R.MyInternationalizationString.uDeviceBelongId11;
-                    info.ConcreteType = DeviceConcreteType.Sensor_Temperatrue;
+                    info.ConcreteType = DeviceConcreteType.Sensor_Temperature;
                 }
                 else if (temperatrue == false && humidity == true)
                 {
@@ -1785,36 +1824,23 @@
         #region 鈻� 鑾峰彇璁惧鍒楄〃鐨勬帴鍙________________
 
         /// <summary>
-        /// 浠庣綉鍏抽噸鏂拌幏鍙栬澶囧垪琛�(鈽呪槄鈽呪槄鈽呪槄鈽呮帴鏀跺埌璁惧鏃剁殑浜嬩欢鈽呪槄鈽呪槄鈽呪槄鈽�)
+        /// <para>浠庣綉鍏抽噸鏂拌幏鍙栬澶囧垪琛�(杩斿洖鐨勮澶囦负铏氭嫙鍑烘潵鐨�)</para>
+        /// <para>statu鐘舵�� -1:寮傚父,浼氳繑鍥瀗ull, 1锛氭病鏈夊紓甯�, 2:鏁版嵁鎺ユ敹涓嶅叏</para>
         /// </summary>
         /// <param name="zbGateway">缃戝叧瀵硅薄</param>
-        /// <param name="ignoreTime">鏄惁鏃犺鏃堕棿,true:姣忔璋冪敤閮藉幓缃戝叧鑾峰彇,false:3鍒嗛挓鍐呰繑鍥炵殑鏄湰鍦扮殑璁惧</param>
-        /// <param name="deviceComingAction">鎺ユ敹鍒拌澶囨椂鐨勪簨浠�</param>
+        /// <param name="statu">鐘舵��-> -1:寮傚父,浼氳繑鍥瀗ull, 1锛氭病鏈夊紓甯�, 2:鏁版嵁鎺ユ敹涓嶅叏</param>
+        /// <param name="ignoreTime">鏄惁鏃犺鏃堕棿(姝ゅ彉閲忔槸缁欒幏鍙栧湪绾跨姸鎬佺敤鐨�),true:姣忔璋冪敤閮藉幓缃戝叧鑾峰彇,false:3鍒嗛挓鍐呰繑鍥炵殑鏄湰鍦扮殑璁惧</param>
         /// <param name="mode">鏄惁鏄剧ず閿欒</param>
         /// <returns></returns>
-        public List<CommonDevice> GetDeviceListFromGateway(ZbGateway zbGateway, bool ignoreTime, Action<CommonDevice> deviceComingAction = null, ShowErrorMode mode = ShowErrorMode.YES)
+        public List<CommonDevice> GetDeviceListFromGateway(ZbGateway zbGateway, ref int statu, bool ignoreTime, ShowErrorMode mode = ShowErrorMode.YES)
         {
             if (ignoreTime == false)
             {
                 if ((DateTime.Now - zbGateway.LastDateTime).TotalMilliseconds < 3 * 60 * 1000)
                 {
                     //涓嶆棤瑙嗘椂闂�,杩斿洖鏈湴璁惧鍒楄〃
-                    var listTemp = this.GetDeviceByGatewayID(HdlGatewayLogic.Current.GetGatewayId(zbGateway));
-                    if (deviceComingAction != null)
-                    {
-                        for (int i = 0; i < listTemp.Count; i++)
-                        {
-                            try
-                            {
-                                //鍥炶皟鍑芥暟
-                                deviceComingAction.Invoke(listTemp[i]);
-                            }
-                            //Log鍑哄姏
-                            catch (Exception ex) { HdlLogLogic.Current.WriteLog(ex); }
-                        }
-                    }
-                    deviceComingAction = null;
-                    return listTemp;
+                    statu = 1;
+                    return this.GetDeviceByGatewayID(HdlGatewayLogic.Current.GetGatewayId(zbGateway));
                 }
             }
             zbGateway.LastDateTime = DateTime.Now;
@@ -1831,6 +1857,7 @@
                     string msg = Language.StringByID(R.MyInternationalizationString.uErrorGatewayLostMsg);
                     this.ShowTipMsg(msg);
                 }
+                statu = -1;
                 return null;
             }
 
@@ -1883,8 +1910,6 @@
                                 //缃戝叧閲岄潰鏈夊彲鑳戒細鏈夐噸澶嶇殑鍥炶矾
                                 if (listCheck.Contains(mainkeys) == false)
                                 {
-                                    //鍥炶皟鍑芥暟
-                                    deviceComingAction?.Invoke(device);
                                     listDevice.Add(device);
 
                                     listCheck.Add(mainkeys);
@@ -1933,6 +1958,7 @@
                         msg = UserCenterLogic.CombineGatewayTimeOutMsg(msg, null, "鍥炲瓒呮椂", false);
                         this.ShowTipMsg(msg);
                     }
+                    statu = -1;
                     return null;
                 }
                 else
@@ -1943,12 +1969,9 @@
                         string msg = Language.StringByID(R.MyInternationalizationString.uNetworkUnStableAndDeviceInfoIsNotFull);
                         this.ShowTipMsg(msg);
                     }
+                    statu = 2;
                 }
-            }
-
-            //鍥炶皟鍑芥暟(鎺ユ敹瀹屾垚)
-            deviceComingAction = null;
-
+            }
             return listDevice;
         }
 
@@ -2154,9 +2177,9 @@
             this.dicDeviceModelIdEnum["MPT2/R2-ZB.18"] = "202-200";//2鎸夐敭瑙︽懜闈㈡澘
             this.dicDeviceModelIdEnum["MPT1/R1-ZB.18"] = "203-200";//12鎸夐敭瑙︽懜闈㈡澘
             this.dicDeviceModelIdEnum["MPT4-ZB.18"] = "210-200";//4鎸夐敭瑙︽懜闈㈡澘(鍙甫鐢垫簮搴曞骇)
-            this.dicDeviceModelIdEnum["MPT4R4L/S-ZB1.8"] = "220-200";//绠�绾�4鎸夐敭闈㈡澘
-            this.dicDeviceModelIdEnum["MPT3R3L/S-ZB1.8"] = "221-200";//绠�绾�3鎸夐敭闈㈡澘
-            this.dicDeviceModelIdEnum["MPT2R2L/S-ZB1.8"] = "222-200";//绠�绾�2鎸夐敭闈㈡澘
+            this.dicDeviceModelIdEnum["MPT4R4L/S-ZB.18"] = "220-200";//绠�绾�4鎸夐敭闈㈡澘
+            this.dicDeviceModelIdEnum["MPT3R3L/S-ZB.18"] = "221-200";//绠�绾�3鎸夐敭闈㈡澘
+            this.dicDeviceModelIdEnum["MPT2R2L/S-ZB.18"] = "222-200";//绠�绾�2鎸夐敭闈㈡澘
 
             //=========鈽呪槄PIR浼犳劅鍣ㄧ被(1200-1299)鈽呪槄=========
             this.dicDeviceModelIdEnum["MSPIR01-ZB.10"] = "1200-1200";//pir浼犳劅鍣�220
@@ -2191,6 +2214,8 @@
             this.dicDeviceModelIdEnum["MBUS/GW-ZB.10"] = "4200-4200";//zigbee杞琤uspro鍗忚杞崲鍣�
             this.dicDeviceModelIdEnum["M485/GW-ZB.10"] = "4201-4200";//zigbee杞�485鍗忚杞崲鍣�
 
+
+
             //鉁┾湬鉁┾湬鉁╅渶瑕佷氦鎹㈢殑妯″潡ID鉁┾湬鉁┾湬鉁�
             this.dicDeviceModelIdChanged = new Dictionary<string, string>();
             //=========鈽呪槄瀹夐槻绫讳紶鎰熷櫒绫烩槄鈽�=========
@@ -2200,6 +2225,8 @@
             this.dicDeviceModelIdChanged["MULTI-MOTI--EA04"] = "MSPIR01/M-ZB.10";//绾㈠浼犳劅鍣�
             this.dicDeviceModelIdChanged["MULTI-WATE--EA02"] = "MSW01/M-ZB.10";//姘存蹈浼犳劅鍣�
             this.dicDeviceModelIdChanged["MULTI-BURO--EA06"] = "MBU01/M-ZB.10";//绱ф�ユ寜閿�
+
+
 
             //鉁┾湬鉁┾湬鉁╅渶瑕佸叡鏈夌殑鍥剧墖瀵硅薄鉁┾湬鉁┾湬鉁�
             this.dicPictrueShard = new Dictionary<string, string>();
@@ -2324,11 +2351,11 @@
         /// <summary>
         /// 娓╂箍搴︿紶鎰熷櫒
         /// </summary>
-        Sensor_TemperatrueHumidity = -1308,
+        Sensor_TemperatureHumidity = -1308,
         /// <summary>
         /// 娓╁害浼犳劅鍣�
         /// </summary>
-        Sensor_Temperatrue = -1309,
+        Sensor_Temperature = -1309,
         /// <summary>
         /// 婀垮害浼犳劅鍣�
         /// </summary>

--
Gitblit v1.8.0