Emporia Energy

v1.0.0

Direct Emporia Vue energy queries via Emporia cloud (PyEmVue) or local ESPHome API, including guidance on choosing/configuring cloud vs local modes and running list/summary/circuit commands.

1· 2k·0 current·0 all-time
Security Scan
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Benign
high confidence
Purpose & Capability
The skill clearly implements Emporia cloud (PyEmVue) and local ESPHome access and requires the corresponding credentials (EMPORIA_EMAIL/PASSWORD or ESPHOME_HOST/API_KEY). However, registry metadata at the top of the submission lists no required env vars or binaries while the SKILL.md and scripts clearly require EMPORIA_MODE and use python3 and several credential environment variables — this metadata mismatch should be corrected.
Instruction Scope
SKILL.md instructs the agent to run the included Python scripts and to set the expected env vars. The scripts only read the declared environment variables, contact either the Emporia cloud (via pyemvue) or a local ESPHome API, and produce JSON output. There are no instructions to read unrelated system files or send data to unexpected endpoints.
Install Mechanism
There is no remote install step in the skill bundle (instruction-only install), and dependencies are provided as simple pip requirements files (pyemvue, aioesphomeapi). This is a low-risk, typical approach. As always, installing pip packages carries normal supply-chain risk — review/verify packages if needed.
Credentials
The credentials the skill requires (Emporia account email/password for cloud mode or ESPHome host/API key/password for local mode) are appropriate for its functionality. The minor concern is that the registry metadata declared no required env vars while SKILL.md and the scripts clearly expect EMPORIA_MODE and the credentials — the mismatch could confuse users and automation that grants envs. The number and sensitivity of env vars is proportional to the task, but they are sensitive and should be supplied only when using the skill.
Persistence & Privilege
The skill does not request persistent or elevated platform privileges (always:false). It doesn't modify other skills or system-wide config. Autonomous invocation is allowed (default) which is normal — note that an autonomously-invokable skill that has network access will use provided credentials when run.
Assessment
This skill appears to do what it says: query Emporia cloud via pyemvue or a locally flashed ESPHome device using aioesphomeapi. Before installing: (1) be aware you must provide sensitive credentials (EMPORIA_EMAIL/EMPORIA_PASSWORD for cloud or ESPHOME_HOST plus ESPHOME_API_KEY/ESPHOME_PASSWORD for local); supply them only if you trust the skill and understand where they will be stored and used. (2) The registry metadata omitted required env/binary declarations — verify you set EMPORIA_MODE and the correct env vars when enabling the skill. (3) Install dependencies inside an isolated virtualenv and review pyemvue/aioesphomeapi package versions if you have supply-chain concerns. (4) Because the skill's source/homepage is unknown, prefer to run it locally first (manual invocation) to confirm behavior before enabling autonomous invocation.

Like a lobster shell, security has layers — review code before you run it.

latestvk979pbnzrgwphbhm1gwssmdne9805rg6
2kdownloads
1stars
1versions
Updated 1mo ago
v1.0.0
MIT-0

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_EMAIL
  • EMPORIA_PASSWORD

Optional:

  • EMPORIA_SCALE (MINUTE, SECOND, MINUTES_15, DAY, MONTH) - defaults to MINUTE

ESPHome mode

  • ESPHOME_HOST
  • ESPHOME_PORT (optional, default 6053)
  • ESPHOME_API_KEY (Noise PSK, base64) or ESPHOME_PASSWORD (legacy)

Configuration steps

Cloud:

  1. Set EMPORIA_MODE=cloud.
  2. Set EMPORIA_EMAIL and EMPORIA_PASSWORD.
  3. (Optional) Set EMPORIA_SCALE to control power vs energy units.
  4. Run list first to confirm channels, then summary or circuit <name>.

ESPHome:

  1. Ensure the device is flashed with ESPHome and on your LAN.
  2. Set EMPORIA_MODE=esphome.
  3. Set ESPHOME_HOST to the device IP/hostname (not Home Assistant).
  4. If the ESPHome node uses encryption, set ESPHOME_API_KEY (base64 Noise PSK).
  5. Run list first to confirm channels, then summary or circuit <name>.

Commands

The scripts accept:

  • summary (default)
  • list
  • circuit <name>

Usage

Cloud:

export EMPORIA_MODE=cloud
export EMPORIA_EMAIL="you@example.com"
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.

Comments

Loading comments...