ZigbeeApp/.vs/GateWay/xs/UserPrefs.xml
@@ -2,17 +2,18 @@ <MonoDevelop.Ide.ItemProperties.GateWay.Droid PreferredExecutionTarget="Android.M7BBB18B19152766" /> <MonoDevelop.Ide.ItemProperties.GateWay.Ios automaticSigning="False" PreferredExecutionTarget="MonoDevelop.IPhone.IPhoneDeviceTarget.8c0bdb303f25d82c2a42fb8bfca449bfaca00260" /> <MonoDevelop.Ide.ItemProperties.ShardLib PreferredExecutionTarget="Android.M7BBB18B19152766" /> <MonoDevelop.Ide.Workbench ActiveDocument="Shared/Phone/Device/Light/PlugControl.cs"> <MonoDevelop.Ide.Workbench ActiveDocument="Shared/Phone/UserView/UserPage.cs"> <Files> <File FileName="Shared/R.cs" Line="988" Column="13" /> <File FileName="Shared/R.cs" Line="1366" Column="1" /> <File FileName="GateWay.Droid/Assets/Language.ini" /> <File FileName="Shared/Phone/UserView/UserHomeView.cs" Line="1207" Column="103" /> <File FileName="Shared/Phone/Device/Category/Category.cs" /> <File FileName="Shared/Phone/Device/CommonForm/DeviceDetailInfo.cs" /> <File FileName="Shared/Common/Room.cs" /> <File FileName="Shared/Phone/Device/Light/OnOffControl.cs" Line="566" Column="10" /> <File FileName="Shared/Phone/Device/Light/LightControl.cs" Line="471" Column="19" /> <File FileName="Shared/Phone/Device/Light/PlugControl.cs" Line="423" Column="52" /> <File FileName="Shared/Phone/UserView/UserHomeView.cs" /> <File FileName="Shared/Phone/Device/Category/Category.cs" Line="1835" Column="16" /> <File FileName="Shared/Phone/Device/CommonForm/SceneCategoryView.cs" Line="434" Column="37" /> <File FileName="Shared/Phone/Device/CommonForm/SceneMainView.cs" Line="293" Column="22" /> <File FileName="Shared/Phone/Device/CommonForm/SelectZone.cs" Line="23" Column="34" /> <File FileName="Shared/Phone/Device/CommonForm/RoomView.cs" Line="86" Column="29" /> <File FileName="Shared/Phone/Device/Room/EditRoom.cs" Line="110" Column="29" /> <File FileName="Shared/Phone/UserView/UserPage.cs" Line="1" Column="1" /> </Files> <Pads> <Pad Id="ProjectPad"> @@ -34,13 +35,11 @@ <Node name="Category" expanded="True" /> <Node name="CommonForm" expanded="True" /> <Node name="Curtain" expanded="True" /> <Node name="Light" expanded="True"> <Node name="PlugControl.cs" selected="True" /> </Node> <Node name="Light" expanded="True" /> <Node name="Room" expanded="True" /> </Node> <Node name="UserView" expanded="True" /> <Node name="ZigBee" expanded="True"> <Node name="Device" expanded="True" /> <Node name="UserView" expanded="True"> <Node name="UserPage.cs" selected="True" /> </Node> </Node> </Node> ZigbeeApp/.vs/GateWay/xs/sqlite3/storage.ideBinary files differ
ZigbeeApp/Shared/Common/Room.cs
@@ -337,13 +337,13 @@ } Config.Instance.Home.InitFloor(); RefreshRoomListView(); CurrentRoom.RefreshRoomListView(); } /// <summary> /// 刷新房间视图列表 /// </summary> public static void RefreshRoomListView() public void RefreshRoomListView() { Application.RunOnMainThread(() => { @@ -494,6 +494,9 @@ Global.DeleteFilebyHomeId(roomFilePath); Lists.Remove(room); HdlAutoBackupLogic.DeleteFile(roomFilePath); CurrentRoom.RefreshRoomListView(); return true; } @@ -1229,15 +1232,10 @@ /// <summary> /// 是否是收藏设备 /// </summary> /// <param name="room"></param> /// <param name="filePath"></param> /// <returns></returns> public bool IsCollectInRoom(Room room,string filePath) public bool IsCollectInRoom(string filePath) { if(room.IsLove) { return true; } if (GetLoveRoom().DeviceUIFilePathList.Find((obj) => obj == filePath) == null) { return false; ZigbeeApp/Shared/Phone/Device/AC/ACControl.cs
@@ -413,8 +413,7 @@ } } var de = Shared.Common.Room.LoveRoomDeviceUIFilePathList.Find((obj) => obj == device.FileName); if (de == null) if (Common.Room.CurrentRoom.IsCollectInRoom(device.FileName)==false) { collectionBtn.IsSelected = false; } ZigbeeApp/Shared/Phone/Device/Category/Category.cs
@@ -1780,18 +1780,14 @@ /// <param name="sameTypeList"></param> /// <param name="devListScrolView"></param> /// <param name="deviceRow"></param> private void ReFreshDeviceAction(DeviceUI deviceUI,Common.Room curRoom,List<DeviceUI> sameTypeList,VerticalScrolViewLayout devListScrolView,CategoryFunctionRow deviceRow) private void ReFreshDeviceAction(DeviceUI deviceUI, Common.Room curRoom, List<DeviceUI> sameTypeList, VerticalScrolViewLayout devListScrolView, CategoryFunctionRow deviceRow) { if (curRoom.Id != Common.Room.CurrentRoom.Id) if (Common.Room.CurrentRoom.IsLove) { if(Common.Room.CurrentRoom.IsLove) deviceRow.SetDeviceIcon(deviceUI.IconPath, deviceUI.OnlineIconPath); deviceRow.SetTitle(deviceUI.CommonDevice.DeviceEpointName); if (Common.Room.CurrentRoom.IsCollectInRoom(deviceUI.FileName) == false) { deviceRow.SetDeviceIcon(deviceUI.IconPath, deviceUI.OnlineIconPath); deviceRow.SetTitle(deviceUI.CommonDevice.DeviceEpointName); } else { Shared.Common.Room.CurrentRoom.DeleteDevice(deviceUI.FileName); devListScrolView.RemoveViewByTag(deviceUI); sameTypeList.Remove(deviceUI); if (sameTypeList.Count == 0) @@ -1802,8 +1798,21 @@ } else { deviceRow.SetDeviceIcon(deviceUI.IconPath, deviceUI.OnlineIconPath); deviceRow.SetTitle(deviceUI.CommonDevice.DeviceEpointName); if (curRoom.Id != Common.Room.CurrentRoom.Id) { Shared.Common.Room.CurrentRoom.DeleteDevice(deviceUI.FileName); devListScrolView.RemoveViewByTag(deviceUI); sameTypeList.Remove(deviceUI); if (sameTypeList.Count == 0) { RefreshFunction(Common.Room.CurrentRoom); } } else { deviceRow.SetDeviceIcon(deviceUI.IconPath, deviceUI.OnlineIconPath); deviceRow.SetTitle(deviceUI.CommonDevice.DeviceEpointName); } } } @@ -1816,16 +1825,12 @@ /// <param name="deviceRow"></param> private void ReFreshDeviceActionForWin(DeviceUI deviceUI, Common.Room curRoom, List<DeviceUI> sameTypeList, VerticalScrolViewLayout devListScrolView, CategoryFunctionForWinRow deviceRow) { if (curRoom.Id != Common.Room.CurrentRoom.Id) if (Common.Room.CurrentRoom.IsLove) { if (Common.Room.CurrentRoom.IsLove) deviceRow.SetDeviceIcon(deviceUI.IconPath, deviceUI.OnlineIconPath); deviceRow.SetTitle(deviceUI.CommonDevice.DeviceEpointName); if (Common.Room.CurrentRoom.IsCollectInRoom(deviceUI.FileName) == false) { deviceRow.SetDeviceIcon(deviceUI.IconPath, deviceUI.OnlineIconPath); deviceRow.SetTitle(deviceUI.CommonDevice.DeviceEpointName); } else { Shared.Common.Room.CurrentRoom.DeleteDevice(deviceUI.FileName); devListScrolView.RemoveViewByTag(deviceUI); sameTypeList.Remove(deviceUI); if (sameTypeList.Count == 0) @@ -1836,8 +1841,21 @@ } else { deviceRow.SetDeviceIcon(deviceUI.IconPath, deviceUI.OnlineIconPath); deviceRow.SetTitle(deviceUI.CommonDevice.DeviceEpointName); if (curRoom.Id != Common.Room.CurrentRoom.Id) { Shared.Common.Room.CurrentRoom.DeleteDevice(deviceUI.FileName); devListScrolView.RemoveViewByTag(deviceUI); sameTypeList.Remove(deviceUI); if (sameTypeList.Count == 0) { RefreshFunction(Common.Room.CurrentRoom); } } else { deviceRow.SetDeviceIcon(deviceUI.IconPath, deviceUI.OnlineIconPath); deviceRow.SetTitle(deviceUI.CommonDevice.DeviceEpointName); } } } ZigbeeApp/Shared/Phone/Device/Category/SelectFloor.cs
@@ -134,7 +134,7 @@ { Config.Instance.Home.CurrentFloorId = (sender as CommonForm.LeftIconButtonRow).Tag.ToString(); Config.Instance.Home.Save(); Common.Room.RefreshRoomListView(); Common.Room.CurrentRoom.RefreshRoomListView(); } RemoveView(); FloorAction?.Invoke((sender as CommonForm.LeftIconButtonRow).Tag.ToString()); ZigbeeApp/Shared/Phone/Device/CommonForm/DeviceDetailInfo.cs
@@ -76,7 +76,7 @@ AddTop(); AddBodyView(device); AddBodyView(device,room); } @@ -102,7 +102,7 @@ /// <summary> /// AddBodyView /// </summary> public void AddBodyView(DeviceUI device) public void AddBodyView(DeviceUI device, Common.Room room) { bodyFrameLayout = new FrameLayout() { @@ -182,32 +182,65 @@ }; infoFL.AddChidren(tipBtn); var nameRow = new DeviceInfoEditRow(170); var infoScrolView = new VerticalScrolViewLayout { Y = Application.GetRealHeight(170-12), Height = Application.GetRealHeight(600), ScrollEnabled = false, VerticalScrollBarEnabled = false }; infoFL.AddChidren(infoScrolView); var nameFL = new FrameLayout { Height = Application.GetRealHeight(127 + 12) }; infoScrolView.AddChidren(nameFL); var nameRow = new DeviceInfoEditRow(12); nameRow.Init(); nameRow.SetTipTitle($"{Language.StringByID(R.MyInternationalizationString.FunctionName)} : "); nameRow.SetTitle(string.IsNullOrEmpty(device.CommonDevice.DeviceEpointName) ? Language.StringByID(R.MyInternationalizationString.UNKnown) : device.CommonDevice.DeviceEpointName); infoFL.AddChidren(nameRow); nameFL.AddChidren(nameRow); var zoneRow = new DeviceInfoRow(308); var zoneFL = new FrameLayout { Height = Application.GetRealHeight(127 + 12) }; if (room != null && room.IsLove == false) { infoScrolView.AddChidren(zoneFL); } var zoneRow = new DeviceInfoRow(12); zoneRow.Init(); zoneRow.SetTipTitle($"{Language.StringByID(R.MyInternationalizationString.BelongZone)} : "); zoneRow.SetTitle(roomName); infoFL.AddChidren(zoneRow); zoneFL.AddChidren(zoneRow); var modelRow = new DeviceInfoRow(446); var modelFL = new FrameLayout { Height = Application.GetRealHeight(127 + 12) }; infoScrolView.AddChidren(modelFL); var modelRow = new DeviceInfoRow(12); modelRow.Init(); modelRow.SetTipTitle($"{Language.StringByID(R.MyInternationalizationString.BelongModel)} : "); modelRow.SetTitle(string.IsNullOrEmpty(device.CommonDevice.DeviceName) ? Language.StringByID(R.MyInternationalizationString.UNKnown) : device.CommonDevice.DeviceName); modelRow.HideNext(true); infoFL.AddChidren(modelRow); modelFL.AddChidren(modelRow); if (device.CommonDevice.Type==ZigBee.Device.DeviceType.OnOffOutput) if (device.CommonDevice.Type==DeviceType.OnOffOutput || device.CommonDevice.Type==DeviceType.AirSwitch) { functionTypeRow = new DeviceInfoRow(585); var typeFL = new FrameLayout { Height = Application.GetRealHeight(127 + 12) }; infoScrolView.AddChidren(typeFL); functionTypeRow = new DeviceInfoRow(12); functionTypeRow.Init(); functionTypeRow.SetTipTitle($"{Language.StringByID(R.MyInternationalizationString.FunctionType)} : "); //functionTypeRow.SetTitle(device.CommonDevice.DfunctionType); infoFL.AddChidren(functionTypeRow); typeFL.AddChidren(functionTypeRow); var dfunctionType = device.CommonDevice.DfunctionType; //功能类型的翻译名字 @@ -277,21 +310,8 @@ } }; }; } //sharedRow = new DeviceInfoRow(723); //sharedRow.Init(); //sharedRow.SetTipTitle($"{Language.StringByID(R.MyInternationalizationString.Share)} : "); //sharedRow.SetTitle("2人"); //infoFL.AddChidren(sharedRow); } else { //sharedRow = new DeviceInfoRow(585); //sharedRow.Init(); //sharedRow.SetTipTitle($"{Language.StringByID(R.MyInternationalizationString.Share)} : "); //sharedRow.SetTitle("2人"); //infoFL.AddChidren(sharedRow); } var confirmBtn = new CommonForm.CompleteButton(962, 900, 127); confirmBtn.SetTitle(R.MyInternationalizationString.Save); @@ -335,7 +355,7 @@ CommonFormResouce.ShowTip(Language.StringByID(R.MyInternationalizationString.FailedPleaseTryAgain)); return; } if (device.CommonDevice.Type == ZigBee.Device.DeviceType.OnOffOutput) if (device.CommonDevice.Type == DeviceType.OnOffOutput || device.CommonDevice.Type == DeviceType.AirSwitch) { if (device.IsCustomizeImage == false) { ZigbeeApp/Shared/Phone/Device/CommonForm/RoomView.cs
@@ -83,7 +83,7 @@ //是否为当前设备 if ((temperDevice?.DeviceEpoint != common.DeviceEpoint || temperDevice?.DeviceAddr != common.DeviceAddr) && (humidDevice?.DeviceEpoint != common.DeviceEpoint || humidDevice?.DeviceAddr != common.DeviceAddr) ) { //return; return; } //if (common.Type == DeviceType.TemperatureSensor) @@ -308,6 +308,8 @@ var editRoom = new Device.Room.EditRoom(); HomePage.Instance.AddChidren(editRoom); HomePage.Instance.PageIndex += 1; editRoom.temperDevice = this.temperDevice; editRoom.humidDevice = this.humidDevice; editRoom.Show(room); editRoom.action += () => { ZigbeeApp/Shared/Phone/Device/CommonForm/SceneMainView.cs
@@ -279,7 +279,7 @@ { return; } CommonPage.Instance.ShowErrorInfoAlert(R.MyInternationalizationString.ControlSceneFail); CommonFormResouce.ShowTip(Language.StringByID(R.MyInternationalizationString.ControlSceneFail)); } scene.RemainTime = scene.SceneDelayTime; ZigbeeApp/Shared/Phone/Device/Curtain/RollerShadeControl.cs
@@ -298,8 +298,7 @@ } } var de = Shared.Common.Room.LoveRoomDeviceUIFilePathList.Find((obj) => obj == device.FileName); if (de == null) if (Common.Room.CurrentRoom.IsCollectInRoom(device.FileName) == false) { collectionBtn.IsSelected = false; } ZigbeeApp/Shared/Phone/Device/Light/AirSwitchControl.cs
@@ -8,7 +8,7 @@ namespace Shared.Phone.Device.Light { /// <summary> /// 灯光控制界面 /// 开关 /// </summary> public class AirSwitchControl : FrameLayout, ZigBee.Common.IStatus { @@ -62,12 +62,19 @@ private FrameLayout bodyFrameLayout; private Button StatuBtn; /// <summary> /// OnBtn /// </summary> private Button OnBtn; /// <summary> /// OffBtn /// </summary> private Button OffBtn; /// <summary> /// IsDrawerLockMode /// </summary> public bool IsDrawerLockMode; #endregion #region ◆ 接口__________________________ @@ -129,7 +136,7 @@ { if (common.DeviceStatusReport.CluterID == 6) { var light = deviceUI.CommonDevice as ZigBee.Device.AirSwitch; var light = deviceUI.CommonDevice as AirSwitch; light.DeviceStatusReport = common.DeviceStatusReport; //记录、更新状态 if (light.DeviceStatusReport.AttriBute == null || light.DeviceStatusReport.AttriBute.Count == 0) @@ -137,8 +144,22 @@ return; } light.OnOffStatus = light.DeviceStatusReport.AttriBute[0].AttriButeData; deviceIMG.IsSelected = switchBtn.IsSelected = light.OnOffStatus == 1; StatuBtn.Text = $"{Language.StringByID(R.MyInternationalizationString.Current)} {device.GetDeviceStatu()}"; if (device.CommonDevice.DfunctionType == DeviceFunctionType.A开关) { SetONOFFStatu(light.OnOffStatus == 1); } else if (device.CommonDevice.DfunctionType == DeviceFunctionType.A插座) { deviceIMG.IsSelected = switchBtn.IsSelected = light.OnOffStatus == 1; } else { deviceIMG.IsSelected = switchBtn.IsSelected = light.OnOffStatus == 1; } light.LastDateTime = DateTime.Now; } } @@ -151,7 +172,30 @@ } else if (typeTag == "OnlineStatusChange") { Application.RunOnMainThread(() => { try { var deviceUI = device; //设备为空 if (deviceUI.CommonDevice == null) { return; } //是否为当前设备 if (deviceUI.CommonDevice.DeviceEpoint != common.DeviceEpoint || deviceUI.CommonDevice.DeviceAddr != common.DeviceAddr) { return; } deviceUI.CommonDevice.IsOnline = common.IsOnline; //OnBtn.IsSelected = OffBtn.IsSelected= deviceUI.CommonDevice.IsOnline == 1; deviceUI.CommonDevice.LastDateTime = DateTime.Now; } catch (Exception ex) { System.Console.WriteLine($"Error:{ex.Message}"); } }); } } #endregion @@ -197,7 +241,7 @@ AddBodyView(device); var light = dev.CommonDevice as ZigBee.Device.AirSwitch; var light = dev.CommonDevice as AirSwitch; //补上非远程 if (light.Gateway == null) { @@ -219,8 +263,7 @@ } } var de = Shared.Common.Room.LoveRoomDeviceUIFilePathList.Find((obj) => obj == device.FileName); if (de == null) if (Common.Room.CurrentRoom.IsCollectInRoom(device.FileName) == false) { collectionBtn.IsSelected = false; } @@ -308,7 +351,7 @@ Text = device.CommonDevice.DeviceEpointName, TextColor = ZigbeeColor.Current.GXCTextBlackColor, TextSize = 15, IsBold=true IsBold = true }; itemView.AddChidren(deviceNameBtn); @@ -323,30 +366,6 @@ TextSize = 10 }; itemView.AddChidren(StatuBtn); deviceIMG = new Button() { Y = Application.GetRealHeight(389), Width = Application.GetMinRealAverage(377), Height = Application.GetMinRealAverage(435), Gravity = Gravity.CenterHorizontal, UnSelectedImagePath = "Light/DeskLamp.png", SelectedImagePath = "Light/DeskLampSelected.png", IsSelected = (device.CommonDevice as ZigBee.Device.AirSwitch).OnOffStatus == 1 }; itemView.AddChidren(deviceIMG); switchBtn = new Button() { Y = Application.GetRealHeight(996), Width = Application.GetMinRealAverage(81), Height = Application.GetMinRealAverage(81), Gravity = Gravity.CenterHorizontal, UnSelectedImagePath = "Item/Switch.png", SelectedImagePath = "Item/SwitchSelected.png", IsSelected = (device.CommonDevice as ZigBee.Device.AirSwitch).OnOffStatus == 1 }; itemView.AddChidren(switchBtn); var roomBG = new Button { @@ -387,6 +406,138 @@ TextSize = 12 }; itemView.AddChidren(roomName); AddByFunctionType(itemView); } /// <summary> /// AddByFunctionType /// </summary> private void AddByFunctionType(FrameLayout itemView) { if (device.CommonDevice.DfunctionType == DeviceFunctionType.A开关) { AddOnOff(itemView); } else if (device.CommonDevice.DfunctionType == DeviceFunctionType.A插座) { AddPlug(itemView); } else { AddLight(itemView); } } /// <summary> /// AddOnOff /// </summary> private void AddOnOff(FrameLayout itemView) { deviceIMG = new Button() { Y = Application.GetRealHeight(340), Width = Application.GetMinRealAverage(579), Height = Application.GetMinRealAverage(579), Gravity = Gravity.CenterHorizontal, UnSelectedImagePath = "Light/OnOff.png", }; itemView.AddChidren(deviceIMG); OffBtn = new Button { X = Application.GetRealWidth(294), Y = Application.GetRealHeight(588), Width = Application.GetMinRealAverage(81), Height = Application.GetMinRealAverage(81), UnSelectedImagePath = "Light/OFF.png", SelectedImagePath = "Light/OFFSelected.png", IsSelected = (device.CommonDevice as AirSwitch).OnOffStatus == 0 }; itemView.AddChidren(OffBtn); OnBtn = new Button { X = Application.GetRealWidth(590), Y = Application.GetRealHeight(588), Width = Application.GetMinRealAverage(81), Height = Application.GetMinRealAverage(81), UnSelectedImagePath = "Light/ON.png", SelectedImagePath = "Light/ONSelected.png", IsSelected = (device.CommonDevice as AirSwitch).OnOffStatus == 1 }; itemView.AddChidren(OnBtn); OnBtn.MouseUpEventHandler += ON; OffBtn.MouseUpEventHandler += OFF; } /// <summary> /// light /// </summary> /// <param name="itemView"></param> private void AddLight(FrameLayout itemView) { deviceIMG = new Button() { Y = Application.GetRealHeight(389), Width = Application.GetMinRealAverage(377), Height = Application.GetMinRealAverage(435), Gravity = Gravity.CenterHorizontal, UnSelectedImagePath = "Light/DeskLamp.png", SelectedImagePath = "Light/DeskLampSelected.png", IsSelected = (device.CommonDevice as AirSwitch).OnOffStatus == 1 }; itemView.AddChidren(deviceIMG); switchBtn = new Button() { Y = Application.GetRealHeight(996), Width = Application.GetMinRealAverage(81), Height = Application.GetMinRealAverage(81), Gravity = Gravity.CenterHorizontal, UnSelectedImagePath = "Item/Switch.png", SelectedImagePath = "Item/SwitchSelected.png", IsSelected = (device.CommonDevice as AirSwitch).OnOffStatus == 1 }; itemView.AddChidren(switchBtn); switchBtn.MouseUpEventHandler += Switch; deviceIMG.MouseUpEventHandler += Switch; } /// <summary> /// plug /// </summary> /// <param name="itemView"></param> private void AddPlug(FrameLayout itemView) { deviceIMG = new Button() { Y = Application.GetRealHeight(344), Width = Application.GetMinRealAverage(567), Height = Application.GetMinRealAverage(567), Gravity = Gravity.CenterHorizontal, UnSelectedImagePath = "Light/Plug.png", SelectedImagePath = "Light/PlugSelected.png", IsSelected = (device.CommonDevice as AirSwitch).OnOffStatus == 1 }; itemView.AddChidren(deviceIMG); switchBtn = new Button() { Y = Application.GetRealHeight(996), Width = Application.GetMinRealAverage(81), Height = Application.GetMinRealAverage(81), Gravity = Gravity.CenterHorizontal, UnSelectedImagePath = "Item/Switch.png", SelectedImagePath = "Item/SwitchSelected.png", IsSelected = (device.CommonDevice as AirSwitch).OnOffStatus == 1 }; itemView.AddChidren(switchBtn); switchBtn.MouseUpEventHandler += Switch; deviceIMG.MouseUpEventHandler += Switch; } #endregion @@ -397,8 +548,6 @@ /// </summary> private void BindEvent() { switchBtn.MouseUpEventHandler += Switch; deviceIMG.MouseUpEventHandler += Switch; collectionBtn.MouseUpEventHandler += Collection; } @@ -418,13 +567,14 @@ switchBtn.IsSelected = !switchBtn.IsSelected; deviceIMG.IsSelected = !deviceIMG.IsSelected; StatuBtn.Text = deviceIMG.IsSelected ? $"{Language.StringByID(R.MyInternationalizationString.Current)} {Language.StringByID(R.MyInternationalizationString.Open)}" : $"{Language.StringByID(R.MyInternationalizationString.Current)} {Language.StringByID(R.MyInternationalizationString.Shut)}"; if (switchBtn.IsSelected == true) { (device.CommonDevice as ZigBee.Device.AirSwitch).SwitchControl(1); (device.CommonDevice as AirSwitch).SwitchControl(1); } else { (device.CommonDevice as ZigBee.Device.AirSwitch).SwitchControl(0); (device.CommonDevice as AirSwitch).SwitchControl(0); } //控制延时回调 DeviceUI.SendCommandDelayAction(device.CommonDevice, () => @@ -441,6 +591,73 @@ }); } /// <summary> /// ON /// </summary> /// <param name="sender"></param> /// <param name="eventArgs"></param> private void ON(object sender, MouseEventArgs eventArgs) { SetONOFFStatu(true); (device.CommonDevice as AirSwitch).SwitchControl(1); //控制延时回调 zbGateway.ReportAction += UpdateDeviceControllStatu; DeviceUI.SendCommandDelayAction(device.CommonDevice, () => { if (Parent == null) { return; } RemoveUpdateControlDeviceStatuAction(); if (sendedControlCommand == false) { DeviceUI.ShowStatuTip(R.MyInternationalizationString.FAIL); } }); } /// <summary> /// OFF /// </summary> /// <param name="sender"></param> /// <param name="eventArgs"></param> private void OFF(object sender, MouseEventArgs eventArgs) { SetONOFFStatu(false); (device.CommonDevice as AirSwitch).SwitchControl(0); //控制延时回调 zbGateway.ReportAction += UpdateDeviceControllStatu; DeviceUI.SendCommandDelayAction(device.CommonDevice, () => { if (Parent == null) { return; } RemoveUpdateControlDeviceStatuAction(); if (sendedControlCommand == false) { DeviceUI.ShowStatuTip(R.MyInternationalizationString.FAIL); } }); } /// <summary> /// SetONOFFStatu /// </summary> /// <param name="statu"></param> private void SetONOFFStatu(bool statu) { if (statu) { OnBtn.IsSelected = true; OffBtn.IsSelected = false; } else { OnBtn.IsSelected = false; OffBtn.IsSelected = true; } StatuBtn.Text = statu ? $"{Language.StringByID(R.MyInternationalizationString.Current)} {Language.StringByID(R.MyInternationalizationString.Open)}" : $"{Language.StringByID(R.MyInternationalizationString.Current)} {Language.StringByID(R.MyInternationalizationString.Shut)}"; } #endregion @@ -473,6 +690,7 @@ /// <param name="e">E.</param> private void Collection(object sender, MouseEventArgs e) { //collection if ((sender as Button).IsSelected) { Shared.Common.Room.CurrentRoom.GetLoveRoom().DeleteDevice(device.FileName); ZigbeeApp/Shared/Phone/Device/Light/DimmableLightControl.cs
@@ -574,8 +574,7 @@ /// </summary> private void InitCollection() { var dev = Shared.Common.Room.LoveRoomDeviceUIFilePathList.Find((obj) => obj == device.FileName); if (dev == null) if (Common.Room.CurrentRoom.IsCollectInRoom(device.FileName) == false) { collectionBtn.IsSelected = false; } ZigbeeApp/Shared/Phone/Device/Light/LightControl.cs
@@ -241,8 +241,7 @@ } } var de = Shared.Common.Room.LoveRoomDeviceUIFilePathList.Find((obj) => obj == device.FileName); if (de == null) if(Common.Room.CurrentRoom.IsCollectInRoom(device.FileName) == false) { collectionBtn.IsSelected = false; } ZigbeeApp/Shared/Phone/Device/Light/OnOffControl.cs
@@ -263,8 +263,7 @@ } } var de = Shared.Common.Room.LoveRoomDeviceUIFilePathList.Find((obj) => obj == device.FileName); if (de == null) if(Common.Room.CurrentRoom.IsCollectInRoom(device.FileName) == false) { collectionBtn.IsSelected = false; } ZigbeeApp/Shared/Phone/Device/Light/PlugControl.cs
@@ -242,8 +242,7 @@ } } var de = Shared.Common.Room.LoveRoomDeviceUIFilePathList.Find((obj) => obj == device.FileName); if (de == null) if (Common.Room.CurrentRoom.IsCollectInRoom(device.FileName) == false) { collectionBtn.IsSelected = false; } ZigbeeApp/Shared/Phone/Device/Room/EditRoom.cs
@@ -46,9 +46,9 @@ /// </summary> public int OldIconPathType; CommonDevice temperDevice; public CommonDevice temperDevice; CommonDevice humidDevice; public CommonDevice humidDevice; DeviceInfoRow temperatureRow; @@ -107,7 +107,7 @@ //是否为当前设备 if ((temperDevice?.DeviceEpoint != common.DeviceEpoint || temperDevice?.DeviceAddr != common.DeviceAddr) && (humidDevice?.DeviceEpoint != common.DeviceEpoint || humidDevice?.DeviceAddr != common.DeviceAddr)) { //return; return; } //if (common.Type == DeviceType.TemperatureSensor) @@ -349,6 +349,7 @@ return; } room.TemperatrueDevice = $"{selectTemp.DeviceAddr}{selectTemp.DeviceEpoint}"; temperDevice=Common.LocalDevice.Current.GetDevice(room.TemperatrueDevice); temperatureRow.SetTitle(R.MyInternationalizationString.Getting); //发送获取温度的命令 ReadDeviceAttributeLogic.Instance.SendTemperatureStatuComand(selectTemp); @@ -358,8 +359,8 @@ { temperatureRow.SetTitle(room.Temperatrue == 0 ? "--℃" : $"{room.Temperatrue}℃"); //发送获取温度的命令 var dev = Common.LocalDevice.Current.GetDevice(room.TemperatrueDevice); ReadDeviceAttributeLogic.Instance.SendTemperatureStatuComand(dev); temperDevice = Common.LocalDevice.Current.GetDevice(room.TemperatrueDevice); ReadDeviceAttributeLogic.Instance.SendTemperatureStatuComand(temperDevice); } else { @@ -386,6 +387,7 @@ return; } room.HumidityDevice = $"{selectTemp.DeviceAddr}{selectTemp.DeviceEpoint}"; humidDevice = Common.LocalDevice.Current.GetDevice(room.HumidityDevice); humidityRow.SetTitle(R.MyInternationalizationString.Getting); //发送获取湿度的命令 @@ -396,8 +398,8 @@ { humidityRow.SetTitle(room.Humidity == 0 ? "--%" : $"{room.Humidity}%"); //发送获取湿度的命令 var dev = Common.LocalDevice.Current.GetDevice(room.HumidityDevice); ReadDeviceAttributeLogic.Instance.SendHumidityStatuComand(dev); humidDevice = Common.LocalDevice.Current.GetDevice(room.HumidityDevice); ReadDeviceAttributeLogic.Instance.SendHumidityStatuComand(humidDevice); } else { ZigbeeApp/Shared/Phone/Device/Room/UnallocatedRoom.cs
@@ -91,10 +91,10 @@ /// </summary> public void Show() { RemoveAll(); InitData(); AddTop(); AddBodyView(); } /// <summary> ZigbeeApp/Shared/Phone/UserView/SafetyShortcutControl.cs
@@ -1,5 +1,6 @@ using System; using Shared.Common; using Shared.Phone.Device.CommonForm; using Shared.Phone.UserCenter; namespace Shared.Phone.UserView @@ -112,9 +113,9 @@ } atHome.ButtonClickEvent += (sender, e) => { if(sender.IsSelected) dialog.Close(); if (sender.IsSelected) { dialog.Close(); return; } CommonPage.Loading.Start(); @@ -124,10 +125,13 @@ Application.RunOnMainThread(() => { CommonPage.Loading.Hide(); dialog.Close(); if(result == GarrisonMode.AtHome) { CommonFormResouce.ShowTip(Language.StringByID(R.MyInternationalizationString.uSetGarrisonSuccess)); } else { CommonFormResouce.ShowTip(Language.StringByID(R.MyInternationalizationString.uSetGarrisonFail)); } }); @@ -148,17 +152,26 @@ } withdrawGarriso.ButtonClickEvent += (sender, e) => { dialog.Close(); if (sender.IsSelected) { dialog.Close(); return; } new System.Threading.Thread(() => CommonPage.Loading.Start(); new System.Threading.Thread(async () => { var result = HdlSafeguardLogic.Current.RemoveSafetyGarrison(GarrisonMode.RemoveGarrison, true); var result = await HdlSafeguardLogic.Current.RemoveSafetyGarrison(GarrisonMode.RemoveGarrison, true); Application.RunOnMainThread(() => { dialog.Close(); CommonPage.Loading.Hide(); if (result == 1) { CommonFormResouce.ShowTip(Language.StringByID(R.MyInternationalizationString.uRemoveGarrisonSuccess)); } else { CommonFormResouce.ShowTip(Language.StringByID(R.MyInternationalizationString.uRemoveGarrisonFail)); } }); }) { IsBackground = true }.Start(); @@ -181,17 +194,26 @@ } atHome.ButtonClickEvent += (sender, e) => { dialog.Close(); if (sender.IsSelected) { dialog.Close(); return; } new System.Threading.Thread(() => CommonPage.Loading.Start(); new System.Threading.Thread(async () => { var result = HdlSafeguardLogic.Current.SetSafetyGarrisonByModel(GarrisonMode.AtHome); var result =await HdlSafeguardLogic.Current.SetSafetyGarrisonByModel(GarrisonMode.AtHome); Application.RunOnMainThread(() => { dialog.Close(); CommonPage.Loading.Hide(); if (result == GarrisonMode.AtHome) { CommonFormResouce.ShowTip(Language.StringByID(R.MyInternationalizationString.uSetAtHomeGarrisonSuccess)); } else { CommonFormResouce.ShowTip(Language.StringByID(R.MyInternationalizationString.uSetGarrisonFail)); } }); }) { IsBackground = true }.Start(); @@ -208,17 +230,26 @@ } removeHome.ButtonClickEvent += (sender, e) => { dialog.Close(); if (sender.IsSelected) { dialog.Close(); return; } new System.Threading.Thread(() => CommonPage.Loading.Start(); new System.Threading.Thread(async () => { var result = HdlSafeguardLogic.Current.SetSafetyGarrisonByModel(GarrisonMode.RemoveHome); var result =await HdlSafeguardLogic.Current.SetSafetyGarrisonByModel(GarrisonMode.RemoveHome); Application.RunOnMainThread(() => { dialog.Close(); CommonPage.Loading.Hide(); if (result == GarrisonMode.RemoveHome) { CommonFormResouce.ShowTip(Language.StringByID(R.MyInternationalizationString.uSetRemoveHomeGarrisonSuccess)); } else { CommonFormResouce.ShowTip(Language.StringByID(R.MyInternationalizationString.uSetGarrisonFail)); } }); }) { IsBackground = true }.Start(); @@ -235,17 +266,26 @@ } withdrawGarriso.ButtonClickEvent += (sender, e) => { dialog.Close(); if (sender.IsSelected) { dialog.Close(); return; } new System.Threading.Thread(() => CommonPage.Loading.Start(); new System.Threading.Thread(async () => { var result = HdlSafeguardLogic.Current.RemoveSafetyGarrison(GarrisonMode.RemoveGarrison, true); var result =await HdlSafeguardLogic.Current.RemoveSafetyGarrison(GarrisonMode.RemoveGarrison, true); Application.RunOnMainThread(() => { dialog.Close(); CommonPage.Loading.Hide(); if (result == 1) { CommonFormResouce.ShowTip(Language.StringByID(R.MyInternationalizationString.uRemoveGarrisonSuccess)); } else { CommonFormResouce.ShowTip(Language.StringByID(R.MyInternationalizationString.uRemoveGarrisonFail)); } }); }) { IsBackground = true }.Start(); ZigbeeApp/Shared/Phone/UserView/UserHomeView.cs
@@ -1130,10 +1130,9 @@ functionView.SetStatuText(device.GetDeviceStatu()); functionView.SetDeviceName(device.CommonDevice.DeviceEpointName); functionView.IsSelected = light.OnOffStatus == 1; functionView.SetCollect(Room.CurrentRoom.IsCollectInRoom(Room.CurrentRoom, device.FileName)); functionView.SetCollect(Room.CurrentRoom.IsCollectInRoom(device.FileName)); var dev = Room.LoveRoomDeviceUIFilePathList.Find((obj) => obj == device.FileName); if (dev == null) if (Common.Room.CurrentRoom.IsCollectInRoom(device.FileName) == false) { functionView.CollectButton.IsSelected = false; } @@ -1250,7 +1249,7 @@ functionView.SetStatuText(device.GetDeviceStatu()); functionView.SetDeviceName(airSwitch.DeviceEpointName); functionView.IsSelected = airSwitch.OnOffStatus == 1; functionView.SetCollect(Room.CurrentRoom.IsCollectInRoom(Room.CurrentRoom, device.FileName)); functionView.SetCollect(Room.CurrentRoom.IsCollectInRoom( device.FileName)); functionView.SwitchButton.MouseUpEventHandler += (sender, e) => { @@ -1360,7 +1359,7 @@ functionView.SetStatuText(device.GetDeviceStatu()); functionView.SetDeviceName(device.CommonDevice.DeviceEpointName); functionView.IsSelected = ac.currentSystemMode != 0; functionView.SetCollect(Room.CurrentRoom.IsCollectInRoom(Room.CurrentRoom, device.FileName)); functionView.SetCollect(Room.CurrentRoom.IsCollectInRoom(device.FileName)); functionView.SwitchButton.MouseUpEventHandler += (sender, e) => { @@ -1471,10 +1470,9 @@ functionView.SetStatuText(device.GetDeviceStatu()); functionView.SetDeviceName(device.CommonDevice.DeviceEpointName); functionView.IsSelected = dimmableLight.OnOffStatus == 1; functionView.SetCollect(Room.CurrentRoom.IsCollectInRoom(Room.CurrentRoom, device.FileName)); functionView.SetCollect(Room.CurrentRoom.IsCollectInRoom(device.FileName)); var dev = Room.LoveRoomDeviceUIFilePathList.Find((obj) => obj == device.FileName); if (dev == null) if (Common.Room.CurrentRoom.IsCollectInRoom(device.FileName) == false) { functionView.CollectButton.IsSelected = false; } @@ -1568,10 +1566,9 @@ lightView.SetStatuText(device.GetDeviceStatu()); lightView.SetDeviceName(device.CommonDevice.DeviceEpointName); lightView.IsSelected = ias.iASInfo?.Alarm1 == 1; lightView.SetCollect(Room.CurrentRoom.IsCollectInRoom(Room.CurrentRoom, device.FileName)); lightView.SetCollect(Room.CurrentRoom.IsCollectInRoom(device.FileName)); lightView.CanControl(false); var dev = Room.LoveRoomDeviceUIFilePathList.Find((obj) => obj == device.FileName); if (dev == null) if (Common.Room.CurrentRoom.IsCollectInRoom(device.FileName) == false) { lightView.CollectButton.IsSelected = false; } @@ -1629,10 +1626,9 @@ lightView.SetStatuText(device.GetDeviceStatu()); lightView.SetDeviceName(device.CommonDevice.DeviceEpointName); lightView.IsSelected = false; lightView.SetCollect(Room.CurrentRoom.IsCollectInRoom(Room.CurrentRoom, device.FileName)); lightView.SetCollect(Room.CurrentRoom.IsCollectInRoom(device.FileName)); lightView.CanControl(false); var dev = Room.LoveRoomDeviceUIFilePathList.Find((obj) => obj == device.FileName); if (dev == null) if (Common.Room.CurrentRoom.IsCollectInRoom(device.FileName) == false) { lightView.CollectButton.IsSelected = false; } @@ -1655,11 +1651,10 @@ lightView.SetDeviceImage(device.IconPath, device.OnlineIconPath); lightView.SetStatuText(device.GetDeviceStatu()); lightView.SetDeviceName(device.CommonDevice.DeviceEpointName); lightView.IsSelected = dimmableLight.IsOnline == 1; lightView.SetCollect(Room.CurrentRoom.IsCollectInRoom(Room.CurrentRoom, device.FileName)); lightView.IsSelected = false; lightView.SetCollect(Room.CurrentRoom.IsCollectInRoom(device.FileName)); lightView.CanControl(false); var dev = Room.LoveRoomDeviceUIFilePathList.Find((obj) => obj == device.FileName); if (dev == null) if (Common.Room.CurrentRoom.IsCollectInRoom(device.FileName) == false) { lightView.CollectButton.IsSelected = false; } @@ -1689,10 +1684,9 @@ lightView.SetDeviceName(device.CommonDevice.DeviceEpointName); lightView.CanControl(false); //lightView.IsSelected = device.CommonDevice.IsOnline == 1; lightView.SetCollect(Room.CurrentRoom.IsCollectInRoom(Room.CurrentRoom, device.FileName)); lightView.SetCollect(Room.CurrentRoom.IsCollectInRoom(device.FileName)); var dev = Room.LoveRoomDeviceUIFilePathList.Find((obj) => obj == device.FileName); if (dev == null) if (Common.Room.CurrentRoom.IsCollectInRoom(device.FileName) == false) { lightView.CollectButton.IsSelected = false; } @@ -1722,23 +1716,29 @@ /// <param name="functionView"></param> private void ReFreshEditDeviceAction(DeviceUI device, Common.Room curRoom, FunctionMainView functionView) { if (curRoom.Id != Common.Room.CurrentRoom.Id) if (Common.Room.CurrentRoom.IsLove) { if (Common.Room.CurrentRoom.IsLove) functionView.SetDeviceImage(device.IconPath, device.OnlineIconPath); functionView.SetDeviceName(device.CommonDevice.DeviceEpointName); if (Room.CurrentRoom.IsCollectInRoom(device.FileName) == false) { functionView.SetDeviceImage(device.IconPath, device.OnlineIconPath); functionView.SetDeviceName(device.CommonDevice.DeviceEpointName); } else { Common.Room.CurrentRoom.DeleteDevice(device.FileName); ShowFunction(); } } else { functionView.SetDeviceImage(device.IconPath, device.OnlineIconPath); functionView.SetDeviceName(device.CommonDevice.DeviceEpointName); if (curRoom.Id != Common.Room.CurrentRoom.Id) { Common.Room.CurrentRoom.DeleteDevice(device.FileName); ShowFunction(); } else { functionView.SetDeviceImage(device.IconPath, device.OnlineIconPath); functionView.SetDeviceName(device.CommonDevice.DeviceEpointName); functionView.SetCollect(Room.CurrentRoom.IsCollectInRoom(device.FileName)); } } } ZigbeeApp/Shared/R.cs
@@ -1366,10 +1366,10 @@ /// <summary> /// 密码长度为{0}个字符 /// </summary> public const int PswLengthMsg = 15000; /// <summary> /// 密码长度为{0}个字符 /// </summary> public const int PswLengthMsg = 15000; /// <summary> /// 1个小写字母 /// </summary>