黄学彪
2020-09-18 c7df85937f73fb347ee0b19e9c052d2d00a6df6c
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,11 +247,23 @@
            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 = "{"
                + SetDouMarks("Device_ID") + ":" + (int)device.Type + ","
                + SetDouMarks("DeviceAddr") + ":" + SetDouMarks(device.DeviceAddr) + ","
                + SetDouMarks("Epoint") + ":" + device.DeviceEpoint + ","
                + SetDouMarks("Data_ID") + ":5006,"
                + SetDouMarks("Data") + ": {"
                + SetDouMarks("Result") + ": 0,"
                + SetDouMarks("ResultRemark") + ":" + SetDouMarks("Success") + "}"
                + "}";
            if (memoryData.ListReceiveResult.Count == 1)
            {
                //设备绑定有三条命令 第一条为清空
                memoryData.ListReceiveResult.Insert(0, "{" + SetDouMarks("Result") + ": 0," + SetDouMarks("ResultRemark") + ": " + SetDouMarks("Success") + " }");
                memoryData.ListReceiveResult.Insert(0, clearResult);
                memoryData.ListReceiveTopic.Insert(0, "Bind/ClearBindInfo_Respon");
                memoryData.ListSendTopic.Insert(0, "Bind/ClearBindInfo");
@@ -256,6 +271,13 @@
                memoryData.ListReceiveTopic.Add(string.Empty);
                memoryData.ListSendTopic.Add(string.Empty);
            }
            else
            {
                memoryData.ListReceiveResult[0] = clearResult;
                memoryData.ListReceiveTopic[0] = "Bind/ClearBindInfo_Respon";
                memoryData.ListSendTopic[0] = "Bind/ClearBindInfo";
            }
            memoryData.ListSendTopic[2] = "Bind/SetBind";
            memoryData.ListReceiveTopic[2] = "Bind/SetBind_Respon";
            memoryData.ListReceiveResult[2] = receiveResult;
@@ -307,7 +329,7 @@
                }
            }
            //保存数据
            this.SaveDeviceMemmoryData(device);
            this.SaveDeviceMemmoryData(device.DeviceAddr, device.DeviceEpoint);
            return reData;
        }
@@ -322,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();
@@ -366,7 +388,7 @@
                removeData.Result = 0;
            }
            //保存数据
            this.SaveDeviceMemmoryData(device);
            this.SaveDeviceMemmoryData(device.DeviceAddr, device.DeviceEpoint);
            return reData;
        }
@@ -390,7 +412,7 @@
                    }
                }
            }
            this.SaveDeviceMemmoryData(device);
            this.SaveDeviceMemmoryData(device.DeviceAddr, device.DeviceEpoint);
            return new BindObj.ClearBindInfoResponseAllData
            {
@@ -410,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;
@@ -419,9 +441,9 @@
                if (memoryData.ListReceiveResult.Count == 1)
                {
                    //设备绑定有三条命令 第一条为清空
                    memoryData.ListReceiveResult.Insert(0, "{" + SetDouMarks("Result") + ": 0," + SetDouMarks("ResultRemark") + ": " + SetDouMarks("Success") + " }");
                    memoryData.ListReceiveTopic.Insert(0, "Bind/ClearBindInfo_Respon");
                    memoryData.ListSendTopic.Insert(0, "Bind/ClearBindInfo");
                    memoryData.ListReceiveResult.Insert(0, string.Empty);
                    memoryData.ListReceiveTopic.Insert(0, string.Empty);
                    memoryData.ListSendTopic.Insert(0, string.Empty);
                    memoryData.ListReceiveResult.Add(string.Empty);
                    memoryData.ListReceiveTopic.Add(string.Empty);
@@ -432,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
            {
@@ -448,12 +470,13 @@
        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 };
            var dataAttri = new CommonDevice.AttributeDataObj();
            dataAttri.AttributeId = (int)AttriButeId.HdlKey;
            dataAttri.AttriButeData = (int)memoryData.keyMode;
            data.deviceStatusReportData.AttriBute.Add(dataAttri);
@@ -469,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();
@@ -498,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;
@@ -510,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 } };
        }
@@ -524,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震动使能;
@@ -545,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;
        }
@@ -574,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;
            //设备返回的结果
@@ -583,14 +606,14 @@
            + SetDouMarks("Data_ID") + ": 100,"
            + SetDouMarks("Data") + ": {"
            + SetDouMarks("Result") + ": 0,"
            + SetDouMarks("MacName") + ":" + macName+ "}"
            + SetDouMarks("MacName") + ":" + SetDouMarks(macName) + "}"
            + "}";
            memoryData.ListSendTopic[0] = "MacRename";
            memoryData.ListReceiveTopic[0] = "MacRename_Respon";
            memoryData.ListReceiveResult[0] = receiveResult;
            this.SaveDeviceMemmoryData(device);
            this.SaveDeviceMemmoryData(device.DeviceAddr, device.DeviceEpoint);
            return new CommonDevice.RenameDeviceMacNameAllData
            {
@@ -612,25 +635,25 @@
        {
            //获取对象
            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;
            //设备返回的结果
            var receiveResult = "{"
            + SetDouMarks("Device_ID") + ": 2,"
            + SetDouMarks("Device_ID") + ": " + (int)device.Type + ","
            + SetDouMarks("DeviceAddr") + ": " + SetDouMarks(device.DeviceAddr) + ","
            + SetDouMarks("Epoint") + ": " + device.DeviceEpoint + ","
            + SetDouMarks("Data_ID") + ": 96,"
            + SetDouMarks("Data") + ": {"
            + SetDouMarks("Result") + ": 0,"
            + SetDouMarks("DeviceName") + ":" + deviceName + "}"
            + SetDouMarks("DeviceName") + ":" + SetDouMarks(deviceName) + "}"
            + "}";
            memoryData.ListSendTopic[0] = "DeviceRename";
            memoryData.ListReceiveTopic[0] = "DeviceRenameRespon";
            memoryData.ListReceiveResult[0] = receiveResult;
            this.SaveDeviceMemmoryData(device);
            this.SaveDeviceMemmoryData(device.DeviceAddr, device.DeviceEpoint);
            return new CommonDevice.DeviceRenameAllData
            {
@@ -651,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;
        }
@@ -671,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;
        }
@@ -704,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;
@@ -726,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;
        }
@@ -762,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();
@@ -789,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;
@@ -820,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
            {
@@ -850,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)
        {
            //代码移动到别的文件中了
            TemplateCommonLogic.Current.SaveDeviceMemmoryData(device);
            TemplateCommonLogic.Current.SaveDeviceMemmoryData(deviceMac, deviceEpoint);
        }
        #endregion
@@ -864,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)
        {
            //代码移动到别的文件中了
            return TemplateCommonLogic.Current.GetDeviceModelDataClass(device, saveEnum, newClass);
            return TemplateCommonLogic.Current.GetDeviceModelDataClass(deviceMac, deviceEpoint, saveEnum, newClass);
        }
        /// <summary>