HDL Home App 第二版本 旧平台金堂用 正在使用
陈嘉乐
2020-12-29 71c7ad13169695913282962a460858e13b6c0969
ZigbeeApp/Shared/Phone/Category/CategoryMainForm.cs
@@ -91,7 +91,7 @@
            topFrameLayout.BackgroundColor = ZigbeeColor.Current.GXCGrayBackgroundColor;
            this.AddChidren(topFrameLayout);
            //标题分类
            var btnTitle = new NormalViewControl(300, 95, true);
            var btnTitle = new NormalViewControl(400, 95, true);
            btnTitle.X = ControlCommonResourse.XXLeft;
            btnTitle.Gravity = Gravity.CenterVertical;
            btnTitle.TextID = R.MyInternationalizationString.Category;
@@ -396,7 +396,7 @@
            frameDeviceBack.AddChidren(listDeviceView);
            //上一次选择的菜单
            MainPage.Controls.DeviceFunctionUnallocatedControl oldSelectContr = null;
            MainPage.Controls.DeviceFunctionMenuControl oldSelectContr = null;
            DeviceRowInfo nowSelectDeviceInfo = null;
            foreach (string strText in dicGroupDevice.Keys)
            {
@@ -408,9 +408,9 @@
                HorizontalView.AddChidren(devieFrame);
                //菜单图片控件
                var deviceObjContr = new MainPage.Controls.DeviceFunctionUnallocatedControl();
                var deviceObjContr = new MainPage.Controls.DeviceFunctionMenuControl();
                devieFrame.AddChidren(deviceObjContr);
                deviceObjContr.InitControl(strText, rowInfo.IconPath, rowInfo.IconPathSelected, rowInfo.listDeviceKeys);
                deviceObjContr.InitControl(strText, rowInfo.IconPath, rowInfo.IconPathSelected);
                deviceObjContr.ButtonClickEvent += (sender, e) =>
                {
                    //选择的是同一个东西的话,不处理
@@ -495,6 +495,11 @@
                    if (device.Type == DeviceType.WindowCoveringDevice)
                    {
                        cardContr = new Controls.DeviceCurtainRowControl();
                    }
                    //晾衣架 Airer
                    if (device.Type == DeviceType.Airer)
                    {
                        cardContr = new Controls.DeviceAirerRowControl();
                    }
                    //继电器
                    else if (device.Type == DeviceType.OnOffOutput)
@@ -582,6 +587,7 @@
                }
                HdlThreadLogic.Current.RunThread(() =>
                {
                    int sendCount = 0;
                    while (listView.Parent != null)
                    {
                        bool hadSend = false;
@@ -597,7 +603,7 @@
                                //发送获取状态的命令
                                listContr[i].SendStatuComand();
                                hadSend = true;
                                System.Threading.Thread.Sleep(200);
                                System.Threading.Thread.Sleep(300);
                            }
                        }
                        if (hadSend == false)
@@ -605,7 +611,13 @@
                            //如果已经全部回路都接收了网关回复,则不再二次发送
                            break;
                        }
                        System.Threading.Thread.Sleep(2000);
                        sendCount++;
                        if (sendCount == 2)
                        {
                            //就发2次
                            break;
                        }
                        System.Threading.Thread.Sleep(5000);
                    }
                }, ShowErrorMode.NO);
@@ -836,6 +848,13 @@
                {
                    //处理一般设备的上报数据
                    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;
                    }
                    if (this.dicDeviceRowControl.ContainsKey(mainKeys) == true)
                    {
                        //刷新卡片信息
@@ -976,7 +995,7 @@
                    string path1 = string.Empty;
                    string path2 = string.Empty;
                    //获取图片
                    LocalDevice.Current.GetDeviceFunctionTypeMenuIcon(typeInfo.ConcreteType, ref path1, ref path2);
                    LocalDevice.Current.GetDeviceFunctionTypeMenuIcon(typeInfo, ref path1, ref path2);
                    dic[typeInfo.BeloneText].IconPath = path1;
                    dic[typeInfo.BeloneText].IconPathSelected = path2;
                    dic[typeInfo.BeloneText].Text = typeInfo.BeloneText;