Rinnai Control-R API 的 Python 接口
项目描述
aiorinnai - Rinnai Control-R API 的 Python 接口
Python 库,用于通过 Rinnai Control-R 云 API与Rinnai Control-R 热水器和控制设备进行通信。
警告
笔记:
- 这个库是社区支持的,请提交更改和改进。
- 这是一个非常基本的界面,目前还没有经过深思熟虑,但适用于最初提示将其吐出的用例。
支持
- 启动/停止再循环
- 设定温度
安装
pip install aiorinnai==0.3.0
例子
import asyncio
from aiohttp import ClientSession
from aiorinnai import async_get_api
async def main() -> None:
"""Run!"""
api = await async_get_api("<EMAIL>", "<PASSWORD>")
# Get user account information:
user_info = await api.user.get_info()
# Get device information
first_device_id = user_info["devices"]["items"][0]["id"]
device_info = await api.device.get_info(first_device_id)
#Start Recirculation
#Last variable is duration in minutes
start_recirculation = await api.device.start_recirculation(device_info['data']['getDevices'], 5)
#Stop Recirculation
stop_recirculation = await api.device.stop_recirculation(device_info['data']['getDevices'])
#Set Temperature
#Last variable is the temperature in increments of 5
set_temperature = await api.device.set_temperature(device_info['data']['getDevices'], 130)
asyncio.run(main())
默认情况下,该库会为每个协程创建一个到 Rinnai 的新连接。如果您正在调用大量协程(或者只是想尽可能节省运行时的每一秒),可以使用 aiohttp ClientSession 进行连接池:
import asyncio
from aiohttp import ClientSession
from aiorinnai import async_get_api
async def main() -> None:
"""Create the aiohttp session and run the example."""
async with ClientSession() as websession:
api = await async_get_api("<EMAIL>", "<PASSWORD>", session=websession)
# Get user account information:
user_info = await api.user.get_info()
# Get device information
first_device_id = user_info["devices"]["items"][0]["id"]
device_info = await api.device.get_info(first_device_id)
#Start Recirculation
#Last variable is duration in minutes
start_recirculation = await api.device.start_recirculation(user_info["id"], first_device_id, 5)
print(start_recirculation)
#Stop Recirculation
stop_recirculation = await api.device.stop_recirculation(user_info["id"], first_device_id)
print(stop_recirculation)
#Set Temperature
#Last variable is the temperature in increments of 5
set_temperature = await api.device.set_temperature(user_info["id"], first_device_id, 130)
asyncio.run(main())
已知的问题
- 并非所有 API 都受支持
项目详情
下载文件
下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。
源分布
aiorinnai-0.3.0.tar.gz
(20.8 kB
查看哈希)
内置分布
aiorinnai-0.3.0-py3-none-any.whl
(21.9 kB
查看哈希)