| | |
| | | using ZigBee.Device; |
| | | using Shared.Phone.Device.CommonForm; |
| | | using Shared.Phone.UserCenter.DoorLock; |
| | | using System.Timers; |
| | | |
| | | namespace Shared.Phone.UserView |
| | | { |
| | |
| | | /// floorBtn |
| | | /// </summary> |
| | | private Button floorBtn; |
| | | /// <summary> |
| | | /// timeDic |
| | | /// </summary> |
| | | private Dictionary<string, Timer> timerDic = new Dictionary<string, Timer> { }; |
| | | /// <summary> |
| | | /// sceneScrolView |
| | | /// </summary> |
| | | private VerticalScrolViewLayout sceneScrolView ; |
| | | #endregion |
| | | |
| | | #region ◆ 接口____________________________ |
| | |
| | | //此属性描述恒温设备正处于哪种模式 |
| | | ac.currentSystemMode = attriButeList[0].AttriButeData; |
| | | ac.LastDateTime = DateTime.Now; |
| | | break; |
| | | |
| | | case 4099: |
| | | var value = Convert.ToString(attriButeList[0].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; |
| | | } |
| | | (rowFL.GetChildren(0) as FunctionMainView).IsSelected = ac.currentSystemMode != 0; |
| | |
| | | //消息 |
| | | messageBtn.MouseUpEventHandler += (send, e) => |
| | | { |
| | | var roomList = new Shared.Phone.Device.Room.RoomManagement(); |
| | | HomePage.Instance.AddChidren(roomList); |
| | | HomePage.Instance.PageIndex += 1; |
| | | roomList.Show(); |
| | | |
| | | }; |
| | | |
| | | #endregion |
| | |
| | | |
| | | roomListBtn.MouseUpEventHandler += (send, e) => |
| | | { |
| | | CommonPage.Instance.IsDrawerLockMode = true; |
| | | var editRoom = new Device.Room.EditRoom(); |
| | | HomePage.Instance.AddChidren(editRoom); |
| | | HomePage.Instance.PageIndex += 1; |
| | |
| | | }; |
| | | }; |
| | | } |
| | | |
| | | |
| | | |
| | | var functionSceneView = new FrameLayout() |
| | | { |
| | |
| | | var floorFL = new Phone.Device.Category.SelectFloor(); |
| | | AddChidren(floorFL); |
| | | floorFL.Init(35, 153); |
| | | floorFL.FloorAction = (floorName) => |
| | | floorFL.changeFloor = true; |
| | | floorFL.FloorAction = (floorId) => |
| | | { |
| | | floorBtn.Text = floorName; |
| | | floorBtn.Text = Config.Instance.Home.GetFloorNameById(floorId); |
| | | Show(); |
| | | }; |
| | | } |
| | |
| | | deviceVerticalScrolViewLayout.AddChidren(itemView); |
| | | } |
| | | |
| | | //删除设备 |
| | | EventHandler<MouseEventArgs> delEvent = (sender, e) => |
| | | { |
| | | var alert = new Alert(Language.StringByID(R.MyInternationalizationString.TIP), Language.StringByID(R.MyInternationalizationString.ConfirmDelete), Language.StringByID(R.MyInternationalizationString.Cancel), Language.StringByID(R.MyInternationalizationString.Confrim)); |
| | | alert.Show(); |
| | | alert.ResultEventHandler += (send1, e1) => |
| | | { |
| | | if (e1) |
| | | { |
| | | Room.CurrentRoom.DeleteDevice(device.FileName); |
| | | //RefreshBodyView(); |
| | | deviceVerticalScrolViewLayout.RemoveViewByTag((sender as Button).Tag); |
| | | } |
| | | }; |
| | | }; |
| | | //收藏 |
| | | EventHandler<MouseEventArgs> collectionEvent = (sender, e) => |
| | | { |
| | |
| | | |
| | | lightView.CardBG.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | CommonPage.Instance.IsDrawerLockMode = true; |
| | | var rollerShadeControl = new Phone.Device.Curtain.RollerShadeControl(); |
| | | UserView.HomePage.Instance.AddChidren(rollerShadeControl); |
| | | UserView.HomePage.Instance.PageIndex += 1; |
| | |
| | | |
| | | lightView.CardBG.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | CommonPage.Instance.IsDrawerLockMode = true; |
| | | if (device.CommonDevice.DfunctionType == DeviceFunctionType.A开关) |
| | | { |
| | | var lightControl = new Phone.Device.Light.OnOffControl(); |
| | |
| | | |
| | | lightView.CardBG.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | CommonPage.Instance.IsDrawerLockMode = true; |
| | | var lightControl = new Phone.Device.Light.AirSwitchControl(); |
| | | UserView.HomePage.Instance.AddChidren(lightControl); |
| | | UserView.HomePage.Instance.PageIndex += 1; |
| | |
| | | ac.ReadFanMode(); |
| | | ac.ReadSystemMode(); |
| | | ac.ReadSystemFansSwingMode(); |
| | | ac.ReadModeSupport(); |
| | | }); |
| | | } |
| | | else |
| | |
| | | ac.ReadFanMode(); |
| | | ac.ReadSystemMode(); |
| | | ac.ReadSystemFansSwingMode(); |
| | | ac.ReadModeSupport(); |
| | | } |
| | | } |
| | | var lightView = new FunctionMainView(xx, yy); |
| | |
| | | |
| | | lightView.CardBG.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | CommonPage.Instance.IsDrawerLockMode = true; |
| | | var lightControl = new Phone.Device.AC.ACControl(); |
| | | UserView.HomePage.Instance.AddChidren(lightControl); |
| | | UserView.HomePage.Instance.PageIndex += 1; |
| | |
| | | |
| | | lightView.CardBG.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | CommonPage.Instance.IsDrawerLockMode = true; |
| | | var dimmableLightControl = new Phone.Device.Light.DimmableLightControl(); |
| | | UserView.HomePage.Instance.AddChidren(dimmableLightControl); |
| | | UserView.HomePage.Instance.PageIndex += 1; |
| | |
| | | |
| | | lightView.CardBG.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | CommonPage.Instance.IsDrawerLockMode = true; |
| | | var userDoorLockPage = new UserDoorLockPage(Room.CurrentRoom, device); |
| | | HomePage.Instance.AddChidren(userDoorLockPage); |
| | | HomePage.Instance.PageIndex += 1; |
| | |
| | | } |
| | | else |
| | | { |
| | | var sceneScrolView = new VerticalScrolViewLayout { }; |
| | | sceneScrolView = new VerticalScrolViewLayout { }; |
| | | functionSceneBodyView.AddChidren(sceneScrolView); |
| | | for (int i = 0; i < sceneList.Count; i++) |
| | | { |
| | |
| | | |
| | | var sceneView = new SceneMainView(xx, yy); |
| | | itemView.AddChidren(sceneView); |
| | | sceneView.Init(); |
| | | sceneView.SetSceneNameText(scene.Name); |
| | | sceneView.SetIcon($"SceneIcon/{i}.png"); |
| | | sceneView.SetCollect(Common.Room.CurrentRoom.GetLoveRoom().SceneUIFilePathList.Contains(scene.FileName)); |
| | | |
| | | if (scene.SceneDelayTime == 0) |
| | | { |
| | | sceneView.SetTimeImage(); |
| | | sceneView.Init(scene); |
| | | } |
| | | else |
| | | { |
| | | sceneView.SetTimeText(CommonFormResouce.GetTimeString(scene.SceneDelayTime)); |
| | | GetDelayScene(sceneScrolView); |
| | | } |
| | | } |
| | | |
| | | sceneView.TimeButton.MouseUpEventHandler += (sender, e) => |
| | | /// <summary> |
| | | /// GetDelayScene |
| | | /// </summary> |
| | | /// <param name="scrolViewLayout"></param> |
| | | private void GetDelayScene(VerticalScrolViewLayout scrolViewLayout) |
| | | { |
| | | var timeSelect = new SelectTime(); |
| | | CommonPage.Instance.AddChidren(timeSelect); |
| | | timeSelect.TempTime = scene.DelayTime; |
| | | timeSelect.Init(); |
| | | timeSelect.TimeAction = (t) => |
| | | new System.Threading.Thread(async () => |
| | | { |
| | | scene.SceneDelayTime = t; |
| | | if (t > 0) |
| | | { |
| | | sceneView.SetTimeText(CommonFormResouce.GetTimeString(scene.SceneDelayTime)); |
| | | } |
| | | else |
| | | { |
| | | sceneView.SetTimeImage(); |
| | | } |
| | | }; |
| | | |
| | | }; |
| | | |
| | | //调用场景 |
| | | EventHandler<MouseEventArgs> sceneUpHandler = async (sender, e) => |
| | | { |
| | | //1成功 0失败 |
| | | //后面补上相关提示 |
| | | // Error参数含义 |
| | | //<para>1:网关无法解析命令数据。</para> |
| | | //<para>2:协调器正在升级或备份/恢复数据 |
| | | //<para>3:操作设备/组/场景不存在</para> |
| | | //<para>4:其他错误</para> |
| | | //<para>5:数据传输错误(在某次客户端向网关发送数据的过程中,网关在合理时间范围内接收客户端数据不完整导致该错误发生。如客户端向网关一次发送100个字节的数据,但网关等待接收了一秒只接收了80个字节。发生该错误,网关将主动关闭客户端连接)</para> |
| | | var sceneOpenAllData = await ZigBee.Device.Scene.ControlSceneAsync(scene.Id, scene.SceneDelayTime); |
| | | if (sceneOpenAllData == null || sceneOpenAllData.sceneOpenData == null) |
| | | var catDelaySceneResponseAllData = await Scene.CatDelaySceneAsync(); |
| | | if (catDelaySceneResponseAllData == null) |
| | | { |
| | | return; |
| | | } |
| | | if (sceneOpenAllData.sceneOpenData.Result == 0) |
| | | { |
| | | if (sceneOpenAllData.errorResponData == null) |
| | | var catDelaySceneResponseData = catDelaySceneResponseAllData.catDelaySceneResponseData; |
| | | if (catDelaySceneResponseData == null || catDelaySceneResponseData.DelayScenesList.Count == 0) |
| | | { |
| | | return; |
| | | } |
| | | CommonPage.Instance.ShowErrorInfoAlert(R.MyInternationalizationString.ControlSceneFail); |
| | | } |
| | | }; |
| | | //收藏 |
| | | EventHandler<MouseEventArgs> collectionEvent = (sender, e) => |
| | | var delayList = catDelaySceneResponseData.DelayScenesList; |
| | | |
| | | Application.RunOnMainThread(() => |
| | | { |
| | | (sender as Button).IsSelected = !(sender as Button).IsSelected; |
| | | if ((sender as Button).IsSelected) |
| | | for (int i = 0; scrolViewLayout != null && i < scrolViewLayout.ChildrenCount; i++) |
| | | { |
| | | //scene.IsCollected = true; |
| | | Room.CurrentRoom.GetLoveRoom().AddScene(scene); |
| | | } |
| | | else |
| | | var iView = scrolViewLayout.GetChildren(i) as FrameLayout; |
| | | for (int j = 0; iView != null && j < iView.ChildrenCount; j++) |
| | | { |
| | | //scene.IsCollected = false; |
| | | Room.CurrentRoom.GetLoveRoom().RemoveScene(scene); |
| | | var sceneView = iView.GetChildren(j) as SceneMainView; |
| | | foreach (var delayScenesListResponseInfo in delayList) |
| | | { |
| | | if (delayScenesListResponseInfo.ScenesId == sceneView.scene.Id) |
| | | { |
| | | var times = delayScenesListResponseInfo.RemainTime; |
| | | sceneView.scene.RemainTime = times; |
| | | new System.Threading.Thread(() => |
| | | { |
| | | while (times > 0) |
| | | { |
| | | System.Threading.Thread.Sleep(1000); |
| | | Application.RunOnMainThread(() => |
| | | { |
| | | sceneView.SetTimeText(CommonFormResouce.GetTimeString(times)); |
| | | }); |
| | | times -= 1; |
| | | } |
| | | scene.Save(); |
| | | Application.RunOnMainThread(() => |
| | | { |
| | | sceneView.SetTimeImage(); |
| | | }); |
| | | }) |
| | | { IsBackground = true }.Start(); |
| | | |
| | | //if ((sender as Button).IsSelected) |
| | | //{ |
| | | // scene.Collect(false); |
| | | // (sender as Button).IsSelected = false; |
| | | //} |
| | | //else |
| | | //{ |
| | | // scene.Collect(true); |
| | | // (sender as Button).IsSelected = true; |
| | | //} |
| | | //scene.Save(); |
| | | //if (Room.CurrentRoom.IsLove) |
| | | //{ |
| | | // RefreshBodyView(); |
| | | //} |
| | | |
| | | }; |
| | | |
| | | sceneView.CollectButton.MouseUpEventHandler += collectionEvent; |
| | | sceneView.MouseUpEventHandler += sceneUpHandler; |
| | | sceneView.SceneIcon.MouseUpEventHandler += sceneUpHandler; |
| | | sceneView.SceneNameButton.MouseUpEventHandler += sceneUpHandler; |
| | | |
| | | break; |
| | | } |
| | | } |
| | | |
| | | } |
| | | } |
| | | }); |
| | | }) |
| | | { IsBackground = true }.Start(); |
| | | } |
| | | |
| | | #endregion |
| | | |