Skip to content

Commit ff9e676

Browse files
committed
Included link to https://github.com/JosephBlock/fordapp-handler in docs & setup dialog
1 parent 83b046d commit ff9e676

12 files changed

Lines changed: 44 additions & 29 deletions

File tree

README.md

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# FordPass Home Assistant Integration 2025 (EV/PHEV/Petrol/Diesel)
1+
# FordPass Home Assistant Integration +2025 (EV/PHEV/Petrol/Diesel)
22
## Supporting all Ford vehicles with FordPass™ & Lincoln vehicles with The Lincoln Way™ connectivity
33

44
<!--
@@ -38,7 +38,7 @@ If you currently have your integration configured, then you might be lucky and t
3838
>
3939
> ## FordPass™/The Lincoln Way™ Account Disclaimer
4040
> **The use of this HA integration could lead to a (temporary) lock of your FordPass™/The Lincoln Way™ account.**
41-
> Since this integration is not officially supported by Ford, using it could result in your being locked out! from your account.
41+
> Since Ford does not officially support this integration, using it could result that you being **locked out** from your FordPass™/The Lincoln Way™ account.
4242
>
4343
> **It's recommended** to use/create a **separate FordPass™/The Lincoln Way™ account** for this integration ([see the 'step-by-step' procedure further below](https://github.com/marq24/ha-fordpass?tab=readme-ov-file#use-of-a-separate-fordpassthe-lincoln-way-account-is-recommended)).
4444
@@ -75,7 +75,7 @@ If you currently have your integration configured, then you might be lucky and t
7575

7676
> [!IMPORTANT]
7777
> ## Unusual Integration Setup
78-
> Status Quo in spring/summer/end 2025: This integration requires an unusual setup process to be able to access the data of your vehicle. This is because Ford has changed (once again) the access policies to the required backend APIs (and revoked the access to the APIs for individual developers).
78+
> Status Quo in summer 2026: This integration requires an unusual setup process to be able to access the data of your vehicle. This is because Ford has changed (once again) the access policies to the required backend APIs (and revoked the access to the APIs for individual developers).
7979
>
8080
> The current implementation is based on API calls the original FordPass™/The Lincoln Way™ App (for Android & iOS) performs, and it's some sort of reverse engineered.
8181
>
@@ -86,9 +86,11 @@ If you currently have your integration configured, then you might be lucky and t
8686
> ## Fetch & Store FordPass™/The Lincoln Way™ Access Token
8787
> During the integration setup, you will be guided through the process to obtain an access token for your vehicle in the context of your FordPass™/The Lincoln Way™ account.
8888
>
89-
> This should be a _one-time process_, and the access token will be stored in a file outside the custom integration directory (This is to prevent the access token from being deleted during updates of the integration itself). As already explaind, I can't give any guarantee that process will work in the future.
89+
> This should be a _one-time process_, and the access token will be stored in a file outside the custom integration directory (This is to prevent the access token from being deleted during updates of the integration itself). As already explained, I can't give any guarantee that this process will work in the future.
9090
>
91-
> The overall setup process is described in short in the [Installation section](https://github.com/marq24/ha-fordpass?tab=readme-ov-file#installation-instructions-3-steps) below, and in detail in the [linked documentation](./doc/OBTAINING_TOKEN.md).
91+
> **The overall setup process is described in short in the [Installation section](https://github.com/marq24/ha-fordpass?tab=readme-ov-file#installation-instructions-3-steps) below, and in detail in the [linked documentation](./doc/OBTAINING_TOKEN.md)**.
92+
>
93+
> Since the end of May 2026 [@JosephBlock](https://github.com/JosephBlock) is offering a tool to make the token acquire process much simpler. So if you are struggling with the documented details (and don't mind installing an additional _3rd party_ tool), then the free available [tool called 'fordapp-handler' from Joseph's GitHub repository](https://github.com/JosephBlock/fordapp-handler) can be an alternative.
9294
9395
---
9496

@@ -108,7 +110,7 @@ There is another Home Assistant integration for Ford Vehicles called [ha-fordcon
108110

109111

110112
## Installation Instructions (3 Steps)
111-
### Step 1. HACS add the Integration
113+
### Step 1. HACS: add the Integration
112114

113115
[![Open your Home Assistant instance and adding repository to HACS.](https://my.home-assistant.io/badges/hacs_repository.svg)](https://my.home-assistant.io/redirect/hacs_repository/?owner=marq24&repository=ha-fordpass&category=integration)
114116
<!--
@@ -138,7 +140,9 @@ There is another Home Assistant integration for Ford Vehicles called [ha-fordcon
138140
> So if your country is not listed in the integration, and you follow the recommendation to register a sperate account to be used with the integration, then [__register this second account at the ford.com domain__](https://www.ford.com/#$userCreateAccount), since this ensures that you can use the Integration with the 'Rest of the World' Region setting.
139141
140142
### Step 3. The hard part — the **Token Setup**
141-
The actual token request requires an external browser to get finally the FordPass™/The Lincoln Way™ access token. [Yes this is for sure quite unusual process when setting up a HA integration, but it's the only way to get the token right now]
143+
The actual token request requires an external browser to finally get the FordPass™/The Lincoln Way™ access token. [Yes this is for sure quite an unusual process when setting up a HA integration, but it's the only way to get the token right now]
144+
145+
**If you are struggling with this step (and don't mind installing an additional _3rd party_ tool), then [Joseph Block's fordapp-handler](https://github.com/JosephBlock/fordapp-handler) can be an alternative.**
142146

143147
Please follow the steps:
144148
1. Copy the URL listed in the first input field

custom_components/fordpass/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -834,7 +834,7 @@ async def _async_update_data(self):
834834
data = self.data
835835
return data
836836

837-
except TimeoutError as ti_err:
837+
except asyncio.TimeoutError as ti_err:
838838
# Mark as unavailable - but let the coordinator deal with the rest...
839839
self._available = False
840840
raise ti_err

custom_components/fordpass/config_flow.py

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -290,7 +290,8 @@ async def async_step_user(self, user_input=None):
290290
)
291291
}),
292292
description_placeholders={
293-
"repo": "https://github.com/marq24/ha-fordpass"
293+
"repo": "https://github.com/marq24/ha-fordpass",
294+
"github_root": "https://github.com"
294295
},
295296
errors=errors
296297
)
@@ -507,7 +508,8 @@ async def async_step_token(self, user_input=None):
507508
),
508509
description_placeholders={
509510
CONF_URL: the_url,
510-
"repo": "https://github.com/marq24/ha-fordpass"
511+
"repo": "https://github.com/marq24/ha-fordpass",
512+
"github_root": "https://github.com"
511513
},
512514
errors=errors
513515
)
@@ -725,7 +727,7 @@ async def async_step_reauth_confirm(self, user_input: dict[str, Any] | None = No
725727
try:
726728
async with asyncio.timeout(30):
727729
await self.hass.config_entries.async_reload(reauth_entry.entry_id)
728-
except TimeoutError:
730+
except asyncio.TimeoutError:
729731
_LOGGER.warning(f"async_step_reauth_confirm(): Timeout reloading config entry {reauth_entry.entry_id} during reauth")
730732
return self.async_abort(reason="reauth_reload_failed")
731733

@@ -771,7 +773,8 @@ async def async_step_reauth_confirm(self, user_input: dict[str, Any] | None = No
771773
description_placeholders={
772774
CONF_USERNAME: reauth_entry.data.get(CONF_USERNAME, "UNKNOWN-USER"),
773775
CONF_URL: the_url,
774-
"repo": "https://github.com/marq24/ha-fordpass"
776+
"repo": "https://github.com/marq24/ha-fordpass",
777+
"github_root": "https://github.com"
775778
},
776779
errors=errors
777780
)

custom_components/fordpass/manifest.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,6 @@
1212
"loggers": ["custom_components.fordpass"],
1313
"requirements": [],
1414
"ssdp": [],
15-
"version": "2026.6.0",
15+
"version": "2026.7.0",
1616
"zeroconf": []
1717
}

custom_components/fordpass/translations/da.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -110,15 +110,15 @@
110110
},
111111
"token": {
112112
"title": "Opsætning af token",
113-
"description": "Opsætningen af token kræver, at du åbner et ekstra browservindue (med udviklerværktøjer aktiveret – F12) for at fange det endelige adgangstoken.\r\rDet er en lidt usædvanlig fremgangsmåde for en Home Assistant-integration. Du kan læse detaljerne i [opsætningsvejledningen]({repo}/blob/main/doc/OBTAINING_TOKEN.md)\r\rFølg disse trin:\r1. Kopiér linket nedenfor, eller klik på det følgende link (skal åbnes i en ny fane/vindue): [Start autoriseringsprocessen]({url})\r2. Åbn en browser (med udviklerværktøjer aktiveret), og indsæt linket i den anden browser\r3. Indtast dine FordPass™/The Lincoln Way™-loginoplysninger igen, og tryk på login-knappen\r4. Hold øje med fanen Network, indtil du ser anmodningen `?code=`\r5. Kopiér hele `Request-URL` fra anmodningen i browserens udviklerværktøjer, og indsæt det i token-feltet nedenfor\r6. Klik OK for at fortsætte",
113+
"description": "Opsætningen af token kræver, at du åbner et ekstra browservindue (med udviklerværktøjer aktiveret – F12) for at fange det endelige adgangstoken.\r\rDet er en lidt usædvanlig fremgangsmåde for en Home Assistant-integration. Du kan læse detaljerne i [opsætningsvejledningen]({repo}/blob/main/doc/OBTAINING_TOKEN.md)\r\rFølg disse trin:\r1. Kopiér linket nedenfor, eller klik på det følgende link (skal åbnes i en ny fane/vindue): [Start autoriseringsprocessen]({url})\r2. Åbn en browser (med udviklerværktøjer aktiveret), og indsæt linket i den anden browser\r3. Indtast dine FordPass™/The Lincoln Way™-loginoplysninger igen, og tryk på login-knappen\r4. Hold øje med fanen Network, indtil du ser anmodningen `?code=`\r5. Kopiér hele `Request-URL` fra anmodningen i browserens udviklerværktøjer, og indsæt det i token-feltet nedenfor\r6. Klik OK for at fortsætte\n\n> [!TIP]\n> JosephBlock has created a separate tool that supports you in the access-token-code-acquire-process, which makes the use of the browser developer tools obsolete. So if you don't mind installing a helper application on your local computer, you can get the tool from here: [{github_root}/JosephBlock/fordapp-handler]({github_root}/JosephBlock/fordapp-handler).",
114114
"data": {
115115
"url": "URL: kopiér denne ind i din browser",
116116
"tokenstr": "Token Request-URL: indsæt hele `Request-URL`, når login er gennemført i browseren"
117117
}
118118
},
119119
"reauth_confirm": {
120120
"title": "Genautorisering kræves",
121-
"description": "Dit tidligere token er ugyldigt – så du skal lave et nyt til kontoen {username}:\r\rDetaljer findes i [opsætningsvejledningen]({repo}/blob/main/doc/OBTAINING_TOKEN.md)\r\rFølg disse trin:\r1. Kopiér linket nedenfor, eller klik på det følgende link (skal åbnes i en ny fane/vindue): [Start autoriseringsprocessen]({url})\r2. Åbn en browser (med udviklerværktøjer aktiveret), og indsæt linket i den anden browser\r3. Indtast dine FordPass™/The Lincoln Way™-loginoplysninger igen, og tryk på login-knappen (lad dig ikke narre af, at spinneren bliver ved med at snurre – det er 'normalt')\r4. Hold øje med fanen Network, indtil du ser anmodningen `?code=`\r5. Kopiér hele `Request-URL` fra anmodningen i browserens udviklerværktøjer, og indsæt det i token-feltet nedenfor\r6. Klik OK for at fortsætte",
121+
"description": "Dit tidligere token er ugyldigt – så du skal lave et nyt til kontoen {username}:\r\rDetaljer findes i [opsætningsvejledningen]({repo}/blob/main/doc/OBTAINING_TOKEN.md)\r\rFølg disse trin:\r1. Kopiér linket nedenfor, eller klik på det følgende link (skal åbnes i en ny fane/vindue): [Start autoriseringsprocessen]({url})\r2. Åbn en browser (med udviklerværktøjer aktiveret), og indsæt linket i den anden browser\r3. Indtast dine FordPass™/The Lincoln Way™-loginoplysninger igen, og tryk på login-knappen (lad dig ikke narre af, at spinneren bliver ved med at snurre – det er 'normalt')\r4. Hold øje med fanen Network, indtil du ser anmodningen `?code=`\r5. Kopiér hele `Request-URL` fra anmodningen i browserens udviklerværktøjer, og indsæt det i token-feltet nedenfor\r6. Klik OK for at fortsætte\n\n> [!TIP]\n> JosephBlock has created a separate tool that supports you in the access-token-code-acquire-process, which makes the use of the browser developer tools obsolete. So if you don't mind installing a helper application on your local computer, you can get the tool from here: [{github_root}/JosephBlock/fordapp-handler]({github_root}/JosephBlock/fordapp-handler).",
122122
"data": {
123123
"url": "URL: kopiér denne ind i din browser",
124124
"tokenstr": "Token Request-URL: indsæt hele `Request-URL`, når login er gennemført i browseren"

custom_components/fordpass/translations/de.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -111,15 +111,15 @@
111111
},
112112
"token": {
113113
"title": "Zugriffs-Token Einrichtung",
114-
"description": "Die Token-Einrichtung erfordert einen zweites Browser Fenster (mit aktivierten Developer-Tools - F12), um den finalen Zugriffstoken von Ford zu erhalten.\r\rDies ist recht ungewöhnlich für eine Home Assistant Integration, details findest Du in der [Einrichtungsanleitung]({repo}/blob/main/doc/OBTAINING_TOKEN.md)\r\rBitte befolge die Schritte:\r1. Kopiere die URL aus dem oberen Feld oder klicke auf den nachfolgenden Link (dieser muss in einem neuen Tab/Fenster geöffnet werden): [Mit dem Autorisierungsverfahren beginnen]({url})\r2. Öffne einen weiteren Browser (mit aktivierten Entwicklertools) und füge die kopierte URL in dieses zweiter Browserfenster ein\r3. Gibt Deine FordPass™/The Lincoln Way™-Anmeldeinformationen (erneut) ein und starte den Anmeldeforgang\r4. Beobachte die Registerkarte „Netzwerk“, bis der Request „?code=“ zu sehen ist\r5. Kopiere die vollständige „Request-URL“ dieser Anfrage aus den Browser Entwicklertools und fügen diese hier unten im Token-Feld ein\r6. Klicke auf „OK“ um fortzufahren",
114+
"description": "Die Token-Einrichtung erfordert einen zweites Browser Fenster (mit aktivierten Developer-Tools - F12), um den finalen Zugriffstoken von Ford zu erhalten.\r\rDies ist recht ungewöhnlich für eine Home Assistant Integration, details findest Du in der [Einrichtungsanleitung]({repo}/blob/main/doc/OBTAINING_TOKEN.md)\r\rBitte befolge die Schritte:\r1. Kopiere die URL aus dem oberen Feld oder klicke auf den nachfolgenden Link (dieser muss in einem neuen Tab/Fenster geöffnet werden): [Mit dem Autorisierungsverfahren beginnen]({url})\r2. Öffne einen weiteren Browser (mit aktivierten Entwicklertools) und füge die kopierte URL in dieses zweiter Browserfenster ein\r3. Gibt Deine FordPass™/The Lincoln Way™-Anmeldeinformationen (erneut) ein und starte den Anmeldeforgang\r4. Beobachte die Registerkarte „Netzwerk“, bis der Request „?code=“ zu sehen ist\r5. Kopiere die vollständige „Request-URL“ dieser Anfrage aus den Browser Entwicklertools und fügen diese hier unten im Token-Feld ein\r6. Klicke auf „OK“ um fortzufahren\n\n> [!TIP]\n> JosephBlock hat ein separates Tool entwickelt, das Dich beim Abruf des Access-Token-Codes unterstützt und die Verwendung der Entwicklertools des Browsers überflüssig macht. Wenn es für Dich OK ist, eine kleine Hilfsanwendung auf Deinem lokalen Computer zu installieren, kannst Du das Tool hier herunterladen: [{github_root}/JosephBlock/fordapp-handler]({github_root}/JosephBlock/fordapp-handler).",
115115
"data": {
116116
"url": "URL: Füge diese in Deinen Browser ein",
117117
"tokenstr": "Token Request-URL: Nachdem der Anmeldevorgang im Browser abgeschlossen ist, füge die vollständige „Request-URL“ ein"
118118
}
119119
},
120120
"reauth_confirm": {
121121
"title": "Erneute Autorisierung erforderlich",
122-
"description": "Dein bisheriges Token ist ungültig (geworden) - Du musst nun einen neuen für das Konto {username} erzeugen:\r\rDetails findest Du in der [Einrichtungsanleitung]({repo}/blob/main/doc/OBTAINING_TOKEN.md)\n\nBitte befolge die Schritte:\n1. Kopiere die URL aus dem oberen Feld oder klicke auf den nachfolgenden Link (dieser muss in einem neuen Tab/Fenster geöffnet werden): [Mit dem Autorisierungsverfahren beginnen]({url})\n2. Öffnen einen weiteren Browser (mit aktivierten Entwicklertools) und füge die kopierte URL in dieses zweite Browserfenster ein\n3. Gibt Deine FordPass™/The Lincoln Way™-Anmeldeinformationen (erneut) ein und starte den Anmeldeforgang (lass Dich nicht davon verwirren, dass der Spinner sich nicht aufhört zu drehen, das ist 'normal')\n4. Beobachte die Registerkarte „Netzwerk“, bis der Request „?code=“ zu sehen ist\n5. Kopiere die vollständige „Request-URL“ dieser Anfrage aus den Browser Entwicklertools und fügen diese hier unten im Token-Feld ein\n6. Klicke auf „OK“ um fortzufahren",
122+
"description": "Dein bisheriges Token ist ungültig (geworden) - Du musst nun einen neuen für das Konto {username} erzeugen:\r\rDetails findest Du in der [Einrichtungsanleitung]({repo}/blob/main/doc/OBTAINING_TOKEN.md)\n\nBitte befolge die Schritte:\n1. Kopiere die URL aus dem oberen Feld oder klicke auf den nachfolgenden Link (dieser muss in einem neuen Tab/Fenster geöffnet werden): [Mit dem Autorisierungsverfahren beginnen]({url})\n2. Öffnen einen weiteren Browser (mit aktivierten Entwicklertools) und füge die kopierte URL in dieses zweite Browserfenster ein\n3. Gibt Deine FordPass™/The Lincoln Way™-Anmeldeinformationen (erneut) ein und starte den Anmeldeforgang (lass Dich nicht davon verwirren, dass der Spinner sich nicht aufhört zu drehen, das ist 'normal')\n4. Beobachte die Registerkarte „Netzwerk“, bis der Request „?code=“ zu sehen ist\n5. Kopiere die vollständige „Request-URL“ dieser Anfrage aus den Browser Entwicklertools und fügen diese hier unten im Token-Feld ein\n6. Klicke auf „OK“ um fortzufahren\n\n> [!TIP]\n> JosephBlock hat ein separates Tool entwickelt, das Dich beim Abruf des Access-Token-Codes unterstützt und die Verwendung der Entwicklertools des Browsers überflüssig macht. Wenn es für Dich OK ist, eine kleine Hilfsanwendung auf Deinem lokalen Computer zu installieren, kannst Du das Tool hier herunterladen: [{github_root}/JosephBlock/fordapp-handler]({github_root}/JosephBlock/fordapp-handler).",
123123
"data": {
124124
"url": "URL: Füge diese in Deinen Browser ein",
125125
"tokenstr": "Token Request-URL: Nachdem der Anmeldevorgang im Browser abgeschlossen ist, füge die vollständige „Request-URL“ ein"

0 commit comments

Comments
 (0)