From fffd8afca5b69a592e9ba8913204f83f478e2f17 Mon Sep 17 00:00:00 2001
From: xm <1271024303@qq.com>
Date: 星期三, 06 五月 2020 17:28:35 +0800
Subject: [PATCH] 增加获取颜色接口(请合并代码)

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

diff --git a/ZigbeeApp/Shared/Common/Device.cs b/ZigbeeApp/Shared/Common/Device.cs
index 197639c..8d35da8 100644
--- a/ZigbeeApp/Shared/Common/Device.cs
+++ b/ZigbeeApp/Shared/Common/Device.cs
@@ -400,6 +400,27 @@
             }
         }
 
+        /// <summary>
+        /// 娣诲姞铏氭嫙璁惧鍒扮紦瀛�
+        /// </summary>
+        /// <param name="device">璁惧瀵硅薄</param>
+        public void AddVirtualDeviceToMemory(CommonDevice device)
+        {
+            string mainKeys = this.GetDeviceMainKeys(device);
+            this.dicAllDevice[mainKeys] = device;
+
+            //璁惧鍥炶矾鏀堕泦
+            if (this.dicDeviceEpoint.ContainsKey(device.DeviceAddr) == false)
+            {
+                this.dicDeviceEpoint[device.DeviceAddr] = new HashSet<int>();
+            }
+            if (this.dicDeviceEpoint[device.DeviceAddr].Contains(device.DeviceEpoint) == false)
+            {
+                this.dicDeviceEpoint[device.DeviceAddr].Add(device.DeviceEpoint);
+            }
+            device.ReSave();
+        }
+
         #endregion
 
         #region 鈻� 淇敼璁惧___________________________
@@ -416,6 +437,12 @@
             this.SetEpointName(device, newName);
 
             this.BackupDeviceAfterReName(device);
+
+            //濡傛灉浣忓畢涓鸿櫄鎷熶綇瀹�
+            if (Common.Config.Instance.Home.IsVirtually == true)
+            {
+                return true;
+            }
 
             //涓嶅啀妫�娴嬪悕瀛楁槸鍚︿竴鏍�
             //鎴愬憳鍙兘淇敼鑷繁鏈湴鐨勫悕瀛�
@@ -462,6 +489,11 @@
 
                 //鏇存敼鍚嶅瓧鍚庯紝鍒锋柊璁惧缂撳瓨
                 this.BackupDeviceAfterReName(device2);
+            }
+            //濡傛灉浣忓畢涓鸿櫄鎷熶綇瀹�
+            if (Common.Config.Instance.Home.IsVirtually == true)
+            {
+                return true;
             }
 
             CommonDevice device = listDevice[0];
@@ -679,7 +711,11 @@
         /// <param name="device"></param>
         public void SetFixedPositionCommand(CommonDevice device)
         {
-            device.IdentifyControl(device.DeviceAddr, device.DeviceEpoint, 5);
+            //濡傛灉褰撳墠浣忓畢涓嶆槸铏氭嫙浣忓畢
+            if (Common.Config.Instance.Home.IsVirtually == false)
+            {
+                device.IdentifyControl(device.DeviceAddr, device.DeviceEpoint, 5);
+            }
         }
 
         /// <summary>
@@ -1766,8 +1802,8 @@
                     info.ConcreteType = DeviceConcreteType.Sensor_Humidity;
                 }
                 info.ObjectTypeNameId = 60000;//浼犳劅鍣�
-            }
-            //14鏂伴璁惧
+            }
+            //14鏂伴璁惧
             else if (dicType.ContainsKey(DeviceType.FreshAir) == true)
             {
                 info.ConcreteTextId = R.MyInternationalizationString.uDeviceModelId2310;
@@ -2030,8 +2066,9 @@
             list.Add(DeviceBeloneType.A骞叉帴鐐�);
             list.Add(DeviceBeloneType.A鏅鸿兘闂ㄩ攣);
             list.Add(DeviceBeloneType.A鏅鸿兘绌哄紑);
-            list.Add(DeviceBeloneType.A浼犳劅鍣�);
-            //鍏朵粬鐨勭湅鐫�鍔炲憲,閮芥槸鎺掑湪鍚庨潰鐨�,閮藉綊涓鸿繖涓睘鎬�
+            list.Add(DeviceBeloneType.A浼犳劅鍣�);
+
+            //鍏朵粬鐨勭湅鐫�鍔炲憲,閮芥槸鎺掑湪鍚庨潰鐨�,閮藉綊涓鸿繖涓睘鎬�
             list.Add(DeviceBeloneType.A鏈煡璁惧);
 
             return list;
@@ -2509,10 +2546,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.FreshAirHumiditySensor)
-            {
-                device = new HumiditySensor();
-            }
+            else if (deviceType == DeviceType.FreshAirHumiditySensor) { device = new HumiditySensor(); }
             else if (deviceType == DeviceType.OtaDevice || deviceType == DeviceType.OtaPanelDevice) { device = new OTADevice(); }
             else { return null; }
 
@@ -2615,7 +2649,9 @@
             this.dicDeviceModelIdEnum["MSS01/M-ZB.10"] = "1302-1300-60000";//鐑熼浘浼犳劅鍣�
             this.dicDeviceModelIdEnum["MSPIR01/M-ZB.10"] = "1303-1300-60000";//绾㈠浼犳劅鍣�
             this.dicDeviceModelIdEnum["MSW01/M-ZB.10"] = "1304-1300-60000";//姘存蹈浼犳劅鍣�
-            this.dicDeviceModelIdEnum["MBU01/M-ZB.10"] = "1305-1300-60000";//绱ф�ユ寜閿�
+            this.dicDeviceModelIdEnum["MBU01/M-ZB.10"] = "1305-1300-60000";//绱ф�ユ寜閿瓺Z_PM100-V1.6
+
+            this.dicDeviceModelIdEnum["MSW01/M-ZB.10"] = "1306-1300-60000";//姘存蹈浼犳劅鍣�
 
             //=========鈽呪槄缁х數鍣ㄧ被(2300-2499)鈽呪槄=========
             this.dicDeviceModelIdEnum["MPR0310-ZB.10"] = "2300-2300-60001";//3璺户鐢靛櫒灏忔ā鍧�
@@ -2651,12 +2687,13 @@
             this.dicDeviceModelIdChanged["MULTI-FIRE--EA05"] = "MSS01/M-ZB.10";//鐑熼浘浼犳劅鍣�
             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";//绱ф�ユ寜閿�
-
-
-            //鉁┾湬鉁┾湬鉁╅渶瑕佸叡鏈夌殑鍥剧墖瀵硅薄鉁┾湬鉁┾湬鉁�
-            //涓よ�呴兘鏄疍eviceConcreteType
-            //Keys:鎸囧畾鐨勮澶�    value:娌跨敤鐨勫浘鐗囨槸鍝璁惧鐨�
+            this.dicDeviceModelIdChanged["MULTI-BURO--EA06"] = "MBU01/M-ZB.10";//绱ф�ユ寜閿�
+
+
+
+            //鉁┾湬鉁┾湬鉁╅渶瑕佸叡鏈夌殑鍥剧墖瀵硅薄鉁┾湬鉁┾湬鉁�
+            //涓よ�呴兘鏄疍eviceConcreteType
+            //Keys:鎸囧畾鐨勮澶�    value:娌跨敤鐨勫浘鐗囨槸鍝璁惧鐨�
             this.dicPictrueShard = new Dictionary<string, string>();
             this.dicPictrueShard["ButtonPanel_SimpleFour"] = "ButtonPanel_Four";//绠�绾�4鎸夐敭闈㈡澘 娌跨敤 4鎸夐敭鐨勫浘鏍�
             this.dicPictrueShard["ButtonPanel_SimpleThree"] = "ButtonPanel_Three";//绠�绾�3鎸夐敭闈㈡澘 娌跨敤 3鎸夐敭鐨勫浘鏍�
@@ -2824,11 +2861,6 @@
         /// </summary>
         Sensor_Humidity = -1310,
 
-        /// <summary>
-        /// PM2.5浼犳劅鍣�
-        /// </summary>
-        Sensor_PM = -1311,
-
         //=========鈽呪槄缁х數鍣ㄧ被(2300-2499)鈽呪槄=========
         /// <summary>
         /// 缁х數鍣�
@@ -2953,7 +2985,7 @@
         /// <summary>
         /// 鎸夐敭闈㈡澘(200-1199)
         /// </summary>
-        A鎸夐敭闈㈡澘 = 200,
+        A鎸夐敭闈㈡澘 = 200,
         /// <summary>
         /// 浼犳劅鍣�(1200-2299)
         /// </summary>
@@ -2961,7 +2993,7 @@
         /// <summary>
         /// 缁х數鍣�(2300-2499)
         /// </summary>
-        A缁х數鍣� = 2300,
+        A缁х數鍣� = 2300,
         /// <summary>
         /// 鏂伴
         /// </summary>
@@ -3021,7 +3053,7 @@
         /// <summary>
         /// 骞叉帴鐐�
         /// </summary>
-        A骞叉帴鐐� = 16,
+        A骞叉帴鐐� = 16,
     }
 
     #endregion

--
Gitblit v1.8.0