| | |
| | | /// 选中该设备功能作为条件或者目标的视图方法 |
| | | /// </summary> |
| | | /// <param name="common">Common.</param> |
| | | public static void CurrentDeviceView(FrameLayout flMain, CommonDevice common, bool edit, string str) |
| | | public static void CurrentDeviceView(FrameLayout flMain, CommonDevice common, bool edit, string str, int intValue) |
| | | { |
| | | #region -------界面布局部分 |
| | | //不让当前界面滑动 |
| | |
| | | completeView.Btntitle.Text = LocalDevice.Current.GetDeviceEpointName(common); |
| | | EventHandler<MouseEventArgs> clickcancel = (sender, e) => |
| | | { |
| | | if (!edit) |
| | | if (edit) |
| | | { |
| | | UserView.HomePage.Instance.ScrollEnabled = true; |
| | | } |
| | |
| | | |
| | | mFunView openView = new mFunView(); |
| | | openView.frameLayout.Y = Application.GetRealHeight(140 + 20); |
| | | //completeView.Show(l).AddChidren(openView.Show()); |
| | | openView.titleBtn.TextID = MyInternationalizationString.open; |
| | | |
| | | mFunView closeView = new mFunView(); |
| | | closeView.frameLayout.Y = Application.GetRealHeight(140 + 20+160); |
| | | // closeView.frameLayout.Y = openView.frameLayout.Bottom; |
| | | //completeView.Show(l).AddChidren(closeView.Show()); |
| | | closeView.frameLayout.Y = Application.GetRealHeight(140 + 20 + 160); |
| | | closeView.titleBtn.TextID = MyInternationalizationString.close; |
| | | |
| | | mFunView takebackView = new mFunView(); |
| | | takebackView.frameLayout.Y = Application.GetRealHeight(140+20+160+160); |
| | | // takebackView.frameLayout.Y = closeView.frameLayout.Bottom; |
| | | //completeView.Show(l).AddChidren(takebackView.Show()); |
| | | takebackView.frameLayout.Y = Application.GetRealHeight(140 + 20 + 160 + 160); |
| | | takebackView.titleBtn.TextID = MyInternationalizationString.onoff; |
| | | takebackView.lineBtn.BackgroundColor = ZigbeeColor.Current.LogicBackgroundColor; |
| | | #region -------进度条控件 |
| | |
| | | }; |
| | | var horizontalSeekBarVol = new DiyImageSeekBar |
| | | { |
| | | //Y = openView.frameLayout.Bottom, |
| | | X = Application.GetRealWidth(80), |
| | | Width = Application.GetRealWidth(915), |
| | | Height = Application.GetRealHeight(160), |
| | | //Y = openView.frameLayout.Bottom,//进度条父控件Y坐标 |
| | | X = Application.GetRealWidth(80),//进度条X坐标 |
| | | Width = Application.GetRealWidth(915),//进度条的长度 |
| | | Height = Application.GetRealHeight(160),//进度条父控件高度 |
| | | IsProgressTextShow = true,//显示百分比 |
| | | IsClickable = false,//进度条是否滑动 |
| | | ProgressBarColor = ZigbeeColor.Current.LogicProgressColorSelected,//选中进度条颜色 |
| | | ThumbImagePath = "ZigeeLogic/progressbtn2.png",//进度条按钮图标 |
| | | ThumbImageHeight = Application.GetRealHeight(56),//进度条按钮图标的高度(默认正方形:宽和高一样) |
| | | ProgressTextColor = ZigbeeColor.Current.LogicBtnCancelColor, |
| | | ProgressTextSize = 9,//显示百分比字体大小12 |
| | | SeekBarViewHeight = Application.GetRealHeight(5),//进度条的高度10 |
| | | ProgressTextSize = 12,//显示百分比字体大小12 |
| | | SeekBarViewHeight = Application.GetRealHeight(6),//进度条的高度10 |
| | | SeekBarPadding = 30, |
| | | }; |
| | | #endregion |
| | | #endregion |
| | |
| | | actionsInfo.Add("TaskList", taskListInfo); |
| | | List<Dictionary<string, string>> TaskList = null; |
| | | #endregion |
| | | var _if=str.Split('_'); |
| | | var _if = str.Split('_'); |
| | | if (edit) |
| | | { |
| | | if (_if[0]== "condition") |
| | | if (_if[0] == "condition") |
| | | { |
| | | foreach (var deviceinfo in Common.Logic.CurrentLogic.Conditions) |
| | | var deviceinfo = Common.Logic.CurrentLogic.Conditions[intValue]; |
| | | if (deviceinfo["Type"] == "1") |
| | | { |
| | | if (deviceinfo["Type"] == "1") |
| | | if (common.DeviceAddr == deviceinfo["MacAddr"] && common.DeviceEpoint.ToString() == deviceinfo["Epoint"]) |
| | | { |
| | | if (common.DeviceAddr == deviceinfo["MacAddr"] && common.DeviceEpoint.ToString() == deviceinfo["Epoint"]) |
| | | { |
| | | devices = deviceinfo; |
| | | break; |
| | | devices = deviceinfo; |
| | | |
| | | } |
| | | } |
| | | } |
| | | } |
| | | else |
| | | { |
| | | foreach (var deviceinfo in Common.Logic.CurrentLogic.Actions) |
| | | var deviceinfo = Common.Logic.CurrentLogic.Actions[intValue]; |
| | | if (deviceinfo["LinkType"].ToString() == "0") |
| | | { |
| | | if (deviceinfo["LinkType"].ToString() == "0") |
| | | { |
| | | |
| | | if (deviceinfo["DeviceAddr"].ToString() == common.DeviceAddr && deviceinfo["Epoint"].ToString() == common.DeviceEpoint.ToString()) |
| | | { |
| | | TaskList = deviceinfo["TaskList"] as List<Dictionary<string, string>>; |
| | | break; |
| | | } |
| | | if (deviceinfo["DeviceAddr"].ToString() == common.DeviceAddr && deviceinfo["Epoint"].ToString() == common.DeviceEpoint.ToString()) |
| | | { |
| | | TaskList = deviceinfo["TaskList"] as List<Dictionary<string, string>>; |
| | | } |
| | | } |
| | | |
| | | } |
| | | } |
| | | #endregion |
| | |
| | | ///灯光 |
| | | case DeviceType.OnOffOutput: |
| | | { |
| | | |
| | | if (_if[0] == "condition") |
| | | { |
| | | l = 2; |
| | |
| | | } |
| | | } |
| | | } |
| | | |
| | | |
| | | } |
| | | break; |
| | | case DeviceType.IASZone: |
| | |
| | | Send.dictionary(deviceConditionsInfo, "AttriButeId", "1281"); |
| | | Send.dictionary(deviceConditionsInfo, "AttriButeData2", "0"); |
| | | |
| | | int timevalue = 0; |
| | | int timeValue = 0; |
| | | ///点击确认事件 |
| | | openView.clickviewBtn.MouseUpEventHandler += (sender, e) => |
| | | { |
| | |
| | | closeView.selectedIconBtn.Visible = false; |
| | | if (iASZonedevice.IasDeviceType == 13) |
| | | { |
| | | |
| | | closeView.selectedIconBtn.Visible = true; |
| | | } |
| | | Send.dictionary(deviceConditionsInfo, "Range", "5"); |
| | | Send.dictionary(deviceConditionsInfo, "AttriButeData1", "1"); |
| | | Send.dictionary(deviceConditionsInfo, "AttriButeData1", "3");//支持1和2;1+2=3 |
| | | }; |
| | | ///点击取消事件 |
| | | closeView.clickviewBtn.MouseUpEventHandler += (sender, e) => |
| | |
| | | closeView.titleBtn.TextColor = ZigbeeColor.Current.LogicBtnSelectedColor; |
| | | openView.selectedIconBtn.Visible = false; |
| | | closeView.selectedIconBtn.Visible = true; |
| | | Send.dictionary(deviceConditionsInfo, "Range", "1"); |
| | | Send.dictionary(deviceConditionsInfo, "AttriButeData1", "0"); |
| | | if (iASZonedevice.IasDeviceType == 13) |
| | | Send.dictionary(deviceConditionsInfo, "Range", "8");//1 |
| | | Send.dictionary(deviceConditionsInfo, "AttriButeData1", "3");//0 |
| | | if (iASZonedevice.IasDeviceType == 13 || iASZonedevice.IasDeviceType == 541) |
| | | { |
| | | SelectedDeviceStatus = ""; |
| | | openView.titleBtn.TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor; |
| | | closeView.titleBtn.TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor; |
| | | openView.selectedIconBtn.Visible = false; |
| | | closeView.selectedIconBtn.Visible = true; |
| | | var ignoreTime = new IgnoreTime(); |
| | | UserView.HomePage.Instance.AddChidren(ignoreTime); |
| | | UserView.HomePage.Instance.PageIndex += 1; |
| | | ignoreTime.Show(common, closeView.titleBtn.Text, edit, timevalue, _if[1]); |
| | | ignoreTime.Show(common, closeView.titleBtn.Text, edit, timeValue, _if[1]); |
| | | } |
| | | |
| | | |
| | | }; |
| | | |
| | | switch (iASZonedevice.IasDeviceType) |
| | | { |
| | | case 13: |
| | | { |
| | | openView.titleBtn.TextID = MyInternationalizationString.someone; |
| | | closeView.titleBtn.TextID = MyInternationalizationString.unattendedtime1; |
| | | closeView.lineBtn.BackgroundColor = ZigbeeColor.Current.LogicBackgroundColor; |
| | | closeView.selectedIconBtn.UnSelectedImagePath = "ZigeeLogic/next.png"; |
| | | closeView.selectedIconBtn.Visible = true; |
| | | completeView.Show(2).AddChidren(openView.Show()); |
| | | completeView.Show(2).AddChidren(closeView.Show()); |
| | | |
| | | if (common.ModelIdentifier == "MSPIRB-ZB.10") |
| | | { |
| | | int _height = 3; |
| | | if (edit) |
| | | { |
| | | _height = 2; |
| | | } |
| | | var view = completeView.Show(_height); |
| | | openView.titleBtn.TextID = MyInternationalizationString.someone; |
| | | closeView.titleBtn.TextID = MyInternationalizationString.unattendedtime1; |
| | | closeView.selectedIconBtn.UnSelectedImagePath = "ZigeeLogic/next.png"; |
| | | closeView.selectedIconBtn.Visible = true; |
| | | view.AddChidren(openView.Show()); |
| | | view.AddChidren(closeView.Show()); |
| | | |
| | | takebackView.lineBtn.BackgroundColor = ZigbeeColor.Current.LogicBackgroundColor; |
| | | takebackView.selectedIconBtn.Visible = true; |
| | | takebackView.titleBtn.TextID = MyInternationalizationString.ambientLight; |
| | | takebackView.selectedIconBtn.UnSelectedImagePath = "ZigeeLogic/next.png"; |
| | | if (edit) |
| | | { |
| | | |
| | | if (devices["Cluster_ID"] == "1024") |
| | | { |
| | | flMain.RemoveFromParent(); |
| | | var illumination = new Illumination(); |
| | | UserView.HomePage.Instance.AddChidren(illumination); |
| | | UserView.HomePage.Instance.PageIndex += 1; |
| | | illumination.Show(common, takebackView.titleBtn.Text, int.Parse(devices["AttriButeData1"]), true); |
| | | } |
| | | else |
| | | { |
| | | closeView.lineBtn.BackgroundColor = ZigbeeColor.Current.LogicBackgroundColor; |
| | | } |
| | | } |
| | | else |
| | | { |
| | | view.AddChidren(takebackView.Show()); |
| | | |
| | | } |
| | | |
| | | |
| | | takebackView.clickviewBtn.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | SelectedDeviceStatus = ""; |
| | | openView.titleBtn.TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor; |
| | | openView.selectedIconBtn.Visible = false; |
| | | var illumination = new Illumination(); |
| | | UserView.HomePage.Instance.AddChidren(illumination); |
| | | UserView.HomePage.Instance.PageIndex += 1; |
| | | illumination.Show(common, takebackView.titleBtn.Text, 0, false); |
| | | |
| | | }; |
| | | |
| | | } |
| | | else |
| | | { |
| | | |
| | | openView.titleBtn.TextID = MyInternationalizationString.someone; |
| | | closeView.titleBtn.TextID = MyInternationalizationString.unattendedtime1; |
| | | closeView.lineBtn.BackgroundColor = ZigbeeColor.Current.LogicBackgroundColor; |
| | | closeView.selectedIconBtn.UnSelectedImagePath = "ZigeeLogic/next.png"; |
| | | closeView.selectedIconBtn.Visible = true; |
| | | completeView.Show(2).AddChidren(openView.Show()); |
| | | completeView.Show(2).AddChidren(closeView.Show()); |
| | | |
| | | } |
| | | } |
| | | break; |
| | | case 21: |
| | | case 22: |
| | | { |
| | | #region |
| | | var view = completeView.Show(3); |
| | | openView.titleBtn.TextID = MyInternationalizationString.logicopen; |
| | | closeView.titleBtn.TextID = MyInternationalizationString.logicclose; |
| | | completeView.Show(3).AddChidren(openView.Show()); |
| | | completeView.Show(3).AddChidren(closeView.Show()); |
| | | view.AddChidren(openView.Show()); |
| | | view.AddChidren(closeView.Show()); |
| | | |
| | | mFunView timeoutView = new mFunView(); |
| | | timeoutView.frameLayout.Y = closeView.frameLayout.Bottom; |
| | | timeoutView.lineBtn.BackgroundColor = ZigbeeColor.Current.LogicBackgroundColor; |
| | | completeView.Show(3).AddChidren(timeoutView.Show()); |
| | | timeoutView.titleBtn.TextID = MyInternationalizationString.closetimeout; |
| | | timeoutView.selectedIconBtn.UnSelectedImagePath = "ZigeeLogic/next.png"; |
| | | timeoutView.clickviewBtn.MouseUpEventHandler += (sender, e) => |
| | | takebackView.lineBtn.BackgroundColor = ZigbeeColor.Current.LogicBackgroundColor; |
| | | takebackView.selectedIconBtn.Visible = true; |
| | | takebackView.titleBtn.TextID = MyInternationalizationString.closetimeout; |
| | | takebackView.selectedIconBtn.UnSelectedImagePath = "ZigeeLogic/next.png"; |
| | | view.AddChidren(takebackView.Show()); |
| | | takebackView.clickviewBtn.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | SelectedDeviceStatus = ""; |
| | | openView.titleBtn.TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor; |
| | |
| | | var ignoreTime = new IgnoreTime(); |
| | | UserView.HomePage.Instance.AddChidren(ignoreTime); |
| | | UserView.HomePage.Instance.PageIndex += 1; |
| | | ignoreTime.Show(common, timeoutView.titleBtn.Text, edit, timevalue, _if[1]); |
| | | ignoreTime.Show(common, takebackView.titleBtn.Text, edit, timeValue, _if[1]); |
| | | |
| | | }; |
| | | |
| | |
| | | { |
| | | if (devices["AttriButeId"] == "1281") |
| | | { |
| | | if (devices.ContainsKey("IgnoreTime")) |
| | | if (devices.ContainsKey("IgnoreTime") && devices["IgnoreTime"] != "0") |
| | | { |
| | | timevalue = int.Parse(devices["IgnoreTime"]); |
| | | timeValue = int.Parse(devices["IgnoreTime"]); |
| | | } |
| | | else |
| | | { |
| | | if (devices["AttriButeData1"] == "1") |
| | | if (devices["Range"] == "5") |
| | | { |
| | | openView.titleBtn.TextColor = ZigbeeColor.Current.LogicBtnSelectedColor; |
| | | closeView.titleBtn.TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor; |
| | |
| | | |
| | | } |
| | | |
| | | |
| | | } |
| | | |
| | | } |
| | |
| | | Send.dictionary(deviceConditionsInfo, "AttriButeData2", "0"); |
| | | |
| | | completeView.Show(l).AddChidren(openView.Show()); |
| | | openView.titleBtn.Text = Language.StringByID(MyInternationalizationString.OnOffSwitch) + common.DeviceEpoint.ToString(); |
| | | openView.titleBtn.Text = LocalDevice.Current.GetDeviceEpointName(common); |
| | | //openView.titleBtn.Text =Language.StringByID(MyInternationalizationString.OnOffSwitch) + common.DeviceEpoint.ToString(); |
| | | openView.lineBtn.BackgroundColor = ZigbeeColor.Current.LogicBackgroundColor; |
| | | openView.clickviewBtn.MouseUpEventHandler += (sender, e) => |
| | | { |
| | |
| | | } |
| | | break; |
| | | case DeviceType.DoorLock: |
| | | {
|
| | | { |
| | | |
| | | flMain.RemoveFromParent(); |
| | | var memberList = new MemberList(); |
| | |
| | | break; |
| | | case DeviceType.TemperatureSensor: |
| | | { |
| | | l = 4; |
| | | string current = Language.StringByID(MyInternationalizationString.current); |
| | | completeView.Show(l); |
| | | var temperatureSensor = common as TemperatureSensor; |
| | | SelectedDeviceStatus = "TemperatureSensor"; |
| | | #region 布局View |
| | | var PickerViewfra = new FrameLayout |
| | | { |
| | | Y = Application.GetRealHeight(140), |
| | | Height = Application.GetRealHeight(640), |
| | | }; |
| | | completeView.Show(l).AddChidren(PickerViewfra); |
| | | var mUIPickerView = new UIPickerView |
| | | { |
| | | Height = Application.GetRealHeight(640 - 5), |
| | | }; |
| | | PickerViewfra.AddChidren(mUIPickerView); |
| | | |
| | | var mList1 = new List<string> { ">", "<", "=", "≥", "≤" }; |
| | | var mList2 = new List<string>(); |
| | | var mList3 = new List<string>(); |
| | | for (int i = 1; i <= 100; i++) |
| | | //获取设备类型 |
| | | var deviceEnumInfo = Common.LocalDevice.Current.GetMyDeviceEnumInfo(new List<CommonDevice>() { common }); |
| | | |
| | | //空气质量传感器 |
| | | if (deviceEnumInfo.ConcreteType == Common.DeviceConcreteType.AirQualitySensor) |
| | | { |
| | | mList2.Add(i.ToString()); |
| | | } |
| | | if (temperatureSensor.SensorDiv == 1) |
| | | { |
| | | mList3.Add("℃"); |
| | | Send.dictionary(deviceConditionsInfo, "Cluster_ID", "1026"); |
| | | Send.dictionary(deviceConditionsInfo, "AttriButeId", "0"); |
| | | Send.dictionary(deviceConditionsInfo, "Range", "1");//1:等于AttriButeData1时触发动作 |
| | | Send.dictionary(deviceConditionsInfo, "AttriButeData1", "5000");//默认温度值50℃ |
| | | Send.dictionary(deviceConditionsInfo, "AttriButeData2", "0"); |
| | | AirSonser(flMain, SelectedDeviceStatus, edit, common, devices); |
| | | } |
| | | else |
| | | { |
| | | mList3.Add("%"); |
| | | Send.dictionary(deviceConditionsInfo, "Cluster_ID", "1029"); |
| | | |
| | | |
| | | //编辑时的状态值 |
| | | string str1 = ""; |
| | | string str2 = ""; |
| | | string str3 = ""; |
| | | if (edit && devices != null) |
| | | { |
| | | //温度值 |
| | | str1 = devices["AttriButeData1"]; |
| | | //比较关系值 |
| | | str2 = devices["Range"]; |
| | | |
| | | } |
| | | var temperatureSensor = common as TemperatureSensor; |
| | | if (temperatureSensor.SensorDiv == 1) |
| | | { |
| | | str3 = "℃"; |
| | | Send.dictionary(deviceConditionsInfo, "Cluster_ID", "1026"); |
| | | } |
| | | else |
| | | { |
| | | str3 = "%"; |
| | | Send.dictionary(deviceConditionsInfo, "Cluster_ID", "1029"); |
| | | } |
| | | Send.dictionary(deviceConditionsInfo, "AttriButeId", "0"); |
| | | Send.dictionary(deviceConditionsInfo, "Range", "1");//1:等于AttriButeData1时触发动作 |
| | | Send.dictionary(deviceConditionsInfo, "AttriButeData1", "5000");//默认湿度值50% |
| | | Send.dictionary(deviceConditionsInfo, "AttriButeData2", "0"); |
| | | } |
| | | mUIPickerView.setNPicker(mList1, mList2, mList3); |
| | | |
| | | #endregion |
| | | |
| | | mUIPickerView.OnSelectChangeEvent += (s1, s2, s3) => |
| | | { |
| | | ///温度进率转换*100 |
| | | var strValue = (int.Parse(mList2[s2]) * 100).ToString(); |
| | | SelectedDeviceStatus = "TemperatureSensor"; |
| | | Send.dictionary(deviceConditionsInfo, "AttriButeData1", strValue); |
| | | switch (mList1[s1]) |
| | | completeView.Show(4); |
| | | PublicInterface publicInterface = new PublicInterface(); |
| | | publicInterface.TemperatureShow(completeView.fraView, str3, str2, str1, (relationValueStr, tempValueStr) => |
| | | { |
| | | case ">": |
| | | { |
| | | Send.dictionary(deviceConditionsInfo, "Range", "0"); |
| | | } |
| | | break; |
| | | case "<": |
| | | { |
| | | Send.dictionary(deviceConditionsInfo, "Range", "2"); |
| | | } |
| | | break; |
| | | case "=": |
| | | { |
| | | Send.dictionary(deviceConditionsInfo, "Range", "1"); |
| | | } |
| | | break; |
| | | case "≥": |
| | | { |
| | | Send.dictionary(deviceConditionsInfo, "Range", "6"); |
| | | } |
| | | break; |
| | | case "≤": |
| | | { |
| | | Send.dictionary(deviceConditionsInfo, "Range", "7"); |
| | | } |
| | | break; |
| | | } |
| | | }; |
| | | |
| | | //默认=,50 |
| | | int index1 = 2, index2 = 49; |
| | | if (edit && devices != null) |
| | | { |
| | | SelectedDeviceStatus = ""; |
| | | string s = ""; |
| | | switch (devices["Range"]) |
| | | { |
| | | case "0": |
| | | { |
| | | s = ">"; |
| | | } |
| | | break; |
| | | case "1": |
| | | { |
| | | s = "="; |
| | | } |
| | | break; |
| | | case "2": |
| | | { |
| | | s = "<"; |
| | | } |
| | | break; |
| | | case "6": |
| | | { |
| | | s = "≥"; |
| | | } |
| | | break; |
| | | case "7": |
| | | { |
| | | s = "≤"; |
| | | } |
| | | break; |
| | | } |
| | | //查找索引 |
| | | index1 = mList1.IndexOf(s);
|
| | | //转换温度值/100
|
| | | var dd = (int.Parse(devices["AttriButeData1"])/100).ToString(); |
| | | index2 = mList2.IndexOf(dd); |
| | | |
| | | SelectedDeviceStatus = "TemperatureSensor"; |
| | | Send.dictionary(deviceConditionsInfo, "AttriButeData1", tempValueStr); |
| | | Send.dictionary(deviceConditionsInfo, "Range", relationValueStr); |
| | | }); |
| | | } |
| | | ///更新最新状态; |
| | | mUIPickerView.setCurrentItems(index1, index2, 0); |
| | | |
| | | } |
| | | break; |
| | | ///调光灯光 |
| | |
| | | taskListInfo.Add(switchdictionary); |
| | | completeView.Show(l).AddChidren(openView.Show()); |
| | | openView.lineBtn.BackgroundColor = ZigbeeColor.Current.LogicBackgroundColor; |
| | | |
| | | |
| | | horizontalSeekBarRowLien.Y = openView.frameLayout.Bottom; |
| | | horizontalSeekBarVol.Y = openView.frameLayout.Bottom; |
| | | completeView.Show(l).AddChidren(horizontalSeekBarRowLien); |
| | |
| | | var lightbrightnessvalue = (254 * horizontalSeekBarVol.Progress) / 100; |
| | | Send.dictionary(switchdictionary, "Data1", lightbrightnessvalue.ToString()); |
| | | }; |
| | | |
| | | ///取消事件 |
| | | closeView.clickviewBtn.MouseUpEventHandler += (sender, e) => |
| | | { |
| | |
| | | Send.dictionary(switchdictionary, "TaskType", "1"); |
| | | Send.dictionary(switchdictionary, "Data1", "0");//默认值 |
| | | }; |
| | | |
| | | //取反 |
| | | takebackView.clickviewBtn.MouseUpEventHandler += (sender, e) => |
| | | { |
| | |
| | | }; |
| | | } |
| | | break; |
| | | case DeviceType.ColorTemperatureLight: |
| | | { |
| | | flMain.RemoveFromParent(); |
| | | var nightlight = new Nightlight(); |
| | | UserView.HomePage.Instance.AddChidren(nightlight); |
| | | UserView.HomePage.Instance.PageIndex += 1; |
| | | if (edit) |
| | | { |
| | | nightlight.Show(common, edit, _if[1], Common.Logic.CurrentLogic.Actions[intValue]); |
| | | } |
| | | else |
| | | { |
| | | nightlight.Show(common, edit, _if[1]); |
| | | } |
| | | |
| | | } |
| | | break; |
| | | |
| | | |
| | | } |
| | | completeView.Btncomplete.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | //UserView.HomePage.Instance.ScrollEnabled = true; |
| | | UserView.HomePage.Instance.ScrollEnabled = true; |
| | | if (SelectedDeviceStatus != "") |
| | | { |
| | | if (_if[0] == "condition") |
| | |
| | | { |
| | | if (!edit) |
| | | { |
| | | var alert = new UserCenter.ShowMsgControl(UserCenter.ShowMsgType.Normal, |
| | | var alert = new UserCenter.ShowMsgControl(ShowMsgType.Normal, |
| | | Language.StringByID(MyInternationalizationString.selectdevicestatuscondition), |
| | | Language.StringByID(MyInternationalizationString.confrim)); |
| | | alert.Show(); |
| | |
| | | } |
| | | break; |
| | | } |
| | | |
| | | |
| | | |
| | | }; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// <summary> |
| | | /// 空调模式的状态 |
| | | /// </summary> |
| | | /// <param name="modestring"></param> |
| | |
| | | } |
| | | |
| | | } |
| | | /// <summary> |
| | | /// 空气质量传感器View(特殊处理) |
| | | /// </summary> |
| | | /// <param name="flMain"></param> |
| | | /// <param name="SelectedDeviceStatus"></param> |
| | | /// <param name="edit"></param> |
| | | /// <param name="common"></param> |
| | | /// <param name="dic"></param> |
| | | private static void AirSonser(FrameLayout flMain,string SelectedDeviceStatus,bool edit,CommonDevice common, Dictionary<string, string> dic=null) { |
| | | flMain.RemoveAll(); |
| | | if (edit&&dic!=null) { |
| | | AirProperty(flMain, dic, common,"", edit, SelectedDeviceStatus); |
| | | } |
| | | else |
| | | { |
| | | PublicInterface publicInterface = new PublicInterface(); |
| | | var list0 = publicInterface.GetViewList("空气质量传感器"); |
| | | publicInterface.SingleSelectionShow(flMain, list0, MyInternationalizationString.airqualitysensor, "", (tagText) => |
| | | { |
| | | flMain.RemoveAll(); |
| | | SelectedDeviceStatus = "TemperatureSensor"; |
| | | AirProperty(flMain, dic, common,tagText, edit, SelectedDeviceStatus); |
| | | }, () => { flMain.RemoveFromParent(); }); |
| | | } |
| | | } |
| | | /// <summary> |
| | | /// 空气质量传感器属性值(特殊处理) |
| | | /// </summary> |
| | | /// <param name="flMain"></param> |
| | | /// <param name="dic"></param> |
| | | /// <param name="common"></param> |
| | | /// <param name="tagText"></param> |
| | | /// <param name="edit"></param> |
| | | /// <param name="SelectedDeviceStatus"></param> |
| | | private static void AirProperty(FrameLayout flMain, Dictionary<string, string> dic,CommonDevice common,string tagText,bool edit, string SelectedDeviceStatus) { |
| | | PublicInterface publicInterface = new PublicInterface(); |
| | | string range = ""; |
| | | string stateText = ""; |
| | | if (edit&& dic!=null) |
| | | { |
| | | range = dic["Range"]; |
| | | switch (dic["Cluster_ID"]) |
| | | { |
| | | case "1066": |
| | | { |
| | | if (dic["AttriButeId"] == "57344") |
| | | { |
| | | tagText = Language.StringByID(MyInternationalizationString.kongqizhiliang); |
| | | switch (dic["AttriButeData1"]) |
| | | { |
| | | |
| | | case "1": |
| | | { |
| | | stateText = Language.StringByID(MyInternationalizationString.you); |
| | | } |
| | | break; |
| | | case "2": |
| | | { |
| | | stateText = Language.StringByID(MyInternationalizationString.liang); |
| | | } |
| | | break; |
| | | case "3": |
| | | { |
| | | stateText = Language.StringByID(MyInternationalizationString.cha); |
| | | } |
| | | break; |
| | | } |
| | | } |
| | | else |
| | | { |
| | | tagText = Language.StringByID(MyInternationalizationString.pm25); |
| | | ///Pm2.5 |
| | | int intValue = int.Parse(dic["AttriButeData1"]); |
| | | if (0 < intValue && intValue < 30) |
| | | { |
| | | stateText = Language.StringByID(MyInternationalizationString.pmyou); |
| | | } |
| | | else if (36 < intValue && intValue < 75) |
| | | { |
| | | stateText = Language.StringByID(MyInternationalizationString.pmliang); |
| | | } |
| | | else if (76 < intValue && intValue < 115) |
| | | { |
| | | stateText = Language.StringByID(MyInternationalizationString.pmqingdu); |
| | | } |
| | | else if (intValue > 115) |
| | | { |
| | | stateText = Language.StringByID(MyInternationalizationString.pmzhongdu); |
| | | } |
| | | |
| | | } |
| | | } |
| | | break; |
| | | case "1037": |
| | | { |
| | | tagText = Language.StringByID(MyInternationalizationString.co2); |
| | | ///co2 |
| | | int intValue = int.Parse(dic["AttriButeData1"]); |
| | | if (0 < intValue && intValue < 1000) |
| | | { |
| | | stateText = Language.StringByID(MyInternationalizationString.co2qingxin); |
| | | } |
| | | else if (1000 < intValue && intValue < 2000) |
| | | { |
| | | stateText = Language.StringByID(MyInternationalizationString.co2huizhuo); |
| | | } |
| | | else if (2000 < intValue && intValue < 5000) |
| | | { |
| | | stateText = Language.StringByID(MyInternationalizationString.co2queyang); |
| | | } |
| | | else if (intValue > 5000) |
| | | { |
| | | stateText = Language.StringByID(MyInternationalizationString.co2yanzhongqueyang); |
| | | } |
| | | } |
| | | break; |
| | | case "1026": |
| | | { |
| | | tagText = Language.StringByID(MyInternationalizationString.sensortemperature); |
| | | stateText = dic["AttriButeData1"]; |
| | | } |
| | | break; |
| | | case "1029": |
| | | { |
| | | tagText = Language.StringByID(MyInternationalizationString.sensorhumidity); |
| | | stateText = dic["AttriButeData1"]; |
| | | } |
| | | break; |
| | | } |
| | | } |
| | | Dictionary<string, string> airqualitysensorDic = new Dictionary<string, string>(); |
| | | Send.dictionary(airqualitysensorDic, "Type", "1"); |
| | | Send.dictionary(airqualitysensorDic, "IsValid", "1"); |
| | | Send.dictionary(airqualitysensorDic, "MacAddr", common.DeviceAddr); |
| | | Send.dictionary(airqualitysensorDic, "Epoint", common.DeviceEpoint.ToString()); |
| | | if (tagText == Language.StringByID(MyInternationalizationString.kongqizhiliang)) |
| | | { |
| | | |
| | | var list1 = publicInterface.GetViewList("空气质量"); |
| | | publicInterface.SingleSelectionShow(flMain, list1, MyInternationalizationString.airqualitysensor, stateText, (strText) => |
| | | { |
| | | SelectedDeviceStatus = "TemperatureSensor"; |
| | | string valuaStr = ""; |
| | | if (strText == Language.StringByID(MyInternationalizationString.you)) |
| | | { |
| | | valuaStr = "1"; |
| | | } |
| | | else if (strText == Language.StringByID(MyInternationalizationString.liang)) |
| | | { |
| | | valuaStr = "2"; |
| | | } |
| | | else if (strText == Language.StringByID(MyInternationalizationString.cha)) |
| | | { |
| | | valuaStr = "3"; |
| | | } |
| | | Send.dictionary(airqualitysensorDic, "Cluster_ID", "1066"); |
| | | Send.dictionary(airqualitysensorDic, "AttriButeId", "57344"); |
| | | Send.dictionary(airqualitysensorDic, "AttriButeData1", valuaStr); |
| | | Send.dictionary(airqualitysensorDic, "AttriButeData2", "0"); |
| | | Send.dictionary(airqualitysensorDic, "Range", "1"); |
| | | AddDic(flMain, SelectedDeviceStatus, edit, common, airqualitysensorDic); |
| | | |
| | | |
| | | }, () => { |
| | | if (edit) { flMain.RemoveFromParent(); } |
| | | else |
| | | { |
| | | AirSonser(flMain, SelectedDeviceStatus, edit, common); |
| | | } }); |
| | | |
| | | } |
| | | else if (tagText == Language.StringByID(MyInternationalizationString.pm25)) |
| | | { |
| | | var list2 = publicInterface.GetViewList("pm2.5"); |
| | | publicInterface.SingleSelectionShow(flMain, list2, MyInternationalizationString.pm25, stateText, (strText) => |
| | | { |
| | | SelectedDeviceStatus = "TemperatureSensor"; |
| | | string valuaStr = ""; |
| | | if (strText == Language.StringByID(MyInternationalizationString.pmyou)) |
| | | { |
| | | valuaStr = "18"; |
| | | } |
| | | else if (strText == Language.StringByID(MyInternationalizationString.pmliang)) |
| | | { |
| | | valuaStr = "54"; |
| | | } |
| | | else if (strText == Language.StringByID(MyInternationalizationString.pmqingdu)) |
| | | { |
| | | valuaStr = "105"; |
| | | } |
| | | else if (strText == Language.StringByID(MyInternationalizationString.pmzhongdu)) |
| | | { |
| | | valuaStr = "130"; |
| | | } |
| | | Send.dictionary(airqualitysensorDic, "Cluster_ID", "1066"); |
| | | Send.dictionary(airqualitysensorDic, "AttriButeId", "0"); |
| | | Send.dictionary(airqualitysensorDic, "AttriButeData1", valuaStr); |
| | | Send.dictionary(airqualitysensorDic, "AttriButeData2", "0"); |
| | | Send.dictionary(airqualitysensorDic, "Range", "1"); |
| | | AddDic(flMain, SelectedDeviceStatus, edit, common, airqualitysensorDic); |
| | | |
| | | |
| | | }, () => { |
| | | if (edit) { flMain.RemoveFromParent(); } |
| | | else |
| | | { |
| | | AirSonser(flMain, SelectedDeviceStatus, edit, common); |
| | | } |
| | | }); |
| | | |
| | | } |
| | | else if (tagText == Language.StringByID(MyInternationalizationString.co2)) |
| | | { |
| | | |
| | | var list2 = publicInterface.GetViewList("co2"); |
| | | publicInterface.SingleSelectionShow(flMain, list2, MyInternationalizationString.co2, stateText, (strText) => |
| | | { |
| | | SelectedDeviceStatus = "TemperatureSensor"; |
| | | string valuaStr = ""; |
| | | if (strText == Language.StringByID(MyInternationalizationString.co2qingxin)) |
| | | { |
| | | valuaStr = "500"; |
| | | } |
| | | else if (strText == Language.StringByID(MyInternationalizationString.co2huizhuo)) |
| | | { |
| | | valuaStr = "1500"; |
| | | } |
| | | else if (strText == Language.StringByID(MyInternationalizationString.co2queyang)) |
| | | { |
| | | valuaStr = "2500"; |
| | | } |
| | | else if (strText == Language.StringByID(MyInternationalizationString.co2yanzhongqueyang)) |
| | | { |
| | | valuaStr = "5500"; |
| | | } |
| | | Send.dictionary(airqualitysensorDic, "Cluster_ID", "1037"); |
| | | Send.dictionary(airqualitysensorDic, "AttriButeId", "0"); |
| | | Send.dictionary(airqualitysensorDic, "AttriButeData1", valuaStr); |
| | | Send.dictionary(airqualitysensorDic, "AttriButeData2", "0"); |
| | | Send.dictionary(airqualitysensorDic, "Range", "1"); |
| | | AddDic(flMain, SelectedDeviceStatus, edit, common, airqualitysensorDic); |
| | | |
| | | |
| | | }, () => { |
| | | if (edit) { flMain.RemoveFromParent(); } |
| | | else |
| | | { |
| | | AirSonser(flMain, SelectedDeviceStatus, edit, common); |
| | | } |
| | | }); |
| | | |
| | | |
| | | |
| | | } |
| | | else if (tagText == Language.StringByID(MyInternationalizationString.sensortemperature)) |
| | | { |
| | | //编辑时的状态值 |
| | | string str1 = range; |
| | | string str2 = stateText; |
| | | publicInterface.TemperatureShow1(flMain, tagText, "℃", str1, str2, (relationValueStr, tempValueStr) => |
| | | { |
| | | |
| | | SelectedDeviceStatus = "TemperatureSensor"; |
| | | Send.dictionary(airqualitysensorDic, "Cluster_ID", "1026"); |
| | | Send.dictionary(airqualitysensorDic, "AttriButeId", "0"); |
| | | Send.dictionary(airqualitysensorDic, "AttriButeData1", tempValueStr); |
| | | Send.dictionary(airqualitysensorDic, "AttriButeData2", "0"); |
| | | Send.dictionary(airqualitysensorDic, "Range", relationValueStr); |
| | | AddDic(flMain, SelectedDeviceStatus, edit, common, airqualitysensorDic); |
| | | |
| | | |
| | | }, () => |
| | | { |
| | | if (edit) { flMain.RemoveFromParent(); } |
| | | else |
| | | { |
| | | AirSonser(flMain, SelectedDeviceStatus, edit, common); |
| | | } |
| | | |
| | | }); |
| | | } |
| | | else if (tagText == Language.StringByID(MyInternationalizationString.sensorhumidity)) |
| | | { |
| | | //编辑时的状态值 |
| | | string str1 = range; |
| | | string str2 = stateText; |
| | | publicInterface.TemperatureShow1(flMain, tagText, "%", str1, str2, (relationValueStr, tempValueStr) => |
| | | { |
| | | SelectedDeviceStatus = "TemperatureSensor"; |
| | | Send.dictionary(airqualitysensorDic, "Cluster_ID", "1029"); |
| | | Send.dictionary(airqualitysensorDic, "AttriButeId", "0"); |
| | | Send.dictionary(airqualitysensorDic, "AttriButeData1", tempValueStr); |
| | | Send.dictionary(airqualitysensorDic, "AttriButeData2", "0"); |
| | | Send.dictionary(airqualitysensorDic, "Range", relationValueStr); |
| | | AddDic(flMain, SelectedDeviceStatus, edit, common, airqualitysensorDic); |
| | | }, () => { |
| | | if (edit) { flMain.RemoveFromParent(); } |
| | | else |
| | | { |
| | | AirSonser(flMain, SelectedDeviceStatus, edit, common); |
| | | } |
| | | }); |
| | | } |
| | | |
| | | } |
| | | /// <summary> |
| | | /// 空气质量传感器(特殊处理) |
| | | /// </summary> |
| | | /// <param name="flMain"></param> |
| | | /// <param name="SelectedDeviceStatus"></param> |
| | | /// <param name="edit"></param> |
| | | /// <param name="common"></param> |
| | | /// <param name="dic"></param> |
| | | private static void AddDic(FrameLayout flMain, string SelectedDeviceStatus, bool edit, CommonDevice common, Dictionary<string, string> dic ) |
| | | { |
| | | UserView.HomePage.Instance.ScrollEnabled = true; |
| | | if (SelectedDeviceStatus != "") |
| | | { |
| | | //添加条件 |
| | | LogicIfon.AddDeviceconditions(common, dic); |
| | | } |
| | | else |
| | | { |
| | | if (!edit) |
| | | { |
| | | var alert = new UserCenter.ShowMsgControl(ShowMsgType.Normal, |
| | | Language.StringByID(MyInternationalizationString.selectdevicestatuscondition), |
| | | Language.StringByID(MyInternationalizationString.confrim)); |
| | | alert.Show(); |
| | | return; |
| | | } |
| | | |
| | | } |
| | | flMain.RemoveFromParent(); |
| | | //自动化 |
| | | var logicCommunalPage = new LogicCommunalPage(); |
| | | UserView.HomePage.Instance.AddChidren(logicCommunalPage); |
| | | UserView.HomePage.Instance.PageIndex += 1; |
| | | logicCommunalPage.Show(() => { }); |
| | | } |
| | | |
| | | } |
| | | } |