npm-vwconnectidapi
Version:
Provides an API for We Connect ID
144 lines (117 loc) • 4.32 kB
Markdown
# npm-vwconnectidapi
NPM package for a We Connect ID API based on https://github.com/TA2k/ioBroker.vw-connect
and https://github.com/nightsha-de/npm-vwconnectapi
Clone this repository to $path and use
```
sudo npm install -g npm-vwconnectidapi
```
to install.
### Example code:
```javascript
const api = require('npm-vwconnectidapi');
const idStatusEmitter = api.idStatusEmitter;
var log = new api.Log();
var vwConn = new api.VwWeConnect();
vwConn.setLogLevel("INFO"); // optional, ERROR (default), INFO, WARN or DEBUG
vwConn.setCredentials("YourEmail", "YourPassword");
idStatusEmitter.on('currentSOC', (soc) => {
console.log(soc);
});
vwConn.getData()
.then(() => {
vwConn.setActiveVin("the VIN of your ID"); // must exist in vwConn.vehicles
//vwConn.startClimatisation().then(...)
//vwConn.stopClimatisation().then(...)
//vwConn.stopCharging().then(...)
vwConn.startCharging()
.then(() => {
log.info("Charging started");
})
.catch(() => {
log.error("Error while starting the charging");
})
.finally(() => {
log.info("Exiting ...");
vwConn.onUnload();
process.exit(1);
});
})
.catch(() => {
log.error("something went wrong");
process.exit(1);
});
```
### Methods supplied by the API:
All methods work with promises.
#### vwConn.setCredentials(user, password)
Login credentials. Pin is not needed for the ID cars.
#### vwConn.setLogLevel(logLevel)
Set/change the log level to "DEBUG", "INFO" or "ERROR" (default).
#### vwConn.getData()
Fills all data objects. If the process is not explicitly exited after getData (see example) it will regularly update the data in a given interval.
#### vwConn.setActiveVin(VIN)
Sets the VIN that is used for climatisation and charging. Setting is mandatory before clima or charging actions, VIN needs to exists in the vwConn.vehicles data.
#### vwConn.startClimatisation()
Start the air-conditioning.
#### vwConn.setClimatisation(temperature)
Set climatisation temperature.
#### vwConn.setClimatisationSetting(setting, value)
setting can be:
```climatizationAtUnlock```
```climatisationWindowHeating```
```climatisationWindowHeating```
```climatisationFrontLeft```
```climatisationFrontLeft```
```climatisationFrontRight```
```climatisationFrontRight```. Set to true or false.
#### vwConn.stopClimatisation()
Stop the air-conditioning.
#### vwConn.setChargingSetting(setting, value)
setting can be:
```targetSOC```: Target battery level in percent.
```chargeCurrent```: "maximum" of "reduced".
```autoUnlockPlug```: true or false, to automatically unlock plug when finished charging.
#### vwConn.setChargingSettings(targetSOC, maxChargeCurrent) -> soon to be deprecated in favor of vwConn.setChargingSetting
Change the target SOC and the maximum charge current ("maximum" or "reduced") for charging.
#### vwConn.startCharging()
Start charging.
#### vwConn.stopCharging()
Stop charging.
#### vwConn.setDestination(destination)
Sends a destination to the navigation system. 'destination' is a JS object with the following structure.
```
{
destinations: [
{
poiProvider: "unknown",
geoCoordinate: {
longitude: 5.12345,
latitude: 52.12345
},
destinationName: "Home",
address: {
country: "Nederland",
street: "My Street 1",
zipCode: "1234 AA",
city: "My City"
}
}
]
}
```
#### Status changes emitted by the API:
'statusNotSafe' - car is parked and doors remain unlocked or windows opened for >5 minutes.
'parked' - Car is parked. Emits parking position as argument.
'notParked' - Car is on the move.
'chargePurposeReached' - Target state of charge reached.
'chargingStarted' - Charging started.
'chargingStopped' - Charging stopped.
'currentSOC' - Actuel state of charge changed. Emits SOC as argument.
'climatisationStopped' - Climatisation.
'climatisationStarted' - Climatisation started.
'climatisationCoolingStarted' - Climatisation started cooling.
'climatisationHeatingStarted' - Climatisation started heating.
'climatisationTemperatureUpdated' - Target climatisation temperature changed.
### Objects supplied by the API:
#### vwConn.vehicles - List of vehicles
#### vwConn.idData - Car data for the IDs