vanmoof-webapi.js
Version:
Access VanMoof Web API (readonly)
61 lines (57 loc) • 2.56 kB
JavaScript
;
const VanMoofWebAPI = require('../index.js');
const tools = require('./tools');
const {buntstift} = require('buntstift');
let settingsFile = tools.getSettingsFile();
const account = settingsFile.ACCOUNT;
const password = settingsFile.PASSWORD;
(async () => {
const webAPI = new VanMoofWebAPI.WebAPI(account, password);
try {
await webAPI.initialize();
const data = webAPI.getCustomerData().data;
console.log(data);
buntstift.line();
buntstift.list(`name: ${data.name}`);
buntstift.list(`email: ${data.email}`);
buntstift.list(`number of bikes: ${data.bikes.length}`);
for (let i = 0; i < data.bikeDetails.length; i++) {
const bike = data.bikeDetails[i];
buntstift.header(`bike #${i + 1} (id: ${bike.id}):`);
buntstift.list(`name: ${bike.name}`);
buntstift.list(`frame number: ${bike.frameNumber}`);
if (bike.macAddress) {
buntstift.list(`mac address: ${bike.macAddress}`);
}
const tripDistance = await webAPI.getOdometer(bike.id);
const distanceKilometers = tripDistance.toFixed(1);
buntstift.list(`distance: ${distanceKilometers} km`);
if (bike.smartmoduleCurrentVersion) {
buntstift.list(`firmware: ${bike.smartmoduleCurrentVersion}`);
}
if (bike.smartmoduleDesiredVersion) {
buntstift.list(`new firmware available: ${bike.smartmoduleDesiredVersion}`);
}
buntstift.list(`is tracking: ${bike.isTracking}`);
const stolen = bike.stolen;
buntstift.list(`is stolen: ${stolen.isStolen}`);
if (stolen.isStolen) {
buntstift.list(`date stolen: ${stolen.dateStolen}`);
buntstift.list(`latest location: ${stolen.latestLocation}`);
}
const modelColor = bike.modelColor;
buntstift.list(`color: ${modelColor.name}`);
buntstift.list(`color code (primary): ${modelColor.primary}`);
buntstift.list(`color code (secondary): ${modelColor.secondary}`);
const key = bike.key;
if (key !== null) {
buntstift.list(`encryptionKey ${key.encryptionKey}`);
buntstift.list(`passcode ${key.passcode}`);
buntstift.list(`userKeyId ${key.userKeyId}`);
}
console.log(bike.links)
}
} catch (e) {
buntstift.error(e.toString());
}
})();