From 4f0ab0ad21ce450b7856d50f98322a7899361386 Mon Sep 17 00:00:00 2001
From: 黄学彪 <hxb@hdlchina.com.cn>
Date: 星期二, 22 九月 2020 10:30:01 +0800
Subject: [PATCH] 不要下载这个备份
---
ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlDevicePanelLogic.cs | 113 ++++++++++++++++++++++++++++++++++++++++++--------------
1 files changed, 84 insertions(+), 29 deletions(-)
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlDevicePanelLogic.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlDevicePanelLogic.cs
index e662761..468e4bc 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlDevicePanelLogic.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlDevicePanelLogic.cs
@@ -118,7 +118,8 @@
//濡傛灉褰撳墠鏄櫄鎷熶綇瀹�
if (Common.Config.Instance.Home.IsVirtually == true)
{
- return ModelData.DeviceModelDataLogic.Current.GetPanelColorInfo(device, keyNum);
+ //杩欓噷鐗规畩,杩欓噷鏄寜鍥炶矾鍒嗙殑
+ return TemplateData.TemplateDeviceDataLogic.Current.GetPanelColorInfo(device.DeviceAddr, device.DeviceEpoint, keyNum);
}
//鍙戦�佹暟鎹� keyNum杞负16杩涘埗 鑼冨洿锛�01~10
var passData = "0504040101" + Convert.ToString((int)keyNum, 16).ToUpper().PadLeft(2, '0');
@@ -215,7 +216,8 @@
//濡傛灉褰撳墠鏄櫄鎷熶綇瀹�
if (Common.Config.Instance.Home.IsVirtually == true)
{
- return ModelData.DeviceModelDataLogic.Current.SetPanelColorInfo(device, keyColorData, keyNumStatus, "ZbDataPassthrough");
+ //杩欎釜涔熸槸鐗规畩,鎸夊洖璺潵鍒�
+ return TemplateData.TemplateDeviceDataLogic.Current.SetPanelColorInfo(device.DeviceAddr, device.DeviceEpoint, keyColorData, keyNumStatus, null);
}
//鑾峰彇閰嶇疆鎸夐敭鎸囩ず鐏鑹茬殑鍛戒护瀛楃
var sendData = this.GetPanelColorCommandText(device.DeviceAddr, keyColorData, keyNumStatus);
@@ -228,6 +230,10 @@
var tempD = new CommonDevice.ResponseData();
tempD.command = data[12].ToString() + data[13].ToString() + data[10].ToString() + data[11].ToString();
tempD.status = Convert.ToInt32(data[14].ToString() + data[15].ToString(), 16);
+
+ //娣诲姞缂撳瓨
+ TemplateData.TemplateDeviceDataLogic.Current.SetPanelColorInfo(device.DeviceAddr, device.DeviceEpoint, keyColorData, keyNumStatus, result.JsonData[0]);
+
return new CommonDevice.ResponseAllData { responseData = tempD };
}
@@ -386,7 +392,7 @@
//濡傛灉褰撳墠鏄櫄鎷熶綇瀹�
if (Common.Config.Instance.Home.IsVirtually == true)
{
- return ModelData.DeviceModelDataLogic.Current.GetDeviceLightSettion(device);
+ return TemplateData.TemplateDeviceDataLogic.Current.GetDeviceLightSettion(device.DeviceAddr, 200);
}
//鑾峰彇鍙戦�佺殑鍛戒护瀛楃
var passData = "050604010101";
@@ -422,7 +428,7 @@
//濡傛灉褰撳墠鏄櫄鎷熶綇瀹�
if (Common.Config.Instance.Home.IsVirtually == true)
{
- return ModelData.DeviceModelDataLogic.Current.SetDeviceLightSettion(device, directionsLevel, backlightLevel, "ZbDataPassthrough");
+ return TemplateData.TemplateDeviceDataLogic.Current.SetDeviceLightSettion(device.DeviceAddr, 200, directionsLevel, backlightLevel, null);
}
//鑾峰彇淇敼闈㈡澘鐨勪寒搴﹁皟鑺傜殑鍛戒护瀛楃
var sendData = this.GetPanelLevelCommadText(device.DeviceAddr, directionsLevel, backlightLevel);
@@ -456,7 +462,7 @@
}
//淇敼缂撳瓨
- ModelData.DeviceModelDataLogic.Current.SetDeviceLightSettion(device, directionsLevel, backlightLevel, "ZbDataPassthrough");
+ TemplateData.TemplateDeviceDataLogic.Current.SetDeviceLightSettion(device.DeviceAddr, 200, directionsLevel, backlightLevel, result.JsonData[0]);
return true;
}
@@ -600,6 +606,48 @@
}
#endregion
+ #region 鈻� 鏍℃娓╁害___________________________
+ /// <summary>
+ /// 鏍℃娓╁害
+ /// </summary>
+ /// <param name="device">璁惧瀵硅薄</param>
+ /// <param name="correctValue">鏍℃娓╁害鍊�</param>
+ /// <param name="direction">琛ュ伩鏂瑰悜0涓嶈ˉ鍋� 1锛氭鍚戯紱2锛氬弽鍚�</param>
+ /// <param name="type">0 娓╁害 锛�1 婀垮害</param>
+ /// <returns></returns>
+ public async Task<bool> CorrectTemperature(CommonDevice device, double correctValue, int direction = 0, int type = 0)
+ {
+ //鍊熺敤瀹冪殑鍑絫
+ var panel = new Panel();
+ panel.DeviceAddr = device.DeviceAddr;
+ panel.DeviceEpoint = 200;
+ panel.CurrentGateWayId = device.CurrentGateWayId;
+
+ var result = await panel.CorrectTemperature(correctValue, direction, type);
+ panel = null;
+
+ //鍏遍�氶敊璇娴�
+ string error = HdlCheckLogic.Current.CheckCommonErrorCode(result);
+ if (error != null)
+ {
+ this.ShowErrorMsg(error);
+ return false;
+ }
+
+ if (result == null || result.responseData == null)
+ {
+ //鐭娓╁害澶辫触
+ string msg = Language.StringByID(R.MyInternationalizationString.DataCorrectionFailed);
+ //鎷兼帴涓娿�愮綉鍏冲洖澶嶈秴鏃躲�戠殑Msg
+ msg = UserCenterLogic.CombineGatewayTimeOutMsg(msg, result);
+
+ this.ShowTipMsg(msg);
+ return false;
+ }
+ return true;
+ }
+ #endregion
+
#region 鈻� 鑺傝兘妯″紡___________________________
/// <summary>
/// 鑾峰彇璁惧鑺傝兘妯″紡鐨勯厤缃姸鎬�(ui鍙妭鑳芥ā寮�)
@@ -611,14 +659,15 @@
//濡傛灉褰撳墠浣忓畢鏄櫄鎷熶綇瀹�
if (Common.Config.Instance.Home.IsVirtually == true)
{
- return ModelData.DeviceModelDataLogic.Current.GetDeviceEnergyConservationMode(device);
+ return TemplateData.TemplateDeviceDataLogic.Current.GetDeviceEnergyConservationMode(device.DeviceAddr, 200);
}
//鍙戦�佸懡浠�
string passData = "050804010101";
var jObject = new JObject { { "DeviceAddr", device.DeviceAddr }, { "Epoint", 200 }, { "Cluster_ID", 64513 }, { "Command", 0 } };
var data = new JObject { { "PassData", passData } };
jObject.Add("Data", data);
- var result = HdlDeviceCommonLogic.Current.SendJobjectDataToGateway2(device, jObject.ToString(), "0409", 18, 9);
+ //16:鏃х増鏈� 18:鏂扮増鏈�
+ var result = HdlDeviceCommonLogic.Current.SendJobjectDataToGateway2(device, jObject.ToString(), "0409", 16, 9, new List<int> { 18 });
if (result.ErrorMsg != null)
{
this.ShowTipMsg(result.ErrorMsg);
@@ -645,8 +694,21 @@
{
energyInfo.enable = false;
}
- energyInfo.time = Convert.ToInt32(result.ReceiptData[14].ToString() + result.ReceiptData[15].ToString() + result.ReceiptData[12].ToString() + result.ReceiptData[13].ToString(), 16);
- energyInfo.level = Convert.ToInt32(result.ReceiptData[16].ToString() + result.ReceiptData[17].ToString(), 16);
+
+ //鏂扮増鏈�:07 0904 11 04 01 3C00 32
+ if (result.ReceiptData.Length == 18)
+ {
+ energyInfo.time = Convert.ToInt32(result.ReceiptData[14].ToString() + result.ReceiptData[15].ToString() +
+ result.ReceiptData[12].ToString() + result.ReceiptData[13].ToString(), 16);
+
+ energyInfo.level = Convert.ToInt32(result.ReceiptData[16].ToString() + result.ReceiptData[17].ToString(), 16);
+ }
+ //鏃х増鏈�:07 0904 11 03 01 3C 32
+ else
+ {
+ energyInfo.time = Convert.ToInt32(result.ReceiptData[12].ToString() + result.ReceiptData[13].ToString(), 16);
+ energyInfo.level = Convert.ToInt32(result.ReceiptData[14].ToString() + result.ReceiptData[15].ToString(), 16);
+ }
return energyInfo;
}
@@ -663,7 +725,7 @@
//濡傛灉褰撳墠鏄櫄鎷熶綇瀹�
if (Common.Config.Instance.Home.IsVirtually == true)
{
- return ModelData.DeviceModelDataLogic.Current.SetDeviceEnergyConservationMode(device, modeEnable, modeTime, level, "ZbDataPassthrough");
+ return TemplateData.TemplateDeviceDataLogic.Current.SetDeviceEnergyConservationMode(device.DeviceAddr, 200, modeEnable, modeTime, level, null);
}
//鑾峰彇璁剧疆璁惧鐨勮妭鑳芥ā寮忕殑鍛戒护瀛楃
var sendData = this.GetDeviceEnergyConservationModeCommandText(device.DeviceAddr, modeEnable, modeTime, level);
@@ -693,7 +755,7 @@
}
//淇敼缂撳瓨
- ModelData.DeviceModelDataLogic.Current.SetDeviceEnergyConservationMode(device, modeEnable, modeTime, level, "ZbDataPassthrough");
+ TemplateData.TemplateDeviceDataLogic.Current.SetDeviceEnergyConservationMode(device.DeviceAddr, 200, modeEnable, modeTime, level, result.JsonData[0]);
return true;
}
@@ -796,16 +858,9 @@
/// </summary>
/// <param name="panel">骞叉帴鐐瑰璞�</param>
/// <returns></returns>
- public async Task<List<CommonDevice.AttributeDataObj>> GetDryContactConfigureInfo(CommonDevice device)
+ public List<CommonDevice.AttributeDataObj> GetDryContactConfigureInfo(CommonDevice device)
{
- //鍊熺敤瀹冪殑鍑芥暟
- var panel = new Panel();
- panel.DeviceAddr = device.DeviceAddr;
- panel.DeviceEpoint = device.DeviceEpoint;
- panel.CurrentGateWayId = device.CurrentGateWayId;
-
- var result = HdlDeviceBindLogic.Current.ReadPanelConfigureInfoAsync(panel);
- panel = null;
+ var result = HdlDeviceBindLogic.Current.ReadPanelConfigureInfoAsync(device);
//鍏遍�氶敊璇娴�
string error = HdlCheckLogic.Current.CheckCommonErrorCode(result);
@@ -1041,7 +1096,7 @@
//濡傛灉鏄櫄鎷熶綇瀹�
if (Common.Config.Instance.Home.IsVirtually == true)
{
- return ModelData.DeviceModelDataLogic.Current.GetPanelVibrationInfo(device);
+ return TemplateData.TemplateDeviceDataLogic.Current.GetPanelVibrationInfo(device.DeviceAddr, 200);
}
//鍙戦�佹暟鎹�
var jObject = new Newtonsoft.Json.Linq.JObject { { "DeviceAddr", device.DeviceAddr }, { "Epoint", 200 }, { "Cluster_ID", 64513 }, { "Command", 0 } };
@@ -1076,7 +1131,7 @@
//濡傛灉鏄櫄鎷熶綇瀹�
if (Common.Config.Instance.Home.IsVirtually == true)
{
- return ModelData.DeviceModelDataLogic.Current.SetPanelVibrationInfo(device, datainfo, "ClientDataPassthrough");
+ return TemplateData.TemplateDeviceDataLogic.Current.SetPanelVibrationInfo(device.DeviceAddr, 200, datainfo, null);
}
//鑾峰彇缂栬緫闈㈡澘闇囧姩鍔熻兘鐨勫懡浠ゅ瓧绗�
var sendData = this.GetPanelVibrationCommandText(device.DeviceAddr, datainfo);
@@ -1089,6 +1144,9 @@
this.ShowTipMsg(errorMsg);
return false;
}
+ //娣诲姞缂撳瓨
+ TemplateData.TemplateDeviceDataLogic.Current.SetPanelVibrationInfo(device.DeviceAddr, 200, datainfo, result.JsonData[0]);
+
return true;
}
@@ -1242,10 +1300,7 @@
/// </summary>
private void SaveDryContactFunctionToLocaltion()
{
- var file = Newtonsoft.Json.JsonConvert.SerializeObject(dicDryContactFunction);
-
- var bytes = System.Text.Encoding.UTF8.GetBytes(file);
- Common.Global.WriteFileByBytesByHomeId(DirNameResourse.DryContactFunctionFile, bytes);
+ HdlFileLogic.Current.SaveFileContent(DirNameResourse.DryContactFunctionFile, dicDryContactFunction);
}
/// <summary>
@@ -1253,12 +1308,12 @@
/// </summary>
private void LoadDryContactFunctionFromLocaltion()
{
- if (Common.Global.IsExistsByHomeId(DirNameResourse.DryContactFunctionFile) == false)
+ this.dicDryContactFunction = new Dictionary<string, DryContactFunctionInfo>();
+ byte[] filebyte = HdlFileLogic.Current.ReadFileByteContent(DirNameResourse.DryContactFunctionFile);
+ if (filebyte == null)
{
return;
}
-
- byte[] filebyte = Common.Global.ReadFileByHomeId(DirNameResourse.DryContactFunctionFile);
string strvalue = System.Text.Encoding.UTF8.GetString(filebyte);
this.dicDryContactFunction = Newtonsoft.Json.JsonConvert.DeserializeObject<Dictionary<string, DryContactFunctionInfo>>(strvalue);
}
--
Gitblit v1.8.0