gxc
2019-12-17 96428beef8b714ddb163216de37ab59d31ff5aa7
2019.12.17
11个文件已修改
314 ■■■■ 已修改文件
ZigbeeApp/.vs/GateWay/xs/UserPrefs.xml 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ZigbeeApp/.vs/GateWay/xs/sqlite3/storage.ide 补丁 | 查看 | 原始文档 | blame | 历史
ZigbeeApp/Shared/Common/ZigbeeColor.cs 51 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ZigbeeApp/Shared/DLL/Android/Shared.Droid.HDLWidget.dll 补丁 | 查看 | 原始文档 | blame | 历史
ZigbeeApp/Shared/DLL/Android/Shared.Droid.Smartrefresh.dll 补丁 | 查看 | 原始文档 | blame | 历史
ZigbeeApp/Shared/DLL/Android/Shared.Droid.dll 补丁 | 查看 | 原始文档 | blame | 历史
ZigbeeApp/Shared/Phone/Device/AC/ACControl.cs 51 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ZigbeeApp/Shared/Phone/Device/Category/Category.cs 84 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ZigbeeApp/Shared/Phone/UserCenter/Abount/SLAForm.cs 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ZigbeeApp/Shared/Phone/UserView/UserHomeView.cs 115 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ZigbeeApp/Shared/Phone/UserView/UserPage.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ZigbeeApp/.vs/GateWay/xs/UserPrefs.xml
@@ -7,7 +7,7 @@
      <File FileName="Shared/R.cs" Line="955" Column="22" />
      <File FileName="GateWay.Droid/Assets/Language.ini" />
      <File FileName="Shared/Phone/Device/Category/Category.cs" />
      <File FileName="Shared/Phone/Device/AC/ACControl.cs" Line="1" Column="1" />
      <File FileName="Shared/Phone/Device/AC/ACControl.cs" Line="540" Column="14" />
      <File FileName="Shared/Phone/UserView/UserHomeView.cs" />
      <File FileName="Shared/Phone/Device/DeviceLogic/ReadDeviceAttributeLogic.cs" />
      <File FileName="Shared/Phone/UserView/UserPage.cs" />
@@ -30,7 +30,6 @@
                  </Node>
                  <Node name="Category" expanded="True" />
                  <Node name="CommonForm" expanded="True" />
                  <Node name="DeviceLogic" expanded="True" />
                  <Node name="Light" expanded="True" />
                  <Node name="Room" expanded="True" />
                </Node>
@@ -39,6 +38,9 @@
                  <Node name="CommonBase" expanded="True">
                    <Node name="Logic" expanded="True" />
                  </Node>
                  <Node name="Device" expanded="True">
                    <Node name="PirSensor" expanded="True" />
                  </Node>
                </Node>
                <Node name="UserView" expanded="True" />
                <Node name="ZigBee" expanded="True">
ZigbeeApp/.vs/GateWay/xs/sqlite3/storage.ide
Binary files differ
ZigbeeApp/Shared/Common/ZigbeeColor.cs
@@ -254,48 +254,23 @@
        /// 0xFFF5F5F5
        /// </summary>
        public uint GXCSeekBarBackground = 0xFFF5F5F5;
        public uint GXCTextBlueColor = 0xFF00AAF0;
        public uint GXCBorderRedColor = 0xFFF44D4D;
        public uint GXCButtonBlueColor = 0xFF00AAF0;
        public uint GXCButtonUnselectedColor = 0xFFAAAAAA;
        public uint GXCTextUnselectedColor = 0xFFD5D6D7;
        public uint GXCSelectedColor = 0xFFFE5E00;//选中颜色
        public uint GXCButtonhardWhiteColor = 0xFFE0E0E0;//房间btn半透明背景色
        /// <summary>
        /// 30%透明度黑色
        /// </summary>
        public uint GXCBlack70Color = 0x4C000000;
        /// <summary>
        /// 20%透明度黑色
        /// </summary>
        public uint GXCBlack80Color = 0x33000000;
        public uint GXCButtonTipColor = 0xFF999999;//浅色字提示
        public uint GXCTransparent = 0x00FFFFFF;
        /// <summary>
        /// 滑条未选择中颜色--7C7C7C ->0xffadadad
        /// </summary>
        public uint GXCSliderUnSelectedColor = 0xffadadad;
        public uint GXCEditorBGColor = 0xFF32B4C8;
        /// <summary>
        /// 取消收藏颜色--999999
        /// </summary>
        public uint GXCCancelCollectionBGColor = 0xFF999999;
        /// <summary>
        /// 用于空调的选中文字颜色
        /// </summary>
        public uint GXCACSelectedTextColor = 0xFF99D619;
        /// <summary>
        /// 开始颜色
        /// </summary>
        public uint GXCArcScaleSeekBarStartColor = 0xFF495AF4;
        /// <summary>
        /// 结束颜色
        /// </summary>
        public uint GXCArcScaleSeekBarEndColor = 0xFFAE50A8;
        public uint GXCButtonBlueColor = 0xFF00AAF0;
        #endregion
        #region --Logic定义的颜色--
ZigbeeApp/Shared/DLL/Android/Shared.Droid.HDLWidget.dll
Binary files differ
ZigbeeApp/Shared/DLL/Android/Shared.Droid.Smartrefresh.dll
Binary files differ
ZigbeeApp/Shared/DLL/Android/Shared.Droid.dll
Binary files differ
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;
                                            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);
                                            fanModeBtn.IsSelected = true;
                                            FanSwingModeBtn.IsSelected = true;
                                        }
                                        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,
@@ -537,9 +526,18 @@
                Gravity = Gravity.CenterHorizontal,
                MinValue=ACControlBase.Temperature_Low,
                MaxValue=ACControlBase.Temperature_High,
                Progress=ACControlBase.GetCurrentModeTemperature(ac)
                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 ◆ 控制反馈_________________________
ZigbeeApp/Shared/Phone/Device/Category/Category.cs
@@ -249,7 +249,7 @@
                                        ac.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:
@@ -520,7 +520,7 @@
            functionBtn.Init();
            functionBtn.SetTitle(R.MyInternationalizationString.Function);
            //自动化
            automationBtn = new ButtonLineForm(CommonFormResouce.X_Left + 150 * 2 + 20, 34, 150, 68);
            automationBtn = new ButtonLineForm(CommonFormResouce.X_Left + 150 * 2 + 20+50, 34, 150, 68);
            automationBtn.Init();
            automationBtn.SetTitle(R.MyInternationalizationString.Automation);
            //隐藏自动化
@@ -859,7 +859,14 @@
                            }
                        }
                    }
                    foreach (var deviceUI in sameTypeList)
                    for (int i=0;i<sameTypeList.Count;i++)
                    {
                        var deviceUI = sameTypeList[i];
                        new System.Threading.Thread(() =>
                        {
                            Application.RunOnMainThread(() =>
                            {
                                try
                    {
                        //删除设备
                        EventHandler<MouseEventArgs> delEvent = (delSender, delE) =>
@@ -894,11 +901,11 @@
                        {
                            //灯
                            var light = deviceUI.CommonDevice as ToggleLight;
                            //补上非远程
                            if (light.Gateway == null)
                                        if (light.Gateway != null)
                            {
                                continue;
                            }
                                            new System.Threading.Thread(() =>
                                            {
                                                System.Threading.Thread.Sleep(100 * i);
                            if (light.Gateway.IsVirtual)
                            {
                                UserHomeView.ReadStatus(light, () =>
@@ -914,6 +921,8 @@
                                    ReadDeviceAttributeLogic.Instance.SendLightStatuComand(deviceUI.CommonDevice);
                                }
                            }
                                            })
                                            { IsBackground = true }.Start();
                            var deviceTypeRowLayout = new RowLayout()
                            {
@@ -996,7 +1005,7 @@
                                Tag = deviceUI,
                                Radius = 0
                            };
                            var delBtn = new Device.CommonForm.RowLayoutDeleteButton()
                                            var delBtn = new CommonForm.RowLayoutDeleteButton()
                            {
                                Tag = deviceUI,
                                Radius = 0
@@ -1009,15 +1018,16 @@
                                delBtn.MouseUpEventHandler += delEvent;
                            }
                        }
                                    }
                        else if (deviceUI.CommonDevice.Type == DeviceType.AirSwitch)
                        {
                            //空气开关
                            var airSwitch = deviceUI.CommonDevice as ZigBee.Device.AirSwitch;
                            //补上非远程
                            if (airSwitch.Gateway == null)
                                        var airSwitch = deviceUI.CommonDevice as AirSwitch;
                                        if (airSwitch.Gateway != null)
                            {
                                continue;
                            }
                                            new System.Threading.Thread(() =>
                                            {
                                                System.Threading.Thread.Sleep(100 * i);
                            if (airSwitch.Gateway.IsVirtual)
                            {
                                UserHomeView.ReadStatus(airSwitch, () =>
@@ -1032,6 +1042,8 @@
                                    ReadDeviceAttributeLogic.Instance.SendLightStatuComand(deviceUI.CommonDevice);
                                }
                            }
                                            })
                                            { IsBackground = true }.Start();
                            var deviceTypeRowLayout = new RowLayout()
                            {
@@ -1096,7 +1108,7 @@
                                Tag = deviceUI,
                                Radius = 0
                            };
                            var delBtn = new Device.CommonForm.RowLayoutDeleteButton()
                                            var delBtn = new CommonForm.RowLayoutDeleteButton()
                            {
                                Tag = deviceUI,
                                Radius = 0
@@ -1108,17 +1120,17 @@
                                deviceTypeRowLayout.AddRightView(delBtn);
                                delBtn.MouseUpEventHandler += delEvent;
                            }
                                        }
                        }
                        else if (deviceUI.CommonDevice.Type == DeviceType.DimmableLight)
                        {
                            //调光灯
                            var dimmableLight = deviceUI.CommonDevice as ZigBee.Device.DimmableLight;
                            //补上非远程
                            if (dimmableLight.Gateway == null)
                                        if (dimmableLight.Gateway != null)
                            {
                                continue;
                            }
                                            new System.Threading.Thread(() =>
                                            {
                                                System.Threading.Thread.Sleep(100 * i);
                            if (dimmableLight.Gateway.IsVirtual)
                            {
                                UserHomeView.ReadStatus(dimmableLight, () =>
@@ -1133,6 +1145,8 @@
                                    ReadDeviceAttributeLogic.Instance.SendDimmableLightStatuComand(deviceUI.CommonDevice);
                                }
                            }
                                            })
                                            { IsBackground = true }.Start();
                            var deviceTypeRowLayout = new RowLayout()
                            {
@@ -1210,15 +1224,16 @@
                                delBtn.MouseUpEventHandler += delEvent;
                            }
                        }
                                    }
                        else if (deviceUI.CommonDevice.Type == DeviceType.Thermostat)
                        {
                            //空调
                            var ac = deviceUI.CommonDevice as ZigBee.Device.AC;
                            //补上非远程
                            if (ac.Gateway == null)
                                        if (ac.Gateway != null)
                            {
                                continue;
                            }
                                            new System.Threading.Thread(() =>
                                            {
                                                System.Threading.Thread.Sleep(100 * i);
                            if (ac.Gateway.IsVirtual)
                            {
                                //发送读取状态命令
@@ -1235,6 +1250,8 @@
                                    ReadDeviceAttributeLogic.Instance.SendACStatuComand(deviceUI.CommonDevice);
                                }
                            }
                                            })
                                            { IsBackground = true }.Start();
                            var deviceTypeRowLayout = new RowLayout()
                            {
@@ -1312,15 +1329,16 @@
                                acControl.Show(deviceUI, room);
                            };
                        }
                                    }
                        else if (deviceUI.CommonDevice.Type == DeviceType.WindowCoveringDevice)
                        {
                            //卷帘
                            var rollerShade = deviceUI.CommonDevice as ZigBee.Device.Rollershade;
                            //不上非远程
                            if (rollerShade.Gateway == null)
                                        if (rollerShade.Gateway != null)
                            {
                                continue;
                            }
                                            new System.Threading.Thread(() =>
                                            {
                                                System.Threading.Thread.Sleep(100 * i);
                            if (rollerShade.Gateway.IsVirtual)
                            {
                                UserHomeView.ReadStatus(rollerShade, () =>
@@ -1336,6 +1354,8 @@
                                    ReadDeviceAttributeLogic.Instance.SendCurtainStatuComand(deviceUI.CommonDevice);
                                }
                            }
                                            })
                                            { IsBackground = true }.Start();
                            var deviceTypeRowLayout = new RowLayout()
                            {
@@ -1399,6 +1419,7 @@
                                rollerShadeControl.Show(deviceUI, room);
                            };
                        }
                                    }
                        else if (deviceUI.CommonDevice.Type == DeviceType.DoorLock)
                        {
                            var deviceTypeRowLayout = new RowLayout()
@@ -1416,7 +1437,6 @@
                            deviceRow.SetStatuText(deviceUI.GetDeviceStatu());
                            deviceRow.HideSwitchBtn(true);
                            deviceTypeRowLayout.AddChidren(deviceRow);
                            deviceRow.ClickBtn.MouseUpEventHandler += (send2, e2) =>
                            {
@@ -1477,6 +1497,14 @@
                            }
                        }
                    }
                                catch
                                {
                                }
                            });
                        })
                        { IsBackground=true}.Start();
                    }
                };
                foreach (var deviceType in Common.Room.GetdeviceTypes(room))
ZigbeeApp/Shared/Phone/UserCenter/Abount/SLAForm.cs
@@ -44,10 +44,11 @@
                Width = Application.GetRealWidth(942),
                Height = Application.GetRealHeight(800),
                Text = Language.StringByID(R.MyInternationalizationString.SLA_Detail).Replace("{\\r\\n}","\r\n\r\n"),
                TextAlignment = TextAlignment.CenterLeft,
                TextAlignment = TextAlignment.TopLeft,
                TextColor = ZigbeeColor.Current.GXCTextColor,
                IsMoreLines=true,
                TextSize = 12
                TextSize = 12,
            };
            bodyFrameLayout.AddChidren(detail);
        }
ZigbeeApp/Shared/Phone/UserView/UserHomeView.cs
@@ -223,7 +223,7 @@
                                            var attriButeList = ac.DeviceStatusReport.AttriBute;
                                            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:
@@ -924,20 +924,20 @@
            else
            {
                deviceVerticalScrolViewLayout = new VerticalScrolViewLayout { };
                functionSceneBodyView.AddChidren(deviceVerticalScrolViewLayout);
                for (int i = 0; i < deviceList.Count; i++)
                {
                    var device = deviceList[i];
                    //new System.Threading.Thread(() =>
                    //{
                        Application.RunOnMainThread(() =>
                        {
                            try
                {
                    int t = i % 2;
                    int tt = i / 2;
                    int xx = 43 + i % 2 * (20 + 487);
                    int yy = 14;
                    var device = deviceList[i];
                    if (device == null || device.CommonDevice == null)
                    {
                        continue;
                    }
                    if (i % 2 == 0)
                    {
                        itemView = new FrameLayout()
@@ -946,18 +946,17 @@
                        };
                        deviceVerticalScrolViewLayout.AddChidren(itemView);
                    }
                    //收藏
                    EventHandler<MouseEventArgs> collectionEvent = (sender, e) =>
                    {
                        if ((sender as Button).IsSelected)
                        {
                            Shared.Common.Room.CurrentRoom.GetLoveRoom().DeleteDevice(device.FileName);
                                        Common.Room.CurrentRoom.GetLoveRoom().DeleteDevice(device.FileName);
                            (sender as Button).IsSelected = false;
                        }
                        else
                        {
                            Shared.Common.Room.CurrentRoom.GetLoveRoom().AddDevice(device.FileName);
                                        Common.Room.CurrentRoom.GetLoveRoom().AddDevice(device.FileName);
                            (sender as Button).IsSelected = true;
                        }
                        if (Room.CurrentRoom.IsLove)
@@ -966,19 +965,17 @@
                        }
                    };
                    //////判断设备是否支持的属性 如开关等控制
                    if (device.CommonDevice.Type == ZigBee.Device.DeviceType.WindowCoveringDevice)
                                if (device.CommonDevice.Type == DeviceType.WindowCoveringDevice)
                    {
                        //窗帘 卷帘
                        var rollerShade = (ZigBee.Device.Rollershade)device.CommonDevice;
                        //不上非远程
                        if (rollerShade.Gateway == null)
                                    if (rollerShade.Gateway != null)
                        {
                            continue;
                        }
                                        new System.Threading.Thread(() =>
                                        {
                                            System.Threading.Thread.Sleep(100 * i);
                        if (rollerShade.Gateway.IsVirtual)
                        {
                            //发送读取状态命令
                            ReadStatus(rollerShade, () =>
                            {
                                ReadDeviceAttributeLogic.Instance.SendCurtainStatuComand(device.CommonDevice);
@@ -991,6 +988,9 @@
                                ReadDeviceAttributeLogic.Instance.SendCurtainStatuComand(device.CommonDevice);
                            }
                        }
                                        })
                                        { IsBackground = true }.Start();
                        var lightView = new FunctionMainView(xx, yy);
                        lightView.Tag = device;
                        itemView.AddChidren(lightView);
@@ -1072,19 +1072,18 @@
                        lightView.CollectButton.MouseUpEventHandler += collectionEvent;
                    }
                    else if (device.CommonDevice.Type == ZigBee.Device.DeviceType.OnOffOutput)
                                }
                                else if (device.CommonDevice.Type == DeviceType.OnOffOutput)
                    {
                        //开关灯
                        var light = device.CommonDevice as ToggleLight;
                        //补上非远程
                        if (light.Gateway == null)
                                    if (light.Gateway != null)
                        {
                            continue;
                        }
                                        new System.Threading.Thread(() =>
                                        {
                                            System.Threading.Thread.Sleep(100 * i);
                        if (light.Gateway.IsVirtual)
                        {
                            //发送读取状态命令
                            ReadStatus(light, () =>
                            {
                                ReadDeviceAttributeLogic.Instance.SendLightStatuComand(device.CommonDevice);
@@ -1097,6 +1096,8 @@
                                ReadDeviceAttributeLogic.Instance.SendLightStatuComand(device.CommonDevice);
                            }
                        }
                                        })
                                        { IsBackground = true }.Start();
                        var lightView = new FunctionMainView(xx, yy);
                        itemView.AddChidren(lightView);
@@ -1205,20 +1206,19 @@
                        };
                        lightView.CollectButton.MouseUpEventHandler += collectionEvent;
                    }
                    else if (device.CommonDevice.Type == ZigBee.Device.DeviceType.AirSwitch)
                                }
                                else if (device.CommonDevice.Type == DeviceType.AirSwitch)
                    {
                        //空气开关
                        var airSwitch = device.CommonDevice as AirSwitch;
                        //补上非远程
                        if (airSwitch.Gateway == null)
                                    if (airSwitch.Gateway != null)
                        {
                            continue;
                        }
                                        new System.Threading.Thread(() =>
                                        {
                                            System.Threading.Thread.Sleep(100 * i);
                        if (airSwitch.Gateway.IsVirtual)
                        {
                            //发送读取状态命令
                            ReadStatus(airSwitch, () =>
                            {
                                ReadDeviceAttributeLogic.Instance.SendLightStatuComand(device.CommonDevice);
@@ -1226,12 +1226,13 @@
                        }
                        else
                        {
                            //防止短时间内多次读取设备状态
                            if ((DateTime.Now - airSwitch.LastDateTime).TotalSeconds > CommonPage.ReadDeviceStatuSpan)
                            {
                                ReadDeviceAttributeLogic.Instance.SendLightStatuComand(device.CommonDevice);
                            }
                        }
                                        })
                                        { IsBackground = true }.Start();
                        var lightView = new FunctionMainView(xx, yy);
                        itemView.AddChidren(lightView);
@@ -1313,19 +1314,18 @@
                        lightView.CollectButton.MouseUpEventHandler += collectionEvent;
                    }
                    else if (device.CommonDevice.Type == ZigBee.Device.DeviceType.Thermostat)
                                }
                                else if (device.CommonDevice.Type == DeviceType.Thermostat)
                    {
                        //恒温器-AC-空调
                        var ac = device.CommonDevice as AC;
                        //补上非远程
                        if (ac.Gateway == null)
                                    if (ac.Gateway != null)
                        {
                            continue;
                        }
                                        new System.Threading.Thread(() =>
                                        {
                                            System.Threading.Thread.Sleep(100 * i);
                        if (ac.Gateway.IsVirtual)
                        {
                            //发送读取状态命令
                            ReadStatus(ac, () =>
                            {
                                ReadDeviceAttributeLogic.Instance.SendACStatuComand(device.CommonDevice);
@@ -1333,12 +1333,14 @@
                        }
                        else
                        {
                            //防止短时间内多次读取设备状态
                            if ((DateTime.Now - ac.LastDateTime).TotalSeconds > CommonPage.ReadDeviceStatuSpan)
                            {
                                ReadDeviceAttributeLogic.Instance.SendACStatuComand(device.CommonDevice);
                            }
                        }
                                        })
                                        { IsBackground = true }.Start();
                        var lightView = new FunctionMainView(xx, yy);
                        itemView.AddChidren(lightView);
                        lightView.Init();
@@ -1418,15 +1420,16 @@
                        lightView.CollectButton.MouseUpEventHandler += collectionEvent;
                    }
                    else if (device.CommonDevice.Type == ZigBee.Device.DeviceType.DimmableLight)
                                }
                                else if (device.CommonDevice.Type == DeviceType.DimmableLight)
                    {
                        //调光灯
                        var dimmableLight = device.CommonDevice as DimmableLight;
                        //补上非远程
                        if (dimmableLight.Gateway == null)
                                    if (dimmableLight.Gateway != null)
                        {
                            continue;
                        }
                                        new System.Threading.Thread(() =>
                                        {
                                            System.Threading.Thread.Sleep(100 * i);
                        if (dimmableLight.Gateway.IsVirtual)
                        {
                            //发送读取状态命令
@@ -1443,6 +1446,8 @@
                                ReadDeviceAttributeLogic.Instance.SendDimmableLightStatuComand(device.CommonDevice);
                            }
                        }
                                        })
                                        { IsBackground = true }.Start();
                        var lightView = new FunctionMainView(xx, yy);
                        itemView.AddChidren(lightView);
@@ -1530,18 +1535,13 @@
                            //dimmableLightControl.action = RefreshBodyView;
                            dimmableLightControl.Show(device, Room.CurrentRoom);
                        };
                        lightView.CollectButton.MouseUpEventHandler += collectionEvent;
                    }
                    else if (device.CommonDevice.Type == ZigBee.Device.DeviceType.DoorLock)
                                }
                                else if (device.CommonDevice.Type == DeviceType.DoorLock)
                    {
                        //门锁
                        var dimmableLight = device.CommonDevice as DoorLock;
                        //补上非远程
                        if (dimmableLight.Gateway == null)
                        {
                            continue;
                        }
                        var lightView = new FunctionMainView(xx, yy);
                        itemView.AddChidren(lightView);
@@ -1598,9 +1598,16 @@
                        lightView.CollectButton.MouseUpEventHandler += collectionEvent;
                    }
                }
            }
                            catch(Exception ex)
                            {
        }
                        });
                    //})
                    //{ IsBackground = true }.Start();
                }
            }
        }
        #endregion
ZigbeeApp/Shared/Phone/UserView/UserPage.cs
@@ -150,7 +150,7 @@
                                foreach(var attList in attriButeList)
                                {
                                    //此属性表明室内当前的温度 * 100,实际温度为“LocalTemperature / 100”,单位:℃
                                    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: