From f71e74b5f0d2716fbf05da016cdaa18d64e09f80 Mon Sep 17 00:00:00 2001
From: xm <1271024303@qq.com>
Date: 星期四, 31 十二月 2020 17:01:18 +0800
Subject: [PATCH] 又换完成最新门锁。空气质量传感器完成数据和基本配置功能。开发图表和自动化的同事可下载此代码

---
 ZigbeeApp/Shared/Phone/MainPage/ControlForm/DeviceAcDetailCardMethord.cs |  482 +++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 482 insertions(+), 0 deletions(-)

diff --git a/ZigbeeApp/Shared/Phone/MainPage/ControlForm/DeviceAcDetailCardMethord.cs b/ZigbeeApp/Shared/Phone/MainPage/ControlForm/DeviceAcDetailCardMethord.cs
new file mode 100755
index 0000000..f421dd9
--- /dev/null
+++ b/ZigbeeApp/Shared/Phone/MainPage/ControlForm/DeviceAcDetailCardMethord.cs
@@ -0,0 +1,482 @@
+锘縰sing System;
+namespace Shared.Phone.MainPage.ControlForm
+{
+    /// <summary>
+    /// 閮洩鍩庣殑绌鸿皟娣卞害鍗$墖鐨勫悇绉嶆柟娉�
+    /// </summary>
+    public class DeviceAcDetailCardMethord
+    {
+        #region 鈼� 鍙橀噺_____________________________
+        /// <summary>
+        /// 鏈�浣庢俯搴� 16
+        /// </summary>
+        public const int Temperature_Low=16;
+        /// <summary>
+        /// 鏈�楂樻俯搴� 32氓
+        /// </summary>
+        public const int Temperature_High = 32;
+        /// <summary>
+        /// 榛樿娓╁害
+        /// </summary>
+        public const int Temperature_Default = 26;
+
+        #endregion
+
+        #region 鈼� 鑾峰彇妯″紡鍚嶇О_______________________
+        /// <summary>
+        /// 閫氳繃妯″紡鑾峰彇妯″紡鍚嶇О
+        /// </summary>
+        /// <returns>The mode name by mode.</returns>
+        /// <param name="acMode">Ac mode.</param>
+        public static string GetModeNameByMode(ZigBee.Device.AC.AcMode acMode)
+        {
+            if (acMode == ZigBee.Device.AC.AcMode.Auto)
+            {
+                return Language.StringByID(R.MyInternationalizationString.Mode_Auto);
+            }
+            else if (acMode == ZigBee.Device.AC.AcMode.Cool)
+            {
+                return Language.StringByID(R.MyInternationalizationString.Mode_Cool);
+            }
+            else if (acMode == ZigBee.Device.AC.AcMode.Heat)
+            {
+                return Language.StringByID(R.MyInternationalizationString.Mode_Heat);
+            }
+            else if (acMode == ZigBee.Device.AC.AcMode.Dry)
+            {
+                return Language.StringByID(R.MyInternationalizationString.Mode_Dry);
+            }
+            else if (acMode == ZigBee.Device.AC.AcMode.FanOnly)
+            {
+                return Language.StringByID(R.MyInternationalizationString.Mode_FanOnly);
+            }
+            return Language.StringByID(R.MyInternationalizationString.Mode_Auto);
+        }
+
+        /// <summary>
+        /// 閫氳繃妯″紡id鑾峰彇妯″紡鍚嶇О
+        /// 
+        /// <para>0:Off </para>
+        /// <para>1:Auto </para>
+        /// <para>3:Cool </para>
+        /// <para>4:Heat </para>
+        /// <para>5:Emergency heating </para>
+        /// <para>6:Precooling</para>
+        /// <para>7:Fan only </para>
+        /// <para>8:Dry </para>
+        /// <para>9:Sleep</para>
+        /// </summary>
+        /// <returns>The mode name by mode.</returns>
+        /// <param name="acMode">Ac mode.</param>
+        public static string GetModeNameByModeId(int acMode)
+        {
+            if (acMode == 1)
+            {
+                return Language.StringByID(R.MyInternationalizationString.Mode_Auto);
+            }
+            else if (acMode == 3)
+            {
+                return Language.StringByID(R.MyInternationalizationString.Mode_Cool);
+            }
+            else if (acMode == 4)
+            {
+                return Language.StringByID(R.MyInternationalizationString.Mode_Heat);
+            }
+            else if (acMode == 8)
+            {
+                return Language.StringByID(R.MyInternationalizationString.Mode_Dry);
+            }
+            else if (acMode == 7)
+            {
+                return Language.StringByID(R.MyInternationalizationString.Mode_FanOnly);
+            }
+            //
+            return Language.StringByID(R.MyInternationalizationString.Mode_Auto);
+        }
+
+        #endregion
+
+        #region 鈼� 鑾峰彇椋庨�熷悕绉癬______________________
+        /// <summary>
+        /// 閫氳繃椋庨�熸ā寮忚幏鍙栭閫熷悕绉�
+        /// </summary>
+        /// <returns>The fan mode name by fan mode.</returns>
+        /// <param name="fanMode">Fan mode.</param>
+        public static string GetFanModeNameByFanMode(ZigBee.Device.AC.FanMode fanMode)
+        {
+            if(fanMode==ZigBee.Device.AC.FanMode.Low)
+            {
+                return Language.StringByID(R.MyInternationalizationString.Fan_Low);
+            }
+            else if(fanMode == ZigBee.Device.AC.FanMode.Medium)
+            {
+                return Language.StringByID(R.MyInternationalizationString.Fan_Middle);
+            }
+            else
+            {
+                return Language.StringByID(R.MyInternationalizationString.Fan_Height);
+            }
+        }
+
+        #endregion
+
+        #region 鈼� 鑾峰彇妯″紡鍥剧墖鍚嶇О_____________________
+        /// <summary>
+        /// 閫氳繃妯″紡id鑾峰彇閫変腑鐨勫浘鐗囪矾寰�
+        /// </summary>
+        /// <returns>The mode selected image path by mode identifier.</returns>
+        /// <param name="acMode">Ac mode.</param>
+        public static string GetModeSelectedImagePathByModeId(int acMode)
+        {
+            if (acMode == 1)
+            {
+                return "AC/Mode_AutoSelected.png";
+            }
+            else if (acMode == 3)
+            {
+                return "AC/Mode_CoolSelected.png";
+            }
+            else if (acMode == 4)
+            {
+                return "AC/Mode_HeatSelected.png";
+            }
+            else if (acMode == 7)
+            {
+                return "AC/Mode_FanSelected.png";
+            }
+            else if (acMode == 8)
+            {
+                return "AC/Mode_DrySelected.png";
+            }
+            return  "AC/Mode_AutoSelected.png";
+        }
+
+        /// <summary>
+        /// 閫氳繃妯″紡id鑾峰彇鍥剧墖璺緞
+        /// </summary>
+        /// <returns>The mode selected image path by mode identifier.</returns>
+        /// <param name="acMode">Ac mode.</param>
+        public static string GetModeUnSelectedImagePathByModeId(int acMode)
+        {
+            if (acMode == 1)
+            {
+                return "AC/Mode_Auto.png";
+            }
+            else if (acMode == 3)
+            {
+                return "AC/Mode_Cool.png";
+            }
+            else if (acMode == 4)
+            {
+                return "AC/Mode_Heat.png";
+            }
+            else if (acMode == 7)
+            {
+                return "AC/Mode_Fan.png";
+            }
+            else if (acMode == 8)
+            {
+                return "AC/Mode_Dry.png";
+            }
+            return "AC/Mode_Auto.png";
+        }
+
+        /// <summary>
+        /// 閫氳繃妯″紡id鑾峰彇閫変腑鐨勫浘鐗囪矾寰�
+        /// </summary>
+        /// <returns>The mode selected image path by mode identifier.</returns>
+        /// <param name="acMode">Ac mode.</param>
+        public static string GetModeSelectedImagePathByMode(ZigBee.Device.AC.AcMode acMode)
+        {
+            if (acMode == ZigBee.Device.AC.AcMode.Auto)
+            {
+                return GetModeSelectedImagePathByModeId(1);
+            }
+            else if (acMode == ZigBee.Device.AC.AcMode.Cool)
+            {
+                return GetModeSelectedImagePathByModeId(3);
+            }
+            else if (acMode == ZigBee.Device.AC.AcMode.Heat)
+            {
+                return GetModeSelectedImagePathByModeId(4);
+            }
+            else if (acMode == ZigBee.Device.AC.AcMode.FanOnly)
+            {
+                return GetModeSelectedImagePathByModeId(7);
+            }
+            else if (acMode == ZigBee.Device.AC.AcMode.Dry)
+            {
+                return GetModeSelectedImagePathByModeId(8);
+            }
+            return GetModeSelectedImagePathByModeId(1);
+        }
+
+        /// <summary>
+        /// 閫氳繃妯″紡id鑾峰彇閫変腑鐨勫浘鐗囪矾寰�
+        /// </summary>
+        /// <returns>The mode selected image path by mode identifier.</returns>
+        /// <param name="acMode">Ac mode.</param>
+        public static string GetModeUnSelectedImagePathByMode(ZigBee.Device.AC.AcMode acMode)
+        {
+            if (acMode == ZigBee.Device.AC.AcMode.Auto)
+            {
+                return GetModeUnSelectedImagePathByModeId(1);
+            }
+            else if (acMode == ZigBee.Device.AC.AcMode.Cool)
+            {
+                return GetModeUnSelectedImagePathByModeId(3);
+            }
+            else if (acMode == ZigBee.Device.AC.AcMode.Heat)
+            {
+                return GetModeUnSelectedImagePathByModeId(4);
+            }
+            else if (acMode == ZigBee.Device.AC.AcMode.FanOnly)
+            {
+                return GetModeUnSelectedImagePathByModeId(7);
+            }
+            else if (acMode == ZigBee.Device.AC.AcMode.Dry)
+            {
+                return GetModeUnSelectedImagePathByModeId(8);
+            }
+            return GetModeUnSelectedImagePathByModeId(1);
+        }
+
+        #endregion
+
+        #region 鈼� 鑾峰彇鎵妯″紡鍥剧墖鍚嶇О_____________________
+        /// <summary>
+        /// 閫氳繃鎵妯″紡鑾峰彇閫変腑鍥剧墖
+        /// </summary>
+        /// <returns>The fan mode selected image path by fan mode identifier.</returns>
+        /// <param name="swingMode">Fan mode.</param>
+        public static string GetFanSwingModeSelectedImagePathByFanSwingModeId(int swingMode)
+        {
+            if (swingMode == 0)
+            {
+                return "AC/Swing_1Selected.png";
+            }
+            else if (swingMode == 1)
+            {
+                return "AC/Swing_2Selected.png";
+            }
+            else if (swingMode == 2)
+            {
+                return "AC/Swing_3Selected.png";
+            }
+            else if (swingMode == 3)
+            {
+                return "AC/Swing_4Selected.png";
+            }
+            else if (swingMode == 4)
+            {
+                return "AC/Swing_5Selected.png";
+            }
+            return "AC/Swing_AutoSelected.png";
+        }
+
+        /// <summary>
+        /// 閫氳繃鎵妯″紡鑾峰彇鍥剧墖
+        /// </summary>
+        /// <returns>The fan mode selected image path by fan mode identifier.</returns>
+        /// <param name="swingMode">Fan mode.</param>
+        public static string GetFanSwingModeUnSelectedImagePathByFanSwingModeId(int swingMode)
+        {
+            if (swingMode == 0)
+            {
+                return "AC/Swing_1.png";
+            }
+            else if (swingMode == 1)
+            {
+                return "AC/Swing_2.png";
+            }
+            else if (swingMode == 2)
+            {
+                return "AC/Swing_3.png";
+            }
+            else if (swingMode == 3)
+            {
+                return "AC/Swing_4.png";
+            }
+            else if (swingMode == 4)
+            {
+                return "AC/Swing_5.png";
+            }
+            return "AC/Swing_Auto.png";
+        }
+
+        /// <summary>
+        /// 閫氳繃鎵妯″紡鑾峰彇閫変腑鍥剧墖
+        /// </summary>
+        /// <returns>The fan mode selected image path by fan mode identifier.</returns>
+        /// <param name="swingMode">Fan mode.</param>
+        public static string GetFanSwingModeSelectedImagePathByFanSwingMode(ZigBee.Device.AC.FanSwingMode swingMode)
+        {
+            return GetFanSwingModeSelectedImagePathByFanSwingModeId((int)swingMode);
+        }
+
+        /// <summary>
+        /// 閫氳繃鎵妯″紡鑾峰彇鍥剧墖
+        /// </summary>
+        /// <returns>The fan mode selected image path by fan mode identifier.</returns>
+        /// <param name="swingMode">Fan mode.</param>
+        public static string GetFanSwingModeUnSelectedImagePathByFanSwingMode(ZigBee.Device.AC.FanSwingMode swingMode)
+        {
+            return GetFanSwingModeUnSelectedImagePathByFanSwingModeId((int)swingMode);
+        }
+
+        #endregion
+
+
+        #region 鈼� 鑾峰彇椋庨�熷浘鐗囧悕绉癬____________________
+
+        /// <summary>
+        /// 閫氳繃椋庨�熸ā寮忚幏鍙栭閫熼�変腑鍥剧墖
+        /// </summary>
+        /// <returns>The fan mode selected image path by fan mode identifier.</returns>
+        /// <param name="fanMode">Fan mode.</param>
+        public static string GetFanModeSelectedImagePathByFanModeId(int fanMode)
+        { 
+            if(fanMode == 1)
+            {
+                return "AC/Fan_LowSelected.png";
+            }
+            else if(fanMode == 2)
+            {
+                return "AC/Fan_MiddleSelected.png";
+            }
+            else if(fanMode == 3)
+            {
+                return "AC/Fan_HeightSelected.png";
+            }
+            return  "AC/Fan_LowSelected.png";
+        }
+
+        /// <summary>
+        /// 閫氳繃椋庨�熸ā寮忚幏鍙栭閫熷浘鐗�
+        /// </summary>
+        /// <returns>The fan mode selected image path by fan mode identifier.</returns>
+        /// <param name="fanMode">Fan mode.</param>
+        public static string GetFanModeUnSelectedImagePathByFanModeId(int fanMode)
+        {
+            if (fanMode == 1)
+            {
+                return "AC/Fan_Low.png";
+            }
+            else if (fanMode == 2)
+            {
+                return "AC/Fan_Middle.png";
+            }
+            else if (fanMode == 3)
+            {
+                return "AC/Fan_Height.png";
+            }
+            return "AC/Fan_Low.png";
+        }
+
+        /// <summary>
+        /// 閫氳繃椋庨�熸ā寮忚幏鍙栭閫熼�変腑鍥剧墖
+        /// </summary>
+        /// <returns>The fan mode selected image path by fan mode identifier.</returns>
+        /// <param name="fanMode">Fan mode.</param>
+        public static string GetFanModeSelectedImagePathByFanMode(ZigBee.Device.AC.FanMode fanMode)
+        {
+            return GetFanModeSelectedImagePathByFanModeId((int)fanMode);
+        }
+
+        /// <summary>
+        /// 閫氳繃椋庨�熸ā寮忚幏鍙栭閫熷浘鐗�
+        /// </summary>
+        /// <returns>The fan mode selected image path by fan mode identifier.</returns>
+        /// <param name="swingMode">Fan mode.</param>
+        public static string GetFanModeUnSelectedImagePathByFanMode(ZigBee.Device.AC.FanMode fanMode)
+        {
+            return GetFanModeUnSelectedImagePathByFanModeId((int)fanMode);
+        }
+
+        #endregion
+
+        #region 鈼� 鑾峰彇妯″紡__________________________
+
+        //public static ZigBee.Device.AC.AcMode GetModeByModeId(int modeId)
+        //{
+        //if(modeId==)
+        //}
+
+        #endregion
+
+        #region 鈼� 鑾峰彇娓╁害__________________________
+
+        public static int GetCurrentModeTemperature(ZigBee.Device.AC ac)
+        {
+
+            if (ac.currentSystemMode == 3 || ac.currentSystemMode == 8)
+            {
+                return ac.currentCoolingSetpoint;
+            }
+            else if (ac.currentSystemMode == 4)
+            {
+                return ac.currentHeatingSetpoint;
+            }
+            else if (ac.currentSystemMode == 1)
+            {
+                return ac.currentAutoSetpoint;
+            }
+            return ac.currentLocalTemperature;
+        }
+
+        #endregion
+
+        #region 鈼� 璁剧疆娓╁害__________________________
+        /// <summary>
+        /// 璁剧疆褰撳墠妯″紡涓嬬殑娓╁害
+        /// </summary>
+        /// <param name="ac">Ac.</param>
+        /// <param name="temperature">Temperature.</param>
+        public static void SetCurrentModeTemperature(ZigBee.Device.AC ac ,int temperature)
+        {
+            if (ac.currentSystemMode == 3)
+            {
+                 ac.currentCoolingSetpoint+=temperature;
+            }
+            else if (ac.currentSystemMode == 4)
+            {
+                 ac.currentHeatingSetpoint+=temperature;
+            }
+        }
+        #endregion
+
+        #region 鈼� 褰撳墠绌鸿皟寮�鍏崇姸鎬乢___________________
+
+        /// <summary>
+        /// 褰撳墠绌鸿皟寮�鍏崇姸鎬�
+        /// </summary>
+        /// <returns><c>true</c>, if open was ised, <c>false</c> otherwise.</returns>
+        /// <param name="ac">Ac.</param>
+        public static bool IsOpen(ZigBee.Device.AC ac)
+        {
+            if (ac.currentSystemMode == 0)
+            {
+                return false;
+            }
+            return true;
+        }
+
+        #endregion
+
+        #region 鈼� 鎻愮ず绌鸿皟宸插叧________________________
+        /// <summary>
+        /// 鎻愮ず绌鸿皟宸插叧
+        /// </summary>
+        public static void ShowACIsCloseTip()
+        {
+            Application.RunOnMainThread(() =>
+            {
+                string msg = Language.StringByID(R.MyInternationalizationString.TheACIsClose);
+                //var tip = new Phone.UserCenter.TipViewControl(msg, 1000, 1);
+                //tip.ShowView();
+            });
+        }
+
+        #endregion
+    }
+}
\ No newline at end of file

--
Gitblit v1.8.0