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