Releases: peternijssen/ha-parcel-aggregator
Releases · peternijssen/ha-parcel-aggregator
Release list
1.5.0
New features
- Outgoing parcels in the unified events — outgoing/return parcel events from the individual carriers are now re-emitted under the aggregator's unified event prefix, so a single cross-carrier automation catches parcels you send back too.
1.4.0
New features
- Aggregated "Outgoing delivered parcels" sensor — sums recently delivered outgoing parcels (including returns) across every installed carrier, matching the new per-carrier sensor in DHL, DPD and PostNL. Its merged list and
by_carrierbreakdown work just like the other aggregator sensors.
Improvements
- Sensor names now match the per-carrier integrations exactly (e.g. "Incoming parcels", "Outgoing delivered parcels") for a consistent look across a mixed-carrier dashboard.
1.3.0
What's new
- Combined deliveries calendar — a new
calendar.parcel_aggregator_deliveriesshows the expected deliveries from every installed carrier in a single agenda, each event prefixed with its carrier. Read-only and enabled by default. - GLS is now a recognised source — GLS parcels roll into the aggregated counts, the next-delivery timestamp, the combined calendar and the unified
parcel_aggregator_parcel_*events alongside the other carriers. - Carriers are discovered live — install (or remove) a carrier integration after the aggregator and its sensors are picked up automatically, with no reload of the aggregator needed.
1.2.0
What's new
- Parcel history flows through — when an installed carrier integration has its own Parcel history option enabled, the per-parcel
historynow appears on the aggregator's parcel attributes too.
1.1.0
What's new
- Carrier-agnostic delivery-time event — when any installed carrier integration fires its own
<prefix>_parcel_delivery_time_changedevent (DHL and DPD ship this in 2.2.0; PostNL follows in a later release), the aggregator re-emits it asparcel_aggregator_parcel_delivery_time_changed. Write one automation that notifies you whenever any parcel's ETA shifts, regardless of carrier. Seeexamples/automations/notify_when_any_delivery_time_changes.yaml. - Recipient name, weight and dimensions in the unified parcel shape — the aggregator-side parcel dict now surfaces
receiver,weight(kg) anddimensions(cm, with a pre-formattedtextstring) on every parcel that comes from a carrier exposing them.
1.0.4
Bug fixes
- No more crashes on mixed delivery timestamps — the aggregator hit
can't compare offset-naive and offset-aware datetimeswhenever its source carriers returned a mix of timestamp shapes (PostNL most often). Naive values are now treated as UTC.
1.0.3
Improvements
- Parcels in every bucket are now sorted by delivery date.
incomingandoutgoingare sorted ascending onplanned_fromso upcoming deliveries appear first;deliveredis sorted descending ondelivered_atso the most recently delivered ones lead. Parcels without a parseable timestamp always sort to the end. - Updated
examples/dashboards/unified_active_parcels_grid.yamlto render incoming parcels as a four-column markdown table (carrier, sender, status, expected delivery window) instead of a bullet list.
1.0.2
What's new
- Three carrier-aware automation examples — per-carrier notification styling (DHL yellow, DPD red, PostNL orange), a daily 08:00 summary grouped by carrier, and a "DHL parcels only" filter template you can adapt for any single carrier.
- First three dashboard cards — a unified active-parcels grid that badges every row with its carrier, a per-carrier breakdown table that adapts to whichever carriers you have installed, and a next-delivery card that shows the matching parcel's carrier and sender.
- Updated
examples/README.mddocumenting both the carrier-agnostic and the new carrier-aware patterns, plus the multi-carrier attributes (parcels,by_carrier) the examples lean on.
No code changes — examples-only release.
1.0.1
What's changed
- Outgoing parcels work again with DHL 2.0.0b2 — DHL renamed its outgoing-sensor attribute from
shipmentstoparcels, which left the aggregator unable to find them. Fixed. - DPD 2.0.0 events get re-emitted automatically — once DPD 2.0.0 ships its
dpd_parcel_registered/dpd_parcel_status_changedevents, the aggregator will forward them asparcel_aggregator_parcel_*like it already does for DHL. - Consistent
parcelsattribute on every summary sensor —sensor.parcel_aggregator_outgoingnow exposes its merged list underparcelsinstead ofshipments, matching every other summary sensor.
⚠️ Breaking change
- If your templates read
state_attr('sensor.parcel_aggregator_outgoing', 'shipments'), rename it to'parcels'.
1.0.0
First public release with a stable, carrier-agnostic API contract.