How to Decode Zeo Files with Zeo Decoder Viewer — Step‑by‑Step
This guide shows how to open and read Zeo sleep data (ZEOSLEEP.DAT / exported CSV / mobile SQLite) using Zeo Decoder Viewer and related tools so you can view hypnograms, sleep-stage totals, and timestamps offline.
What you’ll need
- Zeo data file(s): ZEOSLEEP.DAT (from bedside unit SD card), exported zeodata.csv, or Zeo Mobile SQLite export (ZeodataStore.sqlite or exported CSV).
- Java Runtime Environment (JRE) 8+ installed (Zeo Decoder Viewer is Java-based).
- Zeo Decoder Viewer JAR (e.g., ZeoDecoderViewer0.3aRelease.jar) or the Zeo Viewer app build for your OS.
- Optional: a CSV/SQLite viewer (Excel, LibreOffice Calc, DB Browser for SQLite) for troubleshooting or conversions.
1) Install Java
- Download and install a current JRE (or JDK) for your OS from AdoptOpenJDK/Eclipse Temurin or Oracle.
- Verify installation: open a terminal/Command Prompt and run:
Code
java -version
Expect Java 8+ output.
2) Obtain Zeo Decoder Viewer
- Download Zeo Decoder Viewer (Java JAR) from a trusted archive (Softpedia or project release page / community mirror).
- Place the JAR in a folder where you’ll run it. If you have a platform-specific Zeo Viewer binary, use that instead.
3) Prepare your Zeo files
- Bedside unit (ZEOSLEEP.DAT): remove SD card and copy ZEOSLEEP.DAT to your PC.
- Zeo website CSV export: download zeodata.csv from your account (or use community “FreeMyZeo” / archived exports if site offline).
- Mobile app: get ZeoDataStore.sqlite by sending Diagnostics Email to yourself (Help → Diagnostics → Send Diagnostic Information) and extract the SQLite or export CSV from it.
If you have SQLite and the Viewer doesn’t accept it, export records to CSV or use a community viewer (see step 6).
4) Start Zeo Decoder Viewer and open files
- Run the JAR:
- Double-click the JAR (OS with GUI) or run in terminal:
Code
java -jar ZeoDecoderViewer0.3aRelease.jar
- In the app use the Browse / Import button to select ZEOSLEEP.DAT or zeodata.csv.
- Click Refresh / Load. The app lists detected nights (date/time).
5) Read and interpret the output
- Main display shows nights with:
- Bedtime / Rise time
- Total sleep, REM, Light, Deep, Wake
- Hypnogram / sleepgraph view (stage timeline)
- Progress bars or numeric fields report percent/time in each stage.
- If times look wrong (mobile data timestamp offsets), compare with known calendar dates and adjust using external tools (CSV editing) before reimport.
6) If the Viewer can’t read your file
- ZEOSLEEP.DAT unreadable:
- Confirm file is the device’s DAT (not corrupted). Try a different DAT from the SD card.
- Use community decoder libraries (zeoLibrary / ZeoReader on GitHub) to parse raw DAT into CSV.
- Mobile SQLite:
- Open the SQLite with DB Browser for SQLite and export the sleep records table as CSV. Then import CSV into Zeo Decoder Viewer.
- CSV import issues:
- Ensure CSV matches expected Zeo export columns (timestamp, hypnogram, summary fields). If not, open in Excel and reformat headers to match the Viewer’s expected names.
Helpful community repos/tools:
- zeoLibrary / ZeoReader (GitHub) — parsing libraries and examples.
- Community-built Zeo viewers (search GitHub or Quantified Self forum threads) for mobile-specific imports.
7) Exporting or saving decoded data
- If the Zeo Decoder Viewer offers export, use Export/Save to write CSV of nights.
- Otherwise export from the parsing library (zeoLibrary) or copy values/screenshots for records.
8) Common troubleshooting
- Viewer shows “no new data”: the file may use a different mobile timestamp base. Export CSV and inspect epoch/time fields.
- App crashes on launch: ensure Java version matches requirements; try launching from terminal to read error output.
- Missing hypnogram strings: mobile exports sometimes store hypnogram as blob/text—export via SQLite to preserve leading zeros.
9) Quick reference commands
- Run viewer:
Code
java -jar ZeoDecoderViewer0.3aRelease.jar
- Convert SQLite → CSV (using DB Browser for SQLite GUI) — open DB → Export → Table(s) as CSV.
10) Next steps / further analysis
- Use the parsed CSV with sleep-analysis tools or Python/R (pandas) to produce charts, nightly averages, or longitudinal trends.
- For raw waveform or live serial data from a bedside unit, look into Zeo Raw Data Library and firmware 2.6.3R/O community resources.
If you want, I can:
- Convert a sample Zeo file you provide into CSV-format steps, or
- Produce a short script (Python) that parses a typical Zeo CSV into a simple hypnogram chart.
Leave a Reply