Emporia Energy Skill
Use the scripts in {baseDir}/scripts to query Emporia Vue data directly.
Modes are selected with EMPORIA_MODE:
cloud: Emporia cloud API via PyEmVue (like the Home Assistant integration)esphome: Local ESPHome API (for flashed devices)
Choose a mode (cloud vs local)
Use cloud if your Emporia device is still on stock firmware or you want the simplest setup. Requires Emporia account credentials and internet access.
Use esphome only if the device is flashed with ESPHome and on your LAN. Requires the device IP/hostname and native API access on port 6053.
If you are unsure whether the device is ESPHome-flashed, choose cloud mode.
Environment
Cloud mode
EMPORIA_EMAILEMPORIA_PASSWORD
Optional:
EMPORIA_SCALE(MINUTE,SECOND,MINUTES_15,DAY,MONTH) - defaults toMINUTE
ESPHome mode
ESPHOME_HOSTESPHOME_PORT(optional, default6053)ESPHOME_API_KEY(Noise PSK, base64) orESPHOME_PASSWORD(legacy)
Configuration steps
Cloud:
Set
EMPORIA_MODE=cloud.Set
EMPORIA_EMAILandEMPORIA_PASSWORD.(Optional) Set
EMPORIA_SCALEto control power vs energy units.Run
listfirst to confirm channels, thensummaryorcircuit <name>.
ESPHome:
Ensure the device is flashed with ESPHome and on your LAN.
Set
EMPORIA_MODE=esphome.Set
ESPHOME_HOSTto the device IP/hostname (not Home Assistant).If the ESPHome node uses encryption, set
ESPHOME_API_KEY(base64 Noise PSK).Run
listfirst to confirm channels, thensummaryorcircuit <name>.
Commands
The scripts accept:
summary(default)listcircuit <name>
Usage
Cloud:
export EMPORIA_MODE=cloud
export EMPORIA_EMAIL="[email protected]"
export EMPORIA_PASSWORD="..."
python {baseDir}/scripts/emporia_cloud.py summary
ESPHome:
export EMPORIA_MODE=esphome
export ESPHOME_HOST="192.168.1.50"
export ESPHOME_API_KEY="base64-noise-psk"
python {baseDir}/scripts/emporia_esphome.py summary
Dependencies (pip by default)
Cloud:
python3 -m venv .venv
source .venv/bin/activate
pip install -r {baseDir}/requirements-cloud.txt
ESPHome:
python3 -m venv .venv
source .venv/bin/activate
pip install -r {baseDir}/requirements-esphome.txt
Optional: you can use uv instead of pip if preferred.
Output
Scripts emit JSON with:
timestamp
unit
total (best-effort)
top circuits
channels used
Safety
Never print secrets (passwords, tokens, keys).
Do not make hardware or panel wiring recommendations.