本帖最后由 cubicpill 于 2024-9-19 03:22 编辑
2024.09.19 已经适配最新登录API,可选择短信验证码或扫码登录。
南方电网电费数据HA集成
本集成已经加入HACS默认存储库,可以在HACS直接搜索安装
注意:本集成需求Home Assistant 最低版本为2022.11 。
本集成仅适用于南方电网覆盖范围(广东、广西、云南、贵州、海南),国网接口与南网不通用,因此无法适配。
--------------------------------2024.09.19更新---------------------------------------------------
v1.2.0 更新登录方式
功能性更新:
- 由于登录API调整,原账号密码登录方式已失效。目前支持手机号+短信验证码,手机号+密码+短信验证码和南网在线APP、微信、支付宝扫码登录。
- 更改了初次加载集成或重载集成时的更新逻辑,初次更新数据不会再阻塞UI界面。
- 更改了电费账户的移除逻辑,目前版本如需移除账号,可直接删除设备。
非功能性更新:
- 增加了更多获取日电量的API,将会在之后版本使用。
- 更新了账号登录态过期的处理逻辑。
- 南网API库的细节更改。
如有新增bug,欢迎反馈。
--------------------------------以下正文---------------------------------------------------
在论坛里看到 @louis_lee 大佬写的国网电费数据接入,奈何lz人在南网区域内,没办法直接用现成的插件。
看了一下论坛里大部分都是用Node-RED 配合抓包得到的数据接入,比较麻烦,正好最近有点空研究了一下国网网上营业厅的登陆页面,发现比想象中容易,一步一步把登陆时的加密解密实现了。
后来发现网页端的登录态几个小时就会过期,于是又抓包研究了一下App(南网在线),发现App和网页端接口基本相同,但是登录态有效时间长很多,于是切换到了App端的API。
第一次写HA的集成,磕磕绊绊从有想法开始到最终实现写了接近两个周,期间参考了无数论坛和Github前辈们的代码,难免会有一些bug,请见谅。
由于该集成直接使用 Web API 登陆,因此资源消耗相对较小,性能较弱的机器也可以放心使用。
目前实现的功能如下,详细内容请看Github:https://github.com/CubicPill/china_southern_power_grid_stat
支持功能
- ✅支持南方电网覆盖范围内的电费数据查询(广东、广西、云南、贵州、海南)
- ✅支持使用手机号、短信验证码和密码(可选)登录,支持南网在线APP、微信、支付宝扫码登录
- ✅支持多个南网账户(每个账户一个集成),支持单个账户下的多个缴费号
- ✅数据自动抓取和更新(默认间隔4小时,可配置)
- ✅全程GUI配置,无需编辑yaml进行配置(暂不支持yaml配置)
可接入如下数据:
- 当前余额和欠费
- 当前阶梯电量数据(档位、阶梯剩余电量、阶梯电价)
- 昨日用电量
- 最新一日用电量、电费(取有数据的最近一日)
- 本年度总用电量、总电费(非实时,更新到上个月)
- 本年度每月用电量、电费(非实时,更新到上个月)
- 上年度总用电量、总电费
- 上年度每月用电量、电费
- 当月累计用电量、电费(非实时,有2天左右的延迟)
- 当月每日用电量、电费(非实时,有2天左右的延迟)
- 上月累计用电量、电费
- 上月每日用电量、电费
❌不支持阶梯电费设置(仅能获取当前所在阶梯)、峰谷电价设置和电费计算(本插件只进行数据抓取和转换,不进行任何计算),
暂时也没有支持计划(南网暂时没有统一的API),如有需求,建议单独创建对应的电价实体。
❌因为南网登录API调整,不再支持登录态失效之后自动重新登录,需要手动重新登录。
使用方法
使用HACS或手动下载安装
注意:本集成需求Home Assistant 最低版本为2022.11 。
传感器列表
- 余额
- 欠费
- 当前阶梯档位
- 当前阶梯剩余电量
- 当前阶梯电价
- 上月电费
- 上月用电量
- 当月用电量
- 当月电费
- 本年度电费
- 本年度用电量
- 上年度电费
- 上年度用电量
- 最近日用电量
- 最近日电费
- 昨日用电量
Thank you
感谢瀚思彼岸论坛以下帖子作者的辛苦付出,排名不分先后
自定义集成教程参考:Building a Home Assistant Custom Component Part 1: Project Structure and Basics
|