跳转到主要内容

Python SleepIQ API

项目描述

Sleepyq是一个用于从Python访问SleepIQ API的库。 SleepIQSleepNumber 床 的一个附加组件。

安装

python3 -m pip install sleepyq

要开始使用这个库,以下是完整的用法

>>> from sleepyq import Sleepyq
>>> from pprint import pprint
>>>
>>> client = Sleepyq('your-login', 'your-password')
>>> client.login()
>>> pprint(client.sleepers())
>>> pprint(client.beds())
>>> pprint(client.bed_family_status())
>>> client.set_light(lightNumber, setting, bedId='')
>>> pprint(client.get_light(lightNumber, bedId=''))
>>> client.preset(preset, side, bedId='', slowSpeed=False)
>>> client.set_foundation_position(bedNumber, actuator, position, side, bedId='', slowSpeed=False)
>>> client.set_foundation_massage(bedNumber, footSpeed, headSpeed, side, timer=0, mode=0, bedId='')
>>> client.set_sleepnumber(side, sleepnumber, bedId='')
>>> client.set_favsleepnumber(side, sleepnumber, bedId='')
>>> pprint(client.get_favsleepnumber(bedId=''))
>>> client.stop_motion(bedId='', side)
>>> client.stop_pump(bedId='')
>>> pprint(client.foundation_status(bedId=''))
>>> pprint(client.foundation_system(bedId=''))
>>> pprint(client.foundation_features(bedId=''))

API没有文档,所以这个库并没有尝试将API中的数据结构化成对象。

开发备注

SleepIQ API是在2016年CES大会上宣布的,但还没有公开的文档。

https://sleepiq.sleepnumber.com 似乎内部使用了SleepIQ API,这里的方法是基于通过Chrome开发者工具观察网站使用情况和通过代理运行Android应用程序编写的。在此之前,也有https://github.com/erichelgeson/sleepiq (自那时以来API已更改) 和 https://github.com/natecj/sleepiq-php 上的先例。

第一个请求是登录。这返回一个密钥 (_k),需要在后续请求中作为参数使用。后续请求也需要是同一个‘会话’的一部分,因为这些调用期望设置一些cookie。

待办事项

  • 检查非200状态码的响应,或返回JSON格式的错误

  • 更深入地探索API。还有一些其他的API调用,比如更新个人资料、修改前一天的睡眠设置,但它们对于自动化的直接实用性似乎较小。

项目详情


下载文件

下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源代码分发

sleepyq-0.8.1.tar.gz (5.2 kB 查看哈希值)

上传时间 源代码

构建分发

sleepyq-0.8.1-py3-none-any.whl (5.4 kB 查看哈希值)

上传时间 Python 3

支持者