From 25429f085093d89d543a0b90e30d0d62d1b7dac9 Mon Sep 17 00:00:00 2001 From: hxb <hxb@hdlchina.com.cn> Date: 星期二, 30 八月 2022 09:37:38 +0800 Subject: [PATCH] 合并了IOS的代码 --- ZigbeeApp/Shared/Phone/TemplateData/TemplateDeviceDataLogic.cs | 1760 +++++++++++++++++++++++++++++----------------------------- 1 files changed, 880 insertions(+), 880 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/TemplateData/TemplateDeviceDataLogic.cs b/ZigbeeApp/Shared/Phone/TemplateData/TemplateDeviceDataLogic.cs old mode 100755 new mode 100644 index c88369a..bb77545 --- a/ZigbeeApp/Shared/Phone/TemplateData/TemplateDeviceDataLogic.cs +++ b/ZigbeeApp/Shared/Phone/TemplateData/TemplateDeviceDataLogic.cs @@ -1,880 +1,880 @@ -锘縰sing System; -using System.Collections.Generic; -using System.Text; -using ZigBee.Device; - -namespace Shared.Phone.TemplateData -{ - /// <summary> - /// 璁惧妯℃澘鏁版嵁鐨勯�昏緫 - /// </summary> - public class TemplateDeviceDataLogic - { - #region 鈻� 鍙橀噺澹版槑___________________________ - - /// <summary> - /// 璁惧妯℃澘鏁版嵁鐨勯�昏緫 - /// </summary> - private static TemplateDeviceDataLogic m_Current = null; - /// <summary> - /// 璁惧妯℃澘鏁版嵁鐨勯�昏緫 - /// </summary> - public static TemplateDeviceDataLogic Current - { - get - { - if (m_Current == null) - { - m_Current = new TemplateDeviceDataLogic(); - } - return m_Current; - } - } - - #endregion - - #region 鈻� 绐楀笜鎵嬫媺鎺у埗_______________________ - - /// <summary> - /// 娣诲姞绐楀笜鎵嬫媺鎺у埗缂撳瓨 - /// </summary> - /// <param name="device">璁惧瀵硅薄</param> - /// <param name="bolStatu">鎵嬫媺鎺у埗鐘舵��</param> - /// <param name="receiveResult">璁惧杩斿洖鐨勭粨鏋�</param> - public void SetCurtainHandPullControl(CommonDevice device, bool bolStatu, string receiveResult) - { - //鑾峰彇瀵硅薄 - var classData = new ModelCurtainHandPullControl(); - 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.DeviceAddr, device.DeviceEpoint); - } - - /// <summary> - /// 鑾峰彇绐楀笜鎵嬫媺鎺у埗鐘舵��(铏氭嫙浣跨敤) - /// </summary> - /// <param name="device"></param> - /// <returns></returns> - public bool GetCurtainHandPullControl(CommonDevice device) - { - //鑾峰彇瀵硅薄 - var classData = new ModelCurtainHandPullControl(); - var memoryData = (ModelCurtainHandPullControl)this.GetDeviceModelDataClass(device.DeviceAddr, device.DeviceEpoint, ModelDeviceSaveEnum.A绐楀笜鎵嬫媺鎺у埗, classData); - - return memoryData.Statu; - } - - #endregion - - #region 鈻� 绐楀笜鏂瑰悜___________________________ - - /// <summary> - /// 璁剧疆绐楀笜鐨勬柟鍚� - /// </summary> - /// <param name="device"></param> - /// <param name="isDirectionReversed"></param> - /// <param name="receiveResult">璁惧杩斿洖鐨勭粨鏋�</param> - /// <returns></returns> - public CommonDevice.SetWritableValueResponAllData SetCurtainDirection(CommonDevice device, bool isDirectionReversed, string receiveResult) - { - //鑾峰彇瀵硅薄 - var classData = new ModelCurtainDirectionAndLimite(); - 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.DeviceAddr, device.DeviceEpoint); - - return new CommonDevice.SetWritableValueResponAllData { setWritableValueResponData = new CommonDevice.SetWritableValueResponData { Status = 0 } }; - } - - #endregion - - #region 鈻� 绐楀笜闄愪綅___________________________ - - /// <summary> - /// 鑾峰彇寮�鍚堝笜鐨勯檺浣� - /// </summary> - /// <param name="rollershade"></param> - /// <param name="upLimit"></param> - /// <param name="downLimit"></param> - /// <param name="curtainLength"></param> - /// <param name="receiveResult">璁惧杩斿洖鐨勭粨鏋�</param> - /// <returns></returns> - public bool SetCurtainLimitPoint(CommonDevice rollershade, int upLimit, int downLimit, int curtainLength, string receiveResult) - { - //鑾峰彇瀵硅薄 - var classData = new ModelCurtainDirectionAndLimite(); - var memoryData = (ModelCurtainDirectionAndLimite)this.GetDeviceModelDataClass(rollershade.DeviceAddr, rollershade.DeviceEpoint, ModelDeviceSaveEnum.A绐楀笜鏂瑰悜鍙婇檺浣�, classData); - memoryData.curtainLength = curtainLength; - memoryData.downLimit = downLimit; - memoryData.upLimit = upLimit; - - memoryData.ListSendTopic[0] = "SetWritableValue"; - memoryData.ListReceiveTopic[0] = "SetWritableValue_Respon"; - memoryData.ListReceiveResult[0] = receiveResult; - - //淇濆瓨鏁版嵁 - this.SaveDeviceMemmoryData(rollershade.DeviceAddr, rollershade.DeviceEpoint); - - return true; - } - - /// <summary> - /// 鑾峰彇寮�鍚堝笜鐨勯檺浣� - /// </summary> - /// <param name="rollershade"></param> - /// <returns></returns> - public ModelCurtainDirectionAndLimite GetCurtainLimitPoint(CommonDevice rollershade) - { - //鑾峰彇瀵硅薄 - var classData = new ModelCurtainDirectionAndLimite(); - var memoryData = (ModelCurtainDirectionAndLimite)this.GetDeviceModelDataClass(rollershade.DeviceAddr, rollershade.DeviceEpoint, ModelDeviceSaveEnum.A绐楀笜鏂瑰悜鍙婇檺浣�, classData); - - return memoryData; - } - - #endregion - - #region 鈻� 绌鸿皟鑷畾涔夋ā寮廮____________________ - - /// <summary> - /// 娣诲姞绌鸿皟鑷畾涔夋ā寮忕紦瀛� - /// </summary> - /// <param name="device">璁惧瀵硅薄</param> - /// <param name="data">鍊�</param> - /// <param name="receiveResult">璁惧杩斿洖鐨勭粨鏋�</param> - public void SetAcModeSupport(CommonDevice device, int data, string receiveResult) - { - //鑾峰彇瀵硅薄 - var classData = new ModelAcModeSupport(); - 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.DeviceAddr, device.DeviceEpoint); - } - - /// <summary> - /// 鑾峰彇绌鸿皟鑷畾涔夋ā寮�(铏氭嫙浣跨敤) - /// </summary> - /// <param name="device"></param> - /// <returns></returns> - public int GetAcModeSupport(CommonDevice device) - { - //鑾峰彇瀵硅薄 - var classData = new ModelAcModeSupport(); - var memoryData = (ModelAcModeSupport)this.GetDeviceModelDataClass(device.DeviceAddr, device.DeviceEpoint, ModelDeviceSaveEnum.A绌鸿皟鑷畾涔夋ā寮�, classData); - - return memoryData.data; - } - - #endregion - - #region 鈻� 绌鸿皟鎽嗛妯″紡_______________________ - - /// <summary> - /// 娣诲姞绌鸿皟鎽嗛妯″紡缂撳瓨 - /// </summary> - /// <param name="device">璁惧瀵硅薄</param> - /// <param name="data">鍊�</param> - /// <param name="receiveResult">璁惧杩斿洖鐨勭粨鏋�</param> - public void SetAcSwingModeSupport(CommonDevice device, int data, string receiveResult) - { - //鑾峰彇瀵硅薄 - var classData = new ModelAcSwingModeSupport(); - 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.DeviceAddr, device.DeviceEpoint); - } - - /// <summary> - /// 鑾峰彇绌鸿皟鎽嗛妯″紡(铏氭嫙浣跨敤) - /// </summary> - /// <param name="device"></param> - /// <returns></returns> - public int GetAcSwingModeSupport(CommonDevice device) - { - //鑾峰彇瀵硅薄 - var classData = new ModelAcSwingModeSupport(); - var memoryData = (ModelAcSwingModeSupport)this.GetDeviceModelDataClass(device.DeviceAddr, device.DeviceEpoint, ModelDeviceSaveEnum.A绌鸿皟鎽嗛鍔熻兘, classData); - - return memoryData.data; - } - - #endregion - - #region 鈻� 璁惧缁戝畾___________________________ - - /// <summary> - /// 鑾峰彇璁惧缁戝畾鍒楄〃鐨勭紦瀛� - /// </summary> - /// <param name="device">璁惧瀵硅薄</param> - /// <returns></returns> - public List<BindObj.BindListResponseObj> GetDeviceBindList(CommonDevice device) - { - //鑾峰彇瀵硅薄 - var classData = new ModelDeviceBindData(); - var memoryData = (ModelDeviceBindData)this.GetDeviceModelDataClass(device.DeviceAddr, device.DeviceEpoint, ModelDeviceSaveEnum.A璁惧缁戝畾鍒楄〃, classData); - - return memoryData.BindList; - } - - /// <summary> - /// 娣诲姞璁惧缁戝畾鍒楄〃鐨勭紦瀛� - /// </summary> - /// <param name="addBindData"></param> - /// <param name="receiveResult">璁惧杩斿洖鐨勭粨鏋�</param> - /// <returns></returns> - public BindObj.AddedDeviceBindResponseAllData AddDeviceBindList(BindObj.AddBindData addBindData, string receiveResult) - { - var device = Common.LocalDevice.Current.GetDevice(addBindData.DeviceAddr, addBindData.Epoint); - //鑾峰彇瀵硅薄 - var classData = new ModelDeviceBindData(); - 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, clearResult); - memoryData.ListReceiveTopic.Insert(0, "Bind/ClearBindInfo_Respon"); - memoryData.ListSendTopic.Insert(0, "Bind/ClearBindInfo"); - - memoryData.ListReceiveResult.Add(string.Empty); - 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; - - var reData = new BindObj.AddedDeviceBindResponseAllData(); - reData.addedDeviceBindResponseData = new BindObj.AddedDeviceBindResponseData(); - reData.addedDeviceBindResponseData.Result = 0; - - foreach (var data in addBindData.BindList) - { - bool canAdd = true; - for (int i = 0; i < memoryData.BindList.Count; i++) - { - var bindData = memoryData.BindList[i]; - //濡傛灉鏄澶� - if (bindData.BindType == 0 && data.BindType == 0 - && bindData.BindMacAddr == data.BindMacAddr - && bindData.BindEpoint == data.BindEpoint - && bindData.BindCluster == data.BindCluster) - { - //鍚屼竴涓笢瑗夸笉闇�瑕佹浛鎹� - canAdd = false; - reData.addedDeviceBindResponseData.BindList.Add(bindData); - break; - } - //濡傛灉鏄満鏅� - if (bindData.BindType == 2 && data.BindType == 1 - && bindData.BindScenesId == data.BindScenesId - && bindData.BindCluster == data.BindCluster) - { - //鍚屼竴涓笢瑗夸笉闇�瑕佹浛鎹� - canAdd = false; - reData.addedDeviceBindResponseData.BindList.Add(bindData); - break; - } - } - if (canAdd == true) - { - //娣诲姞鏂扮殑缂撳瓨 - var newData = new BindObj.BindListResponseObj(); - memoryData.BindList.Add(newData); - - newData.BindCluster = data.BindCluster; - newData.BindEpoint = data.BindEpoint; - newData.BindMacAddr = data.BindMacAddr; - newData.BindScenesId = data.BindScenesId; - newData.BindType = data.BindType == 0 ? 0 : 2; - reData.addedDeviceBindResponseData.BindList.Add(newData); - } - } - //淇濆瓨鏁版嵁 - this.SaveDeviceMemmoryData(device.DeviceAddr, device.DeviceEpoint); - - return reData; - } - - /// <summary> - /// 鍒犻櫎璁惧缁戝畾鍒楄〃鐨勭紦瀛� - /// </summary> - /// <param name="delDeviceBindData"></param> - /// <returns></returns> - public BindObj.DelDeviceBindResponseAllData DeleteDeviceBindList(BindObj.DelDeviceBindData delDeviceBindData) - { - var device = Common.LocalDevice.Current.GetDevice(delDeviceBindData.DeviceAddr, delDeviceBindData.Epoint); - //鑾峰彇瀵硅薄 - var classData = new ModelDeviceBindData(); - var memoryData = (ModelDeviceBindData)this.GetDeviceModelDataClass(device.DeviceAddr, device.DeviceEpoint, ModelDeviceSaveEnum.A璁惧缁戝畾鍒楄〃, classData); - - //杩斿洖鍊� - var reData = new BindObj.DelDeviceBindResponseAllData(); - reData.removeBindResultResponseData = new BindObj.RemoveBindResultResponseData(); - reData.removeBindResultResponseData.Result = 0; - - reData.delDeviceBindResponseData = new BindObj.DelDeviceBindResponseData(); - - foreach (var data in delDeviceBindData.RemoveBindList) - { - for (int i = 0; i < memoryData.BindList.Count; i++) - { - var bindData = memoryData.BindList[i]; - //濡傛灉鏄澶� - if (bindData.BindType == 0 && data.BindType == 0 - && bindData.BindMacAddr == data.BindMacAddr - && bindData.BindEpoint == data.BindEpoint - && bindData.BindCluster == data.BindCluster) - { - //绉婚櫎缂撳瓨 - memoryData.BindList.RemoveAt(i); - break; - } - //濡傛灉鏄満鏅� - if (bindData.BindType == 2 && data.BindType == 1 - && bindData.BindScenesId == data.BindScenesId - && bindData.BindCluster == data.BindCluster) - { - //绉婚櫎缂撳瓨 - memoryData.BindList.RemoveAt(i); - break; - } - } - var removeData = new BindObj.RemoveBindListResponseObj(); - reData.delDeviceBindResponseData.RemoveBindList.Add(removeData); - removeData.BindCluster = data.BindCluster; - removeData.BindEpoint = data.BindEpoint; - removeData.BindMacAddr = data.BindMacAddr; - removeData.BindScenesId = data.BindScenesId; - removeData.BindType = data.BindType == 0 ? 0 : 2; - removeData.Result = 0; - } - //淇濆瓨鏁版嵁 - this.SaveDeviceMemmoryData(device.DeviceAddr, device.DeviceEpoint); - return reData; - } - - /// <summary> - /// 鍒犻櫎鎸囧畾璁惧鐨勫叏閮ㄧ粦瀹� - /// </summary> - /// <param name="device"></param> - /// <returns></returns> - public BindObj.ClearBindInfoResponseAllData ClearDeviceAllBind(CommonDevice device) - { - string mainkey = Common.LocalDevice.Current.GetDeviceMainKeys(device); - if (TemplateCommonLogic.Current.modelData.dicDeviceTemplateData.ContainsKey(mainkey) == true) - { - //绉婚櫎鍏ㄩ儴鐨� 璁惧缁戝畾鍒楄〃 鏁版嵁 - var listBind = TemplateCommonLogic.Current.modelData.dicDeviceTemplateData[mainkey]; - for (int i = 0; i < listBind.Count; i++) - { - if (listBind[i].DataSaveDiv == ModelDeviceSaveEnum.A璁惧缁戝畾鍒楄〃) - { - ((ModelDeviceBindData)listBind[i]).BindList.Clear(); - } - } - } - this.SaveDeviceMemmoryData(device.DeviceAddr, device.DeviceEpoint); - - return new BindObj.ClearBindInfoResponseAllData - { - clearBindInfoResponseData = new BindObj.ClearBindInfoResponseData { Result = 0 } - }; - } - - /// <summary> - /// 閰嶇疆鎸夐敭鐨勫姛鑳芥ā寮� - /// </summary> - /// <param name="device"></param> - /// <param name="value"></param> - /// <param name="clusterID"></param> - /// <param name="receiveResult">璁惧杩斿洖鐨勭粨鏋�</param> - /// <returns></returns> - public CommonDevice.SetWritableValueResponAllData ConfigurePanelKeyModel(CommonDevice device, Panel.KeyMode value, int clusterID, string receiveResult) - { - //鑾峰彇瀵硅薄 - var classData = new ModelDeviceBindData(); - var memoryData = (ModelDeviceBindData)this.GetDeviceModelDataClass(device.DeviceAddr, device.DeviceEpoint, ModelDeviceSaveEnum.A璁惧缁戝畾鍒楄〃, classData); - memoryData.keyMode = value; - memoryData.keyModeClusterID = clusterID; - - if (memoryData.ListReceiveResult.Count == 1) - { - if (memoryData.ListReceiveResult.Count == 1) - { - //璁惧缁戝畾鏈変笁鏉″懡浠� 绗竴鏉′负娓呯┖ - 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); - memoryData.ListSendTopic.Add(string.Empty); - } - } - memoryData.ListSendTopic[1] = "SetWritableValue"; - memoryData.ListReceiveTopic[1] = "SetWritableValue_Respon"; - memoryData.ListReceiveResult[1] = receiveResult; - - this.SaveDeviceMemmoryData(device.DeviceAddr, device.DeviceEpoint); - - return new CommonDevice.SetWritableValueResponAllData - { - setWritableValueResponData = new CommonDevice.SetWritableValueResponData { Status = 0 } - }; - } - - /// <summary> - /// 鑾峰彇鎸夐敭鐨勫姛鑳芥ā寮� - /// </summary> - /// <param name="device"></param> - /// <returns></returns> - public Panel.PanelConfigureInfoResponAllData ReadPanelConfigureKeyModel(CommonDevice device) - { - var classData = new ModelDeviceBindData(); - 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); - - return data; - } - - #endregion - - #region 鈻� Pir浼犳劅鍣╛_________________________ - - /// <summary> - /// 鑾峰彇Pir浼犳劅鍣ㄧ殑閰嶇疆 - /// </summary> - /// <param name="device"></param> - /// <returns></returns> - public IASZone.ParamatesInfo GetPirSensorLightSettion(string deviceMac, int deviceEpoint) - { - //鑾峰彇瀵硅薄 - var classData = new ModelPirSensorSettion(); - var memoryData = (ModelPirSensorSettion)this.GetDeviceModelDataClass(deviceMac, deviceEpoint, ModelDeviceSaveEnum.APir閰嶇疆, classData); - - var localData = new IASZone.ParamatesInfo(); - localData.configureParamates = new IASZone.ConfigureParamates(); - localData.configureParamates.controlDevEnable = memoryData.pirConfigure.controlDevEnable; - localData.configureParamates.dimmerLevel = memoryData.pirConfigure.dimmerLevel; - localData.configureParamates.dimmerOffTime = memoryData.pirConfigure.dimmerOffTime; - localData.configureParamates.dimmerOnTime = memoryData.pirConfigure.dimmerOnTime; - localData.configureParamates.iasReportPeriod = memoryData.pirConfigure.iasReportPeriod; - localData.configureParamates.levelEnable = memoryData.pirConfigure.levelEnable; - localData.configureParamates.levelSize = memoryData.pirConfigure.levelSize; - localData.configureParamates.mode = memoryData.pirConfigure.mode; - localData.configureParamates.transitionTime = memoryData.pirConfigure.transitionTime; - localData.configureParamates.type = memoryData.pirConfigure.type; - - return localData; - } - - /// <summary> - /// 璁剧疆Pir浼犳劅鍣ㄧ殑閰嶇疆 - /// </summary> - /// <param name="device"></param> - /// <param name="configureParamates"></param> - /// <param name="receiveResult">璁惧杩斿洖鐨勭粨鏋�</param> - /// <returns></returns> - public IASZone.ResponseAllData SetPirSensorLightSettion(string deviceMac, int deviceEpoint, IASZone.ConfigureParamates configureParamates, string receiveResult) - { - //鑾峰彇瀵硅薄 - var classData = new ModelPirSensorSettion(); - var memoryData = (ModelPirSensorSettion)this.GetDeviceModelDataClass(deviceMac, deviceEpoint, ModelDeviceSaveEnum.APir閰嶇疆, classData); - - memoryData.pirConfigure = configureParamates; - - memoryData.ListSendTopic[0] = "ClientDataPassthrough"; - memoryData.ListReceiveTopic[0] = "ZbDataPassthrough"; - memoryData.ListReceiveResult[0] = receiveResult; - - this.SaveDeviceMemmoryData(deviceMac, deviceEpoint); - - return new CommonDevice.ResponseAllData { responseData = new CommonDevice.ResponseData { status = 0 } }; - } - - #endregion - - #region 鈻� 闈㈡澘闇囧姩鍔熻兘_______________________ - - /// <summary> - /// 鑾峰彇闈㈡澘闇囧姩鍔熻兘 - /// </summary> - /// <param name="device"></param> - /// <returns></returns> - public UserCenter.HdlDevicePanelLogic.PanelVibrationInfo GetPanelVibrationInfo(string deviceMac, int deviceEpoint) - { - //鑾峰彇瀵硅薄 - var classData = new ModelPanelVibrationInfo(); - var memoryData = (ModelPanelVibrationInfo)this.GetDeviceModelDataClass(deviceMac, deviceEpoint, ModelDeviceSaveEnum.A闈㈡澘闇囧姩鍔熻兘, classData); - - var data = new UserCenter.HdlDevicePanelLogic.PanelVibrationInfo(); - data.A闇囧姩浣胯兘 = memoryData.vibrationInfo.A闇囧姩浣胯兘; - data.A闇囧姩寮哄害 = memoryData.vibrationInfo.A闇囧姩寮哄害; - data.A闇囧姩鏃堕棿 = memoryData.vibrationInfo.A闇囧姩鏃堕棿; - - return data; - } - - /// <summary> - /// 璁剧疆闈㈡澘闇囧姩鍔熻兘 - /// </summary> - /// <param name="device"></param> - /// <param name="datainfo"></param> - /// <param name="receiveResult">璁惧杩斿洖鐨勭粨鏋�</param> - /// <returns></returns> - public bool SetPanelVibrationInfo(string deviceMac, int deviceEpoint, UserCenter.HdlDevicePanelLogic.PanelVibrationInfo datainfo, string receiveResult) - { - //鑾峰彇瀵硅薄 - var classData = new ModelPanelVibrationInfo(); - 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(deviceMac, deviceEpoint); - - return true; - } - #endregion - - #region 鈻� 璁惧鍚嶇О___________________________ - - /// <summary> - /// 淇敼璁惧Mac鍚嶇О - /// </summary> - /// <param name="device"></param> - /// <param name="macName"></param> - /// <returns></returns> - public CommonDevice.RenameDeviceMacNameAllData ReDeviceMacName(CommonDevice device, string macName) - { - //鑾峰彇瀵硅薄 - var classData = new ModelDeviceMacNameInfo(); - var memoryData = (ModelDeviceMacNameInfo)this.GetDeviceModelDataClass(device.DeviceAddr, device.DeviceEpoint, ModelDeviceSaveEnum.A璁惧鍚嶇О, classData); - memoryData.deviceMacName = macName; - - //璁惧杩斿洖鐨勭粨鏋� - var receiveResult = "{" - + SetDouMarks("DeviceAddr") + ": " + SetDouMarks(device.DeviceAddr) + "," - + SetDouMarks("Data_ID") + ": 100," - + SetDouMarks("Data") + ": {" - + SetDouMarks("Result") + ": 0," - + SetDouMarks("MacName") + ":" + SetDouMarks(macName) + "}" - + "}"; - - memoryData.ListSendTopic[0] = "MacRename"; - memoryData.ListReceiveTopic[0] = "MacRename_Respon"; - memoryData.ListReceiveResult[0] = receiveResult; - - this.SaveDeviceMemmoryData(device.DeviceAddr, device.DeviceEpoint); - - return new CommonDevice.RenameDeviceMacNameAllData - { - renameDeviceMacNameData = new CommonDevice.RenameDeviceMacNameData - { - Result = 0, - MacName = macName - } - }; - } - - /// <summary> - /// 淇敼璁惧绔偣鍚嶇О - /// </summary> - /// <param name="device"></param> - /// <param name="macName"></param> - /// <returns></returns> - public CommonDevice.DeviceRenameAllData ReDeviceEpointName(CommonDevice device, string deviceName) - { - //鑾峰彇瀵硅薄 - var classData = new ModelDeviceEpointNameInfo(); - var memoryData = (ModelDeviceEpointNameInfo)this.GetDeviceModelDataClass(device.DeviceAddr, device.DeviceEpoint, ModelDeviceSaveEnum.A绔偣鍚嶇О, classData); - memoryData.deviceEpointName = deviceName; - - //璁惧杩斿洖鐨勭粨鏋� - var receiveResult = "{" - + 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") + ":" + SetDouMarks(deviceName) + "}" - + "}"; - - memoryData.ListSendTopic[0] = "DeviceRename"; - memoryData.ListReceiveTopic[0] = "DeviceRenameRespon"; - memoryData.ListReceiveResult[0] = receiveResult; - - this.SaveDeviceMemmoryData(device.DeviceAddr, device.DeviceEpoint); - - return new CommonDevice.DeviceRenameAllData - { - deviceRenameData = new CommonDevice.DeviceRenameResponseData - { - Result = 0, - DeviceName = deviceName - } - }; - } - - #endregion - - #region 鈻� 闈㈡澘鑳屽厜鐏缃甠____________________ - - /// <summary> - /// 鑾峰彇璁惧浜害閰嶇疆锛坲i鍙寒搴﹁皟鑺�,浣跨敤杩斿洖鍊肩殑panelDirectionsLevel锛� - /// </summary> - /// <param name="device"></param> - /// <returns></returns> - public Panel.PanelSwitchLevelInfo GetDeviceLightSettion(string deviceMac, int deviceEpoint) - { - //鑾峰彇瀵硅薄 - var classData = new ModelPanelBrightnessAdjustInfo(); - var memoryData = (ModelPanelBrightnessAdjustInfo)this.GetDeviceModelDataClass(deviceMac, deviceEpoint, ModelDeviceSaveEnum.A闈㈡澘浜害璋冭妭, classData); - - var data = new Panel.PanelSwitchLevelInfo(); - data.panelBacklightLevel = memoryData.panelBacklightLevel == -1 ? 0 : memoryData.panelBacklightLevel; - data.panelDirectionsLevel = memoryData.panelDirectionsLevel == -1 ? 0 : memoryData.panelDirectionsLevel; - return data; - } - - /// <summary> - /// 璁剧疆璁惧浜害锛坲i鍙寒搴﹁皟鑺傦級 - /// </summary> - /// <param name="panel">璁惧瀵硅薄</param> - /// <param name="directionsLevel">0-100(杩欎釜鏄偣鍑诲悗鐨勫��)</param> - /// <param name="backlightLevel">0-100(杩欎釜鏄偣鍑诲墠鐨勫��)</param> - /// <param name="receiveResult">璁惧杩斿洖鐨勭粨鏋�</param> - /// <returns></returns> - public bool SetDeviceLightSettion(string deviceMac, int deviceEpoint, int directionsLevel, int backlightLevel, string receiveResult) - { - //鑾峰彇瀵硅薄 - var classData = new ModelPanelBrightnessAdjustInfo(); - var memoryData = (ModelPanelBrightnessAdjustInfo)this.GetDeviceModelDataClass(deviceMac, deviceEpoint, ModelDeviceSaveEnum.A闈㈡澘浜害璋冭妭, classData); - memoryData.panelBacklightLevel = backlightLevel; - memoryData.panelDirectionsLevel = directionsLevel; - - memoryData.ListSendTopic[0] = "ClientDataPassthrough"; - memoryData.ListReceiveTopic[0] = "ZbDataPassthrough"; - memoryData.ListReceiveResult[0] = receiveResult; - - this.SaveDeviceMemmoryData(deviceMac, deviceEpoint); - - return true; - } - - /// <summary> - /// 鑾峰彇璁惧鑺傝兘妯″紡鐨勯厤缃姸鎬�(ui鍙妭鑳芥ā寮�) - /// </summary> - /// <param name="device"></param> - /// <returns></returns> - public Panel.PanelSaveEnergyModeInfo GetDeviceEnergyConservationMode(string deviceMac, int deviceEpoint) - { - //鑾峰彇瀵硅薄 - var classData = new ModelPanelEnergyModeInfo(); - var memoryData = (ModelPanelEnergyModeInfo)this.GetDeviceModelDataClass(deviceMac, deviceEpoint, ModelDeviceSaveEnum.A闈㈡澘鑺傝兘妯″紡, classData); - - var data = new Panel.PanelSaveEnergyModeInfo(); - data.enable = memoryData.energyModeInfo.enable; - data.level = memoryData.energyModeInfo.level == -1 ? 0 : memoryData.energyModeInfo.level; - data.time = memoryData.energyModeInfo.time == -1 ? 0 : memoryData.energyModeInfo.time; - return data; - } - - /// <summary> - /// 璁剧疆璁惧鐨勮妭鑳芥ā寮�(ui鍙妭鑳芥ā寮�) - /// </summary> - /// <param name="device">璁惧瀵硅薄</param> - /// <param name="modeEnable">鑺傝兘妯″紡鏄惁鏈夋晥</param> - /// <param name="modeTime">鏃犳搷浣滆繘鍏ヨ妭鑳芥ā寮忔椂闂� 0-255</param> - /// <param name="level">鑺傝兘妯″紡浜害:0-100</param> - /// <param name="receiveResult">璁惧杩斿洖鐨勭粨鏋�</param> - /// <returns></returns> - public bool SetDeviceEnergyConservationMode(string deviceMac, int deviceEpoint, bool modeEnable, int modeTime, int level, string receiveResult) - { - //鑾峰彇瀵硅薄 - 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; - - memoryData.ListSendTopic[0] = "ClientDataPassthrough"; - memoryData.ListReceiveTopic[0] = "ZbDataPassthrough"; - memoryData.ListReceiveResult[0] = receiveResult; - - this.SaveDeviceMemmoryData(deviceMac, deviceEpoint); - - return true; - } - - /// <summary> - /// 鑾峰彇鎸夐敭鎸囩ず鐏紑鍏抽鑹�. - /// </summary> - /// <param name="device"></param> - /// <param name="keyNum"></param> - /// <returns></returns> - public Panel.KeyColorDataResponseAllData GetPanelColorInfo(string deviceMac, int deviceEpoint, Panel.KeyNum keyNum) - { - //鑾峰彇瀵硅薄 - var classData = new ModelPanelIndicatorLightInfo(); - var memoryData = (ModelPanelIndicatorLightInfo)this.GetDeviceModelDataClass(deviceMac, deviceEpoint, ModelDeviceSaveEnum.A闈㈡澘鎸囩ず鐏�, classData); - - var data = new Panel.KeyColorDataResponseAllData(); - data.keyColorData = new Panel.KeyColorData(); - data.keyColorData.CloseColorB = string.IsNullOrEmpty(memoryData.keyColorData.CloseColorB) == true ? "0" : memoryData.keyColorData.CloseColorB; - data.keyColorData.CloseColorG = string.IsNullOrEmpty(memoryData.keyColorData.CloseColorG) == true ? "0" : memoryData.keyColorData.CloseColorG; - data.keyColorData.CloseColorR = string.IsNullOrEmpty(memoryData.keyColorData.CloseColorR) == true ? "0" : memoryData.keyColorData.CloseColorR; - data.keyColorData.OpenColorB = string.IsNullOrEmpty(memoryData.keyColorData.OpenColorB) == true ? "0" : memoryData.keyColorData.OpenColorB; - data.keyColorData.OpenColorG = string.IsNullOrEmpty(memoryData.keyColorData.OpenColorG) == true ? "0" : memoryData.keyColorData.OpenColorG; - data.keyColorData.OpenColorR = string.IsNullOrEmpty(memoryData.keyColorData.OpenColorR) == true ? "0" : memoryData.keyColorData.OpenColorR; - data.keyColorData.keyNum = keyNum; - - return data; - } - - /// <summary> - /// 閰嶇疆鎸夐敭鎸囩ず鐏鑹� - /// </summary> - /// <param name="device"></param> - /// <param name="keyColorData"></param> - /// <param name="keyNumStatus"></param> - /// <param name="receiveResult">璁惧杩斿洖鐨勭粨鏋�</param> - /// <returns></returns> - public CommonDevice.ResponseAllData SetPanelColorInfo(string deviceMac, int deviceEpoint, Panel.KeyColorData keyColorData, Panel.KeyNumStatus keyNumStatus, string receiveResult) - { - //鑾峰彇瀵硅薄 - var classData = new ModelPanelIndicatorLightInfo(); - var memoryData = (ModelPanelIndicatorLightInfo)this.GetDeviceModelDataClass(deviceMac, deviceEpoint, ModelDeviceSaveEnum.A闈㈡澘鎸囩ず鐏�, classData); - - memoryData.keyColorData.keyNum = keyColorData.keyNum; - memoryData.keyColorData.OpenColorB = keyColorData.OpenColorB; - memoryData.keyColorData.OpenColorG = keyColorData.OpenColorG; - memoryData.keyColorData.OpenColorR = keyColorData.OpenColorR; - memoryData.keyColorData.CloseColorB = keyColorData.CloseColorB; - memoryData.keyColorData.CloseColorG = keyColorData.CloseColorG; - memoryData.keyColorData.CloseColorR = keyColorData.CloseColorR; - - memoryData.KeyNum.Key1 = keyNumStatus.Key1; - memoryData.KeyNum.Key2 = keyNumStatus.Key2; - memoryData.KeyNum.Key3 = keyNumStatus.Key3; - memoryData.KeyNum.Key4 = keyNumStatus.Key4; - memoryData.KeyNum.Key5 = keyNumStatus.Key5; - memoryData.KeyNum.Key6 = keyNumStatus.Key6; - memoryData.KeyNum.Key7 = keyNumStatus.Key7; - memoryData.KeyNum.Key8 = keyNumStatus.Key8; - memoryData.KeyNum.Key9 = keyNumStatus.Key9; - memoryData.KeyNum.Key10 = keyNumStatus.Key10; - memoryData.KeyNum.Key11 = keyNumStatus.Key11; - memoryData.KeyNum.Key12 = keyNumStatus.Key12; - memoryData.KeyNum.Key13 = keyNumStatus.Key13; - memoryData.KeyNum.Key14 = keyNumStatus.Key14; - memoryData.KeyNum.Key15 = keyNumStatus.Key15; - memoryData.KeyNum.Key16 = keyNumStatus.Key16; - - memoryData.ListSendTopic[0] = "ClientDataPassthrough"; - memoryData.ListReceiveTopic[0] = "ZbDataPassthrough"; - memoryData.ListReceiveResult[0] = receiveResult; - - this.SaveDeviceMemmoryData(deviceMac, deviceEpoint); - - return new CommonDevice.ResponseAllData - { - responseData = new CommonDevice.ResponseData - { status = 0 } - }; - } - - #endregion - - #region 鈻� 淇濆瓨璁惧缂撳瓨_______________________ - - /// <summary> - /// 淇濆瓨璁惧缂撳瓨(鑰冭檻鏈夌殑璁惧鐢ㄧ殑鏄�200绔偣,鎵�浠ヨ繖閲屾渶濂戒笉鐢ㄨ澶囧璞′綔涓哄弬鏁�) - /// </summary> - /// <param name="deviceMac"></param> - /// <param name="deviceEpoint"></param> - public void SaveDeviceMemmoryData(string deviceMac, int deviceEpoint) - { - //浠g爜绉诲姩鍒板埆鐨勬枃浠朵腑浜� - TemplateCommonLogic.Current.SaveDeviceMemmoryData(deviceMac, deviceEpoint); - } - - #endregion - - #region 鈻� 涓�鑸柟娉昣__________________________ - - /// <summary> - /// 鑾峰彇璁惧淇濆瓨鐨勬ā鏉垮璞�(鑰冭檻鏈夌殑璁惧鐢ㄧ殑鏄�200绔偣,鎵�浠ヨ繖閲屾渶濂戒笉鐢ㄨ澶囧璞′綔涓哄弬鏁�) - /// </summary> - /// <param name="deviceMac"></param> - /// <param name="deviceEpoint"></param> - /// <param name="saveEnum"></param> - /// <returns></returns> - private TemplateDeviceDataCommon GetDeviceModelDataClass(string deviceMac, int deviceEpoint, ModelDeviceSaveEnum saveEnum, TemplateDeviceDataCommon newClass) - { - //浠g爜绉诲姩鍒板埆鐨勬枃浠朵腑浜� - return TemplateCommonLogic.Current.GetDeviceModelDataClass(deviceMac, deviceEpoint, saveEnum, newClass); - } - - /// <summary> - /// 娣诲姞鍙屽紩鍙� - /// </summary> - /// <param name="i_text"></param> - /// <returns></returns> - private string SetDouMarks(string i_text) - { - return UserCenter.UserCenterResourse.douMarks + i_text + UserCenter.UserCenterResourse.douMarks; - } - - #endregion - } -} +锘縰sing System; +using System.Collections.Generic; +using System.Text; +using ZigBee.Device; + +namespace Shared.Phone.TemplateData +{ + /// <summary> + /// 璁惧妯℃澘鏁版嵁鐨勯�昏緫 + /// </summary> + public class TemplateDeviceDataLogic + { + #region 鈻� 鍙橀噺澹版槑___________________________ + + /// <summary> + /// 璁惧妯℃澘鏁版嵁鐨勯�昏緫 + /// </summary> + private static TemplateDeviceDataLogic m_Current = null; + /// <summary> + /// 璁惧妯℃澘鏁版嵁鐨勯�昏緫 + /// </summary> + public static TemplateDeviceDataLogic Current + { + get + { + if (m_Current == null) + { + m_Current = new TemplateDeviceDataLogic(); + } + return m_Current; + } + } + + #endregion + + #region 鈻� 绐楀笜鎵嬫媺鎺у埗_______________________ + + /// <summary> + /// 娣诲姞绐楀笜鎵嬫媺鎺у埗缂撳瓨 + /// </summary> + /// <param name="device">璁惧瀵硅薄</param> + /// <param name="bolStatu">鎵嬫媺鎺у埗鐘舵��</param> + /// <param name="receiveResult">璁惧杩斿洖鐨勭粨鏋�</param> + public void SetCurtainHandPullControl(CommonDevice device, bool bolStatu, string receiveResult) + { + //鑾峰彇瀵硅薄 + var classData = new ModelCurtainHandPullControl(); + 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.DeviceAddr, device.DeviceEpoint); + } + + /// <summary> + /// 鑾峰彇绐楀笜鎵嬫媺鎺у埗鐘舵��(铏氭嫙浣跨敤) + /// </summary> + /// <param name="device"></param> + /// <returns></returns> + public bool GetCurtainHandPullControl(CommonDevice device) + { + //鑾峰彇瀵硅薄 + var classData = new ModelCurtainHandPullControl(); + var memoryData = (ModelCurtainHandPullControl)this.GetDeviceModelDataClass(device.DeviceAddr, device.DeviceEpoint, ModelDeviceSaveEnum.A绐楀笜鎵嬫媺鎺у埗, classData); + + return memoryData.Statu; + } + + #endregion + + #region 鈻� 绐楀笜鏂瑰悜___________________________ + + /// <summary> + /// 璁剧疆绐楀笜鐨勬柟鍚� + /// </summary> + /// <param name="device"></param> + /// <param name="isDirectionReversed"></param> + /// <param name="receiveResult">璁惧杩斿洖鐨勭粨鏋�</param> + /// <returns></returns> + public CommonDevice.SetWritableValueResponAllData SetCurtainDirection(CommonDevice device, bool isDirectionReversed, string receiveResult) + { + //鑾峰彇瀵硅薄 + var classData = new ModelCurtainDirectionAndLimite(); + 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.DeviceAddr, device.DeviceEpoint); + + return new CommonDevice.SetWritableValueResponAllData { setWritableValueResponData = new CommonDevice.SetWritableValueResponData { Status = 0 } }; + } + + #endregion + + #region 鈻� 绐楀笜闄愪綅___________________________ + + /// <summary> + /// 鑾峰彇寮�鍚堝笜鐨勯檺浣� + /// </summary> + /// <param name="rollershade"></param> + /// <param name="upLimit"></param> + /// <param name="downLimit"></param> + /// <param name="curtainLength"></param> + /// <param name="receiveResult">璁惧杩斿洖鐨勭粨鏋�</param> + /// <returns></returns> + public bool SetCurtainLimitPoint(CommonDevice rollershade, int upLimit, int downLimit, int curtainLength, string receiveResult) + { + //鑾峰彇瀵硅薄 + var classData = new ModelCurtainDirectionAndLimite(); + var memoryData = (ModelCurtainDirectionAndLimite)this.GetDeviceModelDataClass(rollershade.DeviceAddr, rollershade.DeviceEpoint, ModelDeviceSaveEnum.A绐楀笜鏂瑰悜鍙婇檺浣�, classData); + memoryData.curtainLength = curtainLength; + memoryData.downLimit = downLimit; + memoryData.upLimit = upLimit; + + memoryData.ListSendTopic[0] = "SetWritableValue"; + memoryData.ListReceiveTopic[0] = "SetWritableValue_Respon"; + memoryData.ListReceiveResult[0] = receiveResult; + + //淇濆瓨鏁版嵁 + this.SaveDeviceMemmoryData(rollershade.DeviceAddr, rollershade.DeviceEpoint); + + return true; + } + + /// <summary> + /// 鑾峰彇寮�鍚堝笜鐨勯檺浣� + /// </summary> + /// <param name="rollershade"></param> + /// <returns></returns> + public ModelCurtainDirectionAndLimite GetCurtainLimitPoint(CommonDevice rollershade) + { + //鑾峰彇瀵硅薄 + var classData = new ModelCurtainDirectionAndLimite(); + var memoryData = (ModelCurtainDirectionAndLimite)this.GetDeviceModelDataClass(rollershade.DeviceAddr, rollershade.DeviceEpoint, ModelDeviceSaveEnum.A绐楀笜鏂瑰悜鍙婇檺浣�, classData); + + return memoryData; + } + + #endregion + + #region 鈻� 绌鸿皟鑷畾涔夋ā寮廮____________________ + + /// <summary> + /// 娣诲姞绌鸿皟鑷畾涔夋ā寮忕紦瀛� + /// </summary> + /// <param name="device">璁惧瀵硅薄</param> + /// <param name="data">鍊�</param> + /// <param name="receiveResult">璁惧杩斿洖鐨勭粨鏋�</param> + public void SetAcModeSupport(CommonDevice device, int data, string receiveResult) + { + //鑾峰彇瀵硅薄 + var classData = new ModelAcModeSupport(); + 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.DeviceAddr, device.DeviceEpoint); + } + + /// <summary> + /// 鑾峰彇绌鸿皟鑷畾涔夋ā寮�(铏氭嫙浣跨敤) + /// </summary> + /// <param name="device"></param> + /// <returns></returns> + public int GetAcModeSupport(CommonDevice device) + { + //鑾峰彇瀵硅薄 + var classData = new ModelAcModeSupport(); + var memoryData = (ModelAcModeSupport)this.GetDeviceModelDataClass(device.DeviceAddr, device.DeviceEpoint, ModelDeviceSaveEnum.A绌鸿皟鑷畾涔夋ā寮�, classData); + + return memoryData.data; + } + + #endregion + + #region 鈻� 绌鸿皟鎽嗛妯″紡_______________________ + + /// <summary> + /// 娣诲姞绌鸿皟鎽嗛妯″紡缂撳瓨 + /// </summary> + /// <param name="device">璁惧瀵硅薄</param> + /// <param name="data">鍊�</param> + /// <param name="receiveResult">璁惧杩斿洖鐨勭粨鏋�</param> + public void SetAcSwingModeSupport(CommonDevice device, int data, string receiveResult) + { + //鑾峰彇瀵硅薄 + var classData = new ModelAcSwingModeSupport(); + 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.DeviceAddr, device.DeviceEpoint); + } + + /// <summary> + /// 鑾峰彇绌鸿皟鎽嗛妯″紡(铏氭嫙浣跨敤) + /// </summary> + /// <param name="device"></param> + /// <returns></returns> + public int GetAcSwingModeSupport(CommonDevice device) + { + //鑾峰彇瀵硅薄 + var classData = new ModelAcSwingModeSupport(); + var memoryData = (ModelAcSwingModeSupport)this.GetDeviceModelDataClass(device.DeviceAddr, device.DeviceEpoint, ModelDeviceSaveEnum.A绌鸿皟鎽嗛鍔熻兘, classData); + + return memoryData.data; + } + + #endregion + + #region 鈻� 璁惧缁戝畾___________________________ + + /// <summary> + /// 鑾峰彇璁惧缁戝畾鍒楄〃鐨勭紦瀛� + /// </summary> + /// <param name="device">璁惧瀵硅薄</param> + /// <returns></returns> + public List<BindObj.BindListResponseObj> GetDeviceBindList(CommonDevice device) + { + //鑾峰彇瀵硅薄 + var classData = new ModelDeviceBindData(); + var memoryData = (ModelDeviceBindData)this.GetDeviceModelDataClass(device.DeviceAddr, device.DeviceEpoint, ModelDeviceSaveEnum.A璁惧缁戝畾鍒楄〃, classData); + + return memoryData.BindList; + } + + /// <summary> + /// 娣诲姞璁惧缁戝畾鍒楄〃鐨勭紦瀛� + /// </summary> + /// <param name="addBindData"></param> + /// <param name="receiveResult">璁惧杩斿洖鐨勭粨鏋�</param> + /// <returns></returns> + public BindObj.AddedDeviceBindResponseAllData AddDeviceBindList(BindObj.AddBindData addBindData, string receiveResult) + { + var device = Common.LocalDevice.Current.GetDevice(addBindData.DeviceAddr, addBindData.Epoint); + //鑾峰彇瀵硅薄 + var classData = new ModelDeviceBindData(); + 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, clearResult); + memoryData.ListReceiveTopic.Insert(0, "Bind/ClearBindInfo_Respon"); + memoryData.ListSendTopic.Insert(0, "Bind/ClearBindInfo"); + + memoryData.ListReceiveResult.Add(string.Empty); + 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; + + var reData = new BindObj.AddedDeviceBindResponseAllData(); + reData.addedDeviceBindResponseData = new BindObj.AddedDeviceBindResponseData(); + reData.addedDeviceBindResponseData.Result = 0; + + foreach (var data in addBindData.BindList) + { + bool canAdd = true; + for (int i = 0; i < memoryData.BindList.Count; i++) + { + var bindData = memoryData.BindList[i]; + //濡傛灉鏄澶� + if (bindData.BindType == 0 && data.BindType == 0 + && bindData.BindMacAddr == data.BindMacAddr + && bindData.BindEpoint == data.BindEpoint + && bindData.BindCluster == data.BindCluster) + { + //鍚屼竴涓笢瑗夸笉闇�瑕佹浛鎹� + canAdd = false; + reData.addedDeviceBindResponseData.BindList.Add(bindData); + break; + } + //濡傛灉鏄満鏅� + if (bindData.BindType == 2 && data.BindType == 1 + && bindData.BindScenesId == data.BindScenesId + && bindData.BindCluster == data.BindCluster) + { + //鍚屼竴涓笢瑗夸笉闇�瑕佹浛鎹� + canAdd = false; + reData.addedDeviceBindResponseData.BindList.Add(bindData); + break; + } + } + if (canAdd == true) + { + //娣诲姞鏂扮殑缂撳瓨 + var newData = new BindObj.BindListResponseObj(); + memoryData.BindList.Add(newData); + + newData.BindCluster = data.BindCluster; + newData.BindEpoint = data.BindEpoint; + newData.BindMacAddr = data.BindMacAddr; + newData.BindScenesId = data.BindScenesId; + newData.BindType = data.BindType == 0 ? 0 : 2; + reData.addedDeviceBindResponseData.BindList.Add(newData); + } + } + //淇濆瓨鏁版嵁 + this.SaveDeviceMemmoryData(device.DeviceAddr, device.DeviceEpoint); + + return reData; + } + + /// <summary> + /// 鍒犻櫎璁惧缁戝畾鍒楄〃鐨勭紦瀛� + /// </summary> + /// <param name="delDeviceBindData"></param> + /// <returns></returns> + public BindObj.DelDeviceBindResponseAllData DeleteDeviceBindList(BindObj.DelDeviceBindData delDeviceBindData) + { + var device = Common.LocalDevice.Current.GetDevice(delDeviceBindData.DeviceAddr, delDeviceBindData.Epoint); + //鑾峰彇瀵硅薄 + var classData = new ModelDeviceBindData(); + var memoryData = (ModelDeviceBindData)this.GetDeviceModelDataClass(device.DeviceAddr, device.DeviceEpoint, ModelDeviceSaveEnum.A璁惧缁戝畾鍒楄〃, classData); + + //杩斿洖鍊� + var reData = new BindObj.DelDeviceBindResponseAllData(); + reData.removeBindResultResponseData = new BindObj.RemoveBindResultResponseData(); + reData.removeBindResultResponseData.Result = 0; + + reData.delDeviceBindResponseData = new BindObj.DelDeviceBindResponseData(); + + foreach (var data in delDeviceBindData.RemoveBindList) + { + for (int i = 0; i < memoryData.BindList.Count; i++) + { + var bindData = memoryData.BindList[i]; + //濡傛灉鏄澶� + if (bindData.BindType == 0 && data.BindType == 0 + && bindData.BindMacAddr == data.BindMacAddr + && bindData.BindEpoint == data.BindEpoint + && bindData.BindCluster == data.BindCluster) + { + //绉婚櫎缂撳瓨 + memoryData.BindList.RemoveAt(i); + break; + } + //濡傛灉鏄満鏅� + if (bindData.BindType == 2 && data.BindType == 1 + && bindData.BindScenesId == data.BindScenesId + && bindData.BindCluster == data.BindCluster) + { + //绉婚櫎缂撳瓨 + memoryData.BindList.RemoveAt(i); + break; + } + } + var removeData = new BindObj.RemoveBindListResponseObj(); + reData.delDeviceBindResponseData.RemoveBindList.Add(removeData); + removeData.BindCluster = data.BindCluster; + removeData.BindEpoint = data.BindEpoint; + removeData.BindMacAddr = data.BindMacAddr; + removeData.BindScenesId = data.BindScenesId; + removeData.BindType = data.BindType == 0 ? 0 : 2; + removeData.Result = 0; + } + //淇濆瓨鏁版嵁 + this.SaveDeviceMemmoryData(device.DeviceAddr, device.DeviceEpoint); + return reData; + } + + /// <summary> + /// 鍒犻櫎鎸囧畾璁惧鐨勫叏閮ㄧ粦瀹� + /// </summary> + /// <param name="device"></param> + /// <returns></returns> + public BindObj.ClearBindInfoResponseAllData ClearDeviceAllBind(CommonDevice device) + { + string mainkey = Common.LocalDevice.Current.GetDeviceMainKeys(device); + if (TemplateCommonLogic.Current.modelData.dicDeviceTemplateData.ContainsKey(mainkey) == true) + { + //绉婚櫎鍏ㄩ儴鐨� 璁惧缁戝畾鍒楄〃 鏁版嵁 + var listBind = TemplateCommonLogic.Current.modelData.dicDeviceTemplateData[mainkey]; + for (int i = 0; i < listBind.Count; i++) + { + if (listBind[i].DataSaveDiv == ModelDeviceSaveEnum.A璁惧缁戝畾鍒楄〃) + { + ((ModelDeviceBindData)listBind[i]).BindList.Clear(); + } + } + } + this.SaveDeviceMemmoryData(device.DeviceAddr, device.DeviceEpoint); + + return new BindObj.ClearBindInfoResponseAllData + { + clearBindInfoResponseData = new BindObj.ClearBindInfoResponseData { Result = 0 } + }; + } + + /// <summary> + /// 閰嶇疆鎸夐敭鐨勫姛鑳芥ā寮� + /// </summary> + /// <param name="device"></param> + /// <param name="value"></param> + /// <param name="clusterID"></param> + /// <param name="receiveResult">璁惧杩斿洖鐨勭粨鏋�</param> + /// <returns></returns> + public CommonDevice.SetWritableValueResponAllData ConfigurePanelKeyModel(CommonDevice device, Panel.KeyMode value, int clusterID, string receiveResult) + { + //鑾峰彇瀵硅薄 + var classData = new ModelDeviceBindData(); + var memoryData = (ModelDeviceBindData)this.GetDeviceModelDataClass(device.DeviceAddr, device.DeviceEpoint, ModelDeviceSaveEnum.A璁惧缁戝畾鍒楄〃, classData); + memoryData.keyMode = value; + memoryData.keyModeClusterID = clusterID; + + if (memoryData.ListReceiveResult.Count == 1) + { + if (memoryData.ListReceiveResult.Count == 1) + { + //璁惧缁戝畾鏈変笁鏉″懡浠� 绗竴鏉′负娓呯┖ + 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); + memoryData.ListSendTopic.Add(string.Empty); + } + } + memoryData.ListSendTopic[1] = "SetWritableValue"; + memoryData.ListReceiveTopic[1] = "SetWritableValue_Respon"; + memoryData.ListReceiveResult[1] = receiveResult; + + this.SaveDeviceMemmoryData(device.DeviceAddr, device.DeviceEpoint); + + return new CommonDevice.SetWritableValueResponAllData + { + setWritableValueResponData = new CommonDevice.SetWritableValueResponData { Status = 0 } + }; + } + + /// <summary> + /// 鑾峰彇鎸夐敭鐨勫姛鑳芥ā寮� + /// </summary> + /// <param name="device"></param> + /// <returns></returns> + public Panel.PanelConfigureInfoResponAllData ReadPanelConfigureKeyModel(CommonDevice device) + { + var classData = new ModelDeviceBindData(); + 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); + + return data; + } + + #endregion + + #region 鈻� Pir浼犳劅鍣╛_________________________ + + /// <summary> + /// 鑾峰彇Pir浼犳劅鍣ㄧ殑閰嶇疆 + /// </summary> + /// <param name="device"></param> + /// <returns></returns> + public IASZone.ParamatesInfo GetPirSensorLightSettion(string deviceMac, int deviceEpoint) + { + //鑾峰彇瀵硅薄 + var classData = new ModelPirSensorSettion(); + var memoryData = (ModelPirSensorSettion)this.GetDeviceModelDataClass(deviceMac, deviceEpoint, ModelDeviceSaveEnum.APir閰嶇疆, classData); + + var localData = new IASZone.ParamatesInfo(); + localData.configureParamates = new IASZone.ConfigureParamates(); + localData.configureParamates.controlDevEnable = memoryData.pirConfigure.controlDevEnable; + localData.configureParamates.dimmerLevel = memoryData.pirConfigure.dimmerLevel; + localData.configureParamates.dimmerOffTime = memoryData.pirConfigure.dimmerOffTime; + localData.configureParamates.dimmerOnTime = memoryData.pirConfigure.dimmerOnTime; + localData.configureParamates.iasReportPeriod = memoryData.pirConfigure.iasReportPeriod; + localData.configureParamates.levelEnable = memoryData.pirConfigure.levelEnable; + localData.configureParamates.levelSize = memoryData.pirConfigure.levelSize; + localData.configureParamates.mode = memoryData.pirConfigure.mode; + localData.configureParamates.transitionTime = memoryData.pirConfigure.transitionTime; + localData.configureParamates.type = memoryData.pirConfigure.type; + + return localData; + } + + /// <summary> + /// 璁剧疆Pir浼犳劅鍣ㄧ殑閰嶇疆 + /// </summary> + /// <param name="device"></param> + /// <param name="configureParamates"></param> + /// <param name="receiveResult">璁惧杩斿洖鐨勭粨鏋�</param> + /// <returns></returns> + public IASZone.ResponseAllData SetPirSensorLightSettion(string deviceMac, int deviceEpoint, IASZone.ConfigureParamates configureParamates, string receiveResult) + { + //鑾峰彇瀵硅薄 + var classData = new ModelPirSensorSettion(); + var memoryData = (ModelPirSensorSettion)this.GetDeviceModelDataClass(deviceMac, deviceEpoint, ModelDeviceSaveEnum.APir閰嶇疆, classData); + + memoryData.pirConfigure = configureParamates; + + memoryData.ListSendTopic[0] = "ClientDataPassthrough"; + memoryData.ListReceiveTopic[0] = "ZbDataPassthrough"; + memoryData.ListReceiveResult[0] = receiveResult; + + this.SaveDeviceMemmoryData(deviceMac, deviceEpoint); + + return new CommonDevice.ResponseAllData { responseData = new CommonDevice.ResponseData { status = 0 } }; + } + + #endregion + + #region 鈻� 闈㈡澘闇囧姩鍔熻兘_______________________ + + /// <summary> + /// 鑾峰彇闈㈡澘闇囧姩鍔熻兘 + /// </summary> + /// <param name="device"></param> + /// <returns></returns> + public UserCenter.HdlDevicePanelLogic.PanelVibrationInfo GetPanelVibrationInfo(string deviceMac, int deviceEpoint) + { + //鑾峰彇瀵硅薄 + var classData = new ModelPanelVibrationInfo(); + var memoryData = (ModelPanelVibrationInfo)this.GetDeviceModelDataClass(deviceMac, deviceEpoint, ModelDeviceSaveEnum.A闈㈡澘闇囧姩鍔熻兘, classData); + + var data = new UserCenter.HdlDevicePanelLogic.PanelVibrationInfo(); + data.A闇囧姩浣胯兘 = memoryData.vibrationInfo.A闇囧姩浣胯兘; + data.A闇囧姩寮哄害 = memoryData.vibrationInfo.A闇囧姩寮哄害; + data.A闇囧姩鏃堕棿 = memoryData.vibrationInfo.A闇囧姩鏃堕棿; + + return data; + } + + /// <summary> + /// 璁剧疆闈㈡澘闇囧姩鍔熻兘 + /// </summary> + /// <param name="device"></param> + /// <param name="datainfo"></param> + /// <param name="receiveResult">璁惧杩斿洖鐨勭粨鏋�</param> + /// <returns></returns> + public bool SetPanelVibrationInfo(string deviceMac, int deviceEpoint, UserCenter.HdlDevicePanelLogic.PanelVibrationInfo datainfo, string receiveResult) + { + //鑾峰彇瀵硅薄 + var classData = new ModelPanelVibrationInfo(); + 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(deviceMac, deviceEpoint); + + return true; + } + #endregion + + #region 鈻� 璁惧鍚嶇О___________________________ + + /// <summary> + /// 淇敼璁惧Mac鍚嶇О + /// </summary> + /// <param name="device"></param> + /// <param name="macName"></param> + /// <returns></returns> + public CommonDevice.RenameDeviceMacNameAllData ReDeviceMacName(CommonDevice device, string macName) + { + //鑾峰彇瀵硅薄 + var classData = new ModelDeviceMacNameInfo(); + var memoryData = (ModelDeviceMacNameInfo)this.GetDeviceModelDataClass(device.DeviceAddr, device.DeviceEpoint, ModelDeviceSaveEnum.A璁惧鍚嶇О, classData); + memoryData.deviceMacName = macName; + + //璁惧杩斿洖鐨勭粨鏋� + var receiveResult = "{" + + SetDouMarks("DeviceAddr") + ": " + SetDouMarks(device.DeviceAddr) + "," + + SetDouMarks("Data_ID") + ": 100," + + SetDouMarks("Data") + ": {" + + SetDouMarks("Result") + ": 0," + + SetDouMarks("MacName") + ":" + SetDouMarks(macName) + "}" + + "}"; + + memoryData.ListSendTopic[0] = "MacRename"; + memoryData.ListReceiveTopic[0] = "MacRename_Respon"; + memoryData.ListReceiveResult[0] = receiveResult; + + this.SaveDeviceMemmoryData(device.DeviceAddr, device.DeviceEpoint); + + return new CommonDevice.RenameDeviceMacNameAllData + { + renameDeviceMacNameData = new CommonDevice.RenameDeviceMacNameData + { + Result = 0, + MacName = macName + } + }; + } + + /// <summary> + /// 淇敼璁惧绔偣鍚嶇О + /// </summary> + /// <param name="device"></param> + /// <param name="macName"></param> + /// <returns></returns> + public CommonDevice.DeviceRenameAllData ReDeviceEpointName(CommonDevice device, string deviceName) + { + //鑾峰彇瀵硅薄 + var classData = new ModelDeviceEpointNameInfo(); + var memoryData = (ModelDeviceEpointNameInfo)this.GetDeviceModelDataClass(device.DeviceAddr, device.DeviceEpoint, ModelDeviceSaveEnum.A绔偣鍚嶇О, classData); + memoryData.deviceEpointName = deviceName; + + //璁惧杩斿洖鐨勭粨鏋� + var receiveResult = "{" + + 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") + ":" + SetDouMarks(deviceName) + "}" + + "}"; + + memoryData.ListSendTopic[0] = "DeviceRename"; + memoryData.ListReceiveTopic[0] = "DeviceRenameRespon"; + memoryData.ListReceiveResult[0] = receiveResult; + + this.SaveDeviceMemmoryData(device.DeviceAddr, device.DeviceEpoint); + + return new CommonDevice.DeviceRenameAllData + { + deviceRenameData = new CommonDevice.DeviceRenameResponseData + { + Result = 0, + DeviceName = deviceName + } + }; + } + + #endregion + + #region 鈻� 闈㈡澘鑳屽厜鐏缃甠____________________ + + /// <summary> + /// 鑾峰彇璁惧浜害閰嶇疆锛坲i鍙寒搴﹁皟鑺�,浣跨敤杩斿洖鍊肩殑panelDirectionsLevel锛� + /// </summary> + /// <param name="device"></param> + /// <returns></returns> + public Panel.PanelSwitchLevelInfo GetDeviceLightSettion(string deviceMac, int deviceEpoint) + { + //鑾峰彇瀵硅薄 + var classData = new ModelPanelBrightnessAdjustInfo(); + var memoryData = (ModelPanelBrightnessAdjustInfo)this.GetDeviceModelDataClass(deviceMac, deviceEpoint, ModelDeviceSaveEnum.A闈㈡澘浜害璋冭妭, classData); + + var data = new Panel.PanelSwitchLevelInfo(); + data.panelBacklightLevel = memoryData.panelBacklightLevel == -1 ? 0 : memoryData.panelBacklightLevel; + data.panelDirectionsLevel = memoryData.panelDirectionsLevel == -1 ? 0 : memoryData.panelDirectionsLevel; + return data; + } + + /// <summary> + /// 璁剧疆璁惧浜害锛坲i鍙寒搴﹁皟鑺傦級 + /// </summary> + /// <param name="panel">璁惧瀵硅薄</param> + /// <param name="directionsLevel">0-100(杩欎釜鏄偣鍑诲悗鐨勫��)</param> + /// <param name="backlightLevel">0-100(杩欎釜鏄偣鍑诲墠鐨勫��)</param> + /// <param name="receiveResult">璁惧杩斿洖鐨勭粨鏋�</param> + /// <returns></returns> + public bool SetDeviceLightSettion(string deviceMac, int deviceEpoint, int directionsLevel, int backlightLevel, string receiveResult) + { + //鑾峰彇瀵硅薄 + var classData = new ModelPanelBrightnessAdjustInfo(); + var memoryData = (ModelPanelBrightnessAdjustInfo)this.GetDeviceModelDataClass(deviceMac, deviceEpoint, ModelDeviceSaveEnum.A闈㈡澘浜害璋冭妭, classData); + memoryData.panelBacklightLevel = backlightLevel; + memoryData.panelDirectionsLevel = directionsLevel; + + memoryData.ListSendTopic[0] = "ClientDataPassthrough"; + memoryData.ListReceiveTopic[0] = "ZbDataPassthrough"; + memoryData.ListReceiveResult[0] = receiveResult; + + this.SaveDeviceMemmoryData(deviceMac, deviceEpoint); + + return true; + } + + /// <summary> + /// 鑾峰彇璁惧鑺傝兘妯″紡鐨勯厤缃姸鎬�(ui鍙妭鑳芥ā寮�) + /// </summary> + /// <param name="device"></param> + /// <returns></returns> + public Panel.PanelSaveEnergyModeInfo GetDeviceEnergyConservationMode(string deviceMac, int deviceEpoint) + { + //鑾峰彇瀵硅薄 + var classData = new ModelPanelEnergyModeInfo(); + var memoryData = (ModelPanelEnergyModeInfo)this.GetDeviceModelDataClass(deviceMac, deviceEpoint, ModelDeviceSaveEnum.A闈㈡澘鑺傝兘妯″紡, classData); + + var data = new Panel.PanelSaveEnergyModeInfo(); + data.enable = memoryData.energyModeInfo.enable; + data.level = memoryData.energyModeInfo.level == -1 ? 0 : memoryData.energyModeInfo.level; + data.time = memoryData.energyModeInfo.time == -1 ? 0 : memoryData.energyModeInfo.time; + return data; + } + + /// <summary> + /// 璁剧疆璁惧鐨勮妭鑳芥ā寮�(ui鍙妭鑳芥ā寮�) + /// </summary> + /// <param name="device">璁惧瀵硅薄</param> + /// <param name="modeEnable">鑺傝兘妯″紡鏄惁鏈夋晥</param> + /// <param name="modeTime">鏃犳搷浣滆繘鍏ヨ妭鑳芥ā寮忔椂闂� 0-255</param> + /// <param name="level">鑺傝兘妯″紡浜害:0-100</param> + /// <param name="receiveResult">璁惧杩斿洖鐨勭粨鏋�</param> + /// <returns></returns> + public bool SetDeviceEnergyConservationMode(string deviceMac, int deviceEpoint, bool modeEnable, int modeTime, int level, string receiveResult) + { + //鑾峰彇瀵硅薄 + 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; + + memoryData.ListSendTopic[0] = "ClientDataPassthrough"; + memoryData.ListReceiveTopic[0] = "ZbDataPassthrough"; + memoryData.ListReceiveResult[0] = receiveResult; + + this.SaveDeviceMemmoryData(deviceMac, deviceEpoint); + + return true; + } + + /// <summary> + /// 鑾峰彇鎸夐敭鎸囩ず鐏紑鍏抽鑹�. + /// </summary> + /// <param name="device"></param> + /// <param name="keyNum"></param> + /// <returns></returns> + public Panel.KeyColorDataResponseAllData GetPanelColorInfo(string deviceMac, int deviceEpoint, Panel.KeyNum keyNum) + { + //鑾峰彇瀵硅薄 + var classData = new ModelPanelIndicatorLightInfo(); + var memoryData = (ModelPanelIndicatorLightInfo)this.GetDeviceModelDataClass(deviceMac, deviceEpoint, ModelDeviceSaveEnum.A闈㈡澘鎸囩ず鐏�, classData); + + var data = new Panel.KeyColorDataResponseAllData(); + data.keyColorData = new Panel.KeyColorData(); + data.keyColorData.CloseColorB = string.IsNullOrEmpty(memoryData.keyColorData.CloseColorB) == true ? "0" : memoryData.keyColorData.CloseColorB; + data.keyColorData.CloseColorG = string.IsNullOrEmpty(memoryData.keyColorData.CloseColorG) == true ? "0" : memoryData.keyColorData.CloseColorG; + data.keyColorData.CloseColorR = string.IsNullOrEmpty(memoryData.keyColorData.CloseColorR) == true ? "0" : memoryData.keyColorData.CloseColorR; + data.keyColorData.OpenColorB = string.IsNullOrEmpty(memoryData.keyColorData.OpenColorB) == true ? "0" : memoryData.keyColorData.OpenColorB; + data.keyColorData.OpenColorG = string.IsNullOrEmpty(memoryData.keyColorData.OpenColorG) == true ? "0" : memoryData.keyColorData.OpenColorG; + data.keyColorData.OpenColorR = string.IsNullOrEmpty(memoryData.keyColorData.OpenColorR) == true ? "0" : memoryData.keyColorData.OpenColorR; + data.keyColorData.keyNum = keyNum; + + return data; + } + + /// <summary> + /// 閰嶇疆鎸夐敭鎸囩ず鐏鑹� + /// </summary> + /// <param name="device"></param> + /// <param name="keyColorData"></param> + /// <param name="keyNumStatus"></param> + /// <param name="receiveResult">璁惧杩斿洖鐨勭粨鏋�</param> + /// <returns></returns> + public CommonDevice.ResponseAllData SetPanelColorInfo(string deviceMac, int deviceEpoint, Panel.KeyColorData keyColorData, Panel.KeyNumStatus keyNumStatus, string receiveResult) + { + //鑾峰彇瀵硅薄 + var classData = new ModelPanelIndicatorLightInfo(); + var memoryData = (ModelPanelIndicatorLightInfo)this.GetDeviceModelDataClass(deviceMac, deviceEpoint, ModelDeviceSaveEnum.A闈㈡澘鎸囩ず鐏�, classData); + + memoryData.keyColorData.keyNum = keyColorData.keyNum; + memoryData.keyColorData.OpenColorB = keyColorData.OpenColorB; + memoryData.keyColorData.OpenColorG = keyColorData.OpenColorG; + memoryData.keyColorData.OpenColorR = keyColorData.OpenColorR; + memoryData.keyColorData.CloseColorB = keyColorData.CloseColorB; + memoryData.keyColorData.CloseColorG = keyColorData.CloseColorG; + memoryData.keyColorData.CloseColorR = keyColorData.CloseColorR; + + memoryData.KeyNum.Key1 = keyNumStatus.Key1; + memoryData.KeyNum.Key2 = keyNumStatus.Key2; + memoryData.KeyNum.Key3 = keyNumStatus.Key3; + memoryData.KeyNum.Key4 = keyNumStatus.Key4; + memoryData.KeyNum.Key5 = keyNumStatus.Key5; + memoryData.KeyNum.Key6 = keyNumStatus.Key6; + memoryData.KeyNum.Key7 = keyNumStatus.Key7; + memoryData.KeyNum.Key8 = keyNumStatus.Key8; + memoryData.KeyNum.Key9 = keyNumStatus.Key9; + memoryData.KeyNum.Key10 = keyNumStatus.Key10; + memoryData.KeyNum.Key11 = keyNumStatus.Key11; + memoryData.KeyNum.Key12 = keyNumStatus.Key12; + memoryData.KeyNum.Key13 = keyNumStatus.Key13; + memoryData.KeyNum.Key14 = keyNumStatus.Key14; + memoryData.KeyNum.Key15 = keyNumStatus.Key15; + memoryData.KeyNum.Key16 = keyNumStatus.Key16; + + memoryData.ListSendTopic[0] = "ClientDataPassthrough"; + memoryData.ListReceiveTopic[0] = "ZbDataPassthrough"; + memoryData.ListReceiveResult[0] = receiveResult; + + this.SaveDeviceMemmoryData(deviceMac, deviceEpoint); + + return new CommonDevice.ResponseAllData + { + responseData = new CommonDevice.ResponseData + { status = 0 } + }; + } + + #endregion + + #region 鈻� 淇濆瓨璁惧缂撳瓨_______________________ + + /// <summary> + /// 淇濆瓨璁惧缂撳瓨(鑰冭檻鏈夌殑璁惧鐢ㄧ殑鏄�200绔偣,鎵�浠ヨ繖閲屾渶濂戒笉鐢ㄨ澶囧璞′綔涓哄弬鏁�) + /// </summary> + /// <param name="deviceMac"></param> + /// <param name="deviceEpoint"></param> + public void SaveDeviceMemmoryData(string deviceMac, int deviceEpoint) + { + //浠g爜绉诲姩鍒板埆鐨勬枃浠朵腑浜� + TemplateCommonLogic.Current.SaveDeviceMemmoryData(deviceMac, deviceEpoint); + } + + #endregion + + #region 鈻� 涓�鑸柟娉昣__________________________ + + /// <summary> + /// 鑾峰彇璁惧淇濆瓨鐨勬ā鏉垮璞�(鑰冭檻鏈夌殑璁惧鐢ㄧ殑鏄�200绔偣,鎵�浠ヨ繖閲屾渶濂戒笉鐢ㄨ澶囧璞′綔涓哄弬鏁�) + /// </summary> + /// <param name="deviceMac"></param> + /// <param name="deviceEpoint"></param> + /// <param name="saveEnum"></param> + /// <returns></returns> + private TemplateDeviceDataCommon GetDeviceModelDataClass(string deviceMac, int deviceEpoint, ModelDeviceSaveEnum saveEnum, TemplateDeviceDataCommon newClass) + { + //浠g爜绉诲姩鍒板埆鐨勬枃浠朵腑浜� + return TemplateCommonLogic.Current.GetDeviceModelDataClass(deviceMac, deviceEpoint, saveEnum, newClass); + } + + /// <summary> + /// 娣诲姞鍙屽紩鍙� + /// </summary> + /// <param name="i_text"></param> + /// <returns></returns> + private string SetDouMarks(string i_text) + { + return UserCenter.UserCenterResourse.douMarks + i_text + UserCenter.UserCenterResourse.douMarks; + } + + #endregion + } +} -- Gitblit v1.8.0