From f14dcfd967404e197e7ec995ca8d6f2b090d3b7d Mon Sep 17 00:00:00 2001 From: xm <1271024303@qq.com> Date: 星期五, 11 九月 2020 09:16:59 +0800 Subject: [PATCH] 优化多功能面板:绑定温湿度传感器目标,和设备列表回路显示。优化数据矫正功能温湿度度不设置的情况。优化门锁时间设置最后一天和最后最后一个月的时间显示等 细节 --- ZigbeeApp/Shared/Phone/TemplateData/TemplateDataCommon.cs | 783 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 783 insertions(+), 0 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/TemplateData/TemplateDataCommon.cs b/ZigbeeApp/Shared/Phone/TemplateData/TemplateDataCommon.cs new file mode 100755 index 0000000..65a7576 --- /dev/null +++ b/ZigbeeApp/Shared/Phone/TemplateData/TemplateDataCommon.cs @@ -0,0 +1,783 @@ +锘縰sing Shared.Phone.UserCenter; +using System; +using System.Collections.Generic; +using System.Text; + +namespace Shared.Phone.TemplateData +{ + #region 鈻� 鍏遍�氭ā鏉挎暟鎹畾涔塤__________________ + + /// <summary> + /// 妯℃澘缂撳瓨鏁版嵁 + /// </summary> + public class TemplateMemoryData + { + //鈽� 銉嗐兂銉椼儸銉笺儓銉曘偂銈ゃ儷銇繚瀛樸仌銈屻仧銉戙儵銉°兗銈裤兗 鈽� 鈫� + /// <summary> + /// 妯℃澘鐨勫悕瀛� + /// </summary> + public string TemplateName = string.Empty; + /// <summary> + /// 鍏ㄩ儴鐨勮澶囬厤缃紦瀛樻暟鎹�(涓婚敭鏄湰鍦拌澶囩殑涓婚敭) + /// </summary> + public Dictionary<string, List<TemplateDeviceDataCommon>> dicDeviceTemplateData = new Dictionary<string, List<TemplateDeviceDataCommon>>(); + /// <summary> + /// 缃戝叧瀵硅薄鏁版嵁 + /// </summary> + public Dictionary<string, ZigBee.Device.ZbGateway> dicGatewayInfo = new Dictionary<string, ZigBee.Device.ZbGateway>(); + /// <summary> + /// 璁惧瀵硅薄鏁版嵁(key锛氳澶嘙ac) + /// </summary> + public Dictionary<string, List<ZigBee.Device.CommonDevice>> dicDeviceInfo = new Dictionary<string, List<ZigBee.Device.CommonDevice>>(); + /// <summary> + /// 妯℃澘涓澶囧悇鑷湡瀹炶澶囧搴旂殑鎴块棿(keys:璁惧Mac鎴栬�呯綉鍏矷D, value:鎴块棿ID) + /// </summary> + public Dictionary<string, string> dicDeviceTemplateRealRoom = new Dictionary<string, string>(); + //鈽� 銉嗐兂銉椼儸銉笺儓銇繚瀛樸仌銈屻仧銉戙儵銉°兗銈裤兗 鈽� 鈫� + + + /// <summary> + /// 涓存椂缂撳瓨:妯℃澘涓悇鑷鐐规墍澶勭殑鎴块棿(keys:璁惧涓婚敭 value:鎴块棿ID) 鏃ㄥ湪閽堝璁惧鏉ュ洖閫夋嫨妯℃澘鐨勬儏鍐� + /// </summary> + public Dictionary<string, string> dicDeviceTemplateRoom = new Dictionary<string, string>(); + /// <summary> + /// 涓存椂缂撳瓨:妯℃澘涓悇鑷鐐规墍淇濆瓨鐨勫唴瀹�(keys:妯℃澘涓澶囦富閿�),璁惧閫夋嫨妯℃澘鏃�,妯℃澘鏁版嵁杩佺Щ浣跨敤,鍥犱负鏄紩鐢ㄧ被鍨�,鎵�浠ラ渶瑕侀噸鏂癗ew + /// </summary> + public Dictionary<string, List<TemplateDeviceContent>> dicDeviceFileContent = new Dictionary<string, List<TemplateDeviceContent>>(); + + + //鈽� 鍒ャ伄銉曘偂銈ゃ儷銇繚瀛樸仌銈屻仧銉戙儵銉°兗銈裤兗 鈽� 鈫� + /// <summary> + /// 璁惧閫夋嫨鐨勬ā鏉垮璞�(keys:鏈湴璁惧鐨凪ac value:妯℃澘涓殑Mac) + /// </summary> + public Dictionary<string, string> dicDeviceTemplateSelect = new Dictionary<string, string>(); + /// <summary> + /// 缃戝叧瀵硅薄閫夋嫨鐨勬ā鏉垮璞�(keys:鏈湴缃戝叧ID, value:妯℃澘涓殑缃戝叧ID) + /// </summary> + public Dictionary<string, string> dicGatewayTemplateSelect = new Dictionary<string, string>(); + //鈽� 鍒ャ伄銉曘偂銈ゃ儷銇繚瀛樸仌銈屻仧銉戙儵銉°兗銈裤兗 鈽� 鈫� + } + + /// <summary> + /// 涓�涓澶囩殑妯℃澘鏁版嵁鐨勫叡閫� + /// </summary> + public class TemplateDeviceDataCommon + { + /// <summary> + /// 璁惧Mac鍦板潃 + /// </summary> + public string DeviceMac = string.Empty; + /// <summary> + /// 璁惧绔偣 + /// </summary> + public int DeviceEpoint = -1; + /// <summary> + /// 鍙戦�侀渶瑕佺殑澶ф鏃堕棿(绉�) + /// </summary> + [Newtonsoft.Json.JsonIgnore] + public int SendTime { get { return this.GetSendTime(); } } + /// <summary> + /// 鏁版嵁淇濆瓨鐨勫尯鍒�(涓嶉渶瑕佸啀娆¤缃�) + /// </summary> + public ModelDeviceSaveEnum DataSaveDiv = ModelDeviceSaveEnum.A鏈畾涔�; + /// <summary> + /// 鎺ユ敹鐨勪富棰�(鑰冭檻澶氭潯鍛戒护,姝e父閮芥槸1鏉″懡浠�) + /// </summary> + public List<string> ListReceiveTopic = new List<string>(); + /// <summary> + /// 鎺ユ敹鐨勭粨鏋�(鑰冭檻澶氭潯鍛戒护,姝e父閮芥槸1鏉″懡浠�) + /// </summary> + public List<string> ListReceiveResult = new List<string>(); + /// <summary> + /// 鍙戦�佺殑涓婚(鑰冭檻澶氭潯鍛戒护,姝e父閮芥槸1鏉″懡浠�) + /// </summary> + public List<string> ListSendTopic = new List<string>(); + + /// <summary> + /// 鑾峰彇鏇存敼璁惧閰嶇疆鐨勫懡浠ゅ瓧绗�(鑰冭檻澶氭潯鍛戒护,姝e父閮芥槸1鏉″懡浠�) + /// </summary> + /// <returns></returns> + public virtual List<string> GetSendGatewayValue() + { + return new List<string>(); + } + + /// <summary> + /// 鍙戦�侀渶瑕佺殑澶ф鏃堕棿(绉�) + /// </summary> + /// <returns></returns> + public virtual int GetSendTime() + { + return 0; + } + + /// <summary> + /// 鍙樻洿Mac缂撳瓨(鍦ㄧ綉鍏虫墽琛屽畬鎴愬鍏ヤ箣鍚庢墽琛�) + /// </summary> + public virtual void ChangedMacMemmory() + { + } + } + + /// <summary> + /// 妯℃澘璁惧鐨勭増鏈俊鎭� + /// </summary> + public class TemplateDeviceVersionInfo + { + //鐩墠鍙湁 鐗堟湰鍙橀噺 + /// <summary> + /// 褰撳墠鐗堟湰 + /// </summary> + public int Version = -1; + } + + /// <summary> + /// 妯℃澘璁惧鍦ㄦ枃浠朵腑鐨勫唴瀹� + /// </summary> + public class TemplateDeviceContent + { + /// <summary> + /// 淇濆瓨鍖哄垎 鍙傜収:ModelDeviceSaveEnum + /// </summary> + public ModelDeviceSaveEnum saveDiv = ModelDeviceSaveEnum.A鏈畾涔�; + /// <summary> + /// 鏈夌偣鐢ㄥ + /// </summary> + public string DeviceMac = string.Empty; + /// <summary> + /// 鏂囦欢涓繚瀛樼殑鍐呭 + /// </summary> + public string FileContent = string.Empty; + } + + /// <summary> + /// 鍙�夋ā鏉跨殑鍐呭 + /// </summary> + public class TemplateCanSelectContent + { + /// <summary> + /// 璁惧Mac + /// </summary> + public string DeviceMac = string.Empty; + /// <summary> + /// 璁惧Mac鍚嶅瓧 + /// </summary> + public string DeviceName = string.Empty; + /// <summary> + /// 璇ヨ澶囨墍鍦ㄧ殑鎴块棿 + /// </summary> + public string RoomName = string.Empty; + } + + /// <summary> + /// 鏈湴妯℃澘鐨勫熀鏈俊鎭� + /// </summary> + public class LocalModelBaseInfo + { + /// <summary> + /// <para>淇濆瓨鏁版嵁鐨勬枃浠跺悕瀛�(涓嶉渶瑕佷繚瀛樺埌鏂囦欢澶逛腑)</para> + /// <para>ModelData_Local_yyyyMMdd_HHmmss.bin -> 鏈湴妯℃澘</para> + /// <para>ModelData_Cloud_yyyyMMdd_HHmmss.bin -> 鏈湴妯℃澘</para> + /// </summary> + [Newtonsoft.Json.JsonIgnore] + public string FileName = string.Empty; + /// <summary> + /// 鏄惁鏄湰鍦版ā鏉� + /// </summary> + [Newtonsoft.Json.JsonIgnore] + public bool IsLocalTemplate + { + get { return FileName.StartsWith("ModelData_Local"); } + } + /// <summary> + /// 鍗曞厓鍚嶇О(杩欎釜鐩墠鏄粰鏌ョ湅妯℃澘浣跨敤鐨�) + /// </summary> + [Newtonsoft.Json.JsonIgnore] + public List<string> ListUintContent = new List<string>(); + /// <summary> + /// 褰撳墠浣忓畢鐨勫湴鍥句綅缃悕绉� + /// </summary> + [Newtonsoft.Json.JsonIgnore] + public string ResidenceAddressName = string.Empty; + + /// <summary> + /// 妯℃澘鍚嶅瓧 + /// </summary> + public string ModelName = string.Empty; + /// <summary> + /// 缂栬緫鏃堕棿 2020.01.04 19:55鏍煎紡 + /// </summary> + public string EditorTime = string.Empty; + /// <summary> + /// 妤煎眰鏁� + /// </summary> + public int FloorCount = 0; + /// <summary> + /// 璁惧鏁� + /// </summary> + public int DeviceCount = 0; + /// <summary> + /// 鍔熻兘鏁� + /// </summary> + public int FunctionCount = 0; + } + + /// <summary> + /// 妯℃澘浣忓畢鐨勪俊鎭� + /// </summary> + public class TemplateHomeInfo + { + /// <summary> + /// 鍗曞厓鍚嶇О + /// </summary> + public List<string> ListUintContent = new List<string>(); + /// <summary> + /// 褰撳墠浣忓畢鐨勫湴鍥句綅缃悕绉� + /// </summary> + public string ResidenceAddressName = string.Empty; + } + + #endregion + + #region 鈻� 绐楀笜妯℃澘鏁版嵁瀹氫箟___________________ + + /// <summary> + /// 绐楀笜鎵嬫媺鎺у埗妯℃澘瀹氫箟 + /// </summary> + public class ModelCurtainHandPullControl : TemplateDeviceDataCommon + { + /// <summary> + /// 鐘舵�� + /// </summary> + public bool Statu = false; + /// <summary> + /// 鑾峰彇鏇存敼璁惧閰嶇疆鐨勫懡浠ゅ瓧绗� + /// </summary> + /// <returns></returns> + public override List<string> GetSendGatewayValue() + { + var command = HdlDeviceCurtainLogic.Current.GetHandPullControlText(DeviceMac, DeviceEpoint, Statu); + return new List<string>() { command }; + } + + /// <summary> + /// 鑾峰彇鍙戦�佸懡浠ゅぇ姒傞渶瑕佺殑鏃堕棿(绉�) + /// </summary> + /// <returns></returns> + public override int GetSendTime() + { + //鎵ц杩欎釜鍛戒护澶х害闇�瑕�5绉� + return 5; + } + } + + /// <summary> + /// 绐楀笜闄愪綅妯℃澘瀹氫箟 + /// </summary> + public class ModelCurtainDirectionAndLimite : TemplateDeviceDataCommon + { + /// <summary> + /// false:鐢垫満鏂瑰悜姝e悜锛泃rue:鐢垫満鏂瑰悜鍙嶅悜 + /// </summary> + public bool Direction = false; + /// <summary> + /// 寮�闄愪綅 + /// </summary> + public int upLimit = 2; + /// <summary> + /// 鍚堥檺浣� + /// </summary> + public int downLimit = 98; + /// <summary> + /// 瀵艰建闀垮害 + /// </summary> + public int curtainLength = 100; + /// <summary> + /// 鑾峰彇鏇存敼璁惧閰嶇疆鐨勫懡浠ゅ瓧绗� + /// </summary> + /// <returns></returns> + public override List<string> GetSendGatewayValue() + { + //鏂瑰悜 + var command1 = HdlDeviceCurtainLogic.Current.GetCurtainDirectionCommadText(DeviceMac, DeviceEpoint, Direction); + //闄愪綅 + var command2 = HdlDeviceCurtainLogic.Current.GetAutoOpenCurtainLimitPointCommandText(DeviceMac, DeviceEpoint, upLimit, downLimit); + return new List<string>() { command1, command2 }; + } + + /// <summary> + /// 鑾峰彇鍙戦�佸懡浠ゅぇ姒傞渶瑕佺殑鏃堕棿(绉�) + /// </summary> + /// <returns></returns> + public override int GetSendTime() + { + //鎵ц杩欎釜鍛戒护澶х害闇�瑕�5绉� + return 5; + } + } + + #endregion + + #region 鈻� 绌鸿皟妯℃澘鏁版嵁瀹氫箟___________________ + + /// <summary> + /// 绌鸿皟鑷畾涔夋ā寮忔ā鏉挎暟鎹畾涔� + /// </summary> + public class ModelAcModeSupport : TemplateDeviceDataCommon + { + /// <summary> + /// 鍊� + /// </summary> + public int data = 0; + /// <summary> + /// 鑾峰彇鏇存敼璁惧閰嶇疆鐨勫懡浠ゅ瓧绗� + /// </summary> + /// <returns></returns> + public override List<string> GetSendGatewayValue() + { + var command = HdlDeviceAttributeLogic.Current.GetWriteDeviceAttributeText(DeviceMac, DeviceEpoint, 513, 4099, 25, data); + return new List<string>() { command }; + } + + /// <summary> + /// 鑾峰彇鍙戦�佸懡浠ゅぇ姒傞渶瑕佺殑鏃堕棿(绉�) + /// </summary> + /// <returns></returns> + public override int GetSendTime() + { + //鎵ц杩欎釜鍛戒护澶х害闇�瑕�5绉� + return 5; + } + } + + /// <summary> + /// 绌鸿皟鎽嗛妯″紡妯℃澘鏁版嵁瀹氫箟 + /// </summary> + public class ModelAcSwingModeSupport : TemplateDeviceDataCommon + { + /// <summary> + /// 鍊� + /// </summary> + public int data = 0; + /// <summary> + /// 鑾峰彇鏇存敼璁惧閰嶇疆鐨勫懡浠ゅ瓧绗� + /// </summary> + /// <returns></returns> + public override List<string> GetSendGatewayValue() + { + var command = HdlDeviceAttributeLogic.Current.GetWriteDeviceAttributeText(DeviceMac, DeviceEpoint, 513, 4099, 25, data); + return new List<string>() { command }; + } + + /// <summary> + /// 鑾峰彇鍙戦�佸懡浠ゅぇ姒傞渶瑕佺殑鏃堕棿(绉�) + /// </summary> + /// <returns></returns> + public override int GetSendTime() + { + //鎵ц杩欎釜鍛戒护澶х害闇�瑕�5绉� + return 5; + } + } + + #endregion + + #region 鈻� 璁惧缁戝畾妯℃澘鏁版嵁瀹氫箟_______________ + + /// <summary> + /// 璁惧缁戝畾妯℃澘鏁版嵁瀹氫箟 + /// </summary> + public class ModelDeviceBindData : TemplateDeviceDataCommon + { + /// <summary> + /// 鎸夐敭鐨勫姛鑳芥ā寮� + /// </summary> + public ZigBee.Device.Panel.KeyMode keyMode = ZigBee.Device.Panel.KeyMode.Default; + /// <summary> + /// 鎸夐敭鐨勫姛鑳芥ā寮忕殑闀濱D + /// </summary> + public int keyModeClusterID = -1; + /// <summary> + /// 缁戝畾鍒楄〃 + /// </summary> + public List<ZigBee.Device.BindObj.BindListResponseObj> BindList = new List<ZigBee.Device.BindObj.BindListResponseObj>(); + + /// <summary> + /// 鑾峰彇鏇存敼璁惧閰嶇疆鐨勫懡浠ゅ瓧绗� + /// </summary> + /// <returns></returns> + public override List<string> GetSendGatewayValue() + { + var addBindData = new ZigBee.Device.BindObj.AddBindData(); + addBindData.DeviceAddr = this.DeviceMac; + addBindData.Epoint = this.DeviceEpoint; + + //褰撳墠閫夋嫨鐨勬ā鏉垮璞� + var dicChangedMac = new Dictionary<string, string>(); + var dicNowSelect = TemplateCommonLogic.Current.modelData.dicDeviceTemplateSelect; + foreach (var localMac in dicNowSelect.Keys) + { + dicChangedMac[dicNowSelect[localMac]] = localMac; + } + foreach (var data in BindList) + { + //鍦烘櫙 + if (data.BindType == 2) + { + var addData = new ZigBee.Device.BindObj.AddBindListObj(); + addBindData.BindList.Add(addData); + addData.BindCluster = data.BindCluster; + addData.BindScenesId = data.BindScenesId; + addData.BindType = 1; + } + //璁惧 + else + { + if (dicChangedMac.ContainsKey(data.BindMacAddr) == false) + { + //杩欎釜涓滆タ娌℃湁閫夋嫨妯℃澘,鍒欎笉鎵ц + continue; + } + var addData = new ZigBee.Device.BindObj.AddBindListObj(); + addBindData.BindList.Add(addData); + addData.BindCluster = data.BindCluster; + addData.BindEpoint = data.BindEpoint; + //鏇挎崲mac + addData.BindMacAddr = dicChangedMac[data.BindMacAddr]; + addData.BindType = 0; + } + } + var listCommand = new List<string>(); + //娓呯┖缁戝畾 + var jObject = new Newtonsoft.Json.Linq.JObject { { "DeviceAddr", this.DeviceMac }, { "Epoint", this.DeviceEpoint }, { "Cluster_ID", 0 }, { "Command", 5006 } }; + listCommand.Add(jObject.ToString()); + + //鍔熻兘閰嶇疆 + listCommand.Add(string.Empty); + if (keyModeClusterID != -1) + { + var command1 = HdlDeviceBindLogic.Current.GetConfigureHdlKeyCommandText(this.DeviceMac, this.DeviceEpoint, keyMode, keyModeClusterID); + listCommand[1] = command1; + } + + //缁戝畾鍒楄〃 + listCommand.Add(string.Empty); + if (addBindData.BindList.Count > 0) + { + var command2 = HdlDeviceBindLogic.Current.GetAddDeviceListBindCommandText(addBindData); + listCommand[2] = command2; + } + return listCommand; + } + + /// <summary> + /// 鑾峰彇鍙戦�佸懡浠ゅぇ姒傞渶瑕佺殑鏃堕棿(绉�) + /// </summary> + /// <returns></returns> + public override int GetSendTime() + { + //鎵ц杩欎釜鍛戒护澶х害闇�瑕�15绉� + return 15; + } + + /// <summary> + /// 鍙樻洿缁戝畾鐩爣鐨凪ac + /// </summary> + public override void ChangedMacMemmory() + { + //褰撳墠閫夋嫨鐨勬ā鏉垮璞� + var dicChangedMac = new Dictionary<string, string>(); + var dicNowSelect = TemplateCommonLogic.Current.modelData.dicDeviceTemplateSelect; + foreach (var localMac in dicNowSelect.Keys) + { + dicChangedMac[dicNowSelect[localMac]] = localMac; + } + foreach (var data in BindList) + { + //璁惧 + if (data.BindType != 2) + { + if (dicChangedMac.ContainsKey(data.BindMacAddr) == false) + { + //杩欎釜涓滆タ娌℃湁閫夋嫨妯℃澘,鍒欎笉鎵ц + continue; + } + //鏇挎崲mac + data.BindMacAddr = dicChangedMac[data.BindMacAddr]; + } + } + var localDevice = Common.LocalDevice.Current.GetDevice(this.DeviceMac, this.DeviceEpoint); + if (localDevice != null) + { + //鍙樻洿缂撳瓨 + TemplateCommonLogic.Current.SaveDeviceMemmoryData(localDevice); + } + } + } + + #endregion + + #region 鈻� Pir浼犳劅鍣ㄦā鏉挎暟鎹畾涔塤_____________ + + /// <summary> + /// Pir浼犳劅鍣ㄦā鏉挎暟鎹畾涔� + /// </summary> + public class ModelPirSensorSettion : TemplateDeviceDataCommon + { + /// <summary> + /// pir鐨勯厤缃俊鎭� + /// </summary> + public ZigBee.Device.IASZone.ConfigureParamates pirConfigure = new ZigBee.Device.IASZone.ConfigureParamates(); + /// <summary> + /// 鑾峰彇鏇存敼璁惧閰嶇疆鐨勫懡浠ゅ瓧绗� + /// </summary> + /// <returns></returns> + public override List<string> GetSendGatewayValue() + { + var command = HdlDevicePirSensorLogic.Current.GetPirSensorSettionCommandText(DeviceMac, pirConfigure); + return new List<string>() { command }; + } + + /// <summary> + /// 鑾峰彇鍙戦�佸懡浠ゅぇ姒傞渶瑕佺殑鏃堕棿(绉�) + /// </summary> + /// <returns></returns> + public override int GetSendTime() + { + //鎵ц杩欎釜鍛戒护澶х害闇�瑕�5绉� + return 5; + } + } + + #endregion + + #region 鈻� 闈㈡澘妯℃澘鏁版嵁瀹氫箟___________________ + + /// <summary> + /// 闈㈡澘闇囧姩鍔熻兘妯℃澘鏁版嵁瀹氫箟 + /// </summary> + public class ModelPanelVibrationInfo : TemplateDeviceDataCommon + { + /// <summary> + /// 闇囧姩鍔熻兘 + /// </summary> + public HdlDevicePanelLogic.PanelVibrationInfo vibrationInfo = new HdlDevicePanelLogic.PanelVibrationInfo(); + /// <summary> + /// 鑾峰彇鏇存敼璁惧閰嶇疆鐨勫懡浠ゅ瓧绗� + /// </summary> + /// <returns></returns> + public override List<string> GetSendGatewayValue() + { + var command = HdlDevicePanelLogic.Current.GetPanelVibrationCommandText(DeviceMac, vibrationInfo); + return new List<string>() { command }; + } + + /// <summary> + /// 鑾峰彇鍙戦�佸懡浠ゅぇ姒傞渶瑕佺殑鏃堕棿(绉�) + /// </summary> + /// <returns></returns> + public override int GetSendTime() + { + //鎵ц杩欎釜鍛戒护澶х害闇�瑕�5绉� + return 5; + } + } + + /// <summary> + /// 闈㈡澘鑳屽厜鐏ā鏉挎暟鎹畾涔� + /// </summary> + public class ModelPanelBackLightInfo : TemplateDeviceDataCommon + { + /// <summary> + /// 浜害璋冭妭鐨勪俊鎭� + /// </summary> + public ModelPanelSwitchLevelInfo linghtLevelInfo = new ModelPanelSwitchLevelInfo(); + /// <summary> + /// 鑺傝兘妯″紡 + /// </summary> + public ZigBee.Device.Panel.PanelSaveEnergyModeInfo energyModeInfo = new ZigBee.Device.Panel.PanelSaveEnergyModeInfo(); + /// <summary> + /// 鎸夐敭鐨勯鑹叉暟鎹� + /// </summary> + public ZigBee.Device.Panel.KeyColorData keyColorData = new ZigBee.Device.Panel.KeyColorData(); + /// <summary> + /// 鍜宬eyColorData涓�璧风敤鐨勪笢瑗� + /// </summary> + public ZigBee.Device.Panel.KeyNumStatus KeyNum = new ZigBee.Device.Panel.KeyNumStatus(); + /// <summary> + /// 鑾峰彇鏇存敼璁惧閰嶇疆鐨勫懡浠ゅ瓧绗� + /// </summary> + /// <returns></returns> + public override List<string> GetSendGatewayValue() + { + //杩欎笁涓笢瑗跨殑椤哄簭涓嶈兘鍙� + //浜害璋冭妭 + var command1 = HdlDevicePanelLogic.Current.GetPanelLevelCommadText(DeviceMac, linghtLevelInfo.panelDirectionsLevel, linghtLevelInfo.panelBacklightLevel); + //鑺傝兘妯″紡 + var command2 = HdlDevicePanelLogic.Current.GetDeviceEnergyConservationModeCommandText(DeviceMac, energyModeInfo.enable, energyModeInfo.time, energyModeInfo.level); + //鎸夐敭鎸囩ず鐏鑹� + var command3 = HdlDevicePanelLogic.Current.GetPanelColorCommandText(DeviceMac, keyColorData, KeyNum); + + return new List<string>() { command1, command2, command3 }; + } + + /// <summary> + /// 鑾峰彇鍙戦�佸懡浠ゅぇ姒傞渶瑕佺殑鏃堕棿(绉�) + /// </summary> + /// <returns></returns> + public override int GetSendTime() + { + //鎵ц杩欎釜鍛戒护澶х害闇�瑕�8绉� + return 8; + } + } + + /// <summary> + /// 鎸夐敭鎸囩ず鐏潰鏉垮紑鍏充寒搴﹂厤缃洖澶� + /// </summary> + public class ModelPanelSwitchLevelInfo + { + /// <summary> + ///鎸夐敭寮�鐘舵�侊紙鎸囩ず锛変寒搴�(杩欎釜鏄偣鍑诲悗鐨勫��) + /// </summary> + public int panelDirectionsLevel = -1; + + /// <summary> + /// 鎸夐敭鍏崇姸鎬侊紙鑳屽厜锛変寒搴�(杩欎釜鏄偣鍑诲墠鐨勫��) + /// </summary> + public int panelBacklightLevel = -1; + } + + #endregion + + #region 鈻� 璁惧鍚嶇О妯℃澘鏁版嵁瀹氫箟_______________ + + /// <summary> + /// 璁惧绔偣鍚嶇О妯℃澘鏁版嵁瀹氫箟 + /// </summary> + public class ModelDeviceEpointNameInfo : TemplateDeviceDataCommon + { + /// <summary> + /// 璁惧绔偣鍚嶇О + /// </summary> + public string deviceEpointName = string.Empty; + /// <summary> + /// 鑾峰彇鏇存敼璁惧閰嶇疆鐨勫懡浠ゅ瓧绗� + /// </summary> + /// <returns></returns> + public override List<string> GetSendGatewayValue() + { + var command = Common.LocalDevice.Current.GetReDeviceEpointNameCommandText(DeviceMac, DeviceEpoint, deviceEpointName); + return new List<string>() { command }; + } + + /// <summary> + /// 鑾峰彇鍙戦�佸懡浠ゅぇ姒傞渶瑕佺殑鏃堕棿(绉�) + /// </summary> + /// <returns></returns> + public override int GetSendTime() + { + //鎵ц杩欎釜鍛戒护澶х害闇�瑕�3绉� + return 3; + } + } + + /// <summary> + /// 璁惧Mac鍚嶇О妯℃澘鏁版嵁瀹氫箟 + /// </summary> + public class ModelDeviceMacNameInfo : TemplateDeviceDataCommon + { + /// <summary> + /// 璁惧Mac鍚嶇О + /// </summary> + public string deviceMacName = string.Empty; + /// <summary> + /// 鑾峰彇鏇存敼璁惧閰嶇疆鐨勫懡浠ゅ瓧绗� + /// </summary> + /// <returns></returns> + public override List<string> GetSendGatewayValue() + { + var command = Common.LocalDevice.Current.GetReDeviceMacNameCommandText(DeviceMac, DeviceEpoint, deviceMacName); + return new List<string>() { command }; + } + + /// <summary> + /// 鑾峰彇鍙戦�佸懡浠ゅぇ姒傞渶瑕佺殑鏃堕棿(绉�) + /// </summary> + /// <returns></returns> + public override int GetSendTime() + { + //鎵ц杩欎釜鍛戒护澶х害闇�瑕�3绉� + return 3; + } + } + + #endregion + + #region 鈻� 鑷畾涔夋灇涓綺________________________ + + /// <summary> + /// 妯℃澘璁惧淇濆瓨鐨勫尯鍒� + /// </summary> + public enum ModelDeviceSaveEnum + { + A鏈畾涔� = -1, + /// <summary> + /// 瀵硅薄绫�:ModelDeviceMacNameInfo + /// </summary> + A璁惧鍚嶇О = 1, + /// <summary> + /// 瀵硅薄绫�:ModelDeviceEpointNameInfo + /// </summary> + A绔偣鍚嶇О = 2, + /// <summary> + /// 瀵硅薄绫�:ModelPirSensorSettion + /// </summary> + APir閰嶇疆 = 3, + /// <summary> + /// 瀵硅薄绫�:ModelCurtainDirectionAndLimite + /// </summary> + A绐楀笜鏂瑰悜鍙婇檺浣� = 8, + /// <summary> + /// 瀵硅薄绫�:ModelCurtainHandPullControl + /// </summary> + A绐楀笜鎵嬫媺鎺у埗 = 9, + /// <summary> + /// 瀵硅薄绫�:ModelAcModeSupport + /// </summary> + A绌鸿皟鑷畾涔夋ā寮� = 10, + /// <summary> + /// 瀵硅薄绫�:ModelPanelVibrationInfo + /// </summary> + A闈㈡澘闇囧姩鍔熻兘 = 11, + /// <summary> + /// 瀵硅薄绫�:ModelAcSwingModeSupport + /// </summary> + A绌鸿皟鎽嗛鍔熻兘 = 12, + /// <summary> + /// 瀵硅薄绫�:ModelDeviceBindData + /// </summary> + A璁惧缁戝畾鍒楄〃 = 14, + /// <summary> + /// 瀵硅薄绫�:ModelPanelBackLightInfo + /// </summary> + A闈㈡澘鑳屽厜鐏� = 15, + /// <summary> + /// ModelAutomaticTimingOffInfo + /// </summary> + A瀹氭椂鑷姩鍏抽棴 = 16, + } + + /// <summary> + /// 鍙戦�佹ā鏉挎暟鎹殑鍖哄垎 + /// </summary> + public enum ModelDataSendEnum + { + A鏈畾涔� = -1, + A绉佹湁灞炴�� = 1, + A绉佹湁鍗忚 = 2, + A閫忎紶鏁版嵁 = 3 + } + + #endregion +} -- Gitblit v1.8.0