homebridge-jlr-incontrol
v0.7.0
Published
Jaguar Land Rover InControl support for Homebridge: https://github.com/nfarina/homebridge
Downloads
17
Maintainers
Readme
homebridge-jlr-incontrol
Jaguar Land Rover InControl plug in for Homebridge.
Example config.json:
{
"accessories": [
{
"accessory": "Jaguar Land Rover InControl",
"name": "I-PACE",
"vin": "1AAAAA111AA111111",
"username": "[email protected]",
"password": "foobar",
"pin": 1234,
"deviceId": "UUID",
"lowBatteryThreshold": 25,
"targetTemperature": 21
}
]
}
deviceId
needs to be a unique device identifier to identify your Homebridge.lowBatteryThresold
defines the battery level below which the battery is considered to be low. Defaults to 25% if the value is not specified.targetTemperature
define the default target temperature (in ℃) when preconditioning the vehicle. Defaults to 22℃ if the value is not specified
Exposes:
- Battery service;
- Door Lock service;
- Vehicle pre-conditioning on/off switch.
If you use the example above, you would gain Siri commands like:
- "What is the charge level on the I-PACE?" (check the charge level of the battery)
- "Is the I-PACE charging?" (is the car charging?)
- "Is the I-PACE locked?" (check if the car is locked)
- "Open the I-PACE" (unlock the vehicle)
- "Turn on the I-PACE Preconditioning" (pre-condition the I-PACE)
- "Set the I-PACE Preconditioning to 18 degrees"
Multiple Vehicles
Have a garage full of Jaguar Land Rovers? You can easily add all of them to HomeKit by creating a separate accessory for each one distinguished by their unique VIN numbers:
{
"accessories": [
{
"accessory": "Jaguar Land Rover InControl",
"name": "I-PACE",
"vin": "1AAAAA111AA111111",
"username": "[email protected]",
"password": "foobar",
"pin": 1234,
"deviceId": "951208e8-a75d-4009-9faf-0039f728f82e",
"lowBatteryThreshold": 30,
"targetTemperature": 21
},
{
"accessory": "Jaguar Land Rover InControl",
"name": "Range Rover",
"vin": "2BBBBB222BB22222",
"username": "[email protected]",
"password": "foobar",
"pin": 1234,
"deviceId": "69df52b-0c86-49eb-b115-de789fd4400d",
"targetTemperature": 18,
"disableEV": true
}
]
}
If you use the example above, you would gain Siri commands like:
- "Open the I-PACE" (unlock the I-PACE)
- "Open the Range Rover" (unlock the Range Rover)
- "Turn on the I-PACE Preconditioning" (pre-condition on the I-PACE)
Development
You can run Rollup in watch mode to automatically transpile code as you write it:
npm run dev
Acknowledgements
This plug in is based on the work of jlrpy and the excellent reverse engineering of the InControl API contributed by ardevd.