| | |
| | | /// <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> |
| | |
| | | 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.IsSelected = light.OnOffStatus == 1; |
| | | row.SetStatuText(deviceUI.GetDeviceStatu()); |
| | | row.SetStatuText(HdlDeviceOtherLogic.Current.GetDeviceStatu(deviceUI)); |
| | | light.LastDateTime = DateTime.Now; |
| | | } |
| | | if (common.DeviceStatusReport.CluterID == 3) |
| | | { |
| | | deviceUI.CommonDevice.IsOnline = 1; |
| | | deviceUI.CommonDevice.LastDateTime = DateTime.Now; |
| | | 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.IsSelected = airSwitch.OnOffStatus == 1; |
| | | row.SetStatuText(deviceUI.GetDeviceStatu()); |
| | | row.SetStatuText(HdlDeviceOtherLogic.Current.GetDeviceStatu(deviceUI)); |
| | | airSwitch.LastDateTime = DateTime.Now; |
| | | } |
| | | if (common.DeviceStatusReport.CluterID == 3) |
| | | { |
| | | deviceUI.CommonDevice.IsOnline = 1; |
| | | deviceUI.CommonDevice.LastDateTime = DateTime.Now; |
| | | 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; |
| | | 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) |
| | | { |
| | |
| | | } |
| | | var row = rowLayout.GetChildren(0) as CategoryFunctionRow; |
| | | row.IsSelected = ac.currentSystemMode != 0; |
| | | row.SetStatuText(deviceUI.GetDeviceStatu()); |
| | | 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) |
| | |
| | | } |
| | | var row = rowLayout.GetChildren(0) as CategoryFunctionRow; |
| | | row.IsSelected = ac.currentSystemMode != 0; |
| | | row.SetStatuText(deviceUI.GetDeviceStatu()); |
| | | 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; |
| | | } |
| | |
| | | //调光灯功能 |
| | | 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.IsSelected = dimmableLight.OnOffStatus == 1; |
| | | row.SetStatuText(deviceUI.GetDeviceStatu()); |
| | | 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.IsSelected = dimmableLight.OnOffStatus == 1; |
| | | row.SetStatuText(deviceUI.GetDeviceStatu()); |
| | | row.SetStatuText(HdlDeviceOtherLogic.Current.GetDeviceStatu(deviceUI)); |
| | | dimmableLight.LastDateTime = DateTime.Now; |
| | | } |
| | | if (common.DeviceStatusReport.CluterID == 3) |
| | | { |
| | | deviceUI.CommonDevice.IsOnline = 1; |
| | | deviceUI.CommonDevice.LastDateTime = DateTime.Now; |
| | | deviceUI.IsOnline = 1; |
| | | deviceUI.LastDateTime = DateTime.Now; |
| | | } |
| | | break; |
| | | |
| | |
| | | //温度 |
| | | if (common.DeviceStatusReport.CluterID == 1026) |
| | | { |
| | | var tempera = deviceUI.CommonDevice as TemperatureSensor; |
| | | var tempera = deviceUI as TemperatureSensor; |
| | | foreach (var data in common.DeviceStatusReport.AttriBute) |
| | | { |
| | | if (data.AttributeId == (int)ZigBee.Device.AttriButeId.MeasuredValue) |
| | |
| | | tempera.Temperatrue = Convert.ToDecimal(strValue.Insert(strValue.Length - 1, ".")); |
| | | } |
| | | var row = rowLayout.GetChildren(0) as CategoryFunctionRow; |
| | | row.SetStatuText(deviceUI.GetDeviceStatu()); |
| | | row.SetStatuText(HdlDeviceOtherLogic.Current.GetDeviceStatu(deviceUI)); |
| | | } |
| | | } |
| | | } |
| | | //湿度 |
| | | if (common.DeviceStatusReport.CluterID == 1029) |
| | | { |
| | | var tempera = deviceUI.CommonDevice as TemperatureSensor; |
| | | var tempera = deviceUI as TemperatureSensor; |
| | | foreach (var data in common.DeviceStatusReport.AttriBute) |
| | | { |
| | | if (data.AttributeId == (int)ZigBee.Device.AttriButeId.MeasuredValue) |
| | |
| | | tempera.LastDateTime = DateTime.Now; |
| | | } |
| | | var row = rowLayout.GetChildren(0) as CategoryFunctionRow; |
| | | row.SetStatuText(deviceUI.GetDeviceStatu()); |
| | | row.SetStatuText(HdlDeviceOtherLogic.Current.GetDeviceStatu(deviceUI)); |
| | | } |
| | | } |
| | | } |
| | |
| | | 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; |
| | | deviceUI.CommonDevice.LastDateTime = DateTime.Now; |
| | | deviceUI.IsOnline = common.IsOnline; |
| | | deviceUI.LastDateTime = DateTime.Now; |
| | | break; |
| | | |
| | | case DeviceType.AirSwitch: |
| | | deviceUI.CommonDevice.IsOnline = common.IsOnline; |
| | | 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; |
| | | deviceUI.LastDateTime = DateTime.Now; |
| | | deviceUI.IsOnline = common.IsOnline; |
| | | break; |
| | | |
| | | case DeviceType.DimmableLight: |
| | | deviceUI.CommonDevice.LastDateTime = DateTime.Now; |
| | | deviceUI.CommonDevice.IsOnline = common.IsOnline; |
| | | deviceUI.LastDateTime = DateTime.Now; |
| | | deviceUI.IsOnline = common.IsOnline; |
| | | break; |
| | | |
| | | case DeviceType.Thermostat: |
| | | deviceUI.CommonDevice.LastDateTime = DateTime.Now; |
| | | deviceUI.CommonDevice.IsOnline = common.IsOnline; |
| | | deviceUI.LastDateTime = DateTime.Now; |
| | | deviceUI.IsOnline = common.IsOnline; |
| | | 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.IASZone: |
| | | //开关功能 |
| | | var ias = common as IASZone; |
| | | var iAS = deviceUI.CommonDevice as ZigBee.Device.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(deviceUI.GetDeviceStatu()); |
| | | row.SetStatuText(HdlDeviceOtherLogic.Current.GetDeviceStatu(deviceUI)); |
| | | iAS.LastDateTime = DateTime.Now; |
| | | break; |
| | | } |
| | |
| | | floors.FloorAction += (floorId) => |
| | | { |
| | | floorBtn.Text = Config.Instance.Home.GetFloorNameById(floorId); |
| | | Common.Room.CurrentRoom = Common.Room.CurrentRoom.GetLoveRoom(); |
| | | HdlRoomLogic.Current.CurrentRoom = HdlRoomLogic.Current.GetLoveRoom(); |
| | | RefreshBodyView(); |
| | | }; |
| | | } |
| | |
| | | /// </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.GetDeviceBelongEnumInfo(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; |
| | | } |
| | |
| | | |
| | | 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++) |
| | |
| | | { |
| | | Height = Application.GetRealHeight(127 + 35), |
| | | LineColor = ZigbeeColor.Current.GXCClearColor, |
| | | Tag = deviceUI, |
| | | SubViewWidth=Application.GetRealWidth(184) |
| | | Tag = LocalDevice.Current.GetDeviceMainKeys(deviceUI), |
| | | SubViewWidth = Application.GetRealWidth(184) |
| | | }; |
| | | 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); |
| | | } |
| | | } |
| | | }) |
| | |
| | | |
| | | var deviceRow = new CategoryFunctionRow(0, 35); |
| | | deviceRow.Init(deviceUI.IconPath, deviceUI.OnlineIconPath); |
| | | deviceRow.SetTitle(Common.LocalDevice.Current.GetDeviceEpointName(deviceUI.CommonDevice)); |
| | | deviceRow.SetStatuText(deviceUI.GetDeviceStatu()); |
| | | 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); |
| | | } |
| | | }); |
| | | }; |
| | |
| | | var lightControl = new Phone.Device.Light.OnOffControl(); |
| | | UserView.HomePage.Instance.AddChidren(lightControl); |
| | | UserView.HomePage.Instance.PageIndex += 1; |
| | | lightControl.Show(deviceUI, Common.Room.CurrentRoom); |
| | | lightControl.Show(deviceUI, HdlRoomLogic.Current.CurrentRoom); |
| | | lightControl.action += (curDev, curRoom) => |
| | | { |
| | | ReFreshDeviceAction(deviceUI, curRoom, sameTypeList, deviceListScrolView, deviceRow); |
| | |
| | | var detailInfo = new Device.CommonForm.DeviceDetailInfo { }; |
| | | UserView.HomePage.Instance.AddChidren(detailInfo); |
| | | UserView.HomePage.Instance.PageIndex += 1; |
| | | detailInfo.Show(deviceUI, Shared.Common.Room.CurrentRoom); |
| | | 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) |
| | | }; |
| | | if (Common.Room.CurrentRoom.IsSharedRoom == false) |
| | | if (HdlRoomLogic.Current.CurrentRoom.IsSharedRoom == false) |
| | | { |
| | | deviceTypeRowLayout.AddRightView(editBtn); |
| | | editBtn.MouseUpEventHandler += deviceDetailHandler; |
| | | } |
| | | } |
| | | } |
| | | 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); |
| | | } |
| | | } |
| | | }) |
| | |
| | | |
| | | var deviceRow = new CategoryFunctionRow(0, 35); |
| | | deviceRow.Init(deviceUI.IconPath, deviceUI.OnlineIconPath); |
| | | deviceRow.SetTitle(Common.LocalDevice.Current.GetDeviceEpointName(deviceUI.CommonDevice)); |
| | | deviceRow.SetTitle(Common.LocalDevice.Current.GetDeviceEpointName(deviceUI)); |
| | | deviceRow.IsSelected = airSwitch.OnOffStatus == 1; |
| | | deviceRow.SetStatuText(deviceUI.GetDeviceStatu()); |
| | | 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(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); |
| | | } |
| | | }); |
| | | }; |
| | |
| | | var lightControl = new Phone.Device.Light.AirSwitchControl(); |
| | | UserView.HomePage.Instance.AddChidren(lightControl); |
| | | UserView.HomePage.Instance.PageIndex += 1; |
| | | lightControl.Show(deviceUI, Common.Room.CurrentRoom); |
| | | lightControl.Show(deviceUI, HdlRoomLogic.Current.CurrentRoom); |
| | | lightControl.action += (curDev, curRoom) => |
| | | { |
| | | |
| | |
| | | var detailInfo = new Device.CommonForm.DeviceDetailInfo { }; |
| | | UserView.HomePage.Instance.AddChidren(detailInfo); |
| | | UserView.HomePage.Instance.PageIndex += 1; |
| | | detailInfo.Show(deviceUI, Shared.Common.Room.CurrentRoom); |
| | | 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) |
| | | }; |
| | | if (Common.Room.CurrentRoom.IsSharedRoom == false) |
| | | if (HdlRoomLogic.Current.CurrentRoom.IsSharedRoom == false) |
| | | { |
| | | deviceTypeRowLayout.AddRightView(editBtn); |
| | | editBtn.MouseUpEventHandler += deviceDetailHandler; |
| | | } |
| | | } |
| | | } |
| | | 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); |
| | | } |
| | | } |
| | | }) |
| | |
| | | |
| | | var deviceRow = new CategoryFunctionRow(0, 35); |
| | | deviceRow.Init(deviceUI.IconPath, deviceUI.OnlineIconPath); |
| | | deviceRow.SetTitle(Common.LocalDevice.Current.GetDeviceEpointName(deviceUI.CommonDevice)); |
| | | deviceRow.SetStatuText(deviceUI.GetDeviceStatu()); |
| | | 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(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.Show(deviceUI, Common.Room.CurrentRoom); |
| | | dimmableLightControl.Show(deviceUI, HdlRoomLogic.Current.CurrentRoom); |
| | | dimmableLightControl.action += (curDev, curRoom) => |
| | | { |
| | | ReFreshDeviceAction(deviceUI, curRoom, sameTypeList, deviceListScrolView, deviceRow); |
| | |
| | | var detailInfo = new Device.CommonForm.DeviceDetailInfo { }; |
| | | UserView.HomePage.Instance.AddChidren(detailInfo); |
| | | UserView.HomePage.Instance.PageIndex += 1; |
| | | detailInfo.Show(deviceUI, Shared.Common.Room.CurrentRoom); |
| | | 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) |
| | | }; |
| | | if (Common.Room.CurrentRoom.IsSharedRoom == false) |
| | | if (HdlRoomLogic.Current.CurrentRoom.IsSharedRoom == false) |
| | | { |
| | | deviceTypeRowLayout.AddRightView(editBtn); |
| | | editBtn.MouseUpEventHandler += deviceDetailHandler; |
| | | } |
| | | } |
| | | } |
| | | 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); |
| | | } |
| | | } |
| | | }) |
| | |
| | | |
| | | var deviceRow = new CategoryFunctionRow(0, 35); |
| | | deviceRow.Init(deviceUI.IconPath, deviceUI.OnlineIconPath); |
| | | deviceRow.SetTitle(Common.LocalDevice.Current.GetDeviceEpointName(deviceUI.CommonDevice)); |
| | | deviceRow.SetStatuText(deviceUI.GetDeviceStatu()); |
| | | 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; |
| | |
| | | { |
| | | 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); |
| | | } |
| | | }); |
| | | }; |
| | |
| | | UserView.HomePage.Instance.AddChidren(acControl); |
| | | UserView.HomePage.Instance.PageIndex += 1; |
| | | UserView.HomePage.Instance.ScrollEnabled = false; |
| | | acControl.Show(deviceUI, Common.Room.CurrentRoom); |
| | | acControl.Show(deviceUI, HdlRoomLogic.Current.CurrentRoom); |
| | | acControl.action += (curDev, curRoom) => |
| | | { |
| | | ReFreshDeviceAction(deviceUI, curRoom, sameTypeList, deviceListScrolView, deviceRow); |
| | |
| | | var detailInfo = new Device.CommonForm.DeviceDetailInfo { }; |
| | | UserView.HomePage.Instance.AddChidren(detailInfo); |
| | | UserView.HomePage.Instance.PageIndex += 1; |
| | | detailInfo.Show(deviceUI, Shared.Common.Room.CurrentRoom); |
| | | 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) |
| | | }; |
| | | if (Common.Room.CurrentRoom.IsSharedRoom == false) |
| | | 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); |
| | | } |
| | | } |
| | | }) |
| | |
| | | |
| | | var deviceRow = new CategoryFunctionForWinRow(0, 35); |
| | | deviceRow.Init(deviceUI); |
| | | deviceRow.SetTitle(Common.LocalDevice.Current.GetDeviceEpointName(deviceUI.CommonDevice)); |
| | | deviceRow.SetStatuText(deviceUI.GetDeviceStatu()); |
| | | 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); |
| | |
| | | UserView.HomePage.Instance.AddChidren(rollerShadeControl); |
| | | UserView.HomePage.Instance.PageIndex += 1; |
| | | UserView.HomePage.Instance.ScrollEnabled = false; |
| | | rollerShadeControl.Show(deviceUI, Common.Room.CurrentRoom); |
| | | rollerShadeControl.Show(deviceUI, HdlRoomLogic.Current.CurrentRoom); |
| | | rollerShadeControl.action += (curDev, curRoom) => |
| | | { |
| | | ReFreshDeviceActionForWin(deviceUI, curRoom, sameTypeList, deviceListScrolView, deviceRow); |
| | |
| | | var detailInfo = new Device.CommonForm.DeviceDetailInfo { }; |
| | | UserView.HomePage.Instance.AddChidren(detailInfo); |
| | | UserView.HomePage.Instance.PageIndex += 1; |
| | | detailInfo.Show(deviceUI, Shared.Common.Room.CurrentRoom); |
| | | detailInfo.Show(deviceUI, HdlRoomLogic.Current.CurrentRoom); |
| | | detailInfo.EditAction += (curDevice, curRoom) => |
| | | { |
| | | ReFreshDeviceActionForWin(deviceUI, curRoom, sameTypeList, deviceListScrolView, deviceRow); |
| | |
| | | }; |
| | | var editBtn = new CommonForm.RowLayoutEditButton() |
| | | { |
| | | Tag = deviceUI |
| | | Tag = LocalDevice.Current.GetDeviceMainKeys(deviceUI) |
| | | }; |
| | | if (Common.Room.CurrentRoom.IsSharedRoom == false) |
| | | 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 deviceRow = new CategoryFunctionRow(0, 35); |
| | | deviceRow.Init(deviceUI.IconPath, deviceUI.OnlineIconPath); |
| | | deviceRow.SetTitle(Common.LocalDevice.Current.GetDeviceEpointName(deviceUI.CommonDevice)); |
| | | 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(Common.Room.CurrentRoom, deviceUI); |
| | | var userDoorLockPage = new UserDoorLockPage(HdlRoomLogic.Current.CurrentRoom, deviceUI); |
| | | HomePage.Instance.AddChidren(userDoorLockPage); |
| | | HomePage.Instance.PageIndex += 1; |
| | | userDoorLockPage.Show(); |
| | |
| | | var detailInfo = new Device.CommonForm.DeviceDetailInfo { }; |
| | | UserView.HomePage.Instance.AddChidren(detailInfo); |
| | | UserView.HomePage.Instance.PageIndex += 1; |
| | | detailInfo.Show(deviceUI, Shared.Common.Room.CurrentRoom); |
| | | 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) |
| | | }; |
| | | if (Common.Room.CurrentRoom.IsSharedRoom == false) |
| | | if (HdlRoomLogic.Current.CurrentRoom.IsSharedRoom == false) |
| | | { |
| | | deviceTypeRowLayout.AddRightView(editBtn); |
| | | editBtn.MouseUpEventHandler += deviceDetailHandler; |
| | | } |
| | | } |
| | | else if (deviceUI.CommonDevice.Type == DeviceType.IASZone) |
| | | 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.CommonDevice)); |
| | | deviceRow.SetStatuText(deviceUI.GetDeviceStatu()); |
| | | deviceRow.IsSelected = (deviceUI.CommonDevice as IASZone).iASInfo?.Alarm1 == 1; |
| | | 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); |
| | | |
| | |
| | | var detailInfo = new Device.CommonForm.DeviceDetailInfo { }; |
| | | UserView.HomePage.Instance.AddChidren(detailInfo); |
| | | UserView.HomePage.Instance.PageIndex += 1; |
| | | detailInfo.Show(deviceUI, Shared.Common.Room.CurrentRoom); |
| | | 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) |
| | | }; |
| | | if (Common.Room.CurrentRoom.IsSharedRoom == false) |
| | | if (HdlRoomLogic.Current.CurrentRoom.IsSharedRoom == false) |
| | | { |
| | | deviceTypeRowLayout.AddRightView(editBtn); |
| | | editBtn.MouseUpEventHandler += deviceDetailHandler; |
| | | } |
| | | } |
| | | else if (deviceUI.CommonDevice.Type == DeviceType.TemperatureSensor) |
| | | else if (deviceUI.Type == DeviceType.TemperatureSensor) |
| | | { |
| | | var tempera = deviceUI.CommonDevice as TemperatureSensor; |
| | | var tempera = deviceUI as TemperatureSensor; |
| | | if (tempera.Gateway != null) |
| | | { |
| | | new System.Threading.Thread(() => |
| | |
| | | { |
| | | if (tempera.SensorDiv == 1) |
| | | { |
| | | ReadDeviceAttributeLogic.Instance.SendTemperatureStatuComand(deviceUI.CommonDevice); |
| | | ReadDeviceAttributeLogic.Instance.SendTemperatureStatuComand(deviceUI); |
| | | } |
| | | else if (tempera.SensorDiv == 2) |
| | | { |
| | | ReadDeviceAttributeLogic.Instance.SendHumidityStatuComand(deviceUI.CommonDevice); |
| | | ReadDeviceAttributeLogic.Instance.SendHumidityStatuComand(deviceUI); |
| | | } |
| | | }); |
| | | } |
| | |
| | | { |
| | | if (tempera.SensorDiv == 1) |
| | | { |
| | | ReadDeviceAttributeLogic.Instance.SendTemperatureStatuComand(deviceUI.CommonDevice); |
| | | ReadDeviceAttributeLogic.Instance.SendTemperatureStatuComand(deviceUI); |
| | | } |
| | | else if (tempera.SensorDiv == 2) |
| | | { |
| | | ReadDeviceAttributeLogic.Instance.SendHumidityStatuComand(deviceUI.CommonDevice); |
| | | ReadDeviceAttributeLogic.Instance.SendHumidityStatuComand(deviceUI); |
| | | } |
| | | } |
| | | } |
| | |
| | | |
| | | var deviceRow = new CategoryFunctionRow(0, 35); |
| | | deviceRow.Init(deviceUI.IconPath, deviceUI.OnlineIconPath); |
| | | deviceRow.SetTitle(Common.LocalDevice.Current.GetDeviceEpointName(deviceUI.CommonDevice)); |
| | | deviceRow.SetStatuText(deviceUI.GetDeviceStatu()); |
| | | deviceRow.SetTitle(Common.LocalDevice.Current.GetDeviceEpointName(deviceUI)); |
| | | deviceRow.SetStatuText(HdlDeviceOtherLogic.Current.GetDeviceStatu(deviceUI)); |
| | | deviceRow.IsSelected = false; |
| | | deviceRow.HideSwitchBtn(true); |
| | | deviceTypeRowLayout.AddChidren(deviceRow); |
| | |
| | | var detailInfo = new Device.CommonForm.DeviceDetailInfo { }; |
| | | UserView.HomePage.Instance.AddChidren(detailInfo); |
| | | UserView.HomePage.Instance.PageIndex += 1; |
| | | detailInfo.Show(deviceUI, Shared.Common.Room.CurrentRoom); |
| | | 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) |
| | | }; |
| | | if (Common.Room.CurrentRoom.IsSharedRoom == false) |
| | | if (HdlRoomLogic.Current.CurrentRoom.IsSharedRoom == false) |
| | | { |
| | | deviceTypeRowLayout.AddRightView(editBtn); |
| | | editBtn.MouseUpEventHandler += deviceDetailHandler; |
| | |
| | | { |
| | | var deviceRow = new CategoryFunctionRow(0, 35); |
| | | deviceRow.Init(deviceUI.IconPath, deviceUI.OnlineIconPath); |
| | | deviceRow.SetTitle(Common.LocalDevice.Current.GetDeviceEpointName(deviceUI.CommonDevice)); |
| | | deviceRow.SetStatuText(deviceUI.GetDeviceStatu()); |
| | | deviceRow.SetTitle(Common.LocalDevice.Current.GetDeviceEpointName(deviceUI)); |
| | | deviceRow.SetStatuText(HdlDeviceOtherLogic.Current.GetDeviceStatu(deviceUI)); |
| | | deviceRow.HideSwitchBtn(true); |
| | | deviceTypeRowLayout.AddChidren(deviceRow); |
| | | |
| | |
| | | var detailInfo = new Device.CommonForm.DeviceDetailInfo { }; |
| | | UserView.HomePage.Instance.AddChidren(detailInfo); |
| | | UserView.HomePage.Instance.PageIndex += 1; |
| | | detailInfo.Show(deviceUI, Shared.Common.Room.CurrentRoom); |
| | | 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) |
| | | }; |
| | | if (Common.Room.CurrentRoom.IsSharedRoom == false) |
| | | if (HdlRoomLogic.Current.CurrentRoom.IsSharedRoom == false) |
| | | { |
| | | deviceTypeRowLayout.AddRightView(editBtn); |
| | | editBtn.MouseUpEventHandler += deviceDetailHandler; |
| | |
| | | alert.Show(); |
| | | alert.ConfirmClickEvent += () => |
| | | { |
| | | if (Common.Room.CurrentRoom.IsLove) |
| | | if (HdlRoomLogic.Current.CurrentRoom.IsLove) |
| | | { |
| | | Shared.Common.Room.CurrentRoom.DeleteDevice(deviceUI.FileName); |
| | | HdlRoomLogic.Current.DeleteLoveDevice(deviceUI); |
| | | deviceListScrolView.RemoveViewByTag((delSender as Button).Tag); |
| | | sameTypeList.Remove(deviceUI); |
| | | } |
| | | else |
| | | { |
| | | Shared.Common.Room.CurrentRoom.DeleteDevice(deviceUI.CommonDevice); |
| | | HdlRoomLogic.Current.DeleteDevice(deviceUI); |
| | | deviceListScrolView.RemoveViewByTag((delSender as Button).Tag); |
| | | sameTypeList.Remove(deviceUI); |
| | | if (Common.Room.CurrentRoom.GetLoveRoom().DeviceUIList.Find((obj) => obj.FileName == deviceUI.FileName) != null) |
| | | { |
| | | Common.Room.CurrentRoom.GetLoveRoom().DeleteDevice(deviceUI.FileName); |
| | | } |
| | | sameTypeList.Remove(deviceUI);
|
| | |
|
| | | HdlRoomLogic.Current.DeleteLoveDevice(deviceUI); |
| | | } |
| | | if (sameTypeList.Count == 0) |
| | | { |
| | |
| | | }; |
| | | var delBtn = new CommonForm.RowLayoutDeleteButton() |
| | | { |
| | | Tag = deviceUI |
| | | Tag = LocalDevice.Current.GetDeviceMainKeys(deviceUI) |
| | | }; |
| | | if (Common.Room.CurrentRoom.IsSharedRoom == false) |
| | | if (HdlRoomLogic.Current.CurrentRoom.IsSharedRoom == false) |
| | | { |
| | | deviceTypeRowLayout.AddRightView(delBtn); |
| | | delBtn.MouseUpEventHandler += delEvent; |
| | |
| | | /// <param name="sameTypeList"></param> |
| | | /// <param name="devListScrolView"></param> |
| | | /// <param name="deviceRow"></param> |
| | | private void ReFreshDeviceAction(DeviceUI deviceUI, Common.Room curRoom, List<DeviceUI> sameTypeList, VerticalScrolViewLayout devListScrolView, CategoryFunctionRow deviceRow) |
| | | private void ReFreshDeviceAction(CommonDevice deviceUI, Common.Room curRoom, List<CommonDevice> sameTypeList, VerticalScrolViewLayout devListScrolView, CategoryFunctionRow deviceRow) |
| | | { |
| | | if (Common.Room.CurrentRoom.IsLove) |
| | | if (HdlRoomLogic.Current.CurrentRoom.IsLove) |
| | | { |
| | | deviceRow.SetDeviceIcon(deviceUI.IconPath, deviceUI.OnlineIconPath); |
| | | deviceRow.SetTitle(Common.LocalDevice.Current.GetDeviceEpointName(deviceUI.CommonDevice)); |
| | | if (Common.Room.CurrentRoom.IsCollectInRoom(deviceUI.FileName) == false) |
| | | deviceRow.SetTitle(Common.LocalDevice.Current.GetDeviceEpointName(deviceUI)); |
| | | if (HdlRoomLogic.Current.IsCollectInRoom(deviceUI) == false) |
| | | { |
| | | devListScrolView.RemoveViewByTag(deviceUI); |
| | | sameTypeList.Remove(deviceUI); |
| | | if (sameTypeList.Count == 0) |
| | | { |
| | | RefreshFunction(Common.Room.CurrentRoom); |
| | | RefreshFunction(HdlRoomLogic.Current.CurrentRoom); |
| | | } |
| | | } |
| | | } |
| | | else |
| | | { |
| | | if (curRoom.Id != Common.Room.CurrentRoom.Id) |
| | | if (curRoom.Id != HdlRoomLogic.Current.CurrentRoom.Id) |
| | | { |
| | | Shared.Common.Room.CurrentRoom.DeleteDevice(deviceUI.FileName); |
| | | HdlRoomLogic.Current.DeleteDevice(deviceUI); |
| | | devListScrolView.RemoveViewByTag(deviceUI); |
| | | sameTypeList.Remove(deviceUI); |
| | | if (sameTypeList.Count == 0) |
| | | { |
| | | RefreshFunction(Common.Room.CurrentRoom); |
| | | RefreshFunction(HdlRoomLogic.Current.CurrentRoom); |
| | | } |
| | | } |
| | | else |
| | | { |
| | | deviceRow.SetDeviceIcon(deviceUI.IconPath, deviceUI.OnlineIconPath); |
| | | deviceRow.SetTitle(Common.LocalDevice.Current.GetDeviceEpointName(deviceUI.CommonDevice)); |
| | | deviceRow.SetTitle(Common.LocalDevice.Current.GetDeviceEpointName(deviceUI)); |
| | | } |
| | | } |
| | | } |
| | |
| | | /// <param name="sameTypeList"></param> |
| | | /// <param name="devListScrolView"></param> |
| | | /// <param name="deviceRow"></param> |
| | | private void ReFreshDeviceActionForWin(DeviceUI deviceUI, Common.Room curRoom, List<DeviceUI> sameTypeList, VerticalScrolViewLayout devListScrolView, CategoryFunctionForWinRow deviceRow) |
| | | private void ReFreshDeviceActionForWin(CommonDevice deviceUI, Common.Room curRoom, List<CommonDevice> sameTypeList, VerticalScrolViewLayout devListScrolView, CategoryFunctionForWinRow deviceRow) |
| | | { |
| | | if (Common.Room.CurrentRoom.IsLove) |
| | | if (HdlRoomLogic.Current.CurrentRoom.IsLove) |
| | | { |
| | | deviceRow.SetDeviceIcon(deviceUI.IconPath, deviceUI.OnlineIconPath); |
| | | deviceRow.SetTitle(Common.LocalDevice.Current.GetDeviceEpointName(deviceUI.CommonDevice)); |
| | | if (Common.Room.CurrentRoom.IsCollectInRoom(deviceUI.FileName) == false) |
| | | deviceRow.SetTitle(Common.LocalDevice.Current.GetDeviceEpointName(deviceUI)); |
| | | if (HdlRoomLogic.Current.IsCollectInRoom(deviceUI) == false) |
| | | { |
| | | devListScrolView.RemoveViewByTag(deviceUI); |
| | | sameTypeList.Remove(deviceUI); |
| | | if (sameTypeList.Count == 0) |
| | | { |
| | | RefreshFunction(Common.Room.CurrentRoom); |
| | | RefreshFunction(HdlRoomLogic.Current.CurrentRoom); |
| | | } |
| | | } |
| | | } |
| | | else |
| | | { |
| | | if (curRoom.Id != Common.Room.CurrentRoom.Id) |
| | | if (curRoom.Id != HdlRoomLogic.Current.CurrentRoom.Id) |
| | | { |
| | | Shared.Common.Room.CurrentRoom.DeleteDevice(deviceUI.FileName); |
| | | HdlRoomLogic.Current.DeleteDevice(deviceUI); |
| | | devListScrolView.RemoveViewByTag(deviceUI); |
| | | sameTypeList.Remove(deviceUI); |
| | | if (sameTypeList.Count == 0) |
| | | { |
| | | RefreshFunction(Common.Room.CurrentRoom); |
| | | RefreshFunction(HdlRoomLogic.Current.CurrentRoom); |
| | | } |
| | | } |
| | | else |
| | | { |
| | | deviceRow.SetDeviceIcon(deviceUI.IconPath, deviceUI.OnlineIconPath); |
| | | deviceRow.SetTitle(Common.LocalDevice.Current.GetDeviceEpointName(deviceUI.CommonDevice)); |
| | | deviceRow.SetTitle(Common.LocalDevice.Current.GetDeviceEpointName(deviceUI)); |
| | | } |
| | | } |
| | | } |
| | |
| | | functionSceneAutoBodyView.AddChidren(functionSceneBodyView); |
| | | |
| | | RoomButton curBtn = new RoomButton(0, 0); |
| | | foreach (var room in Common.Room.CurrentRoom.GetRoomsByCurrentFloorIdAppendLoveRoom()) |
| | | var lisrRoom = HdlRoomLogic.Current.GetRoomsByCurrentFloorIdAppendLoveRoom(); |
| | | foreach (var room in lisrRoom) |
| | | { |
| | | var row = new FrameLayout() |
| | | { |
| | |
| | | roomBtn.SetTitle(room.Name); |
| | | row.AddChidren(roomBtn); |
| | | |
| | | if (room.Id == Common.Room.CurrentRoom.Id) |
| | | if (room.Id == HdlRoomLogic.Current.CurrentRoom.Id) |
| | | { |
| | | roomBtn.IsSelected = true; |
| | | curBtn = roomBtn; |
| | |
| | | sender.IsSelected = true; |
| | | curBtn.IsSelected = false; |
| | | curBtn = sender; |
| | | Common.Room.CurrentRoom = room; |
| | | HdlRoomLogic.Current.CurrentRoom = room; |
| | | if (sceneBtn.IsSelected) |
| | | { |
| | | RefreshScene(room); |