skillfed

pyemvue

Unofficial library for interacting with the Emporia Vue energy monitor.

pyemvue v0.18.9 131.2K downloads/30d#11,599 on PyPI240
Permissive license AGING released

What it is and what it does

PyEmVue is an unofficial Python client for the Emporia Vue energy monitoring system. It authenticates with your Vue account, retrieves device and channel information, and fetches energy usage data at various time scales. The library also supports controlling smart outlets and EV chargers connected to your Vue setup.

The package handles login via username/password or stored tokens, manages token refresh automatically, and provides methods to query usage over time ranges or at specific instants. It requires Python 3.9+ and depends on pycognito for authentication, requests for HTTP calls, python-dateutil for time handling, and typing-extensions for type hints.

Use it for:

  • Monitor real-time or historical energy consumption by device or circuit in your home
  • Build a dashboard or logging system that pulls Vue data into a home automation platform
  • Programmatically toggle smart outlets or EV chargers based on energy usage patterns
  • Export energy usage data for analysis or billing reconciliation
  • Integrate Vue monitoring into a custom home energy management application

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

PyEmVue reads energy usage data from Emporia Vue home energy monitors and provides programmatic control over outlets and EV chargers through the Vue API.

Yes, if you own an Emporia Vue system and need programmatic access to its data or control capabilities. The library is straightforward to use, has low install friction, and carries no security vulnerabilities. However, maintenance is aging—activity is sparse—so verify that the authentication flow and API compatibility remain current before relying on it in production.

Install

pyemvue on PyPI

pip

pip install pyemvue

uv

uv add pyemvue

poetry

poetry add pyemvue

Installing pyemvue

Before you install

Low install friction with a pure Python wheel and four lightweight runtime dependencies. Maintenance is aging—last commit was 2025-12-26, though the repository remains active with 240 stars.

License in practice

Licensed under MIT (permissive), so you can use, modify, and distribute the package freely with minimal restrictions.

Quickstart

import pyemvue
from pyemvue.enums import Scale, Unit

vue = pyemvue.PyEmVue()
vue.login(username='you@email.com', password='password', token_storage_file='keys.json')
devices = vue.get_devices()
device_gids = [d.device_gid for d in devices]
usage = vue.get_device_list_usage(deviceGids=device_gids, instant=None, scale=Scale.MINUTE.value, unit=Unit.KWH.value)

Requires Python 3.9+; you must have an active Emporia Vue account and valid credentials

Verify before relying

  • Whether the Emporia Vue API remains stable and whether the library continues to work with current Vue hardware/firmware versions
  • Current state of the authentication flow and whether token refresh works reliably in production

Package facts

License not declared (permissive)
Python support supports the current Python release (>=3.9)
Install friction low — pure-Python wheel
Runtime dependencies 4 — pycognito, python-dateutil, requests, typing-extensions
Maintenance aging — 435 days since the last release
Last repo commit
First released
Downloads 131,230/month — #11,599 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: pyemvue-0.18.9-py3-none-any.whl

License :: OSI Approved :: MIT LicenseOperating System :: OS IndependentProgramming Language :: Python :: 3Topic :: Home Automation

Tags

emporia vue energy monitor apihome energy usage trackingsmart outlet control pythonev charger managementelectricity consumption monitoring
home-automationenergy-monitoringiot

More Home Automation packages