Skip to main content

pyvesync is a library to manage Etekcity Switches

Project description

pyvesync build status

pyvesync is a library to manage Etekcity Switches.

Installation

Install the latest version from pip:

pip install pyvesync

Supported Devices

  1. Etekcity Voltson Smart WiFi Outlet (7A model ESW01-USA)
  2. Etekcity Voltson Smart WiFi Outlet (15A model ESW15-USA)
  3. Etekcity Voltson Smart WiFi Outlet (10A model ESW01-EU)
  4. Etekcity Smart WiFi Light Switch (model ESWL01)

Usage

To start with the module:

from pyvesync.vesync import VeSync

manager = VeSync("USERNAME", "PASSWORD")
manager.login()
manager.update()


# Get electricity metrics of devices
for s in manager.devices:
    s.update_energy() # Get energy history for each device
    print("switch %s is currently %s" % (s.device_name, s.device_status))
    print("  active time: %s, energy: %s, power: %s, voltage: %s" % (s.active_time(), s.energy_today(), s.power(), s.voltage()))
    print("  weekly energy: %s, monthly energy: %s, yearly energy: %s" % (s.weekly_energy_total(), s.monthly_energy_total(), s.yearly_energy_total()))

# Turn on the first device
my_switch = manager.devices[0]
print("Turning on switch '%s'" % (my_switch.device_name))
my_switch.turn_on()
print("Turning off switch '%s'" % (my_switch.device_name))
my_switch.turn_off()

Manager API

VeSync.get_devices() - Returns a list of devices

VeSync.login() - Uses class username and password to login to VeSync

VeSync.update() - Fetch updated information about devices

Device API

VeSyncSwitch.turn_on() - Turn on the device

VeSyncSwitch.turn_off() - Turn off the device

VeSyncSwitch.update() - Fetch updated information about device

VeSyncSwitch.active_time() - Return active time of the device in minutes

VeSyncSwitch.energy_today() - Return current energy usage

VeSyncSwitch.power() - Return current power in watts of the device

VeSyncSwitch.voltage() - Return current voltage reading

VeSyncSwitch.energy_update() - Get switch energy history

VesyncSwitch.weekly_energy_total() - Return total energy reading for the past week, starts 12:01AM Sunday morning

VesyncSwitch.monthly_energy_total() - Return total energy reading for the past month

VesyncSwitch.yearly_energy_total() - Return total energy reading for the past year

Model ESW15-USA 15A/1800W API

The rectangular smart switch model supports some additional functionality on top of the regular api call

VeSyncSwitch.turn_on_nightlight() - Turn on the nightlight

VeSyncSwitch.turn_off_nightlight() - Turn off the nightlight

Notes

More detailed data is available within the VesyncSwitch by inspecting the VesyncSwitch.energy dictionary.

The VesyncSwitch.energy object includes 3 nested dictionaries week, month, and year that contain detailed weekly, monthly and yearly data

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

The VeSync api is hit or miss with this data so access is currently limited to direct lookup calls

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pyvesync-1.0.4.tar.gz (10.2 kB view hashes)

Uploaded Source

Built Distribution

pyvesync-1.0.4-py2.py3-none-any.whl (9.3 kB view hashes)

Uploaded Python 2 Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page