pyemvue
Unofficial library for interacting with the Emporia Vue energy monitor.
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 pyemvueuv
uv add pyemvuepoetry
poetry add pyemvueInstalling 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
Tags
More Home Automation packages
Represents and manipulates IPv4, IPv6, MAC…
permissive · top 5,000 on PyPI
homeassistantHome Assistant is an open-source home…
permissive · top 5,000 on PyPI
python-statemachineDefines finite state machines and statecharts…
permissive · top 5,000 on PyPI
btsocketA Python library for controlling BlueZ…
permissive · top 15,000 on PyPI
aiohomematicAn async Python library for controlling and…
permissive · top 15,000 on PyPI
hass-web-proxy-libProvides base classes and utilities for Home…
permissive · top 15,000 on PyPI
pyvesyncAsynchronous Python library to discover,…
permissive · top 15,000 on PyPI
sense-energyProvides Python access to the Sense Energy…
permissive · top 15,000 on PyPI
p1monitorAsynchronous Python client library for reading…
permissive · top 15,000 on PyPI
python-openevse-httpA Python library for asynchronous communication…
permissive · top 15,000 on PyPI
greeneye_monitorParses and processes binary data packets from…
permissive · top 15,000 on PyPI
pyTibberPython library for querying Tibber's…
copyleft · top 15,000 on PyPI
dlipowerManages Digital Loggers web-based network power…
permissive · top 15,000 on PyPI
pyhiveapiA Python library for controlling Hive smart…
permissive · top 15,000 on PyPI
pytrydanpytrydan provides Python bindings and a…
permissive · top 15,000 on PyPI
pymavlinkPymavlink is a Python implementation of the…
copyleft · top 15,000 on PyPI