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