old mode 100755
new mode 100644
| | |
| | | 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 |
| | | { |
| | |
| | | { |
| | | 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; |
| | | |
| | |
| | | { |
| | | 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; |
| | | |
| | |
| | | } |
| | | 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,实际温度为“LocalTemperature / 100”,单位:℃ |
| | | ac.currentLocalTemperature = attriButeList[0].AttriButeData / 100; |
| | | ac.currentLocalTemperature = curTemp; |
| | | ac.LastDateTime = DateTime.Now; |
| | | break; |
| | | |
| | | case 17: |
| | | //此属性表明此设备当前的制冷温度,实际温度为“CoolingSetpoint / 100”,单位:℃。 |
| | | ac.currentCoolingSetpoint = attriButeList[0].AttriButeData / 100; |
| | | ac.currentCoolingSetpoint = curTemp; |
| | | ac.LastDateTime = DateTime.Now; |
| | | break; |
| | | |
| | | case 18: |
| | | //此属性表明此设备当前的制热温度,实际温度为“HeatingSetpoint / 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; |
| | | } |
| | |
| | | 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; |
| | | } |
| | | } |
| | |
| | | { |
| | | BackgroundColor = ZigbeeColor.Current.GXCGrayBackgroundColor; |
| | | instance = this; |
| | | ZbGateway.StatusList.Add(this); |
| | | } |
| | | |
| | | /// <summary> |
| | |
| | | /// <param name="selectedBtn">选中那个界面 0--功能 1--场景 2--自动化 </param> |
| | | public void Show(int selectedBtn = 1) |
| | | { |
| | | |
| | | ZbGateway.StatusList.Add(this); |
| | | RemoveAll(); |
| | | |
| | | #region topview |
| | |
| | | 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); |
| | |
| | | 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(); |
| | |
| | | /// <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; |
| | |
| | | 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 |
| | | |
| | |
| | | functionSceneAutoBodyView.RemoveAll(); |
| | | if (functionBtn.IsSelected) |
| | | { |
| | | HidenFloor(false); |
| | | ShowFunction(); |
| | | } |
| | | else if (sceneBtn.IsSelected) |
| | | { |
| | | HidenFloor(false); |
| | | ShowScene(); |
| | | } |
| | | else if (automationBtn.IsSelected) |
| | | { |
| | | HidenFloor(true); |
| | | ShowAutotion(); |
| | | } |
| | | } |
| | |
| | | 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(); |
| | |
| | | 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) |
| | | { |
| | |
| | | |
| | | 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) => |
| | | { |
| | |
| | | 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); |
| | |
| | | { |
| | | light.SwitchControl(0); |
| | | } |
| | | deviceRow.SetStatuText(deviceUI.GetDeviceStatu()); |
| | | //控制延时回调 |
| | | DeviceUI.SendCommandDelayAction(deviceUI.CommonDevice, () => |
| | | { |
| | |
| | | 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() |
| | |
| | | |
| | | 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) => |
| | |
| | | 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); |
| | | } |
| | |
| | | { |
| | | airSwitch.SwitchControl(0); |
| | | } |
| | | deviceRow.SetStatuText(deviceUI.GetDeviceStatu()); |
| | | //控制延时回调 |
| | | DeviceUI.SendCommandDelayAction(deviceUI.CommonDevice, () => |
| | | { |
| | |
| | | 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() |
| | |
| | | |
| | | 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) => |
| | |
| | | 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); |
| | | } |
| | |
| | | { |
| | | dimmableLight.SwitchControl(0); |
| | | } |
| | | deviceRow.SetStatuText(deviceUI.GetDeviceStatu()); |
| | | //控制延时回调 |
| | | DeviceUI.SendCommandDelayAction(deviceUI.CommonDevice, () => |
| | | { |
| | |
| | | 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() |
| | |
| | | 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 |
| | |
| | | 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(); |
| | | } |
| | | } |
| | | |
| | |
| | | }; |
| | | 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) => |
| | |
| | | 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(); |
| | | } |
| | |
| | | { |
| | | ac.Close(); |
| | | } |
| | | deviceRow.SetStatuText(deviceUI.GetDeviceStatu()); |
| | | //控制延时回调 |
| | | DeviceUI.SendCommandDelayAction(deviceUI.CommonDevice, () => |
| | | { |
| | |
| | | }; |
| | | 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) |
| | | { |
| | |
| | | UserHomeView.ReadStatus(rollerShade, () => |
| | | { |
| | | rollerShade.ReadAttri(Cluster_ID.Identify, AttriButeId.Switch); |
| | | rollerShade.ReadWcdCurrentPositionLiftPercentage(); |
| | | }); |
| | | } |
| | | else |
| | |
| | | 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() |
| | | { |
| | |
| | | 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; |
| | | } |
| | | } |
| | | }; |
| | |
| | | typeRowLayout.AddChidren(functionTypeIMG); |
| | | |
| | | functionTypeIMG.ClickBtn.MouseUpEventHandler += ShowSameTypeFunction; |
| | | |
| | | |
| | | |
| | | if (deviceType == room.DeviceUIList[0].CommonDevice.Type) |
| | | { |
| | |
| | | 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 |
| | | }; |
| | |
| | | functionSceneBodyView = new FrameLayout() |
| | | { |
| | | Y = roomFL.Bottom, |
| | | Height = Application.GetRealHeight(1316), |
| | | Height = Application.GetRealHeight(973+279), |
| | | BackgroundColor = ZigbeeColor.Current.GXCGrayBackgroundColor |
| | | }; |
| | | functionSceneAutoBodyView.AddChidren(functionSceneBodyView); |
| | |
| | | { |
| | | RefreshFunction(room); |
| | | } |
| | | |
| | | |
| | | } |
| | | roomBtn.MouseUpEventHandler += (sender, e) => |
| | | { |
| | |
| | | } |
| | | }; |
| | | } |
| | | |
| | | |
| | | } |
| | | |
| | | #endregion |
| | |
| | | { |
| | | var sceneScrolView = new VerticalScrolViewLayout |
| | | { |
| | | Y = Application.GetRealHeight(58) |
| | | //Y = Application.GetRealHeight(58) |
| | | }; |
| | | functionSceneBodyView.AddChidren(sceneScrolView); |
| | | foreach (var scene in sceneList) |
| | |
| | | X = Application.GetRealWidth(179), |
| | | Width = Application.GetRealWidth(844), |
| | | Height = Application.GetRealHeight(400), |
| | | BackgroundColor = ZigbeeColor.Current.GXCRedColor, |
| | | UnSelectedImagePath = scene.IconPath, |
| | | Radius = (uint)Application.GetRealHeight(17) |
| | | }; |
| | |
| | | Tag = scene |
| | | }; |
| | | leftFL.AddChidren(collectionBtn); |
| | | |
| | | |
| | | var sceneNameBtn = new Button() |
| | | { |
| | | Width = Application.GetRealWidth(176), |
| | |
| | | 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) => |
| | |
| | | } |
| | | }; |
| | | } |
| | | |
| | | |
| | | }; |
| | | deleteBtn.MouseUpEventHandler += delEvent; |
| | | //编辑场景 |
| | |
| | | |
| | | #endregion |
| | | |
| | | |
| | | #region ◆ 自动化__________________________ |
| | | |
| | | /// <summary> |
| | |
| | | {
|
| | |
|
| | | functionSceneAutoBodyView.BackgroundColor = ZigbeeColor.Current.LogicMiddleBackgroundColor;
|
| | | |
| | |
|
| | | var bjFrameLayout = new FrameLayout |
| | | { |
| | | Width = Application.GetRealWidth(1080 - 58), |
| | |
| | | } |
| | | 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(); |
| | |
| | | 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); |
| | | }; |
| | | |
| | |
| | | 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++) |
| | | { |
| | |
| | | //自动化 |
| | | Automationview(logicScrolView); |
| | | CommonPage.Loading.Hide(); |
| | | |
| | | } |
| | | |
| | | /// <summary> |
| | |
| | | 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, |
| | | }; |
| | |
| | | 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); |
| | | |
| | |
| | | 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); |
| | |
| | | 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> |
| | | /// 移除全部更新控制设备的action |
| | | /// </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> |
| | | /// 移除单个控制设备的更新状态action |
| | | /// 显示图标的颜色 |
| | | /// </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, |
| | |
| | | { |
| | | 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, |
| | | }; |
| | |
| | | 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", |
| | |
| | | } |
| | | } |
| | | #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> |
| | | /// 移除全部更新控制设备的action |
| | | /// </summary> |
| | | private void RemoveAllUpdateControlDeviceStatuAction() |
| | | { |
| | | foreach (var gateway in zbGatewayList) |
| | | { |
| | | //移除action |
| | | if (gateway != null) |
| | | { |
| | | gateway.ReportAction -= UpdateDeviceControllStatu; |
| | | } |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 移除单个控制设备的更新状态action |
| | | /// </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 |
| | | |
| | | |
| | | } |
| | | } |