OpenClaw · Skill
Foto Webcam
Goal: Fetch a current image from a saved favorites list (number -> webcam page) and send it to the user.
Install
Start with the primary install command. Alternate entrypoints are included below for ClawHub and OpenClaw CLI users.
Primary command
clawhub install unixweb/foto-webcamClawHub installer
npx clawhub@latest install unixweb/foto-webcamOpenClaw CLI
openclaw skills install unixweb/foto-webcamDirect OpenClaw install
openclaw install unixweb/foto-webcamWhat this skill does
Goal: Fetch a current image from a saved favorites list (number -> webcam page) and send it to the user.
Why it matters
Retrieves live webcam images with a short command instead of manually browsing individual webcam pages.
Typical use cases
- Checking current conditions at a mountain webcam by number
- Viewing multiple webcam snapshots in a single request
- Listing all saved favorite webcam locations
- Adding a new webcam page URL to the favorites list
- Getting a live image from a specific foto-webcam.eu location on demand
Source instructions
Photo-Webcam Snapshots
Goal: Fetch a current image from a saved favorites list (number -> webcam page) and send it to the user.
Data source (favorites)
Default file in the workspace:
docs/webcams/favorites-muenchen.json
Format:
items[].id(int)items[].name(string)items[].page(URL of the webcam page)- optional
items[].image(direct image URL)
Typical user commands
- webcam 1
- webcam 3+4+5
- liste
- liste webcams
- fuege <name> <url> hinzu
Workflow: webcam N -> send image
- Load favorites list from docs/webcams/favorites-muenchen.json.
- Find entry with id equal to N.
- Fetch snapshot:
- If image is set: load that URL directly
- Otherwise: derive current 1200 jpg from page URL
- Save image to /tmp/webcamN.jpg
- Send image via openclaw CLI: openclaw message send --channel telegram --target <CHAT_ID> --message “Webcam N Name” --media /tmp/webcamN.jpg
Workflow: webcam 3+4+5 -> multiple images
Maximum 6 images per request; ask first if more are requested.
Run a separate openclaw call for each ID — never bundle multiple images into a single command or response.
Example for “webcam 1+3”:
python3 ... --id 1 --out /tmp/webcam1.jpg -> read name from script output openclaw message send --channel telegram --target <CHAT_ID> --message “Webcam 1 <name>” --media /tmp/webcam1.jpg
python3 ... --id 3 --out /tmp/webcam3.jpg -> read name from script output openclaw message send --channel telegram --target <CHAT_ID> --message “Webcam 3 <name>” --media /tmp/webcam3.jpg
Each openclaw command runs separately. The caption for each image comes exclusively from the script output (field “name”) of the respective call.
Workflow: liste -> send favorites list
Send a plain text list: Webcam 1 Name Webcam 2 Name etc.
No formatting, plain text only.
Resolving the image URL (foto-webcam.eu)
For a webcam page like:
https://www.foto-webcam.eu/webcam/zugspitze/
there is usually a direct “current” image at:
https://www.foto-webcam.eu/webcam/zugspitze/current/1200.jpg
In practice: fetch the HTML with a browser User-Agent and search for a link matching .../current/<digits>.jpg.
Script
Use the script:
skills/public/foto-webcam/scripts/foto_webcam_snapshot.py
Examples:
-
Snapshot via favorites ID:
python3 skills/public/foto-webcam/scripts/foto_webcam_snapshot.py --favorites docs/webcams/favorites-muenchen.json --id 4 --out /tmp/webcam4.jpg
-
Snapshot via URL:
python3 skills/public/foto-webcam/scripts/foto_webcam_snapshot.py --url https://www.foto-webcam.eu/webcam/zugspitze/ --out /tmp/zugspitze.jpg
Maintenance / adding webcams
- Add a new webcam: append to
favorites-muenchen.json(newid,name,page). - If a source is unreliable, set
imageto a direct JPG link.
Important: chat responses must be plain text only (no Markdown). For audio, use clean speech only (no special characters or formatting).
Eine deutsche Version dieser Skill-Beschreibung ist weiter unten zu finden.
Foto-Webcam Schnappschüsse (Deutsch)
Ziel: Ein aktuelles Bild aus einer gespeicherten Favoritenliste (Nummer → Webcam-Seite) abrufen und an den Benutzer senden.
Datenquelle (Favoriten)
Standarddatei im Workspace:
docs/webcams/favorites-muenchen.json
Format:
items[].id(int)items[].name(string)items[].page(URL der Webcam-Seite)- optional
items[].image(direkte Bild-URL)
Typische Benutzerbefehle
- webcam 1
- webcam 3+4+5
- liste
- liste webcams
- fuege <name> <url> hinzu
Ablauf: webcam N -> Bild senden
- Favoritenliste aus docs/webcams/favorites-muenchen.json laden.
- Eintrag mit der entsprechenden ID finden.
- Schnappschuss abrufen:
- Falls
imagegesetzt ist: diese URL direkt laden - Andernfalls: aktuelles 1200-JPG aus der Seiten-URL ableiten
- Falls
- Bild unter /tmp/webcamN.jpg speichern
- Bild per openclaw CLI senden: openclaw message send --channel telegram --target <CHAT_ID> --message "Webcam N Name" --media /tmp/webcamN.jpg
Ablauf: webcam 3+4+5 -> mehrere Bilder
Maximal 6 Bilder pro Anfrage; bei mehr zuerst nachfragen.
Für jede ID einen separaten openclaw-Aufruf ausführen — niemals mehrere Bilder in einem einzigen Befehl oder einer Antwort bündeln.
Beispiel für „webcam 1+3":
python3 ... --id 1 --out /tmp/webcam1.jpg -> Name aus Script-Ausgabe lesen openclaw message send --channel telegram --target <CHAT_ID> --message "Webcam 1 <name>" --media /tmp/webcam1.jpg
python3 ... --id 3 --out /tmp/webcam3.jpg -> Name aus Script-Ausgabe lesen openclaw message send --channel telegram --target <CHAT_ID> --message "Webcam 3 <name>" --media /tmp/webcam3.jpg
Jeder openclaw-Befehl läuft separat. Die Bildunterschrift kommt ausschließlich aus der Script-Ausgabe (Feld „name") des jeweiligen Aufrufs.
Ablauf: liste -> Favoritenliste senden
Einfache Textliste senden: Webcam 1 Name Webcam 2 Name usw.
Keine Formatierung, nur reiner Text.
Bild-URL auflösen (foto-webcam.eu)
Für eine Webcam-Seite wie:
https://www.foto-webcam.eu/webcam/zugspitze/
gibt es normalerweise ein aktuelles Bild unter:
https://www.foto-webcam.eu/webcam/zugspitze/current/1200.jpg
In der Praxis: HTML mit Browser-User-Agent abrufen und nach einem Link suchen, der auf .../current/<Ziffern>.jpg passt.
Script
Das Script verwenden:
skills/public/foto-webcam/scripts/foto_webcam_snapshot.py
Beispiele:
-
Schnappschuss per Favoriten-ID:
python3 skills/public/foto-webcam/scripts/foto_webcam_snapshot.py --favorites docs/webcams/favorites-muenchen.json --id 4 --out /tmp/webcam4.jpg
-
Schnappschuss per URL:
python3 skills/public/foto-webcam/scripts/foto_webcam_snapshot.py --url https://www.foto-webcam.eu/webcam/zugspitze/ --out /tmp/zugspitze.jpg
Pflege / Webcams hinzufügen
- Neue Webcam hinzufügen: Eintrag in
favorites-muenchen.jsonergänzen (neueid,name,page). - Bei unzuverlässiger Quelle:
imageauf eine direkte JPG-URL setzen.
Wichtig: Chat-Antworten nur als reiner Text (kein Markdown). Für Sprachausgabe: sauberer Text ohne Sonderzeichen oder Formatierung.