From af9c3e0b3b1eb370e966b3ca9db3f62848d4189b Mon Sep 17 00:00:00 2001
From: JLChen <551775569@qq.com>
Date: 星期六, 21 八月 2021 13:03:12 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/newBranch1' into WJC

---
 HDL_ON/UI/UI2/1-HomePage/HomePage.cs |   96 ++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 92 insertions(+), 4 deletions(-)

diff --git a/HDL_ON/UI/UI2/1-HomePage/HomePage.cs b/HDL_ON/UI/UI2/1-HomePage/HomePage.cs
index f057023..dc250ad 100644
--- a/HDL_ON/UI/UI2/1-HomePage/HomePage.cs
+++ b/HDL_ON/UI/UI2/1-HomePage/HomePage.cs
@@ -27,6 +27,12 @@
         /// </summary>
         Button btnLinkStateTip;
         /// <summary>
+        /// 瀹夐槻鐘舵�佸浘鏍�
+        /// </summary>
+        Button btnSecurityStatus;
+
+
+        /// <summary>
         ///浣忓畢鍚嶇О鏄剧ず
         /// </summary>
         Button btnResidenceName;
@@ -194,6 +200,34 @@
                 #region 鐜鏁版嵁
                 var tempSensorList = FunctionList.List.GetEnvirSensorsList().FindAll((obj) => obj.spk == SPK.SensorTemperature);
                 var humiSensorList = FunctionList.List.GetEnvirSensorsList().FindAll((obj) => obj.spk == SPK.SensorHumidity);
+                var enviList = FunctionList.List.GetEnvirSensorsList().FindAll((obj) => SPK.EvironmentSensorList().Contains(obj.spk));
+                foreach (var enviTemp in enviList)
+                {
+                    var humiAttr = enviTemp.attributes.Find((obj) => obj.key == "humidity");
+                    if (humiAttr != null)
+                    {
+                        var newTemp = new Function()
+                        {
+                            name = enviTemp.name,
+                            sid = enviTemp.sid,
+                            deviceId = enviTemp.deviceId,
+                            attributes = new List<FunctionAttributes> { new FunctionAttributes { key = "value", state = humiAttr.state, curValue = humiAttr.curValue } },
+                        };
+                        humiSensorList.Add(newTemp);
+                    }
+                    var tempAttr = enviTemp.attributes.Find((obj) => obj.key == "temperature");
+                    if (tempAttr != null)
+                    {
+                        var newTemp = new Function()
+                        {
+                            name = enviTemp.name,
+                            sid = enviTemp.sid,
+                            deviceId = enviTemp.deviceId,
+                            attributes = new List<FunctionAttributes> { new FunctionAttributes { key = "value", state = tempAttr.state, curValue = tempAttr.curValue } },
+                        };
+                        tempSensorList.Add(newTemp);
+                    }
+                }
 
                 var btnEnvirValuesTitle = new Button() {
                     X = Application.GetRealWidth(12),
@@ -245,15 +279,20 @@
                 {
                     btnIndoorTempValues.Text = "/--掳";
                     double tempTotalValues = 0;
+                    double tempTotalCount = 0;
                     foreach (var temp in tempSensorList)
                     {
                         double tempValue = 0;
                         double.TryParse(temp.GetAttrState(FunctionAttributeKey.Value), out tempValue);
-                        tempTotalValues += tempValue;
+                        if (tempValue > 0)
+                        {
+                            tempTotalValues += tempValue;
+                            tempTotalCount++;
+                        }
                     }
                     if (tempTotalValues > 0)
                     {
-                        btnIndoorTempValues.Text = "/" + tempTotalValues + "掳";
+                        btnIndoorTempValues.Text = "/" + (tempTotalValues/ tempTotalCount).ToString("0.0") + "掳";
                     }
                 }
                 btnIndoorTempValues.Width = btnIndoorTempValues.GetTextWidth();
@@ -294,15 +333,20 @@
                 {
                     btnIndoorHumiValues.Text = "/--%";
                     double humiTotalValues = 0;
+                    double humiTotalCount = 0;
                     foreach (var humi in humiSensorList)
                     {
                         double humiValue = 0;
                         double.TryParse(humi.GetAttrState(FunctionAttributeKey.Value), out humiValue);
-                        humiTotalValues += humiValue;
+                        if (humiValue > 0)
+                        {
+                            humiTotalValues += humiValue;
+                            humiTotalCount++;
+                        }
                     }
                     if (humiTotalValues > 0)
                     {
-                        btnIndoorHumiValues.Text = "/" + humiTotalValues + "%";
+                        btnIndoorHumiValues.Text = "/" + (humiTotalValues / humiTotalCount).ToString("0") + "%";
                     }
                 }
                 btnIndoorHumiValues.Width = btnIndoorHumiValues.GetTextWidth();
@@ -330,6 +374,28 @@
                 btnPm25Values.Width = btnPm25Values.GetTextWidth();
                 environmentalView.AddChidren(btnPm25Values);
                 #endregion
+
+                btnSecurityStatus = new Button()
+                {
+                    X = Application.GetRealWidth(329),
+                    Y = Application.GetRealHeight(34),
+                    Width = Application.GetRealWidth(30),
+                    Height = Application.GetRealWidth(30),
+                    SelectedImagePath = "Collection/DefenseStatusIcon.png",
+                    UnSelectedImagePath = "Collection/DisarmStatusIcon.png"
+                };
+                if (DB_ResidenceData.Instance.GatewayType == 1)
+                {
+                    topView.AddChidren(btnSecurityStatus);
+                    btnSecurityStatus.IsSelected = SecurityCenter.Security.CurrentDefenseMode != null;
+                    btnSecurityStatus.MouseUpEventHandler = (sender, e) => {
+                        var page = new ArmCenterPage();
+                        MainPage.BasePageView.AddChidren(page);
+                        page.LoadPage();
+                        MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
+                    };
+                }
+
 
                 #region msg
                 FrameLayout msgView;
@@ -463,6 +529,28 @@
 
 
 #if DEBUG
+            //FunctionList.List.Functions.Add(new Function()
+            //{
+            //    spk = SPK.AirFreshStandard,
+            //    name = "娴嬭瘯鏂伴",
+            //    attributes = new List<FunctionAttributes>()
+            //    {
+            //        new FunctionAttributes(){ key = "on_off",curValue= "on",state = "on" },
+            //        new FunctionAttributes(){ key = "fan",curValue= "on",state = "on" ,value = new List<string>(){ "high","low" } },
+            //    },
+            //});
+
+            FunctionList.List.Functions.Add(new Function()
+            {
+                spk = SPK.SensorGas,
+                name = "鐕冩皵浼犳劅鍣�",
+                attributes = new List<FunctionAttributes>()
+                {
+                    new FunctionAttributes(){ key = "enable",curValue= "true",state = "true" ,value = new List<string>(){ "true", "false" } },
+                    new FunctionAttributes(){ key = "status",curValue= "normal",state = "normal" ,value = new List<string>(){ "alarm", "normal" } },
+                },
+            });
+
             //FunctionList.List.Functions.Add(new Function() { spk = SPK.PjtIr, name = "娴嬭瘯鎶曞奖浠�",
             //                            attributes = new List<FunctionAttributes>() {
             //                                new FunctionAttributes(){ key = "on_off",curValue= "on",state = "on" },

--
Gitblit v1.8.0