/install cpap-prisma-app
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.comwith 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.comis reachable - A password change in PrismaAPP requires a
config.jsonupdate
Wrong API responses (HTML instead of JSON):
- Always use
my.prismacloud.comas the API base bucharest.prismacloud.ccis 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
- Make sure OpenClaw is installed (local or Docker)
- Run the install command in chat:
/install cpap-prisma-app - After installation, invoke the skill by name or use
/cpap-prisma-app - Provide required inputs per the skill's parameter spec and get structured output
What is 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... It is an AI Agent Skill for Claude Code / OpenClaw, with 110 downloads so far.
How do I install CPAP PrismaAPP Log?
Run "/install cpap-prisma-app" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.
Is CPAP PrismaAPP Log free?
Yes, CPAP PrismaAPP Log is completely free, licensed under MIT-0. You can download, install and use it at no cost.
Which platforms does CPAP PrismaAPP Log support?
CPAP PrismaAPP Log is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).
Who created CPAP PrismaAPP Log?
It is built and maintained by Sanweb (@sanwebgit); the current version is v1.1.0.