From 2109463fab2eb1caed189e4f258e0e763c5cea7b Mon Sep 17 00:00:00 2001
From: WJC <wjc@hdlchina.com.cn>
Date: 星期四, 07 十一月 2019 11:58:53 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev-tzy' into dev-wjc

---
 ZigbeeApp/Shared/Common/DeviceUI.cs |  108 +++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 106 insertions(+), 2 deletions(-)

diff --git a/ZigbeeApp/Shared/Common/DeviceUI.cs b/ZigbeeApp/Shared/Common/DeviceUI.cs
index 7bad709..fa24c33 100755
--- a/ZigbeeApp/Shared/Common/DeviceUI.cs
+++ b/ZigbeeApp/Shared/Common/DeviceUI.cs
@@ -324,9 +324,9 @@
             var room = Room.CurrentRoom.GetRoomByDevice(CommonDevice);
             if (room == null)
             {
-                return null;
+                return Language.StringByID(R.MyInternationalizationString.UnallocatedArea);
             }
-            var floorName = Shared.Common.Config.Instance.Home.GetFloorNameById(room.FloorId);
+            var floorName = Config.Instance.Home.GetFloorNameById(room.FloorId);
             if (floorName == null)
             {
                 return room.Name;
@@ -335,5 +335,109 @@
         }
 
         #endregion
+
+        /// <summary>
+        /// GetDeviceStatu
+        /// </summary>
+        /// <returns></returns>
+        public string GetDeviceStatu()
+        {
+            if (CommonDevice.Type == DeviceType.OnOffOutput)
+            {
+                if ((CommonDevice as ToggleLight).OnOffStatus == 1)
+                {
+                    return Language.StringByID(R.MyInternationalizationString.Open);
+                }
+                return Language.StringByID(R.MyInternationalizationString.Shut);
+            }
+            else if (CommonDevice.Type == DeviceType.AirSwitch)
+            {
+                if ((CommonDevice as ZigBee.Device.AirSwitch).OnOffStatus == 1)
+                {
+                    return Language.StringByID(R.MyInternationalizationString.Open);
+                }
+                return Language.StringByID(R.MyInternationalizationString.Shut);
+            }
+            else if (CommonDevice.Type == DeviceType.DimmableLight)
+            {
+                if ((CommonDevice as DimmableLight).OnOffStatus == 0 || (CommonDevice as DimmableLight).Level == 0)
+                {
+                    return Language.StringByID(R.MyInternationalizationString.Shut);
+                }
+                return $"{(int)((CommonDevice as DimmableLight).Level * 1.0 / 254 * 100)}%";
+            }
+            else if (CommonDevice.Type == DeviceType.WindowCoveringDevice)
+            {
+                if ((CommonDevice as Rollershade).WcdCurrentPositionLiftPercentage == 0)
+                {
+                    return Language.StringByID(R.MyInternationalizationString.Shut);
+                }
+                return $"{(CommonDevice as Rollershade).WcdCurrentPositionLiftPercentage}%";
+            }
+            else if (CommonDevice.Type == DeviceType.Thermostat)
+            {
+                //娓╁害锛屾ā寮忥紝椋庨��
+                string tempareture = string.Empty;
+                string model = string.Empty;
+                string wind = string.Empty;
+
+                var ac = CommonDevice as AC;
+
+                if (ac.currentSystemMode == 0)
+                {
+                    return Language.StringByID(R.MyInternationalizationString.Shut);
+                }
+                else if (ac.currentSystemMode == 1)
+                {
+                    model = Language.StringByID(R.MyInternationalizationString.Mode_Auto);
+                    tempareture = $"{ac.currentCoolingSetpoint} 鈩�";
+                }
+                else if (ac.currentSystemMode == 3)
+                {
+                    model = Language.StringByID(R.MyInternationalizationString.Mode_Cool);
+                    tempareture = $"{ac.currentCoolingSetpoint} 鈩�";
+                }
+                else if (ac.currentSystemMode == 4)
+                {
+                    model = Language.StringByID(R.MyInternationalizationString.Mode_Heat);
+                    tempareture = $"{ac.currentHeatingSetpoint} 鈩�";
+                }
+                else if (ac.currentSystemMode == 7)
+                {
+                    model = Language.StringByID(R.MyInternationalizationString.Mode_FanOnly);
+                }
+                else if (ac.currentSystemMode == 8)
+                {
+                    model = Language.StringByID(R.MyInternationalizationString.Mode_Dry);
+                    tempareture = $"{ac.currentCoolingSetpoint} 鈩�";
+                }
+
+                if (ac.currentFanMode == 1)
+                {
+                    wind = Language.StringByID(R.MyInternationalizationString.Fan_Low);
+                }
+                else if (ac.currentFanMode == 2)
+                {
+                    wind = Language.StringByID(R.MyInternationalizationString.Fan_Middle);
+                }
+                else
+                {
+                    wind = Language.StringByID(R.MyInternationalizationString.Fan_Height);
+                }
+
+                if (string.IsNullOrEmpty(tempareture))
+                {
+                    return $"{model},{wind}";
+                }
+                else
+                {
+                    return $"{model},{wind},{tempareture}";
+                }
+            }
+            else
+            {
+                return null;
+            }
+        }
     }
 }

--
Gitblit v1.8.0