陈嘉乐
2020-09-02 652243206427f35a256400a149a1734085824cb9
ZigbeeApp/Shared/Phone/Device/Logic/LogicIfon.cs
@@ -41,6 +41,25 @@
                            }
                        }
                        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
                        {
                            Common.Logic.CurrentLogic.Conditions.RemoveAt(i);
@@ -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)
        {