old mode 100755
new mode 100644
| | |
| | | using Shared.Phone.Device.AC; |
| | | using Shared.Phone.UserCenter.DoorLock; |
| | | using Shared.Phone.Device.DeviceLogic; |
| | | using Shared.Phone.UserCenter; |
| | | |
| | | namespace Shared.Phone.Device.Category |
| | | { |
| | |
| | | /// <summary> |
| | | /// low_High |
| | | /// </summary> |
| | | private const int low_High= 127; |
| | | private const int low_High = 127; |
| | | /// <summary> |
| | | /// 功能 |
| | | /// </summary> |
| | |
| | | /// <summary> |
| | | /// 相同类型的设备列表 |
| | | /// </summary> |
| | | private Dictionary<int, List<DeviceUI>> typeDeviceDic; |
| | | private Dictionary<int, List<CommonDevice>> typeDeviceDic; |
| | | /// <summary> |
| | | /// 设备类型的图id |
| | | /// </summary> |
| | |
| | | /// <summary> |
| | | /// dList |
| | | /// </summary> |
| | | private List<DeviceUI> devList; |
| | | private List<CommonDevice> devList; |
| | | /// <summary> |
| | | /// sceneList |
| | | /// </summary> |
| | | private List<SceneUI> sceneList; |
| | | /// <summary> |
| | | /// 当前选中房间 |
| | | /// </summary> |
| | | private Common.Room curRoom; |
| | | #endregion |
| | | |
| | | #region ◆ 接口____________________________ |
| | | /// <summary> |
| | | /// 该接口将弃用 改用DeviceInfoChange() |
| | | /// </summary> |
| | | /// <param name="common">Common.</param> |
| | | public void Changed(CommonDevice common) |
| | | { |
| | | |
| | | } |
| | | /// <summary> |
| | | /// Changeds the IL ogic status. |
| | | /// </summary> |
| | | /// <param name="logic">Logic.</param> |
| | | public void ChangedILogicStatus(ZigBee.Device.Logic logic) |
| | | { |
| | | |
| | | } |
| | | /// <summary> |
| | | /// Changeds the IS cene status. |
| | | /// </summary> |
| | | /// <param name="scene">Scene.</param> |
| | | public void ChangedISceneStatus(Scene scene) |
| | | { |
| | | |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 设备状态更新接口 |
| | | /// <para>type:如果为 DeviceInComingRespon:设备新上报</para> |
| | |
| | | for (int i = 0; deviceListScrolView != null && i < deviceListScrolView.ChildrenCount; i++) |
| | | { |
| | | var rowLayout = deviceListScrolView.GetChildren(i) as RowLayout; |
| | | var deviceUI = rowLayout.Tag as DeviceUI; |
| | | if (deviceUI == null || deviceUI.CommonDevice == null) |
| | | var deviceUI = LocalDevice.Current.GetDevice(rowLayout.Tag.ToString()); |
| | | if (deviceUI == null) |
| | | { |
| | | continue; |
| | | } |
| | | if (deviceUI.CommonDevice.DeviceAddr != common.DeviceAddr || deviceUI.CommonDevice.DeviceEpoint != common.DeviceEpoint) |
| | | if (deviceUI.DeviceAddr != common.DeviceAddr || deviceUI.DeviceEpoint != common.DeviceEpoint) |
| | | { |
| | | continue; |
| | | } |
| | | switch (deviceUI.CommonDevice.Type) |
| | | switch (deviceUI.Type) |
| | | { |
| | | case DeviceType.OnOffOutput: |
| | | //开关功能 |
| | | if (common.DeviceStatusReport.CluterID == 6) |
| | | { |
| | | var light = deviceUI.CommonDevice as ToggleLight; |
| | | var light = deviceUI as ToggleLight; |
| | | light.DeviceStatusReport = common.DeviceStatusReport; |
| | | light.OnOffStatus = light.DeviceStatusReport.AttriBute[0].AttriButeData; |
| | | var row = rowLayout.GetChildren(0) as CategoryFunctionRow; |
| | | row.SetStatu(light.OnOffStatus == 1); |
| | | row.SetStatuText(deviceUI.GetDeviceStatu()); |
| | | row.IsSelected = light.OnOffStatus == 1; |
| | | row.SetStatuText(HdlDeviceOtherLogic.Current.GetDeviceStatu(deviceUI)); |
| | | light.LastDateTime = DateTime.Now; |
| | | } |
| | | if (common.DeviceStatusReport.CluterID == 3) |
| | | { |
| | | deviceUI.CommonDevice.IsOnline = 1; |
| | | deviceUI.CommonDevice.LastDateTime = DateTime.Now; |
| | | var row = rowLayout.GetChildren(0) as CategoryFunctionRow; |
| | | row.SetStatu(true); |
| | | deviceUI.IsOnline = 1; |
| | | deviceUI.LastDateTime = DateTime.Now; |
| | | } |
| | | break; |
| | | |
| | |
| | | //开关功能 |
| | | if (common.DeviceStatusReport.CluterID == 6) |
| | | { |
| | | var airSwitch = deviceUI.CommonDevice as ZigBee.Device.AirSwitch; |
| | | var airSwitch = deviceUI as ZigBee.Device.AirSwitch; |
| | | airSwitch.DeviceStatusReport = common.DeviceStatusReport; |
| | | airSwitch.OnOffStatus = airSwitch.DeviceStatusReport.AttriBute[0].AttriButeData; |
| | | var row = rowLayout.GetChildren(0) as CategoryFunctionRow; |
| | | row.SetStatu(airSwitch.OnOffStatus == 1); |
| | | row.SetStatuText(deviceUI.GetDeviceStatu()); |
| | | row.IsSelected = airSwitch.OnOffStatus == 1; |
| | | row.SetStatuText(HdlDeviceOtherLogic.Current.GetDeviceStatu(deviceUI)); |
| | | airSwitch.LastDateTime = DateTime.Now; |
| | | } |
| | | if (common.DeviceStatusReport.CluterID == 3) |
| | | { |
| | | deviceUI.CommonDevice.IsOnline = 1; |
| | | deviceUI.CommonDevice.LastDateTime = DateTime.Now; |
| | | var row = rowLayout.GetChildren(0) as CategoryFunctionRow; |
| | | row.SetStatu(true); |
| | | deviceUI.IsOnline = 1; |
| | | deviceUI.LastDateTime = DateTime.Now; |
| | | } |
| | | break; |
| | | case DeviceType.WindowCoveringDevice: |
| | |
| | | if (common.DeviceStatusReport.AttriBute[0].AttributeId == 0) |
| | | { |
| | | //窗帘类型 |
| | | var rollerShade = deviceUI.CommonDevice as Rollershade; |
| | | var rollerShade = deviceUI as Rollershade; |
| | | rollerShade.DeviceStatusReport = common.DeviceStatusReport; |
| | | rollerShade.WcdType = common.DeviceStatusReport.AttriBute[0].AttriButeData; |
| | | rollerShade.LastDateTime = DateTime.Now; |
| | |
| | | { |
| | | var row = rowLayout.GetChildren(0) as CategoryFunctionForWinRow; |
| | | //窗帘百分比 |
| | | var rollerShade = deviceUI.CommonDevice as Rollershade; |
| | | var rollerShade = deviceUI as Rollershade; |
| | | rollerShade.DeviceStatusReport = common.DeviceStatusReport; |
| | | rollerShade.WcdCurrentPositionLiftPercentage = common.DeviceStatusReport.AttriBute[0].AttriButeData; |
| | | row.SetStatuText($"{Language.StringByID(R.MyInternationalizationString.Current)} { deviceUI.GetDeviceStatu()}"); |
| | | row.SetStatuText($"{Language.StringByID(R.MyInternationalizationString.Current)} { HdlDeviceOtherLogic.Current.GetDeviceStatu(deviceUI)}"); |
| | | row.IsSelected = rollerShade.WcdCurrentPositionLiftPercentage != 0; |
| | | rollerShade.LastDateTime = DateTime.Now; |
| | | } |
| | | } |
| | | if (common.DeviceStatusReport.CluterID == 3) |
| | | { |
| | | deviceUI.CommonDevice.IsOnline = 1; |
| | | deviceUI.CommonDevice.LastDateTime = DateTime.Now; |
| | | var row = rowLayout.GetChildren(0) as CategoryFunctionForWinRow; |
| | | row.SetStatu(true); |
| | | deviceUI.IsOnline = 1; |
| | | deviceUI.LastDateTime = DateTime.Now; |
| | | } |
| | | break; |
| | | |
| | |
| | | if (common.DeviceStatusReport.CluterID == 513) |
| | | { |
| | | var attriButeList = common.DeviceStatusReport.AttriBute; |
| | | var ac = deviceUI.CommonDevice as ZigBee.Device.AC; |
| | | var ac = deviceUI as ZigBee.Device.AC; |
| | | ac.DeviceStatusReport = common.DeviceStatusReport; |
| | | foreach(var attList in attriButeList) |
| | | foreach (var attList in attriButeList) |
| | | { |
| | | var curTemp = (attList.AttriButeData / 100 < ACControlBase.Temperature_High && attList.AttriButeData / 100 > ACControlBase.Temperature_Low) ? attList.AttriButeData / 100 : ACControlBase.Temperature_Default; |
| | | switch (attList.AttributeId) |
| | |
| | | ac.currentSystemMode = attList.AttriButeData; |
| | | ac.LastDateTime = DateTime.Now; |
| | | break; |
| | | case 4099: |
| | | var value = Convert.ToString(attList.AttriButeData, 2).PadLeft(16, '0'); |
| | | var modeStr = value.Substring(value.Length - 5, 5); |
| | | for (int j = 0; j < modeStr.Length; j++) |
| | | { |
| | | ac.listSupportMode[j] = Convert.ToInt32(modeStr[j]) == 49 ? 1 : 0; |
| | | } |
| | | break; |
| | | case 4097: |
| | | //过虑网清洗标志:42 |
| | | ac.CleanStatu = attList.AttriButeData == 42; |
| | |
| | | } |
| | | } |
| | | var row = rowLayout.GetChildren(0) as CategoryFunctionRow; |
| | | row.SetStatu(ac.currentSystemMode != 0); |
| | | row.SetStatuText(deviceUI.GetDeviceStatu()); |
| | | row.IsSelected = ac.currentSystemMode != 0; |
| | | row.SetStatuText(HdlDeviceOtherLogic.Current.GetDeviceStatu(deviceUI)); |
| | | } |
| | | |
| | | if (common.DeviceStatusReport.CluterID == 514) |
| | | { |
| | | var ac = deviceUI.CommonDevice as ZigBee.Device.AC; |
| | | var ac = deviceUI as ZigBee.Device.AC; |
| | | var attriButeList = common.DeviceStatusReport.AttriBute; |
| | | ac.DeviceStatusReport = common.DeviceStatusReport; |
| | | foreach(var attList in attriButeList) |
| | | foreach (var attList in attriButeList) |
| | | { |
| | | switch (attList.AttributeId) |
| | | { |
| | |
| | | } |
| | | } |
| | | var row = rowLayout.GetChildren(0) as CategoryFunctionRow; |
| | | row.SetStatu(ac.currentSystemMode != 0); |
| | | row.SetStatuText(deviceUI.GetDeviceStatu()); |
| | | row.IsSelected = ac.currentSystemMode != 0; |
| | | row.SetStatuText(HdlDeviceOtherLogic.Current.GetDeviceStatu(deviceUI)); |
| | | } |
| | | |
| | | if (common.DeviceStatusReport.CluterID == 3) |
| | | { |
| | | var ac = deviceUI.CommonDevice as ZigBee.Device.AC; |
| | | var ac = deviceUI as ZigBee.Device.AC; |
| | | ac.IsOnline = 1; |
| | | ac.LastDateTime = DateTime.Now; |
| | | var row = rowLayout.GetChildren(0) as CategoryFunctionRow; |
| | | row.SetStatu(true); |
| | | } |
| | | break; |
| | | case DeviceType.DimmableLight: |
| | | //调光灯功能 |
| | | if (common.DeviceStatusReport.CluterID == 6) |
| | | { |
| | | var dimmableLight = deviceUI.CommonDevice as DimmableLight; |
| | | var dimmableLight = deviceUI as DimmableLight; |
| | | dimmableLight.DeviceStatusReport = common.DeviceStatusReport; |
| | | dimmableLight.OnOffStatus = dimmableLight.DeviceStatusReport.AttriBute[0].AttriButeData; |
| | | var row = rowLayout.GetChildren(0) as CategoryFunctionRow; |
| | | row.SetStatu(dimmableLight.OnOffStatus == 1); |
| | | row.SetStatuText(deviceUI.GetDeviceStatu()); |
| | | row.IsSelected = dimmableLight.OnOffStatus == 1; |
| | | row.SetStatuText(HdlDeviceOtherLogic.Current.GetDeviceStatu(deviceUI)); |
| | | dimmableLight.LastDateTime = DateTime.Now; |
| | | } |
| | | if (common.DeviceStatusReport.CluterID == 8) |
| | | { |
| | | var dimmableLight = deviceUI.CommonDevice as DimmableLight; |
| | | var dimmableLight = deviceUI as DimmableLight; |
| | | dimmableLight.DeviceStatusReport = common.DeviceStatusReport; |
| | | dimmableLight.Level = dimmableLight.DeviceStatusReport.AttriBute[0].AttriButeData; |
| | | var row = rowLayout.GetChildren(0) as CategoryFunctionRow; |
| | | row.SetStatu(dimmableLight.OnOffStatus == 1); |
| | | row.SetStatuText(deviceUI.GetDeviceStatu()); |
| | | row.IsSelected = dimmableLight.OnOffStatus == 1; |
| | | row.SetStatuText(HdlDeviceOtherLogic.Current.GetDeviceStatu(deviceUI)); |
| | | dimmableLight.LastDateTime = DateTime.Now; |
| | | } |
| | | if (common.DeviceStatusReport.CluterID == 3) |
| | | { |
| | | deviceUI.CommonDevice.IsOnline = 1; |
| | | deviceUI.CommonDevice.LastDateTime = DateTime.Now; |
| | | var row = rowLayout.GetChildren(0) as CategoryFunctionRow; |
| | | row.SetStatu(true); |
| | | deviceUI.IsOnline = 1; |
| | | deviceUI.LastDateTime = DateTime.Now; |
| | | } |
| | | break; |
| | | |
| | | case DeviceType.TemperatureSensor: |
| | | //温度 |
| | | if (common.DeviceStatusReport.CluterID == 1026) |
| | | { |
| | | var tempera = deviceUI as TemperatureSensor; |
| | | foreach (var data in common.DeviceStatusReport.AttriBute) |
| | | { |
| | | if (data.AttributeId == (int)ZigBee.Device.AttriButeId.MeasuredValue) |
| | | { |
| | | if (data.AttriButeData == 0) |
| | | { |
| | | tempera.Temperatrue = 0; |
| | | } |
| | | else if (data.AttriButeData > 32767) |
| | | { |
| | | //负数(特殊处理) |
| | | string strValue = (data.AttriButeData - 65536).ToString(); |
| | | //小数点需要一位 |
| | | strValue = strValue.Substring(0, strValue.Length - 1); |
| | | tempera.Temperatrue = Convert.ToDecimal(strValue.Insert(strValue.Length - 1, ".")); |
| | | } |
| | | else |
| | | { |
| | | //小数点需要一位 |
| | | string strValue = data.AttriButeData.ToString(); |
| | | strValue = strValue.Substring(0, strValue.Length - 1); |
| | | tempera.Temperatrue = Convert.ToDecimal(strValue.Insert(strValue.Length - 1, ".")); |
| | | } |
| | | var row = rowLayout.GetChildren(0) as CategoryFunctionRow; |
| | | row.SetStatuText(HdlDeviceOtherLogic.Current.GetDeviceStatu(deviceUI)); |
| | | } |
| | | } |
| | | } |
| | | //湿度 |
| | | if (common.DeviceStatusReport.CluterID == 1029) |
| | | { |
| | | var tempera = deviceUI as TemperatureSensor; |
| | | foreach (var data in common.DeviceStatusReport.AttriBute) |
| | | { |
| | | if (data.AttributeId == (int)ZigBee.Device.AttriButeId.MeasuredValue) |
| | | { |
| | | if (data.AttriButeData == 0) |
| | | { |
| | | tempera.Humidity = 0; |
| | | } |
| | | else |
| | | { |
| | | //小数点需要一位(湿度没有负数) |
| | | string strValue = data.AttriButeData.ToString(); |
| | | strValue = strValue.Substring(0, strValue.Length - 1); |
| | | tempera.Humidity = Convert.ToDecimal(strValue.Insert(strValue.Length - 1, ".")); |
| | | tempera.LastDateTime = DateTime.Now; |
| | | } |
| | | var row = rowLayout.GetChildren(0) as CategoryFunctionRow; |
| | | row.SetStatuText(HdlDeviceOtherLogic.Current.GetDeviceStatu(deviceUI)); |
| | | } |
| | | } |
| | | } |
| | | break; |
| | | } |
| | |
| | | for (int i = 0; deviceListScrolView != null && i < deviceListScrolView.ChildrenCount; i++) |
| | | { |
| | | var rowLayout = deviceListScrolView.GetChildren(i) as RowLayout; |
| | | var deviceUI = rowLayout.Tag as DeviceUI; |
| | | if (deviceUI == null || deviceUI.CommonDevice == null) |
| | | var deviceUI = LocalDevice.Current.GetDevice(rowLayout.Tag.ToString()); |
| | | if (deviceUI == null) |
| | | { |
| | | continue; |
| | | } |
| | | if (deviceUI.CommonDevice.DeviceAddr != common.DeviceAddr || deviceUI.CommonDevice.DeviceEpoint != common.DeviceEpoint) |
| | | if (deviceUI.DeviceAddr != common.DeviceAddr || deviceUI.DeviceEpoint != common.DeviceEpoint) |
| | | { |
| | | continue; |
| | | } |
| | | switch (deviceUI.CommonDevice.Type) |
| | | switch (deviceUI.Type) |
| | | { |
| | | case DeviceType.OnOffOutput: |
| | | deviceUI.CommonDevice.IsOnline = common.IsOnline; |
| | | var row = rowLayout.GetChildren(0) as CategoryFunctionRow; |
| | | row.SetStatu(deviceUI.CommonDevice.IsOnline == 1); |
| | | deviceUI.CommonDevice.LastDateTime = DateTime.Now; |
| | | deviceUI.IsOnline = common.IsOnline; |
| | | deviceUI.LastDateTime = DateTime.Now; |
| | | break; |
| | | |
| | | case DeviceType.AirSwitch: |
| | | deviceUI.CommonDevice.IsOnline = common.IsOnline; |
| | | var row1 = rowLayout.GetChildren(0) as CategoryFunctionRow; |
| | | row1.SetStatu(deviceUI.CommonDevice.IsOnline == 1); |
| | | deviceUI.CommonDevice.LastDateTime = DateTime.Now; |
| | | deviceUI.IsOnline = common.IsOnline; |
| | | deviceUI.LastDateTime = DateTime.Now; |
| | | break; |
| | | |
| | | case DeviceType.WindowCoveringDevice: |
| | | deviceUI.CommonDevice.LastDateTime = DateTime.Now; |
| | | deviceUI.CommonDevice.IsOnline = common.IsOnline; |
| | | var row2 = rowLayout.GetChildren(0) as CategoryFunctionForWinRow; |
| | | row2.SetStatu(deviceUI.CommonDevice.IsOnline == 1); |
| | | deviceUI.LastDateTime = DateTime.Now; |
| | | deviceUI.IsOnline = common.IsOnline; |
| | | 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); |
| | | deviceUI.LastDateTime = DateTime.Now; |
| | | deviceUI.IsOnline = common.IsOnline; |
| | | break; |
| | | |
| | | case DeviceType.Thermostat: |
| | | deviceUI.CommonDevice.LastDateTime = DateTime.Now; |
| | | deviceUI.CommonDevice.IsOnline = common.IsOnline; |
| | | var row5 = rowLayout.GetChildren(0) as CategoryFunctionRow; |
| | | row5.SetStatu(deviceUI.CommonDevice.IsOnline == 1); |
| | | deviceUI.LastDateTime = DateTime.Now; |
| | | deviceUI.IsOnline = common.IsOnline; |
| | | break; |
| | | } |
| | | } |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | System.Console.WriteLine($"分类设备状态-Error:{ex.Message}"); |
| | | } |
| | | }); |
| | | } |
| | | else if (typeTag == "IASInfoReport") |
| | | { |
| | | Application.RunOnMainThread(() => |
| | | { |
| | | try |
| | | { |
| | | for (int i = 0; deviceListScrolView != null && i < deviceListScrolView.ChildrenCount; i++) |
| | | { |
| | | var rowLayout = deviceListScrolView.GetChildren(i) as RowLayout; |
| | | var deviceUI = LocalDevice.Current.GetDevice(rowLayout.Tag.ToString()); |
| | | if (deviceUI == null) |
| | | { |
| | | continue; |
| | | } |
| | | if (deviceUI.DeviceAddr != common.DeviceAddr || deviceUI.DeviceEpoint != common.DeviceEpoint) |
| | | { |
| | | continue; |
| | | } |
| | | switch (deviceUI.Type) |
| | | { |
| | | case DeviceType.IASZone: |
| | | //开关功能 |
| | | var ias = common as IASZone; |
| | | var iAS = deviceUI as ZigBee.Device.IASZone; |
| | | iAS.iASInfo = ias.iASInfo; |
| | | var row = rowLayout.GetChildren(0) as CategoryFunctionRow; |
| | | row.IsSelected = iAS.iASInfo?.Alarm1 == 1; |
| | | row.SetStatuText(HdlDeviceOtherLogic.Current.GetDeviceStatu(deviceUI)); |
| | | iAS.LastDateTime = DateTime.Now; |
| | | break; |
| | | } |
| | | } |
| | |
| | | TextID = R.MyInternationalizationString.Category, |
| | | TextSize = 24, |
| | | TextColor = ZigbeeColor.Current.GXCTextDeepBlackColor, |
| | | IsBold=true |
| | | IsBold = true |
| | | }; |
| | | topView.AddChidren(title); |
| | | |
| | |
| | | functionBtn.SetTitle(R.MyInternationalizationString.Function); |
| | | functionBtn.X = sceneBtn.Right; |
| | | //自动化 |
| | | automationBtn = new ButtonLineForm(CommonFormResouce.X_Left + 150 * 2 + 20+50, 34); |
| | | automationBtn = new ButtonLineForm(CommonFormResouce.X_Left + 150 * 2 + 20 + 50, 34); |
| | | automationBtn.Init(); |
| | | automationBtn.SetTitle(R.MyInternationalizationString.Automation); |
| | | automationBtn.X = functionBtn.Right; |
| | |
| | | Gravity = Gravity.CenterVertical, |
| | | TextAlignment = TextAlignment.CenterRight, |
| | | TextColor = ZigbeeColor.Current.GXCTextBlackColor, |
| | | TextSize=14, |
| | | IsBold=true |
| | | TextSize = 14, |
| | | IsBold = true |
| | | }; |
| | | |
| | | selectFloorBtn = new Button() |
| | |
| | | addBtn.MouseUpEventHandler += AddBtn_MouseUpEventHandler; |
| | | |
| | | selectFloorBtn.MouseUpEventHandler += SelectedFloor_MouseUpEventHandler; |
| | | floorBtn.MouseUpEventHandler+= SelectedFloor_MouseUpEventHandler; |
| | | floorBtn.MouseUpEventHandler += SelectedFloor_MouseUpEventHandler; |
| | | |
| | | } |
| | | |
| | |
| | | /// <param name="mouseEventArgs">The ${ParameterType} instance containing the event data.</param> |
| | | private void SelectedFloor_MouseUpEventHandler(object sender, MouseEventArgs mouseEventArgs) |
| | | { |
| | | var floors = new SelectFloor (); |
| | | var floors = new SelectFloor(); |
| | | AddChidren(floors); |
| | | floors.Init(580,330,Direction.Right); |
| | | floors.Init(580, 330, Direction.Right); |
| | | floors.changeFloor = true; |
| | | floors.FloorAction += (floorId) => |
| | | { |
| | | floorBtn.Text = Config.Instance.Home.GetFloorNameById(floorId); |
| | | HdlRoomLogic.Current.CurrentRoom = HdlRoomLogic.Current.GetLoveRoom(); |
| | | RefreshBodyView(); |
| | | }; |
| | | } |
| | |
| | | UserView.HomePage.Instance.AddChidren(scene); |
| | | UserView.HomePage.Instance.PageIndex += 1; |
| | | scene.Show(); |
| | | scene.AddAction = () => |
| | | { |
| | | ShowScene(); |
| | | }; |
| | | } |
| | | |
| | | /// <summary> |
| | |
| | | /// </summary> |
| | | private void Add_Automation() |
| | | { |
| | | //new一个新逻辑对象; |
| | | Common.Logic.CurrentLogic = new Common.Logic(); |
| | | Common.Logic.CurrentLogic.IsEnable = 1;//默认为开 |
| | | Common.Logic.CurrentLogic.LogicName = Language.StringByID(MyInternationalizationString.automation1); |
| | | var addLogicPage = new Shared.Phone.Device.Logic.AddLogicPage(); |
| | | UserView.HomePage.Instance.AddChidren(addLogicPage); |
| | | UserView.HomePage.Instance.PageIndex += 1; |
| | | addLogicPage.Show(); |
| | | ////new一个新逻辑对象; |
| | | //Common.Logic.CurrentLogic = new Common.Logic(); |
| | | //Common.Logic.CurrentLogic.IsEnable = 1;//默认为开 |
| | | //Common.Logic.CurrentLogic.LogicName = Language.StringByID(MyInternationalizationString.automation1); |
| | | //var addLogicPage = new Shared.Phone.Device.Logic.AddLogicPage(); |
| | | //UserView.HomePage.Instance.AddChidren(addLogicPage); |
| | | //UserView.HomePage.Instance.PageIndex += 1; |
| | | //addLogicPage.Show(); |
| | | Shared.Phone.Device.Logic.SkipView.SkipAddLogic(0); |
| | | } |
| | | /// <summary> |
| | | /// HidenFloor |
| | |
| | | /// </summary> |
| | | private void InitData() |
| | | { |
| | | typeDeviceDic = new Dictionary<int, List<DeviceUI>> { }; |
| | | typeDeviceDic = new Dictionary<int, List<CommonDevice>> { }; |
| | | typeIdDic = new Dictionary<int, DeviceConcreteType> { }; |
| | | } |
| | | |
| | |
| | | /// </summary> |
| | | private void RefreshData(Common.Room room) |
| | | { |
| | | devList = room.DeviceUIList; |
| | | sceneList = room.SceneUIList; |
| | | devList = HdlRoomLogic.Current.GetRoomListDevice(room); |
| | | sceneList = HdlSceneLogic.Current.GetRoomSceneList(room); |
| | | typeDeviceDic.Clear(); |
| | | typeIdDic.Clear(); |
| | | foreach (var device in devList) |
| | | { |
| | | var info = Common.LocalDevice.Current.GetNotHdlMyDeviceEnumInfo(new List<CommonDevice> { device.CommonDevice }); |
| | | var info = Common.LocalDevice.Current.GetDeviceBelongEnumInfo(device); |
| | | if (info.BeloneType == DeviceBeloneType.A干接点 || info.BeloneType == DeviceBeloneType.A中继器) |
| | | { |
| | | continue; |
| | | } |
| | | if (typeDeviceDic.ContainsKey(info.BeloneTextId) == false) |
| | | { |
| | | var sameDevList = new List<DeviceUI> { }; |
| | | var sameDevList = new List<CommonDevice> { }; |
| | | sameDevList.Add(device); |
| | | typeDeviceDic[info.BeloneTextId] = sameDevList; |
| | | } |
| | |
| | | { |
| | | var noFunction = new Button() |
| | | { |
| | | Y=Application.GetRealHeight(320), |
| | | Width=Application.GetMinRealAverage(757), |
| | | Y = Application.GetRealHeight(320), |
| | | Width = Application.GetMinRealAverage(757), |
| | | Height = Application.GetMinRealAverage(435), |
| | | UnSelectedImagePath="Item/NoFunction.png", |
| | | UnSelectedImagePath = "Item/NoFunction.png", |
| | | Gravity = Gravity.CenterHorizontal |
| | | }; |
| | | functionSceneBodyView.AddChidren(noFunction); |
| | |
| | | Height = Application.GetRealHeight(200), |
| | | Width = Application.GetRealWidth(700), |
| | | Gravity = Gravity.CenterHorizontal, |
| | | Text = Language.StringByID(R.MyInternationalizationString.NoFunction).Replace("{\\r\\n}","\r\n"), |
| | | Text = Language.StringByID(R.MyInternationalizationString.NoFunction).Replace("{\\r\\n}", "\r\n"), |
| | | TextColor = ZigbeeColor.Current.GXCPlaceHolderTextColor, |
| | | TextAlignment = TextAlignment.Center, |
| | | IsMoreLines=true |
| | | IsMoreLines = true |
| | | }; |
| | | functionSceneBodyView.AddChidren(noFunctionTip); |
| | | } |
| | |
| | | deviceListScrolView = new VerticalScrolViewLayout |
| | | { |
| | | X = Application.GetRealWidth(CommonFormResouce.X_Left), |
| | | Y = Application.GetRealHeight(35+275), |
| | | Y = Application.GetRealHeight(35 + 279), |
| | | Width = Application.GetRealWidth(1028), |
| | | Height = Application.GetRealHeight(939), |
| | | Height = Application.GetRealHeight(942), |
| | | BackgroundColor = ZigbeeColor.Current.GXCBackgroundColor |
| | | }; |
| | | functionSceneBodyView.AddChidren(deviceListScrolView); |
| | | deviceListScrolView.SetCornerWithSameRadius(Application.GetRealHeight(58), HDLUtils.RectCornerTopLeft); |
| | | |
| | | tempFunctionTypeBtn = new FunctionButton(); |
| | | tempFunctionTypeBtn.Init("",""); |
| | | tempFunctionTypeBtn.Init("", ""); |
| | | |
| | | foreach (var deviceType in typeIdDic) |
| | | { |
| | |
| | | }; |
| | | string imgPath = string.Empty; |
| | | string imgSeletedPath = string.Empty; |
| | | Common.LocalDevice.Current.GetDeviceBeloneIcon(deviceType.Value, ref imgPath, ref imgSeletedPath); |
| | | Common.LocalDevice.Current.GetDeviceObjectIcon(deviceType.Value, ref imgPath, ref imgSeletedPath); |
| | | functionTypeIMG.Init(imgPath, imgSeletedPath); |
| | | functionTypeIMG.SetTitle(deviceType.Key); |
| | | typeRowLayout.AddChidren(functionTypeIMG); |
| | |
| | | |
| | | deviceListScrolView.RemoveAll(); |
| | | |
| | | var sameTypeList = new List<DeviceUI> { }; |
| | | var sameTypeList = new List<CommonDevice> { }; |
| | | sameTypeList = typeDeviceDic[int.Parse((typeSender as Button).Tag.ToString())]; |
| | | |
| | | for (int i = 0; i < sameTypeList.Count; i++) |
| | |
| | | { |
| | | try |
| | | { |
| | | //删除设备 |
| | | EventHandler<MouseEventArgs> delEvent = (delSender, delE) => |
| | | var deviceTypeRowLayout = new RowLayout() |
| | | { |
| | | var alert = new CustomAlert(); |
| | | AddChidren(alert); |
| | | alert.Show(Language.StringByID(R.MyInternationalizationString.DeleteFunction)); |
| | | alert.ResultEventHandler += (e2) => |
| | | { |
| | | if (e2) |
| | | { |
| | | Shared.Common.Room.CurrentRoom.DeleteDevice(deviceUI.CommonDevice); |
| | | deviceListScrolView.RemoveViewByTag((delSender as Button).Tag); |
| | | sameTypeList.Remove(deviceUI); |
| | | if (sameTypeList.Count == 0) |
| | | { |
| | | RefreshBodyView(); |
| | | } |
| | | } |
| | | }; |
| | | Height = Application.GetRealHeight(127 + 35), |
| | | LineColor = ZigbeeColor.Current.GXCClearColor, |
| | | Tag = LocalDevice.Current.GetDeviceMainKeys(deviceUI), |
| | | SubViewWidth = Application.GetRealWidth(184) |
| | | }; |
| | | EventHandler<MouseEventArgs> deviceDetailHandler = (send2, e2) => |
| | | { |
| | | var detailInfo = new Device.CommonForm.DeviceDetailInfo { }; |
| | | UserView.HomePage.Instance.AddChidren(detailInfo); |
| | | UserView.HomePage.Instance.PageIndex += 1; |
| | | detailInfo.Show(deviceUI, Shared.Common.Room.CurrentRoom); |
| | | detailInfo.action = RefreshBodyView; |
| | | }; |
| | | deviceListScrolView.AddChidren(deviceTypeRowLayout); |
| | | |
| | | if (deviceUI.CommonDevice.Type == DeviceType.OnOffOutput) |
| | | if (deviceUI.Type == DeviceType.OnOffOutput) |
| | | { |
| | | //灯 |
| | | var light = deviceUI.CommonDevice as ToggleLight; |
| | | var light = deviceUI as ToggleLight; |
| | | if (light.Gateway != null) |
| | | { |
| | | new System.Threading.Thread(() => |
| | |
| | | { |
| | | UserHomeView.ReadStatus(light, () => |
| | | { |
| | | ReadDeviceAttributeLogic.Instance.SendLightStatuComand(deviceUI.CommonDevice); |
| | | ReadDeviceAttributeLogic.Instance.SendLightStatuComand(deviceUI); |
| | | }); |
| | | } |
| | | else |
| | |
| | | //防止短时间内多次读取状态 |
| | | if (CommonPage.ReadDeviceStatuSpan < (DateTime.Now - light.LastDateTime).TotalSeconds) |
| | | { |
| | | ReadDeviceAttributeLogic.Instance.SendLightStatuComand(deviceUI.CommonDevice); |
| | | ReadDeviceAttributeLogic.Instance.SendLightStatuComand(deviceUI); |
| | | } |
| | | } |
| | | }) |
| | | { IsBackground = true }.Start(); |
| | | |
| | | 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(light.IsOnline == 1); |
| | | deviceRow.SetStatuText(deviceUI.GetDeviceStatu()); |
| | | deviceRow.SetStatu(light.OnOffStatus == 1); |
| | | deviceRow.SetTitle(Common.LocalDevice.Current.GetDeviceEpointName(deviceUI)); |
| | | deviceRow.SetStatuText(HdlDeviceOtherLogic.Current.GetDeviceStatu(deviceUI)); |
| | | deviceRow.IsSelected = light.OnOffStatus == 1; |
| | | deviceTypeRowLayout.AddChidren(deviceRow); |
| | | |
| | | deviceRow.SwitchBtn.MouseUpEventHandler += (send2, e2) => |
| | | { |
| | | zbGateway = deviceUI.CommonDevice.Gateway; |
| | | zbGateway = deviceUI.Gateway; |
| | | sendedControlCommand = false; |
| | | zbGateway.ReportAction += UpdateDeviceControllStatu; |
| | | AddZbGateway(zbGatewayList, zbGateway, commonDeviceList, deviceUI.CommonDevice); |
| | | AddZbGateway(zbGatewayList, zbGateway, commonDeviceList, deviceUI); |
| | | (send2 as Button).IsSelected = !(send2 as Button).IsSelected; |
| | | deviceRow.IsSelected = (send2 as Button).IsSelected; |
| | | if ((send2 as Button).IsSelected) |
| | |
| | | { |
| | | light.SwitchControl(0); |
| | | } |
| | | deviceRow.SetStatuText(deviceUI.GetDeviceStatu()); |
| | | deviceRow.SetStatuText(HdlDeviceOtherLogic.Current.GetDeviceStatu(deviceUI)); |
| | | //控制延时回调 |
| | | DeviceUI.SendCommandDelayAction(deviceUI.CommonDevice, () => |
| | | HdlDeviceOtherLogic.Current.SendCommandDelayAction(deviceUI, () => |
| | | { |
| | | if (Parent == null) |
| | | { |
| | |
| | | RemoveUpdateControlDeviceStatuAction(zbGateway); |
| | | if (sendedControlCommand == false) |
| | | { |
| | | DeviceUI.ShowStatuTip(R.MyInternationalizationString.FAIL); |
| | | HdlDeviceOtherLogic.Current.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.Show(deviceUI, HdlRoomLogic.Current.CurrentRoom); |
| | | lightControl.action += (curDev, curRoom) => |
| | | { |
| | | var lightControl = new Phone.Device.Light.OnOffControl(); |
| | | UserView.HomePage.Instance.AddChidren(lightControl); |
| | | UserView.HomePage.Instance.PageIndex += 1; |
| | | //lightControl.action = RefreshBodyView; |
| | | lightControl.Show(deviceUI, curRoom); |
| | | } |
| | | 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, curRoom); |
| | | } |
| | | else |
| | | { |
| | | var lightControl = new Phone.Device.Light.LightControl(); |
| | | UserView.HomePage.Instance.AddChidren(lightControl); |
| | | UserView.HomePage.Instance.PageIndex += 1; |
| | | //lightControl.action = RefreshBodyView; |
| | | lightControl.Show(deviceUI, curRoom); |
| | | } |
| | | ReFreshDeviceAction(deviceUI, curRoom, sameTypeList, deviceListScrolView, deviceRow); |
| | | }; |
| | | }; |
| | | |
| | | EventHandler<MouseEventArgs> deviceDetailHandler = (send2, e2) => |
| | | { |
| | | var detailInfo = new Device.CommonForm.DeviceDetailInfo { }; |
| | | UserView.HomePage.Instance.AddChidren(detailInfo); |
| | | UserView.HomePage.Instance.PageIndex += 1; |
| | | detailInfo.Show(deviceUI, HdlRoomLogic.Current.CurrentRoom); |
| | | detailInfo.EditAction += (curDevice, curRoom) => |
| | | { |
| | | ReFreshDeviceAction(deviceUI, curRoom, sameTypeList, deviceListScrolView, deviceRow); |
| | | }; |
| | | }; |
| | | var editBtn = new CommonForm.RowLayoutEditButton() |
| | | { |
| | | Tag = deviceUI, |
| | | Radius = 0 |
| | | Tag = LocalDevice.Current.GetDeviceMainKeys(deviceUI) |
| | | }; |
| | | var delBtn = new CommonForm.RowLayoutDeleteButton() |
| | | { |
| | | Tag = deviceUI, |
| | | Radius = 0 |
| | | }; |
| | | if (curRoom.IsSharedRoom == false) |
| | | if (HdlRoomLogic.Current.CurrentRoom.IsSharedRoom == false) |
| | | { |
| | | deviceTypeRowLayout.AddRightView(editBtn); |
| | | editBtn.MouseUpEventHandler += deviceDetailHandler; |
| | | deviceTypeRowLayout.AddRightView(delBtn); |
| | | delBtn.MouseUpEventHandler += delEvent; |
| | | } |
| | | } |
| | | } |
| | | else if (deviceUI.CommonDevice.Type == DeviceType.AirSwitch) |
| | | else if (deviceUI.Type == DeviceType.AirSwitch) |
| | | { |
| | | //空气开关 |
| | | var airSwitch = deviceUI.CommonDevice as AirSwitch; |
| | | var airSwitch = deviceUI as AirSwitch; |
| | | if (airSwitch.Gateway != null) |
| | | { |
| | | new System.Threading.Thread(() => |
| | |
| | | { |
| | | UserHomeView.ReadStatus(airSwitch, () => |
| | | { |
| | | ReadDeviceAttributeLogic.Instance.SendLightStatuComand(deviceUI.CommonDevice); |
| | | ReadDeviceAttributeLogic.Instance.SendLightStatuComand(deviceUI); |
| | | }); |
| | | } |
| | | else |
| | | { |
| | | if ((DateTime.Now - airSwitch.LastDateTime).TotalSeconds > CommonPage.ReadDeviceStatuSpan) |
| | | { |
| | | ReadDeviceAttributeLogic.Instance.SendLightStatuComand(deviceUI.CommonDevice); |
| | | ReadDeviceAttributeLogic.Instance.SendLightStatuComand(deviceUI); |
| | | } |
| | | } |
| | | }) |
| | | { IsBackground = true }.Start(); |
| | | |
| | | 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(airSwitch.IsOnline == 1); |
| | | deviceRow.SetStatu(airSwitch.OnOffStatus == 1); |
| | | deviceRow.SetStatuText(deviceUI.GetDeviceStatu()); |
| | | deviceRow.SetTitle(Common.LocalDevice.Current.GetDeviceEpointName(deviceUI)); |
| | | deviceRow.IsSelected = airSwitch.OnOffStatus == 1; |
| | | deviceRow.SetStatuText(HdlDeviceOtherLogic.Current.GetDeviceStatu(deviceUI)); |
| | | deviceTypeRowLayout.AddChidren(deviceRow); |
| | | |
| | | deviceRow.SwitchBtn.MouseUpEventHandler += (send2, e2) => |
| | | { |
| | | zbGateway = deviceUI.CommonDevice.Gateway; |
| | | zbGateway = deviceUI.Gateway; |
| | | sendedControlCommand = false; |
| | | zbGateway.ReportAction += UpdateDeviceControllStatu; |
| | | AddZbGateway(zbGatewayList, zbGateway, commonDeviceList, deviceUI.CommonDevice); |
| | | |
| | | AddZbGateway(zbGatewayList, zbGateway, commonDeviceList, deviceUI); |
| | | (send2 as Button).IsSelected = !(send2 as Button).IsSelected; |
| | | deviceRow.IsSelected = (send2 as Button).IsSelected; |
| | | if ((send2 as Button).IsSelected) |
| | | { |
| | | airSwitch.SwitchControl(1); |
| | |
| | | { |
| | | airSwitch.SwitchControl(0); |
| | | } |
| | | deviceRow.SetStatuText(deviceUI.GetDeviceStatu()); |
| | | deviceRow.SetStatuText(HdlDeviceOtherLogic.Current.GetDeviceStatu(deviceUI)); |
| | | //控制延时回调 |
| | | DeviceUI.SendCommandDelayAction(deviceUI.CommonDevice, () => |
| | | HdlDeviceOtherLogic.Current.SendCommandDelayAction(deviceUI, () => |
| | | { |
| | | if (Parent == null) |
| | | { |
| | |
| | | RemoveUpdateControlDeviceStatuAction(zbGateway); |
| | | if (sendedControlCommand == false) |
| | | { |
| | | DeviceUI.ShowStatuTip(R.MyInternationalizationString.FAIL); |
| | | HdlDeviceOtherLogic.Current.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, curRoom); |
| | | lightControl.Show(deviceUI, HdlRoomLogic.Current.CurrentRoom); |
| | | lightControl.action += (curDev, curRoom) => |
| | | { |
| | | |
| | | ReFreshDeviceAction(deviceUI, curRoom, sameTypeList, deviceListScrolView, deviceRow); |
| | | |
| | | }; |
| | | }; |
| | | |
| | | EventHandler<MouseEventArgs> deviceDetailHandler = (send2, e2) => |
| | | { |
| | | var detailInfo = new Device.CommonForm.DeviceDetailInfo { }; |
| | | UserView.HomePage.Instance.AddChidren(detailInfo); |
| | | UserView.HomePage.Instance.PageIndex += 1; |
| | | detailInfo.Show(deviceUI, HdlRoomLogic.Current.CurrentRoom); |
| | | detailInfo.EditAction += (curDevice, curRoom) => |
| | | { |
| | | ReFreshDeviceAction(deviceUI, curRoom, sameTypeList, deviceListScrolView, deviceRow); |
| | | |
| | | }; |
| | | }; |
| | | var editBtn = new CommonForm.RowLayoutEditButton() |
| | | { |
| | | Tag = deviceUI, |
| | | Radius = 0 |
| | | Tag = LocalDevice.Current.GetDeviceMainKeys(deviceUI) |
| | | }; |
| | | var delBtn = new CommonForm.RowLayoutDeleteButton() |
| | | { |
| | | Tag = deviceUI, |
| | | Radius = 0 |
| | | }; |
| | | if (curRoom.IsSharedRoom == false) |
| | | if (HdlRoomLogic.Current.CurrentRoom.IsSharedRoom == false) |
| | | { |
| | | deviceTypeRowLayout.AddRightView(editBtn); |
| | | editBtn.MouseUpEventHandler += deviceDetailHandler; |
| | | deviceTypeRowLayout.AddRightView(delBtn); |
| | | delBtn.MouseUpEventHandler += delEvent; |
| | | } |
| | | } |
| | | } |
| | | else if (deviceUI.CommonDevice.Type == DeviceType.DimmableLight) |
| | | else if (deviceUI.Type == DeviceType.DimmableLight) |
| | | { |
| | | //调光灯 |
| | | var dimmableLight = deviceUI.CommonDevice as ZigBee.Device.DimmableLight; |
| | | var dimmableLight = deviceUI as ZigBee.Device.DimmableLight; |
| | | if (dimmableLight.Gateway != null) |
| | | { |
| | | new System.Threading.Thread(() => |
| | |
| | | { |
| | | UserHomeView.ReadStatus(dimmableLight, () => |
| | | { |
| | | ReadDeviceAttributeLogic.Instance.SendDimmableLightStatuComand(deviceUI.CommonDevice); |
| | | ReadDeviceAttributeLogic.Instance.SendDimmableLightStatuComand(deviceUI); |
| | | }); |
| | | } |
| | | else |
| | | { |
| | | if ((DateTime.Now - dimmableLight.LastDateTime).TotalSeconds > CommonPage.ReadDeviceStatuSpan) |
| | | { |
| | | ReadDeviceAttributeLogic.Instance.SendDimmableLightStatuComand(deviceUI.CommonDevice); |
| | | ReadDeviceAttributeLogic.Instance.SendDimmableLightStatuComand(deviceUI); |
| | | } |
| | | } |
| | | }) |
| | | { IsBackground = true }.Start(); |
| | | |
| | | 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(dimmableLight.IsOnline == 1); |
| | | deviceRow.SetStatuText(deviceUI.GetDeviceStatu()); |
| | | deviceRow.SetStatu(dimmableLight.OnOffStatus == 1); |
| | | deviceRow.SetTitle(Common.LocalDevice.Current.GetDeviceEpointName(deviceUI)); |
| | | deviceRow.SetStatuText(HdlDeviceOtherLogic.Current.GetDeviceStatu(deviceUI)); |
| | | deviceRow.IsSelected = dimmableLight.OnOffStatus == 1; |
| | | deviceTypeRowLayout.AddChidren(deviceRow); |
| | | |
| | | deviceRow.SwitchBtn.MouseUpEventHandler += (send2, e2) => |
| | | { |
| | | zbGateway = deviceUI.CommonDevice.Gateway; |
| | | zbGateway = deviceUI.Gateway; |
| | | sendedControlCommand = false; |
| | | zbGateway.ReportAction += UpdateDeviceControllStatu; |
| | | AddZbGateway(zbGatewayList, zbGateway, commonDeviceList, deviceUI.CommonDevice); |
| | | |
| | | AddZbGateway(zbGatewayList, zbGateway, commonDeviceList, deviceUI); |
| | | (send2 as Button).IsSelected = !(send2 as Button).IsSelected; |
| | | deviceRow.IsSelected = (send2 as Button).IsSelected; |
| | | if ((send2 as Button).IsSelected) |
| | | { |
| | | dimmableLight.SwitchControl(1); |
| | |
| | | { |
| | | dimmableLight.SwitchControl(0); |
| | | } |
| | | deviceRow.SetStatuText(deviceUI.GetDeviceStatu()); |
| | | deviceRow.SetStatuText(HdlDeviceOtherLogic.Current.GetDeviceStatu(deviceUI)); |
| | | //控制延时回调 |
| | | DeviceUI.SendCommandDelayAction(deviceUI.CommonDevice, () => |
| | | HdlDeviceOtherLogic.Current.SendCommandDelayAction(deviceUI, () => |
| | | { |
| | | if (Parent == null) |
| | | { |
| | |
| | | RemoveUpdateControlDeviceStatuAction(zbGateway); |
| | | if (sendedControlCommand == false) |
| | | { |
| | | DeviceUI.ShowStatuTip(R.MyInternationalizationString.FAIL); |
| | | HdlDeviceOtherLogic.Current.ShowStatuTip(R.MyInternationalizationString.FAIL); |
| | | } |
| | | }); |
| | | }; |
| | |
| | | UserView.HomePage.Instance.AddChidren(dimmableLightControl); |
| | | UserView.HomePage.Instance.PageIndex += 1; |
| | | UserView.HomePage.Instance.ScrollEnabled = false; |
| | | //dimmableLightControl.action = RefreshBodyView; |
| | | dimmableLightControl.Show(deviceUI, curRoom); |
| | | dimmableLightControl.Show(deviceUI, HdlRoomLogic.Current.CurrentRoom); |
| | | dimmableLightControl.action += (curDev, curRoom) => |
| | | { |
| | | ReFreshDeviceAction(deviceUI, curRoom, sameTypeList, deviceListScrolView, deviceRow); |
| | | }; |
| | | |
| | | }; |
| | | |
| | | EventHandler<MouseEventArgs> deviceDetailHandler = (send2, e2) => |
| | | { |
| | | var detailInfo = new Device.CommonForm.DeviceDetailInfo { }; |
| | | UserView.HomePage.Instance.AddChidren(detailInfo); |
| | | UserView.HomePage.Instance.PageIndex += 1; |
| | | detailInfo.Show(deviceUI, HdlRoomLogic.Current.CurrentRoom); |
| | | detailInfo.EditAction += (curDevice, curRoom) => |
| | | { |
| | | ReFreshDeviceAction(deviceUI, curRoom, sameTypeList, deviceListScrolView, deviceRow); |
| | | }; |
| | | }; |
| | | var editBtn = new CommonForm.RowLayoutEditButton() |
| | | { |
| | | Tag = deviceUI, |
| | | Radius = 0 |
| | | Tag = LocalDevice.Current.GetDeviceMainKeys(deviceUI) |
| | | }; |
| | | var delBtn = new Device.CommonForm.RowLayoutDeleteButton() |
| | | { |
| | | Tag = deviceUI, |
| | | Radius = 0 |
| | | }; |
| | | if (curRoom.IsSharedRoom == false) |
| | | if (HdlRoomLogic.Current.CurrentRoom.IsSharedRoom == false) |
| | | { |
| | | deviceTypeRowLayout.AddRightView(editBtn); |
| | | editBtn.MouseUpEventHandler += deviceDetailHandler; |
| | | deviceTypeRowLayout.AddRightView(delBtn); |
| | | delBtn.MouseUpEventHandler += delEvent; |
| | | } |
| | | } |
| | | } |
| | | else if (deviceUI.CommonDevice.Type == DeviceType.Thermostat) |
| | | else if (deviceUI.Type == DeviceType.Thermostat) |
| | | { |
| | | //空调 |
| | | var ac = deviceUI.CommonDevice as ZigBee.Device.AC; |
| | | var ac = deviceUI as ZigBee.Device.AC; |
| | | if (ac.Gateway != null) |
| | | { |
| | | new System.Threading.Thread(() => |
| | |
| | | //发送读取状态命令 |
| | | UserView.UserHomeView.ReadStatus(ac, () => |
| | | { |
| | | ReadDeviceAttributeLogic.Instance.SendACStatuComand(deviceUI.CommonDevice); |
| | | ReadDeviceAttributeLogic.Instance.SendACStatuComand(deviceUI); |
| | | }); |
| | | } |
| | | else |
| | |
| | | //防止短时间内多次读取设备状态 |
| | | if ((DateTime.Now - ac.LastDateTime).TotalSeconds > CommonPage.ReadDeviceStatuSpan) |
| | | { |
| | | ReadDeviceAttributeLogic.Instance.SendACStatuComand(deviceUI.CommonDevice); |
| | | ReadDeviceAttributeLogic.Instance.SendACStatuComand(deviceUI); |
| | | } |
| | | } |
| | | }) |
| | | { IsBackground = true }.Start(); |
| | | |
| | | 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(ac.IsOnline == 1); |
| | | deviceRow.SetStatuText(deviceUI.GetDeviceStatu()); |
| | | deviceRow.SetStatu(ac.currentSystemMode != 1); |
| | | deviceRow.SetTitle(Common.LocalDevice.Current.GetDeviceEpointName(deviceUI)); |
| | | deviceRow.SetStatuText(HdlDeviceOtherLogic.Current.GetDeviceStatu(deviceUI)); |
| | | deviceRow.IsSelected = ac.currentSystemMode != 1; |
| | | deviceTypeRowLayout.AddChidren(deviceRow); |
| | | |
| | | deviceRow.SwitchBtn.MouseUpEventHandler += (send2, e2) => |
| | | { |
| | | zbGateway = deviceUI.CommonDevice.Gateway; |
| | | zbGateway = deviceUI.Gateway; |
| | | sendedControlCommand = false; |
| | | zbGateway.ReportAction += UpdateDeviceControllStatu; |
| | | AddZbGateway(zbGatewayList, zbGateway, commonDeviceList, deviceUI.CommonDevice); |
| | | AddZbGateway(zbGatewayList, zbGateway, commonDeviceList, deviceUI); |
| | | |
| | | (send2 as Button).IsSelected = !(send2 as Button).IsSelected; |
| | | deviceRow.IsSelected = (send2 as Button).IsSelected; |
| | | if ((send2 as Button).IsSelected) |
| | | { |
| | | ac.Open(); |
| | |
| | | { |
| | | ac.Close(); |
| | | } |
| | | deviceRow.SetStatuText(deviceUI.GetDeviceStatu()); |
| | | deviceRow.SetStatuText(HdlDeviceOtherLogic.Current.GetDeviceStatu(deviceUI)); |
| | | //控制延时回调 |
| | | DeviceUI.SendCommandDelayAction(deviceUI.CommonDevice, () => |
| | | HdlDeviceOtherLogic.Current.SendCommandDelayAction(deviceUI, () => |
| | | { |
| | | if (Parent == null) |
| | | { |
| | |
| | | RemoveUpdateControlDeviceStatuAction(zbGateway); |
| | | if (sendedControlCommand == false) |
| | | { |
| | | DeviceUI.ShowStatuTip(R.MyInternationalizationString.FAIL); |
| | | HdlDeviceOtherLogic.Current.ShowStatuTip(R.MyInternationalizationString.FAIL); |
| | | } |
| | | }); |
| | | }; |
| | | |
| | | var editBtn = new CommonForm.RowLayoutEditButton() |
| | | { |
| | | Tag = deviceUI, |
| | | Radius = 0 |
| | | }; |
| | | var delBtn = new CommonForm.RowLayoutDeleteButton() |
| | | { |
| | | Tag = deviceUI, |
| | | Radius = 0 |
| | | }; |
| | | if (curRoom.IsSharedRoom == false) |
| | | { |
| | | deviceTypeRowLayout.AddRightView(editBtn); |
| | | editBtn.MouseUpEventHandler += deviceDetailHandler; |
| | | 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, curRoom); |
| | | acControl.Show(deviceUI, HdlRoomLogic.Current.CurrentRoom); |
| | | acControl.action += (curDev, curRoom) => |
| | | { |
| | | ReFreshDeviceAction(deviceUI, curRoom, sameTypeList, deviceListScrolView, deviceRow); |
| | | |
| | | }; |
| | | }; |
| | | |
| | | EventHandler<MouseEventArgs> deviceDetailHandler = (send2, e2) => |
| | | { |
| | | var detailInfo = new Device.CommonForm.DeviceDetailInfo { }; |
| | | UserView.HomePage.Instance.AddChidren(detailInfo); |
| | | UserView.HomePage.Instance.PageIndex += 1; |
| | | detailInfo.Show(deviceUI, HdlRoomLogic.Current.CurrentRoom); |
| | | detailInfo.EditAction += (curDevice, curRoom) => |
| | | { |
| | | ReFreshDeviceAction(deviceUI, curRoom, sameTypeList, deviceListScrolView, deviceRow); |
| | | |
| | | }; |
| | | }; |
| | | var editBtn = new CommonForm.RowLayoutEditButton() |
| | | { |
| | | Tag = LocalDevice.Current.GetDeviceMainKeys(deviceUI) |
| | | }; |
| | | if (HdlRoomLogic.Current.CurrentRoom.IsSharedRoom == false) |
| | | { |
| | | deviceTypeRowLayout.AddRightView(editBtn); |
| | | editBtn.MouseUpEventHandler += deviceDetailHandler; |
| | | } |
| | | } |
| | | } |
| | | else if (deviceUI.CommonDevice.Type == DeviceType.WindowCoveringDevice) |
| | | else if (deviceUI.Type == DeviceType.WindowCoveringDevice) |
| | | { |
| | | //卷帘 |
| | | var rollerShade = deviceUI.CommonDevice as ZigBee.Device.Rollershade; |
| | | var rollerShade = deviceUI as ZigBee.Device.Rollershade; |
| | | if (rollerShade.Gateway != null) |
| | | { |
| | | new System.Threading.Thread(() => |
| | |
| | | { |
| | | UserHomeView.ReadStatus(rollerShade, () => |
| | | { |
| | | ReadDeviceAttributeLogic.Instance.SendCurtainStatuComand(deviceUI.CommonDevice); |
| | | ReadDeviceAttributeLogic.Instance.SendCurtainStatuComand(deviceUI); |
| | | }); |
| | | } |
| | | else |
| | |
| | | //防止短时间内多次读取 |
| | | if ((DateTime.Now - rollerShade.LastDateTime).TotalSeconds > CommonPage.ReadDeviceStatuSpan) |
| | | { |
| | | ReadDeviceAttributeLogic.Instance.SendCurtainStatuComand(deviceUI.CommonDevice); |
| | | ReadDeviceAttributeLogic.Instance.SendCurtainStatuComand(deviceUI); |
| | | } |
| | | } |
| | | }) |
| | | { IsBackground = true }.Start(); |
| | | |
| | | var deviceTypeRowLayout = new RowLayout() |
| | | { |
| | | Height = Application.GetRealHeight(129 + 35), |
| | | LineColor = ZigbeeColor.Current.GXCBackgroundColor, |
| | | Tag = deviceUI |
| | | }; |
| | | deviceListScrolView.AddChidren(deviceTypeRowLayout); |
| | | |
| | | var deviceRow = new CategoryFunctionForWinRow(0, 35); |
| | | deviceRow.Init(deviceUI); |
| | | deviceRow.SetTitle(deviceUI.CommonDevice.DeviceEpointName); |
| | | deviceRow.SetOnLineStatu(rollerShade.IsOnline == 1); |
| | | deviceRow.SetStatuText(deviceUI.GetDeviceStatu()); |
| | | deviceRow.SetStatu(rollerShade.WcdCurrentPositionLiftPercentage != 0); |
| | | deviceRow.SetTitle(Common.LocalDevice.Current.GetDeviceEpointName(deviceUI)); |
| | | deviceRow.SetStatuText(HdlDeviceOtherLogic.Current.GetDeviceStatu(deviceUI)); |
| | | deviceRow.IsSelected = rollerShade.WcdCurrentPositionLiftPercentage != 0; |
| | | deviceRow.SetRollerShadeIcon(rollerShade.WcdType); |
| | | deviceTypeRowLayout.AddChidren(deviceRow); |
| | | |
| | |
| | | { IsBackground = true }.Start(); |
| | | } |
| | | |
| | | var editBtn = new CommonForm.RowLayoutEditButton() |
| | | { |
| | | Tag = deviceUI, |
| | | Radius = 0 |
| | | }; |
| | | var delBtn = new Device.CommonForm.RowLayoutDeleteButton() |
| | | { |
| | | Tag = deviceUI, |
| | | Radius = 0 |
| | | }; |
| | | if (curRoom.IsSharedRoom == false) |
| | | { |
| | | deviceTypeRowLayout.AddRightView(editBtn); |
| | | editBtn.MouseUpEventHandler += deviceDetailHandler; |
| | | deviceTypeRowLayout.AddRightView(delBtn); |
| | | delBtn.MouseUpEventHandler += delEvent; |
| | | } |
| | | |
| | | deviceRow.ClickBtn.MouseUpEventHandler += (send2, e2) => |
| | | { |
| | | 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, curRoom); |
| | | rollerShadeControl.Show(deviceUI, HdlRoomLogic.Current.CurrentRoom); |
| | | rollerShadeControl.action += (curDev, curRoom) => |
| | | { |
| | | ReFreshDeviceActionForWin(deviceUI, curRoom, sameTypeList, deviceListScrolView, deviceRow); |
| | | }; |
| | | }; |
| | | |
| | | EventHandler<MouseEventArgs> deviceDetailHandler = (send2, e2) => |
| | | { |
| | | var detailInfo = new Device.CommonForm.DeviceDetailInfo { }; |
| | | UserView.HomePage.Instance.AddChidren(detailInfo); |
| | | UserView.HomePage.Instance.PageIndex += 1; |
| | | detailInfo.Show(deviceUI, HdlRoomLogic.Current.CurrentRoom); |
| | | detailInfo.EditAction += (curDevice, curRoom) => |
| | | { |
| | | ReFreshDeviceActionForWin(deviceUI, curRoom, sameTypeList, deviceListScrolView, deviceRow); |
| | | }; |
| | | }; |
| | | var editBtn = new CommonForm.RowLayoutEditButton() |
| | | { |
| | | Tag = LocalDevice.Current.GetDeviceMainKeys(deviceUI) |
| | | }; |
| | | if (HdlRoomLogic.Current.CurrentRoom.IsSharedRoom == false) |
| | | { |
| | | deviceTypeRowLayout.AddRightView(editBtn); |
| | | editBtn.MouseUpEventHandler += deviceDetailHandler; |
| | | } |
| | | } |
| | | } |
| | | else if (deviceUI.CommonDevice.Type == DeviceType.DoorLock) |
| | | else if (deviceUI.Type == DeviceType.DoorLock) |
| | | { |
| | | 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.SetTitle(Common.LocalDevice.Current.GetDeviceEpointName(deviceUI)); |
| | | deviceRow.SetStatuText(HdlDeviceOtherLogic.Current.GetDeviceStatu(deviceUI)); |
| | | deviceRow.HideSwitchBtn(true); |
| | | deviceTypeRowLayout.AddChidren(deviceRow); |
| | | |
| | | deviceRow.ClickBtn.MouseUpEventHandler += (send2, e2) => |
| | | { |
| | | var userDoorLockPage = new UserDoorLockPage(curRoom, deviceUI); |
| | | var userDoorLockPage = new UserDoorLockPage(HdlRoomLogic.Current.CurrentRoom, deviceUI); |
| | | HomePage.Instance.AddChidren(userDoorLockPage); |
| | | HomePage.Instance.PageIndex += 1; |
| | | userDoorLockPage.Show(); |
| | | }; |
| | | |
| | | EventHandler<MouseEventArgs> deviceDetailHandler = (send2, e2) => |
| | | { |
| | | var detailInfo = new Device.CommonForm.DeviceDetailInfo { }; |
| | | UserView.HomePage.Instance.AddChidren(detailInfo); |
| | | UserView.HomePage.Instance.PageIndex += 1; |
| | | detailInfo.Show(deviceUI, HdlRoomLogic.Current.CurrentRoom); |
| | | detailInfo.EditAction += (curDevice, curRoom) => |
| | | { |
| | | ReFreshDeviceAction(deviceUI, curRoom, sameTypeList, deviceListScrolView, deviceRow); |
| | | }; |
| | | }; |
| | | var editBtn = new CommonForm.RowLayoutEditButton() |
| | | { |
| | | Tag = deviceUI |
| | | Tag = LocalDevice.Current.GetDeviceMainKeys(deviceUI) |
| | | }; |
| | | var delBtn = new Device.CommonForm.RowLayoutDeleteButton() |
| | | { |
| | | Tag = deviceUI |
| | | }; |
| | | if (curRoom.IsSharedRoom == false) |
| | | if (HdlRoomLogic.Current.CurrentRoom.IsSharedRoom == false) |
| | | { |
| | | deviceTypeRowLayout.AddRightView(editBtn); |
| | | editBtn.MouseUpEventHandler += deviceDetailHandler; |
| | | deviceTypeRowLayout.AddRightView(delBtn); |
| | | delBtn.MouseUpEventHandler += delEvent; |
| | | } |
| | | } |
| | | else if (deviceUI.Type == DeviceType.IASZone) |
| | | { |
| | | var deviceRow = new CategoryFunctionRow(0, 35); |
| | | deviceRow.Init(deviceUI.IconPath, deviceUI.OnlineIconPath); |
| | | deviceRow.SetTitle(Common.LocalDevice.Current.GetDeviceEpointName(deviceUI)); |
| | | deviceRow.SetStatuText(HdlDeviceOtherLogic.Current.GetDeviceStatu(deviceUI)); |
| | | deviceRow.IsSelected = (deviceUI as IASZone).iASInfo?.Alarm1 == 1; |
| | | deviceRow.HideSwitchBtn(true); |
| | | deviceTypeRowLayout.AddChidren(deviceRow); |
| | | |
| | | EventHandler<MouseEventArgs> deviceDetailHandler = (send2, e2) => |
| | | { |
| | | var detailInfo = new Device.CommonForm.DeviceDetailInfo { }; |
| | | UserView.HomePage.Instance.AddChidren(detailInfo); |
| | | UserView.HomePage.Instance.PageIndex += 1; |
| | | detailInfo.Show(deviceUI, HdlRoomLogic.Current.CurrentRoom); |
| | | detailInfo.EditAction += (curDevice, curRoom) => |
| | | { |
| | | ReFreshDeviceAction(deviceUI, curRoom, sameTypeList, deviceListScrolView, deviceRow); |
| | | }; |
| | | }; |
| | | var editBtn = new CommonForm.RowLayoutEditButton() |
| | | { |
| | | Tag = LocalDevice.Current.GetDeviceMainKeys(deviceUI) |
| | | }; |
| | | if (HdlRoomLogic.Current.CurrentRoom.IsSharedRoom == false) |
| | | { |
| | | deviceTypeRowLayout.AddRightView(editBtn); |
| | | editBtn.MouseUpEventHandler += deviceDetailHandler; |
| | | } |
| | | } |
| | | else if (deviceUI.Type == DeviceType.TemperatureSensor) |
| | | { |
| | | var tempera = deviceUI as TemperatureSensor; |
| | | if (tempera.Gateway != null) |
| | | { |
| | | new System.Threading.Thread(() => |
| | | { |
| | | System.Threading.Thread.Sleep(100 * i); |
| | | if (tempera.Gateway.IsVirtual) |
| | | { |
| | | UserHomeView.ReadStatus(tempera, () => |
| | | { |
| | | if (tempera.SensorDiv == 1) |
| | | { |
| | | ReadDeviceAttributeLogic.Instance.SendTemperatureStatuComand(deviceUI); |
| | | } |
| | | else if (tempera.SensorDiv == 2) |
| | | { |
| | | ReadDeviceAttributeLogic.Instance.SendHumidityStatuComand(deviceUI); |
| | | } |
| | | }); |
| | | } |
| | | else |
| | | { |
| | | if (CommonPage.ReadDeviceStatuSpan < (DateTime.Now - tempera.LastDateTime).TotalSeconds) |
| | | { |
| | | if (tempera.SensorDiv == 1) |
| | | { |
| | | ReadDeviceAttributeLogic.Instance.SendTemperatureStatuComand(deviceUI); |
| | | } |
| | | else if (tempera.SensorDiv == 2) |
| | | { |
| | | ReadDeviceAttributeLogic.Instance.SendHumidityStatuComand(deviceUI); |
| | | } |
| | | } |
| | | } |
| | | }) |
| | | { IsBackground = true }.Start(); |
| | | |
| | | var deviceRow = new CategoryFunctionRow(0, 35); |
| | | deviceRow.Init(deviceUI.IconPath, deviceUI.OnlineIconPath); |
| | | deviceRow.SetTitle(Common.LocalDevice.Current.GetDeviceEpointName(deviceUI)); |
| | | deviceRow.SetStatuText(HdlDeviceOtherLogic.Current.GetDeviceStatu(deviceUI)); |
| | | deviceRow.IsSelected = false; |
| | | deviceRow.HideSwitchBtn(true); |
| | | deviceTypeRowLayout.AddChidren(deviceRow); |
| | | |
| | | EventHandler<MouseEventArgs> deviceDetailHandler = (send2, e2) => |
| | | { |
| | | var detailInfo = new Device.CommonForm.DeviceDetailInfo { }; |
| | | UserView.HomePage.Instance.AddChidren(detailInfo); |
| | | UserView.HomePage.Instance.PageIndex += 1; |
| | | detailInfo.Show(deviceUI, HdlRoomLogic.Current.CurrentRoom); |
| | | detailInfo.EditAction += (curDevice, curRoom) => |
| | | { |
| | | ReFreshDeviceAction(deviceUI, curRoom, sameTypeList, deviceListScrolView, deviceRow); |
| | | }; |
| | | }; |
| | | var editBtn = new CommonForm.RowLayoutEditButton() |
| | | { |
| | | Tag = LocalDevice.Current.GetDeviceMainKeys(deviceUI) |
| | | }; |
| | | if (HdlRoomLogic.Current.CurrentRoom.IsSharedRoom == false) |
| | | { |
| | | deviceTypeRowLayout.AddRightView(editBtn); |
| | | editBtn.MouseUpEventHandler += deviceDetailHandler; |
| | | } |
| | | } |
| | | } |
| | | 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.SetTitle(Common.LocalDevice.Current.GetDeviceEpointName(deviceUI)); |
| | | deviceRow.SetStatuText(HdlDeviceOtherLogic.Current.GetDeviceStatu(deviceUI)); |
| | | deviceRow.HideSwitchBtn(true); |
| | | deviceTypeRowLayout.AddChidren(deviceRow); |
| | | |
| | | EventHandler<MouseEventArgs> deviceDetailHandler = (send2, e2) => |
| | | { |
| | | var detailInfo = new Device.CommonForm.DeviceDetailInfo { }; |
| | | UserView.HomePage.Instance.AddChidren(detailInfo); |
| | | UserView.HomePage.Instance.PageIndex += 1; |
| | | detailInfo.Show(deviceUI, HdlRoomLogic.Current.CurrentRoom); |
| | | detailInfo.EditAction += (curDevice, curRoom) => |
| | | { |
| | | ReFreshDeviceAction(deviceUI, curRoom, sameTypeList, deviceListScrolView, deviceRow); |
| | | }; |
| | | }; |
| | | var editBtn = new CommonForm.RowLayoutEditButton() |
| | | { |
| | | Tag = deviceUI |
| | | Tag = LocalDevice.Current.GetDeviceMainKeys(deviceUI) |
| | | }; |
| | | var delBtn = new Device.CommonForm.RowLayoutDeleteButton() |
| | | { |
| | | Tag = deviceUI |
| | | }; |
| | | if (curRoom.IsSharedRoom == false) |
| | | if (HdlRoomLogic.Current.CurrentRoom.IsSharedRoom == false) |
| | | { |
| | | deviceTypeRowLayout.AddRightView(editBtn); |
| | | editBtn.MouseUpEventHandler += deviceDetailHandler; |
| | | deviceTypeRowLayout.AddRightView(delBtn); |
| | | delBtn.MouseUpEventHandler += delEvent; |
| | | } |
| | | } |
| | | } |
| | | catch |
| | | { |
| | | |
| | | //删除设备 |
| | | EventHandler<MouseEventArgs> delEvent = (delSender, delE) => |
| | | { |
| | | var alert = new UserCenter.ShowMsgControl(ShowMsgType.Confirm, Language.StringByID(R.MyInternationalizationString.DeleteFunction)); |
| | | alert.Show(); |
| | | alert.ConfirmClickEvent += () => |
| | | { |
| | | if (HdlRoomLogic.Current.CurrentRoom.IsLove) |
| | | { |
| | | HdlRoomLogic.Current.DeleteLoveDevice(deviceUI); |
| | | deviceListScrolView.RemoveViewByTag((delSender as Button).Tag); |
| | | sameTypeList.Remove(deviceUI); |
| | | } |
| | | else |
| | | { |
| | | HdlRoomLogic.Current.DeleteDevice(deviceUI); |
| | | deviceListScrolView.RemoveViewByTag((delSender as Button).Tag); |
| | | sameTypeList.Remove(deviceUI);
|
| | |
|
| | | HdlRoomLogic.Current.DeleteLoveDevice(deviceUI); |
| | | } |
| | | if (sameTypeList.Count == 0) |
| | | { |
| | | RefreshBodyView(); |
| | | } |
| | | }; |
| | | }; |
| | | var delBtn = new CommonForm.RowLayoutDeleteButton() |
| | | { |
| | | Tag = LocalDevice.Current.GetDeviceMainKeys(deviceUI) |
| | | }; |
| | | if (HdlRoomLogic.Current.CurrentRoom.IsSharedRoom == false) |
| | | { |
| | | deviceTypeRowLayout.AddRightView(delBtn); |
| | | delBtn.MouseUpEventHandler += delEvent; |
| | | } |
| | | } |
| | | catch { } |
| | | }); |
| | | }) |
| | | { IsBackground = true }.Start(); |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// ReFreshDeviceAction |
| | | /// </summary> |
| | | /// <param name="curRoom"></param> |
| | | /// <param name="sameTypeList"></param> |
| | | /// <param name="devListScrolView"></param> |
| | | /// <param name="deviceRow"></param> |
| | | private void ReFreshDeviceAction(CommonDevice deviceUI, Common.Room curRoom, List<CommonDevice> sameTypeList, VerticalScrolViewLayout devListScrolView, CategoryFunctionRow deviceRow) |
| | | { |
| | | if (HdlRoomLogic.Current.CurrentRoom.IsLove) |
| | | { |
| | | deviceRow.SetDeviceIcon(deviceUI.IconPath, deviceUI.OnlineIconPath); |
| | | deviceRow.SetTitle(Common.LocalDevice.Current.GetDeviceEpointName(deviceUI)); |
| | | if (HdlRoomLogic.Current.IsCollectInRoom(deviceUI) == false) |
| | | { |
| | | devListScrolView.RemoveViewByTag(deviceUI); |
| | | sameTypeList.Remove(deviceUI); |
| | | if (sameTypeList.Count == 0) |
| | | { |
| | | RefreshFunction(HdlRoomLogic.Current.CurrentRoom); |
| | | } |
| | | } |
| | | } |
| | | else |
| | | { |
| | | if (curRoom.Id != HdlRoomLogic.Current.CurrentRoom.Id) |
| | | { |
| | | HdlRoomLogic.Current.DeleteDevice(deviceUI); |
| | | devListScrolView.RemoveViewByTag(deviceUI); |
| | | sameTypeList.Remove(deviceUI); |
| | | if (sameTypeList.Count == 0) |
| | | { |
| | | RefreshFunction(HdlRoomLogic.Current.CurrentRoom); |
| | | } |
| | | } |
| | | else |
| | | { |
| | | deviceRow.SetDeviceIcon(deviceUI.IconPath, deviceUI.OnlineIconPath); |
| | | deviceRow.SetTitle(Common.LocalDevice.Current.GetDeviceEpointName(deviceUI)); |
| | | } |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// ReFreshDeviceAction |
| | | /// </summary> |
| | | /// <param name="curRoom"></param> |
| | | /// <param name="sameTypeList"></param> |
| | | /// <param name="devListScrolView"></param> |
| | | /// <param name="deviceRow"></param> |
| | | private void ReFreshDeviceActionForWin(CommonDevice deviceUI, Common.Room curRoom, List<CommonDevice> sameTypeList, VerticalScrolViewLayout devListScrolView, CategoryFunctionForWinRow deviceRow) |
| | | { |
| | | if (HdlRoomLogic.Current.CurrentRoom.IsLove) |
| | | { |
| | | deviceRow.SetDeviceIcon(deviceUI.IconPath, deviceUI.OnlineIconPath); |
| | | deviceRow.SetTitle(Common.LocalDevice.Current.GetDeviceEpointName(deviceUI)); |
| | | if (HdlRoomLogic.Current.IsCollectInRoom(deviceUI) == false) |
| | | { |
| | | devListScrolView.RemoveViewByTag(deviceUI); |
| | | sameTypeList.Remove(deviceUI); |
| | | if (sameTypeList.Count == 0) |
| | | { |
| | | RefreshFunction(HdlRoomLogic.Current.CurrentRoom); |
| | | } |
| | | } |
| | | } |
| | | else |
| | | { |
| | | if (curRoom.Id != HdlRoomLogic.Current.CurrentRoom.Id) |
| | | { |
| | | HdlRoomLogic.Current.DeleteDevice(deviceUI); |
| | | devListScrolView.RemoveViewByTag(deviceUI); |
| | | sameTypeList.Remove(deviceUI); |
| | | if (sameTypeList.Count == 0) |
| | | { |
| | | RefreshFunction(HdlRoomLogic.Current.CurrentRoom); |
| | | } |
| | | } |
| | | else |
| | | { |
| | | deviceRow.SetDeviceIcon(deviceUI.IconPath, deviceUI.OnlineIconPath); |
| | | deviceRow.SetTitle(Common.LocalDevice.Current.GetDeviceEpointName(deviceUI)); |
| | | } |
| | | } |
| | | } |
| | | |
| | | |
| | | /// <summary> |
| | | /// AddRoomView |
| | |
| | | functionSceneBodyView = new FrameLayout() |
| | | { |
| | | Y = roomFL.Bottom, |
| | | Height = Application.GetRealHeight(973+279), |
| | | Height = Application.GetRealHeight(973 + 279), |
| | | BackgroundColor = ZigbeeColor.Current.GXCGrayBackgroundColor |
| | | }; |
| | | functionSceneAutoBodyView.AddChidren(functionSceneBodyView); |
| | | |
| | | Button curBtn = new Button(); |
| | | foreach (var room in Common.Room.CurrentRoom.GetRoomsByCurrentFloorIdAppendLoveRoom()) |
| | | RoomButton curBtn = new RoomButton(0, 0); |
| | | var lisrRoom = HdlRoomLogic.Current.GetRoomsByCurrentFloorIdAppendLoveRoom(); |
| | | foreach (var room in lisrRoom) |
| | | { |
| | | var row = new FrameLayout() |
| | | { |
| | | Width = Application.GetRealWidth(187 + 50), |
| | | Width = Application.GetRealWidth(255), |
| | | Height = Application.GetRealHeight(167) |
| | | }; |
| | | roomFL.AddChidren(row); |
| | | |
| | | var roomBtn = new Button() |
| | | { |
| | | Width = Application.GetRealWidth(187), |
| | | Height = Application.GetRealHeight(78), |
| | | Radius = (uint)Application.GetRealHeight(78 / 2), |
| | | Gravity = Gravity.Center, |
| | | Text = room.Name, |
| | | TextColor = ZigbeeColor.Current.GXCTextGrayColor, |
| | | SelectedTextColor = ZigbeeColor.Current.GXCTextWhiteColor, |
| | | BackgroundColor = ZigbeeColor.Current.GXCButtonUnSelectedColor3, |
| | | SelectedBackgroundColor = ZigbeeColor.Current.GXCButtonSelectedColor, |
| | | BorderColor = ZigbeeColor.Current.GXCBorderUnSelectedColor, |
| | | BorderWidth = 1 |
| | | }; |
| | | RoomButton roomBtn = new RoomButton(0, 0); |
| | | roomBtn.Gravity = Gravity.Center; |
| | | roomBtn.Init(); |
| | | roomBtn.SetTitle(room.Name); |
| | | row.AddChidren(roomBtn); |
| | | roomBtn.SetViewShadow(true,5); |
| | | |
| | | if (room.IsLove) |
| | | if (room.Id == HdlRoomLogic.Current.CurrentRoom.Id) |
| | | { |
| | | roomBtn.IsSelected = true; |
| | | this.curRoom = room; |
| | | curBtn = roomBtn; |
| | | |
| | | if(sceneBtn.IsSelected) |
| | | if (sceneBtn.IsSelected) |
| | | { |
| | | RefreshScene(room); |
| | | } |
| | |
| | | { |
| | | RefreshFunction(room); |
| | | } |
| | | |
| | | } |
| | | roomBtn.MouseUpEventHandler += (sender, e) => |
| | | |
| | | roomBtn.ButtonClickEvent += (sender, e) => |
| | | { |
| | | if ((sender as Button) == curBtn) |
| | | if (sender == curBtn) |
| | | { |
| | | return; |
| | | } |
| | | (sender as Button).IsSelected = true; |
| | | sender.IsSelected = true; |
| | | curBtn.IsSelected = false; |
| | | curBtn = sender as Button; |
| | | this.curRoom = room; |
| | | curBtn = sender; |
| | | HdlRoomLogic.Current.CurrentRoom = room; |
| | | if (sceneBtn.IsSelected) |
| | | { |
| | | RefreshScene(room); |
| | |
| | | /// <param name="room"></param> |
| | | public void RefreshScene(Common.Room room) |
| | | { |
| | | RefreshData(room); |
| | | functionSceneBodyView.RemoveAll(); |
| | | var sceneList = room.SceneUIList; |
| | | if (sceneList.Count == 0) |
| | | { |
| | | ShowNoSceneTip(); |
| | |
| | | functionSceneBodyView.AddChidren(sceneScrolView); |
| | | foreach (var scene in sceneList) |
| | | { |
| | | var sceneView = new SceneCategoryView(0, 0); |
| | | var sceneView = new SceneCategoryView(); |
| | | sceneScrolView.AddChidren(sceneView); |
| | | sceneView.Init(scene, room); |
| | | GetDelayScene(sceneScrolView); |
| | | } |
| | | sceneView.InitControl(scene, room); |
| | | }
|
| | | GetDelayScene(sceneScrolView); |
| | | } |
| | | } |
| | | |
| | |
| | | Height = Application.GetRealHeight(200), |
| | | Width = Application.GetRealWidth(700), |
| | | Gravity = Gravity.CenterHorizontal, |
| | | Text = Language.StringByID(R.MyInternationalizationString.NoScene).Replace("{\\r\\n}","\r\n"), |
| | | Text = Language.StringByID(R.MyInternationalizationString.NoScene).Replace("{\\r\\n}", "\r\n"), |
| | | TextColor = ZigbeeColor.Current.GXCPlaceHolderTextColor, |
| | | TextAlignment = TextAlignment.Center, |
| | | IsMoreLines = true |
| | |
| | | for (int i = 0; scrolViewLayout != null && i < scrolViewLayout.ChildrenCount; i++) |
| | | { |
| | | var sceneView = scrolViewLayout.GetChildren(i) as SceneCategoryView; |
| | | if (sceneView == null)
|
| | | {
|
| | | continue;
|
| | | } |
| | | foreach (var delayScenesListResponseInfo in delayList) |
| | | { |
| | | if (delayScenesListResponseInfo.ScenesId == sceneView.scene.Id) |
| | | { |
| | | sceneView.scene.RemainTime = delayScenesListResponseInfo.RemainTime; |
| | | var remainTime= delayScenesListResponseInfo.RemainTime; |
| | | var remainTime = delayScenesListResponseInfo.RemainTime; |
| | | if (remainTime > 0) |
| | | { |
| | | {
|
| | | //开启内部延时时间线程(旨在全部地方的同一场景时间同步)
|
| | | HdlSceneLogic.Current.StartDelayTimeThread(sceneView.scene); |
| | | new System.Threading.Thread(() => |
| | | { |
| | | while (remainTime-- > 0) |
| | | while (remainTime > 0 && this.Parent != null) |
| | | { |
| | | System.Threading.Thread.Sleep(1000); |
| | | Application.RunOnMainThread(() => |
| | | { |
| | | sceneView.SetTimeText(CommonFormResouce.GetTimeString(remainTime)); |
| | | }); |
| | | remainTime--; |
| | | } |
| | | Application.RunOnMainThread(() => |
| | | { |
| | | sceneView.scene.RemainTime = 0; |
| | | sceneView.SetTimeImage(); |
| | | if (this.Parent != null)
|
| | | {
|
| | | sceneView.SetTimeImage(); |
| | | } |
| | | }); |
| | | }) |
| | | { IsBackground = true }.Start(); |
| | |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// GetExecScene |
| | | /// </summary> |
| | | /// <param name="scrolViewLayout"></param> |
| | | private void GetExecScene(VerticalScrolViewLayout scrolViewLayout) |
| | | { |
| | | new System.Threading.Thread(() => |
| | | { |
| | | |
| | | }) |
| | | { IsBackground = true }.Start(); |
| | | } |
| | | }
|
| | |
|
| | | #endregion |
| | | |
| | |
|
| | | #region ◆ 自动化__________________________ |
| | | |
| | |
|
| | | /// <summary> |
| | | /// 自动化功能代码入口 |
| | | /// </summary> |
| | | private void ShowAutotion() |
| | | private void ShowAutotion() |
| | | {
|
| | | // functionSceneAutoBodyView.BackgroundColor = ZigbeeColor.Current.LogicMiddleBackgroundColor;
|
| | |
|
| | | functionSceneAutoBodyView.BackgroundColor = ZigbeeColor.Current.LogicMiddleBackgroundColor;
|
| | | |
| | | var bjFrameLayout = new FrameLayout |
| | | { |
| | | Width = Application.GetRealWidth(1080 - 58), |
| | |
| | | var logicScrolView = new VerticalRefreshLayout//VerticalScrolViewLayout |
| | | { |
| | | Height = functionSceneAutoBodyView.Height - bjFrameLayout.Height - bjFrameLayout.Y - scenehorizontalScrol.Height - Application.GetRealHeight(30), |
| | | BackgroundColor = ZigbeeColor.Current.LogicBackgroundColor, |
| | | //BackgroundColor = ZigbeeColor.Current.LogicBackgroundColor,/ |
| | | X = Application.GetRealWidth(58), |
| | | //Radius = (uint)Application.GetRealHeight(50), |
| | | Y = scenehorizontalScrol.Bottom, |
| | | }; |
| | | functionSceneAutoBodyView.AddChidren(logicScrolView); |
| | | logicScrolView.SetCornerWithSameRadius(Application.GetRealHeight(58), HDLUtils.RectCornerTopLeft); |
| | | |
| | | bool no = false; |
| | | recommendswitchBtn.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | int Yheight = 0; |
| | |
| | | scenehorizontalScrol.RemoveAll(); |
| | | if (recommendswitchBtn.IsSelected) |
| | | { |
| | | no = true; |
| | | scenehorizontalScrol.Height = Application.GetRealHeight(246); |
| | | Yheight = 20; |
| | | for (int i = 1; i < 4; i++) |
| | |
| | | Common.Logic.CurrentLogic.IsEnable = 1;//默认为开 |
| | | if (logiciocnBtn.Tag.ToString() == "3") |
| | | { |
| | | Common.Logic.CurrentLogic.LogicName = logicnameBtn.Text;// Language.StringByID(MyInternationalizationString.automation1); |
| | | Common.Logic.CurrentLogic.LogicName = logicnameBtn.Text; |
| | | //Common.Logic.CurrentLogic.LogicCustomPushText = Common.Logic.CurrentLogic.LogicName + Language.StringByID(MyInternationalizationString.defaulttext); |
| | | var addLogicPage = new Logic.AddLogicPage(); |
| | | HomePage.Instance.AddChidren(addLogicPage); |
| | | HomePage.Instance.PageIndex += 1; |
| | |
| | | { |
| | | |
| | | Common.Logic.CurrentLogic.LogicName = logicnameBtn.Text; |
| | | //Common.Logic.CurrentLogic.LogicCustomPushText = Common.Logic.CurrentLogic.LogicName + Language.StringByID(MyInternationalizationString.defaulttext); |
| | | Logic.TemplatePage templatePage = new Logic.TemplatePage(); |
| | | Logic.TemplatePage.s = logiciocnBtn.Tag.ToString(); |
| | | HomePage.Instance.AddChidren(templatePage); |
| | |
| | | } |
| | | else |
| | | { |
| | | no = false; |
| | | scenehorizontalScrol.Height = Application.GetRealHeight(0); |
| | | Yheight = 0; |
| | | } |
| | | logicScrolView.Y = scenehorizontalScrol.Bottom + Yheight; |
| | | logicScrolView.Height = functionSceneAutoBodyView.Height - bjFrameLayout.Height - bjFrameLayout.Y - scenehorizontalScrol.Height - Application.GetRealHeight(30) - Yheight; |
| | | Automationview(logicScrolView); |
| | | Automationview(logicScrolView, no); |
| | | }; |
| | | logicScrolView.BeginHeaderRefreshingAction += () => |
| | | { |
| | | //重新刷新logic列表 |
| | | Common.Logic.LogicList.Clear(); |
| | | Read(logicScrolView); |
| | | Read(logicScrolView, no); |
| | | //关闭刷新View; |
| | | logicScrolView.EndHeaderRefreshing(); |
| | | }; |
| | | |
| | | Read(logicScrolView); |
| | | };
|
| | |
|
| | | Read(logicScrolView, no); |
| | | |
| | | } |
| | | /// <summary> |
| | | /// 读取自动化列表数据; |
| | | /// </summary> |
| | | /// <param name="logicScrolView"></param> |
| | | private async void Read(VerticalRefreshLayout logicScrolView) |
| | | private async void Read(VerticalRefreshLayout logicScrolView, bool no) |
| | | { |
| | | CommonPage.Loading.Start(); |
| | | if (Common.Logic.LogicList.Count == 0) |
| | |
| | | } |
| | | } |
| | | //自动化 |
| | | Automationview(logicScrolView); |
| | | Automationview(logicScrolView, no); |
| | | CommonPage.Loading.Hide(); |
| | | |
| | | } |
| | | /// <summary> |
| | | /// 加载自动化列表界面 |
| | | /// </summary> |
| | | /// <param name="refresview">Refresview.</param> |
| | | private async void Automationview(VerticalRefreshLayout refresview) |
| | | private async void Automationview(VerticalRefreshLayout refresview, bool no) |
| | | { |
| | | refresview.RemoveAll(); |
| | | foreach (var logic in Common.Logic.LogicList) |
| | | if (Common.Logic.LogicList.Count == 0 && no == false) |
| | | { |
| | | //就是为了显示引导添加图标; |
| | | refresview.BackgroundColor = 0x00000000; |
| | | var noFrameLayout = new FrameLayout |
| | | { |
| | | Height = Application.GetRealHeight(434 + 200 + 32 + 160), |
| | | //BackgroundColor = ZigbeeColor.Current.LogicMiddleBackgroundColor, |
| | | }; |
| | | refresview.AddChidren(noFrameLayout); |
| | | |
| | | |
| | | var noIconBtn = new Button |
| | | { |
| | | Y = Application.GetRealHeight(160), |
| | | Width = Application.GetMinRealAverage(756), |
| | | Height = Application.GetMinRealAverage(434), |
| | | UnSelectedImagePath = "Item/NoFunction.png", |
| | | X = Application.GetRealWidth(104), |
| | | }; |
| | | noFrameLayout.AddChidren(noIconBtn); |
| | | |
| | | var noTextBtn = new Button() |
| | | { |
| | | Y = noIconBtn.Bottom, |
| | | Height = Application.GetRealHeight(200) + Application.GetRealHeight(32), |
| | | Width = Application.GetRealWidth(700), |
| | | //Gravity = Gravity.CenterHorizontal, |
| | | Text = Language.StringByID(MyInternationalizationString.automationaddtext).Replace("{\\r\\n}", "\r\n"), |
| | | TextColor = ZigbeeColor.Current.GXCPlaceHolderTextColor, |
| | | TextAlignment = TextAlignment.Center, |
| | | IsMoreLines = true, |
| | | X = Application.GetRealWidth(190 - 58), |
| | | }; |
| | | noFrameLayout.AddChidren(noTextBtn); |
| | | |
| | | } |
| | | else |
| | | { |
| | | |
| | | |
| | | if (Common.Logic.LogicList.Count == 0 && no == true) |
| | | { |
| | | ///改变滑动view的颜色; |
| | | refresview.BackgroundColor = 0x00000000; |
| | | } |
| | | else |
| | | { |
| | | refresview.BackgroundColor = ZigbeeColor.Current.LogicBackgroundColor; |
| | | } |
| | | } |
| | | foreach (var logic in Common.Logic.LogicList) |
| | | { |
| | | var fLayout = new FrameLayout |
| | | { |
| | | Height = Application.GetRealHeight(190 + 30), |
| | | Width = Application.GetRealWidth(1080 - 58), |
| | | BackgroundColor = ZigbeeColor.Current.LogicBackgroundColor, |
| | | }; |
| | | refresview.AddChidren(fLayout);
|
| | |
|
| | | var logicRowlayout = new RowLayout |
| | | { |
| | | Height = Application.GetRealHeight(190 + 30), |
| | | Width = Application.GetRealWidth(1080-58), |
| | | LineColor = ZigbeeColor.Current.LogicBackgroundColor, |
| | | BackgroundColor = ZigbeeColor.Current.LogicBackgroundColor, |
| | | Width = Application.GetRealWidth(1080 - 58), |
| | | LineColor = ZigbeeColor.Current.LogicBackgroundColor,
|
| | | BackgroundColor = ZigbeeColor.Current.LogicBackgroundColor,
|
| | |
|
| | | }; |
| | | refresview.AddChidren(logicRowlayout); |
| | | fLayout.AddChidren(logicRowlayout); |
| | | |
| | | |
| | | |
| | |
| | | Height = Application.GetMinRealAverage(63), |
| | | UnSelectedImagePath = "ZigeeLogic/logicclose.png", |
| | | SelectedImagePath = "ZigeeLogic/logicopen.png", |
| | | X = logicRowlayout.Width - Application.GetRealWidth(104 + 58 + 58), |
| | | X = logicRowlayout.Width - Application.GetRealWidth(104 + 58), |
| | | Y = Application.GetRealHeight(58 + 30 + 9 + 30), |
| | | }; |
| | | logicRowlayout.AddChidren(logicswitchBtn); |
| | |
| | | var logicCommunalPage = new Logic.LogicCommunalPage(); |
| | | HomePage.Instance.AddChidren(logicCommunalPage); |
| | | HomePage.Instance.PageIndex += 1; |
| | | logicCommunalPage.Show(() => { logicnameBtn.Text = logic.LogicName; Automationview(refresview); }); |
| | | logicCommunalPage.Show(() => {
|
| | | logicnameBtn.Text = logic.LogicName; |
| | | Automationview(refresview, no); |
| | | }); |
| | | |
| | | }; |
| | | |
| | |
| | | logicRowlayout.AddRightView(del); |
| | | del.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | var alert = new Alert(Language.StringByID(MyInternationalizationString.tip), Language.StringByID(MyInternationalizationString.doyouwanttodelete), |
| | | Language.StringByID(MyInternationalizationString.cancel), Language.StringByID(MyInternationalizationString.confrim)); |
| | | alert.ResultEventHandler += (sender1, e1) => |
| | | { |
| | | if (e1) |
| | | { |
| | | Common.Logic.LogicList.Remove(logic); |
| | | Automationview(refresview); |
| | | Logic.Send.DelLogic(logic.LogicId); |
| | | } |
| | | var alert = new UserCenter.ShowMsgControl(UserCenter.ShowMsgType.Confirm,
|
| | | Language.StringByID(MyInternationalizationString.doyouwanttodelete),
|
| | | Language.StringByID(MyInternationalizationString.confrim));
|
| | | alert.Show();
|
| | | alert.ConfirmClickEvent += () =>
|
| | | {
|
| | | Common.Logic.LogicList.Remove(logic);
|
| | | Automationview(refresview, no);
|
| | | Logic.Send.DelLogic(logic.LogicId);
|
| | | }; |
| | | alert.Show(); |
| | | |
| | | }; |
| | | var line = new Button |
| | | { |
| | | Y = Application.GetRealHeight(215), |
| | | Height = Application.GetRealHeight(5), |
| | | Y = fLayout.Height - 1, |
| | | Height = 1, |
| | | X = Application.GetRealWidth(58), |
| | | Width = Application.GetRealWidth(1080 - 58), |
| | | BackgroundColor = ZigbeeColor.Current.LogicRowLayoutLineColor, |
| | | X = Application.GetRealWidth(58), |
| | | }; |
| | | logicRowlayout.AddChidren(line); |
| | | fLayout.AddChidren(line); |
| | | } |
| | | |
| | | } |
| | |
| | | var logictimeBtn = new Button |
| | | { |
| | | Height = Application.GetRealHeight(58), |
| | | Width = logicRowlayout.Width - Application.GetRealWidth(58 + 12 + 350 + 58), |
| | | Width = logicRowlayout.Width - Application.GetRealWidth(58 + 12 + 350), |
| | | Y = Application.GetRealHeight(30), |
| | | X = Application.GetRealWidth(365), |
| | | TextAlignment = TextAlignment.CenterRight, |
| | |
| | | { |
| | | commonDeviceList.Add(common); |
| | | } |
| | | } |
| | | |
| | | }
|
| | |
|
| | | #endregion |
| | | |
| | | |
| | |
|
| | |
|
| | | } |
| | | } |