From 72be4f06a683de33ddd563c8447c39f7f17e5b7d Mon Sep 17 00:00:00 2001
From: 黄学彪 <hxb@hdlchina.com.cn>
Date: 星期一, 06 一月 2020 13:03:50 +0800
Subject: [PATCH] 合并代码

---
 ZigbeeApp/Shared/Phone/UserView/UserHomeView.cs |  271 ++++++++++++++++++++++++++---------------------------
 1 files changed, 132 insertions(+), 139 deletions(-)

diff --git a/ZigbeeApp/Shared/Phone/UserView/UserHomeView.cs b/ZigbeeApp/Shared/Phone/UserView/UserHomeView.cs
index c524ce2..15eef80 100755
--- a/ZigbeeApp/Shared/Phone/UserView/UserHomeView.cs
+++ b/ZigbeeApp/Shared/Phone/UserView/UserHomeView.cs
@@ -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();
             };
         }
@@ -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;
 
                                                 //鎺у埗寤舵椂鍥炶皟
@@ -1653,6 +1584,68 @@
                                     }
                                     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(Room.CurrentRoom, device.FileName));
+                                        lightView.CanControl(false);
+                                        var dev = Room.LoveRoomDeviceUIFilePathList.Find((obj) => obj == device.FileName);
+                                        if (dev == null)
+                                        {
+                                            lightView.CollectButton.IsSelected = false;
+                                        }
+                                        else
+                                        {
+                                            lightView.CollectButton.IsSelected = true;
+                                        }
+                                        lightView.CollectButton.MouseUpEventHandler += collectionEvent;
+                                    }
+                                }
                                 else if (device.CommonDevice.Type == DeviceType.DoorLock)
                                 {
                                     //闂ㄩ攣

--
Gitblit v1.8.0