public async Task <bool> Start() { _aircoManager = new AircoManager(_httpClientFactory.CreateClient()); if (!string.IsNullOrEmpty(_config.AuthCode)) { _aircoManager.SetAuthorizationToken(_config.AuthCode); _schedulerService.AddPolling(PollingConds, "PANASONIC_AIR_CONDITIONER", SchedulerServicePollingEnum.NORMAL_POLLING); } else if (!string.IsNullOrEmpty(_config.Username)) { var result = await _aircoManager.Login("0", _config.Username, _config.Password); if (result.Result == 0) { _config.AuthCode = result.UToken; _componentsService.SaveComponentConfig(_config); } } return(true); }
private async Task <bool> Login() { try { if (string.IsNullOrEmpty(_panasonicAirVault.AccessToken)) { var result = await _aircoManager.Login("0", Config.Username, Config.Password); _panasonicAirVault.AccessToken = result.UToken; SaveVault(_panasonicAirVault); _isConfigured = true; } else { _aircoManager.SetAuthorizationToken(_panasonicAirVault.AccessToken); _isConfigured = true; } return(true); } catch (Exception e) { Logger.LogError($"Error during login {e.Message}"); return(false); } }
static Task <int> ValidateToken() { var token = GetToken(); if (string.IsNullOrEmpty(token)) { Console.WriteLine("No token found, use login command first."); Environment.Exit(-1); } _manager.SetAuthorizationToken(token); return(Task.FromResult(0)); }