From 05ce435c3b58e53eeab04c672affdeeab75f3036 Mon Sep 17 00:00:00 2001 From: gxc <guoxuecheng@guoxuechengdeMacBook-Pro.local> Date: 星期五, 15 十一月 2019 14:41:39 +0800 Subject: [PATCH] 2019.11.15-1 --- ZigbeeApp/Shared/Phone/Device/Category/Category.cs | 875 ++++++++++++++++++++++++++++++--------------------------- 1 files changed, 459 insertions(+), 416 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/Device/Category/Category.cs b/ZigbeeApp/Shared/Phone/Device/Category/Category.cs old mode 100755 new mode 100644 index 9ed8a71..7fefc25 --- a/ZigbeeApp/Shared/Phone/Device/Category/Category.cs +++ b/ZigbeeApp/Shared/Phone/Device/Category/Category.cs @@ -5,6 +5,8 @@ using Shared.R; using ZigBee.Device; using Shared.Phone.Device.CommonForm; +using Shared.Phone.Device.AC; +using Shared.Phone.UserCenter.DoorLock; namespace Shared.Phone.Device.Category { @@ -166,45 +168,22 @@ { var light = deviceUI.CommonDevice as ToggleLight; light.DeviceStatusReport = common.DeviceStatusReport; - for (int j = 0; j < rowLayout.ChildrenCount; j++) + if (light.DeviceStatusReport.AttriBute == null || light.DeviceStatusReport.AttriBute.Count == 0) { - var tempView = rowLayout.GetChildren(j); - if (tempView.Tag == null) - { - continue; - } - if (tempView.Tag.ToString() == deviceStatus_OnOffStatus) - { - //璁板綍銆佹洿鏂扮姸鎬� - if (light.DeviceStatusReport.AttriBute == null || light.DeviceStatusReport.AttriBute.Count == 0) - { - continue; - } - light.OnOffStatus = light.DeviceStatusReport.AttriBute[0].AttriButeData; - (tempView as Button).IsSelected = light.OnOffStatus == 1; - //璁板綍鍥炲鏃堕棿 - light.LastDateTime = DateTime.Now; - } + continue; } + light.OnOffStatus = light.DeviceStatusReport.AttriBute[0].AttriButeData; + var row = rowLayout.GetChildren(0) as CategoryFunctionRow; + row.SetStatu(light.OnOffStatus == 1); + row.SetStatuText(deviceUI.GetDeviceStatu()); + light.LastDateTime = DateTime.Now; } if (common.DeviceStatusReport.CluterID == 3) { - var light = deviceUI.CommonDevice as ToggleLight; - light.IsOnline = 1; - //璁板綍鍥炲鏃堕棿 - light.LastDateTime = DateTime.Now; - for (int j = 0; j < rowLayout.ChildrenCount; j++) - { - var tempView = rowLayout.GetChildren(j); - if (tempView.Tag == null) - { - continue; - } - if (tempView.Tag.ToString() == deviceStatus_Online) - { - (tempView as Button).IsSelected = light.IsOnline == 1; - } - } + deviceUI.CommonDevice.IsOnline = 1; + deviceUI.CommonDevice.LastDateTime = DateTime.Now; + var row = rowLayout.GetChildren(0) as CategoryFunctionRow; + row.SetStatu(true); } break; @@ -214,66 +193,53 @@ { var airSwitch = deviceUI.CommonDevice as ZigBee.Device.AirSwitch; airSwitch.DeviceStatusReport = common.DeviceStatusReport; - for (int j = 0; j < rowLayout.ChildrenCount; j++) + if (airSwitch.DeviceStatusReport.AttriBute == null || airSwitch.DeviceStatusReport.AttriBute.Count == 0) { - var tempView = rowLayout.GetChildren(j); - if (tempView.Tag == null) - { - continue; - } - if (tempView.Tag.ToString() == deviceStatus_OnOffStatus) - { - //璁板綍銆佹洿鏂扮姸鎬� - if (airSwitch.DeviceStatusReport.AttriBute == null || airSwitch.DeviceStatusReport.AttriBute.Count == 0) - { - return; - } - airSwitch.OnOffStatus = airSwitch.DeviceStatusReport.AttriBute[0].AttriButeData; - (tempView as Button).IsSelected = airSwitch.OnOffStatus == 1; - //璁板綍鍥炲鏃堕棿 - airSwitch.LastDateTime = DateTime.Now; - } + return; } + airSwitch.OnOffStatus = airSwitch.DeviceStatusReport.AttriBute[0].AttriButeData; + var row = rowLayout.GetChildren(0) as CategoryFunctionRow; + row.SetStatu(airSwitch.OnOffStatus == 1); + row.SetStatuText(deviceUI.GetDeviceStatu()); + airSwitch.LastDateTime = DateTime.Now; } if (common.DeviceStatusReport.CluterID == 3) { - var airSwitch = deviceUI.CommonDevice as ZigBee.Device.AirSwitch; - airSwitch.IsOnline = 1; - //璁板綍鍥炲鏃堕棿 - airSwitch.LastDateTime = DateTime.Now; - for (int j = 0; j < rowLayout.ChildrenCount; j++) - { - var tempView = rowLayout.GetChildren(j); - if (tempView.Tag == null) - { - continue; - } - if (tempView.Tag.ToString() == deviceStatus_Online) - { - (tempView as Button).IsSelected = airSwitch.IsOnline == 1; - } - } + deviceUI.CommonDevice.IsOnline = 1; + deviceUI.CommonDevice.LastDateTime = DateTime.Now; + var row = rowLayout.GetChildren(0) as CategoryFunctionRow; + row.SetStatu(true); } break; case DeviceType.WindowCoveringDevice: + + if (common.DeviceStatusReport.CluterID == 258) + { + if (common.DeviceStatusReport.AttriBute[0].AttributeId == 0) + { + //绐楀笜绫诲瀷 + var rollerShade = deviceUI.CommonDevice as Rollershade; + rollerShade.DeviceStatusReport = common.DeviceStatusReport; + rollerShade.WcdType = common.DeviceStatusReport.AttriBute[0].AttriButeData; + rollerShade.LastDateTime = DateTime.Now; + } + if (common.DeviceStatusReport.AttriBute[0].AttributeId == 8) + { + var row = rowLayout.GetChildren(0) as CategoryFunctionForWinRow; + //绐楀笜鐧惧垎姣� + var rollerShade = deviceUI.CommonDevice as Rollershade; + rollerShade.DeviceStatusReport = common.DeviceStatusReport; + rollerShade.WcdCurrentPositionLiftPercentage = common.DeviceStatusReport.AttriBute[0].AttriButeData; + row.SetStatuText($"{Language.StringByID(R.MyInternationalizationString.Current)} { deviceUI.GetDeviceStatu()}"); + rollerShade.LastDateTime = DateTime.Now; + } + } if (common.DeviceStatusReport.CluterID == 3) { - var rollerShape = deviceUI.CommonDevice as Rollershade; - //璁板綍鍥炲鏃堕棿 - rollerShape.LastDateTime = DateTime.Now; - rollerShape.IsOnline = 1; - for (int j = 0; j < rowLayout.ChildrenCount; j++) - { - var tempView = rowLayout.GetChildren(j); - if (tempView.Tag == null) - { - continue; - } - if (tempView.Tag.ToString() == deviceStatus_Online) - { - (tempView as Button).IsSelected = rollerShape.IsOnline == 1; - } - } + deviceUI.CommonDevice.IsOnline = 1; + deviceUI.CommonDevice.LastDateTime = DateTime.Now; + var row = rowLayout.GetChildren(0) as CategoryFunctionForWinRow; + row.SetStatu(true); } break; @@ -288,119 +254,99 @@ } var ac = deviceUI.CommonDevice as ZigBee.Device.AC; ac.DeviceStatusReport = common.DeviceStatusReport; + + var curTemp = (attriButeList[0].AttriButeData / 100 < ACControlBase.Temperature_High || attriButeList[0].AttriButeData / 100 > ACControlBase.Temperature_Low) ? attriButeList[0].AttriButeData / 100 : ACControlBase.Temperature_Default; switch (attriButeList[0].AttributeId) { case 0: - //姝ゅ睘鎬ц〃鏄庡鍐呭綋鍓嶇殑娓╁害 * 100锛屽疄闄呮俯搴︿负鈥淟ocalTemperature / 100鈥濓紝鍗曚綅锛氣剝 - ac.currentLocalTemperature = attriButeList[0].AttriButeData / 100; + ac.currentLocalTemperature = curTemp; ac.LastDateTime = DateTime.Now; break; case 17: - //姝ゅ睘鎬ц〃鏄庢璁惧褰撳墠鐨勫埗鍐锋俯搴︼紝瀹為檯娓╁害涓衡�淐oolingSetpoint / 100鈥濓紝鍗曚綅锛氣剝銆� - ac.currentCoolingSetpoint = attriButeList[0].AttriButeData / 100; + ac.currentCoolingSetpoint = curTemp; ac.LastDateTime = DateTime.Now; break; case 18: - //姝ゅ睘鎬ц〃鏄庢璁惧褰撳墠鐨勫埗鐑俯搴︼紝瀹為檯娓╁害涓衡�淗eatingSetpoint / 100鈥濓紝鍗曚綅锛氣剝銆� - ac.currentHeatingSetpoint = attriButeList[0].AttriButeData / 100; + ac.currentHeatingSetpoint = curTemp; + ac.LastDateTime = DateTime.Now; + break; + + case 4096: + ac.currentAutoSetpoint = curTemp; ac.LastDateTime = DateTime.Now; break; case 28: //姝ゅ睘鎬ф弿杩版亽娓╄澶囨澶勪簬鍝妯″紡 - //Off = 0 Auto = 1 Cool = 3 Heat = 4 FanOnly = 7 Dry = 8 ac.currentSystemMode = attriButeList[0].AttriButeData; ac.LastDateTime = DateTime.Now; - for (int j = 0; j < rowLayout.ChildrenCount; j++) - { - var tempView = rowLayout.GetChildren(j); - if (tempView.Tag == null) - { - continue; - } - if (tempView.Tag.ToString() == deviceStatus_OnOffStatus) - { - if (ac.currentSystemMode == 0) - { - (tempView as Button).IsSelected = false; - } - else - { - (tempView as Button).IsSelected = true; - } - } - } break; } + var row = rowLayout.GetChildren(0) as CategoryFunctionRow; + row.SetStatu(ac.currentSystemMode != 0); + row.SetStatuText(deviceUI.GetDeviceStatu()); } + + if (common.DeviceStatusReport.CluterID == 514) + { + var ac = deviceUI.CommonDevice as ZigBee.Device.AC; + var attriButeList = common.DeviceStatusReport.AttriBute; + if (attriButeList == null || attriButeList.Count == 0) + { + return; + } + ac.DeviceStatusReport = common.DeviceStatusReport; + switch (attriButeList[0].AttributeId) + { + case 0: + ac.currentFanMode = attriButeList[0].AttriButeData; + ac.LastDateTime = DateTime.Now; + break; + case 4096: + ac.currentFanSwingMode = attriButeList[0].AttriButeData; + ac.LastDateTime = DateTime.Now; + break; + } + var row = rowLayout.GetChildren(0) as CategoryFunctionRow; + row.SetStatu(ac.currentSystemMode != 0); + row.SetStatuText(deviceUI.GetDeviceStatu()); + } + if (common.DeviceStatusReport.CluterID == 3) { var ac = deviceUI.CommonDevice as ZigBee.Device.AC; ac.IsOnline = 1; - //璁板綍鍥炲鏃堕棿 ac.LastDateTime = DateTime.Now; - for (int j = 0; j < rowLayout.ChildrenCount; j++) - { - var tempView = rowLayout.GetChildren(j); - if (tempView.Tag == null) - { - continue; - } - if (tempView.Tag.ToString() == deviceStatus_Online) - { - (tempView as Button).IsSelected = ac.IsOnline == 1; - } - } + var row = rowLayout.GetChildren(0) as CategoryFunctionRow; + row.SetStatu(true); } break; case DeviceType.DimmableLight: //璋冨厜鐏姛鑳� if (common.DeviceStatusReport.CluterID == 6) { - var dimmableLight = deviceUI.CommonDevice as ZigBee.Device.DimmableLight; + var dimmableLight = deviceUI.CommonDevice as DimmableLight; dimmableLight.DeviceStatusReport = common.DeviceStatusReport; - for (int j = 0; j < rowLayout.ChildrenCount; j++) + //璁板綍銆佹洿鏂扮姸鎬� + if (dimmableLight.DeviceStatusReport.AttriBute == null || dimmableLight.DeviceStatusReport.AttriBute.Count == 0) { - var tempView = rowLayout.GetChildren(j); - if (tempView.Tag == null) - { - continue; - } - if (tempView.Tag.ToString() == deviceStatus_OnOffStatus) - { - //璁板綍銆佹洿鏂扮姸鎬� - if (dimmableLight.DeviceStatusReport.AttriBute == null || dimmableLight.DeviceStatusReport.AttriBute.Count == 0) - { - return; - } - dimmableLight.OnOffStatus = dimmableLight.DeviceStatusReport.AttriBute[0].AttriButeData; - (tempView as Button).IsSelected = dimmableLight.OnOffStatus == 1; - //璁板綍鍥炲鏃堕棿 - dimmableLight.LastDateTime = DateTime.Now; - } + continue; } + dimmableLight.OnOffStatus = dimmableLight.DeviceStatusReport.AttriBute[0].AttriButeData; + var row = rowLayout.GetChildren(0) as CategoryFunctionRow; + row.SetStatu(dimmableLight.OnOffStatus == 1); + row.SetStatuText(deviceUI.GetDeviceStatu()); + dimmableLight.LastDateTime = DateTime.Now; } if (common.DeviceStatusReport.CluterID == 3) { - var dimmableLight = deviceUI.CommonDevice as ZigBee.Device.DimmableLight; - dimmableLight.IsOnline = 1; - //璁板綍鍥炲鏃堕棿 - dimmableLight.LastDateTime = DateTime.Now; - for (int j = 0; j < rowLayout.ChildrenCount; j++) - { - var tempView = rowLayout.GetChildren(j); - if (tempView.Tag == null) - { - continue; - } - if (tempView.Tag.ToString() == deviceStatus_Online) - { - (tempView as Button).IsSelected = dimmableLight.IsOnline == 1; - } - } + deviceUI.CommonDevice.IsOnline = 1; + deviceUI.CommonDevice.LastDateTime = DateTime.Now; + var row = rowLayout.GetChildren(0) as CategoryFunctionRow; + row.SetStatu(true); } break; } @@ -433,77 +379,38 @@ switch (deviceUI.CommonDevice.Type) { case DeviceType.OnOffOutput: - var light = deviceUI.CommonDevice as ToggleLight; - light.IsOnline = (common as ToggleLight).IsOnline; - //璁板綍鍥炲鏃堕棿 - light.LastDateTime = DateTime.Now; - for (int j = 0; j < rowLayout.ChildrenCount; j++) - { - var tempView = rowLayout.GetChildren(j); - if (tempView.Tag == null) - { - continue; - } - if (tempView.Tag.ToString() == deviceStatus_Online) - { - (tempView as Button).IsSelected = light.IsOnline == 1; - } - } + deviceUI.CommonDevice.IsOnline = common.IsOnline; + var row = rowLayout.GetChildren(0) as CategoryFunctionRow; + row.SetStatu(deviceUI.CommonDevice.IsOnline == 1); + deviceUI.CommonDevice.LastDateTime = DateTime.Now; break; + case DeviceType.AirSwitch: - var airSwitch = deviceUI.CommonDevice as ZigBee.Device.AirSwitch; - airSwitch.IsOnline = (common as ZigBee.Device.AirSwitch).IsOnline; - //璁板綍鍥炲鏃堕棿 - airSwitch.LastDateTime = DateTime.Now; - for (int j = 0; j < rowLayout.ChildrenCount; j++) - { - var tempView = rowLayout.GetChildren(j); - if (tempView.Tag == null) - { - continue; - } - if (tempView.Tag.ToString() == deviceStatus_Online) - { - (tempView as Button).IsSelected = airSwitch.IsOnline == 1; - } - } + deviceUI.CommonDevice.IsOnline = common.IsOnline; + var row1 = rowLayout.GetChildren(0) as CategoryFunctionRow; + row1.SetStatu(deviceUI.CommonDevice.IsOnline == 1); + deviceUI.CommonDevice.LastDateTime = DateTime.Now; break; + case DeviceType.WindowCoveringDevice: - var rollerShape = deviceUI.CommonDevice as Rollershade; - //璁板綍鍥炲鏃堕棿 - rollerShape.LastDateTime = DateTime.Now; - rollerShape.IsOnline = (common as Rollershade).IsOnline; - for (int j = 0; j < rowLayout.ChildrenCount; j++) - { - var tempView = rowLayout.GetChildren(j); - if (tempView.Tag == null) - { - continue; - } - if (tempView.Tag.ToString() == deviceStatus_Online) - { - (tempView as Button).IsSelected = rollerShape.IsOnline == 1; - } - } + deviceUI.CommonDevice.LastDateTime = DateTime.Now; + deviceUI.CommonDevice.IsOnline = common.IsOnline; + var row2 = rowLayout.GetChildren(0) as CategoryFunctionForWinRow; + row2.SetStatu(deviceUI.CommonDevice.IsOnline == 1); + break; + + case DeviceType.DimmableLight: + deviceUI.CommonDevice.LastDateTime = DateTime.Now; + deviceUI.CommonDevice.IsOnline = common.IsOnline; + var row3 = rowLayout.GetChildren(0) as CategoryFunctionRow; + row3.SetStatu(deviceUI.CommonDevice.IsOnline == 1); break; case DeviceType.Thermostat: - var ac = deviceUI.CommonDevice as ZigBee.Device.AC; - //璁板綍鍥炲鏃堕棿 - ac.LastDateTime = DateTime.Now; - ac.IsOnline = (common as ZigBee.Device.AC).IsOnline; - for (int j = 0; j < rowLayout.ChildrenCount; j++) - { - var tempView = rowLayout.GetChildren(j); - if (tempView.Tag == null) - { - continue; - } - if (tempView.Tag.ToString() == deviceStatus_Online) - { - (tempView as Button).IsSelected = ac.IsOnline == 1; - } - } + deviceUI.CommonDevice.LastDateTime = DateTime.Now; + deviceUI.CommonDevice.IsOnline = common.IsOnline; + var row5 = rowLayout.GetChildren(0) as CategoryFunctionRow; + row5.SetStatu(deviceUI.CommonDevice.IsOnline == 1); break; } } @@ -535,6 +442,7 @@ { BackgroundColor = ZigbeeColor.Current.GXCGrayBackgroundColor; instance = this; + ZbGateway.StatusList.Add(this); } /// <summary> @@ -543,8 +451,6 @@ /// <param name="selectedBtn">閫変腑閭d釜鐣岄潰 0--鍔熻兘 1--鍦烘櫙 2--鑷姩鍖� </param> public void Show(int selectedBtn = 1) { - - ZbGateway.StatusList.Add(this); RemoveAll(); #region topview @@ -585,7 +491,7 @@ var midFL = new FrameLayout { Y = topView.Bottom, - Height = Application.GetRealHeight(CommonPage.AppRealHeight - CommonPage.TabbarHeight) - topView.Bottom, + Height = Application.GetRealHeight(1549), BackgroundColor = ZigbeeColor.Current.GXCGrayBackgroundColor }; AddChidren(midFL); @@ -596,18 +502,17 @@ BackgroundColor = ZigbeeColor.Current.GXCGrayBackgroundColor }; midFL.AddChidren(functionSceneAutoBG); - //鍔熻兘 - functionBtn = new ButtonLineForm(CommonFormResouce.X_Left, 34, 150, 68); - functionSceneAutoBG.AddChidren(functionBtn); - functionBtn.Init(); - functionBtn.SetTitle(R.MyInternationalizationString.Function); //鍦烘櫙 - sceneBtn = new ButtonLineForm(CommonFormResouce.X_Left + 150 + 20, 34, 150, 68); + sceneBtn = new ButtonLineForm(CommonFormResouce.X_Left, 34, 150, 68); functionSceneAutoBG.AddChidren(sceneBtn); sceneBtn.Init(); sceneBtn.SetTitle(R.MyInternationalizationString.Scence); - + //鍔熻兘 + functionBtn = new ButtonLineForm(CommonFormResouce.X_Left + 150 + 20, 34, 150, 68); + functionSceneAutoBG.AddChidren(functionBtn); + functionBtn.Init(); + functionBtn.SetTitle(R.MyInternationalizationString.Function); //鑷姩鍖� automationBtn = new ButtonLineForm(CommonFormResouce.X_Left + 150 * 2 + 20, 34, 150, 68); automationBtn.Init(); @@ -747,7 +652,12 @@ /// <param name="sender">Sender.</param> /// <param name="mouseEventArgs">The ${ParameterType} instance containing the event data.</param> private void AutomationBtn_MouseUpEventHandler(object sender, MouseEventArgs mouseEventArgs) - { + { + Common.Logic.LogicDviceList.Clear(); + if (Common.Logic.LogicDviceList.Count == 0) + { + Common.Logic.LogicDviceList.AddRange(LocalDevice.Current.listAllDevice.ToArray()); + } functionBtn.IsSelected = false; sceneBtn.IsSelected = false; automationBtn.IsSelected = true; @@ -803,6 +713,15 @@ UserView.HomePage.Instance.PageIndex += 1; addLogicPage.Show(); } + /// <summary> + /// HidenFloor + /// </summary> + /// <param name="statu"></param> + private void HidenFloor(bool statu) + { + selectFloorBtn.Visible = !statu; + floorBtn.Visible = !statu; + } #endregion @@ -815,14 +734,17 @@ functionSceneAutoBodyView.RemoveAll(); if (functionBtn.IsSelected) { + HidenFloor(false); ShowFunction(); } else if (sceneBtn.IsSelected) { + HidenFloor(false); ShowScene(); } else if (automationBtn.IsSelected) { + HidenFloor(true); ShowAutotion(); } } @@ -895,11 +817,10 @@ deviceListScrolView = new VerticalScrolViewLayout { X = Application.GetRealWidth(CommonFormResouce.X_Left), - Y = functionTypeScrowView.Bottom + Application.GetRealHeight(50), + Y = Application.GetRealHeight(35+275), Width = Application.GetRealWidth(1028), - Height = functionSceneBodyView.Height - Application.GetRealHeight(279 + 50) - 1, + Height = Application.GetRealHeight(938) - 1, BackgroundColor = ZigbeeColor.Current.GXCBackgroundColor - }; functionSceneBodyView.AddChidren(deviceListScrolView); tempFunctionTypeBtn = new FunctionButton(); @@ -958,10 +879,10 @@ detailInfo.action = RefreshBodyView; }; - if (deviceUI.CommonDevice.Type == ZigBee.Device.DeviceType.OnOffOutput) + if (deviceUI.CommonDevice.Type == DeviceType.OnOffOutput) { //鐏� - var light = deviceUI.CommonDevice as ZigBee.Device.ToggleLight; + var light = deviceUI.CommonDevice as ToggleLight; //琛ヤ笂闈炶繙绋� if (light.Gateway == null) { @@ -987,18 +908,19 @@ var deviceTypeRowLayout = new RowLayout() { - Height = Application.GetRealHeight(127 + 35), + Height = Application.GetRealHeight(129 + 35), LineColor = ZigbeeColor.Current.GXCBackgroundColor, Tag = deviceUI }; deviceListScrolView.AddChidren(deviceTypeRowLayout); - var deviceRow = new FunctionRow(0, 35); + var deviceRow = new CategoryFunctionRow(0, 35); deviceRow.Init(deviceUI.IconPath, deviceUI.OnlineIconPath); deviceRow.SetTitle(deviceUI.CommonDevice.DeviceEpointName); - deviceRow.SetStatu(light.IsOnline == 1); + deviceRow.SetOnLineStatu(light.IsOnline == 1); + deviceRow.SetStatuText(deviceUI.GetDeviceStatu()); + deviceRow.SetStatu(light.OnOffStatus == 1); deviceTypeRowLayout.AddChidren(deviceRow); - deviceRow.SwitchBtn.MouseUpEventHandler += (send2, e2) => { @@ -1007,6 +929,7 @@ zbGateway.ReportAction += UpdateDeviceControllStatu; AddZbGateway(zbGatewayList, zbGateway, commonDeviceList, deviceUI.CommonDevice); (send2 as Button).IsSelected = !(send2 as Button).IsSelected; + deviceRow.IsSelected = (send2 as Button).IsSelected; if ((send2 as Button).IsSelected) { light.SwitchControl(1); @@ -1015,6 +938,7 @@ { light.SwitchControl(0); } + deviceRow.SetStatuText(deviceUI.GetDeviceStatu()); //鎺у埗寤舵椂鍥炶皟 DeviceUI.SendCommandDelayAction(deviceUI.CommonDevice, () => { @@ -1028,6 +952,34 @@ DeviceUI.ShowStatuTip(R.MyInternationalizationString.FAIL); } }); + }; + + deviceRow.ClickBtn.MouseUpEventHandler += (send2, e2) => + { + if (deviceUI.CommonDevice.DfunctionType == DeviceFunctionType.A寮�鍏�) + { + var lightControl = new Phone.Device.Light.OnOffControl(); + UserView.HomePage.Instance.AddChidren(lightControl); + UserView.HomePage.Instance.PageIndex += 1; + //lightControl.action = RefreshBodyView; + lightControl.Show(deviceUI, room); + } + else if (deviceUI.CommonDevice.DfunctionType == DeviceFunctionType.A鎻掑骇) + { + var lightControl = new Phone.Device.Light.PlugControl(); + UserView.HomePage.Instance.AddChidren(lightControl); + UserView.HomePage.Instance.PageIndex += 1; + //lightControl.action = RefreshBodyView; + lightControl.Show(deviceUI, room); + } + else + { + var lightControl = new Phone.Device.Light.LightControl(); + UserView.HomePage.Instance.AddChidren(lightControl); + UserView.HomePage.Instance.PageIndex += 1; + //lightControl.action = RefreshBodyView; + lightControl.Show(deviceUI, room); + } }; var editBtn = new CommonForm.RowLayoutEditButton() @@ -1074,16 +1026,18 @@ var deviceTypeRowLayout = new RowLayout() { - Height = Application.GetRealHeight(127 + 35), + Height = Application.GetRealHeight(129 + 35), LineColor = ZigbeeColor.Current.GXCBackgroundColor, Tag = deviceUI }; deviceListScrolView.AddChidren(deviceTypeRowLayout); - var deviceRow = new FunctionRow(0, 35); + var deviceRow = new CategoryFunctionRow(0, 35); deviceRow.Init(deviceUI.IconPath, deviceUI.OnlineIconPath); deviceRow.SetTitle(deviceUI.CommonDevice.DeviceEpointName); - deviceRow.SetStatu(airSwitch.IsOnline == 1); + deviceRow.SetOnLineStatu(airSwitch.IsOnline == 1); + deviceRow.SetStatu(airSwitch.OnOffStatus == 1); + deviceRow.SetStatuText(deviceUI.GetDeviceStatu()); deviceTypeRowLayout.AddChidren(deviceRow); deviceRow.SwitchBtn.MouseUpEventHandler += (send2, e2) => @@ -1093,8 +1047,8 @@ zbGateway.ReportAction += UpdateDeviceControllStatu; AddZbGateway(zbGatewayList, zbGateway, commonDeviceList, deviceUI.CommonDevice); - (send2 as CommonForm.SelectedStatuButton).IsSelected = !(send2 as CommonForm.SelectedStatuButton).IsSelected; - if ((send2 as CommonForm.SelectedStatuButton).IsSelected) + (send2 as Button).IsSelected = !(send2 as Button).IsSelected; + if ((send2 as Button).IsSelected) { airSwitch.SwitchControl(1); } @@ -1102,6 +1056,7 @@ { airSwitch.SwitchControl(0); } + deviceRow.SetStatuText(deviceUI.GetDeviceStatu()); //鎺у埗寤舵椂鍥炶皟 DeviceUI.SendCommandDelayAction(deviceUI.CommonDevice, () => { @@ -1115,6 +1070,16 @@ DeviceUI.ShowStatuTip(R.MyInternationalizationString.FAIL); } }); + }; + + deviceRow.ClickBtn.MouseUpEventHandler += (send2, e2) => + { + + var lightControl = new Phone.Device.Light.AirSwitchControl(); + UserView.HomePage.Instance.AddChidren(lightControl); + UserView.HomePage.Instance.PageIndex += 1; + //lightControl.action = RefreshBodyView; + lightControl.Show(deviceUI, room); }; var editBtn = new CommonForm.RowLayoutEditButton() @@ -1163,16 +1128,18 @@ var deviceTypeRowLayout = new RowLayout() { - Height = Application.GetRealHeight(127 + 35), + Height = Application.GetRealHeight(129 + 35), LineColor = ZigbeeColor.Current.GXCBackgroundColor, Tag = deviceUI }; deviceListScrolView.AddChidren(deviceTypeRowLayout); - var deviceRow = new FunctionRow(0, 35); + var deviceRow = new CategoryFunctionRow(0, 35); deviceRow.Init(deviceUI.IconPath, deviceUI.OnlineIconPath); deviceRow.SetTitle(deviceUI.CommonDevice.DeviceEpointName); - deviceRow.SetStatu(dimmableLight.IsOnline == 1); + deviceRow.SetOnLineStatu(dimmableLight.IsOnline == 1); + deviceRow.SetStatuText(deviceUI.GetDeviceStatu()); + deviceRow.SetStatu(dimmableLight.OnOffStatus == 1); deviceTypeRowLayout.AddChidren(deviceRow); deviceRow.SwitchBtn.MouseUpEventHandler += (send2, e2) => @@ -1182,8 +1149,8 @@ zbGateway.ReportAction += UpdateDeviceControllStatu; AddZbGateway(zbGatewayList, zbGateway, commonDeviceList, deviceUI.CommonDevice); - (send2 as CommonForm.SelectedStatuButton).IsSelected = !(send2 as CommonForm.SelectedStatuButton).IsSelected; - if ((send2 as CommonForm.SelectedStatuButton).IsSelected) + (send2 as Button).IsSelected = !(send2 as Button).IsSelected; + if ((send2 as Button).IsSelected) { dimmableLight.SwitchControl(1); } @@ -1191,6 +1158,7 @@ { dimmableLight.SwitchControl(0); } + deviceRow.SetStatuText(deviceUI.GetDeviceStatu()); //鎺у埗寤舵椂鍥炶皟 DeviceUI.SendCommandDelayAction(deviceUI.CommonDevice, () => { @@ -1204,6 +1172,16 @@ DeviceUI.ShowStatuTip(R.MyInternationalizationString.FAIL); } }); + }; + + deviceRow.ClickBtn.MouseUpEventHandler += (send2, e2) => + { + var dimmableLightControl = new Phone.Device.Light.DimmableLightControl(); + UserView.HomePage.Instance.AddChidren(dimmableLightControl); + UserView.HomePage.Instance.PageIndex += 1; + UserView.HomePage.Instance.ScrollEnabled = false; + //dimmableLightControl.action = RefreshBodyView; + dimmableLightControl.Show(deviceUI, room); }; var editBtn = new CommonForm.RowLayoutEditButton() @@ -1238,11 +1216,13 @@ UserView.UserHomeView.ReadStatus(ac, () => { ac.ReadAttri(Cluster_ID.Identify, AttriButeId.Switch); - ac.ReadFanMode(); - ac.ReadSystemMode(); ac.ReadLocalTemperature(); ac.ReadCoolingSetpoint(); ac.ReadHeatingSetpoint(); + ac.ReadAutoSetpoint(); + ac.ReadFanMode(); + ac.ReadSystemMode(); + ac.ReadSystemFansSwingMode(); }); } else @@ -1251,11 +1231,13 @@ if ((DateTime.Now - ac.LastDateTime).TotalSeconds > CommonPage.ReadDeviceStatuSpan) { ac.ReadAttri(Cluster_ID.Identify, AttriButeId.Switch); - ac.ReadFanMode(); - ac.ReadSystemMode(); ac.ReadLocalTemperature(); ac.ReadCoolingSetpoint(); ac.ReadHeatingSetpoint(); + ac.ReadAutoSetpoint(); + ac.ReadFanMode(); + ac.ReadSystemMode(); + ac.ReadSystemFansSwingMode(); } } @@ -1267,10 +1249,12 @@ }; deviceListScrolView.AddChidren(deviceTypeRowLayout); - var deviceRow = new FunctionRow(0, 35); + var deviceRow = new CategoryFunctionRow(0, 35); deviceRow.Init(deviceUI.IconPath, deviceUI.OnlineIconPath); deviceRow.SetTitle(deviceUI.CommonDevice.DeviceEpointName); - deviceRow.SetStatu(ac.IsOnline == 1); + deviceRow.SetOnLineStatu(ac.IsOnline == 1); + deviceRow.SetStatuText(deviceUI.GetDeviceStatu()); + deviceRow.SetStatu(ac.currentSystemMode != 1); deviceTypeRowLayout.AddChidren(deviceRow); deviceRow.SwitchBtn.MouseUpEventHandler += (send2, e2) => @@ -1280,8 +1264,8 @@ zbGateway.ReportAction += UpdateDeviceControllStatu; AddZbGateway(zbGatewayList, zbGateway, commonDeviceList, deviceUI.CommonDevice); - (send2 as CommonForm.SelectedStatuButton).IsSelected = !(send2 as CommonForm.SelectedStatuButton).IsSelected; - if ((send2 as CommonForm.SelectedStatuButton).IsSelected) + (send2 as Button).IsSelected = !(send2 as Button).IsSelected; + if ((send2 as Button).IsSelected) { ac.Open(); } @@ -1289,6 +1273,7 @@ { ac.Close(); } + deviceRow.SetStatuText(deviceUI.GetDeviceStatu()); //鎺у埗寤舵椂鍥炶皟 DeviceUI.SendCommandDelayAction(deviceUI.CommonDevice, () => { @@ -1319,6 +1304,16 @@ }; deviceTypeRowLayout.AddRightView(delBtn); delBtn.MouseUpEventHandler += delEvent; + + deviceRow.ClickBtn.MouseUpEventHandler += (send2, e2) => + { + var acControl = new Phone.Device.AC.ACControl(); + UserView.HomePage.Instance.AddChidren(acControl); + UserView.HomePage.Instance.PageIndex += 1; + UserView.HomePage.Instance.ScrollEnabled = false; + //rollerShadeControl.action = RefreshBodyView; + acControl.Show(deviceUI, room); + }; } else if (deviceUI.CommonDevice.Type == ZigBee.Device.DeviceType.WindowCoveringDevice) { @@ -1334,6 +1329,7 @@ UserHomeView.ReadStatus(rollerShade, () => { rollerShade.ReadAttri(Cluster_ID.Identify, AttriButeId.Switch); + rollerShade.ReadWcdCurrentPositionLiftPercentage(); }); } else @@ -1342,23 +1338,43 @@ if ((DateTime.Now - rollerShade.LastDateTime).TotalSeconds > CommonPage.ReadDeviceStatuSpan) { rollerShade.ReadAttri(Cluster_ID.Identify, AttriButeId.Switch); + rollerShade.ReadWcdCurrentPositionLiftPercentage(); } } - var deviceTypeRowLayout = new RowLayout() { - Height = Application.GetRealHeight(127 + 35), - LineColor = ZigbeeColor.Current.GXCLineColor, + Height = Application.GetRealHeight(129 + 35), + LineColor = ZigbeeColor.Current.GXCBackgroundColor, Tag = deviceUI }; deviceListScrolView.AddChidren(deviceTypeRowLayout); - var deviceRow = new FunctionRow(0, 35); - deviceRow.Init(deviceUI.IconPath, deviceUI.OnlineIconPath); + var deviceRow = new CategoryFunctionForWinRow(0, 35); + deviceRow.Init(deviceUI); deviceRow.SetTitle(deviceUI.CommonDevice.DeviceEpointName); - deviceRow.SetStatu(rollerShade.IsOnline == 1); + deviceRow.SetOnLineStatu(rollerShade.IsOnline == 1); + deviceRow.SetStatuText(deviceUI.GetDeviceStatu()); + deviceRow.SetStatu(rollerShade.WcdCurrentPositionLiftPercentage != 0); + deviceRow.SetRollerShadeIcon(rollerShade.WcdType); deviceTypeRowLayout.AddChidren(deviceRow); + + if (rollerShade.WcdType == -1) + { + CommonPage.Loading.Start(); + new System.Threading.Thread(() => + { + Rollershade.ReadWcdTypeAction(rollerShade, () => + { + Application.RunOnMainThread(() => + { + deviceRow.SetRollerShadeIcon(rollerShade.WcdType); + CommonPage.Loading.Hide(); + }); + }); + }) + { IsBackground = true }.Start(); + } var editBtn = new CommonForm.RowLayoutEditButton() { @@ -1376,42 +1392,56 @@ deviceTypeRowLayout.AddRightView(delBtn); delBtn.MouseUpEventHandler += delEvent; - - deviceRow.SwitchBtn.MouseUpEventHandler += (sender, e) => + deviceRow.ClickBtn.MouseUpEventHandler += (send2, e2) => { - zbGateway = deviceUI.CommonDevice.Gateway; - sendedControlCommand = false; - zbGateway.ReportAction += UpdateDeviceControllStatu; - AddZbGateway(zbGatewayList, zbGateway, commonDeviceList, deviceUI.CommonDevice); - - (sender as CommonForm.SelectedStatuButton).IsSelected = !(sender as CommonForm.SelectedStatuButton).IsSelected; - if ((sender as CommonForm.SelectedStatuButton).IsSelected) - { - rollerShade.CurtainUpDownStopControl(0); - } - else - { - rollerShade.CurtainUpDownStopControl(1); - } - - //鎺у埗寤舵椂鍥炶皟 - DeviceUI.SendCommandDelayAction(deviceUI.CommonDevice, () => - { - if (Parent == null) - { - return; - } - RemoveUpdateControlDeviceStatuAction(zbGateway); - if (sendedControlCommand == false) - { - DeviceUI.ShowStatuTip(R.MyInternationalizationString.FAIL); - } - }); + var rollerShadeControl = new Phone.Device.Curtain.RollerShadeControl(); + UserView.HomePage.Instance.AddChidren(rollerShadeControl); + UserView.HomePage.Instance.PageIndex += 1; + UserView.HomePage.Instance.ScrollEnabled = false; + //rollerShadeControl.action = RefreshBodyView; + rollerShadeControl.Show(deviceUI, room); }; } else { + var deviceTypeRowLayout = new RowLayout() + { + Height = Application.GetRealHeight(129 + 35), + LineColor = ZigbeeColor.Current.GXCBackgroundColor, + Tag = deviceUI + }; + deviceListScrolView.AddChidren(deviceTypeRowLayout); + var deviceRow = new CategoryFunctionRow(0, 35); + deviceRow.Init(deviceUI.IconPath, deviceUI.OnlineIconPath); + deviceRow.SetTitle(deviceUI.CommonDevice.DeviceEpointName); + deviceRow.SetOnLineStatu(deviceUI.CommonDevice.IsOnline == 1); + deviceRow.SetStatuText(deviceUI.GetDeviceStatu()); + deviceRow.HideSwitchBtn(true); + deviceTypeRowLayout.AddChidren(deviceRow); + + + deviceRow.ClickBtn.MouseUpEventHandler += (send2, e2) => + { + var userDoorLockPage = new UserDoorLockPage(room, deviceUI); + HomePage.Instance.AddChidren(userDoorLockPage); + HomePage.Instance.PageIndex += 1; + userDoorLockPage.Show(); + }; + + var editBtn = new CommonForm.RowLayoutEditButton() + { + Tag = deviceUI + }; + deviceTypeRowLayout.AddRightView(editBtn); + editBtn.MouseUpEventHandler += deviceDetailHandler; + + var delBtn = new Device.CommonForm.RowLayoutDeleteButton() + { + Tag = deviceUI + }; + deviceTypeRowLayout.AddRightView(delBtn); + delBtn.MouseUpEventHandler += delEvent; } } }; @@ -1434,7 +1464,7 @@ typeRowLayout.AddChidren(functionTypeIMG); functionTypeIMG.ClickBtn.MouseUpEventHandler += ShowSameTypeFunction; - + if (deviceType == room.DeviceUIList[0].CommonDevice.Type) { @@ -1452,7 +1482,7 @@ var roomFL = new HorizontalScrolViewLayout() { X = Application.GetRealWidth(CommonFormResouce.X_Left), - Height = Application.GetRealHeight(167), + Height = Application.GetRealHeight(170), Width = Application.GetRealWidth(CommonPage.AppRealWidth - CommonFormResouce.X_Left), BackgroundColor = ZigbeeColor.Current.GXCGrayBackgroundColor }; @@ -1462,7 +1492,7 @@ functionSceneBodyView = new FrameLayout() { Y = roomFL.Bottom, - Height = Application.GetRealHeight(1316), + Height = Application.GetRealHeight(973+279), BackgroundColor = ZigbeeColor.Current.GXCGrayBackgroundColor }; functionSceneAutoBodyView.AddChidren(functionSceneBodyView); @@ -1505,7 +1535,7 @@ { RefreshFunction(room); } - + } roomBtn.MouseUpEventHandler += (sender, e) => { @@ -1526,7 +1556,7 @@ } }; } - + } #endregion @@ -1556,7 +1586,7 @@ { var sceneScrolView = new VerticalScrolViewLayout { - Y = Application.GetRealHeight(58) + //Y = Application.GetRealHeight(58) }; functionSceneBodyView.AddChidren(sceneScrolView); foreach (var scene in sceneList) @@ -1582,7 +1612,6 @@ X = Application.GetRealWidth(179), Width = Application.GetRealWidth(844), Height = Application.GetRealHeight(400), - BackgroundColor = ZigbeeColor.Current.GXCRedColor, UnSelectedImagePath = scene.IconPath, Radius = (uint)Application.GetRealHeight(17) }; @@ -1611,7 +1640,7 @@ Tag = scene }; leftFL.AddChidren(collectionBtn); - + var sceneNameBtn = new Button() { Width = Application.GetRealWidth(176), @@ -1669,11 +1698,24 @@ Tag = scene }; - if (!room.IsSharedRoom) + + if(room.IsSharedRoom) { - sceneRowLayout.AddRightView(settingBtn); - sceneRowLayout.AddRightView(deleteBtn); + } + else + { + if(room.IsLove) + { + sceneRowLayout.AddRightView(deleteBtn); + } + else + { + sceneRowLayout.AddRightView(settingBtn); + sceneRowLayout.AddRightView(deleteBtn); + } + } + //璋冪敤鍦烘櫙 EventHandler<MouseEventArgs> sceneUpHandler = async (sender, e) => @@ -1760,7 +1802,7 @@ } }; } - + }; deleteBtn.MouseUpEventHandler += delEvent; //缂栬緫鍦烘櫙 @@ -1816,6 +1858,7 @@ #endregion + #region 鈼� 鑷姩鍖朹_________________________ /// <summary> @@ -1825,7 +1868,7 @@ { functionSceneAutoBodyView.BackgroundColor = ZigbeeColor.Current.LogicMiddleBackgroundColor; - + var bjFrameLayout = new FrameLayout { Width = Application.GetRealWidth(1080 - 58), @@ -1958,12 +2001,7 @@ } else { - Common.Logic.LogicDviceList.Clear(); - if (Common.Logic.LogicDviceList.Count == 0) - { - Common.Logic.LogicDviceList.AddRange(LocalDevice.Current.listAllDevice.ToArray()); - } - Common.Logic.CurrentLogic.LogicType = 2; + Common.Logic.CurrentLogic.LogicName = logicnameBtn.Text; Logic.TemplatePage templatePage = new Logic.TemplatePage(); Logic.TemplatePage.s = logiciocnBtn.Tag.ToString(); @@ -1982,7 +2020,7 @@ Yheight = 0; } logicScrolView.Y = scenehorizontalScrol.Bottom + Yheight; - logicScrolView.Height = functionSceneBodyView.Height - bjFrameLayout.Height - bjFrameLayout.Y - scenehorizontalScrol.Height - Application.GetRealHeight(30) - Yheight; + logicScrolView.Height = functionSceneAutoBodyView.Height - bjFrameLayout.Height - bjFrameLayout.Y - scenehorizontalScrol.Height - Application.GetRealHeight(30) - Yheight; Automationview(logicScrolView); }; @@ -1992,7 +2030,7 @@ var Idlist = await Logic.Send.GetLogicId(0); if (Idlist.Count != 0) { - var listlogic = await Logic.Send.ReadList(Idlist.Count,0); + var listlogic = await Logic.Send.ReadList(Idlist.Count, 0); //foreach鍙兘闆嗗悎宸茶淇敼,鏋氫妇鎿嶄綔鍙兘涓嶄細鎵ц,鍙兘鍑虹幇宕╂簝(寤鸿for)銆� for (int j = 0; j < listlogic.Count; j++) { @@ -2008,6 +2046,7 @@ //鑷姩鍖� Automationview(logicScrolView); CommonPage.Loading.Hide(); + } /// <summary> @@ -2019,32 +2058,26 @@ refresview.RemoveAll(); foreach (var logic in Common.Logic.LogicList) { - var bjRow = new RowLayout - { - Width = Application.GetRealWidth(1080 - 58), - Height = Application.GetRealHeight(220), - LineColor = ZigbeeColor.Current.LogicBackgroundColor, - BackgroundColor = ZigbeeColor.Current.LogicBackgroundColor, - }; - refresview.AddChidren(bjRow); var logicRowlayout = new RowLayout { - Y = Application.GetRealHeight(220 - 190), - Height = Application.GetRealHeight(190), - Width = Application.GetRealWidth(1080 - 58 - 46), - LineColor = ZigbeeColor.Current.LogicRowLayoutLineColor, - X = Application.GetRealWidth(46), + Height = Application.GetRealHeight(190 + 30), + Width = Application.GetRealWidth(1080), + LineColor = ZigbeeColor.Current.LogicBackgroundColor, + BackgroundColor = ZigbeeColor.Current.LogicBackgroundColor, }; - bjRow.AddChidren(logicRowlayout); + refresview.AddChidren(logicRowlayout); + + var logicnameBtn = new Button { Height = Application.GetRealHeight(58), Width = Application.GetRealWidth(350), Text = logic.LogicName, - X = Application.GetRealWidth(12), + X = Application.GetRealWidth(12 + 46), + Y = Application.GetRealHeight(30), TextAlignment = TextAlignment.CenterLeft, TextColor = ZigbeeColor.Current.LogicTextBlackColor, }; @@ -2057,8 +2090,8 @@ Height = Application.GetMinRealAverage(63), UnSelectedImagePath = "ZigeeLogic/logicclose.png", SelectedImagePath = "ZigeeLogic/logicopen.png", - X = logicRowlayout.Width - Application.GetRealWidth(104 + 58), - Y = Application.GetRealHeight(58 + 30 + 9), + X = logicRowlayout.Width - Application.GetRealWidth(104 + 58 + 58), + Y = Application.GetRealHeight(58 + 30 + 9 + 30), }; logicRowlayout.AddChidren(logicswitchBtn); @@ -2102,11 +2135,6 @@ logicRowlayout.AddRightView(edit); edit.MouseUpEventHandler += (sender, e) => { - Common.Logic.LogicDviceList.Clear(); - if (Common.Logic.LogicDviceList.Count == 0) - { - Common.Logic.LogicDviceList.AddRange(LocalDevice.Current.listAllDevice.ToArray()); - } Common.Logic.CurrentLogic = logic; var logicCommunalPage = new Logic.LogicCommunalPage(); HomePage.Instance.AddChidren(logicCommunalPage); @@ -2140,91 +2168,32 @@ alert.Show(); }; - - } - - - } - - #region 鈼� 鎺у埗鐘舵�乢________________________ - - /// <summary> - /// 鏄剧ず璁惧鎺у埗鐘舵�� - /// </summary> - /// <param name="command">Command.</param> - /// <param name="objValue">Object value.</param> - private void UpdateDeviceControllStatu(string command, object objValue) - { - if (command != "DeviceDefaultAck" || objValue == null) - { - return; - } - var tempDevice = (CommonDevice)objValue; - if (null == commonDeviceList.Find((obj) => obj.DeviceEpoint == tempDevice.DeviceEpoint && obj.DeviceAddr == tempDevice.DeviceAddr)) - { - return; - } - //鏍囪宸茬粡鍙戦�佹帶鍒跺懡浠ゅ埌缃戝叧 - sendedControlCommand = true; - //DeviceUI.ShowStatuTip(R.MyInternationalizationString.Success); - } - - /// <summary> - /// 绉婚櫎鍏ㄩ儴鏇存柊鎺у埗璁惧鐨刟ction - /// </summary> - private void RemoveAllUpdateControlDeviceStatuAction() - { - foreach (var gateway in zbGatewayList) - { - //绉婚櫎action - if (gateway != null) + var line = new Button { - gateway.ReportAction -= UpdateDeviceControllStatu; - } + Y = Application.GetRealHeight(215), + Height = Application.GetRealHeight(5), + Width = Application.GetRealWidth(1080 - 58), + BackgroundColor = ZigbeeColor.Current.LogicRowLayoutLineColor, + X = Application.GetRealWidth(58), + }; + logicRowlayout.AddChidren(line); } - } + } /// <summary> - /// 绉婚櫎鍗曚釜鎺у埗璁惧鐨勬洿鏂扮姸鎬乤ction + /// 鏄剧ず鍥炬爣鐨勯鑹� /// </summary> - /// <param name="gateway">Gateway.</param> - private void RemoveUpdateControlDeviceStatuAction(ZbGateway gateway) - { - //绉婚櫎action - if (gateway != null) - { - gateway.ReportAction -= UpdateDeviceControllStatu; - } - } - - /// <summary> - /// 娣诲姞闇�瑕佺洃鎺у洖璋冪姸鎬佺殑缃戝叧鍜岃澶� - /// </summary> - /// <param name="gatewayList">Gateway list.</param> - /// <param name="gateway">Gateway.</param> - /// <param name="deviceList">Device list.</param> - /// <param name="common">Common.</param> - private void AddZbGateway(List<ZbGateway> gatewayList, ZbGateway gateway, List<CommonDevice> deviceList, CommonDevice common) - { - if (null == gatewayList.Find((obj) => obj.getGatewayBaseInfo.gwID == gateway.getGatewayBaseInfo.gwID)) - { - gatewayList.Add(gateway); - } - if (null == commonDeviceList.Find((obj) => obj.DeviceEpoint == common.DeviceEpoint && obj.DeviceAddr == common.DeviceAddr)) - { - commonDeviceList.Add(common); - } - } - - #endregion - + /// <param name="logic"></param> + /// <param name="logicRowlayout"></param> + /// <param name="intvalue"></param> private void StatusColor(Common.Logic logic, RowLayout logicRowlayout, int intvalue) { var logictimeBtn = new Button { Height = Application.GetRealHeight(58), - Width = logicRowlayout.Width - Application.GetRealWidth(58 + 12 + 350), + Width = logicRowlayout.Width - Application.GetRealWidth(58 + 12 + 350 + 58), + Y = Application.GetRealHeight(30), X = Application.GetRealWidth(365), TextAlignment = TextAlignment.CenterRight, TextColor = ZigbeeColor.Current.LogicListWeekTextColor, @@ -2515,8 +2484,8 @@ { Width = Application.GetRealWidth(82), Height = Application.GetRealHeight(82), - X = Application.GetRealWidth(12 + (12 + 82 + 45 + 12) * i), - Y = Application.GetRealHeight(58 + 30), + X = Application.GetRealWidth(58) + Application.GetRealWidth(12 + (12 + 82 + 45 + 12) * i), + Y = Application.GetRealHeight(58 + 30 + 30), Radius = (uint)Application.GetRealHeight(41), BackgroundColor = ZigbeeColor.Current.LogicMiddleBackgroundColor, }; @@ -2534,7 +2503,7 @@ var connectIconBtn = new Button { Y = typebjBtn.Y + Application.GetRealHeight(35), - X = Application.GetRealWidth((12 + 82 + 12) + (12 + 45 + 82 + 12) * i), + X = Application.GetRealWidth(58) + Application.GetRealWidth((12 + 82 + 12) + (12 + 45 + 82 + 12) * i), Width = Application.GetRealWidth(48), Height = Application.GetRealHeight(15), UnSelectedImagePath = "ZigeeLogic/connect.png", @@ -2612,5 +2581,79 @@ } } #endregion + + #region 鈼� 鎺у埗鐘舵�乢________________________ + + /// <summary> + /// 鏄剧ず璁惧鎺у埗鐘舵�� + /// </summary> + /// <param name="command">Command.</param> + /// <param name="objValue">Object value.</param> + private void UpdateDeviceControllStatu(string command, object objValue) + { + if (command != "DeviceDefaultAck" || objValue == null) + { + return; + } + var tempDevice = (CommonDevice)objValue; + if (null == commonDeviceList.Find((obj) => obj.DeviceEpoint == tempDevice.DeviceEpoint && obj.DeviceAddr == tempDevice.DeviceAddr)) + { + return; + } + //鏍囪宸茬粡鍙戦�佹帶鍒跺懡浠ゅ埌缃戝叧 + sendedControlCommand = true; + //DeviceUI.ShowStatuTip(R.MyInternationalizationString.Success); + } + + /// <summary> + /// 绉婚櫎鍏ㄩ儴鏇存柊鎺у埗璁惧鐨刟ction + /// </summary> + private void RemoveAllUpdateControlDeviceStatuAction() + { + foreach (var gateway in zbGatewayList) + { + //绉婚櫎action + if (gateway != null) + { + gateway.ReportAction -= UpdateDeviceControllStatu; + } + } + } + + /// <summary> + /// 绉婚櫎鍗曚釜鎺у埗璁惧鐨勬洿鏂扮姸鎬乤ction + /// </summary> + /// <param name="gateway">Gateway.</param> + private void RemoveUpdateControlDeviceStatuAction(ZbGateway gateway) + { + //绉婚櫎action + if (gateway != null) + { + gateway.ReportAction -= UpdateDeviceControllStatu; + } + } + + /// <summary> + /// 娣诲姞闇�瑕佺洃鎺у洖璋冪姸鎬佺殑缃戝叧鍜岃澶� + /// </summary> + /// <param name="gatewayList">Gateway list.</param> + /// <param name="gateway">Gateway.</param> + /// <param name="deviceList">Device list.</param> + /// <param name="common">Common.</param> + private void AddZbGateway(List<ZbGateway> gatewayList, ZbGateway gateway, List<CommonDevice> deviceList, CommonDevice common) + { + if (null == gatewayList.Find((obj) => obj.getGatewayBaseInfo.gwID == gateway.getGatewayBaseInfo.gwID)) + { + gatewayList.Add(gateway); + } + if (null == commonDeviceList.Find((obj) => obj.DeviceEpoint == common.DeviceEpoint && obj.DeviceAddr == common.DeviceAddr)) + { + commonDeviceList.Add(common); + } + } + + #endregion + + } } -- Gitblit v1.8.0