webuntis
✓Verified·Scanned 2/17/2026
This skill provides a CLI webuntis.py that fetches student timetables from WebUntis (examples: https://xyz.webuntis.com, https://example.webuntis.com). It reads credentials from env vars such as WEBUNTIS_PASS and issues JSON-RPC POSTs to .../WebUntis/jsonrpc.do (purpose-aligned network and credential use).
from clawhub.ai·v36666c3·12.7 KB·0 installs
Scanned from 1.0.1 at 36666c3 · Transparency log ↗
$ vett add clawhub.ai/finnbusse/webuntis
WebUntis (Untis) timetable
Use the bundled script to log in and fetch the timetable via JSON-RPC.
Security / credentials
- Do not ask the user to paste passwords into chat.
- Prefer a dedicated read-only student account if the school allows it.
- Credentials must be provided via environment variables (or injected securely by the operator).
Single profile:
WEBUNTIS_BASE_URL(e.g.https://xyz.webuntis.com)WEBUNTIS_SCHOOL(school name / key used by WebUntis)WEBUNTIS_USERWEBUNTIS_PASS- Optional:
WEBUNTIS_ELEMENT_TYPE(default5= student) - Optional:
WEBUNTIS_ELEMENT_ID(if auto-detect fails)
Multiple profiles (parallel):
- Set
WEBUNTIS_PROFILE=<name>or pass--profile <name> - Provide env vars prefixed by the profile name, e.g. for profile
cdg:WEBUNTIS_CDG_BASE_URLWEBUNTIS_CDG_SCHOOLWEBUNTIS_CDG_USERWEBUNTIS_CDG_PASS- optional:
WEBUNTIS_CDG_ELEMENT_TYPE,WEBUNTIS_CDG_ELEMENT_ID
Quick commands (exec)
Today:
cd skills/webuntis/scripts
./webuntis.py today
# or pick a profile
./webuntis.py --profile cdg today
Range:
cd skills/webuntis/scripts
./webuntis.py range 2026-02-10 2026-02-14
Troubleshooting
If you get "Could not determine element-id":
- Run once and capture the error.
- Add
WEBUNTIS_ELEMENT_ID=<number>and retry.
If auth fails:
- Verify
WEBUNTIS_BASE_URLis correct for your school. - Verify
WEBUNTIS_SCHOOLmatches the school key used by WebUntis.
Output
The script prints one line per lesson/event:
YYYY-MM-DD HH:MM-HH:MM · <subject> · Raum <room> · bei <teacher>