Tesla APIs NodeJS版本(持续更新ing)
提供了车机状态查询、车机部分功能的控制
npm install @0tag/tesla-js --save
yarn add @0tag/tesla-js
该库不依赖第三方fetch、故在使用该库需要自行实现Fetch与TokenDataSource接口来扩展。 TokenDataSource: 提供teslaAPI所需的AccessToken数据储存接口; Fetch: 提供访问TeslaAPI所需的GET/POST/REQUEST函数接口。
可根存储的用户唯一编号来初始化并获取对应的API
userTeslaAPIs: (userId: string) => {
vehicles: VehiclesApi;
users: UsersApi;
products: ProductsApi;
streams: StreamsApi;
vehicleState: VehicleStateApi;
vehicleData: VehicleDataApi;
vehicleCommonds_Alerts: AlertsApi;
vehicleCommonds_Doors: DoorsApi;
vehicleCommonds_Homelink: HomelinkApi;
vehicleCommonds_Media: MediaApi;
vehicleCommonds_RemoteControl: RemoteControlApi;
};
//初始化
const TeslaAPIs = TeslaAPI.Builder()
.toDefault()
.datasource(new PrismaUserTeslaSource())
.fetch(new AxiosFetch())
//tesla 账户登录
TeslaAPIs.authorize()
.login(username: string, // email账户
password: string, // 密码
mfaDeviceName?: OrNullable<string>, // 开启了MFA功能的设备
mfaPassCode?: OrNullable<string>) // MFA验证码
TeslaAPIs.userTeslaAPIs(userId)
.users.getUsersInformation() //获取账户信息