| | |
| | | Common.Logic.LogicDviceList.AddRange(LocalDevice.Current.listAllDevice.ToArray()); |
| | | } |
| | | //读取系统当前时间:时-分 |
| | | int h =int.Parse(DateTime.Now.ToString("hh")); |
| | | int m = int.Parse(DateTime.Now.ToString("mm")); |
| | | //默认一个时间段(开始时间为:系统当前,结束时间为:开始时间+1个时间) |
| | | Dictionary<string, string> timeDictionary = new Dictionary<string, string>(); |
| | | timeDictionary.Add("Type", "5"); |
| | | timeDictionary.Add("IsValid", "1"); |
| | | timeDictionary.Add("StartHour", h.ToString()); |
| | | timeDictionary.Add("StartMin", m.ToString()); |
| | | if (h + 1 == 24) |
| | | { |
| | | //结束时间超出24小时处理方法; |
| | | timeDictionary.Add("StopHour", h.ToString()); |
| | | timeDictionary.Add("StopMin", "59"); |
| | | } |
| | | else |
| | | { |
| | | timeDictionary.Add("StopHour", (h + 1).ToString()); |
| | | timeDictionary.Add("StopMin", m.ToString()); |
| | | } |
| | | //读取系统当前时间:时-分 |
| | | var h = DateTime.Now.ToString("HH"); |
| | | var m = DateTime.Now.ToString("mm"); |
| | | Dictionary<string, string> timeConditionsInfo = new Dictionary<string, string>(); |
| | | timeConditionsInfo.Add("Type", "0"); |
| | | timeConditionsInfo.Add("IsValid", "1"); |
| | | timeConditionsInfo.Add("DateType", "0"); |
| | | timeConditionsInfo.Add("RemindTime", "0"); |
| | | timeConditionsInfo.Add("EnDelay", "0"); |
| | | timeConditionsInfo.Add("DelayTime", "0"); |
| | | timeConditionsInfo.Add("DoorLockOpenDelayTime", "0"); |
| | | timeConditionsInfo.Add("StartHour", h); |
| | | timeConditionsInfo.Add("StartMin", m); |
| | | Dictionary<string, object> actionsInfo = new Dictionary<string, object>(); |
| | | actionsInfo.Add("LinkType", 8); |
| | | actionsInfo.Add("DeviceAddr", doorLock.DeviceAddr); |
| | | actionsInfo.Add("Epoint", doorLock.DeviceEpoint); |
| | | actionsInfo.Add("PassData", "055704010112");//默认门锁常开 |
| | | |
| | | |
| | | //new一个新逻辑对象; |
| | | //新增门锁常开模式自动化入口; |
| | | Common.Logic.CurrentLogic = new Common.Logic(); |
| | | Common.Logic.CurrentLogic.IsEnable = 1;//默认为开 |
| | | Common.Logic.CurrentLogic.LogicType = 2;//标记逻辑类型 |
| | | Common.Logic.CurrentLogic.LogicName = Language.StringByID(MyInternationalizationString.openmode); |
| | | Common.Logic.CurrentLogic.Conditions.Add(timeDictionary);//添加条件 |
| | | Common.Logic.CurrentLogic.Conditions.Add(timeConditionsInfo);//添加条件 |
| | | Common.Logic.CurrentLogic.Actions.Add(actionsInfo);//添加目标 |
| | | var oneLogic = new OneLogic(); |
| | | UserView.HomePage.Instance.AddChidren(oneLogic); |
| | |
| | | private static async void Read(VerticalRefreshLayout logicScrolView, bool no) |
| | | { |
| | | CommonPage.Loading.Start(); |
| | | if (Common.Logic.LogicList.Count == 0) |
| | | try |
| | | { |
| | | var Idlist1 = await Send.GetLogicId(0);// |
| | | var Idlist2 = await Send.GetLogicId(2);//门锁常开模式 |
| | | if (Idlist1.Count != 0) |
| | | if (Common.Logic.LogicList.Count == 0) |
| | | { |
| | | var listlogic1 = await Send.ReadList(Idlist1.Count, 0); |
| | | for (int j = 0; j < listlogic1.Count; j++) |
| | | var Idlist1 = await Send.GetLogicId(0);// |
| | | var Idlist2 = await Send.GetLogicId(2);//门锁常开模式 |
| | | if (Idlist1.Count != 0) |
| | | { |
| | | var logic = listlogic1[j]; |
| | | if (logic.LogicType != 0) |
| | | var listlogic1 = await Send.ReadList(Idlist1.Count, 0); |
| | | for (int j = 0; j < listlogic1.Count; j++) |
| | | { |
| | | continue; |
| | | var logic = listlogic1[j]; |
| | | if (logic.LogicType != 0) |
| | | { |
| | | continue; |
| | | } |
| | | Common.Logic.LogicList.Add(logic); |
| | | } |
| | | Common.Logic.LogicList.Add(logic); |
| | | } |
| | | if (Idlist2.Count != 0) |
| | | { |
| | | var listlogic2 = await Send.ReadList(Idlist2.Count, 2); |
| | | for (int j = 0; j < listlogic2.Count; j++) |
| | | { |
| | | var logic = listlogic2[j]; |
| | | if (logic.LogicType != 2) |
| | | { |
| | | continue; |
| | | } |
| | | Common.Logic.LogicList.Add(logic); |
| | | } |
| | | } |
| | | } |
| | | if (Idlist2.Count != 0) |
| | | { |
| | | var listlogic2 = await Send.ReadList(Idlist2.Count, 2); |
| | | for (int j = 0; j < listlogic2.Count; j++) |
| | | { |
| | | var logic = listlogic2[j]; |
| | | if (logic.LogicType != 2) |
| | | { |
| | | continue; |
| | | } |
| | | Common.Logic.LogicList.Add(logic); |
| | | } |
| | | } |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | var dd = e.Message; |
| | | } |
| | | //自动化 |
| | | Automationview(logicScrolView, no); |
| | |
| | | int i = 1;//局部变量,默认是第一条逻辑; |
| | | foreach (var logic in Common.Logic.LogicList) |
| | | { |
| | | |
| | | |
| | | var fLayout = new FrameLayout |
| | | { |
| | | Height = Application.GetRealHeight(190 + 30), |
| | |
| | | BackgroundColor = ZigbeeColor.Current.LogicBackgroundColor, |
| | | }; |
| | | refresview.AddChidren(fLayout); |
| | | |
| | | |
| | | var logicRowlayout = new RowLayout |
| | | { |
| | | Height = Application.GetRealHeight(190 + 30), |
| | |
| | | logicRowlayout.SetCornerWithSameRadius(Application.GetRealHeight(58), HDLUtils.RectCornerTopLeft); |
| | | i = 2; |
| | | } |
| | | |
| | | |
| | | var logicnameBtn = new Button |
| | | { |
| | | Height = Application.GetRealHeight(58), |
| | |
| | | logic.IsEnable = 0; |
| | | StatusColor(logic, logicRowlayout, 0); |
| | | } |
| | | Send.LogicControlSwitch(logic); |
| | | Send.LogicControlSwitch(logic); |
| | | //Logic.Send.AddModifyLogic(logic); |
| | | }; |
| | | if (logic.IsEnable == 1) |
| | |
| | | TextColor = ZigbeeColor.Current.LogicBtnSaveTextColor, |
| | | }; |
| | | logicRowlayout.AddRightView(edit); |
| | | if (logic.LogicType==2) { |
| | | edit.TextID=MyInternationalizationString.look; |
| | | if (logic.LogicType == 2) |
| | | { |
| | | edit.TextID = MyInternationalizationString.look; |
| | | } |
| | | edit.MouseUpEventHandler += (sender, e) => |
| | | { |
| | |
| | | BackgroundColor = ZigbeeColor.Current.LogicRowLayoutLineColor, |
| | | }; |
| | | fLayout.AddChidren(line); |
| | | |
| | | |
| | | } |
| | | |
| | | } |
| | |
| | | public static void LockAddModifyLogic(int timeVlaue, CommonDevice common) |
| | | { |
| | | //读取系统当前时间:时-分 |
| | | var h = DateTime.Now.ToString("hh"); |
| | | var h = DateTime.Now.ToString("HH"); |
| | | var m = DateTime.Now.ToString("mm"); |
| | | Dictionary<string, string> timeConditionsInfo = new Dictionary<string, string>(); |
| | | timeConditionsInfo.Add("Type", "0"); |
| | |
| | | public static async void LockCloseLogic(CommonDevice common) |
| | | { |
| | | //读取系统当前时间:时-分 |
| | | int h =int.Parse(DateTime.Now.ToString("hh")); |
| | | int h =int.Parse(DateTime.Now.ToString("HH")); |
| | | int m= int.Parse(DateTime.Now.ToString("mm")); |
| | | //转化为多少分钟; |
| | | int s = h * 60 + m; |