pyvesync是管理etekcity交换机的库

pyvesync的Python项目详细描述


Pyvesync构建状态

Pyvesync是一个用于管理与Vesync兼容的智能家庭设备的库。

安装

从pip安装最新版本:

pipinstallpyvesync

支持的设备

  1. Eteccity Voltson智能WiFi插座(7A型号ESW01-USA)
  2. ETEKCITY Voltson智能WiFi插座(10A型号ESW01-EU)
  3. Eteccity Voltson智能WiFi插座(10A型号ESW03-USA)
  4. Eteccity Voltson智能WiFi插座(15A型号ESW15-USA)
  5. ETEKCITY双插头室外插座(ESO15-TB)(每个插头是一个单独的对象,两个插头的能量读数是组合的)
  6. ETEKCITY智能WiFi灯开关(ESWL01型)
  7. Levoit智能WiFi空气净化器(LV-PUR13S)
  8. ETEKCITY软白色可调光智能灯泡(ESL100)

用法

从模块开始:

frompyvesyncimportVeSyncmanager=VeSync("EMAIL","PASSWORD",time_zone=DEFAULT_TZ)manager.login()manager.update()my_switch=manager.outlets[0]# Turn on the first switchmy_switch.turn_on()# Turn off the first switchmy_switch.turn_off()# Get energy usage datamanager.update_energy()# Display outlet device informationfordeviceinmanager.outlets:device.display()

配置

时区参数是可选的,但指定的时区必须与TZ数据库(IANNA时区数据库)中的时区匹配,请参阅此链接以获取参考: TZ数据库。 时区决定智能插座的能源历史记录是如何生成的,即一周的能源历史记录从周日上午12:01开始,在指定的时区。如果未输入时区或无效时区,则默认值为"美国/纽约"

#Devices are respectively located in their own lists that can be iterated overmanager.outlets=[VeSyncOutletObjects]manager.switches=[VeSyncSwitchObjects]manager.fans=[VeSyncFanObjects]manger.bulbs=[VeSyncBulbObjects]

如果要连续轮询插座,可以设置自定义的能量更新间隔-默认值为6小时(21600秒)

manager.energy_update_interval=time# time in seconds

示例用法

获取插座的电量指标

forsinmanager.outlets:s.update_energy(check_bypass=False)# Get energy history for each device

API详细信息

管理器API

vesync.get_devices()-返回设备列表

vesync.login()-使用类用户名和密码登录到vesync

vesync.update()-获取有关设备的更新信息

vesync.update_all_devices()-获取所有设备的详细信息(运行vesyncdevice.update()

vesync.update_energy(bypass_check=false)-获取所有门店的能源历史记录-构建周、月和年嵌套能源字典。设置bypass_check=true以禁用库检查更新间隔

设备API

vesyncdevice.turn_on()-打开设备

vesyncdevice.turn_off()-关闭设备

vesyncdevice.update()-获取有关设备的更新信息

vesyncdevice.active_time-以分钟为单位返回设备的活动时间

vesyncdevice.get_config()-检索设备的固件版本等配置数据,并存储在vesyncdevice.config字典中

vesyncdevice.firmware_update-如果固件有可用的更新,则返回true。vesyncdevice.get_config()必须首先调用

出口比能量API

vesyncoutlet.update_energy(bypass_check=false)-获取出口能源历史记录-生成周、月和年嵌套能源字典。设置bypass_check=true以禁用库检查更新间隔

vesyncoutlet.energy_today-返回当前的用电量(kWh)

vesyncoutlet.power-返回设备的当前功率(瓦)

vesyncoutlet.voltage-返回当前电压读数

vesyncoutlet.weekly_energy_total-返回过去一周的总能量读数(kWh),从周日上午12:01开始

vesyncoutlet.monthly_energy_total-返回上个月的总能量读数(kWh)

Vesyncoutlet.年能源总量-返回过去一年的总能量读数(kWh)

型号ESW15-USA 15A/1800W API

矩形智能交换机模型在常规api调用的基础上支持一些附加功能

vesyncoutlet.打开夜光灯()-打开夜光灯

vesyncoutlet.关闭夜光()-关闭夜光

空气净化器LV-PUR131S功能

vesyncfan.fan_level-返回风扇的级别(1-3)或0表示关闭

vesyncfan.filter_life-返回过滤器剩余寿命的百分比

Vesyncfan.空气质量-回风质量读数

vesyncfan.auto_mode()-将模式更改为auto

vesyncfan.manual_mode()-将风扇模式更改为手动,风扇级别为1

vesyncfan.sleep_mode()-将风扇模式更改为睡眠模式

vesyncfan.更改风扇速度(速度)-将风扇速度更改为1、2或3级

vesyncfan.screen\u status-获取屏幕开/关状态

智能灯泡API

vesyncbulb.设置亮度(亮度)-将灯泡亮度值设置为1-100

注释

通过检查vesyncoutlet.energy字典,可以在vesyncoutlet中获得更详细的数据。

vesyncoutlet.energy对象包括3个嵌套字典weekmonthyear包含详细的周、月和年数据

VesyncOutlet.energy['week']['energy_consumption_of_today']VesyncOutlet.energy['week']['cost_per_kwh']VesyncOutlet.energy['week']['max_energy']VesyncOutlet.energy['week']['total_energy']VesyncOutlet.energy['week']['data']# which itself is a list of values

与家庭助理集成

此库与Home Assistant集成,有关文档,请访问https://www.home-assistant.io/components/vesync/" rel="nofollow">https://www.home-assistant.io/components/vesync/。与此存储库相比,Home助手附带的库版本可能落后于开发,因此,希望使用最新版本的用户可以执行以下操作以与HA集成。

  1. 自定义组件目录添加到家庭助手配置目录
  2. 自定义组件中添加一个vesync目录作为目录
  3. switch.py添加到vesync目录中
  4. vesync目录添加\uu init\uuuu.py
  5. manifest.json添加到vesync目录中
  6. 将以下配置添加到家庭助理configuration.yaml文件:
vesync:username:VESYNC_USERNAMEpassword:VESYNC_PASSWORD
  1. 重新启动家庭助手

自定义组件目录应包含以下文件:

custom_components/vesync/__init__.py
custom_components/vesync/switch.py
custom_components/vesync/fan.py
custom_components/vesync/manifest.json

manifest.json中定义的库版本现在应该在Home助手中加载。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何在sqlite数据库中保存特定列的历史记录   java如何更改/更新timeseriechart名称(JFreeChart)   java如何将整数转换为可绘制的   汇编什么解释Java的字节码   java查找已编译的类版本号   我应该什么时候在ColdFusion应用程序中使用Java?   java当一个实体的两个字段为(unique=true)时,如何处理JPA异常?   java为什么在所有其他实例都正确的情况下返回错误的布尔值?   java Hibernate每次都准备语句   java停留在平均字长上   对Java和日语字符进行编码   java如何将导致异常的方法的错误消息传递给侦听器中的onTestFailure方法   java代码没有打印结果   java为什么私有内部接口的方法必须是公共的?   休眠发生错误。有关详细信息,请参阅错误日志。JAVAlang.NullPointerException