Packet Tracking

Hi,

was verwendet ihr um eure Pakete zu verfolgen in HA? Es gibt ja 17Track, das ist jedoch aus China und dem vertrau ich nicht :smiley:

Cheers
Felix

Ganz ehrlich. In HA nichts. Paketvervollgung hat für mich nicht mit Heimautomation zu tun. Oder was willst du automatisieren?

Ich nutze unter Android “Lieferungen”.

Man kann alles und jedes automatisieren.
Aber bei nahezu allen Bestellungen die man bei innerdeutschen Anbietern tätigt kommt das Zeug in 1-2 Tagen.
Was soll man sich da noch mit Addons & Integrationen das System verstopfen?

Naja, wenn man wüsste, dass der Bote in 10‐20 Min. kommt, könnte man zumindest die Hoftüre, das Gartentor, die Haustür oder Garage oder oder oder beim klingeln öffnen lassen.

Ich finde das auch gar nicht schlecht. So kann ich die Verfolgung bequem am Tablet erledigen und muss nicht immer zu Nummern auf irgendwelchen Seiten einfügen.

Aktuell nutze ich 17track, das funktioniert eigentlich sehr gut, nur die Aktualisierung hat schon eine Verzögerung. Ist aber auch nicht so schlimm. War schnell installiert und eingerichtet. Ein Account bei 17track braucht ist notwendig. Wenn dann ein Paket angekommen ist, bekomme ich eine Nachricht auf dem Handy.

Anzeige erfolgt in einer Markdown Card

type: markdown
content: |
  {% if state_attr('sensor.17track_unterwegs', 'packages') | length > 0 %}
    **Paketauskunft:**  
    {% for package in state_attr('sensor.17track_unterwegs', 'packages') %}
      >> Paket: {{ package['friendly_name'] if package['friendly_name'] else ' ' }}
        - Status: {{ package['status'] if package['status'] else 'Keine Angabe' }} - {{ package['timestamp'] if package['timestamp'] else 'Unbekannt' }}   
        - Ort: {{ package['location'] if package['location'] else 'Unbekannt' }}  
        - Info: {{ package['info_text'] if package['info_text'] else 'Keine Information' }}  
        - Tracking Nr.: {{ package['tracking_number'] }}  
    {% endfor %}
  {% else %}
    **Es sind keine Pakete unterwegs.**
  {% endif %}

Mein Ziel ist es halt alles was die Familie betrifft in einem System erfassen zu können. Ich möchte kein 17Track verwenden. Ich vertrau denen irgendwie nicht.

Ich hätte gerne eine Übersicht wie in deiner Karte und kann verschiedene Automationen mir vorstellen: Benachrichtigungen wenn Paket da ist, etc.

Das wären zwei Möglichkeiten.

Funktioniert leider nicht, es kommt folgende Fehlermeldung:

Das ist manchmal etwas nervig an Home Assistant, man findet endlich eine Lösung für etwas, die auch nicht allzu alt ist und dann funktioniert es nicht, weil aller Nase lang etwas geändert wird.

type: markdown
content: |
  {% set packages = state_attr('sensor.17track_unterwegs', 'packages') | default([], true) %}
  {% if packages | length > 0 %}
  **Paketauskunft:**  
  {% for package in packages %}
  > **Paket:** {{ package.get('friendly_name') or '—' }}
  - **Status:** {{ package.get('status') or 'Keine Angabe' }} – {{ package.get('timestamp') or 'Unbekannt' }}
  - **Ort:** {{ package.get('location') or 'Unbekannt' }}
  - **Info:** {{ package.get('info_text') or 'Keine Information' }}
  - **Tracking Nr.:** {{ package.get('tracking_number') or '—' }}
  {% endfor %}
  {% else %}
  **Es sind keine Pakete unterwegs.**
  {% endif %}

Ungetestet … Aber über ein Jahr und somit 13 Minor und 1 Major Version später ist nicht aktueller Code. :wink:

Danke, so meckert die Kachel nicht mehr rum, aber:

Es wird ja der gleiche Sensor abgefragt, seltsam …

type: markdown
content: |
  {% if states('sensor.17track_unterwegs') != '0' %}
    {% set packages = state_attr('sensor.17track_unterwegs', 'packages') | default([], true) %}
    **Paketauskunft:**  
    {% for package in packages %}
    > **Paket:** {{ package.get('friendly_name') or '—' }}
    - Status: {{ package.get('status') or 'Keine Angabe' }} – {{ package.get('timestamp') or 'Unbekannt' }}
    - Ort: {{ package.get('location') or 'Unbekannt' }}
    - Info: {{ package.get('info_text') or 'Keine Information' }}
    - Tracking Nr.: {{ package.get('tracking_number') or '—' }}
    {% endfor %}
  {% else %}
    **Es sind keine Pakete unterwegs.**
  {% endif %}

Jetzt steht zumindest schonmal “Paketauskunft:” da, ohne Inhalt. Gehört der hier beschriebene Template-Sensor in die configuration.yaml oder muß der (mittlerweile) woanders hin? Ich habe ihn in die configuration.yaml eingefügt und das System meckert an keiner Stelle, also weder der File-Editor, noch die Konfigurationsüberprüfung in den Entwicklerwerkzeugen.

# 17track Paketinformationen abrufen
template:
  - trigger:
      - trigger: time_pattern
        minutes: /10
      - trigger: homeassistant
        event: start
    action:
      - action: seventeentrack.get_packages
        data:
          config_entry_id: xxxxxxxxxxxxxxxxxxxx
          package_state:
            - in_transit
        response_variable: result
    sensor:
      - name: "Packages in transit"
        unique_id: packages_in_transit
        state: ""
        attributes:
          packages: ""

Dann muss ich es mir nachher in Ruhe ansehen. Das war nur eben vom Handy …

Die 17track Integration scheint sowieso nicht richtig zu funktionieren, nach jedem HA Neustart fliegen die Anmeldedaten raus, der Dienst muß dann erst gelöscht und neu hinzugefügt werden, wobei der erste Anmeldeversuch immer fehlschlägt und der zweite dann funktioniert, bis zum nächsten HA Neustart. Die generellen Paketstati kriege ich dann zwar geliefert, aber nicht die Paketinformationen. Habe es auch mit einer Methode aus GitHub probiert, auch keine Paketdetails.

Logger: pyseventeentrack.profile
Quelle: components/seventeentrack/config_flow.py:72
Erstmals aufgetreten: 20:15:17 (1 Vorkommnis)
Zuletzt protokolliert: 20:15:17

Login response successful (code 0) but ‘gid’ is missing or empty in ‘data’: {‘code’: -6, ‘hint’: None}

Logger: homeassistant.components.seventeentrack
Quelle: helpers/update_coordinator.py:416
Integration: 17TRACK (Dokumentation, Probleme)
Erstmals aufgetreten: 20:15:32 (1 Vorkommnis)
Zuletzt protokolliert: 20:15:32

Unexpected error fetching seventeentrack data
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 416, in _async_refresh
    self.data = await self._async_update_data()
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/seventeentrack/coordinator.py", line 61, in _async_update_data
    summary = await self.client.profile.summary(
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        show_archived=self.show_archived
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    )
    ^
  File "/usr/local/lib/python3.13/site-packages/pyseventeentrack/profile.py", line 114, in summary
    for kind in summary_resp.get("Json", {}).get("eitem", []):
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'get'

Versuche doch mal dein 17Track Passwort auf 6stellig zu ändern. Und achte darauf, dass du keine Sonderzeichen verwendest. Damit war bei mir der Fehler mit den ständig fehlschlagenden Anmeldungen behoben.

ALs Anzeige verwende ich:

type: vertical-stack
cards:
  - type: glance
    title:   Paketübersicht
    entities:
      - entity: sensor.seventeentrack_packages_ready_to_be_picked_up
        name: Abholbereit
      - entity: sensor.seventeentrack_packages_in_transit
        name: Unterwegs
      - entity: sensor.seventeentrack_packages_delivered
        name: Zugestellt
  - type: conditional
    conditions:
      - condition: numeric_state
        entity: sensor.pakete_abholbereit_formatiert
        above: 0
    card:
      type: markdown
      content: |
        {{ state_attr('sensor.pakete_abholbereit_formatiert', 'details') }}
  - type: conditional
    conditions:
      - condition: numeric_state
        entity: sensor.pakete_unterwegs_formatiert
        above: 0
    card:
      type: markdown
      content: |
        {{ state_attr('sensor.pakete_unterwegs_formatiert', 'details') }}
  - type: markdown
    content: >
        Letzte Aktualisierung: {{
      state_attr('sensor.pakete_unterwegs_formatiert', 'last_update') }}

@quiet.grip6776 , danke dir, leider bringt auch die Kürzung des Passwortes nichts, 17track verlangt 8-16 Zeichen inkl. Sonderzeichen. Habe jetzt mal auf 8 Zeichen abgekürzt, keine Änderung beim Startverhalten, zudem werden keinerlei Paketdetails übertragen, nur die verschiedenen Stati und auch das eher ungenau, vorhin kamen 2 Pakete, beide standen immernoch auf “Unterwegs", obwohl bereits in Zustellung und jetzt steht eins auf “Bereit zur Abholung" und eins ist immernoch unterwegs. Bei 17track selbst steht eins auf “Geliefert" und eins auf “In Zustellung" , in der DHL App sind beide korrekt auf "Zugestellt”.

Ich schmeiß 17track jetzt raus, keine Lust mehr, mich damit rumzuärgern, wäre eh nur ein “Schön, es zu haben” gewesen.

kann ich verstehen, leider ist da ein gehöriger Zeitversatz drin. Mir ging es persönlich nur darum, alles in einem System zusammenzufassen und dafür funktioniert es. Ein bisschen vermisse ich das “Live-Erlebnis” auch, aber hab bis dato noch keine bessere Lösung gefunden. Das deckt aber nicht deinen Anwendungsfall ab :slightly_smiling_face:. Hatte mich auch schon mit der DHL API rumgeschlagen, aber dafür fehlt mir die technische Tiefe.

Zur Dokumentation, ich habe mich oben vertan, es waren maximal 16, nicht 6: Auf der Integrationsseite von HA steht folgendes:

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.

17Track-HomeAssistant

16 Stellen hatte ich ja ursprünglich, normalerweise sind meine Passwörter aber 128-256 Zeichen lang, je nachdem, was ein Anbieter zulässt.

Mir ja eben auch, aber bei mir funktionierts halt nicht so richtig, leider. Die genannten Fehler tauchen auch öfters auf im Netz und bei GitHub reagiert irgendwie niemand mehr auf Fehlermeldungen.

Hallo zusammen,

ich hänge mich hier dran, weil ich genau das gesucht und am Ende selbst gebaut habe: eine Paketübersicht in HA, ohne dass alles über 17track läuft.

- DHL, DPD, GLS, Hermes und UPS werden direkt bei den Carriern abgefragt – Status kommt also ohne den Zeitversatz, den ihr bei 17track beschreibt

- Pakete entstehen auf Wunsch von selbst aus den Versandmails (eigenes Paket-Postfach per IMAP, auch Amazon und eBay)

- Übersichtskarte fürs Dashboard, Sensor „Pakete heute“, Kalender

- @schmidtfx: Benachrichtigung bei „in Zustellung“ und „zugestellt“ ist eingebaut, dazu ein Event für eigene Automationen (z. B. Tor öffnen, wenn ein Paket in Zustellung ist und es klingelt)

- läuft lokal, kein Konto bei einem Tracking-Dienst nötig. 17track gibt es nur optional und nur auf Knopfdruck für Carrier, die nicht direkt unterstützt werden – standardmäßig ist es aus.

Noch Beta und für Deutschland gebaut. Ich suche Tester, Details hier:

Viele Grüße

Sören