Skip to content

mbevand/owlet_monitor

master
Switch branches/tags
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 

This Python script monitors Owlet Smart Sock statistics such as heart rate, oxygen level, etc. Its implementation was made possible after reverse engineering the Owlet Android app version 1.1.41 (latest version as of April 2020) to understand how the data is recorded and fetched.

owlet_monitor prints the statistics every 10 seconds on stdout in CSV format. Your owlet username and password must be passed via environment variables. Log messages are printed on stderr.

Usage:

$ env OWLET_USER=xxx@xxx.xxx OWLET_PASS=xxx ./owlet_monitor >logfile
Logging in
Auth token xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Getting DSN
Found Owlet monitor device serial number ACxxxxxxxxxxxxx
AC000W00XXXXXXX Status: 1532665440, 131, 100, still
AC000W00XXXXXXX Status: 1532665450, 125, 100, still
[...]

(If you are using an Owlet in Europe, set the OWLET_REGION environment variable to europe to use the European servers otherwise you may get a 400/EMAIL_NOT_FOUND error.)

Each CSV line consists of:

  • timestamp (seconds since UNIX Epoch time)
  • heart rate (BPM)
  • blood oxygen level (%)
  • movement (from sock sensor: baby still or wiggling)
  • device serial number (useful for multiple babies/owlet devices)

Technical details

Many details (app id/secret, property names, apparent need to set APP_ACTIVE=1) were reverse-enginered from Owlet's Android app.

You can place "index.html" and "logfile" in a directory served by a web server and browse "index.html?logfile" to see a chart.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •