← Back to Skills Marketplace
urosorozel

Emporia Energy

by urosorozel · GitHub ↗ · v1.0.0
cross-platform ✓ Security Clean
1982
Downloads
1
Stars
0
Active Installs
1
Versions
Install in OpenClaw
/install emporia-energy
Description
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.
README (SKILL.md)

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 \x3Cname>.

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 \x3Cname>.

Commands

The scripts accept:

  • summary (default)
  • list
  • circuit \x3Cname>

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.
Usage Guidance
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.
Capability Analysis
Type: OpenClaw Skill Name: emporia-energy Version: 1.0.0 The skill is designed to query Emporia energy data via cloud or local ESPHome APIs. All actions, including reading credentials from environment variables (`EMPORIA_EMAIL`, `EMPORIA_PASSWORD`, `ESPHOME_API_KEY`) and making network calls to specified endpoints, are directly aligned with its stated purpose. The `SKILL.md` includes a 'Safety' section instructing the agent not to print secrets, which is a positive indicator. There is no evidence of data exfiltration to unauthorized endpoints, malicious execution, persistence mechanisms, or prompt injection attempts against the agent to perform actions beyond the skill's stated scope. The use of base64 for `ESPHOME_API_KEY` is for a legitimate API key format, not obfuscation.
Capability Assessment
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.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install emporia-energy
  3. After installation, invoke the skill by name or use /emporia-energy
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.0
Initial release: Emporia cloud (PyEmVue) and ESPHome local scripts, requirements, example env/config, and packaging support.
Metadata
Slug emporia-energy
Version 1.0.0
License
All-time Installs 0
Active Installs 0
Total Versions 1
Frequently Asked Questions

What is Emporia Energy?

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. It is an AI Agent Skill for Claude Code / OpenClaw, with 1982 downloads so far.

How do I install Emporia Energy?

Run "/install emporia-energy" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is Emporia Energy free?

Yes, Emporia Energy is completely free (open-source). You can download, install and use it at no cost.

Which platforms does Emporia Energy support?

Emporia Energy is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created Emporia Energy?

It is built and maintained by urosorozel (@urosorozel); the current version is v1.0.0.

💬 Comments