Inspiration and API reverse engineering taken from various projects:
https://github.com/BastianPoe/owlet_api
https://github.com/mbevand/owlet_monitor
To install via pip run command
pip install pyowletapi
Tidy up exception logging
Create test routines
import the api and sock objects
frompyowletapi.apiimportOwletAPIfrompyowlet.sockimportSockcreate an api object passing your region, username and password, the OwletAPI will also take a aiohttp session as a keyword argument
api=OwletAPI('europe', username, password)you can then authenticate against the Owlet servers using this object and create a list of sock objects
awaitapi.authenticate()
socks= {device['device']['dsn']: Sock(api, device['device']) fordeviceindevices}to get current reading from sock call the update_properties function on each sock object
device.update_properties()This will return a dictionary, the key 'raw_properties' contains the raw response as a dict and the 'properties' key is a more cut down dict version of the response showing only the most relevant data and the 'tokens' key will return a dictionary if the api tokens have changed since the last call