From f14dcfd967404e197e7ec995ca8d6f2b090d3b7d Mon Sep 17 00:00:00 2001 From: xm <1271024303@qq.com> Date: 星期五, 11 九月 2020 09:16:59 +0800 Subject: [PATCH] 优化多功能面板:绑定温湿度传感器目标,和设备列表回路显示。优化数据矫正功能温湿度度不设置的情况。优化门锁时间设置最后一天和最后最后一个月的时间显示等 细节 --- ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlDeviceBindLogic.cs | 68 ++++++++++++++++++++++++++++----- 1 files changed, 57 insertions(+), 11 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlDeviceBindLogic.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlDeviceBindLogic.cs index 24b9780..3fade11 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlDeviceBindLogic.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlDeviceBindLogic.cs @@ -76,7 +76,7 @@ //濡傛灉褰撳墠浣忓畢鏄櫄鎷熶綇瀹� if (Common.Config.Instance.Home.IsVirtually == true) { - var listBind = ModelData.DeviceModelDataLogic.Current.GetDeviceBindList(device, "Bind/GetDeviceBind"); + var listBind = TemplateData.TemplateDeviceDataLogic.Current.GetDeviceBindList(device); return new BindObj.GetDeviceBindResponseAllData() { getAllBindResponseData = new BindObj.GetDeviceBindResponseData @@ -177,7 +177,7 @@ //濡傛灉褰撳墠浣忓畢鏄櫄鎷熶綇瀹� if (Common.Config.Instance.Home.IsVirtually == true) { - return ModelData.DeviceModelDataLogic.Current.AddDeviceBindList(addBindData, "Bind/GetDeviceBind"); + return TemplateData.TemplateDeviceDataLogic.Current.AddDeviceBindList(addBindData, null); } var device = Common.LocalDevice.Current.GetDevice(addBindData.DeviceAddr, addBindData.Epoint); @@ -191,8 +191,7 @@ } //淇敼缂撳瓨 - ModelData.DeviceModelDataLogic.Current.AddDeviceBindList(addBindData, "Bind/GetDeviceBind"); - + TemplateData.TemplateDeviceDataLogic.Current.AddDeviceBindList(addBindData, result.JsonData[0]); var tempData = Newtonsoft.Json.JsonConvert.DeserializeObject<BindObj.AddedDeviceBindResponseData>(result.ReceiptData); return new BindObj.AddedDeviceBindResponseAllData() { addedDeviceBindResponseData = tempData }; } @@ -225,6 +224,53 @@ jObject.Add("Data", data); return jObject.ToString(); } + + /// <summary> + ///璁惧缁戝畾銆愪竴瀵逛竴 缁戝畾锛屼竴涓寜閿洖璺彧鑳界粦瀹氫竴涓澶囥�� + /// </summary> + public BindObj.AddedDeviceSingleBindResponseAllData AddDeviceSingleBindAsync(BindObj.AddSingleBindData addSingleBindData) + { + var device = Common.LocalDevice.Current.GetDevice(addSingleBindData.DeviceAddr, addSingleBindData.Epoint); + //鑾峰彇鍙戦�佺殑鍛戒护瀛楃 + var sendData = this.GetAddDeviceListSingleBindCommandText(addSingleBindData); + //鍙戦�� + var result = HdlDeviceCommonLogic.Current.SendJobjectDataToGateway(device, "Bind/SetSingleBind", sendData, "Bind/SetSingleBind_Respon", 20); + if (result.ErrorMsg != null || result.ErrorMsgDiv == 0) + { + return null; + } + + var tempData = Newtonsoft.Json.JsonConvert.DeserializeObject<BindObj.AddedDeviceSingleBindResponseData>(result.ReceiptData); + return new BindObj.AddedDeviceSingleBindResponseAllData() { addedDeviceSingleBindResponseData = tempData }; + } + + /// <summary> + /// 鑾峰彇娣诲姞璁惧缁戝畾鐨勫懡浠ゅ瓧绗� + /// </summary> + /// <param name="addBindData"></param> + /// <returns></returns> + public string GetAddDeviceListSingleBindCommandText(BindObj.AddSingleBindData addSingleBindData) + { + var jObject = new JObject { { "DeviceAddr", addSingleBindData.DeviceAddr }, { "Epoint", addSingleBindData.Epoint }, { "Cluster_ID", 0 }, { "Command", 5020 } }; + var data = new JObject { }; + var bindClusterList = new JArray { }; + foreach (var cluster in addSingleBindData.BindClusterList) + { + bindClusterList.Add(cluster); + } + if (addSingleBindData.BindType == 0) + { + data = new JObject { { "BindName", addSingleBindData.BindName }, { "BindType", addSingleBindData.BindType }, { "BindClusterList", bindClusterList }, { "BindMacAddr", addSingleBindData.BindMacAddr }, { "BindEpoint", addSingleBindData.BindEpoint } }; + } + else if (addSingleBindData.BindType == 1) + { + data = new JObject { { "BindName", addSingleBindData.BindName }, { "BindType", addSingleBindData.BindType }, { "BindClusterList", bindClusterList }, { "BindScenesId", addSingleBindData.BindScenesId } }; + + } + jObject.Add("Data", data); + return jObject.ToString(); + } + #endregion @@ -420,7 +466,7 @@ //濡傛灉褰撳墠浣忓畢鏄櫄鎷熶綇瀹� if (Common.Config.Instance.Home.IsVirtually == true) { - return ModelData.DeviceModelDataLogic.Current.DeleteDeviceBindList(delDeviceBindData); + return TemplateData.TemplateDeviceDataLogic.Current.DeleteDeviceBindList(delDeviceBindData); } var device = Common.LocalDevice.Current.GetDevice(delDeviceBindData.DeviceAddr, delDeviceBindData.Epoint); //鑾峰彇闇�瑕佸彂閫佺殑鏁版嵁 @@ -447,7 +493,7 @@ } //淇敼缂撳瓨 - ModelData.DeviceModelDataLogic.Current.DeleteDeviceBindList(delDeviceBindData); + TemplateData.TemplateDeviceDataLogic.Current.DeleteDeviceBindList(delDeviceBindData); return responseData; } @@ -460,7 +506,7 @@ //濡傛灉褰撳墠浣忓畢鏄櫄鎷熶綇瀹� if (Common.Config.Instance.Home.IsVirtually == true) { - return ModelData.DeviceModelDataLogic.Current.ClearDeviceAllBind(device); + return TemplateData.TemplateDeviceDataLogic.Current.ClearDeviceAllBind(device); } var jObject = new JObject { { "DeviceAddr", device.DeviceAddr }, { "Epoint", device.DeviceEpoint }, { "Cluster_ID", 0 }, { "Command", 5006 } }; @@ -472,7 +518,7 @@ } //淇敼缂撳瓨 - ModelData.DeviceModelDataLogic.Current.ClearDeviceAllBind(device); + TemplateData.TemplateDeviceDataLogic.Current.ClearDeviceAllBind(device); var tempData = Newtonsoft.Json.JsonConvert.DeserializeObject<BindObj.ClearBindInfoResponseData>(result.ReceiptData); return new BindObj.ClearBindInfoResponseAllData { clearBindInfoResponseData = tempData }; @@ -660,7 +706,7 @@ //濡傛灉褰撳墠浣忓畢鏄櫄鎷熶綇瀹� if (Common.Config.Instance.Home.IsVirtually == true) { - return ModelData.DeviceModelDataLogic.Current.ConfigurePanelKeyModel(device, value, clusterID, "SetWritableValue"); + return TemplateData.TemplateDeviceDataLogic.Current.ConfigurePanelKeyModel(device, value, clusterID, null); } //鑾峰彇鍙戦�佹暟鎹� var sendData = this.GetConfigureHdlKeyCommandText(device.DeviceAddr, device.DeviceEpoint, value, clusterID); @@ -671,7 +717,7 @@ } //淇敼缂撳瓨 - ModelData.DeviceModelDataLogic.Current.ConfigurePanelKeyModel(device, value, clusterID, "SetWritableValue"); + TemplateData.TemplateDeviceDataLogic.Current.ConfigurePanelKeyModel(device, value, clusterID, result.JsonData[0]); var tempData = Newtonsoft.Json.JsonConvert.DeserializeObject<CommonDevice.SetWritableValueResponData>(result.ReceiptData); return new CommonDevice.SetWritableValueResponAllData { setWritableValueResponData = tempData }; @@ -685,7 +731,7 @@ //濡傛灉褰撳墠浣忓畢鏄櫄鎷熶綇瀹� if (Common.Config.Instance.Home.IsVirtually == true) { - return ModelData.DeviceModelDataLogic.Current.ReadPanelConfigureKeyModel(device); + return TemplateData.TemplateDeviceDataLogic.Current.ReadPanelConfigureKeyModel(device); } var JObject = new JObject {{ "DeviceAddr",device.DeviceAddr },{ "Epoint", device.DeviceEpoint }, -- Gitblit v1.8.0