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/HdlSceneLogic.cs | 47 +++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 39 insertions(+), 8 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlSceneLogic.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlSceneLogic.cs index d087a84..3b90c1d 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlSceneLogic.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlSceneLogic.cs @@ -178,7 +178,11 @@ if (topic == gatewayID + "/" + "Scene/GetAllInfo_Respon") { var sceneGetAllInfo = Newtonsoft.Json.JsonConvert.DeserializeObject<Scene.GetSceneAllInfo>(jobject["Data"].ToString()); - listScene.Add(sceneGetAllInfo); + if (sceneGetAllInfo.ScenesSum != 0) + { + //濡傛灉缃戝叧閲岄潰娌℃湁鍦烘櫙鐨勮瘽,瀹冧篃浼氭帹杩欎釜涓滆タ杩囨潵 + listScene.Add(sceneGetAllInfo); + } //鏇村鎺ユ敹寰楀埌鍦烘櫙 canReceve = true; @@ -359,12 +363,15 @@ /// <summary> /// 鑾峰彇娣诲姞鎵ц鐩爣鍒板満鏅殑鍛戒护 /// </summary> - /// <param name="sceneId"></param> - /// <param name="listAdjustTarget"></param> + /// <param name="sceneId">鍦烘櫙id</param> + /// <param name="listAdjustTarget">鎵ц鐩爣</param> + /// <param name="dicChangedMac">浜ゆ崲mac key:listAdjustTarget褰撳墠鐨凪ac value:杞崲鐨刴ac</param> + /// <param name="sceneName">鍦烘櫙鍚嶇О(鐗规畩鐢ㄩ��,璇峰嬁璁剧疆)</param> /// <returns></returns> - public List<string> GetAddTargetToSceneCommand(int sceneId, List<Scene.DeviceListData> listAdjustTarget) + public List<string> GetAddTargetToSceneCommand(int sceneId, List<Scene.DeviceListData> listAdjustTarget, Dictionary<string, string> dicChangedMac = null, string sceneName = null) { var listCommand = new List<string>(); + int index = 1; for (int i = 0; i < listAdjustTarget.Count; i++) { var jObject = new Newtonsoft.Json.Linq.JObject { { "Cluster_ID", 0 }, { "Command", 820 } }; @@ -372,6 +379,17 @@ //璁惧 if (data.Type == 0) { + string deviceAddr = data.DeviceAddr; + if (dicChangedMac != null) + { + //濡傛灉涓嶅寘鍚�,鍒欎笉浣滀负澶勭悊瀵硅薄 + if (dicChangedMac.ContainsKey(deviceAddr) == false) + { + continue; + } + deviceAddr = dicChangedMac[deviceAddr]; + } + var taskList = new Newtonsoft.Json.Linq.JArray { }; foreach (var taskInfo in data.TaskList) { @@ -379,25 +397,38 @@ { "Data1", taskInfo.Data1},{ "Data2",taskInfo.Data2}}; taskList.Add(tInfo); } - var data2 = new Newtonsoft.Json.Linq.JObject {{ "ScenesId",sceneId},{ "Type", 0} ,{ "DeviceAddr",data.DeviceAddr} , - { "Epoint", data.Epoint} ,{ "TaskList", taskList },{ "DelayTime", 0} ,{ "MemberNumber",i + 1}}; + var data2 = new Newtonsoft.Json.Linq.JObject {{ "ScenesId",sceneId},{ "Type", 0} ,{ "DeviceAddr",deviceAddr} , + { "Epoint", data.Epoint} ,{ "TaskList", taskList },{ "DelayTime", 0} ,{ "MemberNumber",index}}; + if (sceneName != null) + { + data2.Add(new Newtonsoft.Json.Linq.JProperty("ScenesName", sceneName)); + } jObject.Add("Data", data2); } //鍦烘櫙 else if (data.Type == 1) { var data2 = new Newtonsoft.Json.Linq.JObject {{ "ScenesId",sceneId},{ "Type", 1} , - { "ElseScenesId", data.ElseScenesId },{ "DelayTime", 0} ,{ "MemberNumber",i + 1} }; + { "ElseScenesId", data.ElseScenesId },{ "DelayTime", 0} ,{ "MemberNumber",index} }; + if (sceneName != null) + { + data2.Add(new Newtonsoft.Json.Linq.JProperty("ScenesName", sceneName)); + } jObject.Add("Data", data2); } //寤舵椂 else { var data2 = new Newtonsoft.Json.Linq.JObject {{ "Type", 2} ,{ "ScenesId",sceneId}, - { "DelayTime", data.DelayTime} ,{ "MemberNumber",i + 1}}; + { "DelayTime", data.DelayTime} ,{ "MemberNumber",index}}; + if (sceneName != null) + { + data2.Add(new Newtonsoft.Json.Linq.JProperty("ScenesName", sceneName)); + } jObject.Add("Data", data2); } listCommand.Add(jObject.ToString()); + index++; } return listCommand; } -- Gitblit v1.8.0