Skip to Content
TroubleshootingCore and biometrics

Core and biometrics troubleshooting

Core will not start

On the Pod, read the status and recent logs:

sp-status journalctl -u sleepypod.service -n 200 --no-pager

For installed key-only SSH access, the documented port is 8822:

ssh -p 8822 root@POD_IP

Database or native-module errors can come from running the wrong Node.js binary. The service uses /usr/local/bin/node; use that binary for manual scripts when comparing behavior. Preserve databases before attempting a repair or reinstall.

Biometrics are empty

  1. Check the selected side and date. For live measurements, confirm the bed is occupied.
  2. Open System → Pipeline and identify the selected source. Use Health for module state and Sensors for live input.
  3. On NATS firmware, confirm fresh frames and output rows; an absent RAW archive is not an ingestion failure. Calibrator may need time to collect its initial live sample window.
  4. On RAW firmware, check the hot directory and firmware journal:
ls -la /persistent/biometrics/*.RAW journalctl -u frank -n 100 --no-pager
  1. For RAW readers, confirm RAW_DATA_DIR points to the firmware’s hot directory. For either transport, check module logs and increasing biometrics rows. A healthy web UI does not prove processing is running.

See sensor pipeline and calibration for record types, source selection, and transport-specific limitations.

RAW archives are empty

This section applies to RAW firmware. NATS-only firmware need not create these files.

The firmware deletes rotated frames quickly. A linker timer pins frames until the archiver can compress them. Check both stages:

journalctl -u sleepypod-biometrics-linker -n 50 --no-pager journalctl -u sleepypod-biometrics-archiver -n 50 --no-pager df -P /persistent

The linker may be quiet when there is no new frame. Repeated failures, dropped frames, or a growing pending queue warrant checking storage and service health.

Powered, but not heating or cooling

Compare target, bed, and water-temperature trends. A stalled pump can leave power reported as on while temperature stays flat. Check thermal diagnostics, water level, and firmware logs. Repeatedly raising the target will not resolve a transport or pump fault.

Schedules do not run

Check the device clock, timezone, selected days, and side. Core waits for a valid clock after startup. Look for scheduler errors in the Core journal.

The upstream runbook below is the authoritative reference for device-specific paths and deeper diagnostics.


Source reference: NATS diagnostics  · System navigation  · Debugging runbook  · Deployment and service details 

Last updated on