黄学彪
2020-12-14 e90209beae6a4e822cecb18e6889f8bda23f630e
ZigbeeApp/Shared/Phone/Category/CategoryMainForm.cs
@@ -496,6 +496,11 @@
                    {
                        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)
                    {
                        //刷新卡片信息