介绍
# Emporia Energy Skill
使用 `{baseDir}/scripts` 中的脚本直接查询 Emporia Vue 数据。
通过 `EMPORIA_MODE` 选择模式: - `cloud`:通过 PyEmVue 访问 Emporia 云端 API(类似 Home Assistant 集成) - `esphome`:本地 ESPHome API(适用于已刷写设备的设备)
## 选择一种模式(云端 vs 本地)
- 如果您的 Emporia 设备仍运行原厂固件,或者您希望使用最简单的设置,请使用 **云端** 模式。需要 Emporia 账户凭证和互联网访问权限。 - 仅当设备已刷写 ESPHome 且位于您的局域网(LAN)中时,才使用 **esphome** 模式。需要设备的 IP 地址/主机名以及 6053 端口上的原生 API 访问权限。
如果您不确定设备是否已刷写 ESPHome,请选择云端模式。
## 环境变量
### 云端模式 - `EMPORIA_EMAIL` - `EMPORIA_PASSWORD`
可选: - `EMPORIA_SCALE`(`MINUTE`、`SECOND`、`MINUTES_15`、`DAY`、`MONTH`)- 默认为 `MINUTE`
### ESPHome 模式 - `ESPHOME_HOST` - `ESPHOME_PORT`(可选,默认为 `6053`) - `ESPHOME_API_KEY`(Noise PSK,base64 编码)或 `ESPHOME_PASSWORD`(旧版)
## 配置步骤
云端: 1. 设置 `EMPORIA_MODE=cloud`。 2. 设置 `EMPORIA_EMAIL` 和 `EMPORIA_PASSWORD`。 3. (可选)设置 `EMPORIA_SCALE` 以控制功率或能量单位。 4. 首先运行 `list` 以确认通道,然后运行 `summary` 或 `circuit <name>`。
ESPHome: 1. 确保设备已刷写 ESPHome 并位于您的局域网中。 2. 设置 `EMPORIA_MODE=esphome`。 3. 将 `ESPHOME_HOST` 设置为设备 IP/主机名(而非 Home Assistant)。 4. 如果 ESPHome 节点使用了加密,请设置 `ESPHOME_API_KEY`(base64 编码的 Noise PSK)。 5. 首先运行 `list` 以确认通道,然后运行 `summary` 或 `circuit <name>`。
## 命令
脚本接受以下命令: - `summary`(默认) - `list` - `circuit <name>`
## 使用方法
云端: ``` 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 ```
## 依赖(默认为 pip)
云端: ``` 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 ```
可选:如果愿意,您可以使用 `uv` 代替 `pip`。
## 输出
脚本输出包含以下内容的 JSON: - timestamp(时间戳) - unit(单位) - total(总计,尽力而为) - top circuits(主要电路) - channels used(使用的通道)
## 安全性
- 切勿打印密钥(密码、令牌、密钥)。 - 请勿提供硬件或面板布线建议。