基于 bilezhou/state_grid 原版改造,数据获取逻辑完全沿用原版,仅增强了登录部分,解决了原版验证码无法自动通过的问题。
| 特性 | 原版 | 本版 |
|---|---|---|
| 数据获取 | ✅ | ✅ 完全相同,未做任何修改 |
| 滑块验证码 | 像素算法(成功率低) | LLM 视觉大模型 + 像素算法双模式 |
| 点选验证码 | ❌ 不支持 | ✅ LLM 视觉大模型自动识别 |
| 验证码类型检测 | 仅滑块 | 自动检测滑块/点选,分别处理 |
| RK001 流控处理 | 反复重试直到封号 | 冷却到当日23:59:59,不再无效重试 |
| 手机号限流降级 | ❌ | ✅ 自动切换邮箱登录 |
| 预付费余额传感器 | 有(常显示未知) | 已移除,保留账户余额传感器 |
| 数据刷新间隔 | 8小时 | 12小时(国网官网每日更新一次) |
一句话总结:数据获取 = 原版代码,登录部分 = 增强版(LLM验证码 + 流控降级)。
- 账户余额
- 日用电量 — 日总/峰/谷/平/尖用电量
- 月用电量 — 当月累计分时用电量
- 年度数据 — 年度累计用电量、电费
- 历史图表 — 最近30天每日用电、最近12个月每月用电
- LLM 验证码 — 使用视觉大模型自动识别点选/滑块验证码
- 流控降级 — 手机号登录遇 RK001 限流时,自动切换邮箱登录
- 在 HACS 中点击 集成
- 点击右下角 探索与下载仓库
- 点击右下角 自定义仓库
- 仓库地址填入:
https://github.com/tiejiang29/state_grid - 类别选择:集成
- 点击 添加 → 下载
- 重启 Home Assistant
- 从 Releases 下载最新 zip
- 将
state_grid文件夹复制到 Home Assistant 的custom_components/state_grid/目录 - 重启 Home Assistant
- 进入 设置 → 设备与服务 → 添加集成
- 搜索 "国家电网"
- 填写配置信息:
- 手机号:国家电网手机号(必填,优先使用)
- 备用邮箱:流控降级用(选填,手机号遇限流时自动切换)
- 密码:国家电网密码
- LLM API Key:大模型 API 密钥(必填,用于验证码识别)
- LLM Base URL(可选):默认为火山引擎豆包 API
- LLM Model(可选):默认为
doubao-seed-2-0-pro-260215
在国网官网或 App 修改了登录密码后,无需删除集成重新配置,可直接在 HA 内更新:
- 进入 设置 → 设备与服务 → 国家电网 → 配置
- 滚动到底部,找到 「新密码(留空不修改;填写后会触发一次登录验证)」 字段
- 填入国网新密码 → 点击 提交
- 集成会调用一次
password_login验证新密码:- 验证成功:表单关闭,新密码自动写入本地存储(MD5 形式),下次数据刷新即用新密码
- 验证失败:表单回弹显示错误,旧密码保持不变,可重试
- RK001 冷却期:提示"明日0点后重试"(防止把登录限流误判为密码错误)
- 手机号遇 RK001 且配置了邮箱:自动邮箱降级验证
密码以 MD5 形式存储在 HA 的
state_grid.configStore 文件中,不进入 ConfigEntry 配置项。 验证过程会消耗一次 LLM 验证码识别 + 一次 95598 登录额度。
95598 API 对手机号登录有日额度限制(错误码 11401 / RK001),触发后手机号当天无法再登录。配置备用邮箱后,集成会:
- 优先使用手机号登录
- 检测到流控错误时,自动切换到邮箱登录(同一密码)
- 设置冷却至当日 23:59:59,期间不再尝试手机号登录
- 邮箱登录成功后继续正常获取数据
推荐使用火山引擎豆包大模型(注册送免费额度,验证码识别消耗极低):
- 访问 火山引擎
- 注册并开通豆包大模型
- 创建 API Key
- 填入配置即可
也支持任何 OpenAI 兼容的 API(如 OpenAI、Azure、Gemini 等)。
| 传感器 | 说明 | 单位 |
|---|---|---|
| 账户余额 | 电费账户余额 | 元 |
| 年度累计用电 | 年度总用电量 | kWh |
| 年度累计峰用电 | 年度峰时段用电 | kWh |
| 年度累计谷用电 | 年度谷时段用电 | kWh |
| 年度累计平用电 | 年度平时段用电 | kWh |
| 年度累计尖用电 | 年度尖时段用电 | kWh |
| 年度累计电费 | 年度总电费 | 元 |
| 上个月用电 | 上月总用电量 | kWh |
| 上个月电费 | 上月总电费 | 元 |
| 上个月抄表 | 上月抄表数 | - |
| 当月累计用电 | 当月总用电量 | kWh |
| 当月累计峰/谷/平/尖用电 | 当月分时用电 | kWh |
| 日总/峰/谷/平/尖用电 | 日分时用电 | kWh |
| 最近30天每日用电 | 图表数据 | - |
| 最近12个月每月用电 | 图表数据 | - |
| 最新日用电日期 | 数据截止日期 | - |
| 最近刷新时间 | 上次刷新时间 | - |
- bilezhou/state_grid — 原 HA 集成(数据获取逻辑来源)
- ARC-MX/sgcc_electricity_new — LLM 验证码解算参考
本项目仅供学习交流使用,请勿用于商业用途。使用本集成即表示您同意自行承担相关风险。