From 06802250b4b9041d39d568c1dbe77684075006b2 Mon Sep 17 00:00:00 2001 From: 黄学彪 <hxb@hdlchina.com.cn> Date: 星期三, 11 三月 2020 10:03:44 +0800 Subject: [PATCH] 上传一个版本 --- ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlGatewayLogic.cs | 117 ++++++++++++++++++++++++++++++++-------------------------- 1 files changed, 65 insertions(+), 52 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlGatewayLogic.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlGatewayLogic.cs index 023fb10..aeffe47 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlGatewayLogic.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlGatewayLogic.cs @@ -142,8 +142,10 @@ List<CommonDevice> list = Common.LocalDevice.Current.GetDeviceByGatewayID(gatewayId); foreach (var device in list) { - //鍒犻櫎璁惧锛屼笉鍒犻櫎鎴块棿淇℃伅 - Common.LocalDevice.Current.DeleteMemmoryDevice(device, false); + //鍒犻櫎涓�鑸澶� + Common.LocalDevice.Current.DeleteMemmoryDevice(device, true); + //鍒犻櫎Ota璁惧 + Common.LocalDevice.Current.DeleteMemmoryOtaDevice(device.DeviceAddr); } //鍒犻櫎缃戝叧鏂囦欢 this.DeleteGatewayFile(gatewayId); @@ -425,6 +427,7 @@ /// 閲嶆柊缁戝畾缃戝叧(1:姝e父 -1:寮傚父 0:褰撳墠鐨勭綉鍏崇粦瀹氬湪浜嗗綋鍓嶈处鍙蜂笅鐨勪笉鍚屼綇瀹呴噷闈�) /// </summary> /// <param name="zbGateway">缃戝叧</param> + /// <param name="btnMsg">娑堟伅鎺т欢</param> public async Task<int> ReBindNewGateway(ZbGateway zbGateway, NormalViewControl btnMsg = null) { if (zbGateway == null) @@ -657,10 +660,10 @@ } //鑾峰彇鍏ㄩ儴璁惧 - bool result = LocalDevice.Current.SetDeviceToMemmoryByGateway(realWay); + int result = LocalDevice.Current.SetDeviceToMemmoryByGateway(realWay); //鍏抽棴杩涘害鏉� ProgressBar.Close(); - if (result == false) + if (result == -1) { return false; } @@ -758,18 +761,21 @@ { //鍒犻櫎璁惧鏂囦欢 Common.LocalDevice.Current.DeleteMemmoryDevice(device, true); + //鍒犻櫎Ota璁惧 + Common.LocalDevice.Current.DeleteMemmoryOtaDevice(device.DeviceAddr); } //濡傛灉鏄富缃戝叧 if (this.IsMainGateway(zbGatewayID) == 1) { - foreach (var room in Shared.Common.Room.Lists) + var listAllRoom = UserCenter.HdlRoomLogic.Current.GetAllListRooms(); + foreach (var room in listAllRoom) { //鍒犻櫎鍦烘櫙鏂囦欢 - foreach (var scene in room.SceneUIFilePathList) + foreach (var sceneId in room.ListSceneId) { - if (Global.IsExistsByHomeId(scene) == true) + if (Global.IsExistsByHomeId($"Scene_{sceneId}.json") == true) { - Global.DeleteFilebyHomeId(scene); + Global.DeleteFilebyHomeId($"Scene_{sceneId}.json"); } } } @@ -1627,8 +1633,11 @@ this.GetGwInfoAttribute(localWay, "ZbImageType").ToString(), Convert.ToInt32(this.GetGwInfoAttribute(localWay, "ZbFWVersion"))); + var list = new List<FirmwareVersionInfo>(); + list.Add(gatewayFirmware); + list.Add(coordinatorFirmware); + //杩欎釜缃戝叧闇�瑕佹湁铏氭嫙椹卞姩杩欎釜涓滆タ鎵嶈 - FirmwareVersionInfo virtualFirmware = null; string linImage = this.GetGwInfoAttribute(localWay, "LinuxImageType").ToString(); if (linImage != "6") { @@ -1636,28 +1645,32 @@ var listvVode = await HdlGatewayLogic.Current.GetListVDDriveCode(localWay); if (listvVode != null && listvVode.Count > 0) { - //娣诲姞铏氭嫙椹卞姩鐨勫崌绾у浐浠�(鎴愪笉鎴愬姛閮芥棤鎵�璋�) - flage = await HdlFirmwareUpdateLogic.AddFirmwareVersionInfo(FirmwareLevelType.VirtualDevice, - listvVode[0].DriveHwVersion.ToString(), - listvVode[0].DriveImageType.ToString()); - - //铏氭嫙椹卞姩 - virtualFirmware = HdlFirmwareUpdateLogic.GetFirmwareMostVersionInfo(FirmwareLevelType.VirtualDevice, - listvVode[0].DriveHwVersion.ToString(), - listvVode[0].DriveImageType.ToString(), - listvVode[0].DriveFwVersion); - - if (virtualFirmware != null) + foreach (var data in listvVode) { - virtualFirmware.VirtualCode = listvVode[0].DriveCode; + //娣诲姞铏氭嫙椹卞姩鐨勫崌绾у浐浠�(鎴愪笉鎴愬姛閮芥棤鎵�璋�) + flage = await HdlFirmwareUpdateLogic.AddFirmwareVersionInfo(FirmwareLevelType.VirtualDevice, + data.DriveHwVersion.ToString(), + data.DriveImageType.ToString()); + + //铏氭嫙椹卞姩 + var virtualFirmware = HdlFirmwareUpdateLogic.GetFirmwareMostVersionInfo(FirmwareLevelType.VirtualDevice, + data.DriveHwVersion.ToString(), + data.DriveImageType.ToString(), + data.DriveFwVersion); + + if (virtualFirmware != null) + { + virtualFirmware.VirtualCode = data.DriveCode; + list.Add(virtualFirmware); + } } } } - var list = new List<FirmwareVersionInfo>(); - list.Add(gatewayFirmware); - list.Add(coordinatorFirmware); - list.Add(virtualFirmware); - + if (list.Count == 2) + { + //铏氭嫙椹卞姩濡傛灉娌℃湁鏂扮増鏈殑璇濓紝鍥哄畾娣诲姞涓�涓┖鐨� + list.Add(null); + } return list; } @@ -2145,7 +2158,7 @@ bool canBreak = false; HdlThreadLogic.Current.RunThread(async () => { - List<string> list = new List<string>() { "NotSetAgain" }; + List<string> list = new List<string>() { "NotSetAgain", "NotCheck" }; //璁剧疆璁块棶鎺ュ彛鐨勫弬鏁� var pra = new GetGatewayPra(); @@ -2379,27 +2392,27 @@ /// <returns></returns> public async Task<bool> UpLoadDeviceBackupDataToGateway(CommonDevice device, GatewayBackupEnum backupEnum, object upLaodData) { - //ZbGateway realWay = null; - //if (HdlGatewayLogic.Current.GetRealGateway(ref realWay, device.CurrentGateWayId) == false) - //{ - // //娌℃湁鎵惧埌鐪熷疄鐗╃悊缃戝叧 - // return false; - //} - //string fileName = device.FilePath + ((int)backupEnum).ToString().PadLeft(5, '0'); - ////鍒涘缓鏂囦欢瀵硅薄 - //var result = await realWay.CreateFileAsync(fileName); - //if (result == null || result.Result != 0) - //{ - // return false; - //} - ////鍙戦�佹暟鎹祦 - //var data = Newtonsoft.Json.JsonConvert.SerializeObject(upLaodData); - //var byteData = System.Text.Encoding.UTF8.GetBytes(data); - //var result2 = await realWay.SendFileAsync(byteData); - //if (result2 == null || result2.Result != 0) - //{ - // return false; - //} + ZbGateway realWay = null; + if (HdlGatewayLogic.Current.GetRealGateway(ref realWay, device.CurrentGateWayId) == false) + { + //娌℃湁鎵惧埌鐪熷疄鐗╃悊缃戝叧 + return false; + } + string fileName = device.FilePath + ((int)backupEnum).ToString().PadLeft(5, '0'); + //鍒涘缓鏂囦欢瀵硅薄 + var result = await realWay.CreateFileAsync(fileName); + if (result == null || result.Result != 0) + { + return false; + } + //鍙戦�佹暟鎹祦 + var data = Newtonsoft.Json.JsonConvert.SerializeObject(upLaodData); + var byteData = System.Text.Encoding.UTF8.GetBytes(data); + var result2 = await realWay.SendFileAsync(byteData); + if (result2 == null || result2.Result != 0) + { + return false; + } return true; } @@ -2546,7 +2559,7 @@ else if (backType == GatewayBackupEnum.APir鐏厜閰嶇疆) { var recoverData = Newtonsoft.Json.JsonConvert.DeserializeObject<IASZone.ConfigureParamates>(System.Text.Encoding.UTF8.GetString(byteData)); - result = await HdlDevicePirSensorLogic.Current.SetPirSensorLightSettion((IASZone)device, recoverData); + result = await HdlDevicePirSensorLogic.Current.SetPirSensorSettion((IASZone)device, recoverData); } else if (backType == GatewayBackupEnum.A骞叉帴鐐归鑹茶皟鑺�) { @@ -2568,10 +2581,10 @@ int level = Convert.ToInt32(recoverData["level"]); result = await HdlDevicePanelLogic.Current.SetDeviceEnergyConservationMode((Panel)device, modeEnable, modeTime, level); } - else if (backType == GatewayBackupEnum.A骞叉帴鐐圭鏈夊睘鎬�) + else if (backType == GatewayBackupEnum.A骞叉帴鐐圭涓夌骇鍒鏈夊睘鎬�) { var recoverData = Newtonsoft.Json.JsonConvert.DeserializeObject<int>(System.Text.Encoding.UTF8.GetString(byteData)); - result = await HdlDevicePanelLogic.Current.EditorDryContactFunction((Panel)device, recoverData); + result = await HdlDevicePanelLogic.Current.EditorDryContactThirdFunction((Panel)device, recoverData); } else if (backType == GatewayBackupEnum.A绐楀笜鏂瑰悜) { -- Gitblit v1.8.0