与 Insteon Hub Cloud API 交互的 python 包
项目描述
# insteon-hub 用于与 Insteon Hub2 Restful API 接口的 Python 库的初始概念http://docs.insteon.apiary.io/
这主要基于似乎已被放弃的https://github.com/krkeegan/insteon-hub-python-lib 。
为了使用它,您需要注册一个 Insteon [API 密钥]( http://www.insteon.com/become-an-insteon-developer )。
## 安装安装说明可以在这里找到https://pypi.python.org/pypi/insteon_hub
## 用法
### 初始化对象 `python >>> import insteon >>> i = insteon.Insteon("insteon_userid", "insteon_password", "insteon_api_key") `
### 检查设备 `python >>> i.devices >>> i.devices[0] >>> i.devices[0].DeviceName `
有关其他属性,请参阅 [设备](http://docs.insteon.apiary.io/#reference/devices)
### 发送命令 `python >>> i.devices[0].send_command('on') ` 参见 [Commands](http://docs.insteon.apiary.io/#reference/commands/commands-collection )
### 流数据 `python >>> i.houses[0].stream(auto_reconnect=True, devices_to_watch=i.devices)`
这将从 insteon 流端点自动更新每个设备上的缓存状态。它会每隔 60 秒左右自动重新连接一次,Insteon 已通知我他们正在寻求增加该端点的超时时间。这不会报告通过 API 发送的信息,您应该每隔一段时间执行一次硬“get_status”命令。它将缓存通过此 API 发送的命令。
请参阅 [流媒体](http://docs.insteon.apiary.io/#reference/houses/house-device-activation-stream/retrieve-a-house-device-activation-stream)
您还可以为流添加回调以获得即时结果。
`python >>> i.houses[0].add_stream_callback(device, callback_method) >>> i.houses[0].stream(auto_reconnect=True, devices_to_watch=i.devices) `
这会将解析后的状态作为参数发送到callback_method 。