From fa6bcb2e9907772480f99205f36ec2a1ce735a22 Mon Sep 17 00:00:00 2001 From: 黄学彪 <hxb@hdlchina.com.cn> Date: 星期四, 09 一月 2020 14:11:07 +0800 Subject: [PATCH] 合并代码 --- ZigbeeApp/Shared/Phone/UserView/UserHomeView.cs | 521 ++++++++++++++++++++++++++++++--------------------------- 1 files changed, 270 insertions(+), 251 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/UserView/UserHomeView.cs b/ZigbeeApp/Shared/Phone/UserView/UserHomeView.cs index c524ce2..b1f0682 100755 --- a/ZigbeeApp/Shared/Phone/UserView/UserHomeView.cs +++ b/ZigbeeApp/Shared/Phone/UserView/UserHomeView.cs @@ -1,13 +1,13 @@ 锘縰sing System; using System.Collections.Generic; +using System.Timers; using Shared.Common; using Shared.Phone.Device.AC; -using ZigBee.Device; using Shared.Phone.Device.CommonForm; -using Shared.Phone.UserCenter.DoorLock; -using System.Timers; using Shared.Phone.Device.DeviceLogic; using Shared.Phone.UserCenter; +using Shared.Phone.UserCenter.DoorLock; +using ZigBee.Device; namespace Shared.Phone.UserView { @@ -329,6 +329,65 @@ } } break; + case DeviceType.TemperatureSensor: + //娓╁害 + if (common.DeviceStatusReport.CluterID == 1026) + { + var tempera = deviceUI.CommonDevice as TemperatureSensor; + foreach (var data in common.DeviceStatusReport.AttriBute) + { + if (data.AttributeId == (int)ZigBee.Device.AttriButeId.MeasuredValue) + { + if (data.AttriButeData == 0) + { + tempera.Temperatrue = 0; + } + else if (data.AttriButeData > 32767) + { + //璐熸暟(鐗规畩澶勭悊) + string strValue = (data.AttriButeData - 65536).ToString(); + //灏忔暟鐐归渶瑕佷竴浣� + strValue = strValue.Substring(0, strValue.Length - 1); + tempera.Temperatrue = Convert.ToDecimal(strValue.Insert(strValue.Length - 1, ".")); + } + else + { + //灏忔暟鐐归渶瑕佷竴浣� + string strValue = data.AttriButeData.ToString(); + strValue = strValue.Substring(0, strValue.Length - 1); + tempera.Temperatrue = Convert.ToDecimal(strValue.Insert(strValue.Length - 1, ".")); + } + + tempera.LastDateTime = DateTime.Now; + (rowFL.GetChildren(j) as FunctionMainView).StatuButton.Text = deviceUI.GetDeviceStatu(); + } + } + } + //婀垮害 + if (common.DeviceStatusReport.CluterID == 1029) + { + var tempera = deviceUI.CommonDevice as TemperatureSensor; + foreach (var data in common.DeviceStatusReport.AttriBute) + { + if (data.AttributeId == (int)ZigBee.Device.AttriButeId.MeasuredValue) + { + if (data.AttriButeData == 0) + { + tempera.Humidity = 0; + } + else + { + //灏忔暟鐐归渶瑕佷竴浣�(婀垮害娌℃湁璐熸暟) + string strValue = data.AttriButeData.ToString(); + strValue = strValue.Substring(0, strValue.Length - 1); + tempera.Humidity = Convert.ToDecimal(strValue.Insert(strValue.Length - 1, ".")); + } + tempera.LastDateTime = DateTime.Now; + (rowFL.GetChildren(j) as FunctionMainView).StatuButton.Text = deviceUI.GetDeviceStatu(); + } + } + } + break; } } } @@ -472,7 +531,8 @@ TextAlignment = TextAlignment.CenterLeft, TextColor = ZigbeeColor.Current.GXCTextColor, Text = Config.Instance.Home.GetCurrentFloorName, - IsBold=true + IsBold = true, + TextSize = 14 }; if (Config.Instance.Home.FloorDics.Count > 0) { @@ -532,143 +592,13 @@ } else { - var residenceListView = new Dialog(); - residenceListView.Show(); - var closeBGview = new FrameLayout(); - residenceListView.AddChidren(closeBGview); - closeBGview.MouseUpEventHandler += (send1, e1) => + var selectHouse = new Device.Category.SelectHouse(); + selectHouse.Init(); + selectHouse.HouseAction = (houseId) => { - residenceListView.Close(); + ChangeResidence(House.GetHouseByHouseId(houseId)); }; - - var bg = new Button - { - X = Application.GetRealWidth(35), - Y = Application.GetRealHeight(248), - Width = Application.GetMinRealAverage(449), - Height = Application.GetMinRealAverage(478), - UnSelectedImagePath = "Item/SelectHouse.png" - }; - closeBGview.AddChidren(bg); - - var changeHomeFL = new FrameLayout() - { - X = Application.GetRealWidth(35), - Y = Application.GetRealHeight(271), - Height = Application.GetMinRealAverage(449), - Width = Application.GetMinRealAverage(440), - Radius = CommonPage.BigFormRadius, - BackgroundColor = ZigbeeColor.Current.GXCBackgroundColor - }; - closeBGview.AddChidren(changeHomeFL); - - var changeHomeBtn = new Button() - { - X = Application.GetRealWidth(80), - Width = Application.GetRealWidth(350), - Height = Application.GetRealHeight(150), - TextColor = ZigbeeColor.Current.GXCTextBlackColor, - TextID = R.MyInternationalizationString.ChangeHome, - TextAlignment = TextAlignment.CenterLeft - }; - changeHomeFL.AddChidren(changeHomeBtn); - - var scrolView = new VerticalScrolViewLayout() - { - Y = changeHomeBtn.Bottom, - Height = Application.GetMinRealAverage(305 - 10) - }; - changeHomeFL.AddChidren(scrolView); - - var clickCheckBtn = new Device.CommonForm.SelectedStatuButton(); - var clickNameBtn = new Device.CommonForm.SelectedStatuButton(); - foreach (var homeFilePath in Config.Instance.HomeFilePathList) - { - var home = House.GetHouseByFilePath(homeFilePath); - if (home == null) - { - continue; - } - var rowView = new RowLayout() - { - Height = Application.GetRealHeight(150) - }; - scrolView.AddChidren(rowView); - var pointBtn = new Device.CommonForm.SelectedStatuButton() - { - X = Application.GetRealWidth(80), - Width = Application.GetMinRealAverage(80), - Height = Application.GetMinRealAverage(80), - Gravity = Gravity.CenterVertical, - UnSelectedImagePath = "Item/House.png", - SelectedImagePath = "Item/HouseSelected.png", - IsSelected = home.Id == Config.Instance.Home.Id - }; - rowView.AddChidren(pointBtn); - var nameBtn = new Device.CommonForm.SelectedStatuButton() - { - X = Application.GetRealWidth(173), - Width = Application.GetRealWidth(280), - TextAlignment = TextAlignment.CenterLeft, - Text = home.Name, - TextColor = ZigbeeColor.Current.GXCTextGrayColor, - SelectedTextColor = ZigbeeColor.Current.GXCTextBlackColor, - IsSelected = home.Id == Config.Instance.Home.Id - }; - if (home.IsOthreShare) - { - nameBtn.Text = $"{home.Name}"; - } - rowView.AddChidren(nameBtn); - - EventHandler<MouseEventArgs> selectedResidenceHandler = (send1, e1) => - { - if (Config.Instance.Home.FileName == homeFilePath) - { - return; - } - clickCheckBtn.IsSelected = false; - clickNameBtn.IsSelected = false; - pointBtn.IsSelected = true; - nameBtn.IsSelected = true; - - residecneName.Text = home.Name; - if (home.IsOthreShare) - { - nameBtn.Text = $"{home.Name}"; - } - clickCheckBtn = pointBtn; - clickNameBtn = nameBtn; - residenceListView.Close(); - ChangeResidence(home); - }; - nameBtn.MouseUpEventHandler += selectedResidenceHandler; - pointBtn.MouseUpEventHandler += selectedResidenceHandler; - rowView.MouseUpEventHandler += selectedResidenceHandler; - if (home.Id == Config.Instance.Home.Id) - { - pointBtn.IsSelected = true; - nameBtn.IsSelected = true; - clickCheckBtn = pointBtn; - clickNameBtn = nameBtn; - residecneName.Text = home.Name; - if (home.IsOthreShare) - { - residecneName.Text = nameBtn.Text = $"{home.Name}"; - } - } - else - { - pointBtn.IsSelected = false; - nameBtn.IsSelected = false; - } - } } - }; - //娑堟伅 - messageBtn.MouseUpEventHandler += (send, e) => - { - }; #endregion @@ -707,7 +637,7 @@ if (roomPageView.GetChildren(roomPageView.PageIndex) != null) { (roomPageView.GetChildren(roomPageView.PageIndex) as RoomView).HideName(false); - + } var functionSceneView = new FrameLayout() @@ -803,7 +733,7 @@ //鍒囨崲褰撳墠鎴块棿 Room.CurrentRoom = rList[roomPageView.PageIndex]; RefreshBodyView(); - + }; } else @@ -846,6 +776,7 @@ floorFL.FloorAction = (floorId) => { floorBtn.Text = Config.Instance.Home.GetFloorNameById(floorId); + Common.Room.CurrentRoom = Common.Room.CurrentRoom?.GetLoveRoom(); Show(); }; } @@ -988,6 +919,7 @@ /// </summary> private void ShowFunction() { + functionSceneBodyView.RemoveAll(); //閫夋嫨鍔熻兘--鐩存帴浠庢埧闂寸殑devicelist涓幏鍙� var deviceList = Room.CurrentRoom.DeviceUIList; if (deviceList == null) @@ -1080,18 +1012,17 @@ }) { IsBackground = true }.Start(); - var lightView = new FunctionMainView(xx, yy); - lightView.Tag = device; - itemView.AddChidren(lightView); - lightView.Init(); - lightView.SetDeviceImage(device.IconPath, device.OnlineIconPath); - lightView.SetStatuText(device.GetDeviceStatu()); - lightView.SetDeviceName(rollerShade.DeviceEpointName); - //lightView.SetStatu(true); - lightView.IsSelected = rollerShade.WcdCurrentPositionLiftPercentage == 100; - lightView.SetCollect(true); + var functionView = new FunctionMainView(xx, yy); + functionView.Tag = device; + itemView.AddChidren(functionView); + functionView.Init(); + functionView.SetDeviceImage(device.IconPath, device.OnlineIconPath); + functionView.SetStatuText(device.GetDeviceStatu()); + functionView.SetDeviceName(rollerShade.DeviceEpointName); + functionView.IsSelected = rollerShade.WcdCurrentPositionLiftPercentage == 100; + functionView.SetCollect(true); - lightView.SwitchButton.MouseUpEventHandler += (sender, e) => + functionView.SwitchButton.MouseUpEventHandler += (sender, e) => { (sender as Button).IsSelected = !(sender as Button).IsSelected; if ((sender as Button).IsSelected) @@ -1103,7 +1034,7 @@ (device.CommonDevice as Rollershade).CurtainUpDownStopControl(0); - ((sender as Button).Parent as FunctionMainView).SetStatuText(CommonFormResouce.GetSwitchStatu(true)); + ((sender as Button).Parent as FunctionMainView).SetStatuText(Language.StringByID(R.MyInternationalizationString.Open)); ((sender as Button).Parent as FunctionMainView).IsSelected = true; //鎺у埗寤舵椂鍥炶皟 @@ -1129,7 +1060,7 @@ (device.CommonDevice as Rollershade).CurtainUpDownStopControl(1); - ((sender as Button).Parent as FunctionMainView).SetStatuText(CommonFormResouce.GetSwitchStatu(false)); + ((sender as Button).Parent as FunctionMainView).SetStatuText(Language.StringByID(R.MyInternationalizationString.Close)); ((sender as Button).Parent as FunctionMainView).IsSelected = false; //鎺у埗寤舵椂鍥炶皟 @@ -1148,18 +1079,21 @@ } }; - lightView.CardBG.MouseUpEventHandler += (sender, e) => + functionView.CardBG.MouseUpEventHandler += (sender, e) => { CommonPage.Instance.IsDrawerLockMode = true; var rollerShadeControl = new Phone.Device.Curtain.RollerShadeControl(); UserView.HomePage.Instance.AddChidren(rollerShadeControl); UserView.HomePage.Instance.PageIndex += 1; UserView.HomePage.Instance.ScrollEnabled = false; - //rollerShadeControl.action = RefreshBodyView; rollerShadeControl.Show(device, Room.CurrentRoom); + rollerShadeControl.action += (curDev, curRoom) => + { + ReFreshEditDeviceAction(device, curRoom, functionView); + }; }; - lightView.CollectButton.MouseUpEventHandler += collectionEvent; + functionView.CollectButton.MouseUpEventHandler += collectionEvent; } } else if (device.CommonDevice.Type == DeviceType.OnOffOutput) @@ -1188,27 +1122,26 @@ }) { IsBackground = true }.Start(); - var lightView = new FunctionMainView(xx, yy); - itemView.AddChidren(lightView); - lightView.Init(); - lightView.Tag = device; - lightView.SetDeviceImage(device.IconPath, device.OnlineIconPath); - lightView.SetStatuText(device.GetDeviceStatu()); - lightView.SetDeviceName(device.CommonDevice.DeviceEpointName); - lightView.IsSelected = light.OnOffStatus == 1; - lightView.SetCollect(Room.CurrentRoom.IsCollectInRoom(Room.CurrentRoom, device.FileName)); + var functionView = new FunctionMainView(xx, yy); + itemView.AddChidren(functionView); + functionView.Init(); + functionView.Tag = device; + functionView.SetDeviceImage(device.IconPath, device.OnlineIconPath); + functionView.SetStatuText(device.GetDeviceStatu()); + functionView.SetDeviceName(device.CommonDevice.DeviceEpointName); + functionView.IsSelected = light.OnOffStatus == 1; + functionView.SetCollect(Room.CurrentRoom.IsCollectInRoom(device.FileName)); - var dev = Room.LoveRoomDeviceUIFilePathList.Find((obj) => obj == device.FileName); - if (dev == null) + if (Common.Room.CurrentRoom.IsCollectInRoom(device.FileName) == false) { - lightView.CollectButton.IsSelected = false; + functionView.CollectButton.IsSelected = false; } else { - lightView.CollectButton.IsSelected = true; + functionView.CollectButton.IsSelected = true; } - lightView.SwitchButton.MouseUpEventHandler += (sender, e) => + functionView.SwitchButton.MouseUpEventHandler += (sender, e) => { (sender as Button).IsSelected = !(sender as Button).IsSelected; if ((sender as Button).IsSelected) @@ -1265,36 +1198,21 @@ } }; - lightView.CardBG.MouseUpEventHandler += (sender, e) => + functionView.CardBG.MouseUpEventHandler += (sender, e) => { CommonPage.Instance.IsDrawerLockMode = true; - if (device.CommonDevice.DfunctionType == DeviceFunctionType.A寮�鍏�) + + var lightControl = new Phone.Device.Light.OnOffControl(); + UserView.HomePage.Instance.AddChidren(lightControl); + UserView.HomePage.Instance.PageIndex += 1; + lightControl.Show(device, Room.CurrentRoom); + lightControl.action += (curDev, curRoom) => { - var lightControl = new Phone.Device.Light.OnOffControl(); - UserView.HomePage.Instance.AddChidren(lightControl); - UserView.HomePage.Instance.PageIndex += 1; - //lightControl.action = RefreshBodyView; - lightControl.Show(device, Room.CurrentRoom); - } - else if (device.CommonDevice.DfunctionType == DeviceFunctionType.A鎻掑骇) - { - var lightControl = new Phone.Device.Light.PlugControl(); - UserView.HomePage.Instance.AddChidren(lightControl); - UserView.HomePage.Instance.PageIndex += 1; - //lightControl.action = RefreshBodyView; - lightControl.Show(device, Room.CurrentRoom); - } - else - { - var lightControl = new Phone.Device.Light.LightControl(); - UserView.HomePage.Instance.AddChidren(lightControl); - UserView.HomePage.Instance.PageIndex += 1; - //lightControl.action = RefreshBodyView; - lightControl.Show(device, Room.CurrentRoom); - } + ReFreshEditDeviceAction(device, curRoom, functionView); + }; }; - lightView.CollectButton.MouseUpEventHandler += collectionEvent; + functionView.CollectButton.MouseUpEventHandler += collectionEvent; } } else if (device.CommonDevice.Type == DeviceType.AirSwitch) @@ -1323,18 +1241,17 @@ }) { IsBackground = true }.Start(); - var lightView = new FunctionMainView(xx, yy); - itemView.AddChidren(lightView); - lightView.Init(); - lightView.Tag = device; - lightView.SetDeviceImage(device.IconPath, device.OnlineIconPath); - lightView.SetStatuText(device.GetDeviceStatu()); - lightView.SetDeviceName(airSwitch.DeviceEpointName); - //lightView.SetStatu(true); - lightView.IsSelected = airSwitch.OnOffStatus == 1; - lightView.SetCollect(Room.CurrentRoom.IsCollectInRoom(Room.CurrentRoom, device.FileName)); + var functionView = new FunctionMainView(xx, yy); + itemView.AddChidren(functionView); + functionView.Init(); + functionView.Tag = device; + functionView.SetDeviceImage(device.IconPath, device.OnlineIconPath); + functionView.SetStatuText(device.GetDeviceStatu()); + functionView.SetDeviceName(airSwitch.DeviceEpointName); + functionView.IsSelected = airSwitch.OnOffStatus == 1; + functionView.SetCollect(Room.CurrentRoom.IsCollectInRoom( device.FileName)); - lightView.SwitchButton.MouseUpEventHandler += (sender, e) => + functionView.SwitchButton.MouseUpEventHandler += (sender, e) => { (sender as Button).IsSelected = !(sender as Button).IsSelected; if ((sender as Button).IsSelected) @@ -1391,17 +1308,21 @@ } }; - lightView.CardBG.MouseUpEventHandler += (sender, e) => + functionView.CardBG.MouseUpEventHandler += (sender, e) => { CommonPage.Instance.IsDrawerLockMode = true; var lightControl = new Phone.Device.Light.AirSwitchControl(); UserView.HomePage.Instance.AddChidren(lightControl); UserView.HomePage.Instance.PageIndex += 1; - //lightControl.action = RefreshBodyView; lightControl.Show(device, Room.CurrentRoom); + lightControl.action += (curDev, curRoom) => + { + ReFreshEditDeviceAction(device, curRoom, functionView); + }; + }; - lightView.CollectButton.MouseUpEventHandler += collectionEvent; + functionView.CollectButton.MouseUpEventHandler += collectionEvent; } } else if (device.CommonDevice.Type == DeviceType.Thermostat) @@ -1430,17 +1351,17 @@ }) { IsBackground = true }.Start(); - var lightView = new FunctionMainView(xx, yy); - itemView.AddChidren(lightView); - lightView.Init(); - lightView.Tag = device; - lightView.SetDeviceImage(device.IconPath, device.OnlineIconPath); - lightView.SetStatuText(device.GetDeviceStatu()); - lightView.SetDeviceName(device.CommonDevice.DeviceEpointName); - lightView.IsSelected = ac.currentSystemMode != 0; - lightView.SetCollect(Room.CurrentRoom.IsCollectInRoom(Room.CurrentRoom, device.FileName)); + var functionView = new FunctionMainView(xx, yy); + itemView.AddChidren(functionView); + functionView.Init(); + functionView.Tag = device; + functionView.SetDeviceImage(device.IconPath, device.OnlineIconPath); + functionView.SetStatuText(device.GetDeviceStatu()); + functionView.SetDeviceName(device.CommonDevice.DeviceEpointName); + functionView.IsSelected = ac.currentSystemMode != 0; + functionView.SetCollect(Room.CurrentRoom.IsCollectInRoom(device.FileName)); - lightView.SwitchButton.MouseUpEventHandler += (sender, e) => + functionView.SwitchButton.MouseUpEventHandler += (sender, e) => { (sender as Button).IsSelected = !(sender as Button).IsSelected; if ((sender as Button).IsSelected) @@ -1497,17 +1418,20 @@ } }; - lightView.CardBG.MouseUpEventHandler += (sender, e) => + functionView.CardBG.MouseUpEventHandler += (sender, e) => { CommonPage.Instance.IsDrawerLockMode = true; var lightControl = new Phone.Device.AC.ACControl(); UserView.HomePage.Instance.AddChidren(lightControl); UserView.HomePage.Instance.PageIndex += 1; - //lightControl.action = RefreshBodyView; lightControl.Show(device, Room.CurrentRoom); + lightControl.action += (curDev, curRoom) => + { + ReFreshEditDeviceAction(device, curRoom, functionView); + }; }; - lightView.CollectButton.MouseUpEventHandler += collectionEvent; + functionView.CollectButton.MouseUpEventHandler += collectionEvent; } } else if (device.CommonDevice.Type == DeviceType.DimmableLight) @@ -1538,27 +1462,26 @@ }) { IsBackground = true }.Start(); - var lightView = new FunctionMainView(xx, yy); - itemView.AddChidren(lightView); - lightView.Init(); - lightView.Tag = device; - lightView.SetDeviceImage(device.IconPath, device.OnlineIconPath); - lightView.SetStatuText(device.GetDeviceStatu()); - lightView.SetDeviceName(device.CommonDevice.DeviceEpointName); - lightView.IsSelected = dimmableLight.OnOffStatus == 1; - lightView.SetCollect(Room.CurrentRoom.IsCollectInRoom(Room.CurrentRoom, device.FileName)); + var functionView = new FunctionMainView(xx, yy); + itemView.AddChidren(functionView); + functionView.Init(); + functionView.Tag = device; + functionView.SetDeviceImage(device.IconPath, device.OnlineIconPath); + functionView.SetStatuText(device.GetDeviceStatu()); + functionView.SetDeviceName(device.CommonDevice.DeviceEpointName); + functionView.IsSelected = dimmableLight.OnOffStatus == 1; + functionView.SetCollect(Room.CurrentRoom.IsCollectInRoom(device.FileName)); - var dev = Room.LoveRoomDeviceUIFilePathList.Find((obj) => obj == device.FileName); - if (dev == null) + if (Common.Room.CurrentRoom.IsCollectInRoom(device.FileName) == false) { - lightView.CollectButton.IsSelected = false; + functionView.CollectButton.IsSelected = false; } else { - lightView.CollectButton.IsSelected = true; + functionView.CollectButton.IsSelected = true; } - lightView.SwitchButton.MouseUpEventHandler += (sender, e) => + functionView.SwitchButton.MouseUpEventHandler += (sender, e) => { (sender as Button).IsSelected = !(sender as Button).IsSelected; if ((sender as Button).IsSelected) @@ -1615,16 +1538,19 @@ } }; - lightView.CardBG.MouseUpEventHandler += (sender, e) => + functionView.CardBG.MouseUpEventHandler += (sender, e) => { CommonPage.Instance.IsDrawerLockMode = true; var dimmableLightControl = new Phone.Device.Light.DimmableLightControl(); UserView.HomePage.Instance.AddChidren(dimmableLightControl); UserView.HomePage.Instance.PageIndex += 1; - //dimmableLightControl.action = RefreshBodyView; dimmableLightControl.Show(device, Room.CurrentRoom); + dimmableLightControl.action += (curDev, curRoom) => + { + ReFreshEditDeviceAction(device, curRoom, functionView); + }; }; - lightView.CollectButton.MouseUpEventHandler += collectionEvent; + functionView.CollectButton.MouseUpEventHandler += collectionEvent; } } else if (device.CommonDevice.Type == DeviceType.IASZone) @@ -1640,10 +1566,9 @@ lightView.SetStatuText(device.GetDeviceStatu()); lightView.SetDeviceName(device.CommonDevice.DeviceEpointName); lightView.IsSelected = ias.iASInfo?.Alarm1 == 1; - lightView.SetCollect(Room.CurrentRoom.IsCollectInRoom(Room.CurrentRoom, device.FileName)); + lightView.SetCollect(Room.CurrentRoom.IsCollectInRoom(device.FileName)); lightView.CanControl(false); - var dev = Room.LoveRoomDeviceUIFilePathList.Find((obj) => obj == device.FileName); - if (dev == null) + if (Common.Room.CurrentRoom.IsCollectInRoom(device.FileName) == false) { lightView.CollectButton.IsSelected = false; } @@ -1652,6 +1577,67 @@ lightView.CollectButton.IsSelected = true; } lightView.CollectButton.MouseUpEventHandler += collectionEvent; + } + else if (device.CommonDevice.Type == DeviceType.TemperatureSensor) + { + var tempera = device.CommonDevice as TemperatureSensor; + + if (tempera.Gateway != null) + { + new System.Threading.Thread(() => + { + System.Threading.Thread.Sleep(100 * i); + if (tempera.Gateway.IsVirtual) + { + ReadStatus(tempera, () => + { + if (tempera.SensorDiv == 1) + { + ReadDeviceAttributeLogic.Instance.SendTemperatureStatuComand(device.CommonDevice); + } + else if (tempera.SensorDiv == 2) + { + ReadDeviceAttributeLogic.Instance.SendHumidityStatuComand(device.CommonDevice); + } + }); + } + else + { + if (CommonPage.ReadDeviceStatuSpan < (DateTime.Now - tempera.LastDateTime).TotalSeconds) + { + if (tempera.SensorDiv == 1) + { + ReadDeviceAttributeLogic.Instance.SendTemperatureStatuComand(device.CommonDevice); + } + else if (tempera.SensorDiv == 2) + { + ReadDeviceAttributeLogic.Instance.SendHumidityStatuComand(device.CommonDevice); + } + } + } + }) + { IsBackground = true }.Start(); + + var lightView = new FunctionMainView(xx, yy); + itemView.AddChidren(lightView); + lightView.Init(); + lightView.Tag = device; + lightView.SetDeviceImage(device.IconPath, device.OnlineIconPath); + lightView.SetStatuText(device.GetDeviceStatu()); + lightView.SetDeviceName(device.CommonDevice.DeviceEpointName); + lightView.IsSelected = false; + lightView.SetCollect(Room.CurrentRoom.IsCollectInRoom(device.FileName)); + lightView.CanControl(false); + if (Common.Room.CurrentRoom.IsCollectInRoom(device.FileName) == false) + { + lightView.CollectButton.IsSelected = false; + } + else + { + lightView.CollectButton.IsSelected = true; + } + lightView.CollectButton.MouseUpEventHandler += collectionEvent; + } } else if (device.CommonDevice.Type == DeviceType.DoorLock) { @@ -1665,11 +1651,10 @@ lightView.SetDeviceImage(device.IconPath, device.OnlineIconPath); lightView.SetStatuText(device.GetDeviceStatu()); lightView.SetDeviceName(device.CommonDevice.DeviceEpointName); - lightView.IsSelected = dimmableLight.IsOnline == 1; - lightView.SetCollect(Room.CurrentRoom.IsCollectInRoom(Room.CurrentRoom, device.FileName)); + lightView.IsSelected = false; + lightView.SetCollect(Room.CurrentRoom.IsCollectInRoom(device.FileName)); lightView.CanControl(false); - var dev = Room.LoveRoomDeviceUIFilePathList.Find((obj) => obj == device.FileName); - if (dev == null) + if (Common.Room.CurrentRoom.IsCollectInRoom(device.FileName) == false) { lightView.CollectButton.IsSelected = false; } @@ -1698,11 +1683,10 @@ lightView.SetStatuText(device.GetDeviceStatu()); lightView.SetDeviceName(device.CommonDevice.DeviceEpointName); lightView.CanControl(false); - lightView.IsSelected = device.CommonDevice.IsOnline == 1; - lightView.SetCollect(Room.CurrentRoom.IsCollectInRoom(Room.CurrentRoom, device.FileName)); + //lightView.IsSelected = device.CommonDevice.IsOnline == 1; + lightView.SetCollect(Room.CurrentRoom.IsCollectInRoom(device.FileName)); - var dev = Room.LoveRoomDeviceUIFilePathList.Find((obj) => obj == device.FileName); - if (dev == null) + if (Common.Room.CurrentRoom.IsCollectInRoom(device.FileName) == false) { lightView.CollectButton.IsSelected = false; } @@ -1720,6 +1704,40 @@ }); //}) //{ IsBackground = true }.Start(); + } + } + } + + /// <summary> + /// ReFreshEditDeviceAction + /// </summary> + /// <param name="device"></param> + /// <param name="curRoom"></param> + /// <param name="functionView"></param> + private void ReFreshEditDeviceAction(DeviceUI device, Common.Room curRoom, FunctionMainView functionView) + { + if (Common.Room.CurrentRoom.IsLove) + { + functionView.SetDeviceImage(device.IconPath, device.OnlineIconPath); + functionView.SetDeviceName(device.CommonDevice.DeviceEpointName); + if (Room.CurrentRoom.IsCollectInRoom(device.FileName) == false) + { + ShowFunction(); + } + } + else + { + if (curRoom.Id != Common.Room.CurrentRoom.Id) + { + + Common.Room.CurrentRoom.DeleteDevice(device.FileName); + ShowFunction(); + } + else + { + functionView.SetDeviceImage(device.IconPath, device.OnlineIconPath); + functionView.SetDeviceName(device.CommonDevice.DeviceEpointName); + functionView.SetCollect(Room.CurrentRoom.IsCollectInRoom(device.FileName)); } } } @@ -1748,7 +1766,7 @@ Height = Application.GetRealHeight(200), Text = Language.StringByID(R.MyInternationalizationString.NoScene_Tip).Replace("{\\r\\n}", "\r\n"), TextColor = ZigbeeColor.Current.GXCPlaceHolderTextColor, - TextAlignment = TextAlignment.Center, + TextAlignment=TextAlignment.Center, IsMoreLines = true }; functionSceneBodyView.AddChidren(noScenceTip); @@ -1759,6 +1777,7 @@ /// </summary> private void ShowScene() { + functionSceneBodyView.RemoveAll(); //閫夋嫨鍦烘櫙 var sceneList = Room.CurrentRoom.SceneUIList; if (sceneList == null) -- Gitblit v1.8.0