| | |
| | | curView = this; |
| | | myLoading = new Loading (); |
| | | |
| | | myLoading.TextColor = 0xFFA9A9A9; |
| | | myLoading.LodingBackgroundColor = SkinStyle.Current.MainColor; |
| | | |
| | | //#if __IOS__ |
| | | myLoading.LodingBackgroundColor = 0x00999999; |
| | | //myLoading.LodingBackgroundColor = 0x20999999; |
| | | //#else |
| | | // myLoading.LodingBackgroundColor = SkinStyle.Current.ViewColor; |
| | | //#endif |
| | |
| | | myLoading.Hide (); |
| | | btnCloseLoading.RemoveFromParent (); |
| | | WirelessConfig (new byte [] { 1 });//close |
| | | //2020-07-02 关闭自动搜索线程 |
| | | StopSearchDeviceThead (); |
| | | if (needRefresh) { |
| | | needRefresh = false; |
| | | SearchDeviceList (); |
| | |
| | | curView = null; |
| | | addedCommon.Clear (); |
| | | BackgroundColor = SkinStyle.Current.MainColor; |
| | | //StopSearchDeviceThead (); |
| | | base.RemoveFromParent (); |
| | | } |
| | | |
| | |
| | | }; |
| | | |
| | | var btnSearch = new Button () { |
| | | Width = Application.GetRealWidth (75), |
| | | Height = Application.GetRealHeight (75), |
| | | Width = Application.GetMinRealAverage (75), |
| | | Height = Application.GetMinRealAverage (75), |
| | | X = Application.GetRealWidth (520), |
| | | Y = Application.GetRealHeight (10), |
| | | UnSelectedImagePath = "Item/Refresh.png", |
| | |
| | | { |
| | | if (gatewayDeicve.Type == DeviceType.OnePortMqttFR) { |
| | | |
| | | Console.WriteLine ("Assign OnePortMqttFR,HDL MQTT"); |
| | | Utlis.WriteLine ("Assign OnePortMqttFR,HDL MQTT"); |
| | | //RemoteSetting (); |
| | | RemoteSettingWithHDLMQTT (); |
| | | } else { |
| | | Console.WriteLine ("Assign OnePortWirelessFR"); |
| | | Utlis.WriteLine ("Assign OnePortWirelessFR"); |
| | | RemoteSettingWithOldDevice (); |
| | | //RemoteSettingWithMQTT (); |
| | | } |
| | |
| | | if (common.Type == DeviceType.MusicModel) |
| | | continue; |
| | | if (common.isMixBox) { |
| | | Console.WriteLine ("IsMixBox"); |
| | | Utlis.WriteLine ("IsMixBox"); |
| | | continue; |
| | | } |
| | | countDevcie++; |
| | |
| | | if (gatewayDeicve.Type == DeviceType.OnePortWirelessFR || gatewayDeicve.Type == DeviceType.OnePortMqttFR) { |
| | | Control.ControlBytesSend (Command.GotoConfigMode, gatewayDeicve.SubnetID, gatewayDeicve.DeviceID, new byte [] { }); |
| | | //new Alert ("", "网关已经进入配频模式,请手动新设备进入配频模式。", "Close").Show (); |
| | | new Alert ("", "Searching for new devices, Please make sure all new devices are in configuration mode.", "OK").Show (); |
| | | new Alert ("", ErrorCode.SearchingForNewDevices, "OK").Show (); |
| | | |
| | | this.AddChidren (myLoading); |
| | | //myLoading.Start ("点击屏幕关闭配频模式"); |
| | | myLoading.Start ("Searching, Please touch the here to exit the searching mode."); |
| | | myLoading.Start (ErrorCode.SearchingExitTheSearchingMode); |
| | | //myLoading.Start ("Waiting for new device, Please touch the here to exit the waiting mode."); |
| | | |
| | | this.AddChidren (btnCloseLoading); |
| | | |
| | | //2020-07-02 网关配频模式时,开启自动搜索线程 |
| | | StartSearchDeviceThead (); |
| | | } |
| | | }); |
| | | }); |
| | |
| | | btnDelDevice.Parent.RemoveFromParent (); |
| | | }); |
| | | } catch (Exception ex) { |
| | | Console.WriteLine (ex.Message); |
| | | Utlis.WriteLine (ex.Message); |
| | | } finally { |
| | | Application.RunOnMainThread (() => { |
| | | MainPage.Loading.Hide (); |
| | |
| | | // } |
| | | // } |
| | | // } catch (Exception ex) { |
| | | // Console.WriteLine ("Cinfig Read Device Loop Info " + ex.Message); |
| | | // Utlis.WriteLine ("Cinfig Read Device Loop Info " + ex.Message); |
| | | // } |
| | | //}); |
| | | } |
| | |
| | | //这里搜索设备,直到完成就退出 |
| | | readDevice (); |
| | | } catch (Exception ex) { |
| | | Console.WriteLine (ex.Message); |
| | | Utlis.WriteLine (ex.Message); |
| | | } |
| | | Application.RunOnMainThread (action); |
| | | }) { IsBackground = true }.Start (); |
| | |
| | | ms.WriteByte (common.SubnetID); |
| | | ms.WriteByte (common.DeviceID); |
| | | } |
| | | Console.WriteLine ("搜索非网关设备,网络地址是:" + CommonPage.EndPoint.ToString ()); |
| | | Utlis.WriteLine ("搜索非网关设备,网络地址是:" + CommonPage.EndPoint.ToString ()); |
| | | var control = new Control (); |
| | | control.Send (new Target () { |
| | | IPEndPoint = CommonPage.EndPoint, |
| | |
| | | return; |
| | | } |
| | | } |
| | | BindGatewaysNew (); |
| | | GotoHomePage (); |
| | | } |
| | | } catch (Exception ex) { |
| | | Console.WriteLine (ex.Message); |
| | | Utlis.WriteLine (ex.Message); |
| | | Application.RunOnMainThread (() => { |
| | | new Alert ("", Language.StringByID (R.MyInternationalizationString.OperationFailed), Language.StringByID (R.MyInternationalizationString.Close)).Show (); |
| | | }); |
| | |
| | | System.Threading.Tasks.Task.Run (() => { |
| | | try { |
| | | |
| | | //读取一端口交换机、无线网关的配置信息 |
| | | gatewayBytes = Control.ControlBytesSendHasReturn (Command.ReadGateWayModelInfo, gatewayDeicve.SubnetID, gatewayDeicve.DeviceID, new byte [] { }); |
| | | |
| | | gatewayDeicve.Remote_GroupName = MainPage.LoginUser.AccountString;//UserConfig.Instance.CurrentRegion.RegionName; |
| | | gatewayDeicve.Remote_ProjectName = gatewayDeicve.MAC.Replace (".", "");//UserConfig.Instance.CurrentRegion.RegionName; |
| | | gatewayDeicve.Remote_UserName = "Admin"; |
| | | gatewayDeicve.Remote_Password = "c" + MainPage.LoginUser.ID; |
| | | //gatewayDeicve.Remote_Password = "85521566"; |
| | | byte [] ggn = new byte [20]; |
| | | byte [] b1 = CommonPage.MyEncodingGB2312.GetBytes (gatewayDeicve.Remote_GroupName); |
| | | gatewayDeicve.Remote_GroupName = CommonPage.MyEncodingGB2312.GetString (b1); |
| | | Array.Copy (b1, 0, ggn, 0, 20 < b1.Length ? 20 : b1.Length); |
| | | |
| | | byte [] gpn = new byte [20]; |
| | | byte [] b2 = CommonPage.MyEncodingGB2312.GetBytes (gatewayDeicve.Remote_ProjectName); |
| | | Array.Copy (b2, 0, gpn, 0, 20 < b2.Length ? 20 : b2.Length); |
| | | |
| | | byte [] gun = new byte [8]; |
| | | byte [] b3 = CommonPage.MyEncodingGB2312.GetBytes (gatewayDeicve.Remote_UserName); |
| | | Array.Copy (b3, 0, gun, 0, 8 < b3.Length ? 8 : b3.Length); |
| | | |
| | | byte [] gpw = new byte [8]; |
| | | byte [] b4 = CommonPage.MyEncodingGB2312.GetBytes (gatewayDeicve.Remote_Password); |
| | | Array.Copy (b4, 0, gpw, 0, 8 < b4.Length ? 8 : b4.Length); |
| | | |
| | | |
| | | gatewayBytes [0] = TYPEHdlMQTT;//HDL MQTT |
| | | Array.Copy (ggn, 0, gatewayBytes, 1, 20); |
| | | Array.Copy (gpn, 0, gatewayBytes, 21, 20); |
| | | Array.Copy (gun, 0, gatewayBytes, 41, 8); |
| | | Array.Copy (gpw, 0, gatewayBytes, 49, 8); |
| | | //1.修改用户名信息 |
| | | Control.ControlBytesSend (Command.SetGateWayModelInfo, gatewayDeicve.SubnetID, gatewayDeicve.DeviceID, gatewayBytes); |
| | | ////2.读取一次管理信息 |
| | | //byte [] adminBytes = Control.ControlBytesSendHasReturn (Command.ReadGateWayAdminInfo, gatewayDeicve.SubnetID, gatewayDeicve.DeviceID, new byte [] { }); |
| | | ////3.修改管理信息 |
| | | //if (SetGateWayAdminInfo (adminBytes)) { |
| | | // //4.写配置成功后下一步操作 |
| | | // GatewaySettingSucceeded (); |
| | | ////读取一端口交换机、无线网关的配置信息 |
| | | //gatewayBytes = Control.ControlBytesSendHasReturn (Command.ReadGateWayModelInfo, gatewayDeicve.SubnetID, gatewayDeicve.DeviceID, new byte [] { }); |
| | | //if (gatewayBytes == null) { |
| | | // //读取一端口交换机、无线网关的配置信息失败 |
| | | // new Alert ("", "Read gateway configuration failed!", "Close").Show (); |
| | | // return; |
| | | //} |
| | | |
| | | //2.修改管理信息 |
| | | if (SetGateWayAdminInfo ()) { |
| | | //3.写配置成功后下一步操作 |
| | | GatewaySettingSucceeded (); |
| | | |
| | | //1.修改用户名信息 和修改连接模式 |
| | | if (SetGateWayModelInfo()) { |
| | | //2.修改管理信息 |
| | | if (SetGateWayAdminInfo ()) { |
| | | //3.写配置成功后下一步操作 |
| | | GatewaySettingSucceeded (); |
| | | } |
| | | } |
| | | |
| | | } catch (Exception ex) { |
| | | Console.WriteLine (ex.Message); |
| | | Utlis.WriteLine (ex.Message); |
| | | Application.RunOnMainThread (() => { |
| | | //修改网关连接模式失败 |
| | | new Alert ("", "Failed to modify gateway connection mode!", Language.StringByID (R.MyInternationalizationString.Close)).Show (); |
| | |
| | | } |
| | | }); |
| | | //Room.InitAllRoom (); |
| | | } |
| | | |
| | | bool SetGateWayModelInfo () { |
| | | byte [] gatewayBytes = new byte [60]; |
| | | gatewayDeicve.Remote_GroupName = MainPage.LoginUser.AccountString;//UserConfig.Instance.CurrentRegion.RegionName; |
| | | gatewayDeicve.Remote_ProjectName = gatewayDeicve.MAC.Replace (".", "");//UserConfig.Instance.CurrentRegion.RegionName; |
| | | gatewayDeicve.Remote_UserName = "Admin"; |
| | | gatewayDeicve.Remote_Password = "c" + MainPage.LoginUser.ID; |
| | | //gatewayDeicve.Remote_Password = "85521566"; |
| | | byte [] ggn = new byte [20]; |
| | | byte [] b1 = CommonPage.MyEncodingGB2312.GetBytes (gatewayDeicve.Remote_GroupName); |
| | | gatewayDeicve.Remote_GroupName = CommonPage.MyEncodingGB2312.GetString (b1); |
| | | Array.Copy (b1, 0, ggn, 0, 20 < b1.Length ? 20 : b1.Length); |
| | | |
| | | byte [] gpn = new byte [20]; |
| | | byte [] b2 = CommonPage.MyEncodingGB2312.GetBytes (gatewayDeicve.Remote_ProjectName); |
| | | Array.Copy (b2, 0, gpn, 0, 20 < b2.Length ? 20 : b2.Length); |
| | | |
| | | byte [] gun = new byte [8]; |
| | | byte [] b3 = CommonPage.MyEncodingGB2312.GetBytes (gatewayDeicve.Remote_UserName); |
| | | Array.Copy (b3, 0, gun, 0, 8 < b3.Length ? 8 : b3.Length); |
| | | |
| | | byte [] gpw = new byte [8]; |
| | | byte [] b4 = CommonPage.MyEncodingGB2312.GetBytes (gatewayDeicve.Remote_Password); |
| | | Array.Copy (b4, 0, gpw, 0, 8 < b4.Length ? 8 : b4.Length); |
| | | |
| | | |
| | | gatewayBytes [0] = TYPEHdlMQTT;//HDL MQTT |
| | | Array.Copy (ggn, 0, gatewayBytes, 1, 20); |
| | | Array.Copy (gpn, 0, gatewayBytes, 21, 20); |
| | | Array.Copy (gun, 0, gatewayBytes, 41, 8); |
| | | Array.Copy (gpw, 0, gatewayBytes, 49, 8); |
| | | byte [] backBytes = Control.ControlBytesSendHasReturn (Command.SetGateWayModelInfo, gatewayDeicve.SubnetID, gatewayDeicve.DeviceID, gatewayBytes); |
| | | return CheckIsSuccessfulWithBytes (backBytes, "Failed to modify gateway connection mode."); |
| | | } |
| | | |
| | | /// <summary> |
| | |
| | | } |
| | | } |
| | | |
| | | BindGatewaysNew (); |
| | | |
| | | GotoHomePage (); |
| | | |
| | | } |
| | | |
| | | |
| | | /// <summary> |
| | | /// Gateway setting succeeded,data up.Please wait... |
| | | /// 绑定Mac(印度版) |
| | | /// </summary> |
| | | void BindGatewaysNew () |
| | | { |
| | | Application.RunOnMainThread (() => { |
| | | MainPage.Loading.Start ("Gateway setting succeeded,data up. Please wait..."); |
| | | }); |
| | | IO.FileUtils.SaveEquipmentMessage (gatewayDeicve); |
| | | var gatewayMAC = gatewayDeicve.MAC.Replace (".", ""); |
| | | ///// <summary> |
| | | ///// Gateway setting succeeded,data up.Please wait... |
| | | ///// 绑定Mac(印度版) |
| | | ///// </summary> |
| | | //void BindGatewaysNew () |
| | | //{ |
| | | // //Application.RunOnMainThread (() => { |
| | | // // MainPage.Loading.Start ("Gateway setting succeeded,data up. Please wait..."); |
| | | // //}); |
| | | // //IO.FileUtils.SaveEquipmentMessage (gatewayDeicve); |
| | | // //var gatewayMAC = gatewayDeicve.MAC.Replace (".", ""); |
| | | |
| | | //走新更新绑定接口 |
| | | var mBindMacObj = new BindMacObj () { |
| | | LoginAccessToken = MainPage.LoginUser.LoginTokenString, |
| | | HomeId = UserConfig.Instance.CurrentRegion.Id, |
| | | MAC = gatewayMAC |
| | | // ////走新更新绑定接口 |
| | | // //var mBindMacObj = new BindMacObj () { |
| | | // // LoginAccessToken = MainPage.LoginUser.LoginTokenString, |
| | | // // HomeId = UserConfig.Instance.CurrentRegion.Id, |
| | | // // MAC = gatewayMAC |
| | | |
| | | }; |
| | | |
| | | string urlHead = MainPage.RequestHttpsHost; |
| | | if (mBindMacObj.IsOtherAccountCtrl) { |
| | | urlHead = UserConfig.Instance.MasterAccountRequestBaseUrl; |
| | | mBindMacObj.LoginAccessToken = UserConfig.Instance.MasterAccountToken; |
| | | } |
| | | // //}; |
| | | |
| | | // //string urlHead = MainPage.RequestHttpsHost; |
| | | // //if (mBindMacObj.IsOtherAccountCtrl) { |
| | | // // urlHead = UserConfig.Instance.MasterAccountRequestBaseUrl; |
| | | // // mBindMacObj.LoginAccessToken = UserConfig.Instance.MasterAccountToken; |
| | | // //} |
| | | |
| | | |
| | | var requestJson = Newtonsoft.Json.JsonConvert.SerializeObject (mBindMacObj); |
| | | // //var requestJson = Newtonsoft.Json.JsonConvert.SerializeObject (mBindMacObj); |
| | | |
| | | //var requestJson = Newtonsoft.Json.JsonConvert.SerializeObject (new EditMACByHomeId { RegionID = UserConfig.Instance.CurrentRegion.Id, MAC = gatewayMAC, IsReBind = true }); |
| | | var respone = MainPage.RequestHttps (API.BindMac, requestJson, urlHead); |
| | | if (respone.StateCode.ToUpper () != "SUCCESS") { |
| | | GetNowHomeGatewayAfterBindMacFailed ();//2020-01-11 |
| | | Application.RunOnMainThread (() => { |
| | | new Alert ("", $"Failed to bind Mac address! {ErrorCode.Reason }{respone.StateCode}", Language.StringByID (R.MyInternationalizationString.Close)).Show (); |
| | | if (MainPage.LoginUser.AccountString == "464027401@qq.com") { |
| | | new Alert (respone.StateCode, respone.ErrorInfo, Language.StringByID (R.MyInternationalizationString.Close)).Show (); |
| | | } |
| | | }); |
| | | return; |
| | | } |
| | | //GetNowHomeGateway (); |
| | | AddMacToUserConfig (gatewayMAC); |
| | | // ////var requestJson = Newtonsoft.Json.JsonConvert.SerializeObject (new EditMACByHomeId { RegionID = UserConfig.Instance.CurrentRegion.Id, MAC = gatewayMAC, IsReBind = true }); |
| | | // //var respone = MainPage.RequestHttps (API.BindMac, requestJson, urlHead); |
| | | // //if (respone.StateCode.ToUpper () != StateCode.SUCCESS) { |
| | | // // GetNowHomeGatewayAfterBindMacFailed ();//2020-01-11 |
| | | // // Application.RunOnMainThread (() => { |
| | | // // new Alert ("", $"Failed to bind Mac address! {ErrorCode.Reason }{respone.StateCode}", Language.StringByID (R.MyInternationalizationString.Close)).Show (); |
| | | // // if (MainPage.LoginUser.AccountString == "464027401@qq.com") { |
| | | // // new Alert (respone.StateCode, respone.ErrorInfo, Language.StringByID (R.MyInternationalizationString.Close)).Show (); |
| | | // // } |
| | | // // }); |
| | | // // return; |
| | | // //} |
| | | // //GetNowHomeGateway (); |
| | | |
| | | } |
| | | // var gatewayMAC = gatewayDeicve.MAC.Replace (".", ""); |
| | | // AddMacToUserConfig (gatewayMAC); |
| | | |
| | | //} |
| | | |
| | | /// <summary> |
| | | /// 修改切换本地住宅 网关 |
| | | /// 跳转主页面 |
| | | /// </summary> |
| | | void AddMacToUserConfig (string gatewayMAC) |
| | | void GotoHomePage () |
| | | { |
| | | |
| | | UserConfig.Instance.GatewayMAC = gatewayMAC; |
| | | UserConfig.Instance.SaveUserConfig (); |
| | | MainPage.LoginUser.LastTime = DateTime.Now; |
| | | Application.RunOnMainThread (() => { |
| | | bodyView.RemoveAll (); |
| | | this.RemoveFromParent (); |
| | | //MainPage.WiFiStatus = "CrabtreeAdd/WiFi.png"; |
| | | UserMiddle.Init (true); |
| | | MainPage.WiFiStatus = "CrabtreeAdd/WiFi.png"; |
| | | UserMiddle.btnLinkStatus.UnSelectedImagePath = MainPage.WiFiStatus; |
| | | }); |
| | | |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | ///// <summary> |
| | |
| | | |
| | | // //var requestJson = Newtonsoft.Json.JsonConvert.SerializeObject (new EditMACByHomeId { RegionID = UserConfig.Instance.CurrentRegion.Id, MAC = gatewayMAC, IsReBind = true }); |
| | | // var respone = MainPage.RequestHttps (API.UpdateMac, requestJson, urlHead); |
| | | // if (respone.StateCode.ToUpper () != "SUCCESS") { |
| | | // if (respone.StateCode.ToUpper () != StateCode.SUCCESS) { |
| | | // GetNowHomeGatewayAfterBindMacFailed ();//2020-01-11 |
| | | // Application.RunOnMainThread (() => { |
| | | // new Alert ("", "Failed to update Mac address, gateway binding failed!", Language.StringByID (R.MyInternationalizationString.Close)).Show (); |
| | |
| | | |
| | | // //var requestJson = Newtonsoft.Json.JsonConvert.SerializeObject (new EditMACByHomeId { RegionID = UserConfig.Instance.CurrentRegion.Id, MAC = gatewayMAC, IsReBind = true }); |
| | | // var respone = MainPage.RequestHttps (API.BindGatewayToHome, requestJson, urlHead); |
| | | // if (respone.StateCode.ToUpper () != "SUCCESS" && respone.StateCode != "BindGatewaysExists") { |
| | | // if (respone.StateCode.ToUpper () != StateCode.SUCCESS && respone.StateCode != "BindGatewaysExists") { |
| | | // GetNowHomeGatewayAfterBindMacFailed ();//2020-01-11 |
| | | // Application.RunOnMainThread (() => { |
| | | // new Alert ("", "Failed to bind Mac address, gateway binding failed!", Language.StringByID (R.MyInternationalizationString.Close)).Show (); |
| | |
| | | //} |
| | | |
| | | |
| | | /// <summary> |
| | | /// 绑定失败之后,查询刷新一次当前住宅 网关列表 |
| | | /// 2020-01-11 |
| | | /// </summary> |
| | | void GetNowHomeGatewayAfterBindMacFailed () |
| | | { |
| | | ///// <summary> |
| | | ///// 绑定失败之后,查询刷新一次当前住宅 网关列表 |
| | | ///// 2020-01-11 |
| | | ///// </summary> |
| | | //void GetNowHomeGatewayAfterBindMacFailed () |
| | | //{ |
| | | |
| | | var requestObj3 = new GetSingleHomeGatewayPaggerObj (); |
| | | requestObj3.ReqDto.LoginAccessToken = MainPage.LoginUser.LoginTokenString; |
| | | requestObj3.ReqDto.HomeId = UserConfig.Instance.CurrentRegion.Id; |
| | | requestObj3.ReqDto.PageSetting.Page = 1; |
| | | requestObj3.ReqDto.PageSetting.PageSize = 10; |
| | | string urlHead = MainPage.RequestHttpsHost; |
| | | if (requestObj3.IsOtherAccountCtrl) { |
| | | urlHead = UserConfig.Instance.MasterAccountRequestBaseUrl; |
| | | requestObj3.ReqDto.LoginAccessToken = UserConfig.Instance.MasterAccountToken; |
| | | } |
| | | // var requestObj3 = new GetSingleHomeGatewayPaggerObj (); |
| | | // requestObj3.ReqDto.LoginAccessToken = MainPage.LoginUser.LoginTokenString; |
| | | // requestObj3.ReqDto.HomeId = UserConfig.Instance.CurrentRegion.Id; |
| | | // requestObj3.ReqDto.PageSetting.Page = 1; |
| | | // requestObj3.ReqDto.PageSetting.PageSize = 10; |
| | | // string urlHead = MainPage.RequestHttpsHost; |
| | | // if (requestObj3.IsOtherAccountCtrl) { |
| | | // urlHead = UserConfig.Instance.MasterAccountRequestBaseUrl; |
| | | // requestObj3.ReqDto.LoginAccessToken = UserConfig.Instance.MasterAccountToken; |
| | | // } |
| | | |
| | | var requestJson3 = Newtonsoft.Json.JsonConvert.SerializeObject (requestObj3); |
| | | var revertObj3 = MainPage.RequestHttps (API.GetSingleHomeGatewayPagger, requestJson3, urlHead); |
| | | if (revertObj3.StateCode.ToUpper () == "SUCCESS") { |
| | | var infoResult = Newtonsoft.Json.JsonConvert.DeserializeObject<GetGatewayResult> (revertObj3.ResponseData.ToString ()); |
| | | //2020-01-11 |
| | | UserConfig.Instance.SetNowHomeGateways (infoResult.PageData); |
| | | // var requestJson3 = Newtonsoft.Json.JsonConvert.SerializeObject (requestObj3); |
| | | // var revertObj3 = MainPage.RequestHttps (API.GetSingleHomeGatewayPagger, requestJson3, urlHead); |
| | | // if (revertObj3.StateCode.ToUpper () == StateCode.SUCCESS) { |
| | | // var infoResult = Newtonsoft.Json.JsonConvert.DeserializeObject<GetGatewayResult> (revertObj3.ResponseData.ToString ()); |
| | | // //2020-01-11 |
| | | // UserConfig.Instance.SetNowHomeGateways (infoResult.PageData); |
| | | |
| | | } |
| | | // } |
| | | |
| | | |
| | | //} |
| | | |
| | | #region 2020-07-02 |
| | | /// <summary> |
| | | /// 定时搜索设备线程 |
| | | /// </summary> |
| | | Thread searchDeviceThead; |
| | | bool bStartSearch; |
| | | |
| | | /// <summary> |
| | | /// 2020-07-02 |
| | | /// 网关配频模式时,开启自动搜索线程 |
| | | /// </summary> |
| | | void StartSearchDeviceThead () |
| | | { |
| | | StopSearchDeviceThead (); |
| | | CommonPage.LocalPhoneFindDevice = true; |
| | | CommonPage.FindGatewayChilren = true; |
| | | CommonPage.RandomHigh = (byte)new Random ().Next (255); |
| | | CommonPage.RandomLow = (byte)new Random ().Next (255); |
| | | |
| | | bStartSearch = true; |
| | | searchDeviceThead = new Thread ((obj) => { |
| | | while (bStartSearch) { |
| | | try { |
| | | //定时4S |
| | | Thread.Sleep (4000); |
| | | |
| | | var ms = new System.IO.MemoryStream (); |
| | | ms.WriteByte (CommonPage.RandomHigh); |
| | | ms.WriteByte (CommonPage.RandomLow); |
| | | |
| | | var list = CommonPage.DeviceList; |
| | | int tempCount = list.Count; |
| | | string s = ";"; |
| | | for (int i = 0; i < list.Count; i++) { |
| | | Common common = list [i]; |
| | | if (common.SubnetID != gatewayDeicve.SubnetID) |
| | | continue; |
| | | if (s.Contains (";" + common.SubnetID.ToString () + ":" + common.DeviceID.ToString ())) |
| | | continue; |
| | | s += common.SubnetID.ToString () + ":" + common.DeviceID.ToString () + ";"; |
| | | ms.WriteByte (common.SubnetID); |
| | | ms.WriteByte (common.DeviceID); |
| | | } |
| | | Utlis.WriteLine ("SearchDeviceThead搜索非网关设备,网络地址是:" + CommonPage.EndPoint.ToString ()); |
| | | var control = new Control (); |
| | | control.Send (new Target () { |
| | | IPEndPoint = CommonPage.EndPoint, |
| | | Command = Command.ReadDeviceModul, |
| | | SubnetID = gatewayDeicve.SubnetID, |
| | | DeviceID = 0xFF, |
| | | AddData = ms.ToArray () |
| | | }, SendCount.Zero, false); |
| | | |
| | | ms.Close (); |
| | | |
| | | } catch { |
| | | |
| | | } |
| | | } |
| | | }); |
| | | searchDeviceThead.Start (); |
| | | |
| | | |
| | | Utlis.WriteLine ("----StartSearchDeviceThead----"); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 暂停搜索设备线程 |
| | | /// </summary> |
| | | void StopSearchDeviceThead () |
| | | { |
| | | CommonPage.LocalPhoneFindDevice = false; |
| | | CommonPage.FindGatewayChilren = false; |
| | | bStartSearch = false; |
| | | if (searchDeviceThead != null) |
| | | searchDeviceThead.Abort (); |
| | | |
| | | Utlis.WriteLine ("----StopSearchDeviceThead----"); |
| | | |
| | | } |
| | | #endregion |
| | | |
| | | ///// <summary> |
| | | ///// 查询当前住宅 网关列表 |
| | |
| | | // //var requestObj3 = new GatewayByRegionListObj () { RegionID = UserConfig.Instance.CurrentRegion.Id }; |
| | | // var requestJson3 = Newtonsoft.Json.JsonConvert.SerializeObject (requestObj3); |
| | | // var revertObj3 = MainPage.RequestHttps (API.GetSingleHomeGatewayPagger, requestJson3, urlHead); |
| | | // if (revertObj3.StateCode.ToUpper () == "SUCCESS") { |
| | | // if (revertObj3.StateCode.ToUpper () == StateCode.SUCCESS) { |
| | | // var infoResult = Newtonsoft.Json.JsonConvert.DeserializeObject<GetGatewayResult> (revertObj3.ResponseData.ToString ()); |
| | | // var responseGatewayDataObj = infoResult.PageData; |
| | | // if (responseGatewayDataObj != null && responseGatewayDataObj.Count > 0) { |
| | |
| | | // } |
| | | |
| | | // } catch (Exception ex) { |
| | | // Console.WriteLine (ex.Message); |
| | | // Utlis.WriteLine (ex.Message); |
| | | // Application.RunOnMainThread (() => { |
| | | // new Alert ("", Language.StringByID (R.MyInternationalizationString.OperationFailed), Language.StringByID (R.MyInternationalizationString.Close)).Show (); |
| | | // }); |
| | |
| | | // //Room.InitAllRoom (); |
| | | //} |
| | | |
| | | |
| | | |
| | | |
| | | ///// <summary> |
| | | ///// 修改URL |