陈嘉乐
2020-07-24 f270cd68364fad5766ec9060d7ce835fe6b456b3
2020-07-24-2

优化球形传感器逻辑
5个文件已修改
154 ■■■■ 已修改文件
ZigbeeApp/.vs/GateWay/xs/UserPrefs.xml 28 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ZigbeeApp/Shared/Phone/Device/Logic/LogicDveiceStatus.cs 92 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ZigbeeApp/Shared/Phone/Device/Logic/LogicIfon.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ZigbeeApp/Shared/Phone/Device/Logic/Method.cs 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ZigbeeApp/Shared/Phone/Device/Logic/RoomAndDeviceView.cs 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ZigbeeApp/.vs/GateWay/xs/UserPrefs.xml
@@ -1,27 +1,41 @@
<Properties StartupConfiguration="{28EDE1FF-20EF-476B-8AF8-24A3EEB69F45}|Default">
  <MonoDevelop.Ide.ItemProperties.GateWay.Droid PreferredExecutionTarget="Android.5c86e4357d63" />
  <MonoDevelop.Ide.ItemProperties.ShardLib PreferredExecutionTarget="Android.Android_Accelerated_Oreo" />
  <MonoDevelop.Ide.Workbench ActiveDocument="Shared/Phone/Device/Logic/Method.cs">
  <MonoDevelop.Ide.Workbench ActiveDocument="Shared/Phone/Device/Logic/LogicIfon.cs">
    <Files>
      <File FileName="Shared/Phone/Device/Logic/AddLogicPage.cs" Line="528" Column="78" />
      <File FileName="Shared/Phone/Device/Logic/CurrentDeviceState.cs" Line="15" Column="122" />
      <File FileName="Shared/Phone/Device/Logic/RoomAndDeviceView.cs" Line="447" Column="31" />
      <File FileName="Shared/Phone/Device/Logic/Method.cs" Line="265" Column="102" />
      <File FileName="Shared/Phone/Device/Logic/CurrentDeviceState.cs" Line="1305" Column="48" />
      <File FileName="Shared/Phone/Device/Logic/RoomAndDeviceView.cs" Line="495" Column="1" />
      <File FileName="Shared/Phone/Device/Logic/Method.cs" Line="121" Column="50" />
      <File FileName="Shared/Phone/Device/Logic/LogicCommunalPage.cs" Line="159" Column="42" />
      <File FileName="Shared/Phone/Device/Logic/LogicDveiceStatus.cs" Line="180" Column="83" />
      <File FileName="Shared/Phone/Device/Logic/Illumination.cs" Line="214" Column="31" />
      <File FileName="Shared/Phone/Device/Logic/TemplatePage.cs" Line="136" Column="40" />
      <File FileName="Shared/Phone/Device/Logic/LogicIfon.cs" Line="47" Column="67" />
    </Files>
    <Pads>
      <Pad Id="ProjectPad">
        <State name="__root__">
          <Node name="GateWay" expanded="True">
            <Node name="GateWay.Droid" expanded="True" />
            <Node name="GateWay.Droid" expanded="True">
              <Node name="Assets" expanded="True">
                <Node name="Phone" expanded="True">
                  <Node name="ZigeeLogic" expanded="True" />
                </Node>
              </Node>
            </Node>
            <Node name="Shared" expanded="True">
              <Node name="Common" expanded="True" />
              <Node name="Phone" expanded="True">
                <Node name="Device" expanded="True">
                  <Node name="Logic" expanded="True">
                    <Node name="Method.cs" selected="True" />
                    <Node name="LogicIfon.cs" selected="True" />
                  </Node>
                </Node>
                <Node name="UserCenter" expanded="True">
                  <Node name="CommonBase" expanded="True" />
                  <Node name="CommonBase" expanded="True">
                    <Node name="Common" expanded="True" />
                  </Node>
                </Node>
                <Node name="UserView" expanded="True" />
                <Node name="ZigBee" expanded="True">
ZigbeeApp/Shared/Phone/Device/Logic/LogicDveiceStatus.cs
@@ -177,35 +177,41 @@
                                            {
                                                case 13:
                                                    {
                                                        if (conditions.ContainsKey("IgnoreTime"))
                                                        if (conditions["Cluster_ID"] == "1024")
                                                        {
                                                            int minute = int.Parse(conditions["IgnoreTime"]) / 60;
                                                            int second = int.Parse(conditions["IgnoreTime"]) % 60;
                                                            if (minute != 0 && second != 0)
                                                            {
                                                                state = minute.ToString() + Language.StringByID(MyInternationalizationString.minute) + second.ToString() + Language.StringByID(MyInternationalizationString.second) + Language.StringByID(MyInternationalizationString.unattendedtime1);
                                                            }
                                                            else
                                                            {
                                                                if (minute == 0 && second != 0)
                                                                {
                                                                    state = second.ToString() + Language.StringByID(MyInternationalizationString.second) + Language.StringByID(MyInternationalizationString.unattendedtime1);
                                                                }
                                                                if (minute != 0 && second == 0)
                                                                {
                                                                    state = minute.ToString() + Language.StringByID(MyInternationalizationString.Minute) + Language.StringByID(MyInternationalizationString.unattendedtime1);
                                                                }
                                                            }
                                                            state = Language.StringByID(MyInternationalizationString.ambientLight) + "<" + conditions["AttriButeData1"] + "lux" + Language.StringByID(MyInternationalizationString.hour1);
                                                        }
                                                        else
                                                        {
                                                            state = Language.StringByID(MyInternationalizationString.someone);
                                                        }
                                                            if (conditions.ContainsKey("IgnoreTime"))
                                                            {
                                                                int minute = int.Parse(conditions["IgnoreTime"]) / 60;
                                                                int second = int.Parse(conditions["IgnoreTime"]) % 60;
                                                                if (minute != 0 && second != 0)
                                                                {
                                                                    state = minute.ToString() + Language.StringByID(MyInternationalizationString.minute) + second.ToString() + Language.StringByID(MyInternationalizationString.second) + Language.StringByID(MyInternationalizationString.unattendedtime1);
                                                                }
                                                                else
                                                                {
                                                                    if (minute == 0 && second != 0)
                                                                    {
                                                                        state = second.ToString() + Language.StringByID(MyInternationalizationString.second) + Language.StringByID(MyInternationalizationString.unattendedtime1);
                                                                    }
                                                                    if (minute != 0 && second == 0)
                                                                    {
                                                                        state = minute.ToString() + Language.StringByID(MyInternationalizationString.Minute) + Language.StringByID(MyInternationalizationString.unattendedtime1);
                                                                    }
                                                                }
                                                            }
                                                            else
                                                            {
                                                                state = Language.StringByID(MyInternationalizationString.someone);
                                                            }
                                                        }
                                                    }
                                                    break;
                                                case 21:
@@ -289,44 +295,6 @@
                                                            state =Language.StringByID( MyInternationalizationString.callthepolice);
                                                        }
                                                    }
                                                    break;
                                                case 541:
                                                    {
                                                        if (conditions["Cluster_ID"] == "1024") {
                                                            state = Language.StringByID(MyInternationalizationString.ambientLight)+"<"+conditions["AttriButeData1"]+"lux"+ Language.StringByID(MyInternationalizationString.hour1);
                                                        }
                                                        else
                                                        {
                                                            if (conditions.ContainsKey("IgnoreTime"))
                                                            {
                                                                int minute = int.Parse(conditions["IgnoreTime"]) / 60;
                                                                int second = int.Parse(conditions["IgnoreTime"]) % 60;
                                                                if (minute != 0 && second != 0)
                                                                {
                                                                    state = minute.ToString() + Language.StringByID(MyInternationalizationString.minute) + second.ToString() + Language.StringByID(MyInternationalizationString.second) + Language.StringByID(MyInternationalizationString.unattendedtime1);
                                                                }
                                                                else
                                                                {
                                                                    if (minute == 0 && second != 0)
                                                                    {
                                                                        state = second.ToString() + Language.StringByID(MyInternationalizationString.second) + Language.StringByID(MyInternationalizationString.unattendedtime1);
                                                                    }
                                                                    if (minute != 0 && second == 0)
                                                                    {
                                                                        state = minute.ToString() + Language.StringByID(MyInternationalizationString.Minute) + Language.StringByID(MyInternationalizationString.unattendedtime1);
                                                                    }
                                                                }
                                                            }
                                                            else
                                                            {
                                                                state = Language.StringByID(MyInternationalizationString.someone);
                                                            }
                                                        }
                                                    }
                                                    break;
                                                default:
ZigbeeApp/Shared/Phone/Device/Logic/LogicIfon.cs
@@ -44,7 +44,7 @@
                        else if (common.Type == DeviceType.IASZone)
                        {
                            var iASZonedevice = common as IASZone;
                            if (iASZonedevice.IasDeviceType == 541)
                            if (iASZonedevice.ModelIdentifier == "MSPIRB-ZB.10")
                            {//球形移动传感器
                                if (Common.Logic.CurrentLogic.Conditions[i]["Cluster_ID"] == objecttype["Cluster_ID"])
                                {
ZigbeeApp/Shared/Phone/Device/Logic/Method.cs
@@ -46,7 +46,7 @@
                {
                    ///区分出输入条件和输出目标设备
                    var listdevicetype = GetDevice(type);
                    var listdevice = GetDeviceUIList(listAllRoom[i], listdevicetype);
                    var listdevice = GetDeviceUIList(listAllRoom[i], listdevicetype, type);
                    if (listdevice.Count == 0)
                    {
                        ///过滤掉没有设备的房间
@@ -68,8 +68,9 @@
        /// </summary>
        /// <param name="room">当前房间</param>
        /// <param name="deviceTypelist">设备类型</param>
        ///  /// <param name="type">逻辑类型</param>
        /// <returns></returns>
        public static List<CommonDevice> GetDeviceUIList(Common.Room room, List<DeviceType> deviceTypelist)
        public static List<CommonDevice> GetDeviceUIList(Common.Room room, List<DeviceType> deviceTypelist,string type)
        {
            var deviceUIlist = new List<CommonDevice>();
            foreach (var deviceKey in room.ListDevice)
@@ -94,6 +95,22 @@
                        continue;
                    }
                }
                if (type == "condition_mould")
                {
                    if (device.Type == DeviceType.IASZone)
                    {
                        if (device.IasDeviceType != 13)
                        {//自动化模板只支持红外传感器
                            continue;
                        }
                        if (device.ModelIdentifier == "MSPIRB-ZB.10")
                        {
                            //自动化模板不支持光照度
                            continue;
                        }
                    }
                }
                deviceUIlist.Add(device);
            }
            return deviceUIlist;
ZigbeeApp/Shared/Phone/Device/Logic/RoomAndDeviceView.cs
@@ -264,7 +264,7 @@
                    roomTextButton = roomClickView.roomnameBtn;
                    roomClickView.roomnameBtn.IsSelected = true;
                    var list = Method.GetDeviceUIList(room, deviceTypeList);
                    var list = Method.GetDeviceUIList(room, deviceTypeList, IfType);
                    AllDeviceTypeView(list);
                }
@@ -297,7 +297,7 @@
                    roomTextButton = roomClickView.roomnameBtn;
                    roomClickView.roomnameBtn.IsSelected = true;
                    var list = Method.GetDeviceUIList(room, deviceTypeList);
                    var list = Method.GetDeviceUIList(room, deviceTypeList, IfType);
                    AllDeviceTypeView(list);
                };
                roomClickView.roomnameBtn.MouseUpEventHandler += roomclick;
@@ -414,13 +414,6 @@
                if (deviceTypelist.Count != 0 && !deviceTypelist.Contains(common.Type))
                {
                    continue;
                }
                if (IfType == "condition_mould")
                {
                    if (common.IasDeviceType != 13)
                    {//自动化模板只支持红外传感器
                        continue;
                    }
                }
                var deviceFramelayout = new FrameLayout
                {