HDL Home App 第二版本 旧平台金堂用 正在使用
黄学彪
2021-01-14 d78515ac4ac8cf4a1785d9df18058d6724f12b79
ZigbeeApp/Shared/Phone/UserCenter/Device/Panel/PanelSettionWithSourceForm.cs
@@ -46,7 +46,11 @@
        /// <summary>
        /// PM目标名字
        /// </summary>
        private string bindPmName = string.Empty;
        private string bindPMName = string.Empty;
        /// <summary>
        /// Co2目标名字
        /// </summary>
        private string bindCo2Name = string.Empty;
        /// <summary>
        /// 被绑目标是空调
        /// </summary>
@@ -71,6 +75,10 @@
        /// 被绑目标是PM2.5
        /// </summary>
        private CommonDevice bindPMDev;
        /// <summary>
        /// 被绑目标是PM2.5
        /// </summary>
        private CommonDevice bindCo2Dev;
        // <summary>
        /// 按键中被绑定的目标列表
        /// </summary>
@@ -149,8 +157,8 @@
            bodyFrameLayout.AddChidren(btnFinish);
            btnFinish.ButtonClickEvent += (sender, e) =>
            {
                //关闭自身
                this.CloseForm();
          //关闭自身
          this.CloseForm();
            };
        }
@@ -170,6 +178,8 @@
            this.AddTemperatureSensorRow();
            //添加湿度来源
            this.AddHumiditySourceRow();
            //添加CO2来源
            //this.AddCO2Row();
            //数据矫正
            this.DataCorrectionRow();
            //亮度调节
@@ -190,11 +200,11 @@
                {
                    Application.RunOnMainThread(() =>
                    {
                        CommonPage.Loading.Start("");
                    });
                          CommonPage.Loading.Start("");
                      });
                    //获取设备类型的
                    var deviceEnumInfo = Common.LocalDevice.Current.GetMyDeviceEnumInfo(new List<CommonDevice>() { deviceObj });
              //获取设备类型的
              var deviceEnumInfo = Common.LocalDevice.Current.GetMyDeviceEnumInfo(new List<CommonDevice>() { deviceObj });
                    bool result = false;
                    if (deviceEnumInfo.ConcreteType == Common.DeviceConcreteType.ButtonPanel_FangyueFreshAir)
                    {
@@ -223,9 +233,9 @@
                {
                    Application.RunOnMainThread(() =>
                    {
                        this.InitMenuRow();
                        CommonPage.Loading.Hide();
                    });
                          this.InitMenuRow();
                          CommonPage.Loading.Hide();
                      });
                }
            });
        }
@@ -277,16 +287,43 @@
                    }
                    else if (device.Type == DeviceType.TemperatureSensor)
                    {
                        var bD = device as TemperatureSensor;
                        if (bD.SensorDiv == 1)
                        //空气质量传感器
                        if (deviceEnumInfo.ConcreteType == Common.DeviceConcreteType.AirQualitySensor)
                        {
                            bindTemperatureName = Common.LocalDevice.Current.GetDeviceEpointName(device);
                            bindTemperatureDev = device;
                            if (bDev.BindCluster == 1026)
                            {
                                bindTemperatureName = Common.LocalDevice.Current.GetDeviceEpointName(device) + "-" + Language.StringByID(R.MyInternationalizationString.TemperatureSensor);
                                bindTemperatureDev = device;
                            }
                            if (bDev.BindCluster == 1029)
                            {
                                bindHumidityName = Common.LocalDevice.Current.GetDeviceEpointName(device) + "-" + Language.StringByID(R.MyInternationalizationString.HumiditySensor);
                                bindHumidityDev = device;
                            }
                            if (bDev.BindCluster == 1066)
                            {
                                bindPMName = Common.LocalDevice.Current.GetDeviceEpointName(device);
                                bindPMDev = device;
                            }
                            if (bDev.BindCluster == 1037)
                            {
                                bindCo2Name = Common.LocalDevice.Current.GetDeviceEpointName(device);
                                bindCo2Dev = device;
                            }
                        }
                        if (bD.SensorDiv == 2)
                        else
                        {
                            bindHumidityName = Common.LocalDevice.Current.GetDeviceEpointName(device);
                            bindHumidityDev = device;
                            var bD = device as TemperatureSensor;
                            if (bD.SensorDiv == 1)
                            {
                                bindTemperatureName = Common.LocalDevice.Current.GetDeviceEpointName(device);
                                bindTemperatureDev = device;
                            }
                            else if (bD.SensorDiv == 2)
                            {
                                bindHumidityName = Common.LocalDevice.Current.GetDeviceEpointName(device);
                                bindHumidityDev = device;
                            }
                        }
                    }
                    else if (device.Type == DeviceType.FreshAirHumiditySensor)
@@ -308,7 +345,7 @@
                        }
                        if (bDev.BindCluster == 1066)
                        {
                            bindPmName = Common.LocalDevice.Current.GetDeviceEpointName(device);
                            bindPMName = Common.LocalDevice.Current.GetDeviceEpointName(device);
                            bindPMDev = device;
                        }
                    }
@@ -379,13 +416,35 @@
                            var bD = device as TemperatureSensor;
                            if (bD.SensorDiv == 1)
                            {
                                bindTemperatureName = Common.LocalDevice.Current.GetDeviceEpointName(device);
                                bindTemperatureDev = device;
                                //空气质量传感器
                                if (deviceEnumInfo.ConcreteType == Common.DeviceConcreteType.AirQualitySensor)
                                {
                                    if (bDev.BindCluster == 1026)
                                    {
                                        bindTemperatureName = Common.LocalDevice.Current.GetDeviceEpointName(device) + "-" + Language.StringByID(R.MyInternationalizationString.TemperatureSensor);
                                        bindTemperatureDev = device;
                                    }
                                }
                                else
                                {
                                    bindTemperatureName = Common.LocalDevice.Current.GetDeviceEpointName(device);
                                    bindTemperatureDev = device;
                                }
                            }
                            if (bD.SensorDiv == 2)
                            {
                                bindHumidityName = Common.LocalDevice.Current.GetDeviceEpointName(device);
                                bindHumidityDev = device;
                            }
                            //空气质量传感器
                            if (deviceEnumInfo.ConcreteType == Common.DeviceConcreteType.AirQualitySensor)
                            {
                                if (bDev.BindCluster == 1029)
                                {
                                    bindHumidityName = Common.LocalDevice.Current.GetDeviceEpointName(device) + "-" + Language.StringByID(R.MyInternationalizationString.HumiditySensor);
                                    bindHumidityDev = device;
                                }
                            }
                        }
                        else if (device.Type == DeviceType.FreshAirHumiditySensor)
@@ -460,18 +519,19 @@
                paneTargetsBaseFormp.actionAcTarget += (bindName) =>
                {
                    Application.RunOnMainThread(() =>
                    {
                        if (string.IsNullOrEmpty(bindName))
                        Application.RunOnMainThread(() =>
                        {
                            btnAcStatu.Text = Language.StringByID(R.MyInternationalizationString.nothing);
                        }
                        else
                        {
                            btnAcStatu.Text = bindName;
                        }
                    });
                };
                                if (string.IsNullOrEmpty(bindName))
                                {
                                    btnAcStatu.Text = Language.StringByID(R.MyInternationalizationString.nothing);
                                    bindAcDev = null;
                                }
                                else
                                {
                                    btnAcStatu.Text = bindName;
                                }
                            });
                    };
            };
        }
        #endregion
@@ -500,8 +560,8 @@
            rowNewWind.ButtonClickEvent += (sender, e) =>
            {
                //获取设备类型的
                var deviceEnumInfo = Common.LocalDevice.Current.GetMyDeviceEnumInfo(new List<CommonDevice>() { deviceObj });
          //获取设备类型的
          var deviceEnumInfo = Common.LocalDevice.Current.GetMyDeviceEnumInfo(new List<CommonDevice>() { deviceObj });
                if (deviceEnumInfo.ConcreteType == DeviceConcreteType.ButtonPanel_FangyueFreshAir)
                {
                    this.deviceObj.DeviceEpoint = 1;
@@ -517,18 +577,19 @@
                paneTargetsBaseFormp.Show();
                paneTargetsBaseFormp.actionFreshAirTarget += (bindName) =>
                {
                    Application.RunOnMainThread(() =>
                    {
                        if (string.IsNullOrEmpty(bindName))
                        Application.RunOnMainThread(() =>
                        {
                            btnNewWindStatu.Text = Language.StringByID(R.MyInternationalizationString.nothing);
                        }
                        else
                        {
                            btnNewWindStatu.Text = bindName;
                        }
                    });
                };
                                if (string.IsNullOrEmpty(bindName))
                                {
                                    btnNewWindStatu.Text = Language.StringByID(R.MyInternationalizationString.nothing);
                                    bindFreshAirDev = null;
                                }
                                else
                                {
                                    btnNewWindStatu.Text = bindName;
                                }
                            });
                    };
            };
        }
        #endregion
@@ -554,9 +615,9 @@
            //右箭头
            rowPM.AddRightArrow();
            var msg = Language.StringByID(R.MyInternationalizationString.nothing);
            if (!string.IsNullOrEmpty(bindPmName))
            if (!string.IsNullOrEmpty(bindPMName))
            {
                msg = bindPmName;
                msg = bindPMName;
            }
            var btnPMStatu = rowPM.AddMostRightView(msg, 700);
            rowPM.ButtonClickEvent += (sender, e) =>
@@ -568,18 +629,19 @@
                paneTargetsBaseFormp.Show();
                paneTargetsBaseFormp.actionPMTarget += (bindName) =>
                {
                    Application.RunOnMainThread(() =>
                    {
                        if (string.IsNullOrEmpty(bindName))
                        Application.RunOnMainThread(() =>
                        {
                            btnPMStatu.Text = Language.StringByID(R.MyInternationalizationString.nothing);
                        }
                        else
                        {
                            btnPMStatu.Text = bindName;
                        }
                    });
                };
                                if (string.IsNullOrEmpty(bindName))
                                {
                                    btnPMStatu.Text = Language.StringByID(R.MyInternationalizationString.nothing);
                                    bindPMDev = null;
                                }
                                else
                                {
                                    btnPMStatu.Text = bindName;
                                }
                            });
                    };
            };
        }
        #endregion
@@ -613,18 +675,19 @@
                paneTargetsBaseFormp.Show();
                paneTargetsBaseFormp.actionTemperatureTarget += (bindName) =>
                {
                    Application.RunOnMainThread(() =>
                    {
                        if (string.IsNullOrEmpty(bindName))
                        Application.RunOnMainThread(() =>
                        {
                            btnTemperatureStatu.Text = Language.StringByID(R.MyInternationalizationString.nothing);
                        }
                        else
                        {
                            btnTemperatureStatu.Text = bindName;
                        }
                    });
                };
                                if (string.IsNullOrEmpty(bindName))
                                {
                                    btnTemperatureStatu.Text = Language.StringByID(R.MyInternationalizationString.nothing);
                                    bindTemperatureDev = null;
                                }
                                else
                                {
                                    btnTemperatureStatu.Text = bindName;
                                }
                            });
                    };
            };
        }
        #endregion
@@ -658,18 +721,71 @@
                paneTargetsBaseFormp.Show();
                paneTargetsBaseFormp.actionHumidityTarget += (bindName) =>
                {
                    Application.RunOnMainThread(() =>
                        Application.RunOnMainThread(() =>
                        {
                                if (string.IsNullOrEmpty(bindName))
                                {
                                    btnHumidityStatu.Text = Language.StringByID(R.MyInternationalizationString.nothing);
                                    bindHumidityDev = null;
                                }
                                else
                                {
                                    btnHumidityStatu.Text = bindName;
                                }
                            });
                    };
            };
        }
        #endregion
        #region ■ CO2来源_________________________
        /// <summary>
        ///  CO2来源行
        /// </summary>
        private void AddCO2Row()
        {
            //获取设备类型的
            var deviceEnumInfo = Common.LocalDevice.Current.GetMyDeviceEnumInfo(new List<CommonDevice>() { deviceObj });
            if (deviceEnumInfo.ConcreteType == DeviceConcreteType.ButtonPanel_FangyueEnvironment || deviceEnumInfo.ConcreteType == DeviceConcreteType.ButtonPanel_SimpleEnvironment)
            {
                return;
            }
            //CO2
            var rowCo2 = new FrameRowControl(listview.rowSpace / 2);
            listview.AddChidren(rowCo2);
            rowCo2.AddLeftCaption(Language.StringByID(R.MyInternationalizationString.CO2Source), 600);
            //底线
            rowCo2.AddBottomLine();
            //右箭头
            rowCo2.AddRightArrow();
            var msg = Language.StringByID(R.MyInternationalizationString.nothing);
            if (!string.IsNullOrEmpty(bindCo2Name))
            {
                msg = bindCo2Name;
            }
            var btnCo2Statu = rowCo2.AddMostRightView(msg, 700);
            rowCo2.ButtonClickEvent += (sender, e) =>
            {
                this.deviceObj.DeviceEpoint = 1;
                var paneTargetsBaseFormp = new PaneTargetsBaseForm(this.deviceObj, bindPMDev, BindInfo.BindType.CO2);
                Shared.Phone.UserView.HomePage.Instance.AddChidren(paneTargetsBaseFormp);
                Shared.Phone.UserView.HomePage.Instance.PageIndex += 1;
                paneTargetsBaseFormp.Show();
                paneTargetsBaseFormp.actionPMTarget += (bindName) =>
          {
                  Application.RunOnMainThread(() =>
            {
                    if (string.IsNullOrEmpty(bindName))
                    {
                        if (string.IsNullOrEmpty(bindName))
                        {
                            btnHumidityStatu.Text = Language.StringByID(R.MyInternationalizationString.nothing);
                        }
                        else
                        {
                            btnHumidityStatu.Text = bindName;
                        }
                    });
                };
                        btnCo2Statu.Text = Language.StringByID(R.MyInternationalizationString.nothing);
                        bindPMDev = null;
                    }
                    else
                    {
                        btnCo2Statu.Text = bindName;
                    }
                });
              };
            };
        }
        #endregion
@@ -735,8 +851,8 @@
            btnIcon.InitControl();
            btnIcon.ButtonClickEvent += ((sender, e) =>
            {
                //显示右上角菜单界面
                this.ShowTopRightMenu();
          //显示右上角菜单界面
          this.ShowTopRightMenu();
            });
        }
@@ -750,8 +866,8 @@
            string deviceMenu = Language.StringByID(R.MyInternationalizationString.uFixedPosition);
            frame.AddRowMenu(deviceMenu, "Item/FixedPosition.png", "Item/FixedPositionSelected.png", () =>
            {
                //发送定位功能
                Common.LocalDevice.Current.SetFixedPositionCommand(deviceObj);
          //发送定位功能
          Common.LocalDevice.Current.SetFixedPositionCommand(deviceObj);
            });
        }