Jaguar Landrover InControl Integration (Currently not working due to JLR blocking 3rd party access)

Awesome integration. I’m fairly new to Home Assistant so excuse the basic questions. Should the EV information be readily available, as I’m not seeing it, or do I need to add something to the config? It would be great to see the charging status and level in my dashboard

My ultimate goal is to set up an automation to turn off the charger (via a smart switch) when the battery is 100%.

These are the entities I can see:

@sdeagh
Almost all data sent from the vehicle should be stored in the RRS PHEV All Info entity as attributes. You should be able to find what your looking for there, however i am using this on a petrol only vehicle i am unsure how it will differ for your PHEV.

If you find the attribute you can use attribute information to setup automations.

In fact for my Range Rover Sport the fuel tank level is stored as an attribute under sensor.my_car_range entity.

All,

I have sad news for you all.

I no longer own a JLR vehicle. Moved to the dark side of an X5. As such, I can no longer test issues or changes to this integration.

I am happy to keep supporting (doesn’t seem to have many issues) but feel that my lack of ability to test may not be very good in ensuring things don’t break when changed. I am more than happy if someone wants to take over the ownership of this integration → applications to this thread.

In the meantime, thanks to all who have been using this for support and feedback to make a good integration.

2 Likes

Hi Mark,

I’ve just discovered your integration so this is sad news. Is there a way to submit your work to the powers that be at Home Assistant so it could become an official integration and live on?

@duncanwilkinson unfortunately even core integrations still rely on their authors to maintain so this will not remedy the issue.

I wouldn’t worry too much for now, things that change in HA that require changes to this integration should be ok, but if JLR change anything with their API or new vehicles come out that are not compatible could be tricky.

As I said, will do my best to keep it going but without the ability to test this is just harder.

We could maybe find a community way to do this better, which is what i am trying to acheive.

I have been using this integration component for 4 months now and it works very well!

Since Im Software Engineer I want to have the latest software updates from Jaguar installed in my I-Pace. However, its clear for me that Jaguar is a car company and not a software company, even they have built excellent electric car depending highly on the software.

What Im missing is information about new software releases, such as version number, release date and release notes. I know I can find some of this information on Jaguar Software Updates, but there is none API exposing releases so we can include this information in HA and also notify car owner about new releases. I solved this issue by creating an RESTful Sensor in HA that uses the Jaguar Web App API. Not the best solution, but thats what I can do currently.

In addition to info about new releases I would like to see the current software versions installed in my car. That is somethins that I can’t find in All info entity. I guess Jaguar is not exposing this info in their API?

So I guess what Im asking is if there are any other solutions to retrieve current and new software release information from Jaguar?

How did you do this Lovelace card? I would love something similar for mine

type: picture-elements
image: /hacsfiles/epace0.png
style: |
  #root > hui-image {
    display: block;
    width: 100%;
    top: 30px;
    padding: 30px 0px 30px 0px;
    margin: auto;
    background-color: black;
  }
elements:
  - type: state-icon
    entity: lock.danil_doors
    tap_action: more_info
    style:
      color: white
      left: 10%
      top: 86%
  - type: state-label
    entity: lock.danil_doors
    style:
      color: white
      left: 10%
      top: 95%
  - type: state-icon
    entity: sensor.danil_windows
    tap_action: more_info
    style:
      color: white
      left: 25%
      top: 86%
  - type: state-label
    entity: sensor.danil_windows
    style:
      color: white
      left: 25%
      top: 95%
  - type: icon
    icon: mdi:security
    entity: sensor.danil_alarm
    tap_action: more_info
    style:
      color: white
      left: 40%
      top: 86%
  - type: state-label
    entity: sensor.danil_alarm
    style:
      color: white
      left: 40%
      top: 95%
  - type: state-icon
    entity: sensor.danil_range
    tap_action: more_info
    style:
      color: white
      left: 55%
      top: 86%
  - type: state-label
    entity: sensor.danil_range
    style:
      color: white
      left: 55%
      top: 95%
  - type: state-icon
    entity: sensor.danil_service_info
    tap_action: more_info
    style:
      color: white
      left: 70%
      top: 86%
  - type: state-label
    entity: sensor.danil_service_info
    attribute: Distance To Service
    style:
      color: white
      left: 70%
      top: 95%
  - type: state-icon
    entity: sensor.danil_tyres
    tap_action: more_info
    style:
      color: white
      left: 82%
      top: 86%
  - type: state-label
    entity: sensor.danil_tyres
    style:
      color: white
      left: 82%
      top: 95%
  - type: state-icon
    entity: sensor.jaga_battery_sensor
    tap_action: more_info
    style:
      color: white
      left: 93%
      top: 86%
  - type: state-label
    entity: sensor.jaga_battery_sensor
    style:
      color: white
      left: 93%
      top: 95%
  - type: state-icon
    entity: sensor.danil_last_trip
    tap_action: more_info
    style:
      color: white
      left: 90%
      top: 4%
  - type: state-label
    entity: sensor.danil_last_trip
    style:
      color: white
      left: 90%
      top: 12%
  - type: state-icon
    entity: sensor.jaga_odo_sensor
    tap_action: more_info
    style:
      color: white
      left: 75%
      top: 4%
  - type: state-label
    entity: sensor.jaga_odo_sensor
    style:
      color: white
      left: 75%
      top: 12%
  - type: state-icon
    entity: sensor.jaga_fuel_sensor
    tap_action: more_info
    style:
      color: white
      left: 62%
      top: 4%
  - type: state-label
    entity: sensor.jaga_fuel_sensor
    style:
      color: white
      left: 62%
      top: 12%
  - type: state-icon
    entity: sensor.jaga_wash_sensor
    tap_action: more_info
    style:
      color: white
      left: 50%
      top: 4%
  - type: state-label
    entity: sensor.jaga_wash_sensor
    style:
      color: white
      left: 50%
      top: 12%
  - type: state-icon
    entity: sensor.jaga_oil_sensor
    tap_action: more_info
    style:
      color: white
      left: 36%
      top: 4%
  - type: state-label
    entity: sensor.jaga_oil_sensor
    style:
      color: white
      left: 36%
      top: 12%
  - type: state-icon
    entity: sensor.jaga_coolant_sensor
    tap_action: more_info
    style:
      color: white
      left: 22%
      top: 4%
  - type: state-label
    entity: sensor.jaga_coolant_sensor
    style:
      color: white
      left: 22%
      top: 12%
  - type: state-icon
    entity: sensor.jaga_brake_sensor
    tap_action: more_info
    style:
      color: white
      left: 8%
      top: 4%
  - type: state-label
    entity: sensor.jaga_brake_sensor
    style:
      color: white
      left: 8%
      top: 12%

# Configure a default setup of Home Assistant (frontend, api, etc)
default_config:

# Text to speech
tts:
  - platform: google_translate

group: !include groups.yaml
automation: !include automations.yaml
script: !include scripts.yaml
scene: !include scenes.yaml

sensor:
  - platform: template
    sensors:
      jaga_battery_sensor:
        friendly_name: "JAGA Battery Sensor"
        icon_template: "mdi:car-battery"
        value_template: "{{ state_attr('sensor.danil_all_info','status').batteryVoltage }}"
        unit_of_measurement: V
        attribute_templates:
          battery_status: "{{ state_attr('sensor.danil_all_info','status').batteryStatus }}"
          tu_status: "{{ state_attr('sensor.danil_all_info','status').tuStatusPower }}"
          tu_serial: "{{ state_attr('sensor.danil_all_info','attributes').telematicsDevice.serialNumber }}"
      jaga_climate_sensor:
        friendly_name: "JAGA climate status"
        icon_template: "mdi:car-seat-heater"
        value_template: "{{ state_attr('sensor.danil_all_info','status').climateStatusOperatingStatus }}"
      jaga_flt_sensor:
        friendly_name: "Переднее левое"
        icon_template: "mdi:car-tire-alert"
        value_template: "{{ state_attr('sensor.danil_all_info','status').tyrePressureFrontLeft }}"
        unit_of_measurement: Bar
      jaga_frt_sensor:
        friendly_name: "Переднее правое"
        icon_template: "mdi:car-tire-alert"
        value_template: "{{ state_attr('sensor.danil_all_info','status').tyrePressureFrontRight }}"
        unit_of_measurement: Bar
      jaga_rrt_sensor:
        friendly_name: "Заднее правое"
        icon_template: "mdi:car-tire-alert"
        value_template: "{{ state_attr('sensor.danil_all_info','status').tyrePressureRearRight }}"
        unit_of_measurement: Bar
      jaga_rlt_sensor:
        friendly_name: "Заднее левое"
        icon_template: "mdi:car-tire-alert"
        value_template: "{{ state_attr('sensor.danil_all_info','status').tyrePressureRearLeft }}"
        unit_of_measurement: Bar
      jaga_odo_sensor:
        friendly_name: "Одометер"
        icon_template: "mdi:speedometer-slow"
        value_template: "{{ state_attr('sensor.danil_info','Odometer') }}"
        unit_of_measurement: km
      jaga_fuel_sensor:
        friendly_name: "Остаток топлива"
        icon_template: "mdi:gas-station"
        value_template: "{{ state_attr('sensor.danil_range','Fuel Level') }}"
      jaga_wash_sensor:
        friendly_name: "Омывайка"
        icon_template: "mdi:wiper-wash"
        value_template: "{{ state_attr('sensor.danil_service_info','Washer Fluid') }}"
      jaga_oil_sensor:
        friendly_name: "Масло"
        icon_template: "mdi:oil"
        value_template: "{{ state_attr('sensor.danil_service_info','Oil Level') }}"        
      jaga_coolant_sensor:
        friendly_name: "Антифриз"
        icon_template: "mdi:car-coolant-level"
        value_template: "{{ state_attr('sensor.danil_service_info','Coolant Level') }}"          
      jaga_brake_sensor:
        friendly_name: "Тормоза"
        icon_template: "mdi:car-brake-alert"
        value_template: "{{ state_attr('sensor.danil_service_info','Brake Fluid') }}"          
        
2 Likes

I’m not seeing any PHEV sensors on my instance. I have the service to start and stop charging but no sensors for battery status or if its charging or not. the car is an my18 Range rover Sport P400E

I only have 11 entities instead of the 12 listed in the readme

I cannot find anything in the logs which would indicate a problem

anybody any ideas?

All, @ApriliaEdd and I have been working to resolve issues with PHEV vehicles. This is now done but due to JLR not actually providing a fuel type to identify PHEVs then I have had to insert some code to determine this.

The dev branch in the github repo contains v2.2 with this and other changes in it. It would be really helpful if I could get some people to test this who have EV or ICE only cars and report back any issues to issue #66 on the github issues.

If you do have an issue, please provide what car you have, version of HA and a debug data output (enabling this in the integration options), along with any errors in the logs (you may need to set logging to debug level in configuration.yaml).

Thanks
Mark

All,

V2.2.1 is now released with a number of fixes and support for PHEV. Update through HACS.

Mark

In the past I got sensor._ev_battery to provide the status of my battery (charging, fullycharged etc). Currently this is unavailable Not sure what has changed. Running 2022.5.5 and the latest v2.2.1.

Thanks!

Martijn,

Please see the change log. This sensor has been replaced and can be found if you look at the integration device. Ie Settings->Devices & Services->Click on device link for Jaguar Landrover InControl

2 Likes

Thanks Mark, I was using this sensor to message when my car if fully charged. I can probably also use the battery sensor (going from 99 to 100) to trigger this.

This sensor also has an attribute that shows the charge status. You can use this attribute in an automation. Lots of info how to do this if you google. Hope that helps.

I see now, this is great! Big thanks!

Hi all. Very sorry for so little work on this in some months. There were a few issues arising due to changes in HA which should now be resolved in the, just released, v2.2.2.

Let me know if any issues found.

Thanks Mark

Hello all,

forgive me i am very new to these Home Assistant and ongoing learning… found it amazing already.

Right, I got Land Rover Discovery Sport and I used your Integration add in my Home Assistant without issued. still leaning. would like to add Engine to Power Climate to warming car up before drive off - can it add on i hope. beep & flash and inform me that Incontrol Pro map time for update etc.

is there any control sensor to inform me that car roof blind open or close?

let me know as i am so interesting!

Thanks David

I would love to have like that for myself… can you give steps by steps demo of how to create that… would be brilliant for all of us here.

This is what I have created. I have it setup so you have to enter the pin into the keypad before the lock or start car buttons work. They keypad has several variations that rotate so all the buttons are in different positions. Ya know - just for fun :slight_smile:

One issue I seem to be having is the tire pressure sometimes works, and sometimes does not. It seems to register it after I have been driving, but if the sensors update while the car is locked, it gives me a weird number - not sure if that is integration or config related, or just the InControl app.

The values and icons all have variable colors too, which is also, i guess fun!

image

image