Überblick

Dieser Skill ermöglicht die automatisierte Hermes-Paketverfolgung mittels Browser-Automation und OCR-Textextraktion. Hermes bietet keine offizielle API, daher nutzen wir Playwright für Headless-Browsing und Tesseract zur Texterkennung aus Screenshots.

Features

  • Browser-Automation via Playwright (Chromium)
  • OCR-Textextraktion mit Tesseract
  • Automatische Status-Erkennung
  • Screenshot-Archivierung für Nachweis
  • Automatische Cron-Verwaltung – Cron wird bei Zustellung automatisch gelöscht
  • Gemeinsame Datenbank – Nutzt dieselbe SQLite-DB wie der DHL-Skill

System-Voraussetzungen

1. Tesseract OCR installieren

# System-Pakete (ohne sudo in Docker)
apt-get update
apt-get install tesseract-ocr tesseract-ocr-deu

# Überprüfung
tesseract --version
tesseract --list-langs  # Sollte "deu" enthalten

2. Playwright installieren

# Python-Pakete
pip install playwright pytesseract Pillow

# Browser-Binary installieren
playwright install chromium

# Überprüfung
python3 -c "from playwright.sync_api import sync_playwright; print('Playwright OK')"

Automatisches Tracking-Setup

Der OpenClaw-Assistent verwaltet alles automatisch. Einfach die Tracking-Nummer angeben – der Rest läuft von allein.

Workflow

  1. Paket hinzufügen:
    python3 scripts/package_manager.py add -c H1003660401590901036 -r hermes -d "Amazon Bestellung"
  2. Automatische Einrichtung:
    • Speichert in SQLite-Datenbank (data/tracking.db)
    • Erstellt Cron-Jobs für 10:00 und 16:00 Uhr
    • Überwacht Status automatisch
  3. Bei Zustellung:
    • Cron-Job wird automatisch gelöscht
    • Paket als „zugestellt“ markiert (posted = 1)
    • Keine weiteren Checks nötig

Datenbank-Integration (Pflicht)

Der Hermes-Skill nutzt dieselbe SQLite-Datenbank wie der DHL-Skill:

CREATE TABLE packages (
    id INTEGER PRIMARY KEY AUTOINCREMENT,
    tracking_number TEXT UNIQUE NOT NULL,
    carrier TEXT NOT NULL,  -- 'hermes' oder 'dhl'
    description TEXT,
    status TEXT,
    last_check TIMESTAMP,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    posted BOOLEAN DEFAULT 0  -- 1 wenn zugestellt/benachrichtigt
);

-- Datenbank-Pfad
data/tracking.db

Hinweis: Die Datei tracking.db wird automatisch erstellt, falls sie nicht existiert.

Manuelle Nutzung (optional)

Direkter Aufruf

# Einfaches Tracking
python3 scripts/hermes_tracker.py H1003660401590901036

# Mit URL
python3 scripts/hermes_tracker.py "https://www.myhermes.de/...#H1003660401590901036"

# Debug-Modus mit sichtbarem Browser
python3 scripts/hermes_tracker.py H1003660401590901036 --show-browser

Als Python-Modul

from scripts.hermes_tracker import track_package

result = track_package('H1003660401590901036')
print(result['status'])
print(result['screenshot'])

Status-Erkennung

Status Bedeutung
„zugestellt an der Empfangsadresse“ ✅ Paket zugestellt
„ins Zustellfahrzeug geladen“ 🚚 Heute Zustellung
„Paketshop abgeholt“ 📦 Abgeholt
„Filiale bereit zur Abholung“ 🏪 Abholbereit
„an Hermes übergeben“ 📤 Versendet

Troubleshooting

„Tesseract not found“

  • Tesseract installiert? which tesseract
  • Deutsche Sprachdaten? tesseract --list-langs

„Playwright Browser not found“

  • playwright install chromium ausführen

Skill-Setup

Für die Installation als Skill im OpenClaw-Workspace müssen folgende Dateien erstellt werden:

1. Verzeichnis erstellen

mkdir -p ~/.openclaw/workspace/skills/hermes-tracking

2. SKILL.md erstellen

Erstelle die Datei ~/.openclaw/workspace/skills/hermes-tracking/SKILL.md mit dem vollständigen Inhalt dieser Anleitung.

3. hermes_tracker.py kopieren

# Script in den Skill-Ordner kopieren
cp scripts/hermes_tracker.py ~/.openclaw/workspace/skills/hermes-tracking/

# Oder direkt aus dem Repository
wget -O ~/.openclaw/workspace/skills/hermes-tracking/hermes_tracker.py \
    https://raw.githubusercontent.com/dein-repo/main/scripts/hermes_tracker.py

4. Verifizieren

# Skill-Struktur prüfen
ls -la ~/.openclaw/workspace/skills/hermes-tracking/

# Sollte enthalten:
# - SKILL.md
# - hermes_tracker.py

Der Skill ist nun einsatzbereit und kann von OpenClaw automatisch geladen werden.

Quellen