From e747e6d8524e3146bb48dc304a713f309966b1c6 Mon Sep 17 00:00:00 2001 From: 黄学彪 <hxb@hdlchina.com.cn> Date: 星期二, 19 五月 2020 13:10:03 +0800 Subject: [PATCH] 新版本 --- ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlDeviceAirConditionerLogic.cs | 56 ++++++++++++++++++++++++++++++++++++-------------------- 1 files changed, 36 insertions(+), 20 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlDeviceAirConditionerLogic.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlDeviceAirConditionerLogic.cs index c221ffc..8ff084f 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlDeviceAirConditionerLogic.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlDeviceAirConditionerLogic.cs @@ -114,22 +114,29 @@ #region 鈻� 璁剧疆绌鸿皟鐨勮嚜瀹氫箟妯″紡_______________ /// <summary> - /// 璁剧疆绌鸿皟鐨勮嚜瀹氫箟妯″紡 + /// 璁剧疆绌鸿皟鐨勮嚜瀹氫箟妯″紡 鈽嗏槅鈽嗏槅鈽� /// </summary> /// <param name="device">绌鸿皟瀵硅薄</param> /// <param name="data">浠庝簩杩涘埗杞崲鐨勫崄杩涘埗鍊�</param> /// <returns></returns> - public async Task<bool> SetAcModeSupport(AC device, int data) + public bool SetAcModeSupport(AC device, int data) { - var result = await HdlDeviceAttributeLogic.Current.WriteDeviceAttribute(device, 513, 4099, 25, data); - //妫�娴嬬綉鍏宠繑鍥炵殑鍏遍�氶敊璇姸鎬佺爜 - string error = HdlCheckLogic.Current.CheckCommonErrorCode(result); - if (error != null) + //濡傛灉鏄櫄鎷熶綇瀹� + if (Common.Config.Instance.Home.IsVirtually == true) { - this.ShowTipMsg(error); + //鐩存帴娣诲姞缂撳瓨 + ModelData.DeviceModelDataLogic.Current.SetAcModeSupport(device, data, "SetWritableValue"); + return true; + } + //鍙戦�佹暟鎹� + string sendData = HdlDeviceAttributeLogic.Current.GetWriteDeviceAttributeText(device.DeviceAddr, device.DeviceEpoint, 513, 4099, 25, data); + var result = HdlDeviceCommonLogic.Current.SendJobjectDataToGateway(device, "SetWritableValue", sendData, "SetWritableValue_Respon"); + if (result.ErrorMsg != null) + { + this.ShowTipMsg(result.ErrorMsg); return false; } - if (result == null || result.setWritableValueResponData == null) + if (result.ErrorMsgDiv == 0) { //璁剧疆绌鸿皟妯″紡澶辫触 string msg = Language.StringByID(R.MyInternationalizationString.uSetAcModeFail); @@ -138,14 +145,15 @@ this.ShowTipMsg(msg); ; return false; } - if (result.setWritableValueResponData.Status != 0) + + var responeData = Newtonsoft.Json.JsonConvert.DeserializeObject<CommonDevice.SetWritableValueResponData>(result.ReceiptData); + if (responeData.Status != 0) { //璁剧疆绌鸿皟妯″紡澶辫触 string msg = Language.StringByID(R.MyInternationalizationString.uSetAcModeFail); this.ShowTipMsg(msg); return false; } - await HdlGatewayLogic.Current.UpLoadDeviceBackupDataToGateway(device, GatewayBackupEnum.A绌鸿皟鑷畾涔夋ā寮�, data); return true; } @@ -155,22 +163,29 @@ #region 鈻� 璁剧疆鍚敤绌鸿皟鐨勬憜椋庡姛鑳絖____________ /// <summary> - /// 璁剧疆鍚敤绌鸿皟鐨勬憜椋庡姛鑳� + /// 璁剧疆鍚敤绌鸿皟鐨勬憜椋庡姛鑳� 鈽嗏槅鈽嗏槅鈽� /// </summary> /// <param name="device">绌鸿皟瀵硅薄</param> /// <param name="data">浠庝簩杩涘埗杞崲鐨勫崄杩涘埗鍊�</param> /// <returns></returns> - public async Task<bool> SetUseAcSwingFunctionStatu(AC device, int data) + public bool SetUseAcSwingFunctionStatu(AC device, int data) { - var result = await HdlDeviceAttributeLogic.Current.WriteDeviceAttribute(device, 514, 4097, 25, data); - //妫�娴嬬綉鍏宠繑鍥炵殑鍏遍�氶敊璇姸鎬佺爜 - string error = HdlCheckLogic.Current.CheckCommonErrorCode(result); - if (error != null) + //濡傛灉鏄櫄鎷熶綇瀹� + if (Common.Config.Instance.Home.IsVirtually == true) { - this.ShowTipMsg(error); + //鐩存帴娣诲姞缂撳瓨 + ModelData.DeviceModelDataLogic.Current.SetAcSwingModeSupport(device, data, "SetWritableValue"); + return true; + } + //鍙戦�佹暟鎹� + string sendData = HdlDeviceAttributeLogic.Current.GetWriteDeviceAttributeText(device.DeviceAddr, device.DeviceEpoint, 514, 4097, 25, data); + var result = HdlDeviceCommonLogic.Current.SendJobjectDataToGateway(device, "SetWritableValue", sendData, "SetWritableValue_Respon"); + if (result.ErrorMsg != null) + { + this.ShowTipMsg(result.ErrorMsg); return false; } - if (result == null || result.setWritableValueResponData == null) + if (result.ErrorMsgDiv == 0) { //璁剧疆绌鸿皟鎽嗛澶辫触 string msg = Language.StringByID(R.MyInternationalizationString.uSetAirConditionerSwingFunctionFail); @@ -179,14 +194,15 @@ this.ShowTipMsg(msg); return false; } - if (result.setWritableValueResponData.Status != 0) + + var responeData = Newtonsoft.Json.JsonConvert.DeserializeObject<CommonDevice.SetWritableValueResponData>(result.ReceiptData); + if (responeData.Status != 0) { //璁剧疆绌鸿皟鎽嗛澶辫触 string msg = Language.StringByID(R.MyInternationalizationString.uSetAirConditionerSwingFunctionFail); this.ShowTipMsg(msg); return false; } - await HdlGatewayLogic.Current.UpLoadDeviceBackupDataToGateway(device, GatewayBackupEnum.A绌鸿皟鎽嗛鍔熻兘, data); return true; } -- Gitblit v1.8.0