HDL Home App 第二版本 旧平台金堂用 正在使用
陈嘉乐
2020-12-29 71c7ad13169695913282962a460858e13b6c0969
ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlSafeguardLogic.cs
old mode 100755 new mode 100644
@@ -184,9 +184,11 @@
            var dateTime = DateTime.Now;
            while ((DateTime.Now - dateTime).TotalMilliseconds < 3000)
            {
                if (topicCount <= 0 || error == true)
                //if (error == true) { break; }
                if (topicCount <= 0)
                {
                    //9次主题全部接收完成
                    await Task.Delay(1000);
                    break;
                }
                await Task.Delay(50);
@@ -455,7 +457,7 @@
            foreach (var device in listdevice)
            {
                int MomentStatus = 1;
                int TriggerZoneStatus = 1;
                int TriggerZoneStatus = 3;
                //获取安防传感器的瞬间状态设定值
                this.GetSafeguardSensorMomentStatus(device, ref MomentStatus, ref TriggerZoneStatus);
@@ -594,43 +596,43 @@
            if (device.IasDeviceType == 13)
            {
                MomentStatus = 1;
                TriggerZoneStatus = 1;
                TriggerZoneStatus = 3;
            }
            //烟雾传感器
            else if (device.IasDeviceType == 40)
            {
                MomentStatus = 1;
                TriggerZoneStatus = 1;
                TriggerZoneStatus = 3;
            }
            //水侵传感器
            else if (device.IasDeviceType == 42)
            {
                MomentStatus = 1;
                TriggerZoneStatus = 1;
                TriggerZoneStatus = 3;
            }
            //燃气传感器
            else if (device.IasDeviceType == 43)
            {
                MomentStatus = 1;
                TriggerZoneStatus = 1;
                TriggerZoneStatus = 3;
            }
            //紧急按钮
            else if (device.IasDeviceType == 44)
            {
                MomentStatus = 1;
                TriggerZoneStatus = 1;
                TriggerZoneStatus = 3;
            }
            //钥匙扣
            else if (device.IasDeviceType == 277)
            {
                MomentStatus = 1;
                TriggerZoneStatus = 1;
                TriggerZoneStatus = 3;
            }
            //门窗传感器
            else if (device.IasDeviceType == 21 || device.IasDeviceType == 22)
            {
                MomentStatus = 0;
                TriggerZoneStatus = 1;
                TriggerZoneStatus = 3;
            }
            //如果是虚拟设备,则这个东西永恒为0
            if (device.DriveCode > 0)
@@ -1971,7 +1973,7 @@
            //要考虑它的排列顺序(可以按需求变更编号)
            Dictionary<int, string> dicSort = new Dictionary<int, string>();
            //最大编号
            int MaxNo = 4;
            int MaxNo = listTaskInfo.Count > 4 ? listTaskInfo.Count : 4;
            //开关的位置编号
            int ControlNo = 0;
            //百分比的位置编号
@@ -1982,9 +1984,45 @@
            int modelNo = 3;
            //空调风速的位置编号
            int windNo = 4;
            //其他编号(不理会位置,以列表的顺序为准)
            int otherNo = 100;
            foreach (var info in listTaskInfo)
            {
                #region ■ 晾衣架______
                //★★★★临时处理,后期会删除
                if (info.Epoint != -1)
                {
                    //最高最低处
                    if (info.Epoint == 1)
                    {
                        dicSort[dicSort.Count + otherNo] = info.Data1 == 0 ? Language.StringByID(R.MyInternationalizationString.uTheHighestPoint) : Language.StringByID(R.MyInternationalizationString.uTheLowestPoint);
                    }
                    //风干
                    else if (info.Epoint == 3)
                    {
                        dicSort[dicSort.Count + otherNo] = info.Data1 == 1 ? Language.StringByID(R.MyInternationalizationString.uOpenAirdry) : Language.StringByID(R.MyInternationalizationString.uCloseAirdry);
                    }
                    //烘干
                    else if (info.Epoint == 4)
                    {
                        dicSort[dicSort.Count + otherNo] = info.Data1 == 1 ? Language.StringByID(R.MyInternationalizationString.uOpenDry) : Language.StringByID(R.MyInternationalizationString.uCloseDry);
                    }
                    //消毒
                    else if (info.Epoint == 5)
                    {
                        dicSort[dicSort.Count + otherNo] = info.Data1 == 1 ? Language.StringByID(R.MyInternationalizationString.uOpenDisinfect) : Language.StringByID(R.MyInternationalizationString.uCloseDisinfect);
                    }
                    //照明
                    else if (info.Epoint == 2)
                    {
                        dicSort[dicSort.Count + otherNo] = info.Data1 == 1 ? Language.StringByID(R.MyInternationalizationString.uOpenLighting) : Language.StringByID(R.MyInternationalizationString.uCloseLighting);
                    }
                    //特殊,不能往下走
                    continue;
                }
                #endregion
                #region ■ 开关控制____
                //开关控制
                if (info.TaskType == 1)
@@ -2117,6 +2155,17 @@
                    txtvalue += dicSort[i] + " ";
                }
            }
            //其他的
            MaxNo = otherNo + dicSort.Count;
            for (int i = otherNo; i < MaxNo; i++)
            {
                if (dicSort.ContainsKey(i) == true)
                {
                    txtvalue += dicSort[i] + " ";
                    continue;
                }
                break;
            }
            return txtvalue.Trim();
        }