| | |
| | | /// <summary> |
| | | /// deviceUI |
| | | /// </summary> |
| | | public DeviceUI deviceUI; |
| | | public CommonDevice deviceUI; |
| | | /// <summary> |
| | | /// 功能类型 |
| | | /// </summary> |
| | |
| | | /// <summary> |
| | | /// dList |
| | | /// </summary> |
| | | private List<DeviceUI> devList; |
| | | private List<CommonDevice> devList; |
| | | /// <summary> |
| | | /// 相同类型的设备列表 |
| | | /// </summary> |
| | | private Dictionary<int, List<DeviceUI>> typeDeviceDic; |
| | | private Dictionary<int, List<CommonDevice>> typeDeviceDic; |
| | | /// <summary> |
| | | /// 设备类型的图id |
| | | /// </summary> |
| | |
| | | /// </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; |
| | | devList = UserCenter.HdlRoomLogic.Current.GetRoomListDevice(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彩灯 |
| | | || info.BeloneType == DeviceBeloneType.A插座 || info.BeloneType == DeviceBeloneType.A智能空开 |
| | | || info.BeloneType == DeviceBeloneType.A灯光 || info.BeloneType == DeviceBeloneType.A空调 |
| | |
| | | { |
| | | if (typeDeviceDic.ContainsKey(info.BeloneTextId) == false) |
| | | { |
| | | var sameDevList = new List<DeviceUI> { }; |
| | | var sameDevList = new List<CommonDevice> { }; |
| | | sameDevList.Add(device); |
| | | typeDeviceDic[info.BeloneTextId] = sameDevList; |
| | | } |
| | |
| | | bodyFrameLayout.AddChidren(functionSceneBodyView); |
| | | |
| | | RoomButton curBtn = new RoomButton(0, 0); |
| | | foreach (var room in Common.Room.CurrentRoom.GetRoomsByFloorIdAppendLoveRoom(floorId)) |
| | | var lisrRoom = UserCenter.HdlRoomLogic.Current.GetRoomsByFloorIdAppendLoveRoom(floorId); |
| | | foreach (var room in lisrRoom) |
| | | { |
| | | var row = new FrameLayout() |
| | | { |
| | |
| | | |
| | | deviceListScrolView.RemoveAll(); |
| | | |
| | | var sameTypeList = new List<DeviceUI> { }; |
| | | var sameTypeList = new List<CommonDevice> { }; |
| | | sameTypeList = typeDeviceDic[int.Parse((typeSender as Button).Tag.ToString())]; |
| | | |
| | | foreach (var device in sameTypeList) |
| | |
| | | |
| | | var deviceRow = new FunctionRow(0, 35); |
| | | deviceRow.Init(device.IconPath, device.OnlineIconPath, true); |
| | | deviceRow.SetTitle(Common.LocalDevice.Current.GetDeviceEpointName(device.CommonDevice)); |
| | | deviceRow.SetTitle(Common.LocalDevice.Current.GetDeviceEpointName(device)); |
| | | deviceRow.IsSelected = true; |
| | | deviceRow.HideSwitchBtn(false); |
| | | deviceRow.NameBtn.BackgroundColor = ZigbeeColor.Current.GXCRedColor; |
| | |
| | | /// ShowSelectAction |
| | | /// </summary> |
| | | /// <param name="device"></param> |
| | | private void ShowSelectAction(DeviceUI device, SceneTargetDeviceUI sceneTarget) |
| | | private void ShowSelectAction(CommonDevice device, SceneTargetDeviceUI sceneTarget) |
| | | { |
| | | var dialog = new FrameLayout() |
| | | { |
| | |
| | | dialog.RemoveFromParent(); |
| | | }; |
| | | |
| | | if (device.CommonDevice.Type == ZigBee.Device.DeviceType.OnOffOutput) |
| | | if (device.Type == ZigBee.Device.DeviceType.OnOffOutput) |
| | | { |
| | | SelectOnoffOutput(dialog, device, sceneTarget); |
| | | } |
| | | else if (device.CommonDevice.Type == ZigBee.Device.DeviceType.AirSwitch) |
| | | else if (device.Type == ZigBee.Device.DeviceType.AirSwitch) |
| | | { |
| | | SelectOnoffOutput(dialog, device, sceneTarget); |
| | | } |
| | | else if (device.CommonDevice.Type == ZigBee.Device.DeviceType.DimmableLight) |
| | | else if (device.Type == ZigBee.Device.DeviceType.DimmableLight) |
| | | { |
| | | SelectDimmableLight(dialog, device, sceneTarget); |
| | | } |
| | | else if (device.CommonDevice.Type == ZigBee.Device.DeviceType.WindowCoveringDevice) |
| | | else if (device.Type == ZigBee.Device.DeviceType.WindowCoveringDevice) |
| | | { |
| | | SelectWindowCoveringDevice(dialog, device, sceneTarget); |
| | | } |
| | | else if (device.CommonDevice.Type == ZigBee.Device.DeviceType.Thermostat) |
| | | else if (device.Type == ZigBee.Device.DeviceType.Thermostat) |
| | | { |
| | | SelectThermostat(dialog, device, sceneTarget); |
| | | } |
| | |
| | | /// <param name="dialog"></param> |
| | | /// <param name="device"></param> |
| | | /// <param name="sceneTarget"></param> |
| | | private void SelectOnoffOutput(FrameLayout dialog, DeviceUI device, SceneTargetDeviceUI sceneTarget) |
| | | private void SelectOnoffOutput(FrameLayout dialog, CommonDevice device, SceneTargetDeviceUI sceneTarget) |
| | | { |
| | | var selectFL = new FrameLayout |
| | | { |
| | |
| | | Gravity = Gravity.CenterHorizontal, |
| | | TextColor = ZigbeeColor.Current.GXCTextBlackColor, |
| | | TextSize = 16, |
| | | Text = Common.LocalDevice.Current.GetDeviceEpointName(device.CommonDevice) |
| | | Text = Common.LocalDevice.Current.GetDeviceEpointName(device) |
| | | }; |
| | | titleFL.AddChidren(deviceName); |
| | | |
| | |
| | | /// <param name="dialog"></param> |
| | | /// <param name="device"></param> |
| | | /// <param name="sceneTarget"></param> |
| | | private void SelectWindowCoveringDevice(FrameLayout dialog, DeviceUI device, SceneTargetDeviceUI sceneTarget) |
| | | private void SelectWindowCoveringDevice(FrameLayout dialog, CommonDevice device, SceneTargetDeviceUI sceneTarget) |
| | | { |
| | | var selectFL = new FrameLayout |
| | | { |
| | |
| | | Gravity = Gravity.CenterHorizontal, |
| | | TextColor = ZigbeeColor.Current.GXCTextBlackColor, |
| | | TextSize = 16, |
| | | Text = Common.LocalDevice.Current.GetDeviceEpointName(device.CommonDevice) |
| | | Text = Common.LocalDevice.Current.GetDeviceEpointName(device) |
| | | }; |
| | | titleFL.AddChidren(deviceName); |
| | | |
| | |
| | | /// <param name="dialog"></param> |
| | | /// <param name="device"></param> |
| | | /// <param name="sceneTarget"></param> |
| | | private void SelectDimmableLight(FrameLayout dialog, DeviceUI device, SceneTargetDeviceUI sceneTarget) |
| | | private void SelectDimmableLight(FrameLayout dialog, CommonDevice device, SceneTargetDeviceUI sceneTarget) |
| | | { |
| | | var selectFL = new FrameLayout |
| | | { |
| | |
| | | TextColor = ZigbeeColor.Current.GXCTextBlackColor, |
| | | TextSize = 16, |
| | | TextAlignment = TextAlignment.CenterLeft, |
| | | Text = Common.LocalDevice.Current.GetDeviceEpointName(device.CommonDevice) |
| | | Text = Common.LocalDevice.Current.GetDeviceEpointName(device) |
| | | }; |
| | | titleFL.AddChidren(deviceName); |
| | | |
| | |
| | | /// <param name="dialog"></param> |
| | | /// <param name="device"></param> |
| | | /// <param name="sceneTarget"></param> |
| | | private void SelectThermostat(FrameLayout dialog, DeviceUI device, SceneTargetDeviceUI sceneTarget) |
| | | private void SelectThermostat(FrameLayout dialog, CommonDevice device, SceneTargetDeviceUI sceneTarget) |
| | | { |
| | | var selectFL = new FrameLayout |
| | | { |
| | |
| | | TextColor = ZigbeeColor.Current.GXCTextBlackColor, |
| | | TextSize = 16, |
| | | TextAlignment = TextAlignment.CenterLeft, |
| | | Text = Common.LocalDevice.Current.GetDeviceEpointName(device.CommonDevice) |
| | | Text = Common.LocalDevice.Current.GetDeviceEpointName(device) |
| | | }; |
| | | titleFL.AddChidren(deviceName); |
| | | |