Installation¶
Via HACS (recommended)¶
- In Home Assistant go to HACS → Dashboard → ⋮ → Custom repositories
- Add
https://github.com/jonisnet/hki-parcels-cardas category Dashboard - Search for HKI Parcels Card and install
- Restart Home Assistant or do a hard refresh (Ctrl+Shift+R)
Manual¶
- Download
hki-parcels-card.jsfrom the latest release - Place the file at
/config/www/hki-parcels-card.js - Go to Settings → Dashboards → Resources and add:
Select type: JavaScript module
- Clear your browser cache (Ctrl+Shift+R / Cmd+Shift+R)
Required integrations¶
Install the integration for each carrier you use before adding the card. All of them are part of the ha-parcel-integrations family, publishing the same canonical parcel format — which is what lets one card support all of them.
About the links below
Several of these integrations started as personal repos (peternijssen/ha-*, HummelsTech/ha-dragonfly) and were later moved into the ha-parcel-integrations org to be maintained together. The org repos are the actively maintained ones and are generally ahead in version — this documentation and the card's own "integration not found" links point there instead of the old personal forks.
PostNL¶
The card supports three PostNL variants.
| Label | Card type | Integration | When to use |
|---|---|---|---|
| PostNL | postnl_v4 |
ha-parcel-integrations/ha-postnl ≥ 4.0.0 | Recommended — new installs and upgrades |
| PostNL (<v4.x) | postnl |
ha-parcel-integrations/ha-postnl ≤ 3.x | Still on version 3.x |
| PostNL (ArjenBos) | postnl_legacy |
arjenbos/ha-postnl | Single-entity legacy mode |
Upgrading from ha-postnl v3 to v4?
Change the card type from postnl to postnl_v4. Your sensor entity IDs stay the same.
Deprecation notice
PostNL (<v4.x) will no longer be supported starting from HKI Parcels Card v2.0 — upgrade to ha-postnl ≥ 4.0.0 and switch the card type to postnl_v4 before then.
PostNL (ArjenBos) will also be removed starting from v2.0, unless arjenbos/ha-postnl receives an update of its own before that point.
DHL, DPD, Vinted Go and GLS¶
| Carrier | Integration |
|---|---|
| DHL | ha-parcel-integrations/ha-dhl-nl |
| DPD | ha-parcel-integrations/ha-dpd |
| Vinted Go | ha-parcel-integrations/ha-vinted-go |
| GLS | ha-parcel-integrations/ha-gls |
GLS has no sender/account
You track parcels by tracking number and postal code, not a login. The card's user field maps to the hub's postal code (e.g. 1234ab), and the Sent tab is not available for this carrier.
Vinted Go logs in with e-mail, not a password
Login is an e-mail address plus a verification link — there's no password and no way to register a tracking number directly, so like PostNL/DHL/DPD it has no track_parcel service and doesn't get the card's "+ Add parcel" control. Unlike PostNL/DHL/DPD and every account-less carrier below, Vinted Go tracks both incoming and outgoing parcels (it's built around Vinted's peer-to-peer resale marketplace). There's no next_delivery/ETA sensor for this integration at all.
Dragonfly, Trunkrs, Cainiao, Hermes, Packeta, Correos, PostNord, Sameday, Swiss Post, Planzer, Austrian Post, Helthjem, Dynalogic, Budbee, Nova Post, Delhivery and SunYou¶
These, together with GLS above, are the "account-less" carriers in the family: instead of logging into an account, you register individual parcels by tracking number (plus a postal code for GLS and Trunkrs). None of them have a Sent tab except Budbee, since there's no sender/account concept to distinguish outgoing parcels for the rest.
| Carrier | Integration | Identified by |
|---|---|---|
| Dragonfly | ha-parcel-integrations/ha-dragonfly | Track & Trace code only — no account, no postal code |
| Trunkrs | ha-parcel-integrations/ha-trunkrs | Trunkrs number + postal code (one hub per postal code) |
| Cainiao | ha-parcel-integrations/ha-cainiao | Tracking number only — cross-border parcels (AliExpress, Temu, Shein, ...) that haven't reached a local carrier yet |
| Hermes | ha-parcel-integrations/ha-hermes | 14-digit tracking code only — no account, no postal code. Germany ("Hermes Paket" / myhermes.de) |
| Packeta | ha-parcel-integrations/ha-packeta | "Z" tracking code only — no account, no postal code. Central Europe (CZ, SK, HU, PL, RO) pickup-point network, also known as Zásilkovna |
| Correos | ha-parcel-integrations/ha-correos | Tracking code only — no account, no postal code. Spain's national postal service |
| PostNord | ha-parcel-integrations/ha-postnord | Tracking code only — no account, no postal code. Nordic postal service (Sweden, Denmark, Norway, Finland) |
| Sameday | ha-parcel-integrations/ha-sameday | AWB tracking code only — no account, no postal code. Romania-based courier |
| Swiss Post | ha-parcel-integrations/ha-swiss-post | Tracking code only — no account, no postal code. Switzerland's national postal service |
| Planzer | ha-parcel-integrations/ha-planzer | Shipment number only — no account, no postal code. Switzerland |
| Austrian Post | ha-parcel-integrations/ha-oesterreichische-post | Tracking code only — no account, no postal code. Austria's national postal service (Österreichische Post) |
| Helthjem | ha-parcel-integrations/ha-helthjem | Tracking code only — no account, no postal code. Norway |
| Dynalogic | ha-parcel-integrations/ha-dynalogic | Tracking code only — no account. Netherlands; the integration's track_parcel service also accepts an optional postal code as a lookup aid, but the card doesn't need to send one |
| Budbee | ha-parcel-integrations/ha-budbee | Tracking code only — no account, no postal code. Sweden-based last-mile delivery; unlike every other carrier in this table, it tracks both incoming and outgoing parcels, so the Sent tab works normally |
| Nova Post | ha-parcel-integrations/ha-nova-post | Tracking code only — no account, no postal code. Ukraine's largest private courier network (Nova Poshta) |
| Delhivery | ha-parcel-integrations/ha-delhivery | Tracking code only — no account, no postal code. India-based logistics company |
| SunYou | ha-parcel-integrations/ha-sunyou | Tracking code only — no account, no postal code. China-based cross-border courier (SYPost) |
Dragonfly's original integration
Dragonfly support was created by Alwin Hummels (@HummelsTech), who maintains it standalone at HummelsTech/ha-dragonfly as well as the mirror in ha-parcel-integrations linked above — either one works with this card. These docs default to the ha-parcel-integrations link to keep every integration under one roof, but the original repo is just as valid a choice, and updates may land there first.
Trunkrs is an early release
The integration only recognises the SHIPMENT_DELIVERED status so far; every other state currently shows as unknown rather than guessing. It will improve as more statuses get mapped upstream.
Packeta and Correos expose no ETA
Neither integration's public tracking includes an expected delivery time. The next_delivery sensor and Deliveries calendar stay empty for these two carriers, and no delivery_time_changed event ever fires — this is expected, not a bug.
For all of these, the card's "+ Add parcel" control can register a new parcel directly from the dashboard by calling the integration's own track_parcel service — no need to open the integration's own Configure dialog. See Add parcel support for why PostNL/DHL/DPD/Vinted Go don't have this control.
Optional: PHU carrier icons¶
Install custom-brand-icons via HACS to get branded phu: carrier icons. The card detects this automatically — no configuration needed.
Coverage varies by carrier:
| Carrier | PHU icon |
|---|---|
| PostNL | ✅ real logo |
| DHL | ✅ real logo |
| DPD | ✅ (basic placeholder-style artwork, not the official red DPD logo) |
| GLS | ✅ (plain "GLS" text mark, not the official logo) |
| Dragonfly | ✅ real logo |
| Trunkrs | ❌ not available yet |
| Cainiao | ❌ not available yet |
| Hermes | ✅ real logo |
| Packeta | ✅ real logo |
| Correos | ✅ real logo |
| Vinted Go | ❌ not available yet |
| PostNord | ❌ wordmark-only brand, no standalone icon mark exists |
| Sameday | ❌ not submitted upstream yet |
| Swiss Post | ✅ real logo |
| Planzer | ❌ wordmark-only brand, no standalone icon mark exists |
| Austrian Post | ✅ real logo |
| Helthjem | ❌ not submitted upstream yet |
| Dynalogic | ❌ wordmark-only brand, no standalone icon mark exists |
| Budbee | ❌ not available yet |
| Nova Post | ❌ not available yet |
| Delhivery | ❌ not available yet |
| SunYou | ✅ real logo |
Carriers without a proper branded icon yet fall back to a generic mdi:package-variant-closed icon.
Tested versions¶
| Integration | Tested version |
|---|---|
| ha-parcel-integrations/ha-postnl | 4.6.0 |
| ha-parcel-integrations/ha-dhl-nl | 2.6.0 |
| ha-parcel-integrations/ha-dpd | 2.7.0 |
| ha-parcel-integrations/ha-gls | 1.2.0 |
| ha-parcel-integrations/ha-dragonfly | — |
| ha-parcel-integrations/ha-trunkrs | — (early release) |
| ha-parcel-integrations/ha-cainiao | 0.9.0 (early release) |
| ha-parcel-integrations/ha-hermes | — (added 2026-07-23) |
| ha-parcel-integrations/ha-packeta | — (added 2026-07-29) |
| ha-parcel-integrations/ha-correos | — (added 2026-07-29) |
| ha-parcel-integrations/ha-vinted-go | — (added 2026-07-30) |
| ha-parcel-integrations/ha-postnord | — (added 2026-08-05) |
| ha-parcel-integrations/ha-sameday | — (added 2026-08-05) |
| ha-parcel-integrations/ha-swiss-post | — (added 2026-08-05) |
| ha-parcel-integrations/ha-planzer | — (added 2026-08-05) |
| ha-parcel-integrations/ha-oesterreichische-post | — (added 2026-08-05) |
| ha-parcel-integrations/ha-helthjem | — (added 2026-08-05) |
| ha-parcel-integrations/ha-dynalogic | — (added 2026-08-05) |
| ha-parcel-integrations/ha-budbee | — (added 2026-08-05) |
| ha-parcel-integrations/ha-nova-post | — (added 2026-08-10) |
| ha-parcel-integrations/ha-delhivery | — (added 2026-08-10) |
| ha-parcel-integrations/ha-sunyou | 0.9.0 (added 2026-08-07) |