# VolvoOnCall Binding This binding integrates the [Volvo On Call](https://www.volvocars.com/intl/own/connectivity/volvo-on-call) compatible vehicles. The integration happens through the WirelessCar Remote API. ## Supported Things All cars compatible with Volvo On Call shall be supported by this binding. ## Discovery Once a VocApi Bridge has been created with according credential, vehicles connected to this account will automatically be detected. ## Binding Configuration The binding has no configuration options itself, all configuration is done at 'Things' level. ## Bridge Configuration The 'VolvoOnCall API' bridge uses the owner's email address and password in order to access the VOC Remote API. This is the same email address and password as used in the VolvoOnCall smartphone app, that allows to remotely control your car(s). | Parameter | Description | Required | |-----------------|------------------------------------------------------|--------- | | username | Username from the VolvoOnCall app (email address) | yes | | password | Password from the VolvoOnCall app | yes | Once the bridge created, you will be able to launch discovery of the vehicles attached to it. ## Thing Configuration The 'VolvoOnCall API' bridge uses the owner's email address and password in order to access the VOC Remote API. | Parameter | Name | Description | Required | |-----------------|------------------|---------------------------------------------------------|----------| | vin | Vin | Vehicle Identification Number of the car | yes | | refreshinterval | Refresj Interval | Interval in minutes to refresh the data (default=10) | yes | ## Channels All numeric channels use the [UoM feature](https://openhab.org/blog/2018/02/22/units-of-measurement.html). This means you can easily change the desired unit e.g. miles/h instead of km/h just in your item definition. Some of the channels are only available for specific cars and models. These properties are added to the Thing automatically by the binding when an API call is made. Following channels are currently available: | Channel Type ID | Item Type | Description | Remark | |-----------------------------------------------|----------------------|----------------------------------------------------|------------------------------------------------| | doors#frontLeft | Contact | Door front left | | | doors#frontRight | Contact | Door front right | | | doors#rearLeft | Contact | Door rear left | | | doors#rearRight | Contact | Door rear right | | | doors#hood | Contact | Hood | | | doors#tailgate | Contact | Tailgate | | | doors#carLocked | Switch | Is the car locked | Can also be used to lock / unlock the car. Only if property 'lock' is true. | | windows#frontLeftWnd | Contact | Window front left | | | windows#frontRightWnd | Contact | Window front right | | | windows#rearLeftWnd | Contact | Window rear left | | | windows#rearRightWnd | Contact | Window rear right | | | odometer#odometer | Number:Length | Odometer value | | | odometer#tripmeter1 | Number:Length | Trip meter 1 value | | | odometer#tripmeter2 | Number:Length | Trip meter 2 value | | | tank#fuelAmount | Number:Volume | Amount of fuel left in the tank | | | tank#fuelLevel | Number:Dimensionless | Percentage of fuel left in the tank | | | tank#fuelAlert | Switch | Alert if the amount of fuel is running low | ON when distancy to empty < 100 | | tank#distanceToEmpty | Number:Length | Distance till tank is empty | | | position#location | Location | Location of the car | | | position#locationTimestamp | DateTime | Timestamp of the latest confirmed location | | | tyrePressure#frontLeftTyre | Number | Tyrepressure front left tyre | Normal / LowSoft | | tyrePressure#frontRightTyre | Number | Tyrepressure front right tyre | Normal / LowSoft | | tyrePressure#rearLeftTyre | Number | Tyrepressure rear left tyre | Normal / LowSoft | | tyrePressure#rearRightTyre | Number | Tyrepressure rear right tyre | Normal / LowSoft | | other#averageSpeed | Number:Speed | Average speed | | | other#engineRunning | Switch | Is the car engine running | | | other#remoteHeater | Switch | Start the car remote heater | Only if property 'remoteHeater' is true | | other#preclimatization | Switch | Start the car preclimatization | Only if property 'preclimatization' is true | | other#brakeFluidLevel | Number | Brake fluid level | Normal / Low / VeryLow | | other#washerFluidLevel | Number | Washer fluid level | Normal / Low / VeryLow | | other#serviceWarning | String | Warning if service is needed | | | other#bulbFailure | Switch | ON if at least one bulb is reported as failed | | | battery#batteryLevel | Number:Dimensionless | Battery level | Only for Plugin hybrid / Twin Engine models. The binding reports undefined in situations where it knows the API is misleading. | | battery#batteryLevelRaw | Number:Dimensionless | Battery level | Only for Plugin hybrid / Twin Engine models. Raw figure from the API, can be misleading. | | battery#batteryDistanceToEmpty | Number:Length | Distance until battery is empty | Only for Plugin hybrid / Twin Engine models | | battery#chargeStatus | String | Charging status | Only for Plugin hybrid / Twin Engine models | | battery#chargeStatusCable | Switch | Is the cable plugged in | Only for Plugin hybrid / Twin Engine models | | battery#chargeStatusCharging | Switch | Is the car currently charging | Only for Plugin hybrid / Twin Engine models | | battery#chargeStatusFullyCharged | Switch | Is the car fully charged | Only for Plugin hybrid / Twin Engine models | | battery#timeToHVBatteryFullyCharged | Number:Time | Time in minutes until the battery is fully charged | Only for Plugin hybrid / Twin Engine models | | battery#chargingEnd | DateTime | Calculated time when the battery is fully charged | Only for Plugin hybrid / Twin Engine models | | lasttrip#tripConsumption | Number:Volume | Last trip fuel consumption | | | lasttrip#tripDistance | Number:Length | Last trip distance | | | lasttrip#tripStartTime | DateTime | Last trip start time | | | lasttrip#tripEndTime | DateTime | Last trip end time | | | lasttrip#tripDuration | Number:Time | Last trip duration | | | lasttrip#tripStartOdometer | Number:Length | Last trip start odometer | | | lasttrip#tripStopOdometer | Number:Length | Last trip stop odometer | | | lasttrip#startPosition | Location | Last trip start location | | | lasttrip#endPosition | Location | Last trip end location | | ## Events | Channel Type ID | Options | Description | |--------------------|-------------|----------------------------------------------------------------| | other#carEvent | | | | | CAR_STOPPED | Triggered when the car has finished a trip | | | CAR_MOVED | Triggered if the car mileage has changed between two polls | | | CAR_STARTED | Triggered when the engine of the car went on between two polls | ## Full Example demo.things: ``` Bridge volvooncall:vocapi:glh "VoC Gaël" @ "System" [username="mail@address.org", password="mypassword"] { Thing vehicle XC60 "XC60" @ "World" [vin="theCarVIN", refreshinterval=5] } ``` demo.items: ``` Group gVoc "Volvo On Call" Group:Contact:OR(OPEN,CLOSED) gDoorsOpening "Portes" (gVoc) Contact Voc_DoorsTailgate "Tailgate" (gDoorsOpening) {channel="volvooncall:vehicle:glh:XC60:doors#tailgate"} Contact Voc_DoorsRearRight "Rear right" (gDoorsOpening) {channel="volvooncall:vehicle:glh:XC60:doors#rearRight"} Contact Voc_DoorsRearLeft "Rear Left" (gDoorsOpening) {channel="volvooncall:vehicle:glh:XC60:doors#rearLeft"} Contact Voc_DoorsFrontRight "Passager" (gDoorsOpening) {channel="volvooncall:vehicle:glh:XC60:doors#frontRight"} Contact Voc_DoorsFrontLeft "Conducteur" (gDoorsOpening) {channel="volvooncall:vehicle:glh:XC60:doors#frontLeft"} Contact Voc_DoorsHood "Hood" (gDoorsOpening) {channel="volvooncall:vehicle:glh:XC60:doors#hood"} Group:Contact:OR(OPEN,CLOSED) gWindowsOpening "Fenêtres" (gVoc) Contact Voc_WindowsRearRightWnd "Rear right" (gWindowsOpening) {channel="volvooncall:vehicle:glh:XC60:windows#rearRightWnd"} Contact Voc_WindowsRearLeftWnd "Rear Left" (gWindowsOpening) {channel="volvooncall:vehicle:glh:XC60:windows#rearLeftWnd"} Contact Voc_WindowsFrontRightWnd "Passager" (gWindowsOpening) {channel="volvooncall:vehicle:glh:XC60:windows#frontRightWnd"} Contact Voc_WindowsFrontLeftWnd "Conducteur" (gWindowsOpening) {channel="volvooncall:vehicle:glh:XC60:windows#frontLeftWnd"} Switch Voc_DoorsCarLocked "Verouillée" (gVoc) {channel="volvooncall:vehicle:glh:XC60:doors#carLocked"} Number:Length Voc_Odometer "Kilométrage [%d %unit%]" (gVoc) {channel="volvooncall:vehicle:glh:XC60:odometer#odometer"} Number:Dimensionless Voc_FuelLevel "Fuel Level" (gVoc) {channel="volvooncall:vehicle:glh:XC60:tank#fuelLevel"} Switch Voc_Fuel_Alert "Niveau Carburant" (gVoc) {channel="volvooncall:vehicle:glh:XC60:tank#fuelAlert"} Number Voc_Fluid_Message "Lave Glace" (gVoc) {channel="volvooncall:vehicle:glh:XC60:other#washerFluidLevel"} Location Voc_Location "Location" (gVoc) {channel="volvooncall:vehicle:glh:XC60:position#location"} DateTime Voc_Location_LUD "Timestamp [%1$tH:%1$tM]"