A suite of Home Assistant custom integrations that track your parcels across carriers — every one speaking the same canonical parcel contract, so your automations and dashboards work the same no matter who delivers.
| Integration | Tracks | |
|---|---|---|
| ha-dhl-nl | DHL eCommerce NL — incoming & outgoing parcels | |
| ha-postnl | PostNL — parcels & announced MyMail letters | |
| ha-dpd | DPD shipments | |
| ha-gls | GLS — account-less, tracking number + postcode | |
| ha-dragonfly | Dragonfly Shipping — account-less, tracking number only | |
| ha-parcel-aggregator | Rolls every carrier above into one unified set of sensors and a single event stream |
Each carrier integration normalises its data to a shared ParcelStatus enum and a common parcel shape, and fires canonical events (<carrier>_parcel_registered / _status_changed / _delivery_time_changed). The Parcel Aggregator subscribes to all of them and re-emits a unified stream — so you write one automation like "when any parcel is out for delivery" instead of one per carrier.
All integrations are distributed via HACS. See each repository's README for setup and configuration.
💬 Questions or feedback? Join the discussion on the Home Assistant community.