gxc
2019-12-17 96428beef8b714ddb163216de37ab59d31ff5aa7
ZigbeeApp/Shared/Phone/Device/AC/ACControl.cs
@@ -172,7 +172,7 @@
                            deviceUI.CommonDevice.DeviceStatusReport = common.DeviceStatusReport;
                            foreach(var attList in attriButeList)
                            {
                                var curTemp = (attList.AttriButeData / 100 < ACControlBase.Temperature_High || attList.AttriButeData / 100 > ACControlBase.Temperature_Low) ? attList.AttriButeData / 100 : ACControlBase.Temperature_Default;
                                var curTemp = (attList.AttriButeData / 100 < ACControlBase.Temperature_High && attList.AttriButeData / 100 > ACControlBase.Temperature_Low) ? attList.AttriButeData / 100 : ACControlBase.Temperature_Default;
                                switch (attList.AttributeId)
                                {
                                    case 0:
@@ -181,17 +181,14 @@
                                        indoorTemperatureBtn.Text = $"{Language.StringByID(R.MyInternationalizationString.Current)} {ac.currentLocalTemperature} ℃";
                                        //currentTemperatureBtn.Text = $"{ac.currentLocalTemperature} ℃";
                                        break;
                                    case 17:
                                        ac.currentCoolingSetpoint = curTemp;
                                        if (ac.currentSystemMode == 3 || ac.currentSystemMode == 8)
                                        {
                                            mArcScaleSeekBar.Progress = ac.currentCoolingSetpoint;
                                        }
                                        ac.LastDateTime = DateTime.Now;
                                        break;
                                    case 18:
                                        ac.currentHeatingSetpoint = curTemp;
                                        if (ac.currentSystemMode == 4)
@@ -200,7 +197,6 @@
                                        }
                                        ac.LastDateTime = DateTime.Now;
                                        break;
                                    case 4096:
                                        ac.currentAutoSetpoint = curTemp;
                                        if (ac.currentSystemMode == 1)
@@ -209,7 +205,6 @@
                                        }
                                        ac.LastDateTime = DateTime.Now;
                                        break;
                                    case 28:
                                        //此属性描述恒温设备正处于哪种模式
                                        //Off = 0  Auto = 1 Cool = 3 Heat = 4 FanOnly = 7  Dry = 8
@@ -219,35 +214,29 @@
                                        {
                                            switchBtn.IsSelected = false;
                                            modeBtn.IsSelected = false;
                                            modeBtn.SelectedImagePath = ACControlBase.GetModeSelectedImagePathByModeId(ac.currentSystemMode);
                                            modeBtn.UnSelectedImagePath = ACControlBase.GetModeUnSelectedImagePathByModeId(ac.currentSystemMode);
                                            currentModeBtn.Text = ACControlBase.GetModeNameByModeId(ac.currentSystemMode);
                                            mArcScaleSeekBar.Progress = ACControlBase.GetCurrentModeTemperature(ac);
                                            fanModeBtn.IsSelected = false;
                                            FanSwingModeBtn.IsSelected = false;
                                            mArcScaleSeekBar.SetProgressBarColors(ZigbeeColor.Current.GXCWaveSeekBarUnSelectedColor, ZigbeeColor.Current.GXCWaveSeekBarUnSelectedColor);
                                        }
                                        else if (ac.currentSystemMode == 1 || ac.currentSystemMode == 3 || ac.currentSystemMode == 4 || ac.currentSystemMode == 7 || ac.currentSystemMode == 8)
                                        {
                                            switchBtn.IsSelected = true;
                                            modeBtn.IsSelected = true;
                                            modeBtn.SelectedImagePath = ACControlBase.GetModeSelectedImagePathByModeId(ac.currentSystemMode);
                                            modeBtn.UnSelectedImagePath = ACControlBase.GetModeUnSelectedImagePathByModeId(ac.currentSystemMode);
                                            currentModeBtn.Text = ACControlBase.GetModeNameByModeId(ac.currentSystemMode);
                                            mArcScaleSeekBar.Progress = ACControlBase.GetCurrentModeTemperature(ac);
                                            fanModeBtn.IsSelected = true;
                                            FanSwingModeBtn.IsSelected = true;
                                            mArcScaleSeekBar.SetProgressBarColors(ZigbeeColor.Current.GXCArcScaleSeekBarStartColor, ZigbeeColor.Current.GXCArcScaleSeekBarEndColor);
                                        }
                                        modeBtn.SelectedImagePath = ACControlBase.GetModeSelectedImagePathByModeId(ac.currentSystemMode);
                                        modeBtn.UnSelectedImagePath = ACControlBase.GetModeUnSelectedImagePathByModeId(ac.currentSystemMode);
                                        currentModeBtn.Text = ACControlBase.GetModeNameByModeId(ac.currentSystemMode);
                                        mArcScaleSeekBar.Progress = ACControlBase.GetCurrentModeTemperature(ac);
                                        mArcScaleSeekBar.IsClickable = ACControlBase.IsOpen(ac);
                                        break;
                                    case 4097:
                                        //过虑网清洗标志:42
                                        ac.CleanStatu = attList.AttriButeData == 42;
                                        cleanStatu.Visible = ac.CleanStatu;
                                        break;
                                    case 4099:
                                        var value = Convert.ToString(attList.AttriButeData, 2).PadLeft(16, '0');
                                        var modeStr = value.Substring(value.Length - 5, 5);
@@ -418,10 +407,10 @@
            else
            {
                //防止短时间内多次读取设备状态
                //if ((DateTime.Now - ac.LastDateTime).TotalSeconds > CommonPage.ReadDeviceStatuSpan)
                //{
                if ((DateTime.Now - ac.LastDateTime).TotalSeconds > CommonPage.ReadDeviceStatuSpan)
                {
                    ReadDeviceAttributeLogic.Instance.SendACStatuComand(device.CommonDevice);
                //}
                }
            }
            var de = Shared.Common.Room.LoveRoomDeviceUIFilePathList.Find((obj) => obj == device.FileName);
@@ -509,7 +498,7 @@
            var deviceNameBtn = new Button()
            {
                Y = Application.GetRealHeight(184),
                Width = Application.GetRealWidth(500),
                Width = Application.GetRealWidth(600),
                Height = Application.GetRealHeight(60),
                Gravity = Gravity.CenterHorizontal,
                Text = device.CommonDevice.DeviceEpointName,
@@ -535,11 +524,20 @@
                Width = Application.GetRealWidth(671),
                Height = Application.GetRealHeight(671),
                Gravity = Gravity.CenterHorizontal,
                MinValue=ACControlBase.Temperature_Low,
                MaxValue=ACControlBase.Temperature_High,
                Progress=ACControlBase.GetCurrentModeTemperature(ac)
                MinValue = ACControlBase.Temperature_Low,
                MaxValue = ACControlBase.Temperature_High,
                Progress = ACControlBase.GetCurrentModeTemperature(ac),
                IsClickable = ACControlBase.IsOpen(ac)
            };
            itemView.AddChidren(mArcScaleSeekBar);
            if(ACControlBase.IsOpen(ac))
            {
                mArcScaleSeekBar.SetProgressBarColors(ZigbeeColor.Current.GXCArcScaleSeekBarStartColor, ZigbeeColor.Current.GXCArcScaleSeekBarEndColor);
            }
            else
            {
                mArcScaleSeekBar.SetProgressBarColors(ZigbeeColor.Current.GXCWaveSeekBarUnSelectedColor, ZigbeeColor.Current.GXCWaveSeekBarUnSelectedColor);
            }
            mArcScaleSeekBar.OnStopTrackingTouchEvent += (sender, e) =>
            {
                if (ac.currentSystemMode == 3 || ac.currentSystemMode == 8)
@@ -582,7 +580,7 @@
            addTemperatureBtn = new Button()
            {
                X = Application.GetRealWidth(620),
                X = Application.GetRealWidth(610),
                Y = Application.GetRealHeight(650),
                Width = Application.GetMinRealAverage(80),
                Height = Application.GetMinRealAverage(80),
@@ -708,12 +706,14 @@
        private void Switch_MouseUpEvent(object sender, MouseEventArgs mouseEventArgs)
        {
            switchBtn.IsSelected = !switchBtn.IsSelected;
            mArcScaleSeekBar.IsClickable = switchBtn.IsSelected;
            if (switchBtn.IsSelected == true)
            {
                ac.Open();
                modeBtn.IsSelected = true;
                fanModeBtn.IsSelected = true;
                FanSwingModeBtn.IsSelected = true;
                mArcScaleSeekBar.SetProgressBarColors(ZigbeeColor.Current.GXCArcScaleSeekBarStartColor, ZigbeeColor.Current.GXCArcScaleSeekBarEndColor);
            }
            else
            {
@@ -721,6 +721,7 @@
                modeBtn.IsSelected = false;
                fanModeBtn.IsSelected = false;
                FanSwingModeBtn.IsSelected = false;
                mArcScaleSeekBar.SetProgressBarColors(ZigbeeColor.Current.GXCWaveSeekBarUnSelectedColor, ZigbeeColor.Current.GXCWaveSeekBarUnSelectedColor);
            }
        }
@@ -1413,8 +1414,6 @@
        }
        #endregion
        #region ◆ 控制反馈_________________________