msp1974 / homeassistant-jlrincontrol

An integration for JLR InControl to Home Assistant
MIT License
67 stars 12 forks source link

JLR blocked API access again (Unable to connect to the JLRIncontrol servers) #143

Open JonSilver opened 6 months ago

JonSilver commented 6 months ago

JLR app is fine, the HA integration isn't, since midnight today.

ismarslomic commented 3 months ago

Yes, I was also thinking that if we put any effort in building an HA integration for smartcar.com, it should be a joint venture with devs for other brands as well. No point inventing the wheel for each car brand.

seanmaskey commented 2 months ago

Hi. Thank you all for the work you have put into this. I see myself as an end user, albeit an early adopter, so have a different perspective on the need for vehicle data. I use Octopus Agile time of use electricity tariff to charge an iPace. Currently I decide how much charge I need from the SOC & my anticipated journeys and then work out the approx time required and then select the relevant HA sensor from @bottlecapdave Octopus Agile integration that selects the lowest cost or carbon 30min slots for that duration. that triggers a wifi switch that operates the EV charge supply. So for me, and I suspect, other EV users with variable electricity tariffs, infrequent daily requests is not a problem. I used to have an electric mini and an Ohme charger and the two integrated with each other and Octopus, until apparently BMW changed the code and Ohme weren't able to determine the vehicle SOC and so it became a manual entry process akin to the one I've described for HA. If more date frequency is needed, that could be a paid for option, but my sense is that until regulators, commercial pressure or common sense persuades EV manufacturers to operate to some common standards, we will remain in the ever-changing world of idiosyncratic modifications and new features that require new software or hardware to operate - think mobile phone chargers, or the draw full of obsolete Apple AV connectors.

web-dc commented 2 months ago

For now two or three days I just get 502 errors on smartcar. Is it just me or anyone else?

BunpGhost commented 2 months ago

Anyone tried this: https://enode.com/ they claim to support our cars.

onorbe commented 1 month ago

Please solve it!! Or exist another way to connect my land rover to home assistant??

onorbe commented 1 month ago

Hello!! Any update?

msp1974 commented 1 month ago

Afraid not. Beyond my skills to work this out.

ardevd commented 1 month ago

I have might have a fix, but unfortunately, due to JLR's aggressive stance on the matter, and my preference not to be subject of a legal pursuit, I'm putting my work into the DIMO eco system for now.

JonSilver commented 1 month ago

JLR is in the process of committing commercial suicide at the moment anyway, so it probably doesn't matter. Once my current lease is up I'll never buy a JLR car ever again. Although the iPace is the best car I've ever driven, they're discontinuing it in December and their grand plan to go all electric by 2025 died when the iPace design team left. Unsurprising if their attitude to their employees stinks as badly as their attitude to their customers.

So much for locking everyone out of their API for the sake of security... my iPace regularly just suddenly unlocks the doors when it's sitting parked with the keys well tucked away on a hook.

I've been a consultant heavily involved in information security for over 40 years - and I bet if I ever got access to JLR's systems and source code I could find more holes than in the finest Swiss cheese.

onorbe commented 1 month ago

But DIMO works with smartcar.com and also can't connect, no?

disruptivepatternmaterial commented 1 month ago

JLR is in the process of committing commercial suicide at the moment anyway, so it probably doesn't matter. Once my current lease is up I'll never buy a JLR car ever again. Although the iPace is the best car I've ever driven, they're discontinuing it in December and their grand plan to go all electric by 2025 died when the iPace design team left. Unsurprising if their attitude to their employees stinks as badly as their attitude to their customers.

So much for locking everyone out of their API for the sake of security... my iPace regularly just suddenly unlocks the doors when it's sitting parked with the keys well tucked away on a hook.

I've been a consultant heavily involved in information security for over 40 years - and I bet if I ever got access to JLR's systems and source code I could find more holes than in the finest Swiss cheese.

So I have had a couple Jaguars and have had to take legal action against JLR NA more than a few times. I have had many a yelling match over their "included maintenance" and so on. I have a XE-S that I kept after the lease because it was half the miles due to COVID stay-at-home nonsense. I love the car, but I opted not to renew the service when it came up because of lack of support for 3rd party access. At this point it is hard to see a future for JLR other than Land Rovers, but price comparison I bought a Rivian vs. yet another 100$/tank gas hog. So read between the lines here. I can buy nearly whatever I want, I am technically competent enough to have hacked my Jaguars internal networks to fix stupid things like how when it is remote started and cold it wont turn the seat heaters on and Wireshark the internal IP.

Since I own multiple cars and some of them are EV's I get why people with iPace are annoyed here. I use the Rivian HA integration to do things that stupid proof my life: like when I come home and 50 things are happening and I forget to shut the tailgate I have an alert go to pushover and I close it with a voice command.

Plus what is really off about JLRs service is that is doesn't work along the Canadian border, but this might be more of a cell service issue.

There are DOZENS of proxy services out there who can rate limit, etc... with little work. JLR just doesn't want to, and it isnt likely because they are barely a going concern at this point.

I think those of you who really want this to work need to move on, it is really likely not to ever happen....unless you want to run an iOS emulator with the app in it, which is possible...but janky.

ardevd commented 1 month ago

But DIMO works with smartcar.com and also can't connect, no?

Correct, but you can get a DIMO hardware device and use that instead to retrieve data directly from the vehicle. I decoded OBD signals for the I-Pace so you should get quite a bit of data, such as battery SoH, etc.

RolandSwe commented 1 month ago

JLR is in the process of committing commercial suicide at the moment anyway, so it probably doesn't matter. Once my current lease is up I'll never buy a JLR car ever again. Although the iPace is the best car I've ever driven, they're discontinuing it in December and their grand plan to go all electric by 2025 died when the iPace design team left. Unsurprising if their attitude to their employees stinks as badly as their attitude to their customers.

So much for locking everyone out of their API for the sake of security... my iPace regularly just suddenly unlocks the doors when it's sitting parked with the keys well tucked away on a hook.

I've been a consultant heavily involved in information security for over 40 years - and I bet if I ever got access to JLR's systems and source code I could find more holes than in the finest Swiss cheese.

I have had the absolute worst service from JLR, since day 1 my Disco 5 facelift has had constant problems. I will never buy another JLR product again. I know plenty of other people with constant issues with their Land Rovers or Jaguars. Worst service and not the most backward thinking in terms of technology.

Valiante commented 1 month ago

Correct, but you can get a DIMO hardware device and use that instead to retrieve data directly from the vehicle. I decoded OBD signals for the I-Pace so you should get quite a bit of data, such as battery SoH, etc.

Please forgive the non-contributory reply, but does this mean you're working on an integration for DIMO and/or smartcar.com, or that there already is one? Thanks.

ardevd commented 1 month ago

Correct, but you can get a DIMO hardware device and use that instead to retrieve data directly from the vehicle. I decoded OBD signals for the I-Pace so you should get quite a bit of data, such as battery SoH, etc.

Please forgive the non-contributory reply, but does this mean you're working on an integration for DIMO and/or smartcar.com, or that there already is one? Thanks.

If nobody else makes a DIMO integration for HA I probably will at some point in the not too distant future.

BunpGhost commented 1 month ago

But DIMO works with smartcar.com and also can't connect, no?

Correct, but you can get a DIMO hardware device and use that instead to retrieve data directly from the vehicle. I decoded OBD signals for the I-Pace so you should get quite a bit of data, such as battery SoH, etc.

Hi, if you don't mind I have a couple of questions:

  1. how do you feel about having an OBD device always connected to the car? Won't that drain the precious 12v battery?
  2. There are already other apps that can read SOC and with some workarounds, get that data in Homeassistant. How is DIMO different?

Thanks, and great Job! Really sorry that JLR shutdown this before I even had a chance to try it :(

ardevd commented 1 month ago

But DIMO works with smartcar.com and also can't connect, no?

Correct, but you can get a DIMO hardware device and use that instead to retrieve data directly from the vehicle. I decoded OBD signals for the I-Pace so you should get quite a bit of data, such as battery SoH, etc.

Hi, if you don't mind I have a couple of questions:

  1. how do you feel about having an OBD device always connected to the car? Won't that drain the precious 12v battery?

  2. There are already other apps that can read SOC and with some workarounds, get that data in Homeassistant. How is DIMO different?

Thanks, and great Job! Really sorry that JLR shutdown this before I even had a chance to try it :(

  1. the DIMO hardware will go into a low power mode when the vehicle is switched off. I've tested the hardware on several vehicles and no battery drain issues have been detected.

  2. DIMO can provide a lot more data than smartcar or other similar APIs. Signals such as Battery SoH and temperature are two super useful ones for example.

ismarslomic commented 1 month ago

@ardevd what DIMO hardware have you tested with iPace, and how does the physical installation look like? Can you do it your self, or does it requires an vehicle mechanical?

Have never heard about DIMO.

ardevd commented 1 month ago

@ardevd what DIMO hardware have you tested with iPace, and how does the physical installation look like? Can you do it your self, or does it requires an vehicle mechanical?

Have never heard about DIMO.

The installation is just a matter of connecting the device to the OBD2 port. Trivial.

I've used the AutoPi but I'd go with the newly released R1 LTE now, which is cheaper and smaller.

ismarslomic commented 1 month ago

Interesting.

Are there any vendor lock in when buying a DIMO device? For instance, can you access vehicle data from the DIMO device without any cloud subscription from DIMO?

I see also that DIMO LTE R1 includes 2 years LTE, what happens after these 2 years?

Does DIMO device only provide reading data, or can you also send commands such as start charging, lock the doors, etc?

If Im going to invest in third party IoT hardware I want to be sure to be as independent of the vendor to access my vehicle data as possible.

metalmarco commented 1 month ago

I would prefer not having anything plugged in the ODB Port. Please check this post from a "Jaguar Land Rover's SOTA Release and Operations team member" detailing the JLR SOTA Update process: https://www.evoqueownersclub.co.uk/threads/pivi-pro-update-process.18972/#replies

After 10 minutes has passed, the vehicle will wake up and perform the pre-condition checks to ensure it is okay to proceed with the installation. ... OBD (On-Board Diagnostics) check: As the updates are performed across the internal vehicle network, the update cannot proceed if there is something plugged into the OBD port, as this could interact with the vehicles internal network.

ardevd commented 1 month ago

Interesting.

Are there any vendor lock in when buying a DIMO device? For instance, can you access vehicle data from the DIMO device without any cloud subscription from DIMO?

I see also that DIMO LTE R1 includes 2 years LTE, what happens after these 2 years?

Does DIMO device only provide reading data, or can you also send commands such as start charging, lock the doors, etc?

If Im going to invest in third party IoT hardware I want to be sure to be as independent of the vendor to access my vehicle data as possible.

The whole idea behind DIMO is to create an open platform that developers can build on and escape vendor lock in. There is no subscription required to access the API.

ardevd commented 1 month ago

I would prefer not having anything plugged in the ODB Port.

Please check this post from a "Jaguar Land Rover's SOTA Release and Operations team member" detailing the JLR SOTA Update process: https://www.evoqueownersclub.co.uk/threads/pivi-pro-update-process.18972/#replies

After 10 minutes has passed, the vehicle will wake up and perform the pre-condition checks to ensure it is okay to proceed with the installation.

...

OBD (On-Board Diagnostics) check: As the updates are performed across the internal vehicle network, the update cannot proceed if there is something plugged into the OBD port, as this could interact with the vehicles internal network.

I've had my DIMO device connected 24/7 to my new Defender and three OTA updates have installed just fine in that time.

ismarslomic commented 1 month ago

@ardevd does DIMO device only gain read access to the vehicle data, or is it possible to send commands such as start/stop charging, lock/unlock doors etc.?

ardevd commented 1 month ago

@ardevd does DIMO device only gain read access to the vehicle data, or is it possible to send commands such as start/stop charging, lock/unlock doors etc.?

Read only using the hardware devices. Some remote operations are generally possible through the smart car integration if available.

ismarslomic commented 1 month ago

But if you choose to use the smart car integration in the first place, then you will get read access to vehicle data and some remote operations. Are there any point buying the DIMO hardware as well?

ardevd commented 1 month ago

But if you choose to use the smart car integration in the first place, then you will get read access to vehicle data and some remote operations. Are there any point buying the DIMO hardware as well?

The DIMO hardware can, depending on what vehicle make and model, give you a lot more data on your vehicle than the smart car integration can. For EVs, you can get signals such as battery state of health, battery temperature, individual cell voltages, cabin temperature and humidity, etc. However, it’s early days and vehicle signal decoding is being worked on continuously.

Marc911H commented 1 month ago

Why not going for Vgate iCar which is 20€ & Wifi so able to send info when home

ardevd commented 1 month ago

Why not going for Vgate iCar which is 20€ & Wifi so able to send info when home

Not familiar with that product but it looks to be just a generic OBD dongle. Even if you have some sort of app or tool that can decode the signals, how do you get it into Home Assistant continuously?

KristsD commented 1 month ago

So i have an XF 2016 with ICTP. There is a few things that i experienced and was on a look-out for a service that would allow me to remote start the car via app/remote etc. ( The first owner didn't buy the "live" package and so i do not have an option to even purchase this service from JLR, only have protect services that allow for a very low functionality of even visual data ).

I found a device that you can plug into OBD2 port and use via app ( Prizrak 8l smart ) and that allows to use all the functions that i would be able to get from the Jaguar remote app. So they are somehow able to inject the can messages to the ECU that allows to use all the functions and even more. Maybe this information can somehow help in your development. It's really upsetting that automakers do this crap to limit the 3rd party solutions, i understand the security side but i could image how much 3rd party would be able to do with this.

victor987 commented 4 weeks ago

@ardevd We're getting quite off-topic here but I can't find another place to discuss your work on DIMO/JLR.

What info can you get from the OBD port for an electric car (I-Pace obviously)? Speed, battery charge, consumption average for the trip? There was a an interesting android app, "JLR - Power Cruise Control", now deprecated, that I think used OBD info to give better range estimates based on the destination, which the I-Pace's system is not good at.

Also, if somehow it would be possible to have a device that makes a audible notification when the Lane Keep Assist (autopilot) loses track of the lanes, I would surely pay for that!

ardevd commented 4 weeks ago

@ardevd We're getting quite off-topic here but I can't find another place to discuss your work on DIMO/JLR.

What info can you get from the OBD port for an electric car (I-Pace obviously)? Speed, battery charge, consumption average for the trip? There was a an interesting android app, "JLR - Power Cruise Control", now deprecated, that I think used OBD info to give better range estimates based on the destination, which the I-Pace's system is not good at.

Also, if somehow it would be possible to have a device that makes a audible notification when the Lane Keep Assist (autopilot) loses track of the lanes, I would surely pay for that!

Happy to discuss this further on Discord (@ardevd)

Long story short: You can capture pretty much every thinkable signal over the OBD port. The challenge is correctly parsing out the data on the CAN in order to get the values you want. This is data car manufacturers don't make public. For the I-Pace specifically I have 60+ signals captured. There are apps you can use with the I-Pace that will let you read out the data locally, but I much prefer the DIMO approach where data is fed into an open platform that you can integrate with online. Making integration with Home Assistant etc much more feasible.

The DIMO developer console is being revamped now so I'm waiting for that release before I start working on the Home Assistant integration. Should only be a week or so.

blurizi commented 2 weeks ago

There was issue with Panasonic Comfort Cloud integration where bunch of guys reverse engineered through it. Could there be any assistance?

ardevd commented 2 weeks ago

@msp1974 (and everyone else) are you interested in working together on a DIMO based HA integration? I've already started and I'm working with the DIMO side of things, but would love help with the HA aspects if anyone is interested! The associated GitHub repo is private currently but will be opened up once things are somewhat functional

msp1974 commented 2 weeks ago

Sure. Add me to the repo and i'll happily help out with this.

Quick question on DIMO if i may. Tried to use the Smartcar for JLR through DIMO but no joy. Does this not work and do I need the ODB dongle or am i missing something?

ardevd commented 2 weeks ago

Sure. Add me to the repo and i'll happily help out with this.

Quick question on DIMO if i may. Tried to use the Smartcar for JLR through DIMO but no joy. Does this not work and do I need the ODB dongle or am i missing something?

The SmartCar integration used to work at least, but I don't use it anymore. The AutoPi (or the newly released R1) gives you more data and in my opinion is the preferred way of connecting, since you then avoid the InControl API entirely!

I'll get you added tomorrow 👌

ismarslomic commented 2 weeks ago

@ardevd the new Dimo R1 dongle is still not available for shipping. Have you tried it yet? Also, what is the difference between R1 and the Autopi (which is almost x2 more expensive than R1)?

ardevd commented 2 weeks ago

@ardevd the new Dimo R1 dongle is still not available for shipping. Have you tried it yet? Also, what is the difference between R1 and the Autopi (which is almost x2 more expensive than R1)?

The R1 effectively replaces the AutoPi. It's essentially better, smaller and cheaper. The one caveat is that signal decoding support is not identical. I.e, the AutoPi can in theory provide more data from the I-Pace, but the R1 should get the basics and will hopefully reach feature parity with the AutoPi in terms of signal support eventually.

I have access to an R1, yes, but I can't really comment on it much currently.

barrycraig commented 1 week ago

JLR is in the process of committing commercial suicide at the moment anyway, so it probably doesn't matter. Once my current lease is up I'll never buy a JLR car ever again. Although the iPace is the best car I've ever driven, they're discontinuing it in December and their grand plan to go all electric by 2025 died when the iPace design team left. Unsurprising if their attitude to their employees stinks as badly as their attitude to their customers. So much for locking everyone out of their API for the sake of security... my iPace regularly just suddenly unlocks the doors when it's sitting parked with the keys well tucked away on a hook. I've been a consultant heavily involved in information security for over 40 years - and I bet if I ever got access to JLR's systems and source code I could find more holes than in the finest Swiss cheese.

So I have had a couple Jaguars and have had to take legal action against JLR NA more than a few times. I have had many a yelling match over their "included maintenance" and so on. I have a XE-S that I kept after the lease because it was half the miles due to COVID stay-at-home nonsense. I love the car, but I opted not to renew the service when it came up because of lack of support for 3rd party access. At this point it is hard to see a future for JLR other than Land Rovers, but price comparison I bought a Rivian vs. yet another 100$/tank gas hog. So read between the lines here. I can buy nearly whatever I want, I am technically competent enough to have hacked my Jaguars internal networks to fix stupid things like how when it is remote started and cold it wont turn the seat heaters on and Wireshark the internal IP.

Since I own multiple cars and some of them are EV's I get why people with iPace are annoyed here. I use the Rivian HA integration to do things that stupid proof my life: like when I come home and 50 things are happening and I forget to shut the tailgate I have an alert go to pushover and I close it with a voice command.

Plus what is really off about JLRs service is that is doesn't work along the Canadian border, but this might be more of a cell service issue.

There are DOZENS of proxy services out there who can rate limit, etc... with little work. JLR just doesn't want to, and it isnt likely because they are barely a going concern at this point.

I think those of you who really want this to work need to move on, it is really likely not to ever happen....unless you want to run an iOS emulator with the app in it, which is possible...but janky.

@disruptivepatternmaterial I'd be very interested to know exactly what you did to enable the heated seats turning on with the remote start?

onorbe commented 1 week ago

Anyone knows way to connect Dimo to homeassistant ??

msp1974 commented 1 week ago

Anyone knows way to connect Dimo to homeassistant ??

Hold that thought for about a week or so!

onorbe commented 1 week ago

The software integration of Dimo ​​with incontrol now works. Will this help us integrate incontrol with Homeassistant?

msp1974 commented 1 week ago

@ardevd and I have been working on a Dimo integration and yes, it will allow HA to have access to JLR vehicle data. There are a few bugs that need fixing on the Dimo side and instructions of how to set it up needing to be written before this can be released. But we expect soon (like as in hopefully soon but we are relying on others to fix stuff).

ATM though, control maybe limited to lock/unlock only but Dimo are progressing features all the time so who knows what the future may bring.

ardevd commented 1 week ago

Added benefit here being that we'll have a solution that's not specific to the I-Pace or JLR but to many vehicle models out there. Hopefully we also get more and better data than what the InControl API offers.

The onboarding process isn't the smoothest currently but will improve in the future.

More details to come shortly! With @msp1974 we've made a pretty cool integration and I'm excited for it to be released!

CorceiroPT commented 1 week ago

As of today, I now have access to some InControl data in my DIMO application, including the SoC. At the moment, to me, the SoC is the only thing that would really be essential to have in Home Assistant (to control de charging). By creating an association between the DIMO itself and Home Assistant, It could possible to get some info... This integration doesn't exist yet, does it? I can't find it...

ardevd commented 1 week ago

As of today, I now have access to some InControl data in my DIMO application, including the SoC. At the moment, to me, the SoC is the only thing that would really be essential to have in Home Assistant (to control de charging).

By creating an association between the DIMO itself and Home Assistant, It could possible to get some info...

This integration doesn't exist yet, does it? I can't find it...

The integration close to being released. @msp1974 and I are just chasing down some minor remaining issues before we open source the repo and submit it to HACS, etc.

onorbe commented 1 week ago

If you need, I can test it.. I'm very excited! 😁

Jazmodo commented 1 week ago

Ditto, I’ve just linked Dimo to my Jaguar account. Looking forward to the HACS integration.

I’m ideally after location & SoC data to run some automations, so fingers crossed 🤞

ardevd commented 1 week ago

Ditto, I’ve just linked Dimo to my Jaguar account. Looking forward to the HACS integration.

I’m ideally after location & SoC data to run some automations, so fingers crossed 🤞

That should be very doable! @msp1974 implemented device tracker support yesterday!

Quick preview (from a Defender)

Screenshot 2024-11-20 at 19 28 50
ardevd commented 5 days ago

Integration repository is now live here: https://github.com/ardevd/ha-dimo

Note that it's still in a very early stage, onboarding in a bit tricky, and HACS integration is now live yet :) Please read the README.