| | |
| | |
|
| | | //楼层图标
|
| | | var btnFloorIcon = new IconViewControl(69);
|
| | | btnFloorIcon.X = ControlCommonResourse.XXLeft;
|
| | | btnFloorIcon.X = HdlControlResourse.XXLeft;
|
| | | btnFloorIcon.Gravity = Gravity.CenterVertical;
|
| | | btnFloorIcon.UnSelectedImagePath = "Item/Floor.png";
|
| | | topFrameLayout.AddChidren(btnFloorIcon);
|
| | |
| | | //可视对讲快捷方式
|
| | | Shared.Phone.Device.VideoIntercom.VideoMachine.AccountSupportVideo(topFrameLayout);
|
| | | //安防快捷方式
|
| | | if (UserCenterResourse.ResidenceOption.SafetyShortcut)
|
| | | if (HdlUserCenterResourse.ResidenceOption.SafetyShortcut)
|
| | | {
|
| | | var btnSafety = new Controls.SafetyShortcutControl();
|
| | | btnSafety.X = Application.GetRealWidth(860);
|
| | |
| | |
|
| | | //住宅名字
|
| | | var btnHouseName = new NormalViewControl(700, 95, true);
|
| | | btnHouseName.X = ControlCommonResourse.XXLeft;
|
| | | btnHouseName.X = HdlControlResourse.XXLeft;
|
| | | btnHouseName.Y = Application.GetRealHeight(161);
|
| | | btnHouseName.TextSize = 24;
|
| | | btnHouseName.TextColor = ZigbeeColor.Current.GXCTextDeepBlackColor;
|
| | |
| | | private void InitMidFrameLayoutControl()
|
| | | {
|
| | | //成员身份不允许添加网关
|
| | | if (UserCenterResourse.UserInfo.AuthorityNo == 3)
|
| | | if (HdlUserCenterResourse.ResidenceOption.AuthorityNo == 3)
|
| | | {
|
| | | //初始化场景,功能的切换控件
|
| | | this.InitSceneFunctionSwitchControl();
|
| | |
| | | btnFunction.TextID = R.MyInternationalizationString.Function;
|
| | | btnFunction.TextAlignment = TextAlignment.Center;
|
| | | functionSceneView.AddChidren(btnFunction);
|
| | | if (UserCenterResourse.ResidenceOption.HomeMainPageSwitchIndex == 1)
|
| | | if (HdlUserCenterResourse.ResidenceOption.HomeMainPageSwitchIndex == 1)
|
| | | {
|
| | | btnScene.IsSelected = true;
|
| | | btnScene.TextSize = 17;
|
| | | btnScene.IsBold = true;
|
| | | }
|
| | | else if (UserCenterResourse.ResidenceOption.HomeMainPageSwitchIndex == 2)
|
| | | else if (HdlUserCenterResourse.ResidenceOption.HomeMainPageSwitchIndex == 2)
|
| | | {
|
| | | btnFunction.IsSelected = true;
|
| | | btnFunction.TextSize = 17;
|
| | |
| | | return;
|
| | | }
|
| | | //功能分支选择
|
| | | UserCenterResourse.ResidenceOption.HomeMainPageSwitchIndex = 2;
|
| | | HdlUserCenterResourse.ResidenceOption.HomeMainPageSwitchIndex = 2;
|
| | |
|
| | | btnScene.IsSelected = false;
|
| | | btnScene.TextSize = 15;
|
| | |
| | | return;
|
| | | }
|
| | | //场景分支选择
|
| | | UserCenterResourse.ResidenceOption.HomeMainPageSwitchIndex = 1;
|
| | | HdlUserCenterResourse.ResidenceOption.HomeMainPageSwitchIndex = 1;
|
| | |
|
| | | btnScene.IsSelected = true;
|
| | | btnScene.TextSize = 17;
|
| | |
| | | var listDevice = new List<CommonDevice>();
|
| | | foreach (var mainkeys in HdlRoomLogic.Current.NowMainPageRoom.ListDevice)
|
| | | {
|
| | | var device = LocalDevice.Current.GetDevice(mainkeys);
|
| | | var device = HdlDeviceCommonLogic.Current.GetDevice(mainkeys);
|
| | | //判断该设备能否显示在主页
|
| | | if (LocalDevice.Current.CanShowInHomeHomeMainPage(device) == false)
|
| | | if (HdlDeviceCommonLogic.Current.CanShowInHomeHomeMainPage(device) == false)
|
| | | {
|
| | | continue;
|
| | | }
|
| | |
| | | {
|
| | | cardContr = new Controls.DevicePmSensorCardControl();
|
| | | }
|
| | | // 晾衣架 |
| | | else if (device.Type == DeviceType.Airer)
|
| | | {
|
| | | cardContr = new Controls.DeviceAirerCardControl();
|
| | | }
|
| | | //彩灯(调光器)
|
| | | else if (device.Type == DeviceType.DimmableLight)
|
| | | {
|
| | |
| | | cardContr.CardNeedRemoveEvent += () =>
|
| | | {
|
| | | //重置设备卡片控件坐标(卡片需要被删除专用)
|
| | | this.ResetDeviceCardControlLocation(LocalDevice.Current.GetDeviceMainKeys(device));
|
| | | this.ResetDeviceCardControlLocation(HdlDeviceCommonLogic.Current.GetDeviceMainKeys(device));
|
| | | };
|
| | | //设备计数
|
| | | contrCount++;
|
| | |
| | | YY = cardContr.Bottom + this.GetPictrueRealSize(15);
|
| | | }
|
| | | //控件记录到缓存中
|
| | | this.dicDeviceCardControl[LocalDevice.Current.GetDeviceMainKeys(device)] = cardContr;
|
| | | this.dicDeviceCardControl[HdlDeviceCommonLogic.Current.GetDeviceMainKeys(device)] = cardContr;
|
| | | //加缓存,然后发命令
|
| | | listContr.Add(cardContr);
|
| | |
|
| | |
| | | }
|
| | | HdlThreadLogic.Current.RunThread(() =>
|
| | | {
|
| | | int sendCount = 0;
|
| | | while (listDeviceBackContr.Parent != null)
|
| | | {
|
| | | bool hadSend = false;
|
| | |
| | | //发送获取状态的命令
|
| | | listContr[i].SendStatuComand();
|
| | | hadSend = true;
|
| | | System.Threading.Thread.Sleep(300);
|
| | | System.Threading.Thread.Sleep(200);
|
| | | }
|
| | | }
|
| | | if (hadSend == false)
|
| | |
| | | //如果已经全部回路都接收了网关回复,则不再二次发送
|
| | | break;
|
| | | }
|
| | | sendCount++;
|
| | | if (sendCount == 2)
|
| | | {
|
| | | //就发2次
|
| | | break;
|
| | | }
|
| | | System.Threading.Thread.Sleep(5000);
|
| | | System.Threading.Thread.Sleep(2000);
|
| | | }
|
| | | }, ShowErrorMode.NO);
|
| | | }
|
| | |
| | | //让界面别闪烁
|
| | | HdlThreadLogic.Current.RunMainInThread(() =>
|
| | | {
|
| | | if (UserCenterResourse.ResidenceOption.HomeMainPageSwitchIndex == 2)
|
| | | if (HdlUserCenterResourse.ResidenceOption.HomeMainPageSwitchIndex == 2)
|
| | | {
|
| | | //功能
|
| | | this.ShowFunction();
|
| | |
| | | HdlThreadLogic.Current.RunMain(() =>
|
| | | {
|
| | | //处理一般设备的上报数据
|
| | | string mainKeys = LocalDevice.Current.GetDeviceMainKeys(report);
|
| | |
|
| | | //晾衣架上报需要特殊处理,其他上报的回路统一转为端点1
|
| | | var tempList = LocalDevice.Current.GetDevicesByMac(report.DeviceAddr);
|
| | | var tempDeviceEnum = LocalDevice.Current.GetMyDeviceEnumInfo(tempList);
|
| | | if (tempDeviceEnum.ConcreteType == Common.DeviceConcreteType.Airer)
|
| | | {
|
| | | mainKeys = report.DeviceAddr + "_" + 1;
|
| | | }
|
| | |
|
| | | string mainKeys = HdlDeviceCommonLogic.Current.GetDeviceMainKeys(report);
|
| | | if (this.dicDeviceCardControl.ContainsKey(mainKeys) == true)
|
| | | {
|
| | | //刷新卡片信息
|
| | | var locadevice = LocalDevice.Current.GetDevice(mainKeys);
|
| | | var locadevice = HdlDeviceCommonLogic.Current.GetDevice(mainKeys);
|
| | | //已经接收到网关的反馈 2020.05.09:删除Ack主题
|
| | | this.dicDeviceCardControl[mainKeys].SetHadGetResponeResultStatu();
|
| | | //刷新控件
|
| | |
| | | {
|
| | | HdlThreadLogic.Current.RunMain(() =>
|
| | | {
|
| | | string mainKeys = LocalDevice.Current.GetDeviceMainKeys(report);
|
| | | string mainKeys = HdlDeviceCommonLogic.Current.GetDeviceMainKeys(report);
|
| | | if (this.dicDeviceCardControl.ContainsKey(mainKeys) == true)
|
| | | {
|
| | | //刷新卡片状态
|
| | | bool bolOnline = Common.LocalDevice.Current.CheckDeviceIsOnline(report);
|
| | | bool bolOnline = HdlDeviceCommonLogic.Current.CheckDeviceIsOnline(report);
|
| | | this.dicDeviceCardControl[mainKeys].SetCardOnlineStatu(bolOnline);
|
| | | return;
|
| | | }
|
| | |
| | | HdlThreadLogic.Current.RunMain(() =>
|
| | | {
|
| | | //处理传感器上报数据
|
| | | string mainKeys = LocalDevice.Current.GetDeviceMainKeys(report);
|
| | | string mainKeys = HdlDeviceCommonLogic.Current.GetDeviceMainKeys(report);
|
| | | if (this.dicDeviceCardControl.ContainsKey(mainKeys) == true)
|
| | | {
|
| | | //开启卡片闪烁特效
|
| | |
| | | HdlThreadLogic.Current.RunMain(() =>
|
| | | {
|
| | | //设备状态必须刷新
|
| | | string statuText = HdlDeviceOtherLogic.Current.GetDeviceStatu(contr.device);
|
| | | string statuText = HdlDeviceCommonLogic.Current.GetMainPageDeviceStatuText(contr.device);
|
| | | contr.SetDeviceStatuText(statuText);
|
| | | //传感器切换为灰色状态
|
| | | contr.SwitchCardStatuAppeal(false);
|