ZigbeeApp/GateWay.Droid/Resources/Resource.designer.cs
Diff too large ZigbeeApp/Shared/Phone/Category/Controls/DeviceRow/Base/DevicePmSensorRowControl.cs
ZigbeeApp/Shared/Phone/Device/Logic/SoneLogicList.csold mode 100755 new mode 100644
@@ -49,6 +49,8 @@ { action(Send.CurrentDoorLock.IsDoorLockNormallyMode); } //返回按键清空 UserCenter.DoorLock.DoorLockCommonInfo.LogicAction = null; }; var middle = new FrameLayout @@ -316,7 +318,8 @@ } button1 = new Button } else { fLayout.Height = Application.GetRealHeight(645);//改变高度 modeIconBtn.UnSelectedImagePath = "ZigeeLogic/noMode.png";//改变图标状态 @@ -430,183 +433,6 @@ listLogicFl.BackgroundColor = ZigbeeColor.Current.LogicBlankBackgroundColor; } /// <summary> /// 常开模式开关切换图标界面 /// </summary> public async void ModeView() { if (Send.CurrentDoorLock.IsDoorLockNormallyMode) { /// 查找是否存在时效性自动化;有的话就返回自动化对象; var logic = await SkipView.GetLogicIfon(); fLayout.Height = Application.GetRealHeight(780);//改变高度 modeIconBtn.UnSelectedImagePath = "ZigeeLogic/openMode.png";//改变图标状态 modeFl.Y = modeIconBtn.Bottom + Application.GetRealHeight(64); modeFl.X = Application.GetRealWidth(0); modeFl.Height = Application.GetRealHeight(127 + 199); modeFl.Width = Application.GetRealHeight(1080); modeFl.BackgroundColor = ZigbeeColor.Current.LogicMiddleBackgroundColor; modeFl.SetCornerWithSameRadius(Application.GetRealHeight(0), HDLUtils.RectCornerBottomLeft); ///关闭时效性自动化 button1.Y = Application.GetRealHeight(0); button1.X = Application.GetRealWidth(86); button1.Width = Application.GetRealWidth(907); button1.Height = Application.GetRealHeight(127); button1.Radius = (uint)Application.GetRealHeight(58); button1.BackgroundColor = ZigbeeColor.Current.LogicBtnSaveBackgroundColor; button1.TextAlignment = TextAlignment.Center; button1.TextColor = ZigbeeColor.Current.LogicBtnSaveTextColor; button1.TextID = MyInternationalizationString.closeUp; button1.TextSize = 16; button1.MouseUpEventHandler = async (sender, e) => { var result = await UserCenter.DoorLock.DoorLockCommonInfo.DelNormallyOpenMode(Send.CurrentDoorLock); if (result) { if (logic != null) { ///有可能只有常开模式,没有时效性自动化 ///没有判断的话,逻辑会为空,抛出异常; Send.DelLogic(logic.LogicId); } Send.CurrentDoorLock.IsDoorLockNormallyMode = false; ModeView(); } else { LogicView.TipView.ShowFlashTip(Language.StringByID(MyInternationalizationString.closeFailed)); } }; if (logic != null) { ///显示失效设置时间文本控件 button2.Y = Application.GetRealHeight(127 + 69); button2.X = Application.GetRealWidth(125); button2.Width = Application.GetRealWidth(634 + 200); button2.Height = Application.GetRealHeight(60); button2.UnSelectedImagePath = "ZigeeLogic/1234.png"; button2.TextSize = 15; button2.TextColor = ZigbeeColor.Current.LogicTextBlackColor; ///有时效性常开才显示时间条件文本 } else { button2.Width = Application.GetRealWidth(0); button2.Height = Application.GetRealHeight(0); } ///时效性常开只有一个条件; try { var y = DateTime.Now.Year.ToString();//那一年 var m = DateTime.Now.Month.ToString();//那一月 var d = DateTime.Now.ToString("dd");//那一天 var h = int.Parse(DateTime.Now.ToString("HH"));//当前系统时间 var timeInt = int.Parse(logic.Conditions[0]["DoorLockOpenDelayTime"]); int dayInt = (h + timeInt) / 24;//算出几天后执行 int hour = (h + timeInt) % 24;//算出几天后那个时间执行 int days = int.Parse(d) + dayInt; string text1 = Language.StringByID(MyInternationalizationString.timeSensitive); string text2 = Language.StringByID(MyInternationalizationString.yearSone); string text3 = Language.StringByID(MyInternationalizationString.monthSone); string text4 = Language.StringByID(MyInternationalizationString.numberSone); string text5 = Language.StringByID(MyInternationalizationString.executeSone); button2.Text = text1 + y + text2 + m + text3 + days.ToString() + text4 + hour.ToString() + text5; } catch { } } else { fLayout.Height = Application.GetRealHeight(645);//改变高度 modeIconBtn.UnSelectedImagePath = "ZigeeLogic/noMode.png";//改变图标状态 modeFl.Y = modeIconBtn.Bottom + Application.GetRealHeight(92); modeFl.X = Application.GetRealWidth(58); modeFl.Height = Application.GetRealHeight(138); modeFl.Width = Application.GetRealHeight(1022); modeFl.BackgroundColor = ZigbeeColor.Current.LogicBlankBackgroundColor; modeFl.SetCornerWithSameRadius(Application.GetRealHeight(58), HDLUtils.RectCornerBottomLeft); ///时效性常开设置显示文本控件 button1.Y = Application.GetRealHeight(40); button1.X = Application.GetRealWidth(58); button1.Width = Application.GetRealWidth(600); button1.Height = Application.GetRealHeight(60); button1.Radius = (uint)Application.GetRealHeight(0); button1.BackgroundColor = ZigbeeColor.Current.LogicBlankBackgroundColor; button1.TextAlignment = TextAlignment.CenterLeft; button1.TextColor = ZigbeeColor.Current.LogicTextBlackColor; // Text = "时效性常开设置", button1.TextID = MyInternationalizationString.timeSetSone; button1.TextSize = 15; ///下一级菜单图标控件 button2.Width = Application.GetMinRealAverage(104); button2.Height = Application.GetMinRealAverage(104); button2.X = Application.GetRealWidth(861); button2.Y = Application.GetRealHeight(17); button2.UnSelectedImagePath = "ZigeeLogic/nextIconSone.png"; button2.TextSize = 15; button2.TextColor = ZigbeeColor.Current.LogicTextBlackColor; button2.MouseUpEventHandler = (sender, e) => { LogicView.TipView.ShowConfrimTip(() => {///再次确认 LogicView.TipView.ShowInputTip(true, async (str) => {///确认发送命令 try { ///xm var result = await UserCenter.DoorLock.DoorLockCommonInfo.SetNormallyOpenModeFuncAsync(Send.CurrentDoorLock); if (!result) { LogicView.TipView.ShowFlashTip(Language.StringByID(MyInternationalizationString.openFailed)); return; } else { ///因为有常开模式下才可以创建失效逻辑; SkipView.GetLogicAll();//删除之前所有失效逻辑 var addResult = await SkipView.LockAddModifyLogic(int.Parse(str), Send.CurrentDoorLock);//添加一条失效逻辑 if (!addResult) { ///可欣说如果常开模式开,创建自动化失败,那么将要发一条常开模式关闭命令; UserCenter.DoorLock.DoorLockCommonInfo.DelNormallyOpenMode(Send.CurrentDoorLock); ///提示失败 LogicView.TipView.ShowFlashTip(Language.StringByID(MyInternationalizationString.addFailed)); return; } Send.CurrentDoorLock.IsDoorLockNormallyMode = true; ModeView(); //添加App开启常开模式的历史记录 UserCenter.HdlDeviceDoorLockLogic.Current.AddDoorHistoryLog(Send.CurrentDoorLock, 9001, string.Empty); } } catch { } }); }); }; } listLogicFl.Y = fLayout.Bottom; listLogicFl.X = Application.GetRealWidth(58); listLogicFl.Height = Application.GetRealHeight(Method.H - 184) - fLayout.Height; listLogicFl.Width = Application.GetRealWidth(1022); listLogicFl.BackgroundColor = ZigbeeColor.Current.LogicBlankBackgroundColor; } /// <summary> /// 读取自动化列表数据; /// </summary> /// <param name="yes"></param> @@ -648,9 +474,6 @@ } } RowLayout selectedRow = new RowLayout() { Tag = "0" };//记录左滑状态 int a = 1; /// <summary> /// 记录左滑状态 /// </summary> ZigbeeApp/Shared/Phone/MainPage/ControlForm/DevicePmSensorDetailCardForm.cs
ZigbeeApp/Shared/Phone/UserCenter/Device/Panel/PanelFangyueFreshAirTargetsForm.cs
@@ -786,6 +786,11 @@ break; case 4: //PM2.5 if (device.Type == DeviceType.PMSensor) { targetList.Add(device); oldTargetList.Add(device); } break; } @@ -902,6 +907,7 @@ break; case 4: //PM2.5 removeDevice.BindCluster = 1066; break; } removeDevice.BindMacAddr = bd.DeviceAddr; @@ -1087,6 +1093,7 @@ break; case 4: //PM2.5 addBindInfo.BindCluster = 1066; break; } addBindInfo.BindType = 0; @@ -1348,6 +1355,17 @@ } break; case 4: foreach (var de in room.ListDevice) { var device = LocalDevice.Current.GetDevice(de); if (device != null) { if (device.Type == DeviceType.PMSensor) { roomIncludeMatchDevice.Add(device); } } } break; } @@ -1550,6 +1568,24 @@ } break; case 4: foreach (var r in supportRoomList) { if (r.ListDevice.Count == 0) { continue; } foreach (var deviceKeys in r.ListDevice) { var device = LocalDevice.Current.GetDevice(deviceKeys); if (device != null) { if (device.Type == DeviceType.PMSensor) { currentPanelBindSupportDeviceListTemp.Add(device); } } } } break; } return currentPanelBindSupportDeviceListTemp; @@ -1603,6 +1639,17 @@ } break; case 4: foreach (var deviceKeys in curRoom.ListDevice) { var device = LocalDevice.Current.GetDevice(deviceKeys); if (device != null) { if (device.Type == DeviceType.PMSensor) { curRoomDeviceListTemp.Add(device); } } } break; } return curRoomDeviceListTemp; ZigbeeApp/Shared/Phone/UserCenter/DoorLock/DoorLockCommonInfo.cs
@@ -151,11 +151,6 @@ public static void NormallyOpenModeValue(ZigBee.Device.DoorLock doorLock, bool value) { doorLock.IsDoorLockNormallyMode = value; if (LogicAction != null) { LogicAction(value); } } /// <summary> @@ -196,6 +191,10 @@ { //上报“常开模式”已被取消,app默认了“常开模式”被取消 DoorLockCommonInfo.NormallyOpenModeValue(doorLock, false); if (LogicAction != null) { LogicAction(false); } if (haveLogic) { //此处删除温居城的常开模式特殊逻辑 @@ -237,6 +236,10 @@ }); action?.Invoke(doorLock.IsDoorLockNormallyMode); action = null; if (LogicAction != null) { LogicAction(false); } return; } if (result.defaultControlResponseData.status != 0) @@ -248,8 +251,13 @@ NormallyOpenModeValue(doorLock, false); CommonPage.Loading.Hide(); }); action?.Invoke(doorLock.IsDoorLockNormallyMode); action = null; if (LogicAction != null) { LogicAction(false); } return; } else @@ -262,6 +270,10 @@ ShowTipMsg(msg0); NormallyOpenModeValue(doorLock, true); CommonPage.Loading.Hide(); if (LogicAction != null) { LogicAction(true); } }); } } @@ -279,6 +291,10 @@ if (doorLockMessType == DoorLockMessType.DeviceReport || doorLockMessType == DoorLockMessType.ServicePush) { NormallyOpenModeValue(doorLock, false); if (LogicAction != null) { LogicAction(false); } if (haveLogic) { //此处删除温居城的常开模式特殊逻辑 @@ -299,6 +315,10 @@ }); action?.Invoke(doorLock.IsDoorLockNormallyMode); action = null; if (LogicAction != null) { LogicAction(false); } return; } if (result.defaultControlResponseData.status != 0) @@ -311,6 +331,10 @@ }); action?.Invoke(doorLock.IsDoorLockNormallyMode); action = null; if (LogicAction != null) { LogicAction(false); } return; } else @@ -331,6 +355,10 @@ ShowTipMsg(msg2); CommonPage.Loading.Hide(); }); if (LogicAction != null) { LogicAction(false); } } } action?.Invoke(doorLock.IsDoorLockNormallyMode); ZigbeeApp/Shared/Phone/UserCenter/DoorLock/UserDoorLockPage.csold mode 100755 new mode 100644
@@ -615,6 +615,10 @@ { if (canOpenNormallyMode) { //Application.RunOnMainThread(() => //{ // NomallyOpenModeInvalidDialog(true); //}); Application.RunOnMainThread(() => { Action<bool> action = (obj) => @@ -856,17 +860,14 @@ //开锁事件 EventHandler<MouseEventArgs> hander1 = async (sender, e) => { canShowDialog = true; if (doorLock.IsDoorLockNormallyMode) { if (canOpenNormallyMode) { Application.RunOnMainThread(() => { Action<bool> action = (obj) => { UpdateNomallyOpenStatus(); }; DoorLockCommonInfo.NomallyOpenModeInvalidDialog(doorLock, DoorLockCommonInfo.DoorLockMessType.AppOperate, haveLogicNormallyOpenMode, action); NomallyOpenModeInvalidDialog(); }); } else @@ -889,17 +890,14 @@ //关锁事件 EventHandler<MouseEventArgs> hander2 = (sender, e) => { canShowDialog = true; if (canOpenNormallyMode) { if (doorLock.IsDoorLockNormallyMode) { Application.RunOnMainThread(() => { Action<bool> action = (obj) => { UpdateNomallyOpenStatus(); }; DoorLockCommonInfo.NomallyOpenModeInvalidDialog(doorLock, DoorLockCommonInfo.DoorLockMessType.AppOperate, haveLogicNormallyOpenMode, action); NomallyOpenModeInvalidDialog(); }); } } @@ -1128,15 +1126,11 @@ { UpdateNomallyOpenStatus(); }); //删除已经失效的“常开模式”的逻辑 if (haveLogicNormallyOpenMode) { var resTemp = await Shared.Phone.Device.Logic.SkipView.Exist(3); //if (resTemp == 3) //{ // string msg0 = Language.StringByID(R.MyInternationalizationString.CancelLogicNormallyModeFailed); // this.ShowTipMsg(msg0); //} //此处删除温居城的常开模式特殊逻辑 var resTemp1 = await Shared.Phone.Device.Logic.SkipView.GetLogicAll(); } } else @@ -1156,16 +1150,11 @@ { //上报“常开模式”已被取消 Application.RunOnMainThread(() => { CommonPage.Loading.Start(""); }); //先删除已失效的“常开模式”的逻辑 if (haveLogicNormallyOpenMode) { var resTemp = await Shared.Phone.Device.Logic.SkipView.Exist(3); //if (resTemp == 3) //{ // string msg0 = Language.StringByID(R.MyInternationalizationString.CancelLogicNormallyModeFailed2); // this.ShowTipMsg(msg0); // return; //} //此处删除温居城的常开模式特殊逻辑 var resTemp1 = await Shared.Phone.Device.Logic.SkipView.GetLogicAll(); } //app重新开启“常开模式” var result = await doorLock.SetNormallyOpenModeFuncAsync(true); @@ -1233,15 +1222,10 @@ UpdateNomallyOpenStatus(); }); //删除已经失效的“常开模式”的逻辑 if (haveLogicNormallyOpenMode) { var resTemp = await Shared.Phone.Device.Logic.SkipView.Exist(3); //if (resTemp == 3) //{ // string msg0 = Language.StringByID(R.MyInternationalizationString.CancelLogicNormallyModeFailed); // this.ShowTipMsg(msg0); //} //此处删除温居城的常开模式特殊逻辑 var resTemp1 = await Shared.Phone.Device.Logic.SkipView.GetLogicAll(); } } else @@ -1272,21 +1256,11 @@ { UpdateNomallyOpenStatus(); }); //删除设置常开模式创建的逻辑 if (haveLogicNormallyOpenMode) { var resTemp = await Shared.Phone.Device.Logic.SkipView.Exist(3); //因为目前机制问题,逻辑经常失败,所以不提示,后期机制要改,重新做一个这个界面 //if (resTemp == 3) //{ // string msg0 = Language.StringByID(R.MyInternationalizationString.CancelLogicNormallyModeFailed); // this.ShowTipMsg(msg0); //} //else if (resTemp == 2) //{ // string msg2 = Language.StringByID(R.MyInternationalizationString.CloseNormallyOpenModeSuccess); // this.ShowTipMsg(msg2); //} //此处删除温居城的常开模式特殊逻辑 var resTemp1 = await Shared.Phone.Device.Logic.SkipView.GetLogicAll(); } string msg2 = Language.StringByID(R.MyInternationalizationString.CloseNormallyOpenModeSuccess); this.ShowTipMsg(msg2); ZigbeeApp/Shared/Phone/ZigBee/Device/CommonDevice.cs
@@ -304,6 +304,21 @@ } /// <summary> /// 由设备路径恢复设备对象 /// </summary> /// <returns>The device by file path.</returns> /// <param name="deviceFilePath">Device file path.</param> public static CommonDevice CommonDeviceByFilePath(string deviceFilePath) { var v = deviceFilePath.Split('_'); if (v.Length < 3) { return null; } return CommonDeviceByByteString(v[1], System.Text.Encoding.UTF8.GetString(Shared.Common.Global.ReadFileByHomeId(deviceFilePath))); } /// <summary> /// 保存设备 /// </summary> public void Save() ZigbeeApp/Shared/Shared.projitems
@@ -29,7 +29,6 @@ <Compile Include="$(MSBuildThisFileDirectory)Phone\Category\Controls\DeviceRow\DeviceCurtainRowControl.cs" /> <Compile Include="$(MSBuildThisFileDirectory)Phone\Category\Controls\DeviceRow\DeviceDoorLockRowControl.cs" /> <Compile Include="$(MSBuildThisFileDirectory)Phone\Category\Controls\DeviceRow\DeviceFreshAirRowControl.cs" /> <Compile Include="$(MSBuildThisFileDirectory)Phone\Category\Controls\DeviceRow\DevicePmSensorRowControl.cs" /> <Compile Include="$(MSBuildThisFileDirectory)Phone\Category\Controls\DeviceRow\DeviceRelayRowControl.cs" /> <Compile Include="$(MSBuildThisFileDirectory)Phone\Category\Controls\DeviceRow\DeviceSensorRowControl.cs" /> <Compile Include="$(MSBuildThisFileDirectory)Phone\Category\Controls\DeviceRow\DeviceTemperatureRowControl.cs" /> @@ -97,7 +96,6 @@ <Compile Include="$(MSBuildThisFileDirectory)Phone\MainPage\ControlForm\DeviceColorLightDetailCardForm.cs" /> <Compile Include="$(MSBuildThisFileDirectory)Phone\MainPage\ControlForm\DeviceCurtainDetailCardForm.cs" /> <Compile Include="$(MSBuildThisFileDirectory)Phone\MainPage\ControlForm\DeviceFreshAirDetailCardForm.cs" /> <Compile Include="$(MSBuildThisFileDirectory)Phone\MainPage\ControlForm\DevicePmSensorDetailCardForm.cs" /> <Compile Include="$(MSBuildThisFileDirectory)Phone\MainPage\ControlForm\DeviceRelayDetailCardForm.cs" /> <Compile Include="$(MSBuildThisFileDirectory)Phone\MainPage\Controls\DeviceCard\DeviceFreshAirCardControl.cs" /> <Compile Include="$(MSBuildThisFileDirectory)Phone\MainPage\Controls\DeviceFunctionUnallocatedControl.cs" /> @@ -478,7 +476,7 @@ <Compile Include="$(MSBuildThisFileDirectory)Phone\ZigBee\Device\ZbGatewayData.cs" /> <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\CommonBase\Logic\HdlSafeguardLogic.cs" /> <Compile Include="$(MSBuildThisFileDirectory)Phone\UserCenter\CommonBase\Logic\HdlAlarmsLogic.cs" /> <Compile Include="$(MSBuildThisFileDirectory)Phone\Category\Controls\DeviceRow\DevicePmSensorRowControl.cs" /> <Compile Include="$(MSBuildThisFileDirectory)Phone\Category\Controls\DeviceRow\Base\DevicePmSensorRowControl.cs" /> <Compile Include="$(MSBuildThisFileDirectory)Phone\MainPage\ControlForm\DevicePmSensorDetailCardForm.cs" /> </ItemGroup> <ItemGroup>