From c7df85937f73fb347ee0b19e9c052d2d00a6df6c Mon Sep 17 00:00:00 2001
From: 黄学彪 <hxb@hdlchina.com.cn>
Date: 星期五, 18 九月 2020 13:58:19 +0800
Subject: [PATCH] 新版本

---
 ZigbeeApp/Shared/Phone/TemplateData/TemplateDeviceDataLogic.cs |  194 ++++++++++++++++++++----------------------------
 1 files changed, 82 insertions(+), 112 deletions(-)

diff --git a/ZigbeeApp/Shared/Phone/TemplateData/TemplateDeviceDataLogic.cs b/ZigbeeApp/Shared/Phone/TemplateData/TemplateDeviceDataLogic.cs
index 94fb484..c88369a 100755
--- a/ZigbeeApp/Shared/Phone/TemplateData/TemplateDeviceDataLogic.cs
+++ b/ZigbeeApp/Shared/Phone/TemplateData/TemplateDeviceDataLogic.cs
@@ -45,14 +45,14 @@
         {
             //鑾峰彇瀵硅薄
             var classData = new ModelCurtainHandPullControl();
-            var memoryData = (ModelCurtainHandPullControl)this.GetDeviceModelDataClass(device, ModelDeviceSaveEnum.A绐楀笜鎵嬫媺鎺у埗, classData);
+            var memoryData = (ModelCurtainHandPullControl)this.GetDeviceModelDataClass(device.DeviceAddr, device.DeviceEpoint, ModelDeviceSaveEnum.A绐楀笜鎵嬫媺鎺у埗, classData);
 
             memoryData.Statu = bolStatu;
             memoryData.ListSendTopic[0] = "SetWritableValue";
             memoryData.ListReceiveTopic[0] = "SetWritableValue_Respon";
             memoryData.ListReceiveResult[0] = receiveResult;
             //淇濆瓨鏁版嵁
-            this.SaveDeviceMemmoryData(device);
+            this.SaveDeviceMemmoryData(device.DeviceAddr, device.DeviceEpoint);
         }
 
         /// <summary>
@@ -64,7 +64,7 @@
         {
             //鑾峰彇瀵硅薄
             var classData = new ModelCurtainHandPullControl();
-            var memoryData = (ModelCurtainHandPullControl)this.GetDeviceModelDataClass(device, ModelDeviceSaveEnum.A绐楀笜鎵嬫媺鎺у埗, classData);
+            var memoryData = (ModelCurtainHandPullControl)this.GetDeviceModelDataClass(device.DeviceAddr, device.DeviceEpoint, ModelDeviceSaveEnum.A绐楀笜鎵嬫媺鎺у埗, classData);
 
             return memoryData.Statu;
         }
@@ -84,14 +84,14 @@
         {
             //鑾峰彇瀵硅薄
             var classData = new ModelCurtainDirectionAndLimite();
-            var memoryData = (ModelCurtainDirectionAndLimite)this.GetDeviceModelDataClass(device, ModelDeviceSaveEnum.A绐楀笜鏂瑰悜鍙婇檺浣�, classData);
+            var memoryData = (ModelCurtainDirectionAndLimite)this.GetDeviceModelDataClass(device.DeviceAddr, device.DeviceEpoint, ModelDeviceSaveEnum.A绐楀笜鏂瑰悜鍙婇檺浣�, classData);
 
             memoryData.Direction = isDirectionReversed;
             memoryData.ListSendTopic[0] = "SetWritableValue";
             memoryData.ListReceiveTopic[0] = "SetWritableValue_Respon";
             memoryData.ListReceiveResult[0] = receiveResult;
             //淇濆瓨鏁版嵁
-            this.SaveDeviceMemmoryData(device);
+            this.SaveDeviceMemmoryData(device.DeviceAddr, device.DeviceEpoint);
 
             return new CommonDevice.SetWritableValueResponAllData { setWritableValueResponData = new CommonDevice.SetWritableValueResponData { Status = 0 } };
         }
@@ -109,11 +109,11 @@
         /// <param name="curtainLength"></param>
         /// <param name="receiveResult">璁惧杩斿洖鐨勭粨鏋�</param>
         /// <returns></returns>
-        public bool SetCurtainLimitPoint(CommonDevice rollershade,int upLimit, int downLimit, int curtainLength, string receiveResult)
+        public bool SetCurtainLimitPoint(CommonDevice rollershade, int upLimit, int downLimit, int curtainLength, string receiveResult)
         {
             //鑾峰彇瀵硅薄
             var classData = new ModelCurtainDirectionAndLimite();
-            var memoryData = (ModelCurtainDirectionAndLimite)this.GetDeviceModelDataClass(rollershade, ModelDeviceSaveEnum.A绐楀笜鏂瑰悜鍙婇檺浣�, classData);
+            var memoryData = (ModelCurtainDirectionAndLimite)this.GetDeviceModelDataClass(rollershade.DeviceAddr, rollershade.DeviceEpoint, ModelDeviceSaveEnum.A绐楀笜鏂瑰悜鍙婇檺浣�, classData);
             memoryData.curtainLength = curtainLength;
             memoryData.downLimit = downLimit;
             memoryData.upLimit = upLimit;
@@ -121,6 +121,9 @@
             memoryData.ListSendTopic[0] = "SetWritableValue";
             memoryData.ListReceiveTopic[0] = "SetWritableValue_Respon";
             memoryData.ListReceiveResult[0] = receiveResult;
+
+            //淇濆瓨鏁版嵁
+            this.SaveDeviceMemmoryData(rollershade.DeviceAddr, rollershade.DeviceEpoint);
 
             return true;
         }
@@ -134,7 +137,7 @@
         {
             //鑾峰彇瀵硅薄
             var classData = new ModelCurtainDirectionAndLimite();
-            var memoryData = (ModelCurtainDirectionAndLimite)this.GetDeviceModelDataClass(rollershade, ModelDeviceSaveEnum.A绐楀笜鏂瑰悜鍙婇檺浣�, classData);
+            var memoryData = (ModelCurtainDirectionAndLimite)this.GetDeviceModelDataClass(rollershade.DeviceAddr, rollershade.DeviceEpoint, ModelDeviceSaveEnum.A绐楀笜鏂瑰悜鍙婇檺浣�, classData);
 
             return memoryData;
         }
@@ -153,14 +156,14 @@
         {
             //鑾峰彇瀵硅薄
             var classData = new ModelAcModeSupport();
-            var memoryData = (ModelAcModeSupport)this.GetDeviceModelDataClass(device, ModelDeviceSaveEnum.A绌鸿皟鑷畾涔夋ā寮�, classData);
+            var memoryData = (ModelAcModeSupport)this.GetDeviceModelDataClass(device.DeviceAddr, device.DeviceEpoint, ModelDeviceSaveEnum.A绌鸿皟鑷畾涔夋ā寮�, classData);
 
             memoryData.data = data;
             memoryData.ListSendTopic[0] = "SetWritableValue";
             memoryData.ListReceiveTopic[0] = "SetWritableValue_Respon";
             memoryData.ListReceiveResult[0] = receiveResult;
             //淇濆瓨鏁版嵁
-            this.SaveDeviceMemmoryData(device);
+            this.SaveDeviceMemmoryData(device.DeviceAddr, device.DeviceEpoint);
         }
 
         /// <summary>
@@ -172,7 +175,7 @@
         {
             //鑾峰彇瀵硅薄
             var classData = new ModelAcModeSupport();
-            var memoryData = (ModelAcModeSupport)this.GetDeviceModelDataClass(device, ModelDeviceSaveEnum.A绌鸿皟鑷畾涔夋ā寮�, classData);
+            var memoryData = (ModelAcModeSupport)this.GetDeviceModelDataClass(device.DeviceAddr, device.DeviceEpoint, ModelDeviceSaveEnum.A绌鸿皟鑷畾涔夋ā寮�, classData);
 
             return memoryData.data;
         }
@@ -191,14 +194,14 @@
         {
             //鑾峰彇瀵硅薄
             var classData = new ModelAcSwingModeSupport();
-            var memoryData = (ModelAcSwingModeSupport)this.GetDeviceModelDataClass(device, ModelDeviceSaveEnum.A绌鸿皟鎽嗛鍔熻兘, classData);
+            var memoryData = (ModelAcSwingModeSupport)this.GetDeviceModelDataClass(device.DeviceAddr, device.DeviceEpoint, ModelDeviceSaveEnum.A绌鸿皟鎽嗛鍔熻兘, classData);
 
             memoryData.data = data;
             memoryData.ListSendTopic[0] = "SetWritableValue";
             memoryData.ListReceiveTopic[0] = "SetWritableValue_Respon";
             memoryData.ListReceiveResult[0] = receiveResult;
             //淇濆瓨鏁版嵁
-            this.SaveDeviceMemmoryData(device);
+            this.SaveDeviceMemmoryData(device.DeviceAddr, device.DeviceEpoint);
         }
 
         /// <summary>
@@ -210,7 +213,7 @@
         {
             //鑾峰彇瀵硅薄
             var classData = new ModelAcSwingModeSupport();
-            var memoryData = (ModelAcSwingModeSupport)this.GetDeviceModelDataClass(device, ModelDeviceSaveEnum.A绌鸿皟鎽嗛鍔熻兘, classData);
+            var memoryData = (ModelAcSwingModeSupport)this.GetDeviceModelDataClass(device.DeviceAddr, device.DeviceEpoint, ModelDeviceSaveEnum.A绌鸿皟鎽嗛鍔熻兘, classData);
 
             return memoryData.data;
         }
@@ -228,7 +231,7 @@
         {
             //鑾峰彇瀵硅薄
             var classData = new ModelDeviceBindData();
-            var memoryData = (ModelDeviceBindData)this.GetDeviceModelDataClass(device, ModelDeviceSaveEnum.A璁惧缁戝畾鍒楄〃, classData);
+            var memoryData = (ModelDeviceBindData)this.GetDeviceModelDataClass(device.DeviceAddr, device.DeviceEpoint, ModelDeviceSaveEnum.A璁惧缁戝畾鍒楄〃, classData);
 
             return memoryData.BindList;
         }
@@ -244,7 +247,7 @@
             var device = Common.LocalDevice.Current.GetDevice(addBindData.DeviceAddr, addBindData.Epoint);
             //鑾峰彇瀵硅薄
             var classData = new ModelDeviceBindData();
-            var memoryData = (ModelDeviceBindData)this.GetDeviceModelDataClass(device, ModelDeviceSaveEnum.A璁惧缁戝畾鍒楄〃, classData);
+            var memoryData = (ModelDeviceBindData)this.GetDeviceModelDataClass(device.DeviceAddr, device.DeviceEpoint, ModelDeviceSaveEnum.A璁惧缁戝畾鍒楄〃, classData);
 
             //娓呯┖缁戝畾琛ㄧ殑杩斿洖鍊�
             string clearResult = "{"
@@ -326,7 +329,7 @@
                 }
             }
             //淇濆瓨鏁版嵁
-            this.SaveDeviceMemmoryData(device);
+            this.SaveDeviceMemmoryData(device.DeviceAddr, device.DeviceEpoint);
 
             return reData;
         }
@@ -341,7 +344,7 @@
             var device = Common.LocalDevice.Current.GetDevice(delDeviceBindData.DeviceAddr, delDeviceBindData.Epoint);
             //鑾峰彇瀵硅薄
             var classData = new ModelDeviceBindData();
-            var memoryData = (ModelDeviceBindData)this.GetDeviceModelDataClass(device, ModelDeviceSaveEnum.A璁惧缁戝畾鍒楄〃, classData);
+            var memoryData = (ModelDeviceBindData)this.GetDeviceModelDataClass(device.DeviceAddr, device.DeviceEpoint, ModelDeviceSaveEnum.A璁惧缁戝畾鍒楄〃, classData);
 
             //杩斿洖鍊�
             var reData = new BindObj.DelDeviceBindResponseAllData();
@@ -385,7 +388,7 @@
                 removeData.Result = 0;
             }
             //淇濆瓨鏁版嵁
-            this.SaveDeviceMemmoryData(device);
+            this.SaveDeviceMemmoryData(device.DeviceAddr, device.DeviceEpoint);
             return reData;
         }
 
@@ -409,7 +412,7 @@
                     }
                 }
             }
-            this.SaveDeviceMemmoryData(device);
+            this.SaveDeviceMemmoryData(device.DeviceAddr, device.DeviceEpoint);
 
             return new BindObj.ClearBindInfoResponseAllData
             {
@@ -429,7 +432,7 @@
         {
             //鑾峰彇瀵硅薄
             var classData = new ModelDeviceBindData();
-            var memoryData = (ModelDeviceBindData)this.GetDeviceModelDataClass(device, ModelDeviceSaveEnum.A璁惧缁戝畾鍒楄〃, classData);
+            var memoryData = (ModelDeviceBindData)this.GetDeviceModelDataClass(device.DeviceAddr, device.DeviceEpoint, ModelDeviceSaveEnum.A璁惧缁戝畾鍒楄〃, classData);
             memoryData.keyMode = value;
             memoryData.keyModeClusterID = clusterID;
 
@@ -451,7 +454,7 @@
             memoryData.ListReceiveTopic[1] = "SetWritableValue_Respon";
             memoryData.ListReceiveResult[1] = receiveResult;
 
-            this.SaveDeviceMemmoryData(device);
+            this.SaveDeviceMemmoryData(device.DeviceAddr, device.DeviceEpoint);
 
             return new CommonDevice.SetWritableValueResponAllData
             {
@@ -467,7 +470,7 @@
         public Panel.PanelConfigureInfoResponAllData ReadPanelConfigureKeyModel(CommonDevice device)
         {
             var classData = new ModelDeviceBindData();
-            var memoryData = (ModelDeviceBindData)this.GetDeviceModelDataClass(device, ModelDeviceSaveEnum.A璁惧缁戝畾鍒楄〃, classData);
+            var memoryData = (ModelDeviceBindData)this.GetDeviceModelDataClass(device.DeviceAddr, device.DeviceEpoint, ModelDeviceSaveEnum.A璁惧缁戝畾鍒楄〃, classData);
 
             var data = new Panel.PanelConfigureInfoResponAllData();
             data.deviceStatusReportData = new CommonDevice.DeviceStatusReportData { CluterID = memoryData.keyModeClusterID };
@@ -489,11 +492,11 @@
         /// </summary>
         /// <param name="device"></param>
         /// <returns></returns>
-        public IASZone.ParamatesInfo GetPirSensorLightSettion(CommonDevice device)
+        public IASZone.ParamatesInfo GetPirSensorLightSettion(string deviceMac, int deviceEpoint)
         {
             //鑾峰彇瀵硅薄
-            var classData = new  ModelPirSensorSettion();
-            var memoryData = (ModelPirSensorSettion)this.GetDeviceModelDataClass(device, ModelDeviceSaveEnum.APir閰嶇疆, classData);
+            var classData = new ModelPirSensorSettion();
+            var memoryData = (ModelPirSensorSettion)this.GetDeviceModelDataClass(deviceMac, deviceEpoint, ModelDeviceSaveEnum.APir閰嶇疆, classData);
 
             var localData = new IASZone.ParamatesInfo();
             localData.configureParamates = new IASZone.ConfigureParamates();
@@ -518,11 +521,11 @@
         /// <param name="configureParamates"></param>
         /// <param name="receiveResult">璁惧杩斿洖鐨勭粨鏋�</param>
         /// <returns></returns>
-        public IASZone.ResponseAllData SetPirSensorLightSettion(CommonDevice device, IASZone.ConfigureParamates configureParamates, string receiveResult)
+        public IASZone.ResponseAllData SetPirSensorLightSettion(string deviceMac, int deviceEpoint, IASZone.ConfigureParamates configureParamates, string receiveResult)
         {
             //鑾峰彇瀵硅薄
             var classData = new ModelPirSensorSettion();
-            var memoryData = (ModelPirSensorSettion)this.GetDeviceModelDataClass(device, ModelDeviceSaveEnum.APir閰嶇疆, classData);
+            var memoryData = (ModelPirSensorSettion)this.GetDeviceModelDataClass(deviceMac, deviceEpoint, ModelDeviceSaveEnum.APir閰嶇疆, classData);
 
             memoryData.pirConfigure = configureParamates;
 
@@ -530,7 +533,7 @@
             memoryData.ListReceiveTopic[0] = "ZbDataPassthrough";
             memoryData.ListReceiveResult[0] = receiveResult;
 
-            this.SaveDeviceMemmoryData(device);
+            this.SaveDeviceMemmoryData(deviceMac, deviceEpoint);
 
             return new CommonDevice.ResponseAllData { responseData = new CommonDevice.ResponseData { status = 0 } };
         }
@@ -544,11 +547,11 @@
         /// </summary>
         /// <param name="device"></param>
         /// <returns></returns>
-        public UserCenter.HdlDevicePanelLogic.PanelVibrationInfo GetPanelVibrationInfo(CommonDevice device)
+        public UserCenter.HdlDevicePanelLogic.PanelVibrationInfo GetPanelVibrationInfo(string deviceMac, int deviceEpoint)
         {
             //鑾峰彇瀵硅薄
             var classData = new ModelPanelVibrationInfo();
-            var memoryData = (ModelPanelVibrationInfo)this.GetDeviceModelDataClass(device, ModelDeviceSaveEnum.A闈㈡澘闇囧姩鍔熻兘, classData);
+            var memoryData = (ModelPanelVibrationInfo)this.GetDeviceModelDataClass(deviceMac, deviceEpoint, ModelDeviceSaveEnum.A闈㈡澘闇囧姩鍔熻兘, classData);
 
             var data = new UserCenter.HdlDevicePanelLogic.PanelVibrationInfo();
             data.A闇囧姩浣胯兘 = memoryData.vibrationInfo.A闇囧姩浣胯兘;
@@ -565,18 +568,18 @@
         /// <param name="datainfo"></param>
         /// <param name="receiveResult">璁惧杩斿洖鐨勭粨鏋�</param>
         /// <returns></returns>
-        public bool SetPanelVibrationInfo(CommonDevice device, UserCenter.HdlDevicePanelLogic.PanelVibrationInfo datainfo, string receiveResult)
+        public bool SetPanelVibrationInfo(string deviceMac, int deviceEpoint, UserCenter.HdlDevicePanelLogic.PanelVibrationInfo datainfo, string receiveResult)
         {
             //鑾峰彇瀵硅薄
             var classData = new ModelPanelVibrationInfo();
-            var memoryData = (ModelPanelVibrationInfo)this.GetDeviceModelDataClass(device, ModelDeviceSaveEnum.A闈㈡澘闇囧姩鍔熻兘, classData);
+            var memoryData = (ModelPanelVibrationInfo)this.GetDeviceModelDataClass(deviceMac, deviceEpoint, ModelDeviceSaveEnum.A闈㈡澘闇囧姩鍔熻兘, classData);
             memoryData.vibrationInfo = datainfo;
 
             memoryData.ListSendTopic[0] = "ClientDataPassthrough";
             memoryData.ListReceiveTopic[0] = "ZbDataPassthrough";
             memoryData.ListReceiveResult[0] = receiveResult;
 
-            this.SaveDeviceMemmoryData(device);
+            this.SaveDeviceMemmoryData(deviceMac, deviceEpoint);
 
             return true;
         }
@@ -594,7 +597,7 @@
         {
             //鑾峰彇瀵硅薄
             var classData = new ModelDeviceMacNameInfo();
-            var memoryData = (ModelDeviceMacNameInfo)this.GetDeviceModelDataClass(device, ModelDeviceSaveEnum.A璁惧鍚嶇О, classData);
+            var memoryData = (ModelDeviceMacNameInfo)this.GetDeviceModelDataClass(device.DeviceAddr, device.DeviceEpoint, ModelDeviceSaveEnum.A璁惧鍚嶇О, classData);
             memoryData.deviceMacName = macName;
 
             //璁惧杩斿洖鐨勭粨鏋�
@@ -610,7 +613,7 @@
             memoryData.ListReceiveTopic[0] = "MacRename_Respon";
             memoryData.ListReceiveResult[0] = receiveResult;
 
-            this.SaveDeviceMemmoryData(device);
+            this.SaveDeviceMemmoryData(device.DeviceAddr, device.DeviceEpoint);
 
             return new CommonDevice.RenameDeviceMacNameAllData
             {
@@ -632,7 +635,7 @@
         {
             //鑾峰彇瀵硅薄
             var classData = new ModelDeviceEpointNameInfo();
-            var memoryData = (ModelDeviceEpointNameInfo)this.GetDeviceModelDataClass(device, ModelDeviceSaveEnum.A绔偣鍚嶇О, classData);
+            var memoryData = (ModelDeviceEpointNameInfo)this.GetDeviceModelDataClass(device.DeviceAddr, device.DeviceEpoint, ModelDeviceSaveEnum.A绔偣鍚嶇О, classData);
             memoryData.deviceEpointName = deviceName;
 
             //璁惧杩斿洖鐨勭粨鏋�
@@ -650,7 +653,7 @@
             memoryData.ListReceiveTopic[0] = "DeviceRenameRespon";
             memoryData.ListReceiveResult[0] = receiveResult;
 
-            this.SaveDeviceMemmoryData(device);
+            this.SaveDeviceMemmoryData(device.DeviceAddr, device.DeviceEpoint);
 
             return new CommonDevice.DeviceRenameAllData
             {
@@ -671,15 +674,15 @@
         /// </summary>
         /// <param name="device"></param>
         /// <returns></returns>
-        public Panel.PanelSwitchLevelInfo GetDeviceLightSettion(CommonDevice device)
+        public Panel.PanelSwitchLevelInfo GetDeviceLightSettion(string deviceMac, int deviceEpoint)
         {
             //鑾峰彇瀵硅薄
-            var classData = new ModelPanelBackLightInfo();
-            var memoryData = (ModelPanelBackLightInfo)this.GetDeviceModelDataClass(device, ModelDeviceSaveEnum.A闈㈡澘鑳屽厜鐏�, classData);
+            var classData = new ModelPanelBrightnessAdjustInfo();
+            var memoryData = (ModelPanelBrightnessAdjustInfo)this.GetDeviceModelDataClass(deviceMac, deviceEpoint, ModelDeviceSaveEnum.A闈㈡澘浜害璋冭妭, classData);
 
             var data = new Panel.PanelSwitchLevelInfo();
-            data.panelBacklightLevel = memoryData.linghtLevelInfo.panelBacklightLevel == -1 ? 0 : memoryData.linghtLevelInfo.panelBacklightLevel;
-            data.panelDirectionsLevel = memoryData.linghtLevelInfo.panelDirectionsLevel == -1 ? 0 : memoryData.linghtLevelInfo.panelDirectionsLevel;
+            data.panelBacklightLevel = memoryData.panelBacklightLevel == -1 ? 0 : memoryData.panelBacklightLevel;
+            data.panelDirectionsLevel = memoryData.panelDirectionsLevel == -1 ? 0 : memoryData.panelDirectionsLevel;
             return data;
         }
 
@@ -691,30 +694,19 @@
         /// <param name="backlightLevel">0-100(杩欎釜鏄偣鍑诲墠鐨勫��)</param>
         /// <param name="receiveResult">璁惧杩斿洖鐨勭粨鏋�</param>
         /// <returns></returns>
-        public bool SetDeviceLightSettion(CommonDevice device, int directionsLevel, int backlightLevel, string receiveResult)
+        public bool SetDeviceLightSettion(string deviceMac, int deviceEpoint, int directionsLevel, int backlightLevel, string receiveResult)
         {
             //鑾峰彇瀵硅薄
-            var classData = new ModelPanelBackLightInfo();
-            var memoryData = (ModelPanelBackLightInfo)this.GetDeviceModelDataClass(device, ModelDeviceSaveEnum.A闈㈡澘鑳屽厜鐏�, classData);
-            memoryData.linghtLevelInfo.panelBacklightLevel = backlightLevel;
-            memoryData.linghtLevelInfo.panelDirectionsLevel = directionsLevel;
-            //鑳屽厜鐏湁涓変釜涓滆タ
-            if (memoryData.ListSendTopic.Count == 1)
-            {
-                memoryData.ListSendTopic.Add(string.Empty);
-                memoryData.ListSendTopic.Add(string.Empty);
+            var classData = new ModelPanelBrightnessAdjustInfo();
+            var memoryData = (ModelPanelBrightnessAdjustInfo)this.GetDeviceModelDataClass(deviceMac, deviceEpoint, ModelDeviceSaveEnum.A闈㈡澘浜害璋冭妭, classData);
+            memoryData.panelBacklightLevel = backlightLevel;
+            memoryData.panelDirectionsLevel = directionsLevel;
 
-                memoryData.ListReceiveTopic.Add(string.Empty);
-                memoryData.ListReceiveTopic.Add(string.Empty);
-
-                memoryData.ListReceiveResult.Add(string.Empty);
-                memoryData.ListReceiveResult.Add(string.Empty);
-            }
             memoryData.ListSendTopic[0] = "ClientDataPassthrough";
             memoryData.ListReceiveTopic[0] = "ZbDataPassthrough";
             memoryData.ListReceiveResult[0] = receiveResult;
 
-            this.SaveDeviceMemmoryData(device);
+            this.SaveDeviceMemmoryData(deviceMac, deviceEpoint);
 
             return true;
         }
@@ -724,11 +716,11 @@
         /// </summary>
         /// <param name="device"></param>
         /// <returns></returns>
-        public Panel.PanelSaveEnergyModeInfo GetDeviceEnergyConservationMode(CommonDevice device)
+        public Panel.PanelSaveEnergyModeInfo GetDeviceEnergyConservationMode(string deviceMac, int deviceEpoint)
         {
             //鑾峰彇瀵硅薄
-            var classData = new ModelPanelBackLightInfo();
-            var memoryData = (ModelPanelBackLightInfo)this.GetDeviceModelDataClass(device, ModelDeviceSaveEnum.A闈㈡澘鑳屽厜鐏�, classData);
+            var classData = new ModelPanelEnergyModeInfo();
+            var memoryData = (ModelPanelEnergyModeInfo)this.GetDeviceModelDataClass(deviceMac, deviceEpoint, ModelDeviceSaveEnum.A闈㈡澘鑺傝兘妯″紡, classData);
 
             var data = new Panel.PanelSaveEnergyModeInfo();
             data.enable = memoryData.energyModeInfo.enable;
@@ -746,32 +738,20 @@
         /// <param name="level">鑺傝兘妯″紡浜害:0-100</param>
         /// <param name="receiveResult">璁惧杩斿洖鐨勭粨鏋�</param>
         /// <returns></returns>
-        public bool SetDeviceEnergyConservationMode(CommonDevice device, bool modeEnable, int modeTime, int level,string receiveResult)
+        public bool SetDeviceEnergyConservationMode(string deviceMac, int deviceEpoint, bool modeEnable, int modeTime, int level, string receiveResult)
         {
             //鑾峰彇瀵硅薄
-            var classData = new ModelPanelBackLightInfo();
-            var memoryData = (ModelPanelBackLightInfo)this.GetDeviceModelDataClass(device, ModelDeviceSaveEnum.A闈㈡澘鑳屽厜鐏�, classData);
+            var classData = new ModelPanelEnergyModeInfo();
+            var memoryData = (ModelPanelEnergyModeInfo)this.GetDeviceModelDataClass(deviceMac, deviceEpoint, ModelDeviceSaveEnum.A闈㈡澘鑺傝兘妯″紡, classData);
             memoryData.energyModeInfo.enable = modeEnable;
             memoryData.energyModeInfo.time = modeTime;
             memoryData.energyModeInfo.level = level;
 
-            //鑳屽厜鐏湁涓変釜涓滆タ
-            if (memoryData.ListSendTopic.Count == 1)
-            {
-                memoryData.ListSendTopic.Add(string.Empty);
-                memoryData.ListSendTopic.Add(string.Empty);
+            memoryData.ListSendTopic[0] = "ClientDataPassthrough";
+            memoryData.ListReceiveTopic[0] = "ZbDataPassthrough";
+            memoryData.ListReceiveResult[0] = receiveResult;
 
-                memoryData.ListReceiveTopic.Add(string.Empty);
-                memoryData.ListReceiveTopic.Add(string.Empty);
-
-                memoryData.ListReceiveResult.Add(string.Empty);
-                memoryData.ListReceiveResult.Add(string.Empty);
-            }
-            memoryData.ListSendTopic[1] = "ClientDataPassthrough";
-            memoryData.ListReceiveTopic[1] = "ZbDataPassthrough";
-            memoryData.ListReceiveResult[1] = receiveResult;
-
-            this.SaveDeviceMemmoryData(device);
+            this.SaveDeviceMemmoryData(deviceMac, deviceEpoint);
 
             return true;
         }
@@ -782,11 +762,11 @@
         /// <param name="device"></param>
         /// <param name="keyNum"></param>
         /// <returns></returns>
-        public Panel.KeyColorDataResponseAllData GetPanelColorInfo(CommonDevice device, Panel.KeyNum keyNum)
+        public Panel.KeyColorDataResponseAllData GetPanelColorInfo(string deviceMac, int deviceEpoint, Panel.KeyNum keyNum)
         {
             //鑾峰彇瀵硅薄
-            var classData = new ModelPanelBackLightInfo();
-            var memoryData = (ModelPanelBackLightInfo)this.GetDeviceModelDataClass(device, ModelDeviceSaveEnum.A闈㈡澘鑳屽厜鐏�, classData);
+            var classData = new ModelPanelIndicatorLightInfo();
+            var memoryData = (ModelPanelIndicatorLightInfo)this.GetDeviceModelDataClass(deviceMac, deviceEpoint, ModelDeviceSaveEnum.A闈㈡澘鎸囩ず鐏�, classData);
 
             var data = new Panel.KeyColorDataResponseAllData();
             data.keyColorData = new Panel.KeyColorData();
@@ -809,11 +789,11 @@
         /// <param name="keyNumStatus"></param>
         /// <param name="receiveResult">璁惧杩斿洖鐨勭粨鏋�</param>
         /// <returns></returns>
-        public CommonDevice.ResponseAllData SetPanelColorInfo(CommonDevice device, Panel.KeyColorData keyColorData, Panel.KeyNumStatus keyNumStatus, string receiveResult)
+        public CommonDevice.ResponseAllData SetPanelColorInfo(string deviceMac, int deviceEpoint, Panel.KeyColorData keyColorData, Panel.KeyNumStatus keyNumStatus, string receiveResult)
         {
             //鑾峰彇瀵硅薄
-            var classData = new ModelPanelBackLightInfo();
-            var memoryData = (ModelPanelBackLightInfo)this.GetDeviceModelDataClass(device, ModelDeviceSaveEnum.A闈㈡澘鑳屽厜鐏�, classData);
+            var classData = new ModelPanelIndicatorLightInfo();
+            var memoryData = (ModelPanelIndicatorLightInfo)this.GetDeviceModelDataClass(deviceMac, deviceEpoint, ModelDeviceSaveEnum.A闈㈡澘鎸囩ず鐏�, classData);
 
             memoryData.keyColorData.keyNum = keyColorData.keyNum;
             memoryData.keyColorData.OpenColorB = keyColorData.OpenColorB;
@@ -840,23 +820,11 @@
             memoryData.KeyNum.Key15 = keyNumStatus.Key15;
             memoryData.KeyNum.Key16 = keyNumStatus.Key16;
 
-            //鑳屽厜鐏湁涓変釜涓滆タ
-            if (memoryData.ListSendTopic.Count == 1)
-            {
-                memoryData.ListSendTopic.Add(string.Empty);
-                memoryData.ListSendTopic.Add(string.Empty);
+            memoryData.ListSendTopic[0] = "ClientDataPassthrough";
+            memoryData.ListReceiveTopic[0] = "ZbDataPassthrough";
+            memoryData.ListReceiveResult[0] = receiveResult;
 
-                memoryData.ListReceiveTopic.Add(string.Empty);
-                memoryData.ListReceiveTopic.Add(string.Empty);
-
-                memoryData.ListReceiveResult.Add(string.Empty);
-                memoryData.ListReceiveResult.Add(string.Empty);
-            }
-            memoryData.ListSendTopic[2] = "ClientDataPassthrough";
-            memoryData.ListReceiveTopic[2] = "ZbDataPassthrough";
-            memoryData.ListReceiveResult[2] = receiveResult;
-
-            this.SaveDeviceMemmoryData(device);
+            this.SaveDeviceMemmoryData(deviceMac, deviceEpoint);
 
             return new CommonDevice.ResponseAllData
             {
@@ -870,13 +838,14 @@
         #region 鈻� 淇濆瓨璁惧缂撳瓨_______________________
 
         /// <summary>
-        /// 淇濆瓨璁惧缂撳瓨
+        /// 淇濆瓨璁惧缂撳瓨(鑰冭檻鏈夌殑璁惧鐢ㄧ殑鏄�200绔偣,鎵�浠ヨ繖閲屾渶濂戒笉鐢ㄨ澶囧璞′綔涓哄弬鏁�)
         /// </summary>
-        /// <param name="device">璁惧瀵硅薄</param>
-        public void SaveDeviceMemmoryData(CommonDevice device)
+        /// <param name="deviceMac"></param>
+        /// <param name="deviceEpoint"></param>
+        public void SaveDeviceMemmoryData(string deviceMac, int deviceEpoint)
         {
             //浠g爜绉诲姩鍒板埆鐨勬枃浠朵腑浜�
-            TemplateCommonLogic.Current.SaveDeviceMemmoryData(device);
+            TemplateCommonLogic.Current.SaveDeviceMemmoryData(deviceMac, deviceEpoint);
         }
 
         #endregion
@@ -884,15 +853,16 @@
         #region 鈻� 涓�鑸柟娉昣__________________________
 
         /// <summary>
-        /// 鑾峰彇璁惧淇濆瓨鐨勬ā鏉垮璞�
+        /// 鑾峰彇璁惧淇濆瓨鐨勬ā鏉垮璞�(鑰冭檻鏈夌殑璁惧鐢ㄧ殑鏄�200绔偣,鎵�浠ヨ繖閲屾渶濂戒笉鐢ㄨ澶囧璞′綔涓哄弬鏁�)
         /// </summary>
-        /// <param name="device"></param>
+        /// <param name="deviceMac"></param>
+        /// <param name="deviceEpoint"></param>
         /// <param name="saveEnum"></param>
         /// <returns></returns>
-        private TemplateDeviceDataCommon GetDeviceModelDataClass(CommonDevice device, ModelDeviceSaveEnum saveEnum, TemplateDeviceDataCommon newClass)
+        private TemplateDeviceDataCommon GetDeviceModelDataClass(string deviceMac, int deviceEpoint, ModelDeviceSaveEnum saveEnum, TemplateDeviceDataCommon newClass)
         {
             //浠g爜绉诲姩鍒板埆鐨勬枃浠朵腑浜�
-            return TemplateCommonLogic.Current.GetDeviceModelDataClass(device, saveEnum, newClass);
+            return TemplateCommonLogic.Current.GetDeviceModelDataClass(deviceMac, deviceEpoint, saveEnum, newClass);
         }
 
         /// <summary>

--
Gitblit v1.8.0