HDL Home App 第二版本 旧平台金堂用 正在使用
hxb
2022-08-30 25429f085093d89d543a0b90e30d0d62d1b7dac9
ZigbeeApp/Shared/Phone/Category/CategoryMainForm.cs
old mode 100755 new mode 100644
@@ -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) =>
                {
                    //选择的是同一个东西的话,不处理
@@ -496,6 +496,11 @@
                    {
                        cardContr = new Controls.DeviceCurtainRowControl();
                    }
                    //晾衣架 Airer
                    if (device.Type == DeviceType.Airer)
                    {
                        cardContr = new Controls.DeviceAirerRowControl();
                    }
                    //继电器
                    else if (device.Type == DeviceType.OnOffOutput)
                    {
@@ -521,6 +526,22 @@
                    {
                        cardContr = new Controls.DevicePmSensorRowControl();
                    }
                    // 空气质量传感器
                    else if (device.Type == DeviceType.TemperatureSensor)
                    {
                        //获取设备类型
                        var deviceEnumInfo = Common.LocalDevice.Current.GetMyDeviceEnumInfo(new List<CommonDevice>() { device });
                        //空气质量传感器
                        if (deviceEnumInfo.ConcreteType == Common.DeviceConcreteType.AirQualitySensor)
                        {
                            cardContr = new Controls.DeviceAirQualitySensorRowControl();
                        }
                        else
                        {
                            //温湿度
                            cardContr = new Controls.DeviceTemperatureRowControl();
                        }
                    }
                    //彩灯(调光器)
                    else if (device.Type == DeviceType.DimmableLight)
                    {
@@ -530,11 +551,6 @@
                    else if (device.Type == DeviceType.IASZone)
                    {
                        cardContr = new Controls.DeviceSensorRowControl();
                    }
                    //温湿度
                    else if (device.Type == DeviceType.TemperatureSensor)
                    {
                        cardContr = new Controls.DeviceTemperatureRowControl();
                    }
                    //门锁
                    else if (device.Type == DeviceType.DoorLock)
@@ -547,7 +563,7 @@
                        cardContr = new Controls.DeviceColorTemperatureRowControl();
                    }
                    //无法识别
                    else
                    if (cardContr == null)
                    {
                        cardContr = new Controls.DeviceRowCommon();
                        //没有状态功能
@@ -582,6 +598,7 @@
                }
                HdlThreadLogic.Current.RunThread(() =>
                {
                    int sendCount = 0;
                    while (listView.Parent != null)
                    {
                        bool hadSend = false;
@@ -597,7 +614,7 @@
                                //发送获取状态的命令
                                listContr[i].SendStatuComand();
                                hadSend = true;
                                System.Threading.Thread.Sleep(200);
                                System.Threading.Thread.Sleep(300);
                            }
                        }
                        if (hadSend == false)
@@ -605,7 +622,13 @@
                            //如果已经全部回路都接收了网关回复,则不再二次发送
                            break;
                        }
                        System.Threading.Thread.Sleep(2000);
                        sendCount++;
                        if (sendCount == 2)
                        {
                            //就发2次
                            break;
                        }
                        System.Threading.Thread.Sleep(5000);
                    }
                }, ShowErrorMode.NO);
@@ -836,6 +859,16 @@
                {
                    //处理一般设备的上报数据
                    string mainKeys = LocalDevice.Current.GetDeviceMainKeys(report);
                    //晾衣架上报需要特殊处理,其他上报的回路统一转为端点1
                    var tempList = LocalDevice.Current.GetDevicesByMac(report.DeviceAddr);
                    if (tempList.Count > 0)
                    {
                        var tempDeviceEnum = LocalDevice.Current.GetMyDeviceEnumInfo(tempList);
                        if (tempDeviceEnum.ConcreteType == Common.DeviceConcreteType.Airer)
                        {
                            mainKeys = report.DeviceAddr + "_" + 1;
                        }
                    }
                    if (this.dicDeviceRowControl.ContainsKey(mainKeys) == true)
                    {
                        //刷新卡片信息
@@ -976,7 +1009,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;