17TRACK

The seventeentrack integrationIntegrations connect and integrate Home Assistant with your devices, services, and more. [Learn more] allows users to get package data tied to their 17track.net account. The integration creates both summary sensors, which show the number of packages in a current state (e.g., “In Transit”), as well as individual sensors for each package within the account.

Important

Although the 17track.net website states that account passwords cannot be longer than 16 characters, users can technically set longer-than-16-character passwords. These passwords will not work with the used API. Therefore, please ensure that your 17track.net password does not exceed 16 characters.

Configuration

To add the 17TRACK service to your Home Assistant instance, use this My button:

Manual configuration steps

If the above My button doesn’t work, you can also perform the following steps manually:

Package statuses

17track’s API provides the following tracking statuses. The integration creates a sensor for each status, which contains the packages in that status. The sensor’s displayed value is the number of packages in that status.

  • Not found
  • In transit
  • Expired
  • Ready to be picked up
  • Undelivered
  • Delivered
  • Returned

Package-level attributes

Each package entry (for example, within a status sensor) contains the following attributes.

  • package.friendly_name
  • package.status
  • package.destination_country
  • package.info_text
  • package.timestamp
  • package.location
  • package.origin_country
  • package.package_type
  • package.tracking_info_language
  • package.tracking_number

Examples

Dashboard summary card

Use the following templated Markdown card to list all packages in transit along with their status:

type: markdown
title: Packages in transit
content: >
  {% for package in
  states.sensor['seventeentrack_in_transit'].attributes.packages %}

  >- **{{ package.friendly_name }} ({{ package.tracking_number }}):** {{
  package.info_text }}

  {% endfor %}

Actions

Action seventeentrack.get_packages

The seventeentrack.get_packages action allows you to query the 17track API for the latest package data.

Data attribute Optional Description
config_entry_id No The ID of the 17Track service config entry.
package_state yes A list of the package states.
# Example automation action to retrieve packages with specific states from 17Track
- action: seventeentrack.get_packages
  data:
    config_entry_id: 2b4be47a1fa7c3764f14cf756dc98991
    package_state: ["Delivered", "In transit"]

Action seventeentrack.archive_package

The seventeentrack.archive_package action allows you to archive a package using the 17track API.

Data attribute Optional Description
config_entry_id No The ID of the 17Track service config entry.
package_tracking_number No The package tracking number.
# Example automation action to archive a package with a tracking number
- action: seventeentrack.archive_package
  data:
    config_entry_id: 2b4be47a1fa7c3764f14cf756dc98991
    package_tracking_number: RU0103445624A