Lincoln Vehicle Integration

Hey All,

I’m working on a integration to Lincolns API… Ive got the basic plumbing working, just wanted to guage how many people could use this.

Anyone interested in this? I’ve got a pretty well working integration for a 2019 Lincoln Aviator. Does locations, lock status/control, remote start, fuel and etc.

3 Likes

I would love to give it a try on my 2017 Lincoln MKX if you would be willing to share what you’ve put together!

How well is it working out? I’d be happy to help move it forward if you’re happy to share what you have so far!

Hey I’m also interested in using this if you’re willing to share, I’ve got a 2018 MKC and 2019 MKZ that I’d love to use this with!

Just saw this, count me in!

Would love this!

So over the last three days, I’ve looked over the api calls from an android device and have the basic information required to perform basic functionality. I still have more to learn, namely handling tokens and aquiring a new sessionID.
I wrote a couple python scripts (VERY BASIC) that interact with the api (I already have/had an active sessionID) I’ve run them all and they do indeed work
They do the following:
Remote Start / Cancel Remote Start
Lock / Unlock doors
Pull info for Odometer / Milage / My name / Gas Level / Oil Life (you can grab more from this script)
The Files/Code

quick example

#Connect and gather vehicle information
import requests

headers = {
    "Host": "phev.myfordmobile.com",
    "Connection": "Keep-Alive",
    "User-Agent": "okhttp/4.9.0",
    "Accept-Encoding": "gzip, deflate, br",
    "Content-Type": "application/json; charset=UTF-8",
    }
sessionID = "REDACTED"
data = '{"PARAMS":{"apiLevel":"3","forceUpdate":"1","lastUpdatedTime":"0","sessionId":"%s"}}' % (sessionID)
url = "https://phev.myfordmobile.com/services/webGetAVD"

lincResp = requests.post(url, headers=headers, data=data)
results = lincResp.json()
#print("Full Response: ", results)
print("Name:", results['avdQueryResponse']['customerData']['firstName'])
print("Gas Tank Level:", results['avdQueryResponse']['customerData']['vehicleData']['vehicle']['fuelLevel'],"%")
print("Oil Life:", results['avdQueryResponse']['customerData']['vehicleData']['vehicle']['oilLife'],"%")
print("Odometer:", results['avdQueryResponse']['customerData']['vehicleData']['vehicle']['odometer'])
print("Battery Status:", results['avdQueryResponse']['customerData']['vehicleData']['vehicle']['batteryHealth'])
print("Tire Pressure:", results['avdQueryResponse']['customerData']['vehicleData']['vehicle']['tirePressure'])

And if you’re like me and want to keep it simple… I have uploaded a flow for nodeRed that does the exact same thing as the python scripts… Probably stick with nodered since its easier to manipulate and I’ll probably use webhooks to send data directly into HA

github link with all the files

More updates to NodeRed flow
-Added saving / retrieving variables to file
-pull weather for X time (for my auto remote start if cold/hot & im at work)

Todo
-send info to HA
-Request new Session ID / Tokens

------------------- another update--------------------
Got information sent to HA now using the NodeRed Companion for HA — this can be installed via HACS and then add the integration for the companion under the integrations page.

Made myself a lovelace dashboard that shows everything and added buttons for lock/start. I set my buttons to change color depending on the status (yellow is actively trying to perform task)

1 Like

Any chance this is still a working integration? I tried the repository, but it would not work.

1 Like

I just got a Lincoln and was looking for something like this
Does the project/integration still exist?

I have a 2022 Aviator. I am interested in this as well…