← 返回 Skills 市场
sanwebgit

CPAP PrismaAPP Log

作者 Sanweb · GitHub ↗ · v1.1.0 · MIT-0
cross-platform ✓ 安全检测通过
110
总下载
1
收藏
0
当前安装
1
版本数
在 OpenClaw 中安装
/install cpap-prisma-app
功能描述
Fetches CPAP therapy data from the PrismaAPP API (Löwenstein Medical) and writes a daily Obsidian log note. Use when the user says "CPAP log", "sleep therapy...
使用说明 (SKILL.md)

CPAP PrismaAPP Log Skill

Automatically fetches CPAP therapy data from the Löwenstein PrismaAPP backend and writes a structured daily Obsidian note.

When Triggered

  • User says: "CPAP log", "CPAP data", "write sleep therapy", "prisma log", "CPAP today/yesterday/[date]"
  • Daily cron job fires (configurable)
  • User requests a historical backfill

Prerequisites

  • Account at my.prismacloud.com with a linked Löwenstein CPAP device
  • Device synced via the PrismaAPP mobile app (data must be uploaded to the server)
  • Credentials stored in skills/cpap-prisma-app/config.json

Execution

Step 1: Run the Python script

Yesterday (default):

python3 ~/.openclaw/workspace/skills/cpap-prisma-app/scripts/fetch-cpap.py

Specific date:

python3 ~/.openclaw/workspace/skills/cpap-prisma-app/scripts/fetch-cpap.py 2026-04-06

Backfill all data since first sync:

python3 ~/.openclaw/workspace/skills/cpap-prisma-app/scripts/fetch-cpap.py --all

Backfill from a specific date:

python3 ~/.openclaw/workspace/skills/cpap-prisma-app/scripts/fetch-cpap.py --from=2026-03-01

Step 2: Confirm output

The script prints a summary and writes the note to:

\x3Cvault_path>/\x3Clog_dir>/YYYY-MM-DD.md

Output Format (Note)

The generated note contains:

  • Frontmatter: date, weekday, tags (including quality tag), source, created timestamp
  • Summary table: sleep duration, deep sleep, AHI, leakage, snoring %, mask fit %, therapy mode/pressure
  • Overall quality rating (🟢/🟡/🟠/🔴) derived from AHI, leakage, and deep sleep scores
  • Detailed sections: Sleep, CPAP Therapy, Snoring & Mask
  • Navigation links to the previous and next logged day

All text is fully localised — see the locales/ folder.

Quality Mapping

API value Label Meaning
0 🟢 Good Optimal
1 🟡 Okay Acceptable
2 🔴 Poor Needs attention
3 🟠 Borderline Monitor closely
4 No data

AHI Reference

AHI Classification
\x3C 5 Normal
5–15 Mild
15–30 Moderate
> 30 Severe

Troubleshooting

No data for date:

  • Check whether the device was used that night
  • Open PrismaAPP on the phone to trigger a Bluetooth sync
  • Data only appears after the device has synced with the app

Login error:

  • Verify credentials in config.json
  • Check that my.prismacloud.com is reachable
  • A password change in PrismaAPP requires a config.json update

Wrong API responses (HTML instead of JSON):

  • Always use my.prismacloud.com as the API base
  • bucharest.prismacloud.cc is the web SPA only — it returns HTML for all paths

Cron Configuration (daily at 18:17)

17 18 * * * python3 /path/to/skills/cpap-prisma-app/scripts/fetch-cpap.py
安全使用建议
This skill appears to do what it says: it logs into my.prismacloud.com with credentials you place in a local config.json, fetches CPAP data, and writes daily notes into your Obsidian vault. Before installing, review and do the following: 1) Inspect config.json and the script yourself and keep config.json out of source control; consider using strict filesystem permissions or a credential manager instead of plaintext passwords. 2) Verify api_base is set to https://my.prismacloud.com (the script warns that other hosts return HTML). 3) Note the script will create files under the vault_path you configure — confirm the path is correct. 4) The navigation link base in the note template is hardcoded to "30 Bereiche/Gesundheit/CPAP/Logs" (minor bug) and may not match your configured log_dir; you may want to update the script to use the configured log_dir for links. 5) Because the skill stores and uses your PrismaAPP credentials, revoke or rotate them if you stop using the skill. If you want added security, adapt the script to read credentials from an OS keyring or prompt at runtime instead of config.json.
功能分析
Type: OpenClaw Skill Name: cpap-prisma-app Version: 1.1.0 The cpap-prisma-app skill is designed to fetch CPAP therapy data from the Löwenstein Medical PrismaAPP API and generate daily logs in Obsidian. The Python script (fetch-cpap.py) uses standard libraries to perform authenticated OAuth2 requests and process medical metrics like AHI and sleep duration. While it handles sensitive user credentials and health data, all actions are transparent, well-documented, and strictly aligned with the stated purpose, with no evidence of data exfiltration, malicious execution, or prompt injection.
能力标签
requires-oauth-token
能力评估
Purpose & Capability
Name/description, README, SKILL.md, locales, and the Python script all align: the skill logs into my.prismacloud.com, fetches CPAP metrics, and writes a Markdown note to an Obsidian vault. There are no unrelated binaries, cloud providers, or credentials requested.
Instruction Scope
Runtime instructions simply run the included Python script; the script reads a local config.json for email/password, talks to the PrismaAPP API endpoints under the configured api_base, and writes Markdown files to the configured vault path. It does not reference unrelated system paths or external endpoints beyond the configured PrismaAPP API.
Install Mechanism
No install spec and the script uses only Python standard libraries (urllib, zoneinfo, pathlib). Nothing is downloaded from arbitrary URLs and no archives are extracted; risk from installation is minimal.
Credentials
The skill does not request environment variables or platform credentials; it expects a local config.json containing your PrismaAPP email and password. That is proportionate to the function, but storing a plaintext password in a file is a privacy risk — consider file permissions, an app-specific password, or a credential store.
Persistence & Privilege
The skill is not always-enabled and does not request elevated system privileges. It writes notes to your Obsidian vault (expected behavior) and creates the output directory if needed. It does not attempt to modify other skills or system-wide agent settings.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install cpap-prisma-app
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /cpap-prisma-app 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.1.0
Initial release: full CPAP therapy log from Löwenstein PrismaAPP API with 9 locales and Obsidian note generation
元数据
Slug cpap-prisma-app
版本 1.1.0
许可证 MIT-0
累计安装 0
当前安装数 0
历史版本数 1
常见问题

CPAP PrismaAPP Log 是什么?

Fetches CPAP therapy data from the PrismaAPP API (Löwenstein Medical) and writes a daily Obsidian log note. Use when the user says "CPAP log", "sleep therapy... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 110 次。

如何安装 CPAP PrismaAPP Log?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install cpap-prisma-app」即可一键安装,无需额外配置。

CPAP PrismaAPP Log 是免费的吗?

是的,CPAP PrismaAPP Log 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。

CPAP PrismaAPP Log 支持哪些平台?

CPAP PrismaAPP Log 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 CPAP PrismaAPP Log?

由 Sanweb(@sanwebgit)开发并维护,当前版本 v1.1.0。

💬 留言讨论