From e22fdb94322e6cec38e5e4a9aec13d431a133fde Mon Sep 17 00:00:00 2001
From: 黄学彪 <hxb@hdlchina.com.cn>
Date: 星期二, 28 四月 2020 16:32:35 +0800
Subject: [PATCH] 上传合并后的代码

---
 ZigbeeApp/Shared/Phone/ZigBee/Device/FreshAir.cs |  171 ++++++++++++++++++++++++++++++++++++++------------------
 1 files changed, 116 insertions(+), 55 deletions(-)

diff --git a/ZigbeeApp/Shared/Phone/ZigBee/Device/FreshAir.cs b/ZigbeeApp/Shared/Phone/ZigBee/Device/FreshAir.cs
index 4a9954a..cc6989d 100755
--- a/ZigbeeApp/Shared/Phone/ZigBee/Device/FreshAir.cs
+++ b/ZigbeeApp/Shared/Phone/ZigBee/Device/FreshAir.cs
@@ -15,24 +15,85 @@
         }
 
         /// <summary>
-        /// 鎭掓俯璁惧褰撳墠妯″紡
-        /// <para>鎭掓俯璁惧鍏峰鍔熻兘锛孲ystemMode Attribute Values濡備笅</para>
-        /// <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>
+        /// 椋庨�熸ā寮� 
+        /// <para>5:鑷姩</para>
+        /// <para>6:Smart</para>
+        /// <para>7:鎵嬪姩</para> 
         /// </summary>
-        public int currentSystemMode = 0;
+        public int currentFanMode = 0;
+        /// <summary>
+        /// 椋庨�熸。浣� 
+        /// <para>1:浣庨</para>
+        /// <para>2:涓</para>
+        /// <para>3:楂橀 </para> 
+        /// </summary>
+        public int currentFanSpeed = 0;
+        /// <summary>
+        /// 椋庢墖鐘舵��
+        /// <para>0:鍏抽棴 </para> 
+        /// <para>4:鎵撳紑 </para> 
+        /// </summary>
+        public int currentFanStatus = 0;
+
+        /// <summary>
+        /// 鍏抽棴
+        /// </summary>
+        /// <returns>The close.</returns>
+        public async System.Threading.Tasks.Task<SetWritableValueResponAllData> Close()
+        {
+            return await SetFanModeAsync(FanMode.Off);
+        }
+
+        /// <summary>
+        /// 寮�鍚�
+        /// </summary>
+        /// <returns>The open.</returns>
+        public async System.Threading.Tasks.Task<SetWritableValueResponAllData> Open()
+        {
+            return await SetFanModeAsync(FanMode.On);
+        }
+
+        /// <summary>
+        /// 楂橀
+        /// </summary>
+        /// <returns>The close.</returns>
+        public async System.Threading.Tasks.Task<SetWritableValueResponAllData> SetHighSpeed()
+        {
+            return await SetFanModeAsync(FanMode.High);
+        }
+
+        /// <summary>
+        /// 浣庨
+        /// </summary>
+        /// <returns>The open.</returns>
+        public async System.Threading.Tasks.Task<SetWritableValueResponAllData> SetLowSpeed()
+        {
+            return await SetFanModeAsync(FanMode.Low);
+        }
+
+
+        /// <summary>
+        /// 鎵嬪姩
+        /// </summary>
+        /// <returns>The close.</returns>
+        public async System.Threading.Tasks.Task<SetWritableValueResponAllData> SetManual()
+        {
+            return await SetFanModeAsync(FanMode.Manual);
+        }
+
+        /// <summary>
+        /// 鑷姩
+        /// </summary>
+        /// <returns>The open.</returns>
+        public async System.Threading.Tasks.Task<SetWritableValueResponAllData> SetAuto()
+        {
+            return await SetFanModeAsync(FanMode.Auto);
+        }
 
         ///<summary >
-        ///璁剧疆鎭掓俯鍣ㄨ澶囧綋鍓嶅伐浣滄ā寮�.
+        ///璁剧疆鎭掓俯鍣ㄨ澶囧綋鍓嶉閫�.
         /// </summary>
-        public async System.Threading.Tasks.Task<SetWritableValueResponAllData> SetSystemModeAsync(AcMode acMode)
+        public async System.Threading.Tasks.Task<SetWritableValueResponAllData> SetFanModeAsync(FanMode fanMode)
         {
             if (Gateway == null)
             {
@@ -81,8 +142,8 @@
                 DebugPrintLog("SetWritableValue_Actions 鍚姩" + "_" + System.DateTime.Now.ToString());
                 try
                 {
-                    var jObject = new JObject { { "DeviceAddr", DeviceAddr }, { "Epoint", DeviceEpoint }, { "Cluster_ID", 513 }, { "Command", 120 } };
-                    var data = new JObject { { "Undivided", 0 }, { "AttributeId", 28 }, { "AttributeDataType", 48 }, { "AttributeData", (int)acMode } };
+                    var jObject = new JObject { { "DeviceAddr", DeviceAddr }, { "Epoint", DeviceEpoint }, { "Cluster_ID", 514 }, { "Command", 120 } };
+                    var data = new JObject { { "Undivided", 0 }, { "AttributeId", 0 }, { "AttributeDataType", 48 }, { "AttributeData", (int)fanMode } };
                     jObject.Add("Data", data);
                     Gateway.Send("SetWritableValue", jObject.ToString());
                 }
@@ -107,63 +168,63 @@
             });
         }
 
-        public enum AcMode
+
+        #region 鈼� 褰撳墠鏂伴寮�鍏崇姸鎬乢___________________
+
+        /// <summary>
+        /// 褰撳墠鏂伴寮�鍏崇姸鎬�
+        /// </summary>
+        /// <param name="freshAir"></param>
+        /// <returns></returns>
+        public bool IsOpen(FreshAir freshAir)
+        {
+            if (freshAir.currentFanStatus == 4)
+            {
+                return true;
+            }
+            return false;
+        }
+
+        #endregion
+
+
+        /// <summary>
+        /// 椋庨�熸。浣�
+        /// </summary>
+        public enum FanMode
         {
             /// <summary>
-            /// 鍏抽棴妯″紡锛堟祴璇曟亽娓╅潰鏉挎椂鍙戠幇锛�2锛�5锛�6锛�7锛�8锛�9閮芥槸鍙互鎵撳紑鐨勶級
+            /// 鍏抽棴
             /// </summary>
             Off = 0,
             /// <summary>
-            /// 鑷姩妯″紡
+            /// 浣庨
             /// </summary>
-            Auto = 1,
+            Low = 1,
             /// <summary>
-            /// 鍒跺喎妯″紡
+            /// 涓
             /// </summary>
-            Cool = 3,
+            Medium = 2,
             /// <summary>
-            /// 鍒剁儹妯″紡
+            /// 楂橀
             /// </summary>
-            Heat = 4,
+            High = 3,
             /// <summary>
-            /// 绱ф�ュ埗鐑ā寮�
+            /// 鎵撳紑
             /// </summary>
-            EmergencyHeating = 5,
+            On = 4,
             /// <summary>
-            /// 棰勫喎妯″紡
+            /// 鑷姩
             /// </summary>
-            Precooling = 6,
+            Auto = 5,
             /// <summary>
-            /// 鍙湁椋庨�熸ā寮�
+            /// Smart
             /// </summary>
-            FanOnly = 7,
+            Smart = 6,
             /// <summary>
-            /// 骞茬嚗妯″紡
+            /// 鎵嬪姩
             /// </summary>
-            Dry = 8,
-            /// <summary>
-            /// 鐫$湢妯″紡
-            /// </summary>
-            Sleep = 9
-        }
-
-        /// <summary>
-        /// 鍏抽棴
-        /// </summary>
-        /// <returns>The close.</returns>
-        public async System.Threading.Tasks.Task<SetWritableValueResponAllData> Close()
-        {
-            return await SetSystemModeAsync(AcMode.Off);
+            Manual = 7,
         }
-
-        /// <summary>
-        /// 寮�鍚�
-        /// </summary>
-        /// <returns>The open.</returns>
-        /// <param name="acMode">Ac mode.</param>
-        public async System.Threading.Tasks.Task<SetWritableValueResponAllData> Open(AcMode acMode = AcMode.Cool)
-        {
-            return await SetSystemModeAsync(acMode);
-        }
     }
 }

--
Gitblit v1.8.0