From 94e4e5b9fd3da964c44b7b14227d6fe2bbb426d7 Mon Sep 17 00:00:00 2001 From: WJC <wjc@hdlchina.com.cn> Date: 星期四, 02 四月 2020 13:56:39 +0800 Subject: [PATCH] 2020-04-02-2 --- ZigbeeApp/Shared/Common/Device.cs | 326 ++++++++++++++++++++++++++++++++++++++++-------------- 1 files changed, 242 insertions(+), 84 deletions(-) diff --git a/ZigbeeApp/Shared/Common/Device.cs b/ZigbeeApp/Shared/Common/Device.cs index b3ae4bb..c59d1e3 100755 --- a/ZigbeeApp/Shared/Common/Device.cs +++ b/ZigbeeApp/Shared/Common/Device.cs @@ -45,12 +45,14 @@ { lock (dicAllDevice) { - var list = new List<CommonDevice>(); - foreach (var device in dicAllDevice.Values) + //鍏堣幏鍙栧叏閮ㄧ殑Mac + var listMac = new List<string>(); + foreach (var strMac in this.dicDeviceEpoint.Keys) { - list.Add(device); + listMac.Add(strMac); } - return list; + //鏍规嵁MAC鍦板潃,鑾峰彇鍏ㄩ儴鍥炶矾鐨勮澶囧璞�(寮哄埗鎺掑簭) + return this.GetDevicesByMac(listMac); } } } @@ -241,7 +243,16 @@ //鑾峰彇杩欎釜缃戝叧鐨勬湰鍦版墍鏈夎澶� string gwID = HdlGatewayLogic.Current.GetGatewayId(zbGateway); - List<CommonDevice> listLocalDevices = this.GetDeviceByGatewayID(gwID, true); + List<CommonDevice> listLocalDevices = this.GetDeviceByGatewayID(gwID); + //鑾峰彇ota璁惧 + foreach (var ota in this.dicOTADevice.Values) + { + if (ota.CurrentGateWayId == gwID) + { + listLocalDevices.Add(ota); + } + } + Dictionary<string, CommonDevice> dicExist = new Dictionary<string, CommonDevice>(); foreach (var device in listLocalDevices) { @@ -464,9 +475,28 @@ //澶囦唤鏁版嵁 await HdlGatewayLogic.Current.UpLoadDeviceBackupDataToGateway(device, GatewayBackupEnum.AMac鍚嶇О, newMacName); //濡傛灉瀹冨彧鏈変竴涓洖璺�,鍒欐洿鏀圭鐐瑰悕瀛� - if (this.dicDeviceEpoint.ContainsKey(device.DeviceAddr) == true && this.dicDeviceEpoint[device.DeviceAddr].Count == 1) + if (this.dicDeviceEpoint.ContainsKey(device.DeviceAddr) == true) { - return await this.ReName(device, newMacName); + //鍙湁涓�涓鐐� + if (this.dicDeviceEpoint[device.DeviceAddr].Count == 1) + { + return await this.ReName(device, newMacName); + } + //濡傛灉瀹冩湁涓や釜绔偣鏃�,pir浼犳劅鍣ㄧ壒娈婂鐞� + else if (this.dicDeviceEpoint[device.DeviceAddr].Count == 2) + { + var myType = this.GetMyDeviceEnumInfo(listDevice); + if (myType.ConcreteType == DeviceConcreteType.Sensor_Pir) + { + foreach (var myDevice in listDevice) + { + if (myDevice.Type == DeviceType.IASZone) + { + return await this.ReName(myDevice, newMacName); + } + } + } + } } } return true; @@ -555,12 +585,12 @@ /// <param name="deleteRoom">鏄惁浠庢埧闂村垹闄�</param> public void DeleteMemmoryDevice(CommonDevice device, bool deleteRoom = true) { - if (deleteRoom == true && Room.CurrentRoom != null) + if (deleteRoom == true && HdlRoomLogic.Current.CurrentRoom != null) { //浠庢埧闂翠腑鍒犻櫎 - Room.CurrentRoom.DeleteDevice(device); + HdlRoomLogic.Current.DeleteDevice(device); //鍒犻櫎鎴戠殑鍠滅埍鐨勮澶� - Room.CurrentRoom.DeleteLoveDevice(device); + HdlRoomLogic.Current.DeleteLoveDevice(device); } //鍒犻櫎缂撳瓨 @@ -702,36 +732,23 @@ /// <summary> /// 鏍规嵁缃戝叧ID鑾峰彇鎵�鏈夌殑璁惧 /// </summary> - /// <param name="gwId">缃戝叧ID</param> - /// <param name="getOtaDevice">鏄惁鑾峰彇ota璁惧</param> + /// <param name="gwId">缃戝叧ID</param>> /// <returns></returns> - public List<CommonDevice> GetDeviceByGatewayID(string gwId, bool getOtaDevice = false) + public List<CommonDevice> GetDeviceByGatewayID(string gwId) { - List<CommonDevice> list = new List<CommonDevice>(); lock (dicAllDevice) { - //鍚勭綉鍏崇殑鎵�鏈夎澶� + var listMac = new List<string>(); + //鍚勭綉鍏崇殑鎵�鏈夎澶囩殑Mac foreach (CommonDevice device in this.dicAllDevice.Values) { if (gwId == device.CurrentGateWayId) { - list.Add(device); + listMac.Add(device.DeviceAddr); } } - if (getOtaDevice == true) - { - //鑾峰彇ota璁惧 - foreach (var ota in this.dicOTADevice.Values) - { - if (ota.CurrentGateWayId == gwId) - { - list.Add(ota); - } - } - } + return this.GetDevicesByMac(listMac); } - - return list; } /// <summary> @@ -798,6 +815,39 @@ } return -1; }); + return list; + } + + /// <summary> + /// 鏍规嵁MAC鍦板潃,鑾峰彇鍏ㄩ儴鍥炶矾鐨勮澶囧璞�(寮哄埗鎺掑簭) + /// </summary> + /// <param name="DeviceAddr">Mac鍦板潃</param> + /// <returns></returns> + public List<CommonDevice> GetDevicesByMac(List<string> listMacAddr) + { + //鍏堟帓搴� + listMacAddr.Sort(); + + var list = new List<CommonDevice>(); + foreach (string strMac in listMacAddr) + { + var listEpoint = new List<int>(); + //鑾峰彇鍏ㄩ儴鐨勭鐐� + foreach (int epoint in this.dicDeviceEpoint[strMac]) + { + listEpoint.Add(epoint); + } + //鐒跺悗鎺掑簭 + listEpoint.Sort(); + foreach (int epoint in listEpoint) + { + var device = this.GetDevice(strMac, epoint); + if (device != null) + { + list.Add(device); + } + } + } return list; } @@ -1103,9 +1153,41 @@ //鑾峰彇璁惧銆愬浘鏍囥�� this.GetDeviceIcon(device, ref unSelectFilePath, ref selectFilePath); + if (btnIcon.UnSelectedImagePath != unSelectFilePath) + { + btnIcon.UnSelectedImagePath = unSelectFilePath; + } + if (btnIcon.SelectedImagePath != selectFilePath) + { + btnIcon.SelectedImagePath = selectFilePath; + } + } - btnIcon.UnSelectedImagePath = unSelectFilePath; - btnIcon.SelectedImagePath = selectFilePath; + /// <summary> + /// 璁剧疆璁惧銆愬浘鏍囥�戝埌鎸囧畾鐨勬帶浠�(娉ㄦ剰,姝ゅ嚱鏁拌缃殑閫夋嫨鐘舵�佺殑鍥剧墖鏄櫧鑹茬殑) + /// </summary> + /// <param name="btnIcon">鎺т欢瀵硅薄</param> + /// <param name="device">璁惧瀵硅薄</param> + /// <returns></returns> + public void SetDeviceIconToControl2(Button btnIcon, CommonDevice device) + { + if (device == null) + { + btnIcon.UnSelectedImagePath = "Device/ThirdPartyDevice.png"; + return; + } + string unSelectFilePath = device.IconPath; + string selectFilePath = unSelectFilePath.Replace(".png", "Selected2.png"); + + //鑾峰彇璁惧銆愬浘鏍囥�� + if (btnIcon.UnSelectedImagePath != unSelectFilePath) + { + btnIcon.UnSelectedImagePath = unSelectFilePath; + } + if (btnIcon.SelectedImagePath != selectFilePath) + { + btnIcon.SelectedImagePath = selectFilePath; + } } /// <summary> @@ -1266,43 +1348,6 @@ #endregion - #region 鈻� 璁惧UI鐩稿叧_________________________ - - /// <summary> - /// 鑾峰彇璁惧鎵�鍖归厤鐨勮澶嘦I瀵硅薄 - /// </summary> - /// <param name="device"></param> - /// <returns></returns> - public DeviceUI GetDeviceUI(CommonDevice device) - { - //鍒涘缓涓�涓柊鐨勪笢瑗跨粰杩囧幓 - var deviceUi = new DeviceUI(); - deviceUi.DeviceAddr = device.DeviceAddr; - deviceUi.DeviceEpoint = device.DeviceEpoint; - return deviceUi; - } - - /// <summary> - /// 鑾峰彇璁惧鎵�鍖归厤鐨勮澶嘦I瀵硅薄 - /// </summary> - /// <param name="filePath"></param> - /// <returns></returns> - public DeviceUI GetDeviceUI(string filePath) - { - string[] arry = filePath.Split(new string[] { "_" }, StringSplitOptions.RemoveEmptyEntries); - if (arry.Length != 4) - { - return null; - } - //鍒涘缓涓�涓柊鐨勪笢瑗跨粰杩囧幓 - var deviceUi = new DeviceUI(); - deviceUi.DeviceAddr = arry[2]; - deviceUi.DeviceEpoint = Convert.ToInt32(arry[3]); - return deviceUi; - } - - #endregion - #region 鈻� 鑾峰彇鑷畾涔夌殑璁惧绫诲瀷_______________ /// <summary> @@ -1329,7 +1374,11 @@ return info; } //鑾峰彇绗笁鏂硅澶囩殑銆愯澶囩被鍨嬨�� - return this.GetNotHdlMyDeviceEnumInfo(listdevice); + info = this.GetNotHdlMyDeviceEnumInfo(listdevice); + //杩欓噷鍐嶆鍒ゆ柇鏄惁鏄渤涓滆澶�,鏈夊彲鑳藉畠鐨勬ā鍧桰D鍐欓敊浜� + info.IsHdlDevice = this.IsHdlDevice(checkDevice); + + return info; } /// <summary> @@ -1394,6 +1443,9 @@ return null; } string modelKeys = device.ModelIdentifier; + //浜ゆ崲涓�涓嬫ā鍧桰D(楹︿箰鍏嬮偅杈圭殑浼犳劅鍣�) + this.ChangedDeviceModeId(ref modelKeys); + if (this.dicDeviceModelIdEnum.ContainsKey(modelKeys) == false) { //娌℃湁鍖归厤鍒版ā鍧桰D锛屽垯鐩存帴璧扮涓夋柟璁惧鐨勫垽鏂� @@ -1774,7 +1826,7 @@ //鍗曠函鍙槸Ota璁惧鍒欎笉澶勭悊 return; } - Common.Room.CurrentRoom.ChangedRoom(listDevice[0], roomId, false); + HdlRoomLogic.Current.ChangedRoom(listDevice[0], roomId, false); } } @@ -1790,7 +1842,7 @@ //鏈垎閰嶅尯鍩� return Language.StringByID(R.MyInternationalizationString.uDeviceNotAssignedRoom); } - var room = Room.CurrentRoom.GetRoomById(this.dicDeviceRoomId[device.DeviceAddr]); + var room = HdlRoomLogic.Current.GetRoomById(this.dicDeviceRoomId[device.DeviceAddr]); if (room != null) { return room.Name; @@ -1810,7 +1862,81 @@ { return null; } - return Room.CurrentRoom.GetRoomById(this.dicDeviceRoomId[device.DeviceAddr]); + return HdlRoomLogic.Current.GetRoomById(this.dicDeviceRoomId[device.DeviceAddr]); + } + + #endregion + + #region 鈻� 璁惧鎺掑簭___________________________ + + /// <summary> + /// 璁惧鎺掑簭 + /// </summary> + /// <param name="i_listDevice">璇风‘淇濊繖涓笢瑗垮凡缁忔寜mac鍜岀鐐规帓搴忎簡</param> + /// <returns></returns> + public List<CommonDevice> SortDeviceByBelongType(List<CommonDevice> i_listDevice) + { + //鑾峰彇鎺掑簭瑙勫垯 + var listRule = this.GetBelongTypeSortRule(); + var dicDevice = new Dictionary<DeviceBeloneType, List<CommonDevice>>(); + dicDevice[DeviceBeloneType.A鏈煡璁惧] = new List<CommonDevice>(); + + foreach (var device in i_listDevice) + { + //鑾峰彇鎵�灞炵被鍨� + var typeInfo = this.GetDeviceBelongEnumInfo(device); + if (listRule.Contains(typeInfo.BeloneType) == false) + { + //涓嶅湪鎺掑簭鑼冨洿鍐�,閮戒涪鍦ㄦ渶鍚庨潰 + dicDevice[DeviceBeloneType.A鏈煡璁惧].Add(device); + continue; + } + if (dicDevice.ContainsKey(typeInfo.BeloneType) == false) + { + dicDevice[typeInfo.BeloneType] = new List<CommonDevice>(); + } + dicDevice[typeInfo.BeloneType].Add(device); + } + + var listSort = new List<CommonDevice>(); + foreach (var myType in listRule) + { + //鏍规嵁瑙勫垯椤哄簭,娣诲姞璁惧 + if (dicDevice.ContainsKey(myType) == false || dicDevice[myType].Count == 0) + { + continue; + } + listSort.AddRange(dicDevice[myType]); + } + + return listSort; + } + + /// <summary> + /// 鑾峰彇璁惧鎵�灞炵被鍨嬬殑鐨勬帓搴忚鍒� + /// </summary> + /// <returns></returns> + public HashSet<DeviceBeloneType> GetBelongTypeSortRule() + { + //璋佸湪鍓嶉潰,璋佸氨浼樺厛鏄剧ず + var list = new HashSet<DeviceBeloneType>(); + list.Add(DeviceBeloneType.A鐏厜); + list.Add(DeviceBeloneType.A褰╃伅); + list.Add(DeviceBeloneType.A寮�鍏�); + list.Add(DeviceBeloneType.A鎻掑骇); + list.Add(DeviceBeloneType.A璋冨厜鍣�); + list.Add(DeviceBeloneType.A绐楀笜); + list.Add(DeviceBeloneType.A绌鸿皟); + list.Add(DeviceBeloneType.A缁х數鍣�); + list.Add(DeviceBeloneType.A骞叉帴鐐�); + list.Add(DeviceBeloneType.A鏅鸿兘闂ㄩ攣); + list.Add(DeviceBeloneType.A鏅鸿兘绌哄紑); + list.Add(DeviceBeloneType.A浼犳劅鍣�); + + //鍏朵粬鐨勭湅鐫�鍔炲憲,閮芥槸鎺掑湪鍚庨潰鐨�,閮藉綊涓鸿繖涓睘鎬� + list.Add(DeviceBeloneType.A鏈煡璁惧); + + return list; } #endregion @@ -1834,7 +1960,7 @@ /// <returns></returns> public string GetDeviceMainKeys(CommonDevice device) { - return device.DeviceAddr + device.DeviceEpoint; + return this.GetDeviceMainKeys(device.DeviceAddr, device.DeviceEpoint); } /// <summary> @@ -1845,7 +1971,7 @@ /// <returns></returns> public string GetDeviceMainKeys(string DeviceAddr, int DeviceEpoint) { - return DeviceAddr + DeviceEpoint; + return DeviceAddr + "_" + DeviceEpoint; } /// <summary> @@ -2064,6 +2190,8 @@ statu = 2; } } + + statu = 1; return listDevice; } @@ -2254,9 +2382,10 @@ //********************************************************************* //鏂拌澶囨坊鍔犳柟娉曪細 //1銆佸湪杩欓噷濉啓涓婃ā鍧桰D锛岀劧鍚庢槸 DeviceConcreteType 锛岀劧鍚庢槸 DeviceBeloneType - //2銆佺劧鍚庡湪鏈�涓嬮潰娣诲姞銆愯澶囩殑鍏蜂綋绫诲瀷銆戯紝銆愯澶囩殑鎵�灞炵被鍨嬨�� + //2銆佺劧鍚庡湪鏈�涓嬮潰鐨勩�愯嚜瀹氫箟璁惧绫诲瀷銆戞姌鍙犳爮閲屾坊鍔犮�愯澶囩殑鍏蜂綋绫诲瀷銆戯紝銆愯澶囩殑鎵�灞炵被鍨嬨�� //3銆佷互璁惧鐨勫叿浣撶被鍨嬩负鍚嶅瓧(鍘绘帀銆�-銆�)娣诲姞璁惧鐨勩�愭墍灞炲浘鐗囥�戯紝銆愮湡瀹炵墿鐞嗗浘鐗囥�戙�傚洖璺浘鐗囬渶瑕佺壒娈婂鐞� - //4銆佹坊鍔燫鏂囦欢,娣诲姞Language鏂囦欢 + //4銆佹坊鍔燫鏂囦欢(uDeviceModelId),娣诲姞Language鏂囦欢 + //5銆佸鏋滈渶瑕佸叡鏈夊浘鐗�,鍒欏湪杩欎釜鍑芥暟鐨勬渶搴曚笅娣诲姞 //********************************************************************* //=========鈽呪槄寮�鍚堝笜绫�(100-199)鈽呪槄========= @@ -2272,11 +2401,14 @@ this.dicDeviceModelIdEnum["MPT4R4L/S-ZB.18"] = "220-200";//绠�绾�4鎸夐敭闈㈡澘 this.dicDeviceModelIdEnum["MPT3R3L/S-ZB.18"] = "221-200";//绠�绾�3鎸夐敭闈㈡澘 this.dicDeviceModelIdEnum["MPT2R2L/S-ZB.18"] = "222-200";//绠�绾�2鎸夐敭闈㈡澘 - this.dicDeviceModelIdEnum["MP2B/TILE-ZB.18"] = "240-200";//鏂规偊2鎸夐敭杞昏Е寮忛潰鏉� - this.dicDeviceModelIdEnum["MP4B/TILE-ZB.18"] = "241-200";//鏂规偊4鎸夐敭杞昏Е寮忛潰鏉� - this.dicDeviceModelIdEnum["MP8B/TILE-ZB.18"] = "242-200";//鏂规偊8鎸夐敭杞昏Е寮忛潰鏉� + this.dicDeviceModelIdEnum["MPT4SC/S-ZB.18"] = "224-200";//绠�绾�4鎸夐敭鍦烘櫙闈㈡澘 + this.dicDeviceModelIdEnum["MPT2W/S-ZB.18"] = "226-200";//绠�绾�2璺獥甯橀潰鏉� + this.dicDeviceModelIdEnum["MP2B/TILE-ZB.18"] = "240-200";//鏂规偊鍗曞紑鍙屾帶闈㈡澘 + this.dicDeviceModelIdEnum["MP4B/TILE-ZB.18"] = "241-200";//鏂规偊鍙屽紑鍥涙帶闈㈡澘 + this.dicDeviceModelIdEnum["MP8B/TILE-ZB.18"] = "242-200";//鏂规偊鍥涘紑鍏帶闈㈡澘 this.dicDeviceModelIdEnum["MPFA/TILE-ZB.18"] = "250-200";//鏂规偊鏂伴闈㈡澘 this.dicDeviceModelIdEnum["MPTE3/TILE-ZB.18"] = "253-200";//鏂规偊鐜闈㈡澘 + this.dicDeviceModelIdEnum["MP2W/TILE-ZB.18"] = "256-200";//绐楀笜闈㈡澘 //=========鈽呪槄PIR浼犳劅鍣ㄧ被(1200-1299)鈽呪槄========= this.dicDeviceModelIdEnum["MSPIR01-ZB.10"] = "1200-1200";//pir浼犳劅鍣�220 @@ -2291,12 +2423,14 @@ //=========鈽呪槄缁х數鍣ㄧ被(2300-2499)鈽呪槄========= this.dicDeviceModelIdEnum["MPR0310-ZB.10"] = "2300-2300";//3璺户鐢靛櫒灏忔ā鍧� + this.dicDeviceModelIdEnum["MFA01-ZB1.0"] = "2310-2300";//鏂规偊鏂伴灏忔ā鍧� //=========鈽呪槄璋冨厜鍣ㄧ被(2500-2799)鈽呪槄========= this.dicDeviceModelIdEnum["MPD0101-ZB.10"] = "2500-2500";//1璺皟鍏夊櫒灏忔ā鍧� //=========鈽呪槄鏅鸿兘闂ㄩ攣绫�(2800-????)鈽呪槄========= this.dicDeviceModelIdEnum["H06C"] = "2800-2800";//鏅鸿兘闂ㄩ攣(H06C) + this.dicDeviceModelIdEnum["S-one"] = "2802-2800";//鏅鸿兘闂ㄩ攣(S-one) //=========鈽呪槄绌鸿皟绫�(3600-3899)鈽呪槄========= this.dicDeviceModelIdEnum["MAC/GW-ZB.10"] = "3600-3600";//zigbee绌鸿皟缃戝叧妯″潡 @@ -2326,10 +2460,14 @@ //鉁┾湬鉁┾湬鉁╅渶瑕佸叡鏈夌殑鍥剧墖瀵硅薄鉁┾湬鉁┾湬鉁� + //涓よ�呴兘鏄疍eviceConcreteType + //Keys:鎸囧畾鐨勮澶� value:娌跨敤鐨勫浘鐗囨槸鍝璁惧鐨� this.dicPictrueShard = new Dictionary<string, string>(); this.dicPictrueShard["ButtonPanel_SimpleFour"] = "ButtonPanel_Four";//绠�绾�4鎸夐敭闈㈡澘 娌跨敤 4鎸夐敭鐨勫浘鏍� this.dicPictrueShard["ButtonPanel_SimpleThree"] = "ButtonPanel_Three";//绠�绾�3鎸夐敭闈㈡澘 娌跨敤 3鎸夐敭鐨勫浘鏍� this.dicPictrueShard["ButtonPanel_SimpleTwo"] = "ButtonPanel_Two";//绠�绾�2鎸夐敭闈㈡澘 娌跨敤 2鎸夐敭鐨勫浘鏍� + this.dicPictrueShard["IntelligentLocks_Sone"] = "IntelligentLocks_H06C";//S-one鐨勯棬閿佸浘鐗囨部鐢℉06C鐨勫浘鏍� + } #endregion @@ -2338,12 +2476,12 @@ #region 鈻� 鑷畾涔夎澶囩被鍨媉________________________ /// <summary> - /// <para>浠呴檺搴曞眰浣跨敤锛氳澶囩殑鍏蜂綋銆愯澶囩被鍨嬨��,鑷畾涔変笌妯″潡id鍏宠仈鐨勬灇涓�(鍊间负LocalDevice閲岄潰dicDeviceModelIdEnum鎵�鎸囧畾鐨勫��)</para> + /// <para>浠呴檺搴曞眰浣跨敤锛氳澶囩殑鍏蜂綋銆愯澶囩被鍨嬨��,鑷畾涔変笌妯″潡id鍏宠仈鐨勬灇涓�(鍊间负LocalDevice閲岄潰dicDeviceModelIdEnum鎵�鎸囧畾鐨凞eviceConcreteType鍊�)</para> /// <para>鍙橀噺鍚嶅彲浠ヤ綔涓恒�愯澶囩被鍨嬨�戝浘鐗�,杩欎釜鍊兼槸鐬庡啓鐨�,娌′粈涔堢壒娈婃剰涔�</para> /// </summary> public enum DeviceConcreteType { - //瀹氫箟瑙勫垯锛氥�愯澶囩被鍨嬨�戝浘鐗囧悕瀛�=LocalDevice閲岄潰dicDeviceModelIdEnum鎵�鎸囧畾鐨勫�� + //瀹氫箟瑙勫垯锛氥�愯澶囩被鍨嬨�戝浘鐗囧悕瀛�=LocalDevice閲岄潰dicDeviceModelIdEnum鎵�鎸囧畾鐨凞eviceConcreteType鍊� /// <summary> /// 鏈煡璁惧 @@ -2402,6 +2540,14 @@ /// </summary> ButtonPanel_SimpleTwo = 222, /// <summary> + /// 绠�绾�4鎸夐敭鍦烘櫙闈㈡澘 闀滃儚id锛�224 + /// </summary> + ButtonPanel_FourButtonScene = 224, + /// <summary> + /// 绠�绾�2璺獥甯橀潰鏉� 闀滃儚id锛�226 + /// </summary> + ButtonPanel_TwoButtonCurtain = 226, + /// <summary> /// 鏂规偊2鎸夐敭杞昏Е寮忛潰鏉� 闀滃儚id锛�240 /// </summary> ButtonPanel_FangyueTwo = 240, @@ -2416,11 +2562,15 @@ /// <summary> /// 鏂规偊鏂伴闈㈡澘 闀滃儚id锛�250 /// </summary> - ButtonPanel_FangyueNewWind = 250, + ButtonPanel_FangyueFreshAir = 250, /// <summary> /// 鏂规偊鐜闈㈡澘 闀滃儚id锛�253 /// </summary> ButtonPanel_FangyueEnvironment = 253, + /// <summary> + /// 绐楀笜闈㈡澘 闀滃儚id锛�256 + /// </summary> + ButtonPanel_Curtain = 256, //=========鈽呪槄PIR浼犳劅鍣ㄧ被(1200-1299)鈽呪槄========= /// <summary> @@ -2487,7 +2637,11 @@ /// 涓夎矾缁х數鍣� 闀滃儚id锛�2300 /// </summary> Relay_ThreeLoad = 2300, - + /// <summary> + /// 鏂规偊鏂伴灏忔ā鍧� 闀滃儚id锛�2310 + /// </summary> + Relay_FangyueFreshAirModul = 2310, + //=========鈽呪槄璋冨厜鍣ㄧ被(2500-2799)鈽呪槄========= /// <summary> /// 璋冨厜鍣� @@ -2507,6 +2661,10 @@ /// H06C /// </summary> IntelligentLocks_H06C = 2800, + /// <summary> + /// S-one + /// </summary> + IntelligentLocks_Sone = 2802, //=========鈽呪槄褰╃伅绫�(????-????)鈽呪槄========= /// <summary> @@ -2578,7 +2736,7 @@ } /// <summary> - /// <para>浠呴檺搴曞眰浣跨敤锛氳澶囨墍灞炵殑銆愯澶囩绫汇��,鑷畾涔変笌妯″潡id鍏宠仈鐨勬灇涓�(鍊间负LocalDevice閲岄潰dicDeviceModelIdEnum鎵�鎸囧畾鐨勫��)</para> + /// <para>浠呴檺搴曞眰浣跨敤锛氳澶囨墍灞炵殑銆愯澶囩绫汇��,鑷畾涔変笌妯″潡id鍏宠仈鐨勬灇涓�(鍊间负LocalDevice閲岄潰dicDeviceModelIdEnum鎵�鎸囧畾鐨凞eviceBeloneType鍊�)</para> /// <para>杩欎釜鍊兼槸鐬庡啓鐨�,娌′粈涔堢壒娈婃剰涔�</para> /// </summary> public enum DeviceBeloneType -- Gitblit v1.8.0