Ü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
- Paket hinzufügen:
python3 scripts/package_manager.py add -c H1003660401590901036 -r hermes -d "Amazon Bestellung" - Automatische Einrichtung:
- Speichert in SQLite-Datenbank (
data/tracking.db) - Erstellt Cron-Jobs für 10:00 und 16:00 Uhr
- Überwacht Status automatisch
- Speichert in SQLite-Datenbank (
- 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 chromiumausfü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.