New file |
| | |
| | | using System; |
| | | using Shared.Common; |
| | | using Shared.R; |
| | | using Shared; |
| | | using ZigBee.Device; |
| | | using System.Collections.Generic; |
| | | namespace Shared.Phone.Device.Logic |
| | | { |
| | | public class CurrentDeviceState |
| | | { |
| | | /// <summary> |
| | | /// 选中该设备功能作为条件或者目标的视图方法 |
| | | /// </summary> |
| | | /// <param name="common">Common.</param> |
| | | public static void CurrentDeviceView(FrameLayout flMain, CommonDevice common, bool edit, string str,int intValue) |
| | | { |
| | | #region -------界面布局部分 |
| | | //不让当前界面滑动 |
| | | UserView.HomePage.Instance.ScrollEnabled = false; |
| | | CompleteView completeView = new CompleteView(); |
| | | flMain.AddChidren(completeView.Show(1)); |
| | | completeView.Btntitle.Text = LocalDevice.Current.GetDeviceEpointName(common); |
| | | EventHandler<MouseEventArgs> clickcancel = (sender, e) => |
| | | { |
| | | if (!edit) |
| | | { |
| | | UserView.HomePage.Instance.ScrollEnabled = true; |
| | | } |
| | | flMain.RemoveFromParent(); |
| | | }; |
| | | flMain.MouseUpEventHandler += clickcancel; |
| | | completeView.Btncancel.MouseUpEventHandler += clickcancel; |
| | | |
| | | 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.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.titleBtn.TextID = MyInternationalizationString.onoff; |
| | | takebackView.lineBtn.BackgroundColor = ZigbeeColor.Current.LogicBackgroundColor; |
| | | #region -------进度条控件 |
| | | var horizontalSeekBarRowLien = new RowLayout |
| | | { |
| | | //Y = openView.frameLayout.Bottom, |
| | | Width = Application.GetRealWidth(915), |
| | | Height = Application.GetRealHeight(160), |
| | | X = Application.GetRealWidth(80), |
| | | LineColor = ZigbeeColor.Current.LogicRowLayoutLineColor, |
| | | }; |
| | | var horizontalSeekBarVol = new DiyImageSeekBar |
| | | { |
| | | //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 |
| | | }; |
| | | #endregion |
| | | #endregion |
| | | |
| | | #region -------数据处理部分 |
| | | #region -------条件 |
| | | Dictionary<string, string> deviceConditionsInfo = new Dictionary<string, string>(); |
| | | Send.dictionary(deviceConditionsInfo, "Type", "1"); |
| | | Send.dictionary(deviceConditionsInfo, "IsValid", "1"); |
| | | Send.dictionary(deviceConditionsInfo, "MacAddr", common.DeviceAddr); |
| | | Send.dictionary(deviceConditionsInfo, "Epoint", common.DeviceEpoint.ToString()); |
| | | Dictionary<string, string> devices = null; |
| | | #endregion |
| | | #region -------目标 |
| | | Dictionary<string, object> actionsInfo = new Dictionary<string, object>(); |
| | | List<Dictionary<string, string>> taskListInfo = new List<Dictionary<string, string>>(); |
| | | actionsInfo.Add("LinkType", 0); |
| | | actionsInfo.Add("DeviceAddr", common.DeviceAddr); |
| | | actionsInfo.Add("Epoint", common.DeviceEpoint); |
| | | actionsInfo.Add("Time", 0); |
| | | actionsInfo.Add("TaskList", taskListInfo); |
| | | List<Dictionary<string, string>> TaskList = null; |
| | | #endregion |
| | | var _if=str.Split('_'); |
| | | if (edit) |
| | | { |
| | | if (_if[0]== "condition") |
| | | { |
| | | var deviceinfo = Common.Logic.CurrentLogic.Conditions[intValue]; |
| | | if (deviceinfo["Type"] == "1") |
| | | { |
| | | if (common.DeviceAddr == deviceinfo["MacAddr"] && common.DeviceEpoint.ToString() == deviceinfo["Epoint"]) |
| | | { |
| | | devices = deviceinfo; |
| | | |
| | | } |
| | | } |
| | | //foreach (var deviceinfo in Common.Logic.CurrentLogic.Conditions) |
| | | //{ |
| | | // if (deviceinfo["Type"] == "1") |
| | | // { |
| | | // if (common.DeviceAddr == deviceinfo["MacAddr"] && common.DeviceEpoint.ToString() == deviceinfo["Epoint"]) |
| | | // { |
| | | // devices = deviceinfo; |
| | | // break; |
| | | // } |
| | | // } |
| | | //} |
| | | } |
| | | else |
| | | { |
| | | var deviceinfo = Common.Logic.CurrentLogic.Actions[intValue]; |
| | | 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>>; |
| | | } |
| | | } |
| | | //foreach (var deviceinfo in Common.Logic.CurrentLogic.Actions) |
| | | //{ |
| | | // 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; |
| | | // } |
| | | // } |
| | | //} |
| | | } |
| | | } |
| | | #endregion |
| | | int l = 0; |
| | | string SelectedDeviceStatus = ""; |
| | | switch (common.Type) |
| | | { |
| | | ///灯光 |
| | | case DeviceType.OnOffOutput: |
| | | { |
| | | if (_if[0] == "condition") |
| | | { |
| | | l = 2; |
| | | Send.dictionary(deviceConditionsInfo, "Cluster_ID", "6"); |
| | | Send.dictionary(deviceConditionsInfo, "AttriButeId", "0"); |
| | | Send.dictionary(deviceConditionsInfo, "Range", "1"); |
| | | Send.dictionary(deviceConditionsInfo, "AttriButeData2", "0"); |
| | | |
| | | #region 灯光View |
| | | completeView.Show(l).AddChidren(openView.Show()); |
| | | completeView.Show(l).AddChidren(closeView.Show()); |
| | | closeView.lineBtn.BackgroundColor = ZigbeeColor.Current.LogicBackgroundColor; |
| | | #endregion |
| | | |
| | | ///点击确认事件 |
| | | openView.clickviewBtn.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | openView.selectedIconBtn.Visible = true; |
| | | closeView.selectedIconBtn.Visible = false; |
| | | openView.titleBtn.TextColor = ZigbeeColor.Current.LogicBtnSelectedColor; |
| | | closeView.titleBtn.TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor; |
| | | SelectedDeviceStatus = "OnOffOutput"; |
| | | Send.dictionary(deviceConditionsInfo, "AttriButeData1", "1");//默认值 |
| | | |
| | | |
| | | }; |
| | | |
| | | ///点击取消事件 |
| | | closeView.clickviewBtn.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | openView.selectedIconBtn.Visible = false; |
| | | closeView.selectedIconBtn.Visible = true; |
| | | openView.titleBtn.TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor; |
| | | closeView.titleBtn.TextColor = ZigbeeColor.Current.LogicBtnSelectedColor; |
| | | SelectedDeviceStatus = "OnOffOutput"; |
| | | Send.dictionary(deviceConditionsInfo, "AttriButeData1", "0");//默认值 |
| | | |
| | | }; |
| | | |
| | | if (edit && devices != null) |
| | | { |
| | | if (devices["AttriButeId"] == "0") |
| | | { |
| | | if (devices["AttriButeData1"] == "1") |
| | | { |
| | | openView.selectedIconBtn.Visible = true; |
| | | closeView.selectedIconBtn.Visible = false; |
| | | openView.titleBtn.TextColor = ZigbeeColor.Current.LogicBtnSelectedColor; |
| | | closeView.titleBtn.TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor; |
| | | } |
| | | else |
| | | { |
| | | openView.selectedIconBtn.Visible = false; |
| | | closeView.selectedIconBtn.Visible = true; |
| | | openView.titleBtn.TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor; |
| | | closeView.titleBtn.TextColor = ZigbeeColor.Current.LogicBtnSelectedColor; |
| | | |
| | | } |
| | | } |
| | | } |
| | | } |
| | | else |
| | | { |
| | | l = 3; |
| | | #region ----初始化设备功能数据---- |
| | | Dictionary<string, string> switchdictionary = new Dictionary<string, string>(); |
| | | Send.dictionary(switchdictionary, "TaskType", "1"); |
| | | Send.dictionary(switchdictionary, "Data1", "0"); |
| | | Send.dictionary(switchdictionary, "Data2", "0"); |
| | | taskListInfo.Add(switchdictionary); |
| | | |
| | | #endregion |
| | | |
| | | #region 灯光View |
| | | |
| | | completeView.Show(l).AddChidren(openView.Show()); |
| | | completeView.Show(l).AddChidren(closeView.Show()); |
| | | //closeView.frameLayout.Y = openView.frameLayout.Bottom; |
| | | completeView.Show(l).AddChidren(takebackView.Show()); |
| | | //takebackView.frameLayout.Y = closeView.frameLayout.Bottom; |
| | | takebackView.lineBtn.BackgroundColor = ZigbeeColor.Current.LogicBackgroundColor; |
| | | #endregion |
| | | |
| | | ///确认事件 |
| | | openView.clickviewBtn.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | SelectedDeviceStatus = "yes"; |
| | | openView.selectedIconBtn.Visible = true; |
| | | closeView.selectedIconBtn.Visible = false; |
| | | takebackView.selectedIconBtn.Visible = false; |
| | | Send.dictionary(switchdictionary, "Data1", "1");//默认值 |
| | | }; |
| | | ///取消事件 |
| | | closeView.clickviewBtn.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | SelectedDeviceStatus = "yes"; |
| | | openView.selectedIconBtn.Visible = false; |
| | | closeView.selectedIconBtn.Visible = true; |
| | | takebackView.selectedIconBtn.Visible = false; |
| | | Send.dictionary(switchdictionary, "Data1", "0");//默认值 |
| | | |
| | | }; |
| | | //取反 |
| | | takebackView.clickviewBtn.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | SelectedDeviceStatus = "yes"; |
| | | openView.selectedIconBtn.Visible = false; |
| | | closeView.selectedIconBtn.Visible = false; |
| | | takebackView.selectedIconBtn.Visible = true; |
| | | Send.dictionary(switchdictionary, "Data1", "2");//默认值 |
| | | |
| | | }; |
| | | |
| | | if (edit && TaskList != null) |
| | | { |
| | | foreach (var value in TaskList) |
| | | { |
| | | if (value["TaskType"] == "1") |
| | | { |
| | | var data1 = value["Data1"]; |
| | | Send.dictionary(switchdictionary, "Data1", data1); |
| | | openView.selectedIconBtn.Visible = false; |
| | | closeView.selectedIconBtn.Visible = false; |
| | | takebackView.selectedIconBtn.Visible = false; |
| | | switch (data1) |
| | | { |
| | | case "1": |
| | | { |
| | | openView.selectedIconBtn.Visible = true; |
| | | } |
| | | break; |
| | | case "0": |
| | | { |
| | | closeView.selectedIconBtn.Visible = true; |
| | | } |
| | | break; |
| | | case "2": |
| | | { |
| | | takebackView.selectedIconBtn.Visible = true; |
| | | } |
| | | break; |
| | | } |
| | | |
| | | } |
| | | |
| | | } |
| | | } |
| | | } |
| | | } |
| | | break; |
| | | case DeviceType.IASZone: |
| | | { |
| | | var iASZonedevice = common as IASZone; |
| | | if (iASZonedevice.DeviceID != 1026) |
| | | { |
| | | break; |
| | | } |
| | | |
| | | Send.dictionary(deviceConditionsInfo, "Cluster_ID", "1280"); |
| | | Send.dictionary(deviceConditionsInfo, "AttriButeId", "1281"); |
| | | Send.dictionary(deviceConditionsInfo, "AttriButeData2", "0"); |
| | | |
| | | int timeValue = 0; |
| | | ///点击确认事件 |
| | | openView.clickviewBtn.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | SelectedDeviceStatus = "IASZone"; |
| | | openView.titleBtn.TextColor = ZigbeeColor.Current.LogicBtnSelectedColor; |
| | | closeView.titleBtn.TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor; |
| | | openView.selectedIconBtn.Visible = true; |
| | | closeView.selectedIconBtn.Visible = false; |
| | | if (iASZonedevice.IasDeviceType == 13||iASZonedevice.IasDeviceType == 541) |
| | | { |
| | | closeView.selectedIconBtn.Visible = true; |
| | | } |
| | | Send.dictionary(deviceConditionsInfo, "Range", "5"); |
| | | Send.dictionary(deviceConditionsInfo, "AttriButeData1", "1"); |
| | | }; |
| | | ///点击取消事件 |
| | | closeView.clickviewBtn.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | SelectedDeviceStatus = "IASZone"; |
| | | openView.titleBtn.TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor; |
| | | 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|| iASZonedevice.IasDeviceType == 541) |
| | | { |
| | | SelectedDeviceStatus = ""; |
| | | closeView.titleBtn.TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor; |
| | | var ignoreTime = new IgnoreTime(); |
| | | UserView.HomePage.Instance.AddChidren(ignoreTime); |
| | | UserView.HomePage.Instance.PageIndex += 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()); |
| | | } |
| | | break; |
| | | case 21: |
| | | case 22: |
| | | { |
| | | #region |
| | | var view = completeView.Show(3); |
| | | openView.titleBtn.TextID = MyInternationalizationString.logicopen; |
| | | closeView.titleBtn.TextID = MyInternationalizationString.logicclose; |
| | | view.AddChidren(openView.Show()); |
| | | view.AddChidren(closeView.Show()); |
| | | |
| | | 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; |
| | | closeView.titleBtn.TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor; |
| | | openView.selectedIconBtn.Visible = false; |
| | | closeView.selectedIconBtn.Visible = false; |
| | | var ignoreTime = new IgnoreTime(); |
| | | UserView.HomePage.Instance.AddChidren(ignoreTime); |
| | | UserView.HomePage.Instance.PageIndex += 1; |
| | | ignoreTime.Show(common, takebackView.titleBtn.Text, edit, timeValue, _if[1]); |
| | | |
| | | }; |
| | | |
| | | #endregion |
| | | } |
| | | break; |
| | | case 40: |
| | | { |
| | | |
| | | openView.titleBtn.TextID = MyInternationalizationString.smokescreen; |
| | | openView.lineBtn.BackgroundColor = ZigbeeColor.Current.LogicBackgroundColor; |
| | | completeView.Show(1).AddChidren(openView.Show()); |
| | | } |
| | | break; |
| | | case 42: |
| | | { |
| | | openView.titleBtn.TextID = MyInternationalizationString.waterleakage; |
| | | closeView.titleBtn.TextID = MyInternationalizationString.noleakage; |
| | | closeView.lineBtn.BackgroundColor = ZigbeeColor.Current.LogicBackgroundColor; |
| | | completeView.Show(2).AddChidren(openView.Show()); |
| | | completeView.Show(2).AddChidren(closeView.Show()); |
| | | |
| | | } |
| | | break; |
| | | case 43: |
| | | {//召元说的 |
| | | openView.titleBtn.TextID = MyInternationalizationString.gas; |
| | | openView.lineBtn.BackgroundColor = ZigbeeColor.Current.LogicBackgroundColor; |
| | | completeView.Show(1).AddChidren(openView.Show()); |
| | | } |
| | | break; |
| | | case 44: |
| | | { |
| | | openView.titleBtn.TextID = MyInternationalizationString.emergencybutton; |
| | | openView.lineBtn.BackgroundColor = ZigbeeColor.Current.LogicBackgroundColor; |
| | | completeView.Show(1).AddChidren(openView.Show()); |
| | | } |
| | | break; |
| | | case 277: |
| | | { |
| | | openView.titleBtn.TextID = MyInternationalizationString.callthepolice; |
| | | openView.lineBtn.BackgroundColor = ZigbeeColor.Current.LogicBackgroundColor; |
| | | completeView.Show(1).AddChidren(openView.Show()); |
| | | } |
| | | break; |
| | | case 541: |
| | | { |
| | | 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); |
| | | |
| | | }; |
| | | } |
| | | break; |
| | | default: |
| | | { |
| | | openView.titleBtn.TextID = MyInternationalizationString.callthepolice; |
| | | openView.lineBtn.BackgroundColor = ZigbeeColor.Current.LogicBackgroundColor; |
| | | completeView.Show(1).AddChidren(openView.Show()); |
| | | |
| | | } |
| | | break; |
| | | } |
| | | if (edit && devices != null) |
| | | { |
| | | if (devices["AttriButeId"] == "1281") |
| | | { |
| | | if (devices.ContainsKey("IgnoreTime")) |
| | | { |
| | | timeValue = int.Parse(devices["IgnoreTime"]); |
| | | } |
| | | else |
| | | { |
| | | if (devices["AttriButeData1"] == "1") |
| | | { |
| | | openView.titleBtn.TextColor = ZigbeeColor.Current.LogicBtnSelectedColor; |
| | | closeView.titleBtn.TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor; |
| | | openView.selectedIconBtn.Visible = true; |
| | | closeView.selectedIconBtn.Visible = false; |
| | | } |
| | | else |
| | | { |
| | | openView.titleBtn.TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor; |
| | | closeView.titleBtn.TextColor = ZigbeeColor.Current.LogicBtnSelectedColor; |
| | | openView.selectedIconBtn.Visible = false; |
| | | closeView.selectedIconBtn.Visible = true; |
| | | } |
| | | |
| | | } |
| | | |
| | | |
| | | } |
| | | |
| | | } |
| | | |
| | | } |
| | | break; |
| | | case DeviceType.OnOffSwitch: |
| | | { |
| | | l = 1; |
| | | Send.dictionary(deviceConditionsInfo, "Cluster_ID", "1282"); |
| | | Send.dictionary(deviceConditionsInfo, "AttriButeId", "1283"); |
| | | Send.dictionary(deviceConditionsInfo, "Range", "0");//按键特殊 |
| | | Send.dictionary(deviceConditionsInfo, "AttriButeData1", "0"); |
| | | Send.dictionary(deviceConditionsInfo, "AttriButeData2", "0"); |
| | | |
| | | completeView.Show(l).AddChidren(openView.Show()); |
| | | openView.titleBtn.Text = Language.StringByID(MyInternationalizationString.OnOffSwitch) + common.DeviceEpoint.ToString(); |
| | | openView.lineBtn.BackgroundColor = ZigbeeColor.Current.LogicBackgroundColor; |
| | | openView.clickviewBtn.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | SelectedDeviceStatus = "OnOffSwitch"; |
| | | openView.selectedIconBtn.Visible = true; |
| | | openView.titleBtn.TextColor = ZigbeeColor.Current.LogicBtnSelectedColor; |
| | | }; |
| | | |
| | | if (edit && devices != null) |
| | | { |
| | | openView.selectedIconBtn.Visible = true; |
| | | openView.titleBtn.TextColor = ZigbeeColor.Current.LogicBtnSelectedColor; |
| | | } |
| | | |
| | | } |
| | | break; |
| | | case DeviceType.DoorLock: |
| | | {
|
| | | |
| | | flMain.RemoveFromParent(); |
| | | var memberList = new MemberList(); |
| | | UserView.HomePage.Instance.AddChidren(memberList); |
| | | UserView.HomePage.Instance.PageIndex += 1; |
| | | MemberList.edit = false; |
| | | memberList.Show(common); |
| | | } |
| | | 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++) |
| | | { |
| | | 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"); |
| | | } |
| | | else |
| | | { |
| | | mList3.Add("%"); |
| | | 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]) |
| | | { |
| | | 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); |
| | | |
| | | } |
| | | ///更新最新状态; |
| | | mUIPickerView.setCurrentItems(index1, index2, 0); |
| | | |
| | | } |
| | | break; |
| | | ///调光灯光 |
| | | case DeviceType.DimmableLight: |
| | | { |
| | | l = 4; |
| | | #region ----初始化设备功能数据---- |
| | | Dictionary<string, string> switchdictionary = new Dictionary<string, string>(); |
| | | Send.dictionary(switchdictionary, "Data2", "0"); |
| | | 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); |
| | | completeView.Show(l).AddChidren(horizontalSeekBarVol); |
| | | |
| | | closeView.frameLayout.Y = horizontalSeekBarRowLien.Bottom; |
| | | completeView.Show(l).AddChidren(closeView.Show()); |
| | | |
| | | takebackView.frameLayout.Y = closeView.frameLayout.Bottom; |
| | | completeView.Show(l).AddChidren(takebackView.Show()); |
| | | takebackView.lineBtn.BackgroundColor = ZigbeeColor.Current.LogicBackgroundColor; |
| | | #endregion |
| | | int Progressvalue = 100; |
| | | EventHandler<int> progressclick = (sender, e) => |
| | | { |
| | | SelectedDeviceStatus = "yes"; |
| | | Progressvalue = horizontalSeekBarVol.Progress; |
| | | Send.dictionary(switchdictionary, "TaskType", "3"); |
| | | //最大亮度值是254需要转换; |
| | | var lightbrightnessvalue = (254 * horizontalSeekBarVol.Progress) / 100; |
| | | Send.dictionary(switchdictionary, "Data1", lightbrightnessvalue.ToString()); |
| | | |
| | | }; |
| | | horizontalSeekBarVol.OnProgressChangedEvent += progressclick; |
| | | horizontalSeekBarVol.OnStopTrackingTouchEvent += progressclick; |
| | | ///确认事件 |
| | | openView.clickviewBtn.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | SelectedDeviceStatus = "yes"; |
| | | horizontalSeekBarVol.IsClickable = true; |
| | | horizontalSeekBarVol.ProgressBarColor = ZigbeeColor.Current.LogicProgressColorSelected; |
| | | openView.selectedIconBtn.Visible = true; |
| | | closeView.selectedIconBtn.Visible = false; |
| | | takebackView.selectedIconBtn.Visible = false; |
| | | horizontalSeekBarVol.Progress = Progressvalue; |
| | | Send.dictionary(switchdictionary, "TaskType", "3"); |
| | | //最大亮度值是254需要转换; |
| | | var lightbrightnessvalue = (254 * horizontalSeekBarVol.Progress) / 100; |
| | | Send.dictionary(switchdictionary, "Data1", lightbrightnessvalue.ToString()); |
| | | }; |
| | | |
| | | ///取消事件 |
| | | closeView.clickviewBtn.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | SelectedDeviceStatus = "yes"; |
| | | horizontalSeekBarVol.IsClickable = false; |
| | | horizontalSeekBarVol.ProgressBarColor = ZigbeeColor.Current.LogicProgressColor; |
| | | openView.selectedIconBtn.Visible = false; |
| | | closeView.selectedIconBtn.Visible = true; |
| | | takebackView.selectedIconBtn.Visible = false; |
| | | Send.dictionary(switchdictionary, "TaskType", "1"); |
| | | Send.dictionary(switchdictionary, "Data1", "0");//默认值 |
| | | }; |
| | | |
| | | //取反 |
| | | takebackView.clickviewBtn.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | SelectedDeviceStatus = "yes"; |
| | | horizontalSeekBarVol.IsClickable = false; |
| | | horizontalSeekBarVol.ProgressBarColor = ZigbeeColor.Current.LogicProgressColor; |
| | | openView.selectedIconBtn.Visible = false; |
| | | closeView.selectedIconBtn.Visible = false; |
| | | takebackView.selectedIconBtn.Visible = true; |
| | | Send.dictionary(switchdictionary, "TaskType", "1"); |
| | | Send.dictionary(switchdictionary, "Data1", "2");//默认值 |
| | | |
| | | }; |
| | | if (edit && TaskList != null) |
| | | { |
| | | foreach (var value in TaskList) |
| | | { |
| | | var tasktype = value["TaskType"]; |
| | | var data1 = value["Data1"]; |
| | | Send.dictionary(switchdictionary, "TaskType", tasktype); |
| | | Send.dictionary(switchdictionary, "Data1", data1); |
| | | openView.selectedIconBtn.Visible = false; |
| | | closeView.selectedIconBtn.Visible = false; |
| | | takebackView.selectedIconBtn.Visible = false; |
| | | horizontalSeekBarVol.IsClickable = false; |
| | | horizontalSeekBarVol.ProgressBarColor = ZigbeeColor.Current.LogicProgressColor; |
| | | if (tasktype == "1") |
| | | { |
| | | if (data1 == "0") |
| | | { |
| | | closeView.selectedIconBtn.Visible = true; |
| | | } |
| | | else if (data1 == "2") |
| | | { |
| | | takebackView.selectedIconBtn.Visible = true; |
| | | } |
| | | } |
| | | else if (tasktype == "3") |
| | | { |
| | | openView.selectedIconBtn.Visible = true; |
| | | horizontalSeekBarVol.IsClickable = true; |
| | | horizontalSeekBarVol.ProgressBarColor = ZigbeeColor.Current.LogicProgressColorSelected; |
| | | horizontalSeekBarVol.Progress = int.Parse(data1) * 100 / 254; |
| | | Progressvalue = horizontalSeekBarVol.Progress; |
| | | |
| | | } |
| | | break; |
| | | |
| | | } |
| | | } |
| | | |
| | | } |
| | | break; |
| | | ///窗帘 |
| | | case DeviceType.WindowCoveringDevice: |
| | | { |
| | | l = 3; |
| | | #region ----初始化设备功能数据---- |
| | | Dictionary<string, string> switchdictionary = new Dictionary<string, string>(); |
| | | Send.dictionary(switchdictionary, "TaskType", "6"); |
| | | 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); |
| | | completeView.Show(l).AddChidren(horizontalSeekBarVol); |
| | | |
| | | closeView.frameLayout.Y = horizontalSeekBarRowLien.Bottom; |
| | | completeView.Show(l).AddChidren(closeView.Show()); |
| | | closeView.lineBtn.BackgroundColor = ZigbeeColor.Current.LogicBackgroundColor; |
| | | #endregion |
| | | int Progressvalue = 100; |
| | | EventHandler<int> progressclick = (sender, e) => |
| | | { |
| | | SelectedDeviceStatus = "yes"; |
| | | Progressvalue = horizontalSeekBarVol.Progress; |
| | | Send.dictionary(switchdictionary, "Data1", "5"); |
| | | Send.dictionary(switchdictionary, "Data2", horizontalSeekBarVol.Progress.ToString()); |
| | | }; |
| | | horizontalSeekBarVol.OnProgressChangedEvent += progressclick; |
| | | horizontalSeekBarVol.OnStopTrackingTouchEvent += progressclick; |
| | | ///确认事件 |
| | | openView.clickviewBtn.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | SelectedDeviceStatus = "yes"; |
| | | horizontalSeekBarVol.IsClickable = true; |
| | | horizontalSeekBarVol.ProgressBarColor = ZigbeeColor.Current.LogicProgressColorSelected; |
| | | openView.selectedIconBtn.Visible = true; |
| | | closeView.selectedIconBtn.Visible = false; |
| | | horizontalSeekBarVol.Progress = Progressvalue; |
| | | Send.dictionary(switchdictionary, "Data1", "5"); |
| | | Send.dictionary(switchdictionary, "Data2", horizontalSeekBarVol.Progress.ToString()); |
| | | |
| | | }; |
| | | ///取消事件 |
| | | closeView.clickviewBtn.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | SelectedDeviceStatus = "yes"; |
| | | horizontalSeekBarVol.IsClickable = false; |
| | | horizontalSeekBarVol.ProgressBarColor = ZigbeeColor.Current.LogicProgressColor; |
| | | openView.selectedIconBtn.Visible = false; |
| | | closeView.selectedIconBtn.Visible = true; |
| | | Send.dictionary(switchdictionary, "Data2", "0"); |
| | | Send.dictionary(switchdictionary, "Data1", "1");//默认值 |
| | | |
| | | }; |
| | | |
| | | if (edit && TaskList != null) |
| | | { |
| | | foreach (var value in TaskList) |
| | | { |
| | | if (value["TaskType"] == "6") |
| | | { |
| | | if (value["Data1"] == "5") |
| | | { |
| | | |
| | | Send.dictionary(switchdictionary, "Data1", "5"); |
| | | Send.dictionary(switchdictionary, "Data2", value["Data2"]); |
| | | horizontalSeekBarVol.IsClickable = true; |
| | | horizontalSeekBarVol.ProgressBarColor = ZigbeeColor.Current.LogicProgressColorSelected; |
| | | openView.selectedIconBtn.Visible = true; |
| | | closeView.selectedIconBtn.Visible = false; |
| | | horizontalSeekBarVol.Progress = int.Parse(value["Data2"]); |
| | | Progressvalue = horizontalSeekBarVol.Progress; |
| | | } |
| | | else if (value["Data1"] == "1") |
| | | { |
| | | Send.dictionary(switchdictionary, "Data1", "1"); |
| | | openView.selectedIconBtn.Visible = false; |
| | | closeView.selectedIconBtn.Visible = true; |
| | | horizontalSeekBarVol.IsClickable = false; |
| | | horizontalSeekBarVol.ProgressBarColor = ZigbeeColor.Current.LogicProgressColor; |
| | | } |
| | | |
| | | } |
| | | |
| | | } |
| | | } |
| | | } |
| | | break; |
| | | ///空气开关 |
| | | case DeviceType.AirSwitch: |
| | | { |
| | | { |
| | | l = 3; |
| | | #region ----初始化设备功能数据---- |
| | | Dictionary<string, string> switchdictionary = new Dictionary<string, string>(); |
| | | Send.dictionary(switchdictionary, "TaskType", "1"); |
| | | Send.dictionary(switchdictionary, "Data1", "0"); |
| | | Send.dictionary(switchdictionary, "Data2", "0"); |
| | | taskListInfo.Add(switchdictionary); |
| | | #endregion |
| | | |
| | | #region 空气灯光View |
| | | |
| | | completeView.Show(l).AddChidren(openView.Show()); |
| | | completeView.Show(l).AddChidren(closeView.Show()); |
| | | completeView.Show(l).AddChidren(takebackView.Show()); |
| | | takebackView.lineBtn.BackgroundColor = ZigbeeColor.Current.LogicBackgroundColor; |
| | | |
| | | #endregion |
| | | |
| | | ///确认事件 |
| | | openView.clickviewBtn.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | SelectedDeviceStatus = "yes"; |
| | | openView.selectedIconBtn.Visible = true; |
| | | closeView.selectedIconBtn.Visible = false; |
| | | takebackView.selectedIconBtn.Visible = false; |
| | | Send.dictionary(switchdictionary, "Data1", "1"); |
| | | |
| | | }; |
| | | ///取消事件 |
| | | closeView.clickviewBtn.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | SelectedDeviceStatus = "yes"; |
| | | openView.selectedIconBtn.Visible = false; |
| | | closeView.selectedIconBtn.Visible = true; |
| | | takebackView.selectedIconBtn.Visible = false; |
| | | Send.dictionary(switchdictionary, "Data1", "0"); |
| | | |
| | | }; |
| | | //取反 |
| | | takebackView.clickviewBtn.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | SelectedDeviceStatus = "yes"; |
| | | openView.selectedIconBtn.Visible = false; |
| | | closeView.selectedIconBtn.Visible = false; |
| | | takebackView.selectedIconBtn.Visible = true; |
| | | Send.dictionary(switchdictionary, "Data1", "2"); |
| | | |
| | | }; |
| | | |
| | | if (edit && TaskList != null) |
| | | { |
| | | foreach (var value in TaskList) |
| | | { |
| | | if (value["TaskType"] == "1") |
| | | { |
| | | var data1 = value["Data1"]; |
| | | Send.dictionary(switchdictionary, "Data1", data1); |
| | | openView.selectedIconBtn.Visible = false; |
| | | closeView.selectedIconBtn.Visible = false; |
| | | takebackView.selectedIconBtn.Visible = false; |
| | | if (data1 == "1") |
| | | { |
| | | openView.selectedIconBtn.Visible = true; |
| | | } |
| | | else if (data1 == "0") |
| | | { |
| | | closeView.selectedIconBtn.Visible = true; |
| | | } |
| | | else if (data1 == "2") |
| | | { |
| | | takebackView.selectedIconBtn.Visible = true; |
| | | } |
| | | break; |
| | | } |
| | | |
| | | } |
| | | } |
| | | |
| | | } |
| | | } |
| | | break; |
| | | ///空调 |
| | | case DeviceType.Thermostat: |
| | | { |
| | | l = 6; |
| | | #region ----初始化设备功能数据---- |
| | | var temperaturedictionary = new Dictionary<string, string>(); |
| | | var modedictionary = new Dictionary<string, string>(); |
| | | var speeddictionary = new Dictionary<string, string>(); |
| | | Send.dictionary(temperaturedictionary, "TaskType", "5"); |
| | | Send.dictionary(modedictionary, "TaskType", "5"); |
| | | Send.dictionary(modedictionary, "Data1", "3"); |
| | | Send.dictionary(speeddictionary, "TaskType", "5"); |
| | | Send.dictionary(speeddictionary, "Data1", "6"); |
| | | taskListInfo.Add(temperaturedictionary); |
| | | taskListInfo.Add(modedictionary); |
| | | taskListInfo.Add(speeddictionary); |
| | | #endregion |
| | | #region 空调View |
| | | |
| | | completeView.Show(l).AddChidren(openView.Show()); |
| | | |
| | | #region 空调状态View |
| | | var PickerViewfra = new FrameLayout |
| | | { |
| | | Y = openView.frameLayout.Bottom, |
| | | Height = Application.GetRealHeight(640), |
| | | }; |
| | | completeView.Show(l).AddChidren(PickerViewfra); |
| | | |
| | | //遮挡空调滑动view; |
| | | var pausePickerViewfra = new FrameLayout |
| | | { |
| | | Y = openView.frameLayout.Bottom, |
| | | Height = Application.GetRealHeight(640), |
| | | BackgroundColor = 0x60ffffff, |
| | | }; |
| | | completeView.Show(l).AddChidren(pausePickerViewfra); |
| | | |
| | | var mUIPickerView = new UIPickerView |
| | | { |
| | | Height = Application.GetRealHeight(640 - 5), |
| | | }; |
| | | PickerViewfra.AddChidren(mUIPickerView); |
| | | var line = new Button |
| | | { |
| | | Y = Application.GetRealHeight(640 - 5), |
| | | Width = Application.GetRealWidth(920), |
| | | Height = Application.GetRealHeight(5), |
| | | X = Application.GetRealWidth(80), |
| | | BackgroundColor = ZigbeeColor.Current.LogicRowLayoutLineColor, |
| | | }; |
| | | PickerViewfra.AddChidren(line); |
| | | |
| | | var mList1 = new List<string>(); |
| | | var mList2 = new List<string> { |
| | | Language.StringByID(MyInternationalizationString.logiccool), |
| | | Language.StringByID(MyInternationalizationString.logicheat), |
| | | Language.StringByID(MyInternationalizationString.logicauto), |
| | | Language.StringByID(MyInternationalizationString.logicdry), |
| | | Language.StringByID(MyInternationalizationString.logicfanonly), |
| | | }; |
| | | var mList3 = new List<string>{ |
| | | Language.StringByID(MyInternationalizationString.logiclow), |
| | | Language.StringByID(MyInternationalizationString.logicmedium), |
| | | Language.StringByID(MyInternationalizationString.logichigh), |
| | | }; |
| | | for (int i = 16; i < 33; i++) |
| | | { |
| | | mList1.Add(i.ToString() + " " + "℃"); |
| | | } |
| | | mUIPickerView.setNPicker(mList1, mList2, mList3); |
| | | ///默认状态 |
| | | |
| | | |
| | | #endregion |
| | | |
| | | closeView.frameLayout.Y = PickerViewfra.Bottom; |
| | | completeView.Show(l).AddChidren(closeView.Show()); |
| | | closeView.lineBtn.BackgroundColor = ZigbeeColor.Current.LogicBackgroundColor; |
| | | |
| | | //默认26,自动,中风 |
| | | int indextemperature = 10, indexmode = 2, indexspeed = 1; |
| | | mUIPickerView.OnSelectChangeEvent += (s1, s2, s3) => |
| | | { |
| | | indextemperature = s1; |
| | | indexmode = s2; |
| | | indexspeed = s3; |
| | | if (openView.selectedIconBtn.Visible) |
| | | { |
| | | SelectedDeviceStatus = "yes"; |
| | | var temperature = mList1[s1].Split(' ')[0]; |
| | | var modestring = mList2[s2].Split(' ')[0]; |
| | | var speedstring = mList3[s3].Split(' ')[0]; |
| | | ModeState(modestring, temperaturedictionary, modedictionary); |
| | | var a = int.Parse(temperature) * 100; |
| | | Send.dictionary(temperaturedictionary, "Data2", a.ToString()); |
| | | |
| | | SpeedState(speedstring, speeddictionary); |
| | | } |
| | | }; |
| | | mUIPickerView.setTextColorCenter(ZigbeeColor.Current.LogicBtnCancelColor, 0); |
| | | mUIPickerView.setTextColorCenter(ZigbeeColor.Current.LogicBtnCancelColor, 1); |
| | | mUIPickerView.setTextColorCenter(ZigbeeColor.Current.LogicBtnCancelColor, 2); |
| | | #endregion |
| | | |
| | | if (edit && TaskList != null) |
| | | { |
| | | |
| | | foreach (var value in TaskList) |
| | | { |
| | | if (TaskList.Count == 1) |
| | | { |
| | | mUIPickerView.setTextColorCenter(ZigbeeColor.Current.LogicBtnCancelColor, 0); |
| | | mUIPickerView.setTextColorCenter(ZigbeeColor.Current.LogicBtnCancelColor, 1); |
| | | mUIPickerView.setTextColorCenter(ZigbeeColor.Current.LogicBtnCancelColor, 2); |
| | | //数组只有一个元素说明当前空调状态为关; |
| | | openView.selectedIconBtn.Visible = false; |
| | | closeView.selectedIconBtn.Visible = true; |
| | | pausePickerViewfra.Height = Application.GetRealHeight(600); |
| | | //如果空调状态是关;直接跳出for循坏; |
| | | break; |
| | | |
| | | } |
| | | else |
| | | { |
| | | openView.selectedIconBtn.Visible = true; |
| | | closeView.selectedIconBtn.Visible = false; |
| | | pausePickerViewfra.Height = Application.GetRealHeight(0); |
| | | mUIPickerView.setTextColorCenter(ZigbeeColor.Current.LogicBtnSelectedColor, 0); |
| | | mUIPickerView.setTextColorCenter(ZigbeeColor.Current.LogicBtnSelectedColor, 1); |
| | | mUIPickerView.setTextColorCenter(ZigbeeColor.Current.LogicBtnSelectedColor, 2); |
| | | } |
| | | |
| | | |
| | | if (value["TaskType"] == "5") |
| | | { |
| | | if (value["Data1"] == "3") |
| | | {//3---设置工作模式(1:自动;3:制冷;4:制热;7:送风;8:除湿) |
| | | Send.dictionary(modedictionary, "Data2", value["Data2"]); |
| | | string modetext = ""; |
| | | switch (value["Data2"]) |
| | | { |
| | | case "3": |
| | | { |
| | | modetext = Language.StringByID(MyInternationalizationString.logiccool); |
| | | //indexmode = 0; |
| | | } |
| | | break; |
| | | case "4": |
| | | { |
| | | modetext = Language.StringByID(MyInternationalizationString.logicheat); |
| | | // indexmode = 1; |
| | | } |
| | | break; |
| | | case "1": |
| | | { |
| | | modetext = Language.StringByID(MyInternationalizationString.logicauto); |
| | | // indexmode = 2; |
| | | } |
| | | break; |
| | | case "8": |
| | | { |
| | | modetext = Language.StringByID(MyInternationalizationString.logicdry); |
| | | // indexmode = 3; |
| | | } |
| | | break; |
| | | case "7": |
| | | { |
| | | modetext = Language.StringByID(MyInternationalizationString.logicfanonly); |
| | | //indexmode = 4; |
| | | } |
| | | break; |
| | | } |
| | | indexmode = mList2.IndexOf(modetext); |
| | | } |
| | | else if (value["Data1"] == "6") |
| | | {//6---设置风扇模式(1:低风;2:中风;3:高风;) |
| | | Send.dictionary(speeddictionary, "Data2", value["Data2"]); |
| | | string speedtext = ""; |
| | | switch (value["Data2"]) |
| | | { |
| | | case "1": |
| | | { |
| | | speedtext = Language.StringByID(MyInternationalizationString.logiclow); |
| | | //indexspeed = 0; |
| | | } |
| | | break; |
| | | |
| | | case "2": |
| | | { |
| | | speedtext = Language.StringByID(MyInternationalizationString.logicmedium); |
| | | // indexspeed = 1; |
| | | } |
| | | break; |
| | | case "3": |
| | | { |
| | | speedtext = Language.StringByID(MyInternationalizationString.logichigh); |
| | | // indexspeed = 2; |
| | | } |
| | | break; |
| | | |
| | | } |
| | | indexspeed = mList3.IndexOf(speedtext); |
| | | } |
| | | //4-设置加热度数;5-设置制冷、除湿度数;7-设置自动度数 |
| | | else if (value["Data1"] == "4" || value["Data1"] == "5" || value["Data1"] == "7") |
| | | { |
| | | var s = int.Parse(value["Data2"]) / 100; |
| | | indextemperature = mList1.IndexOf(s.ToString() + " " + "℃"); |
| | | Send.dictionary(temperaturedictionary, "Data1", value["Data1"]); |
| | | Send.dictionary(temperaturedictionary, "Data2", value["Data2"]); |
| | | } |
| | | |
| | | } |
| | | } |
| | | } |
| | | ///更新最新空调状态; |
| | | mUIPickerView.setCurrentItems(indextemperature, indexmode, indexspeed); |
| | | ///确认事件 |
| | | openView.clickviewBtn.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | mUIPickerView.setTextColorCenter(ZigbeeColor.Current.LogicBtnSelectedColor, 0); |
| | | mUIPickerView.setTextColorCenter(ZigbeeColor.Current.LogicBtnSelectedColor, 1); |
| | | mUIPickerView.setTextColorCenter(ZigbeeColor.Current.LogicBtnSelectedColor, 2); |
| | | mUIPickerView.setCurrentItems(indextemperature, indexmode, indexspeed); |
| | | pausePickerViewfra.Height = Application.GetRealHeight(0); |
| | | SelectedDeviceStatus = "yes"; |
| | | openView.selectedIconBtn.Visible = true; |
| | | closeView.selectedIconBtn.Visible = false; |
| | | //清除之前数据; |
| | | taskListInfo.Clear(); |
| | | //加载新数据; |
| | | Send.dictionary(temperaturedictionary, "TaskType", "5"); |
| | | Send.dictionary(modedictionary, "TaskType", "5"); |
| | | Send.dictionary(modedictionary, "Data1", "3"); |
| | | Send.dictionary(speeddictionary, "TaskType", "5"); |
| | | Send.dictionary(speeddictionary, "Data1", "6"); |
| | | taskListInfo.Add(temperaturedictionary); |
| | | taskListInfo.Add(modedictionary); |
| | | taskListInfo.Add(speeddictionary); |
| | | |
| | | var temperature = mList1[indextemperature].Split(' ')[0]; |
| | | var modestring = mList2[indexmode].Split(' ')[0]; |
| | | var speedstring = mList3[indexspeed].Split(' ')[0]; |
| | | |
| | | ModeState(modestring, temperaturedictionary, modedictionary); |
| | | var a = int.Parse(temperature) * 100; |
| | | Send.dictionary(temperaturedictionary, "Data2", a.ToString()); |
| | | SpeedState(speedstring, speeddictionary); |
| | | |
| | | }; |
| | | ///取消事件 |
| | | closeView.clickviewBtn.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | mUIPickerView.setTextColorCenter(ZigbeeColor.Current.LogicBtnCancelColor, 0); |
| | | mUIPickerView.setTextColorCenter(ZigbeeColor.Current.LogicBtnCancelColor, 1); |
| | | mUIPickerView.setTextColorCenter(ZigbeeColor.Current.LogicBtnCancelColor, 2); |
| | | mUIPickerView.setCurrentItems(indextemperature, indexmode, indexspeed); |
| | | //清除之前数据; |
| | | taskListInfo.Clear(); |
| | | Send.dictionary(modedictionary, "TaskType", "5"); |
| | | Send.dictionary(modedictionary, "Data1", "3"); |
| | | Send.dictionary(modedictionary, "Data2", "0"); |
| | | //加载新数据; |
| | | taskListInfo.Add(modedictionary); |
| | | pausePickerViewfra.Height = Application.GetRealHeight(600); |
| | | SelectedDeviceStatus = "yes"; |
| | | openView.selectedIconBtn.Visible = false; |
| | | closeView.selectedIconBtn.Visible = true; |
| | | |
| | | }; |
| | | } |
| | | 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; |
| | | if (SelectedDeviceStatus != "") |
| | | { |
| | | if (_if[0] == "condition") |
| | | { //添加条件 |
| | | LogicIfon.AddDeviceconditions(common, deviceConditionsInfo); |
| | | } |
| | | else |
| | | { //添加目标 |
| | | if (SelectedDeviceStatus == "DoorLock") |
| | | {//门锁数据特殊,进行特殊处理; |
| | | LogicIfon.AddDoorLockActions(common, actionsInfo); |
| | | } |
| | | else |
| | | { |
| | | LogicIfon.AddDeviceActions(common, actionsInfo); |
| | | } |
| | | } |
| | | } |
| | | else |
| | | { |
| | | if (!edit) |
| | | { |
| | | var alert = new UserCenter.ShowMsgControl(UserCenter.ShowMsgType.Normal, |
| | | Language.StringByID(MyInternationalizationString.selectdevicestatuscondition), |
| | | Language.StringByID(MyInternationalizationString.confrim)); |
| | | alert.Show(); |
| | | return; |
| | | } |
| | | |
| | | } |
| | | flMain.RemoveFromParent(); |
| | | switch (_if[1]) |
| | | { |
| | | case "logic": |
| | | { |
| | | //自动化 |
| | | var logicCommunalPage = new LogicCommunalPage(); |
| | | UserView.HomePage.Instance.AddChidren(logicCommunalPage); |
| | | UserView.HomePage.Instance.PageIndex += 1; |
| | | logicCommunalPage.Show(() => { }); |
| | | } |
| | | break; |
| | | case "mould": |
| | | { |
| | | //自动化推荐模板 |
| | | var templatePage = new TemplatePage(); |
| | | UserView.HomePage.Instance.AddChidren(templatePage); |
| | | UserView.HomePage.Instance.PageIndex += 1; |
| | | templatePage.Show(); |
| | | } |
| | | break; |
| | | case "lockaction": |
| | | { |
| | | //门锁联动事件 |
| | | var lockLogicCommunalPage = new DoorLockLogic.LockLogicCommunalPage(); |
| | | UserView.HomePage.Instance.AddChidren(lockLogicCommunalPage); |
| | | UserView.HomePage.Instance.PageIndex += 1; |
| | | lockLogicCommunalPage.Show(() => { }); |
| | | } |
| | | break; |
| | | } |
| | | |
| | | |
| | | }; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 空调模式的状态 |
| | | /// </summary> |
| | | /// <param name="modestring"></param> |
| | | /// <param name="temperaturedictionary"></param> |
| | | /// <param name="modedictionary"></param> |
| | | public static void ModeState(string modestring, Dictionary<string, string> temperaturedictionary, Dictionary<string, string> modedictionary) |
| | | { |
| | | |
| | | if (modestring == Language.StringByID(MyInternationalizationString.logiccool)) |
| | | { |
| | | Send.dictionary(modedictionary, "Data2", "3"); |
| | | Send.dictionary(temperaturedictionary, "Data1", "5"); |
| | | } |
| | | else if (modestring == Language.StringByID(MyInternationalizationString.logicheat)) |
| | | { |
| | | |
| | | Send.dictionary(modedictionary, "Data2", "4"); |
| | | Send.dictionary(temperaturedictionary, "Data1", "4"); |
| | | } |
| | | else if (modestring == Language.StringByID(MyInternationalizationString.logicauto)) |
| | | { |
| | | |
| | | Send.dictionary(modedictionary, "Data2", "1"); |
| | | Send.dictionary(temperaturedictionary, "Data1", "7"); |
| | | } |
| | | else if (modestring == Language.StringByID(MyInternationalizationString.logicdry)) |
| | | { |
| | | |
| | | Send.dictionary(modedictionary, "Data2", "8"); |
| | | Send.dictionary(temperaturedictionary, "Data1", "5"); |
| | | } |
| | | else if (modestring == Language.StringByID(MyInternationalizationString.logicfanonly)) |
| | | { |
| | | Send.dictionary(temperaturedictionary, "Data1", "20"); |
| | | Send.dictionary(modedictionary, "Data2", "7"); |
| | | } |
| | | |
| | | } |
| | | /// <summary> |
| | | /// 风速的模式 |
| | | /// </summary> |
| | | /// <param name="speedstring"></param> |
| | | /// <param name="speeddictionary"></param> |
| | | public static void SpeedState(string speedstring, Dictionary<string, string> speeddictionary) |
| | | { |
| | | |
| | | if (speedstring == Language.StringByID(MyInternationalizationString.logiclow)) |
| | | { |
| | | |
| | | Send.dictionary(speeddictionary, "Data2", "1"); |
| | | |
| | | } |
| | | else if (speedstring == Language.StringByID(MyInternationalizationString.logicmedium)) |
| | | { |
| | | |
| | | Send.dictionary(speeddictionary, "Data2", "2"); |
| | | |
| | | } |
| | | else if (speedstring == Language.StringByID(MyInternationalizationString.logichigh)) |
| | | { |
| | | |
| | | Send.dictionary(speeddictionary, "Data2", "3"); |
| | | } |
| | | |
| | | } |
| | | } |
| | | } |