From 652243206427f35a256400a149a1734085824cb9 Mon Sep 17 00:00:00 2001 From: 陈嘉乐 <cjl@hdlchina.com.cn> Date: 星期三, 02 九月 2020 17:35:03 +0800 Subject: [PATCH] 2020-09-02-4 --- ZigbeeApp/Shared/Phone/Device/Logic/LogicIfon.cs | 51 +++++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 45 insertions(+), 6 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/Device/Logic/LogicIfon.cs b/ZigbeeApp/Shared/Phone/Device/Logic/LogicIfon.cs old mode 100644 new mode 100755 index 78c77e8..9725229 --- a/ZigbeeApp/Shared/Phone/Device/Logic/LogicIfon.cs +++ b/ZigbeeApp/Shared/Phone/Device/Logic/LogicIfon.cs @@ -13,7 +13,7 @@ /// </summary> /// <param name="common">Common.</param> /// <param name="objecttype">Objecttype.</param> - public static void AddDeviceconditions(CommonDevice common, Dictionary<string, string> objecttype) + public static void AddDeviceconditions(CommonDevice common, Dictionary<string, string> objecttype) { for (int i = 0; i < Common.Logic.CurrentLogic.Conditions.Count; i++) { @@ -39,6 +39,25 @@ Common.Logic.CurrentLogic.Conditions.Insert(i, objecttype); return; } + + } + else if (common.Type == DeviceType.IASZone) + { + var iASZonedevice = common as IASZone; + if (iASZonedevice.ModelIdentifier == "MSPIRB-ZB.10") + {//鐞冨舰绉诲姩浼犳劅鍣� + if (Common.Logic.CurrentLogic.Conditions[i]["Cluster_ID"] == objecttype["Cluster_ID"]) + { + Common.Logic.CurrentLogic.Conditions.RemoveAt(i); + Common.Logic.CurrentLogic.Conditions.Insert(i, objecttype); + return; + } + continue; + } + + Common.Logic.CurrentLogic.Conditions.RemoveAt(i); + Common.Logic.CurrentLogic.Conditions.Insert(i, objecttype); + return; } else @@ -126,13 +145,34 @@ /// </summary> /// <param name="common">Common.</param> /// <param name="actionsInfo">Objecttype.</param> - public static void AddDeviceactions(ZigBee.Device.CommonDevice common, Dictionary<string, object> actionsInfo) + public static void AddDeviceActions(ZigBee.Device.CommonDevice common, Dictionary<string, object> actionsInfo) { for (int i = 0; i < Common.Logic.CurrentLogic.Actions.Count; i++) { if (Common.Logic.CurrentLogic.Actions[i]["LinkType"].ToString() == "0") { if (Common.Logic.CurrentLogic.Actions[i]["DeviceAddr"].ToString() == common.DeviceAddr && Common.Logic.CurrentLogic.Actions[i]["Epoint"].ToString() == common.DeviceEpoint.ToString()) + { + Common.Logic.CurrentLogic.Actions.RemoveAt(i); + Common.Logic.CurrentLogic.Actions.Insert(i, actionsInfo); + return; + } + } + } + Common.Logic.CurrentLogic.Actions.Add(actionsInfo); + } + /// <summary> + /// 娣诲姞闂ㄩ攣璁惧杈撳嚭鐨勬柟娉� + /// </summary> + /// <param name="common">Common.</param> + /// <param name="actionsInfo">Objecttype.</param> + public static void AddDoorLockActions(ZigBee.Device.CommonDevice common, Dictionary<string, object> actionsInfo) + { + for (int i = 0; i < Common.Logic.CurrentLogic.Actions.Count; i++) + { + if (Common.Logic.CurrentLogic.Actions[i]["LinkType"].ToString() == "8") + { + if (Common.Logic.CurrentLogic.Actions[i]["DeviceAddr"].ToString() == common.DeviceAddr && Common.Logic.CurrentLogic.Actions[i]["Epoint"].ToString() =="200") { Common.Logic.CurrentLogic.Actions.RemoveAt(i); Common.Logic.CurrentLogic.Actions.Insert(i, actionsInfo); @@ -166,8 +206,7 @@ /// <summary> /// 娣诲姞瀹夐槻杈撳嚭鐨勬柟娉� /// </summary> - /// <param name="objecttype">Objecttype.</param> - /// <param name="o">O.</param> + /// <param name="actionsInfo">actionsInfo.</param> public static void AddSecurityactions(Dictionary<string, object> actionsInfo) { for (int i = 0; i < Common.Logic.CurrentLogic.Actions.Count; i++) @@ -185,8 +224,8 @@ /// <summary> /// 娣诲姞鑷姩鍖栬緭鍑虹殑鏂规硶 /// </summary> - /// <param name="objecttype">Objecttype.</param> - /// <param name="o">O.</param> + /// <param name="actionsInfo">Objecttype.</param> + /// <param name="logic">logic</param> public static void AddLogicactions(Common.Logic logic, Dictionary<string, object> actionsInfo) { -- Gitblit v1.8.0