6.8 KiB
OpenClaw Signal-Integration und täglicher Morgen-Digest
Diese Anleitung beschreibt den funktionierenden Installationsweg auf dem OpenClaw-System 2026.5.6 auf ARM64/aarch64. Sie berücksichtigt die konkret aufgetretenen Stolperstellen: Java-Version, fehlende native libsignal-client, QR-Code-Ausgabe im Terminal, unterschiedliche CLI-Optionen bei message send und cron add, sowie den korrekten Paperless-Skillnamen.
Ziel
OpenClaw soll täglich um 08:00 Uhr Europe/Vienna eine Signal-Nachricht senden. Der Inhalt soll ein kurzer deutschsprachiger Digest sein mit:
- Terminen und Aufgaben aus
caldav-kalenderfür heute und morgen - neuen Dokumenten aus dem Paperless-Posteingang über den Skill
paperless - Versand per Signal an
+436643941018
Voraussetzungen
- OpenClaw ist installiert und läuft.
- OpenClaw-Version:
2026.5.6 - Systemarchitektur: ARM64/aarch64
signal-clisoll als verknüpftes Signal-Gerät verwendet werden.- Der Signal-Channel wird in OpenClaw über das Dashboard aktiviert.
Java 25 installieren
Der zuerst installierte Java-21-Stand war zu alt. Die Fehlermeldung lautete sinngemäß:
UnsupportedClassVersionError ... class file version 69.0 ... only recognizes ... 65.0
Das bedeutet: das verwendete signal-cli wurde für Java 25 gebaut.
Funktionierender Befehl:
sudo apt update
sudo apt install -y openjdk-25-jre-headless
java -version
Falls mehrere Java-Versionen installiert sind:
sudo update-alternatives --config java
Dort Java 25 auswählen.
signal-cli korrekt installieren
Der manuelle /opt-Installationsweg führte auf ARM64 zu folgendem Fehler:
Missing required native library dependency: libsignal-client
no signal_jni in java.library.path
Der funktionierende Weg war daher die Paketquelle für signal-cli und die native Variante.
Zuerst alten manuellen Symlink sichern oder entfernen:
sudo mv /usr/local/bin/signal-cli /usr/local/bin/signal-cli.manual.bak 2>/dev/null || true
hash -r
Paketquelle hinzufügen:
sudo curl -sL -o /etc/apt/trusted.gpg.d/morph027-signal-cli.asc \
https://packaging.gitlab.io/signal-cli/gpg.key
echo "deb [arch=arm64] https://packaging.gitlab.io/signal-cli signalcli main" \
| sudo tee /etc/apt/sources.list.d/morph027-signal-cli.list
sudo apt update
Wichtig: Die Architektur wurde explizit auf arm64 eingeschränkt, weil sonst eine Warnung zu armhf erschien:
Das Laden der konfigurierten Datei »main/binary-armhf/Packages« wird übersprungen ...
Dann signal-cli-native installieren:
sudo apt install -y signal-cli-native
Das Paket morph027-keyring war nicht verfügbar und wurde daher nicht installiert. Der manuell abgelegte GPG-Key reichte aus.
Prüfen:
which signal-cli
signal-cli --version
signal-cli mit Signal koppeln
Der einfache Befehl:
signal-cli link -n "OpenClaw"
führte im Terminal nur zu Fragezeichen. Das war ein Darstellungsproblem des QR-Codes.
Funktionierender Weg:
sudo apt install -y qrencode
signal-cli link -n "OpenClaw" | tee >(xargs -L 1 qrencode -t utf8)
Wichtig: Den Prozess laufen lassen, bis das Handy die Verknüpfung bestätigt hat. Nicht vorher mit Ctrl+C abbrechen.
Auf dem Handy:
Signal → Profilbild → Verknüpfte Geräte → Neues Gerät verknüpfen
Dann den QR-Code scannen.
Signal-Channel in OpenClaw aktivieren
Im Dashboard:
Kommunikation → Channels → Signal
Dort Signal aktivieren und die passenden Felder setzen.
Empfohlene Werte:
{
enabled: true,
cliPath: "signal-cli",
dmPolicy: "pairing",
allowFrom: [],
configWrites: true,
historyLimit: 50
}
Falls ein Feld Signal Account vorhanden ist, dort die Signal-Nummer im internationalen Format eintragen:
+43...
Danach den Gateway neu starten:
openclaw gateway restart
openclaw channels status
Signal-Versand testen
In OpenClaw 2026.5.6 verwendet message send nicht --to, sondern --target.
Funktionierender Test:
openclaw message send \
--channel signal \
--target "+436643941018" \
--message "OpenClaw Signal-Test"
Wenn diese Nachricht ankommt, ist der Signal-Channel korrekt eingerichtet.
Täglichen Morgen-Digest anlegen
Wichtig: Bei cron add heißt die Zieloption in dieser OpenClaw-Version nicht --target, sondern --to.
Korrektes Kommando:
openclaw cron add \
--name "Signal Morgen-Digest" \
--cron "0 8 * * *" \
--tz "Europe/Vienna" \
--session isolated \
--message "Erstelle täglich auf Deutsch einen kompakten Morgen-Digest. Nutze caldav-kalender für Termine und Aufgaben für heute und morgen. Nutze paperless für neue Dokumente im Paperless-Posteingang. Melde neue Paperless-Dokumente nur einmal und verwende dafür persistentes Tracking. Abschnitte: Termine heute, Termine morgen, Aufgaben, Neue Paperless-Dokumente. Wenn leer: Keine." \
--announce \
--channel signal \
--to "+436643941018"
Der korrekte Paperless-Skillname ist:
paperless
nicht:
papaerless
Gateway-Scope-Freigabe
Beim Anlegen des Zeitplans kann eine Gateway-Freigabe notwendig sein. Die Fehlermeldung sieht etwa so aus:
scope upgrade pending approval
pairing required: device is asking for more scopes than currently approved
Dann im Dashboard unter Geräte oder Approvals die Scope-Erweiterung genehmigen. Alternativ per CLI prüfen:
openclaw devices list
openclaw approvals get
Danach den openclaw cron add ... Befehl erneut ausführen.
Zeitplan prüfen und manuell starten
Zeitpläne anzeigen:
openclaw cron list
Beispiel für den angelegten Job:
ID Name Schedule
257ad34d-5e96-47a2-a06d-1b9a792e6687 Signal Morgen-Digest cron 0 8 * * * @ Europe/Vienna
In dieser Version erwartet openclaw cron run die Job-ID, nicht den Namen.
Funktionierender manueller Start:
openclaw cron run 257ad34d-5e96-47a2-a06d-1b9a792e6687
Erfolgreiche Ausgabe:
{
"ok": true,
"enqueued": true,
"runId": "manual:257ad34d-5e96-47a2-a06d-1b9a792e6687:..."
}
Läufe prüfen:
openclaw cron runs
Merksätze für diese OpenClaw-Version
openclaw message send → --target
openclaw cron add → --to
openclaw cron run → Job-ID verwenden, nicht den Namen
Paperless-Skill → paperless
Quellen
- OpenClaw Channel-Konfiguration: https://docs.openclaw.ai/gateway/config-channels
- OpenClaw CLI-Referenz: https://docs.openclaw.ai/cli
- signal-cli Projekt: https://github.com/AsamK/signal-cli
- signal-cli Debian/Ubuntu-Pakete: https://packaging.gitlab.io/signal-cli/
- signal-cli Provisioning/Linking: https://github.com/AsamK/signal-cli/wiki/Linking-other-devices-(Provisioning)