威能 multiMATIC 的 Python 接口
项目描述
pymultiMATIC
法律免责声明
该软件不隶属于 Vaillant,开发人员对您的 vaillant 设备的功能或安全性不承担任何法律责任。
安装
[sudo] pip3 install pymultimatic
测试
你可以运行测试
pytest
用法
模块使用
该项目分为两层:
1.ApiConnector
json这是使用 vaillant API 并直接从 API 返回原始数据(基本上是格式化响应)的低级连接器。连接器正在处理登录和会话(基于 cookie)。有 2 个用于 url 和有效负载的帮助程序包:pymultimatic.api.urls和pymultimatic.api.payloads.
下面是一个关于如何使用它的例子:
import aiohttp
from pymultimatic.api import Connector, urls, payloads
async with aiohttp.ClientSession() as session:
connector = Connector('user', 'pass', session)
# get information about your system
response = await connector.request('get', urls.system(serial='123'))
#set the target low heating temperature of a zone to 15 °C
response = await connector.request('put', urls.zone_heating_setback_temperature(id='1', serial='123'), payload=payloads.zone_temperature_setback(15))
下面是一个响应示例:
{
"body": {
"facilitiesList": [
{
"serialNumber": "1234567891234567891234567890",
"name": "Name",
"responsibleCountryCode": "BE",
"supportedBrand": "GREEN_BRAND_COMPATIBLE",
"capabilities": [
"ROOM_BY_ROOM",
"SYSTEMCONTROL_MULTIMATIC"
],
"networkInformation": {
"macAddressEthernet": "12:34:56:78:9A:BC",
"macAddressWifiAccessPoint": "34:56:78:9A:BC:DE",
"macAddressWifiClient": "56:78:9A:BC:DE:F0"
},
"firmwareVersion": "1.1.1"
}
]
},
"meta": {}
}
如果您只想检索基本数据(室外温度、区域当前温度等),我建议您使用此层
2.系统管理器
该层允许您以更友好的方式与系统交互,并为您计算一些数据。底层Connector是隐藏的,原始响应被映射到更有用的对象。
这是一个脚本示例:
#!/usr/bin/env python3
import asyncio
import sys
import aiohttp
from pymultimatic.systemmanager import SystemManager
from pymultimatic.model import System
async def main(user, passw):
print('Trying to connect with user ' + user)
async with aiohttp.ClientSession() as session:
manager = SystemManager(user, passw, session)
system = await manager.get_system()
print(system)
if __name__ == "__main__":
if not len(sys.argv) == 3:
print('Usage: python3 dump.py user pass')
sys.exit(0)
user = sys.argv[1]
passw = sys.argv[2]
asyncio.get_event_loop().run_until_complete(main(user, passw))
然后你可以运行脚本:
python3 script.py user passw
要操作的主要对象是pymultimatic.model.System,它将有关您的系统的所有信息分组。
如果 API 出现错误,pymultimtic.api.Error则会引发 a,其中包含发送到 API 的响应和有效负载。
如果你想做更复杂的事情,我建议使用这一层,例如:如果你想获得房间或区域的目标温度,它可能会变得有点复杂,因为你必须处理假期模式、快速模式、快速否决、时间计划等。这一层隐藏了这种复杂性。
项目详情
下载文件
下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。
源分布
pymultiMATIC-0.6.7.tar.gz
(34.5 kB
查看哈希)
内置分布
pymultiMATIC-0.6.7-py3-none-any.whl
(42.9 kB
查看哈希)