webuntis
对 Untis/WebUntis 学生时间表的只读访问权限。当您需要从 WebUntis 实例获取或汇总学生当前的日程安排(今天/本周/日期范围)、即将到来的课程、房间、教师或替换时使用。
安装 / 下载方式
TotalClaw CLI推荐
totalclaw skills install shop:totalclaw:totalclaw~finnbusse-webuntiscURL直接下载,无需登录
curl -fsSL https://skills.taituai.com/api/skills/totalclaw%3Atotalclaw~finnbusse-webuntis/file -o finnbusse-webuntis.md# 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_USER`
- `WEBUNTIS_PASS`
- Optional: `WEBUNTIS_ELEMENT_TYPE` (default `5` = 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_URL`
- `WEBUNTIS_CDG_SCHOOL`
- `WEBUNTIS_CDG_USER`
- `WEBUNTIS_CDG_PASS`
- optional: `WEBUNTIS_CDG_ELEMENT_TYPE`, `WEBUNTIS_CDG_ELEMENT_ID`
## Quick commands (exec)
Today:
```bash
cd skills/webuntis/scripts
./webuntis.py today
# or pick a profile
./webuntis.py --profile cdg today
```
Range:
```bash
cd skills/webuntis/scripts
./webuntis.py range 2026-02-10 2026-02-14
```
## Troubleshooting
If you get "Could not determine element-id":
1) Run once and capture the error.
2) Add `WEBUNTIS_ELEMENT_ID=<number>` and retry.
If auth fails:
- Verify `WEBUNTIS_BASE_URL` is correct for your school.
- Verify `WEBUNTIS_SCHOOL` matches 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>`
---
## 中文说明
# WebUntis (Untis) 时间表
使用随附的脚本登录并通过 JSON-RPC 获取时间表。
## 安全 / 凭据
- **不要**要求用户将密码粘贴到聊天中。
- 如果学校允许,优先使用**专用的只读学生账户**。
- 凭据必须通过环境变量提供(或由运维人员安全注入)。
单一配置:
- `WEBUNTIS_BASE_URL`(例如 `https://xyz.webuntis.com`)
- `WEBUNTIS_SCHOOL`(WebUntis 使用的学校名称 / 键)
- `WEBUNTIS_USER`
- `WEBUNTIS_PASS`
- 可选:`WEBUNTIS_ELEMENT_TYPE`(默认 `5` = 学生)
- 可选:`WEBUNTIS_ELEMENT_ID`(如果自动检测失败)
多个配置(并行):
- 设置 `WEBUNTIS_PROFILE=<name>` 或传入 `--profile <name>`
- 提供以配置名称为前缀的环境变量,例如对于配置 `cdg`:
- `WEBUNTIS_CDG_BASE_URL`
- `WEBUNTIS_CDG_SCHOOL`
- `WEBUNTIS_CDG_USER`
- `WEBUNTIS_CDG_PASS`
- 可选:`WEBUNTIS_CDG_ELEMENT_TYPE`、`WEBUNTIS_CDG_ELEMENT_ID`
## 快捷命令 (exec)
今天:
```bash
cd skills/webuntis/scripts
./webuntis.py today
# or pick a profile
./webuntis.py --profile cdg today
```
日期范围:
```bash
cd skills/webuntis/scripts
./webuntis.py range 2026-02-10 2026-02-14
```
## 故障排查
如果出现 "Could not determine element-id":
1) 运行一次并捕获错误。
2) 添加 `WEBUNTIS_ELEMENT_ID=<number>` 并重试。
如果身份验证失败:
- 确认 `WEBUNTIS_BASE_URL` 对于你的学校是正确的。
- 确认 `WEBUNTIS_SCHOOL` 与 WebUntis 使用的学校键匹配。
## 输出
脚本为每节课 / 每个事件打印一行:
`YYYY-MM-DD HH:MM-HH:MM · <subject> · Raum <room> · bei <teacher>`