Skip to main content

Electra 智能 Python 集成。

项目描述

pyElectra

派皮 PyPI - 下载

用于控制 Electra 智能空调设备的 Python 库

用法:

import asyncio

import aiohttp

from electrasmart import *


async def main():
    session = aiohttp.ClientSession(connector=aiohttp.TCPConnector(ssl=False), timeout=aiohttp.ClientTimeout(total=10))
    api = ElectraAPI(session)

    # User phone number
    phone_number = "0521234567"
    # Generate token
    imei = generate_imei()
    try:
        resp = await api.generate_new_token(phone_number=phone_number, imei=imei)
    except ElectraApiError as e:
        # handle error
        pass

    otp = input("Enter the OTP you recieved via SMS")
    # more error handling
    if resp[electra.ATTR_STATUS] == electra.STATUS_SUCCESS:
        if resp[electra.ATTR_DATA][electra.ATTR_RES] != electra.STATUS_SUCCESS:
            # Wrong phone number or unregistered user
            sys.exit(1)
     
        resp = await api.validate_one_time_password(otp=otp, imei=imei, phone_number=phone_number)
        if resp[electra.ATTR_DATA][electra.ATTR_RES] == electra.STATUS_SUCCESS:
            token = resp[electra.ATTR_DATA][electra.ATTR_TOKEN]
        else:
            # wrong OTP
            sys.exit(1)
    
    ac_devices = api.get_devices()
    for ac in ac_devices:
        assert(ac, ElectraAirConditioner)
        if ac.name == "Saloon AC":
            ac.turn_on()
            ac.set_mode(OPER_MODE_COOL)
            ac.set_temperature(17)
            ac.set_fan_speed(OPER_FAN_SPEED_HIGH)
            ac.set_vertical_swing(OPER_ON)
            api.set_state(ac)  # This will send the conf to the AC


loop = asyncio.get_event_loop()
loop.run_until_complete(main())

项目详情


下载文件

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

源分布

pyElectra-1.0.5.tar.gz (6.7 kB 查看哈希

已上传 source

内置分布

pyElectra-1.0.5-py3-none-any.whl (6.7 kB 查看哈希

已上传 py3