Jump to content
Jason-ABRP

I-Pace Live Data Discussion

Recommended Posts

This post is for discussion and work on providing I-Pace live data capability.

Probably the most promising solution is using the JLRpy tools (https://github.com/ardevd/jlrpy) to retrieve data from the car.  There are probably limitations.  If anyone's interested and knows a little Python (or is willing to learn), please give this a try and see how well it works.

Since neither of us (Bo or myself) have an I-Pace, developing this from scratch will be quite challenging.  Without help, it will be quite some time before we can get a workable interface.

Link to comment
Share on other sites

I would be happy to help on this. I own an i Pace. I would like to use and OBD2 bluetooth enabled plug in the car and use an iOS device to receive it’s data in ABRP. 

On the other hand I will try to connect to the car data using the jlrpy library.

 

Link to comment
Share on other sites

3 minutes ago, Rob Kamp said:

I would be happy to help on this. I own an i Pace. I would like to use and OBD2 bluetooth enabled plug in the car and use an iOS device to receive it’s data in ABRP. 

On the other hand I will try to connect to the car data using the jlrpy library.

 

Would something like this https://obdwarenhuis.nl/obdlink-mx-bluetooth-interface-ios-android fit the task?

Link to comment
Share on other sites

An OBD2 dongle is a good start, but we would need to identify the exact signals the iPace uses to communicate the various statuses.  To do that, we'll have to reverse engineer the PIDs.  A good first start would be using something like Torque Pro and TorqueScan (Android, not familiar with what's available in iOS) to see if anything comes up.  Could also try third-party tools like http://www.auterraweb.com/dynoscan.html,

I'm not overly familiar with the process, as my car had already had its PIDs identified by the time I had purchased it.  I'll see if I can dig up any resources online for ID'ing the PIDs, I'd encourage you guys to do the same.

Link to comment
Share on other sites

I am going to try and hook up the dongle to a Raspberry PI and then store all outcoming signals into InfluxDB, a time series database. From that info, I think, we can reverse engineer the signals. I'll keep you updated on the progress. 

Link to comment
Share on other sites

15 hours ago, Rob Kamp said:

I am going to try and hook up the dongle to a Raspberry PI and then store all outcoming signals into InfluxDB, a time series database. From that info, I think, we can reverse engineer the signals. I'll keep you updated on the progress. 

You may also have to brute force the PIDs, typically the data is a call/response type of interaction, where a signal is sent to the bus and the recipient responds with the requested data.  There's a lot of data to parse through online about CAN transactions.

Link to comment
Share on other sites

You can modify the Apple Shortcuts created on the ipaceforums.co.uk to query most of the sensors you would need and then post via the ABRP API.

The Shortcuts talk to the i-Pace’s API using your Jaguar Remote credentials.

No hardware dongles or reverse engineering required.

Might give it a crack when I get a spare moment.

Link to comment
Share on other sites

On 6/13/2019 at 7:54 PM, Dunravin said:

You can modify the Apple Shortcuts created on the ipaceforums.co.uk to query most of the sensors you would need and then post via the ABRP API.

The Shortcuts talk to the i-Pace’s API using your Jaguar Remote credentials.

No hardware dongles or reverse engineering required.

Might give it a crack when I get a spare moment.

That would be great! Spare moments are a thing I find myself ever lacking.

There's two ways we could end up deploying an API tool in the end, should you write one up:

  1. Send us your code, and we run it on our server, and add a login field (like the MyTesla login) on the site to provide the API credentials
  2. Individuals run it on their own, and you send it directly to our Telemtry API

If you want to use 2 for a bit to test it out and see how well it works, shoot me an email at jason@iternio.com and I'll set you up with an API key.  

Link to comment
Share on other sites

Jason,

What should I set the ‘carmodel’ value to for the i-Pace in the telemetry API?

Also, what is the ‘power’ variable in the request?

I need an API key to test with.  I emailed you yesterday requesting it.

Thanks,

Dunravin

Edited by Dunravin
update questions
Link to comment
Share on other sites

Power is the kW output of the battery.  It's optional, but highly desired.

Carmodel can be acquired from the "get_carmodels_list" method of the API, but for the ipace it's:

"jaguar:ipace:19:90:other"
"manufacturer:model:year:capacity:other parameters"

Saw your email, and generated one for you, let me know if you run into any issues with that.  

Link to comment
Share on other sites

On 5/22/2019 at 5:59 PM, Jason (ABRP) said:

Probably the most promising solution is using the JLRpy tools (https://github.com/ardevd/jlrpy) to retrieve data from the car.  There are probably limitations.  If anyone's interested and knows a little Python (or is willing to learn), please give this a try and see how well it works.

I played a bit with JLRpy this weekend, and it should hopefully be a breeze to run it on your server as you propose. What data do you MUST have and SHOULD have, and I can have a closer look with some example code in a few days.

 

For example, to get the SOC, you only need:

#!/usr/bin/python

import jlrpy

c = jlrpy.Connection('USER', 'PASS')

v = c.vehicles[0]

current_soc = v.get_status("EV_STATE_OF_CHARGE")

print(current_soc)

Someone have uploaded this: https://pastebin.com/ZWMTjdqP

which is what we get from get_status() above.

Link to comment
Share on other sites

@Dunravin was playing around with some code too, if he's interested in collaboration you could definitely drop him a line!  He did run into some (solvable) issues though, such as having to force a refresh of the data, and some latency between requesting the data and receiving the data.  Still, should be useful!

We have our Telemetry API docs up on our website, which includes a list of the required / desired telemetry.  Anything from that list you can get is great!  

Link to comment
Share on other sites

On 6/14/2019 at 1:54 AM, Dunravin said:

You can modify the Apple Shortcuts created on the ipaceforums.co.uk to query most of the sensors you would need and then post via the ABRP API.

The Shortcuts talk to the i-Pace’s API using your Jaguar Remote credentials.

No hardware dongles or reverse engineering required.

Might give it a crack when I get a spare moment.

By the way, those are my Shortcuts. I'm Goshdarnit on the ipace forums. ?

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now


×
×
  • Create New...