Skip to content

2.0.0b1 (beta)

Pre-release
Pre-release

Choose a tag to compare

@peternijssen peternijssen released this 19 Jun 17:53

What's new

  • Carrier-agnostic parcel status (ParcelStatus) — every parcel now carries a canonical status value (registered, in_transit, out_for_delivery, at_pickup_point, delivered, returning, problem, unknown). The original DHL string is preserved on the parcel's raw_status attribute.
  • Parcel events on the HA event bus — the coordinator now fires dhl_nl_parcel_registered when a new barcode appears and dhl_nl_parcel_status_changed when a known barcode's normalised status changes. Both events carry the full normalised parcel payload. Events are suppressed on the very first refresh after start-up.
  • examples/ folder — ready-to-paste automation YAMLs (e.g. new parcel registered, out for delivery, ready at ServicePoint) and dashboard cards (active-parcels grid, summary glance, next-delivery countdown).
  • Translated UI labels — entity names, unit-of-measurement (parcelspakketten in Dutch HA) and icons are now sourced from strings.json + translations/{en,nl}.json + icons.json. Your HA language drives the labels automatically.
  • Cleaner device & friendly names — each DHL account becomes a device named DHL (<your-email>) with entities like DHL (account@example.com) Incoming parcels. Disambiguates multi-account setups out of the box.

⚠️ Breaking changes & how to fix them

1. Friendly names changed

Was (≤ 1.4.x) Is now (2.0.0)
DHL Incoming Parcels DHL (account@example.com) Incoming parcels
DHL Parcel <barcode> DHL (account@example.com) Parcel <barcode>
DHL Next Delivery DHL (account@example.com) Next delivery
DHL Parcels En Route to ServicePoint DHL (account@example.com) En route to ServicePoint
DHL Parcels Awaiting Pickup DHL (account@example.com) Awaiting pickup
DHL Delivered Parcels DHL (account@example.com) Delivered parcels
DHL Outgoing Parcels DHL (account@example.com) Outgoing parcels

Entity IDs are preserved for existing installs — Home Assistant remembers them in the entity registry. Templates that reference sensor.dhl_incoming_parcels and similar keep working as-is.

What to fix:

  • Lovelace cards and Markdown templates that hard-code the friendly name (e.g. "DHL Incoming Parcels") need to be updated to either the new friendly name pattern or — better — switch to using the entity ID with the friendly_name attribute.
  • If you renamed entities or devices in the HA UI, those custom names stick around; you only see the new defaults for fresh installs.

2. Per-parcel sensor state is the normalised enum, not the raw DHL string

Was Is now
state == "DELIVERED_IN_MAILBOX" state == "delivered"
state == "OUT_FOR_DELIVERY" state == "out_for_delivery"
state == "NOTIFICATION_FOR_PARCELSHOP_COLLECTION_HAS_BEEN_SENT" state == "at_pickup_point"
state == "COLLECTED_AT_PARCELSHOP" state == "delivered"

What to fix:

  • Any automation that triggers on the per-parcel sensor state needs to match the new canonical ParcelStatus value. See the parcel status reference table in the README for the full mapping.
  • The original raw value is still available on the parcel's raw_status attribute; you can keep using that if you prefer.

3. Custom unit-of-measurement is now translated

The hard-coded parcels unit is replaced by a translated one (parcels in English HA, pakketten in Dutch HA).

What to fix:

  • If you have automations matching state_attr(..., 'unit_of_measurement') == 'parcels', account for the Dutch variant too — or compare against the entity ID instead.
  • Long-term statistics for the counters may emit a one-time "unit cannot be converted" recorder warning after upgrading on Dutch HA. Open Developer Tools → Statistics, find the sensor and use "Update statistic unit", or ignore the warning until the affected rows roll out of the retention window.

4. Minimum Home Assistant version is 2024.7.0

Older HA instances will refuse to load the integration because of the runtime_data and type ConfigEntry[...] features.

How to test the beta

  1. Open HACS → Integrations → DHL NL → settings ⋮ → enable
    Show beta versions.
  2. Update to 2.0.0b1.
  3. Reload Home Assistant.
  4. Run your automations; please report regressions via
    GitHub Issues so
    we can fix them before tagging the stable 2.0.0.