Wrapper around the (undocumented) SNOO Smart Bassinet API
Project description
SNOO
This is an API client to the SNOO Smart Bassinet. The SNOO is a bassinet that will rock your baby to sleep, and responds to the baby by trying to sooth it with different rocking motions and sounds when it detects crying.
Currently, it supports getting the current session data from SNOO, and historic data. It does not allow you to control the SNOO (the control API is provided by PubNub and is different from the read-only data API hosted by happiestbaby.com)
A word of caution
The SNOO API is undocumented. Using it might or might not violate Happiest Baby, Inc Terms of Service. Use at your own risk.
Usage
Installation
pip install snoo
Command line usage
To get the status of your snoo, simply run
$ snoo status
Soothing 26m
The first time you run it, it will prompt for your username and password. These will be stored in either ~/.snoo_config
or ~/.config/snoo/snoo.config
, depending on your system. The output of the snoo
command is the status (Awake
, Asleep
, or Soothing
), and the duration of the current session.
Exporting data
To export data of each individual session, use
$ snoo sessions --start DATE --end DATE
where DATE
follows the format 2019-12-03
. By default, --start
and --end
correspond to yesterday and today, respectively.
The result is a CSV formatted list of sessions in the snoo, eg.
start_time,end_time,duration,asleep,soothing
2019-12-03T12:35:11,2019-12-03T13:59:04,5033,4218,815
2019-12-03T15:28:13,2019-12-03T15:28:41,28,17,11
...
where duration
, asleep
, and soothing
are durations given in seconds.
Alternatively, you can get aggregated information about each day using snoo days
:
date,naps,longestSleep,totalSleep,daySleep,nightSleep,nightWakings,timezone
2019-12-03,6,12933,58035,25038,32997,4,None
Again, all durations are given in seconds. How daySleep
and nightSleep
are defined is set in your Snoo app.
Programmatic usage
from snoo import Client
client = Client()
# Find out where your config is stored
print(client.config_path)
# Get data from your current session
current_session = client.get_current_session()
# Print the status of the current session.
print(client.status())
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file snoo-0.3.1.tar.gz
.
File metadata
- Download URL: snoo-0.3.1.tar.gz
- Upload date:
- Size: 6.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.0.0b4 CPython/3.7.4 Darwin/19.4.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | a2530ed9cce68f573c0aa1c5a621f2bee9a3d4deff8b6068ca5de595bbda63af |
|
MD5 | 74c896564da57365704e0373fd2ef1bd |
|
BLAKE2b-256 | 36e551d39e2f99fef0498ac3b7a6109c5546ca3743961d952f229ab67f495d32 |
File details
Details for the file snoo-0.3.1-py3-none-any.whl
.
File metadata
- Download URL: snoo-0.3.1-py3-none-any.whl
- Upload date:
- Size: 6.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.0.0b4 CPython/3.7.4 Darwin/19.4.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | cff65b80521f6898a8258a6644e988e829d5769a59f00a7ad1489aa850ba2c1f |
|
MD5 | b42c008d5a32632f1959de59c30331d9 |
|
BLAKE2b-256 | 16f8eddfc788edcc3f271d995529d72bf36e14f194407724e98e14a3b335b818 |