public async Task LoadLogin() { LoginResponse = TessTools.LoadResponse <LoginResponse>(out _, true); //if ( true ) { // if ( tessApiLogin == null ) { // tessApiLogin = new TessApiLogin(); // tessApiLogin.LoginResponse = LoginResponse; // } // await tessApiLogin.UpdateTeslaTokenFromRefreshToken(); // //LoginResponse tmpLoginResponse = await TessApiLogin.UpdateTeslaTokenFromRefreshToken(LoginResponse); // //if ( tmpLoginResponse != null ) LoginResponse = tmpLoginResponse; // //// todo save? //} }
public async Task <TessApiResult> ListProducts(bool loadFromDisk) { this.MyCar = null; this.MyCarData = null; try { ProductResponse pr; if (loadFromDisk) { pr = TessTools.LoadResponse <ProductResponse>(out _); } else { // Optional https://owner-api.teslamotors.com/api/1/vehicles string url = "https://owner-api.teslamotors.com/api/1/products/"; string result = await CallUrl(url, "GET"); pr = SerializeTool.DeSerializeJson <ProductResponse>(result); TessTools.SaveResponse(pr); } ProductList = pr.response; if (myCarId.HasValue) { foreach (Product p in pr.response) { if (p.id == myCarId) { MyCar = p; } } } return(new TessApiResult()); } catch (Exception ex) { Log.Error("MyTess.ListProducts", ex); return(new TessApiResult(ex)); } }
public async Task <TessApiResult> GetCarInfo(bool loadFromDisk) { this.MyCarData = null; try { CarDataResponse cdr = null; if (loadFromDisk) { cdr = TessTools.LoadResponse <CarDataResponse>(out DiskDataDate); Log.Debug("GetCarInfo - loadFromDisk cdr Null:" + (cdr == null)); if (cdr != null) { MyCarData = cdr.response; return(new TessApiResult()); } } if (MyCar == null) { return(new TessApiResult(false, "No Car Data")); } if (!loadFromDisk) { string url = $"https://owner-api.teslamotors.com/api/1/vehicles/{myCarId.Value}/vehicle_data"; string result = await CallUrl(url, "GET"); cdr = SerializeTool.DeSerializeJson <CarDataResponse>(result); } MyCarData = cdr?.response; if (cdr != null) { TessTools.SaveResponse(cdr); } return(new TessApiResult()); } catch (Exception ex) { Log.Error("MyTess.GetCarInfo", ex); return(new TessApiResult(ex)); } }