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/TemplateDataCommon.cs | 964 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 964 insertions(+), 0 deletions(-)
diff --git a/ZigbeeApp/Shared/Phone/TemplateData/TemplateDataCommon.cs b/ZigbeeApp/Shared/Phone/TemplateData/TemplateDataCommon.cs
new file mode 100644
index 0000000..3729923
--- /dev/null
+++ b/ZigbeeApp/Shared/Phone/TemplateData/TemplateDataCommon.cs
@@ -0,0 +1,964 @@
+锘縰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>
+ /// 鑾峰彇澶辫触鏃剁殑Msg(log鏄剧ず浣跨敤)
+ /// </summary>
+ /// <returns></returns>
+ public virtual List<string> GetFailMsg()
+ {
+ return new List<string>();
+ }
+
+ /// <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> ListUintName = new List<string>();
+ /// <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 CloundModelBaseInfo
+ {
+ /// <summary>
+ /// 妯℃澘鍚嶅瓧
+ /// </summary>
+ public string TemplateName = string.Empty;
+ /// <summary>
+ /// 缂栬緫鏃堕棿 2020.01.04 19:55鏍煎紡
+ /// </summary>
+ public string CreatedOnUtc = string.Empty;
+ /// <summary>
+ /// 涓婚敭
+ /// </summary>
+ public string Id = string.Empty;
+ }
+
+ /// <summary>
+ /// 妯℃澘浣忓畢鐨勪俊鎭�
+ /// </summary>
+ public class TemplateHomeInfo
+ {
+ /// <summary>
+ /// 鍗曞厓鏍囬
+ /// </summary>
+ public List<string> ListUintName = new List<string>();
+ /// <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>
+ /// 鑾峰彇澶辫触鏃剁殑Msg(log鏄剧ず浣跨敤)
+ /// </summary>
+ /// <returns></returns>
+ public override List<string> GetFailMsg()
+ {
+ //鍒囨崲鎵嬫媺鎺у埗澶辫触
+ return new List<string> { Language.StringByID(R.MyInternationalizationString.uChangeHandPullControlFail) };
+ }
+ }
+
+ /// <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;
+ }
+ /// <summary>
+ /// 鑾峰彇澶辫触鏃剁殑Msg(log鏄剧ず浣跨敤)
+ /// </summary>
+ /// <returns></returns>
+ public override List<string> GetFailMsg()
+ {
+ //璁剧疆绐楀笜闄愪綅鐐瑰け璐�
+ return new List<string> { Language.StringByID(R.MyInternationalizationString.uCommitCurtainLimitFail) };
+ }
+ }
+
+ #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>
+ /// 鑾峰彇澶辫触鏃剁殑Msg(log鏄剧ず浣跨敤)
+ /// </summary>
+ /// <returns></returns>
+ public override List<string> GetFailMsg()
+ {
+ //璁剧疆绌鸿皟妯″紡澶辫触
+ return new List<string> { Language.StringByID(R.MyInternationalizationString.uSetAcModeFail) };
+ }
+ }
+
+ /// <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;
+ }
+ /// <summary>
+ /// 鑾峰彇澶辫触鏃剁殑Msg(log鏄剧ず浣跨敤)
+ /// </summary>
+ /// <returns></returns>
+ public override List<string> GetFailMsg()
+ {
+ //璁剧疆绌鸿皟鎽嗛澶辫触
+ return new List<string> { Language.StringByID(R.MyInternationalizationString.uSetAirConditionerSwingFunctionFail) };
+ }
+ }
+
+ #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>();
+ //娓呯┖缁戝畾
+ listCommand.Add(string.Empty);
+ //杩欎釜鍒ゆ柇鏄负浜嗛拡瀵逛竴璺皟鍏夊櫒鍜屼笁璺户鐢靛櫒鐨勯偅涓涓冨洖璺�
+ if (this.ListReceiveResult.Count > 0 && string.IsNullOrEmpty(this.ListReceiveResult[0]) == false)
+ {
+ var jObject = new Newtonsoft.Json.Linq.JObject { { "DeviceAddr", this.DeviceMac }, { "Epoint", this.DeviceEpoint }, { "Cluster_ID", 0 }, { "Command", 5006 } };
+ listCommand[0] = 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>
+ /// 鑾峰彇澶辫触鏃剁殑Msg(log鏄剧ず浣跨敤)
+ /// </summary>
+ /// <returns></returns>
+ public override List<string> GetFailMsg()
+ {
+ //娓呯┖缁戝畾鍒楄〃澶辫触 , 璁惧灞炴�у彉鏇村け璐� , 缁戝畾鐩爣璁剧疆澶辫触
+ return new List<string> {"娓呯┖缁戝畾鍒楄〃澶辫触"
+ ,Language.StringByID(R.MyInternationalizationString.uDeviceAttributeChangedFail)
+ ,Language.StringByID(R.MyInternationalizationString.uSetBindTargetsFail)};
+ }
+
+ /// <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];
+ }
+ }
+ //鍙樻洿缂撳瓨
+ TemplateCommonLogic.Current.SaveDeviceMemmoryData(this.DeviceMac, this.DeviceEpoint);
+ }
+ }
+
+ #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;
+ }
+ /// <summary>
+ /// 鑾峰彇澶辫触鏃剁殑Msg(log鏄剧ず浣跨敤)
+ /// </summary>
+ /// <returns></returns>
+ public override List<string> GetFailMsg()
+ {
+ //璁剧疆浼犳劅鍣ㄩ厤缃俊鎭け璐�
+ return new List<string> {Language.StringByID(R.MyInternationalizationString.uSetPirSensorSettionFail)};
+ }
+ }
+
+ #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>
+ /// 鑾峰彇澶辫触鏃剁殑Msg(log鏄剧ず浣跨敤)
+ /// </summary>
+ /// <returns></returns>
+ public override List<string> GetFailMsg()
+ {
+ //璁剧疆闇囧姩鍙嶉閰嶇疆淇℃伅澶辫触
+ return new List<string> { Language.StringByID(R.MyInternationalizationString.uSetVibrationFeedbackSettionFail) };
+ }
+ }
+
+ /// <summary>
+ /// 闈㈡澘浜害璋冭妭妯℃澘鏁版嵁瀹氫箟
+ /// </summary>
+ public class ModelPanelBrightnessAdjustInfo : TemplateDeviceDataCommon
+ {
+ /// <summary>
+ /// 鎸夐敭寮�鐘舵�侊紙鎸囩ず锛変寒搴�(杩欎釜鏄偣鍑诲悗鐨勫��,鎴栬�� 1-6骞叉帴鐐圭殑鑳屽厜鐏�)
+ /// </summary>
+ public int panelDirectionsLevel = -1;
+ /// <summary>
+ /// 鎸夐敭鍏崇姸鎬侊紙鑳屽厜锛変寒搴�(杩欎釜鏄偣鍑诲墠鐨勫��,鎴栬�� 绗竷骞叉帴鐐圭殑鑳屽厜鐏�)
+ /// </summary>
+ public int panelBacklightLevel = -1;
+
+ /// <summary>
+ /// 鑾峰彇鏇存敼璁惧閰嶇疆鐨勫懡浠ゅ瓧绗�
+ /// </summary>
+ /// <returns></returns>
+ public override List<string> GetSendGatewayValue()
+ {
+ //浜害璋冭妭
+ var command1 = HdlDevicePanelLogic.Current.GetPanelLevelCommadText(DeviceMac, panelDirectionsLevel, panelBacklightLevel);
+ return new List<string>() { command1 };
+ }
+
+ /// <summary>
+ /// 鑾峰彇鍙戦�佸懡浠ゅぇ姒傞渶瑕佺殑鏃堕棿(绉�)
+ /// </summary>
+ /// <returns></returns>
+ public override int GetSendTime()
+ {
+ //鎵ц杩欎釜鍛戒护澶х害闇�瑕�8绉�
+ return 3;
+ }
+ /// <summary>
+ /// 鑾峰彇澶辫触鏃剁殑Msg(log鏄剧ず浣跨敤)
+ /// </summary>
+ /// <returns></returns>
+ public override List<string> GetFailMsg()
+ {
+ //璁剧疆浜害璋冭妭澶辫触
+ return new List<string> { Language.StringByID(R.MyInternationalizationString.uSetLightRegulationFail) };
+ }
+ }
+
+ /// <summary>
+ /// 闈㈡澘鑺傝兘妯″紡妯℃澘鏁版嵁瀹氫箟
+ /// </summary>
+ public class ModelPanelEnergyModeInfo : TemplateDeviceDataCommon
+ {
+ /// <summary>
+ /// 鑺傝兘妯″紡
+ /// </summary>
+ public ZigBee.Device.Panel.PanelSaveEnergyModeInfo energyModeInfo = new ZigBee.Device.Panel.PanelSaveEnergyModeInfo();
+ /// <summary>
+ /// 鑾峰彇鏇存敼璁惧閰嶇疆鐨勫懡浠ゅ瓧绗�
+ /// </summary>
+ /// <returns></returns>
+ public override List<string> GetSendGatewayValue()
+ {
+ //鑺傝兘妯″紡
+ var command1 = HdlDevicePanelLogic.Current.GetDeviceEnergyConservationModeCommandText(DeviceMac, energyModeInfo.enable, energyModeInfo.time, energyModeInfo.level);
+
+ return new List<string>() { command1 };
+ }
+
+ /// <summary>
+ /// 鑾峰彇鍙戦�佸懡浠ゅぇ姒傞渶瑕佺殑鏃堕棿(绉�)
+ /// </summary>
+ /// <returns></returns>
+ public override int GetSendTime()
+ {
+ //鎵ц杩欎釜鍛戒护澶х害闇�瑕�8绉�
+ return 3;
+ }
+ /// <summary>
+ /// 鑾峰彇澶辫触鏃剁殑Msg(log鏄剧ず浣跨敤)
+ /// </summary>
+ /// <returns></returns>
+ public override List<string> GetFailMsg()
+ {
+ //鑺傝兘妯″紡閰嶇疆澶辫触
+ return new List<string> { Language.StringByID(R.MyInternationalizationString.uSetEnergyConservationFail) };
+ }
+ }
+
+ /// <summary>
+ /// 闈㈡澘鎸囩ず鐏ā鏉挎暟鎹畾涔�(涔熷彨鑳屽厜鐏�)
+ /// </summary>
+ public class ModelPanelIndicatorLightInfo : TemplateDeviceDataCommon
+ {
+ /// <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.GetPanelColorCommandText(DeviceMac, keyColorData, KeyNum);
+
+ return new List<string>() { command1 };
+ }
+
+ /// <summary>
+ /// 鑾峰彇鍙戦�佸懡浠ゅぇ姒傞渶瑕佺殑鏃堕棿(绉�)
+ /// </summary>
+ /// <returns></returns>
+ public override int GetSendTime()
+ {
+ //鎵ц杩欎釜鍛戒护澶х害闇�瑕�8绉�
+ return 3;
+ }
+ /// <summary>
+ /// 鑾峰彇澶辫触鏃剁殑Msg(log鏄剧ず浣跨敤)
+ /// </summary>
+ /// <returns></returns>
+ public override List<string> GetFailMsg()
+ {
+ //璁剧疆鎸夐敭闈㈡澘鎸囩ず鐏鑹插け璐�
+ return new List<string> { Language.StringByID(R.MyInternationalizationString.uSetPanelPilolightSettionFail) };
+ }
+ }
+
+ #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>
+ /// 鑾峰彇澶辫触鏃剁殑Msg(log鏄剧ず浣跨敤)
+ /// </summary>
+ /// <returns></returns>
+ public override List<string> GetFailMsg()
+ {
+ //璁惧绔偣鍚嶇О淇敼澶辫触
+ return new List<string> { "璁惧绔偣鍚嶇О淇敼澶辫触" };
+ }
+ }
+
+ /// <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;
+ }
+ /// <summary>
+ /// 鑾峰彇澶辫触鏃剁殑Msg(log鏄剧ず浣跨敤)
+ /// </summary>
+ /// <returns></returns>
+ public override List<string> GetFailMsg()
+ {
+ //璁惧鍚嶇О淇敼澶辫触
+ return new List<string> { Language.StringByID(R.MyInternationalizationString.uDeviceReNameFail) };
+ }
+ }
+
+ #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>
+ /// 瀵硅薄绫�:ModelPanelBrightnessAdjustInfo
+ /// </summary>
+ A闈㈡澘浜害璋冭妭 = 15,
+ /// <summary>
+ /// 瀵硅薄绫�:ModelPanelEnergyModeInfo
+ /// </summary>
+ A闈㈡澘鑺傝兘妯″紡 = 16,
+ /// <summary>
+ /// 涔熷彨鑳屽厜鐏� 瀵硅薄绫�:ModelPanelIndicatorLightInfo
+ /// </summary>
+ A闈㈡澘鎸囩ず鐏� = 17
+ }
+
+ #endregion
+}
--
Gitblit v1.8.0